From dfb7884a19524c405393df24a5286f885b05c2e2 Mon Sep 17 00:00:00 2001 From: Justin Eveland Date: Wed, 8 Feb 2023 17:36:05 -0500 Subject: [PATCH 01/55] feat: add light and dark mode repo banner images --- src/images/categories/Archived.png | Bin 41193 -> 36625 bytes src/images/categories/Community_Plus.png | Bin 55521 -> 45569 bytes src/images/categories/Community_Project.png | Bin 45265 -> 40623 bytes src/images/categories/Example_Code.png | Bin 61822 -> 49011 bytes src/images/categories/Experimental.png | Bin 55067 -> 47542 bytes .../New_Relic_One_Catalog_Project.png | Bin 68724 -> 49083 bytes src/images/categories/dark/Archived.png | Bin 0 -> 35968 bytes src/images/categories/dark/Community_Plus.png | Bin 0 -> 45019 bytes .../categories/dark/Community_Project.png | Bin 0 -> 38521 bytes src/images/categories/dark/Example_Code.png | Bin 0 -> 48425 bytes src/images/categories/dark/Experimental.png | Bin 0 -> 46955 bytes .../dark/New_Relic_One_Catalog_Project.png | Bin 0 -> 47976 bytes 12 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/images/categories/dark/Archived.png create mode 100644 src/images/categories/dark/Community_Plus.png create mode 100644 src/images/categories/dark/Community_Project.png create mode 100644 src/images/categories/dark/Example_Code.png create mode 100644 src/images/categories/dark/Experimental.png create mode 100644 src/images/categories/dark/New_Relic_One_Catalog_Project.png diff --git a/src/images/categories/Archived.png b/src/images/categories/Archived.png index 29f578212f6c1841dc56ea69e8d8197ef5061e50..057a529eb901b982a0322a606ece4ea326ecbae4 100644 GIT binary patch literal 36625 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 Mr>mdKI;Vst0BS1+zW@LL literal 41193 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�X!4*)D&MJ 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 diff --git a/src/images/categories/Community_Plus.png b/src/images/categories/Community_Plus.png index a8f4ec5b59a71d0653a27d456c930aed1ebd36aa..61cd71c062651d446f80975fe11c2e1490888646 100644 GIT binary patch literal 45569 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 literal 55521 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%0AhnNCcGAm#PCl_LVl`?y%AAA*zEv%}lMjYILPDx$ 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%0D${hpMSosK5#GYBOo0bXAW2 zsI@rmp!wNi*knQ^K*kOZ>H6XieRhrHj;NDxi$?3(K3@KVH+cnpGfB}4ibjSk*xxb* zvgT*gX4U6b+A{G94gF5c)(r)rpIdh;tGn*aGh?gRif-^EX?ZHwZd^i4TYIi*$qQz{ens&heEEzf87&#`$m3?3n$WC{#=xpltZ{TV@+;3BmcT?Sxx zbNxv?T&;KC3v8UGaXF1{-R`PJSA1a`9c~}WFx(5I-HuI&>1!{q$4LzhB(a=Y4xYXa zvc{_TnE5Qsr&<@lfc(E~H$_3~?=AUZKG95L302R9c_eQ(QAP?~<$ef|9qqf@JW9(H zplT=<`|`jtSJY_0H{9R-UbJ?o`UwcSqKSRgXVla58;o6uU4x8*)=~k@~iExpr;|kG^pAs<-flro|$i1Tp{Le?DP$V zx0m6_gpV>;lBIGXN+Iv^mxViq!2(-lL;V@!r1NJQ6ktdDw;WBJ0HJaB1j7bu&AXYy zNwa6?-wB8IviSf=)^a^?!S#dv_Z15RR&+6$OU{xTn|CGbZ#lfC)$7Jj27bC(CdS@t zko7i@CF9-hb5V4&SfSHkDcUov7%rZdT!!xP9Iq5F(Cu=7E$p=5@l35dZ6JHP*;na3 zK~tnQZ>{)C1}kcMip#&YB{LMl=PU$gpGLaLr}MIx(#--w{lbYYNlJNoo8RUp8GGq5 zcm{|m6Ovd2NqwfT4+mB((kJs|clowF@584b#9Z?E^#{~2J~I)^5(q>Y=LJ`W6c$_r zikeEUgnsTZ6wdmR1IPLBUv)40ZHH=8(bq{pxx$WpQ;@&w%6&sGFm?n-m&dxL&@Da1 zMVEH;P8Qw69zTQiw3NZ9 zmvYCr#3D!CS32LE2q3ow>rg-o+PsaW5ax)VSw9;e%X`3oD$`{ApMX~f|4xiDQX6Xv zi~a6d^4s0eilCjlf8H>Hk+8>_=~gs87)_mOvPsQMMCO6;D#*qt?D~j)J^*(Dqq>aE5)& zldjHsNeMHe;fJ%)@jFibWAKA!x#6iuraY@`Sw!Kql8O(GHDXbFw=khZmRKLp0(BfFdN1bJs0hd0sVFgq%-(Yu$rusLSZ@h%6wJsjvo?4bX(+e2Uu-Z-bM-UJNb2F1 zzxuF%_NcMWrdNmEU*F{|?zgLx)lubZO4CvjQg?^nx=x5=b^=3EQnDApqd5@pJ-NGg zB_{jewiaXDMR!}wvO@x@QMq@^=K>B-tJNhNe`!9bp89RUX5Ss?s%E$M&39= zA0^pXS3y|9e9JG2|CDiBM^D<1t&HL{z_(Q@M4mJkA|}+{`?QMu&N|A#XjQ2CMZTJE zn0A{|(jQ0K`T^$#Ttq;cKA?N_`?S0E$HWg*X`m8FSO&&A=mZLEZ)BSbQiL$fipC;eDM`_W85SJq@&G zvTOWm95T&yWeY3v*dTDKe`3&m1zdR%m*TM=Uj{e;-W?Ze1=|-()(^W4PY=iks)T)s zkC0(+*9*(HphV`htjG7f>RpB#JKvJJeaHT|v=+FO{Ew@(fX{|ykfzR2=YV`EOrp3% z)8ypBLuJ)TuVew7@lw{t5DU$nllD|oPo4lj#(~Js&R=-t!!QYhp5|Y3!Ws%!1<0sd z{Y^w5`}ur`=YNe)EVN`RurZLy8>wIpSk}U4j3|-0>yuq zU-aFna-E&$+!i!MD2V`RWr=S_;@Qb?6Zg*x#(xw zcN~?gud1NI{A;;z{sf;30VM!Tp#=l_y+9q8v^`4tOO zrEL``&O3P&;Nx~{nlr-oKr}4jU7c@?)CC}K-Crx;)F1#Y5fttLY zO53l6qa>NTTSNcVOe$IPo|Fh`hn3m|)lSY6-|}7sL=SNNr$KU`2FdvJviE!2o}&wKq4W`fAkKR$riI{EP2iQ;g+ z7ZG99KrLB}Y|s~>1?yO}lDX1TIL8gsQj-B^Zq~)tj`r|=bJN=XoqCXG&tLUngDE^^ zBNf@C_Oz?k?jXTGo}^ZBr(s;j+IOw2hG3_SpH(~Zv;f>b7b8v*bw*#!C;6L*ym0)- z3nj$JKKTfS7h`6=rg5g7Q3s8Y`n76B?nl-ieMEAV2mwT8Jvf%sSv`E>`A608w>UAW z>pEuKl$lvJ;BmZaSpFu1a2>qhGp3B4(}1=^^pL1H-Fi}xdFx*_rsFk)pBGRH5tk$x zK;q(WeY7Q&BH;FZ8YR+uiGfN9!B?kMHaYaGIY)tZH`DvprhLiF z=;qPQP0tKHU@G##Cq(EhjZz570>HV$d87#7=7lTOj(mFgp96K08Xc+3BoKMY>1fRO zGVZ#uW%Ua?TnSSel9h#J#7QmB>6jFolfA9ud}`i%*}B7^{}?A&cU=QEX1q(EFtXlK zt*?Enq?P5p&O&BJ2YyRYn~roqR7~8NBCa>`yy*~6JP;8%E-fAqJn6}L;SYsiMsB-v zm!FEt-keOR%Ns(%DZ@aL=^p$DRd8F1ecnrnIl`YM&!3czN)MDcKX|z{#xI`yx2>T<)${JRL7G- zgMG7amzrauYq0fnQRN82ty1bC7hiYvz~DWnLjiP8YfgGKGs<`)|=AoKR| zN0&faGEz?G8RzBxzE9aLUhHY-Egvywcb^bdI6V59OTXkl8&tq&I)7caAY80c1wDZFE?HV~4Zb1;uIDoWOO9&Pg3&&@fikywQC^S}>f zpc8>jjVegoSa0($s89>hqHL{!t-L(c=QXYRw2QsDC3=;-Y*3=PaOBE}3_pyR@|)@? zBG?@r6h54&dFEyzRy}2QigDaB=fbOtDv0`_CS_Z{zuwizg*yWxq&h*g%8Q`q4dAy$lWv{V8#?;#`$QR`}JR zR!(C$()Uoh+w86!|8mJ_PM$#^QO8=k;)2V*3st8xF>XyB1RwFZiC-dW8MnF;GoVB`7py zd-J>Y^B?)m8a0qmPtYn!dlN=Q1*9YwDMOkuW5~~1Mc2SBJjSobdzq?mFs1-Nc!=Yo zR;pcGEV^qPkO31gzyZmbste+ScBKPaOp_+`L<%IW9;y)z4v(zSq8u#`TYG9H_`Y%|#p(_M=Y>hzG%jcdnycVV?AzLwmRXyeNwqH>9Q)2Jo? zX<3KEhG*V3*3W^n)$&?JyIVXWs4YF99PZwG=u^qwX}+FHM6d~!w>5vn`c8Ge!7#08 znd5frolKQ$$vCuQYQG6hzH`an1P~xCnop{!Ha{ELxV>N7tkF0s&+FzVx4FsyNk1ps zelx~++F&~Kz~kp$JkJLJxVPJjE21o?dHv?ulhEybZ$-KcY`x zLe6+WvukJDx~l1K8gQDaSZR0m7mc1CH@#$tuk#ReH`~q}bE6=g70p(`jNN^!MyJk% zd}?fxtQYmmBpEQ1SjKkz4!D^})=e|=x<>6>fVR>((W1L3`KI(W&G9wi{y&eM1S+u` zYchVn{saQFZ+_vq3N6Z@v~_=^y~h>`9ILyuw&d+1$|z}yV2HzgyE(z5@?eAobS4D; z0hGT4JsXzk^7l|)?1;#{T4pVKIEzd#aJxFDXPx|50E$~pcIykD7e0F0pQ@(K@WIXW zOB6H7`%>-3bO^z~@^y&5(=)#rZ<#or+-Wh}?1LXnAtI;m`wh~T(~b@~^$+(7f8JR! zC8KsmL&hLKH$C$D38(C!Blg^TbpJ#&*ryCafW%~8YRB_QY3*HjN0C)pm-bW>(tX*jOlSH<5ZQUVT_3 zPUR-mt>hn3#9bdzQHe*N%=c5Lc;YT{0zd>&{-M)Wmn8P}E&!4i7C0==q{T?3B<3_Z z+--)rdHe2dvae;?TDPnEu+QPC&rI zA#_wkK$>)c(1d{Wnot7@3JTJDN2&+}480{HN=pExh0u`_Ap{UiB7~3|-}9Y&?tgH{ z9pkRwGWH^@?7ik(b3SuE&xR~Stox-AuFGV8t#Zu!;H#_#06yvA?-MB=+1R(e2N-hV zde3S&DH%li(W@TV`BC8tn$KEGExNFQll-%E=J;Dmeb`!+>q&d3t+MNSX+t1Gk)epw zOF0VP^|2D;*`1C~$AcS);6#c0F5kNY*jiqqQL7_$-Hh}a#N`+NmYvh-xuw_N;A!L_ zQ=Q)t99n>8YdaWZ6&0m>zn}W`%d^ETyN6jk2y1LHcWwsK65>dA;31=;w%WzS!1PJ z^lhSTMbDOnjp%|5eV}Qf5Y4IB=OdBsVRB#)P9wUM{>*J5#bT^8%U@~C|-|5YxcYR&| zlB7WQ=y9v8eCGhy;N~D}(c?%;P26G{5M$n1pi3a6FBXsTMmP?IM88OXx;VPu8nkXL8}T{2BW3U z^Za0prK|po5t|GT^?UoU_)}h$|2k+Thut<_GRde}o6?i!iv?QJ$=s+G{GuA6wkc?q z`Ol(u%f_)c&w5yr_!4=i*#Z0EOfLBg=$u2db46#FDc|AdcihD#8G8IhlXIm9N>3m{ z7efAgT2=dd+%+~29tYCBU82Kt^s<)kT1L~lEPk!lux0Pm3z7gGK^v_3jzgde=i0fCoD=c-)0Niw9 zYncNdMlE=kerBszMMH8v8q-%1{co!w{lWjdm!%*{3ia&m2K6DEpZd~trqVn^v5Kmf ztxbtkV&`nhwabq<+yVu5;X3ieB85))}8FEV{|yM!v?3n+w`kNOCR!EoIZ8;{J+T>{XaKG3^c0Z(2(`o zVtyM>ucZS?wJe;5lf%U6&a~^28_D+YlO9UU^Sp*QqL+1TC#U&=B;O@$htJoVAc*wQ zV-B}*^SN@wSPsAZfwW!es@BQC8-wYdkoz=MB^ngLi8wGmtJO(O&&dfo|3IEy(wIKBY37}P^X?b8O4F@ZwQ9>!<`BcxCP80>_kTY?)I{{r zm)xTbni0c~;{XuoE-}9Zu{Wj`ZJ=km7)u&3un$; zolLm!@ZlaYyfr33(X!FWQK?&PenVvP-aSzLzEeu8^L5IANdurSAXx z>yOuIEg!5xyRtr{s7Ptlb0UIneQf|#X;|hdQy!IPw|AQ{XyBJ5kAJSG(EjiZ)N(x} zP2!0G)G<5TKC{^p1=E^8tk$EKcJxt~4_c4(JowW^|Nq$s*01cx2~-_~4!MPMbY4 z<*YQ6*wfqb!k%=($8FIPzRL_n+ z=P|CNV+{K2kzY!_&$b1UjGVSesj<=xcJdUtU_9li>*<;IvyuR_0$3CvnT^<03`OWB zod37=gFc=M3rpN0Pk+T3mHc^-I=Lo)XPqt^QM468!~8uBPF;J>FZu7pPwBV@Zhyuv zMzwTE{HTG3)1ZeLr^FuX{CoA3l-~p$H5tmvxk7iir|xq6t9eA9V31IK?6Cy>#i)p1 zno2zQLZ9ul`7fWIela_9_|q~^P*advcfu@h*JEuSi(+K#zktLy#=p=TeLRWz!1eG0 zF&qjMr;RG)u+~~@K`Oh|>mystsXH|Ize*!K@}>XIJ(XR$S<)jR4f(oIvZ z&4@lHHSCZYg;=$oXfU?bMLH_NEF)oOyjZSg+YC{ z!s^MXzn<|HEu6|IJJPb2al{F!Dbi9t->hx7J7U|KP;cKsJ!Ev6;0-|(ykq~#y50M9YS?WpoSwqOB3&W!ys_y&)rOk zq%>_|MM>xGsjT*u9DnEx=2@>`b2$2y(Q6c}RZ_4-E0FmhDvJ0Z-5DBtRFncW4LM)f zkX_bI^sCn6kpcI#-)~ql(_ldriN_nPgr6LZIa)cM%<~)-s+wSUqG8hAx$*ZBgowQ% zh$ufhigoh$L>YCClk&{}7uzoFllvsmg%2EFa@KyWOcc;`cFjqzBlHpA{mVNs6{f-$`oYP;=Lb^? zbH+;vx>d&Erc2)XRqJL1DMez#eDLodO2sNrGpKb4BGCY&(VsMO6*TOuh2e-j^KhL z0&BF=vkTa~z~^UuD&O5Ufh|;x5yY$){Nuw(Lp_&55Z&@EUMzjWP-o=OPQQ8FS{&i;SOIra{*OVHC+KhTXN4KfF>}WluFPI(6km&G+ zt#cc3PI1qTH_M9ec;OUa$o29A6X9RMSH080!XTZk0%asIjWR`vT4nQ`+By)^dNS>1 z+>;iLkP;?1Bu+bq)gB?EVOVkP1=DV>VBGc;z?V77oxW5#B5KoIG?qW=MP)w%Cvr3X z&H+@hdYDj~R;SGNHsd?D?=<=KN}Z7nyNxk#e(DnPu+oGsP^aB&dGxYbW}TBOWEVNV z6W>`=cIuRUz>oF5t?zzNtJ8M@`tIxi(^K&D@Yv3B^=(HfcQX=WzjKXX(}kY=mpV$F058rXWNO8WLQ zUuBM~rp3?F_!PSD&dUbNcdtkeq)3I16qkaZ5fAg?9?0%?=|z`tX#P5!_UDF6n`Zc; zB8`dVYJb`SqLhk z2|eZ%ZIVsa&B|#fvUz}Rp~7>=BB?D+Cg%B=msHKB;uXxQCIEk!Zy~d$!mFQfTv@h_fbJwefA4bpz|pv^b!h$I062#Z+X=4& z;vvq-S7u%17KS03($^ce|Xq2sV`Y_DPZj`779Fxg8>RSxaM`0-< zegz`HftT?rO?cfj5)XAo$?)h{ikPkv?Vu4AdZO4hl15bZZqWV1Y5Cj#Hv#Ci9rUSN zi@?bivg@-otB(IRs#sA(iB$(JAX;ydpwWx)tGaO?uI=a1y;Bcej;g1Pn-wc6kMWuB zX&;=8gD(l9HPa7tH#Aae6Cc<@E!R|M_kkuE)7oEJXh1yey_f!ER7=iCgx2I6$g
zM_q8D4xv%Mwa)JvYD###?Z1RI*eiRkBXxLiA0$@ zexJ0ChZ@e$fka%}^tFwmTs4s8ZF6t$`3|~H18DuCY3Gll_+|gN>j? zTJP9{?68g+xjAu)5-gdqSZsy7OHJ)Tq-ul2SLU?O7d(!u{ zn$^Zp281~kOdF1V#$qH+Spw#4hYNes653l!Y8tFqimJy4m4--Pr%FsQxs3u_OU>Zp z2(O#Vq^k~XYqbpa#$^7?c7s37VjS8W&LDUQM4vG{osho z*Bx?iP64Hnc6;aevMKq}h6X$Zg#5A~m=8`-8xxw-Nw%Etah{h`BFArZmCtUI!US1eDFU-I`XKT86EM~!0Ow(f z>(oSv-=DEKQR@b_BKh`DOCW)!|` z^hsC(*ayE-w&@(PF_=ZT+XDI#d>5UJl9YW{=q_@MOF{jNhk{Iv=?hbK30! zoA}}PL;+{34rG1pkoz6=;dZp8wB8$C{O<5CR$HT&^1KW<|MVJt$I%LA$XxOt11FCP zd@gD6OQ8ng<9Z)UcomcEF%J_Cxt$SXCxv@*8C)C_%a0_u#+`+dMwG`k3vAdf+*uMW zx*Ik)lDX;nY$qe*0B|~8?&wEK$s_J~2ROpeWiAurzd8n@Z*CzUvi0u{aXd&QD)LJSaKn^>E~Jo{^TY*L44_eBP_ zwI>Dp9(=W!=%{XR5b4db_`DFD#f+~2eoeEjAV?@uJv3LKrpZ*b%8<%VQ}J8iue#*$N=c z;`?2Ol!t>M!{!KizDyPNGFX<)4Cr$vJ0&s|-;+5|vHv5`hpCOruzI+*w`Eyx`(yfY zOO2pWN5cNv7wul!dPGz3=SR5sFg=kiRq{du^txbx zP-vyISM$7^U1gshLUM~!prOE6p*UXWHAYPD}|)73yZbcX>Ht z#DxtUEgap3fA5dYIhb`7Z|(Cna8p69ExA$GfUJBB9enaHMA&Y&d|lw0UAjH+l}uxAscd}N7$$!^KsLkAukN(My0(>eME8sZ<0F#K=X?y>LoriVE0L|`c84b zD-271=~aIKz=vIK;dSGiA*+XNDW^@3Ic+Vy51Lu$Tn*e6{fz5`?iK~Z65H{aDAg}n zmHrep0#F|Hraj{A9`&Auqmhk|QjK~3QeORS0SvF&d$t=Pe0kGx2}j%=i*YH)g%H63 z{amWoNwF2XPJOv7A-4j2DTj4pF-s{<+%eF5f;XW#Z`F79wCO+}w+#R3*7wf~U1OEB zcGas5Te`{Gpv6_0zcLM_252_R@pl5uy)Ae@^zYwq8`ah-U-0?r%_hC{+w6Z%y;iR- z=VkUsi&C@kwRNHT+^gWnFH0srVzgD=*97>YeoXE7XP;WHd{?azTb*LdY?JZM6~MB+ zn;K{H=Z&+6RBkdG_8~_CzptbId53xPq4A$-aYl60BuCTy5T!^L{4owi9!d!=%T4C* zcr!Aa>Z{3Ey>Z6lJ}JmT5as)4fFR>>>wKPHc!UgejQJy8kYcRL9!=>h@u`&q6&t?2 z=$YH!$PupzxiD-cD?<;)20-x_@I`;1L> zj$Z1V9#Yb$^7_*94j%rK!(NYV|JiA8K`nSN3N_CzgAJI;Kx>Jq#*u|QFKEq==!^pd>*ID9)eM&6 zy*T{5hgrm+e{xfavMB3G8^YY#q5M!l834dTwB2SORSMnzKoas+n zIc;Q<(8-z^Bvr$bwYuC{lFn-k(ZH0$=eNIu%3%B+*0do_z(dc9Y?>9~5eRg)FqueRZE|%DQ`Y z*K&t|q8sZ*_ZzjgeY(Xm&;_J_a(3($RGU^ze46L(OpklBsWi0<}-hn(tF+P1BVkwHbR_4`n_XoFP&PsgFlwgF3i zxzEiek7!o-ILVu>y<3+y&tn}Q<-OxZ-0VPVdJ|-tA~Tm2PD*={83U@a>Mw&2{E*Us zBvb8&Hv=*ZnYs$wz1xB_u@%3(edm9~ZOJo}D!|@3XZ?)a(t>~MBt^^Mowib{ZEbGo zz}13(jB-qb0+I;IhQ<(G1i81l)slqs8g$Gq{4!Fn-_FME&jkrT%z~PebE!8qb1<#hfWDyza-b-m`%a7IQH?$%&FpGr&=NX2Cn`EL zngR3DN)%IHXOj=y7|ikJWUR6!{(EZ!|u156qk+6s@%Nc z=%A?<&0B3hS2oM`(3UDN=dNm9z$5CeX16xqUS{bxkfjpw`n{xr>qsYXX+kx0J;La& zxWrA-Z9F`9UdA@%pRJ`k)~)}r1ZW2h^)b7bY&pz83O>p|{sD6~Ys>WtzhN_*DFafE zC)B-uPkJwIvXQIP0x;4Awi}z&`o+gAZ@X_GwdNmQH1JH(p?|Nt9yaO2nF^Q5#xa8{ z!Dw47NZ)6?o6!9Vhj9;ViCEt?OL;Z-VLVFKC%ZjR5;T4(jB^ng_*U4TzYI3i>PSg4 zk(x!4dTKAUF`+vPc8xl#uj&)q58qaVtD}9j2C_`Lj8fN|UO~NAhf}DhW`pXt^W}k{ zsT5Oips*tCXvz^*2b6k*uzJX2(>V<=xz}se* zEgsz*?oW*?6Xyy%;Kcm89AbE&H~i^Nk_wi#5?7gaO?I$p!A(z0yI7*Fq(4Ov;0I#q z*_%I>_2gnB=S}kMfB88=t2X%{faUqBZ!(}b*0FIUtk{Zi-4 z#lN%otx=R_5eLNoYQ%BRU4s;e8!S&1W_YYuvta@bJ^{zWfiuIQ!?p~0{2V&t(C3-L z9js|3^i3Uc0uD;jzsSu*iIS*+7U6&Z=xL8W* zWlIj4rM~EpAy_Sc&P;*eT?I|JBs}IuG+CM&nm&?m)gL{IV`#+^a+|?-DC?DvY3Vgf z4$-%dj^T4%HZ#yiE4z1amEH{=k}qSEAlb*)twCHbBx@@ehS5h^hnIu2{@uWC0E_ji zW$^(tW7jHwy&(UlctKe`TBYsD)dLcz5D79@bW7&s&zlX3U68s^ zz1K9qFI<+#32#2!wK=GGul_SatFQe)WX3HH{Tev-lKwgqw2FGdW@aYXu%JW~w%Dj3 zHeKaiZSYC+HfnvGJfC~S5rEIRHt8Kj!WOhyYx7KO#ObLr-2l(4LY`bw3I2fNff!co zsNq$!t6}osAepmk@Jy_)yB*GXv~mOJMix2$Xunecbb+^P=j~j){`wTr_S-RRqx0n) z4@re%$}~jj*^fn=rwoqc#o~CJ`H1(jbeCXHMY_FFd_Kvngm3YKxNrmbo z;L78a_@1A+*PrsuNnx<;JgAhP8({U^a^swuauxa2mptvpU971{)L6`ll-;@t;pB^O zf%YTr|GD+c@#D-RRo{)D8k|k&S@QhjaE;%GX4$6K&zMTO*o*HUsSkpIEL9s$YXuM1|RX!F$kC zB+`$d5n8ojYnWRIZ`@J0YUS*p+h&xJHQt=;-iq1Z-WX5QOmq z4todX_1Ht(1!ctj{-XM&(mBQ#6)>5TD6`S=Vx^F@6Mw^|@;O6^63c9_-o`18XK`2L zw^g_aqK)G3r)P7%iPz{2_DS5`z*D$u8rR6IeI=kpV(4p;$}R& zcR3sK$yn+cms@-BTG(9)!wm-c)ASyg<^nSRfp$~RLXS~?mUw}g(sX8IFzyiGN?k#rD31ULR9xu86QqrANA943>}rVJ=E{R`;`bjs zvp8S2t-TqVT96DWezv1n#1NDKd`jliap7y-5`wFfU-Jq9u2gQZA+xq?AB$|X z`h=f=U<@lp#KNlV8McJLP2opL7b&$7Mljdu=qxQVp1sTmXp<+jNs*qc<+G2iJP%$VAQ zNOFF>Pi0o`HGoOMF_l%bCqz?B!q7>3L&}roI>h})V@$xXulXZv+E`BY>d4WEJFU5R z+Ho&9((8!|TQie;%S`XQ6edGphQj}|aqk}|GQ5m_Wt^~T*KFMK5 zew3GT_J6O>uVITzAorv zQP2WRCQ&)c1MJ(ji(P;5IVY;_BG>oQ_evJkYa0D<=(xKm*~%@~c%ol+;@P}EN;j6| zI~^#7YY4m5t8VDwK2$K45x*SsX@O}(sj5i01gz{Ee1lH*|9NHPjpMGhBkfoh7Y{S+ zv{7Vt&M9D~oUdGp4WbdChjELkT;>!vrO-!O&(MW{lBuUAXA#$2eSoC<*w+O?VoVr9 zvhC=6YJ2c9nI**9fc&{MO z+1}&0dbI53`_$!_vj+RY*&WP>v-4wNFdrM(xmG%EZ1SkUsU0mixif)cf_Ir03xy2b z$=T+@I7Lo|g;bSRZ?5V==8pFg>z$8WOIRHDb`Apt30)N|?h0e+$GL`TjJ7?K`5CB7 zOF6=KC*LSlhN&)2VkhcLTZ;}wD4(NL9UM|320xE3Lx#R7C4?&9ojwpO2^Ui?hSNZI zE;C9%1kI%lHoS|!b9$T6>_Zam&U?>;>s9>bvCDaRqDsCq!Hnu!vl0`Mc0nSjlN@}l z{rPbITh_l@zQOQxF?+7oaj{w>)8E}d=afkN$)TzUj5mEhRrHp%#dJQ3g1T7vXn`0$ zI@UIpWjxOp+%@73S21})z91bFpX8vdcHA1~XzKIcI5kMrqxj1mGo?k^i?Op>eEWEEF?8TbMtt$M}Or+9Y467%H%%8#BpQ|yAsIldqO8Y>`V8(D(m`N zP-K-0Iyb0esd^#3zq)OLGQnwV6R&|+B+2>}=j`_P&xby8H&#o6MLF@UHnXTjh?T)h z9tVZd;nkK9(`1$J+kxqzF2Xum)87UIQS(gCWhvhXJt`Ul%4<&!{?e;;L^lfkC{rxL z0~G)%D=Qr3UwFpOfxZNBSt$}C(ueJ*p`hsO`Dc~j#e#P&WpOvBope$i{#UiMzR z7f+_^`HepJnKF}Ch~g1A7w6zWQY-_jL-N_0^d|7!klF0DjhXz>T_J+QK*m|04y*IY>Q9_m-vH05-J)+z7vz%Sp8a%` zy!I#}eU;M{lcSSa*{sxU&j&8Q?H$+39taJ(Z34G<(;K5#)s-BL6TG#v*1gp>)<2Uv zJa!kqc{b!49yK$F|2TV3nI|=4B|et4n!-Nj+|imP?ibgpULYLZbKkF4?9^S8wDYMR zsly|l!0K6Byg&gdb2Vss#0ELSCu&$-uUCK<+7egpa*^KD->XbbyJa}gr8nnDN{Ya8 z$dfK#G|lf*zr(dIeK7tKBrdwKyJ9SeAmw47L4R!=KtP|(V!+5@5tw4fUgy5; z{uA67|3e}{Cj+gG_N2#(C zBbPSz^q2q-o~Qr<3pVF(5ifQLq~^+Efgx^L6pRBC*Pj%q22!(_aFopIRh`r{_v|;h zY3ADIwH+?w!Lr;vFpB`BGq|VEuwq{>l|Wc#Fs~&q7Nch74f5~mjH~AQ$Zj9)KV#Ts zMIXN_n(o$p<}kMAtU*7^UAsm!ncQ8jW8)+eJqBjT+5zdw0pn*nAx;NV+%KFX5>9jM zYZMC0Y{Mm9s0EEY2?617=XI6-0>cBj?<951s`H`06oZ-{$Z2c8i7J`_zgJvK(3`dT zwLZ3R#SrZU_&}(h|FP%=kU%|U)dJW*-5c8pHMz}IUr=YvY)u|)(=6C)bL#*c*txFT z8pk~JsV$d}Wb1NT-cv(P9Cu?P0_Rp!Vn25s{($9~&}ol`HZRs4-W4V~-S? zA_rdDI5P)`ycL+o?AH&)_g$0=z|9}PcHoj%-6V4CUN!B)-(?w_} zS84=TT)-gpcgMIU8{nf4w_4|wPb_(OdxpGBwm0&v!$JTdQV!3#3D zmz&F3&fn5udHT2ob4rBEiL%Oxo5Oe6uKMCiUgWsMswu%wn?!KeYT=(D+qCoAsolMf zNM?6lx!lZ1Tx~k63UAy!;~G`hzVEsrd8tIEst6y*k~`*5vbreqrikcGhe8LBbTsCl zZJ{b!dt?a{6}x(#t8SaM`depI*xo+>2>A74Oh{x|X25WE)?-PS)uQnBD$`iGz}#aH zJyflUzTf&0o89ixdnnXk5J8S!4D<3nY>ZzY32Fe5$$8+nTTOE0kPUTj+&!-e($*yP zTi~?9>5l7?*0q+np7MIW!%M%jqck7FVeAf3^_|;W(Y4bHjo=eqhYX)hYf~I&c*>p2 zz_^Qle0bUwn5*9xsCcC2aWQwu4k+$#a2Xy6NEeXXKuNiZK~PB1wm824ksBCEhtKQcVpgC%}hT6}9{KILwt?k%}c(WoY6c8@>+yv{Cj5 zN0jPdDod65Z9j$&dXl1UT}B*?er*d_e!#&B*VQIi;A-Y%qk~^kxeSlycz}0u+q_gI z_>>-xza@Ss;t;Wy@S*TFg_@k>&uM2VeO`4aek_D z`oT^W8+!8gNFc=hn@WyFJghnHoWzl>5crvydz<%a2!fP%2rXzk9tz2Q_uL!8BQx94 zns+3;WqYeaaOl!6p}DllJh33 zVK`i4NEMeP$tY257NZa}sGqv}!EV=zpd7Wvu!Yq{mVM(A`qs2Q zs%5t~%VeTi7fq^hAVHwt?W6k$y|j$(Urjj{gk{04KP!Ciqu{@wd}dxsCtER?lcU5C z@!z~2^MiZm^i5p#`}BRYjbiOMjosd#2`lLc&0qh)*}1<~eCPF=0%D&pKhH9-&%M}* zaBlp4wvQ|`uZK6xTLbJH zSGQvw-3r#b%1AkR6Xk3i@*_jVV@#aOfkAGno7*cEu3F6#FScxr(_8J5)51FKeV5k; z>hQsmUc@-7_-FHMlN%!6=AWtW6JD7t4n=@`S;Z3rd@0L4y$Fv{zk{z%$gf%C_k`4a zZ+Wpb%DQgc&*NQ9a%Ld^k}yCbP(cLmJjxZJb-^4N+;=4D$K0y5`D7^RtrUAs+D%Ps zSCvhn#955T`auXWsZL$aGe@mU+5vk6t2^x;u~<|=%;*#%0JD7>QH1OE?Wb8XZatkO z6*0!8so71h&14hzp1W@8_xmfWt*x#ms+q(Xza}>aG)eYewwLB(=6w(2z1Gqp^#f9%+s;;U^lkZ1aZLs#(*jS z9Ij-n$R{^X*j$A*m2GiheS;jnriEc$N98sR@2ra%@Hjr87PJ;s73PltUR;P!t3*F! z?tRAV+k_co0b&U+>M)JQE#gLybpvtj&b+XTIu_qXH|VJCzNy>XymOi!I8FI3swi`k1x3$hz7s*4Ckh;|V~ z2doj+i}d%pZgl@tvSF?1%RsI4bCK5?u2omKzqQ$|d{ea_mI{|pdMux-}y8Ki78%S-FUd9+0e=s zqs+EM&a!Idjy3vCAM8j*P#;+2Wy6=R8h-R!oEv(0JKcL}A$%#D_^B{ESGlj=efJB6}lS}*bUBkZ*HYvP}_S^mRq$^)q4ZdV6+BbH9y<^+xs>GF~q zkRIpc>Yidk@F%_a_(Hb8O7 zx|LVp(TBG5Ek`U(n&_9l2exRHLqX!`TyCv--a%WL5V(;CYdsHOAbH_lj@6D4lq;l1 z0cV2kd(7IRT1xO9GuC`1LwujfC(ajGH{B{J#TAzkLZCR`*nuAJ5XzGEegDx-ZXx1b-M{Gw+8-cZS=frkL% zx1MD;8PxMP!=JH`{o(ag-v-_6eQ8%MLnO(hS94Hp&GAnz@hOk-EC1ARTC8G7$y3pidl?BNG%;YKw+>8!a2ew^@ zCTCL*Vfe=ojmaJ8-D=nr44;a70`e&7U*Kzws5jiIO(9?+S{AzCk={zj)}nHnR1DS(gGyhc&TUou*jcdgPna<08CnCNWDbpW(|g2_F0jQF zut6TC%orG<3cgL4Qf+)s^bFC;UTEE#BKb5liyv%F;qPKAG)>fet0sW*EVENd^5d)o zrE)aYoP^lTiWr7t$`|&VukG|CzL%NPu+rbXEjVa18Gw&JdS3+Iu0EQ!yh3GojhQ&z z!CoBRzPo|DPs4^D#0$g*Xhk1}fqxG{k7!J|-E?o&p`XBzJ_3_NPU*a5+d_Tu3`K=b z*ZAgD5%m4is}`V|^PICgZm&Y@)NfIRlB`SBqT2g9X&qR@BHAcDxusJ}bbf9==YFh| z$KX2>=V<>seEeH}`f1T=vo$uRikqaTeu>%`8<*h6g z*P}OiXX;;f44pbvB&yxO10{W5ChtZO9EjuJMPpTXgqglv8Uz3C(8Ve!yH}@KzG$Do#CP8KslsSi2N)@ACYWCcmPK zaVn97bzJNvWHbLIz``+q%hUA_htbIW4EGqPl*3~uHQSQgCE(*ht@oH@KAYbi@NHqP zXv-ez0@ns+HHmJ+m=(UOXC9;zz`b9sr9uf#UecOFM<2F!k&pdW6N0R&VcJ*L)G*$m zC7O^Nv|r+(1BdGV%;eGyQcr>JNsms$5b&k+!TbF0*rxS&aU0*+% z_$Y=xOEU0zl4UHbZIy0+;S^PW<1U@wLhU%($kBuu|D+JyOXj(bAEe>ebTx^V^k@3G zLYOBt!k)p;Rr!8FLv*pvxq{Er3+311NF%^g7=4(XK0poYBmZ8DZl=8xTnAHTW!6-5bK(LU8U~*Sw0LsFZ>=dyCiw~b2D`7ezJ2Y?fhJY z7RJ(O7ehR{IfwU(u?#S4Go?8u+x)pH`bIJZ!jXEboV%e;C{%2{J)DTNKkgYmy9HyO zHvcCYZgT3ATYs_pAfJ>D9SLWOlf4ur<5ZmYIqXqAa=&%iIxo{s{`7_Zb?pIfa$Zo9 z{H0qmHCj6-zcq>5Y!R`1jA(sG;e`$Kck(2iUu0xoPl>--+#c#aXSi)AWv>w(eX6uJ zJNT|~jBQJ7%GuN0+W)YbVs(4Fo!*sZo`sgd6I`(cw1v^Z=Z~%(8gmSPQ*0LyO1*h~ zy9wj``%H7y4i2bZkv`O)aa`GBJK0gy@wH>l8yd zA@{zlRW$SzYM}7CT7L|P$=^Pv-nP954e{g~4ox)PRxt(e{A2Z}fs5}m;*}2sITf;Tj+2fYj#Zoc( zYr=h|5MH8kcB}(Z>(n><>n&gOt-b-pWCiY}HSRUW2IQFqypT9dX449L*c16620EsT zFoDki3u(y)0yxFQBg3Jx#9?59z`c&^$@d;$`AAB`jW6|4BIj7`znuH976FRxCzvxn z>hv{#Vj*H@wk$b{ijOX3(L7o|r)3ipU8$z%50zY>@+qX~G z5IM~=bUB>#T}H-MWUw(}YsE=Vx8Q6ia08feH;KnJT$>?*<(SAmNjX^<)ycDmv+M&X zT}Iz-chg2`>js&%Lp>!-2#g429Y^Q!aKaV1*Ud91{E_93$lwy??9@$zJIJb%^_ zp)|YJztMWJgs1?d%Qn4C`IzdHx!?Sw(2^;p0S+_mo%F{hQGhDaT7PKs)r)jIX;b~! zRr$HtX{D}0EM5vE3>1;(I&4!7B{Tn}TmK!O0^8Q&>+Z0;+GtKM&30wi0o~M>6&sb~ zxt#WCiS=Y_sTO(i!+z^c?yXYg>vHIFS88Qi>0@9&26aVSqF*{6b{ZZ!Nnxno5^#VAL{YWq=lW?K93ZmjAU(I(<79#FmEN^<*0pRmOUH)ZZ|_t$8wFWlzY#+}-P za&Z8PCv4VzY9*Q9pxQpCd*kZEFu2{4O6q){LYE+G#RB=`_!-$or8;fx?V4AXDz1dy zzgNY=skhwz2=xuF#ls5&+J#ih)2T)Gz%^u&%z1^^0UN`)h}pr z{<9=LpZ+IoTw$pP3x*=usrrJUa>` zOxXXL>c73RP2ai#@#Uuu%W%Fi@^!mhuPr&geGDN~@e>={hfKPF8iSQ=lCd3?QSF5Y-yo0kWqfVsnd<6&vm~;n zui&yg(oIP~|M_ty)cgQV!H-b*kJbzg%FvW^T}&{hr>s2tO^18=tk-?v8XV+3&Q0go zhq4^+&3+YW{D|XkQ91p&Gl|yDyLDPTt$P-Ls(nq<9R-MD7&`GJ*Y6$qVzApf+rS9> z5hsdx1`;U*JOy%Qr+C=5`erYw9$j1NlsUK2eEYndjms32D4#t;D2E~34-RZP5UInO zIi%V{g!JW+8}HJpUQ-g+v_E>u+ig2O$ofw>^2lu?8CNXg-^(H!V8qjw@ZvLD(txgA zxMMe!46TjC;Ioz$Fb@3-F-$wZ|3aw%U=0*C`5L6vk|Nia01A4?e1=3+aBp!RZ$(8Y zR}K8Nu193(5b`IzEvp+TsVz~$Cx6wvC#4q;x?~%jiC3ga@G9jo_b!{Fan8W=*=Mu| z@5-my-}B4&HpH_;AG4kW8#8b-UbhxU0QwJ(QrckK;5fqY6**|>_#ww_g~MX`Ww{LS z9A1T-5+jm~O4~k=@;nMA|3`%~mS^2`YSzpQ5pt_|+e~mVx+@!E1V$aR>IvgAF0mm8 zW^bYN817#8A4TAI6n*-aT6QlO5ao3m0{O!C3 z5c)h&*)9!M+;hn+OQn|&K5V_Dn9$Q;F#vS1`YL)hcj2-)&WzgLORb
@`Q*%<>s0K=H}0huFhat!$Tx_1`S~Ix^-MbSzY=+JdniAGUGH8Vfk-4FXl6_o_Id zjW~?hiG^*%UR`R;!bW=5IbX& zrvw%bQ!S`XB@-3zwI(pvkf-9U%wKx%KLz#)_C$L1oTRQWpsv%>_d?#E1|?kp3xgHpknjpL5d6ayhCQUop@l&tCX6M^}w%E zZXai~-*jtcgrLrj<=q7m(m>=Q^RsaqUgLd{Y1d7_RJmt{I8C$D8(Y4^m@E2E3x4+) zr?zDO;O3?50kBW2cdgfC8<2c$Iz_pMgEGl|{+z8WZ!gWC2om=_f*6dc@iH5X2@+at zuQZIYu30wy4YhK~ZRP_1(n4JsF2DD^M>Xtj&I|Z2Q9t@rFhBC+_~C7nre9OnCp2@G0RRisn|_WlmG1`Do}7+-S7RM&laqG!6bO|DO5db z6&zCC1||h;Pi8p7QdVQ=spPr6hN2>#yjhbbWxe)HE}2Mr^kw(T+$>k3~7pq>eHsozPy?{5-LN?=DU?K5( z3cHt#%#Go}a}T4?# z5s20p!kBT*2^b=9NP8d$tA45wFGt%;HqGGMq3L~1!2M3*Jq-aZnca^5m`UvIMcfXI z8q-BcVwaZdii}fRw3s5s`;80D_@6kv47c%kG-F3P@~FoHXFf>79<&qb;Ue1?B8HC@ zFM3C!9Px9^u%$}|LP>^xVruN!j@|FVz84aCC4x^|4Cvj0pzlJiQI+z%$BVQdo&>P= zV_wqeC!&ebh=(4`Ha9Q>?*pFqRBd8q^W0%WUjj@`WR0hc2`q7u{c9WjZ$bHK*HUfj zflw3g*%y`B;YQQIEg#+p4-D`J`Ie8j4X%J%p-&-Lo{6@w4<{9`E%hs}bm_A}8RKZKtNnr7_-rswv_NQoH zBN{H_%P&a65s3RA9A2sR6n-eAozu&J;yMvb;rhk=F-y4ChWOAYkzJ2ky&<~Wy2}akLIK`WI2-?N$9wY_EfJ_?~`3N zQD#TFH!*eXX2l2C=%grs;+h1H*Vv6dDB@Fvj%Kr(vE>l>$X`Zf--v8>Op&Kw|(g*yzTRe!Vu&)6uQ$NLM z*WA7tI9GINo340lcD&YT^L&PGfh)baw3~NFO7>3LWP3K&@~oME^VM5_ax`zIgz%NW zQ8_c_a$bBoj;5B47D+tmZUA4;dwOHqafMoCdl^AlhBU%rd^Zk>H{u3V@62R6=BeU4dj!nJ2J z+Ub{C7iiLsJ`GI4{8V2|!`|?sZa7>QZDr{_Ze}&a1-jkqC#N(n_6pH%)iA-2zSlFV zo5l8i+fjS?;<#$Ik`bYKJ;KvgQ$jf>;@?ajlwqxu%~#u9BrK;-9Z~sGr&g!E4;i9gn?Z6@=MJM+$b&XB+FDO#1k5fN;<&_e6*Pq^FTUy8ta zLySZ!ekStoDNup@L+w;twU;k{aVdlY1EC{R(`^Lw&2D+Tn?u&h;{m1R6>Pt*8)~Td z5hbqS1^;`7`$nR;wB;3E#7)$O6qyhp&f8NNoCs8xE)l$2N43%HDQt__6^179XO4Xj zJeh}5KCrZO+_jLwF%eC~?$kc#vpur)hdO^5IJb6H0-S4Q2mZk^zC~e&eDkN+fXmitUBvB!&ri$tbz}%nR|< z80)i~YTyo%O8U1*z!II0>q{`lrNn!`oFbQs;bY|W481jWg|aT_xrZ3rdGK+KR~Gqm zC1yh1p{TUX?-H7iCa+bNgm_bSl>C#tFHDeO{=REx+3>KcQbiMpL-nvGkK)FK#gfy@ z4D5of*#f ze3K#pife!=PwE{ZaIPGbbXv@4xE=;G`nKhxp>yKX`SmG;(?#;jTxFSy?xl(P`{Kuw zaF6L<2b*y<7`25{T+a5#Iju$)!Ir$T7!A|3+U9(H^9^wsJL%M++j^($Sy++veOF;6 zwVxa*eJ<~E1-9o>I2~Ka9PO2D{e51(?rj1upG}d}4dQfZ#s9VcoimiwZ|9k80AM zQx$RacyFmIwo6s=P$p6Db_Kn)S2_Ep_dphn(~AesoBdzSF4S)}8-4N-rZhahTLw_I zoO&ZcT~wJhm2K&2vo2gVk-!qjJm~u}nd66i4vY$?BEO5r2DLb53KpLJUL*UeC!A zLtq=vyQm`^aae_P-i$1uNKNE;#^H*llCQqV+HnjS5}tAxn;L#<5o3rlg?>c z4{~@37z<3i>wJeNQQ^eoQA%s;XSx<|omeva*F-uBV{aV7*KBmybR^XxlHYU2>XiIo z`%Fh0TVxYSs1l}gM^*E4#D+fsCREHW^eJiQCpoH@ZDkIF=R?xSz}@}2TZk7%9BX!Y zsiv*91ogts2BK=G&74rRD_5QNWg?7*^Y%`9EoGv|lle+(#{#PJDLI62)W$UxY|)9i zt8vQsR!|b^|HSeE-kDr2P{yn-At2VpR&vXvdKnD`?<_rqbP4{Dtv(MNIxnl5Q>KTn zsxcD;T_sh5{t8z_CR7=vdgmL>p+5U{Uz_> zpQ7SY)7u4}Pf69{QHfp93nf)n$UlKm%JN#;pR}dl!yRhb**^Uy%%6ALxuzssJThII z=>4ku+$P{c95qEvZXNT%Z>_au5{SGkdQVBrT>QSE zB#ej$(vRu%P8gQ)n3f&@HEH+AsQpUF$Z7`Ze%6h1Hpo2m@Od;B=euII=VkYlQ1KDG z$%t5m#=)i$?8#Uid5+rMj6i!_edT)3@#~jhbc?ciqfwEF z^cQwLkVVXYK)$}Au5B&Y~Uk2-j zJ(23h#>3>?;8iyBZ3)$GG6$doGgs(U(I|1NDE+IRCpSZ)H-e@ehaL9TEQKd}TWQu$ zy9X~fw+2Ugb%TbYcF+sDaQ&$jJ_)~RMac~US=ls5Lal8;z|QuM1gz3JaW7RF;Tq}W zRVx$Oc1_yAw~Yr=QY3}@A!pglPK@0@cIPrE)|kMXjD$6Jz^|cM--D-Wn^Kc5S+grNa0s3=(m9WguFFspGcp5meUcvS;!8Em;gq1`=}m zL=q^8&(!uz%6~4{rV;um-s*qQ@nzhH2S$(U`f$=#WZ4%v$tYORA5>*YXW4M};nkcg z7r{}>DOJ>-zy9~bUz8eVfM)f1uy^UhWE#aPr-zX=R&Om%E|}y5I7M<2y5Sp2k;GlZ zkkhJIg;1 zd+h7A;!(IG%MezrY`RI6CJGtFkU7<1XYfXLYIWj^#$GCyKaNtq#JMtkeQnxOYbZrA z{yjqgepe4Ylf(FJrM=XM6k+|*KFMP+u=q@-+5+f6CLhx?GFudS6jmwUcsZbm2t@i` zZg8ll&JG_9lJ>A2Y`?If_hLD-VX68!C>HwV8^wq+;!u0L(4-VWzO8Az{{+L5m09Lm zw@Milk~C~v!Uxs8Z~IFQJhu_wa>d+gc$SwEqhZ8nP>jE8bJWY2&-e~Gg5|@m&o>dq z-xD4cy{*ng3=!{scLT8PrqL&!KMWVdL!7I8-*pA;uN0&L#VBvZ5GLe@X`I>I zE3SfVoIW$BmWjd0bAPa$-cHsKPR@BJ8w4FhoDLRyCCC>%ORKwgx~>n-@jWbiU~F z!+ifBVHj#=mmrw7%-&pL==1=R>mm)qEH{?&GlZEfPN7h!}76L^+$sH znJ+U|1mMzbCIEVRK4nIvI~uY@D5e=h1VyTDPCYh+C@};LlMpIk$dSyRV7M~8`E#Y$ zlBmpx7ens$*}zb{C?h0XuGvkxGa%SvbxB^!$}$g@il47NcUyMdCl22quvKVIf*~i4 z?uw(xppZ_eZuF3{v%-Sq`Z(p(x06}N@~jRX(dFOhVocrRu;6w3#htvWA>xpbCUUk0 zav8x5o-d(l;RPKmm3P@^Tjv~H9OfJ!t#dqaZ0y9Oe?^^-G+I!8yIu**oXGFkH_x_s z+9CD&ztnKH6gz41pnKEVy!r4|d@gEUDl^UaH8o>vtAn-F9IbxkWtj!u=nB18#=?EU zeHR{53Uy%79A2?Hck)|Os|VHs_vNyu1fUPO)uam0vRV(P z{rKqZFqCRg##T^wSy-WJ2NRNMUjRJ^WZXP-d(iD!3jLI=YV=XOCc2LbRCz2g<=SJQ zC9vJ9lI@FRsh0~Z2j-6C)oB@nWaMrHrmfL^I^3BO5o0VPk(MU zvL;5Z4M-gLH%#3CLg;xLty)-jRY|l>1xV7u>V}7xfT_IIBaS`ZotaU^wH2_=lhL-u z-$NgCEaI&)JH5cnRg~b$*)>-=qM1X_?pz6hZ=f(#3q&inN z#C2auqxUJ@F9po5WFo{`er!M`Mw&L2+v-RqJN6g4GBs^tm)qZ=Ey#K@)ezZ%+fDK< zEh)g4?GV&H{S8ao+cdndnsav0=h{GGc!LZm$?#*AsnsRDwMAuHXBG-JTAI6`52vg= zZ7h;*$ro#8eT8wZPV{oth62$2kqorNYd95WgHhg3txAkkM-M)D^|?{O1e5E$EkgCs z820d9Q6)$!3eX@e8kz8YgjpYbV<$)iXV}097vyy?IhEL_g)?IE z{Chx2kjU9U#cbcrg^0SjFKY?ZO>`pq_JI;o)(zj$^*YG4c=`~Q0O(ue28qYG7E8j_ zvW;S9C{yOjmU5p5ulg4nR?_}t4^86SA1~VWo%U)%v9{gem%k)8uA|>8nmZp%Y}ypG zcT6U@Gw4v)RSFM1eJ%Uiel73Y;&GdCxa=2=IwM(rC8i#kDNUhJ(_3zXGk7yD=fk-Z z{d&_lyVg2OV$ue^*zYkg8(H$UkaQD{lEi4g(#DghwbnYX{k==+AiTeagstYcGx+Yg zbREW}m>yTrxxn>U#U(^*L^c*O8)1!2)h$FKSqTNIxu?;W96iGQ*u=0&^*ZF8XS{>W z6_VZJSoUFVafvC3el}e#^G>X*Zu1%mXnt_pwRqA*p!m)E(QAd0NqXoKKQjBt*AK|+ z>GELD4GN^KQ zT%B~^>ZNx~URGYnY71A(`Dy*^FNF`jhKet`!vKUfIq-Zmw}ps#qM(B)oxm0b?64UP zi>vOCaMp<=$Q7x`^8TJ>zx*4^UL9H|TkMGR*}myLXGSCS82Oyz>x~qceS<7l!zx!> z6sx)J0IG_ARsb;x22Xl~R}X}(dxD3^UmgPEl9>nL`NGtT1N)Q2K78w;hatxkKTjDD zx`Qim#Qmz2EA@{jjJ86=#I0TWnKFqNiBkS;ykfr<}E-I z*M>nZ{GPF~7|hRgzsWb%O-JB+tO!SFk1jocQ;7RxZ9o7QYS);GJHIN5Qn-=CHHkfM z7QR->ih0zoSyxk+KDR|~Y#I7ksJo!QzFW)Ecin0{ksW0Sg?ykBKD!h|b)@~O=98#< z&cwQ;7LC{QUKdP=&zP7>y+xZ*(XOT*G+A8W{;-3N?^&mYqMXKk<$&!L~YC{Z@7gO=b#R=EaCL*R~^qqm6 z${QH%wd}X}6x&6Pi;APbli6o>X#a%{G;LbV=KRd6KDMUnMOh)Z#!%~SGF>WC!NW`v z^NU73_UTjIosPKv^~C568WL01tz={GFHg95>xS)!)=errz;O5pvj!w!KHIvozf8Si z>S30M_5#Hw{Z~_-Qa}_zP8`+7E(me1T)t{CnHH=me*b=$N%0U(Za`jW#Oe@za;S+M zy)#vis=_o8K{$+8u@)dQ6X9XMArUT(NY&#Pr-DrW(y3aNC=tL_Q`vx()C@6<8O2q( z)Hf1gIdT1D`xU}39xWz)11>jhMrU8(^q6-e>bPOX0ANCC+n!;U-v+JRGn|Rd+7+WJQ(TwWKAZ)?d9VS$hv$6O%<>>5`*8jTPPbz5p0Ay;=qusds;$2N!4h z`%7F9U}YfUK20~7FXlhpNjS779~&#OsqOd%Qn^3K00V0C9>-OU_GQOllvH~C#W+P6 zVw_FIvR3ZS2DT3xU*Iuflqq{E6OtLRt~Hf%$;4VuVD1YM zeiZzLEH8uv%!@+{;+)u zuvIj(m<*Pmzmseon(!F8*DFe5fFftN`&=$br6(CZq6)W8Jr4BM^wBomXoZ{%SI}t{S?0uPWr^AdO zjC1B6fEfE$m_1XlbC%B6kjtcVknY8D;56vHKB~LKA|tKzC(m1#koxz5Wh}puf($V& z=VuV?+vBUDIjwMM%lS1kIil-t zSKKCqAnnP%-sFKdIuz!~Zc<*DM=rdKWN#k)Yb41lNZ6P}OH!VDPwhFqiOa*56kNUS zo3$cT<~G***!+!8=?Mi2a(v^N$5)$v3^1+>8h&Xs4+z?rD14^(kMrch;&br6v2pGY z^yX4Hf_P15J=K%o6}LG<{~tiQ(Y#mtpky!$K{4G z!NrG_iM26bslcEPBY4|fmgm~&5QFa09QN7(6saYWyv6A^C`CT%fb_n`-R z@;AA`fR`ArqvF}VYBn$~z3R9(!#99&*Rvmwaz4ZQvW7?6ETytbx-&-{ERn%XA+DtM zHbc2{vv7~?gn6&ynk6Ri6?C15RYwA}Vb+m|!#2jy9KnT+8#o7IL5$C(OHbHrnp z>qpws14zVdnP#ntpYKJj+j9V~20~Ga+>HSZp8~$$xPeydx``MRLZE?}sJ; zZU~s<5{L$|>*jaYKYJY2?0)I|CzA9M1XdHCcES8n>8QNfC$JYNW9;^SK_}L0&+!aaSYQj*np)>n+}mS=>nc%mB9W988<(fT#fU7k7v>eqGZW zm-`j}^O6`b2g}uxb>9gYJ9+~hdVUdFeC|0VGL*`wO4T~!pdbnz1zma$W}Bajo}|qz%tE{8;<+-&c!D&w7BF7=Fd&o)Y!ZgkN~B-S6TE zcY6LZ_yE-%5lstVv-8Lt(lU4I`xVwucD13^?wLb*VN(J2>p~^S`~9iihK)WwNs>m2BqUkHNxp`9nLU@Oik>Osg0ckjrly4MPtj8^0vHE$ZKkWB{8*RA&Q zoY0>eFiNJHFl+CNwHg59Mzo}gx2L7)N`2%MZyBlJC8-6o>U@&w(r^?8s2+P>aIHhS zq$w1I8qbo+*_^ZUF)B@vlAiKe@F(DZ%l|WhIoDeCJQQ*^@JaDa;QmqIji<$g4?8#( zp6%3*8HLCFrqSB}l75~40165@-n}rFl-UxV0cOn$&S$&$c4vT@-gQ@y0)AQhQfH3I z*2IV*h`j!BNlKsD*AWSL!SSYJpY)Y=>N6`a-40f{BN5amYPrq(<#B}?wc`Grd6Ujj z(uG=5omDx>2kXW$1x3_LF^z#KG(5&%%*-<#WInDd;fu3J8q!+ujkNle z2o){xaT`a|c*AeQNfu9xs8Iq6%YI@Pdncf8v(@X6$7Dwyie#js2#fmB>^M!PJeNwL z#{;G9-zdRg6^{?n(K7H;|NaNb)w2`sGH|qGx1X87IBgqoPl211 zM<&Up@J3mn5FYYY>p1xA2_&{xq!7HnQLAO~-6m+Oz)r(XeENIba;t~vu*SZe@nIk= zX%W7|c?U0TJFIm1r;`Pd9H@}eRaSxY9k4U2k*R674M*bfi8%^?)YE-MBt=<@G|rMe|EpYUu%JabTWP@KJ~Glaa(uocad`Q4OHUN|4|YK61&Jn zD_>v#8K+iJk70410$pNV=aU`;_E1&{xknf1y#%=+*#jI>D6kS!pWG@%x?Ydy+aM!P zkW#Opp!I^vO*S|2lk`y$sHM-i?dH&-Am#(6Cc{PD(V3>tzR_cU1i`YibV!SlBL79{ zOG$#L9o|>dfsveKJ2|<_#&pmwjEj5A>6tWcQT^SS4=o19$-+M2SrZHiyE>D_r}9U0 z0C>bSEV6!okgxc_SRTh|oB+B4quN;pGLQ#eok&w zcMUZtOCG?V(;g;HStj}}-u8&@P&(3E80I@w8Cn9`4;J_jkGclLE&xV7t#Rf^nUXD6 zGY`k-@oQ;e7t={nx}*?j{=r zt7zCAN~1U67fbMO8qa*RUT%CES+*k70@Lz+LmzlACdrn}FS9B_5uX(!K`=O%(t&7l zvDc?PTO#``=_HY53aYr4ke!Yq3c%Wd@Mv*KmG4NexG#zKyYH;~Gxc>-b)SRfSbfEb z6S1FNrSzm(%_o2+^RKo6yyI^90kt)R1Du~8%wY5Jq!$ozvQL)mM zZ8TCM)3?x66mMzqDUZvv>vA<6wXAO`%tP1rVLl;bT6uGb@sTAPH;KI@N}7n;f&&{2 z1G3JGA`U%%rW-O3)y{CWAcDW{uSs-aA6_*j-+W74zTvc`h9|m%pcHUV6c8`lnXaO4 zSLfx@toEjmc0g?u>|ungjAY3T6=WVlhq!AuPe-ToxeU2P>6{b?s0M3a?1$KFF7=SO z@BTCyYN;G~tloK4NcT5vQEGJ$<;Vg$N)gwl8<_&xsDrkn%&63y4K27`CE>wuLMF2( z204SaC@QzJTEAs*5grn+ies-W>OVskD$Xz7v(N|5V^)|gHGbpAV3y4>Zb(TK&D&L# zXmnzEo<}76E=5{fmh$bU9q%9XIq>t1b~BfVgSW_eei*cKE&^La(x{y;Sp3Si=;DGO z%YTo;h8dN!DaAzCRLsoU$D^I{l>nxw2!wg|c~r=`eLK-KUt|iW5(pNF(Di=b3K#C; zu?XrSOhO2FwZ!pOLjzCz(I)MZtzm&ZMAP#K`72VIu~cdEt94=UiBLB?lP-Sal=cJpl=!i zT%aIlPnypQMQfrH<%ZoRvt}*?&yr*AYDfUK$>Mo!y0PbF!IhYJO2gUKSNtZK&bem` z+a^01M6)C_AK9t%sN!?S+GB6Tau5<7fFY#)}>(Z-(?P2q5GWHI=fnur< zThCg82&!ytfp->SCmu={p(_!5>{k>KHfTyw>h~SB_`tk@k*lNW)uC4m<~^r9iTwHBiTH* zzEY@SzOQkf`m6Sna~bNB^g8AIn8%-G8YgU?P)p0WteCt!ZJ88R+}@zk*RSBw8mtwZ z8&$TO-{H$>_0Y~f2}6&lB16lL(>*5)f(6R``aZkp!+85e7mr4#&^oWEFIpRoNC%UT z2l^DJ5n1#TzY5~`Vzzi$VcPVQB8&kGjitPbC-;~;O!qkEWx+N-%ZDIb&e+#N3qC;? za~vbcv&O|~Q=}8~Zehs9mCKM9eW%tt75`_rx>{akltL#gm1&xp>Z}m66d2};E=g-X zR*r|z6^zBTq*Qnh(c>@J?=k81f^@A+Kg*O}IK$9j;VEk!pMWAS$t!I(j?%Z} zd4gobYYj5(Bsc{3H|aj3{B{Lw-Ljl`NAi_uOWoVu4>Ss7?2+}b16=f4|L#riEA~hl z3SyxK_fPvt=Ko0Q-Kl8nJhT|q8eIz=XBuV_zuP=c{gM?^K3FOR{%xU+$Alk;&GIH@{^9>hRr(9K)~AqNi`I)|f0@dU}VDzV`UxHs~iv z!hN$@82tgHIzqJ^nXUDKoLz~b^qx~=`7i=`^q%A^*!|tXQD95%RnW2FwR9;*-}C!_ ze*_n;oqq|}o@2~=zc(!=?4QCFN6RZEGJj^yVrZ7j&9*2JIXeaQ@et{_`wN zGcW#1@W15wuTW_e0MUN|qW|mOhyM@n^^~Qj_m=<975{yo`1MECrUqpih<|s_|5$sP zz3sYv<4uT=xXAx2m)1)}!>+LT#gvoY>wPD>|0y9db|p0gtm?A8WiIOWVwIIk^+!nX z|2xUu<-TFAMkI*nR*!UT|GLr5^a?4fwLhkY^V9xY{{JodfaBWUeQb!8?Rq=?p)Bvd zcF4&y=xz0F;O$yZU*FnlDsQSR6t|sHj!WAAYP|n*IN|Zno!!gSblz@#U*tv3bsH3q YaSxInXYjM@FVR3vSxc!*!6N*B0o%XPOaK4? literal 61822 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

Q3bryIf=OmT_n}YdczzT7Q>< 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�|$vL1fm-ZZN9sp$&>>dX7uviq>GGhn!DV{kI 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±QW3+nXas)V|u9xRgxrkY}W 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 literal 68724 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 Di|U9Q diff --git a/src/images/categories/dark/Archived.png b/src/images/categories/dark/Archived.png new file mode 100644 index 0000000000000000000000000000000000000000..b3d929a977615b54a05772eb3e26b934e6d4fe7d GIT binary patch literal 35968 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

)Lhs%yOLqp77jLmIU2db8Y_f%uPieV<|c z`JJOzRHSNZk)Lpsb_xN8LmsRklAFR0LyK}5h08gQ(KLq5J=d$r)QN0qO$1~eGv5k3 zya7_3NA{F6LG{DD>%O(JRVUSH2cuBRJo-ZIAcAo*o!Cy1NvAl8gQlA{zUw5o0?%A+ zM!!u?3pbISnOnzfIE6h4tXtZNv{4>c@&sZfbd4J~MD4?wIPeV$PUNRjd4&R&qmw-r zVZ6gq6)XGGheS(JKGWNo!qfi3k8s4BF(2H?E6EY0fH!FHX-jg`U2C*Q?KwVR)kUf; zczF5sURws$whucTEbyV7;mC1R>@8nM(1hMo34@8z$ODb;(DUkEKilOVM>J!3oV&0< z#6UNX`ZHADna8d(tU==<26?YSwqZSPZ5t!%|E;AFUS6qj7Qk1rx_og*HEjd$5kl$N z_M8SaQ^=L`ZDA(AiXnWy?%c_Eky;MkjJ?zcM7ty~{T=$nEw zR^X2x*Iow_J341xrCgOA#0Po^H5#EXAxcVVj{>`y!(bhN6Cp)wsRO?pFBgI;oMdzxQN#j16 zFeW4a9Osn!a_?ZtpztpG(2CJbd|HdRLPJs)T&k0M zqxH%-d=7reXR9&79b4d78)b-5x<`fU)EZvs(3}}tLEUFtdGq0EMHpMb*IJE6Zas3w ze%agjRl`-=P~j#1Fa>U5JX?9#65u9fJk^_QNZ6P3ez}X>HS%p(WheGS!j3>fn108_ z6CgGoxMVD-C24SR)E?>)Gw=jiF#?Jm2A_^i>vux8wLP=5aq$b!-HdLnZMePv%b;C- z>_8&;gQY73PV4zXH>jFl(m2}Rkd^?Pb;5uw3I6CHL|ZLAZbxeqF{LGIP39&-+9zvW zF&Z9V%}0m0Ot{EA+MJDg#PX2gzeZzLbE@QE`>T=h5p7-@iq1*#5n>AG=gIMnkh$Sf z$>tDkrU&ds-Sv6o1V?8IxoA&5^w;0ku6Oy9kIF_453D)^QB4`DmZ-rnTu@%704Ijp zT>YMZcgDsD4Y7vdJ(S14BxDv>J7!)@FMPijjdeI?I7Z#`FsFXXv*m9|)sWqRbv1|8!sVZ%A4iT# z+PFSl1s{PZYwKXHkM-0`N+KVIDn%@|pSN7o-rhf*=eljk=Z~(Fq)RgT8S}w{m6Ry6 z;U662Q1r;u3T0i(f*mVsytcZmkGtPOL`cg4^Log2k}rotCg_stDe^lVMysn&->dL< zTCdMfbI3m6|Lo3R(dOqzZ@DRsnBuNN2#gu}%U{08{pp3=5uP^TV}vh3w7u06?EMZr zB*!OHYquZS`?YTSb@`ITl>3DQYsd`}^ef?%Bfu<$hFGM# z<8XB2wdr~O&CoVkYVT7a&$`-yHw{N+;x;V8dKgI7smUyo*sd33oCg1!+A!5RkGae* z?e#|f98T$m>ZhVEB>cIB!u6W!3ZUT(Cm_5C8@o7qy;f$NLB|wTE8SVec?E6h27RzF^K9TWfAU3pKA!Dvizy?Iy zmBia0mu*e(ft2h^?*k~x0Wg>uXZ`S(B!mm9%{9@%%s%@Lw>Dyu;Dnb$Y#Rxx+)0+N zg-Yrwxn&AonINZwjh44mE>7`$DpFHBFUYBW+Kx3RqQkSes&x@4vWF8C!;Ut_nJ-}d z4UIIdruYAWtweu@wyg_0{RV1z>m?bB?8d~|cND5O_x$*ftEQy!%@;S=4oJ=zaPf!o zhDH*Gie>-V>Pb5BhdT|e^U(eslZaFSExhUrb`2pIve!#~w;6OGm;G31OYU%^vI{01 zbWOlHsKlw2&mVAhqWe#0Fk!W2<>&IlD#=bLGABUFlZ8|*zH1bEX-Wj#oi#N^i?u|B zc1cOqaE8BYdH%LuMbIw9z~yJ!1=>&Jm#I){e=2ys-M@> zrcwcKqx^PiQs$DShV4A|!_=M8b*06og$DRs^$Y_o6b3rIC=`bNnC+Ed7xz%H%gCsF zTN6H0D75=^x4z-t0@S+y;4&>xe*r6-d4UJVW)BZ?x96U`Q5WuEi~pkMlZomX?0obG z10P9g!25wc|AK04D0M)OEsZ-5xJE~>myTE>7vnTqK`y|_3m?N%2sPS-)D;bHKY@*; zrFQumddaYJq(f1RJ(38@xKU?3zlE>8ezQ(teJ)OTFucnXoGN6!F(Rd6)lB*F-m|^J z;76>KK`o2{Bpj#<3yw=vg;TV$)|7Tf2ajx1CkiLy;ZjvY<87@Ad23lo;IB)-7$?vy zIK?)zh=SN_%NrNgp%1PP%2?IX_o^G}>)zDY(&ovd;_@hb!oBKA(qWf|Gtp==MYS>x?bZi-QrC=H$(Xcl^A4$J(vdeQPwnrY)`p+eAIu z6rNsjvQ4#W4zDw|i;Iw7UK8F6pu=2N%%e1EZ8z_sO z@Kt%c_ps-L$~9WVRC=}rIsMGTR)~!`EEVnCZ#89kxBUD@h{gVS-xOn}3BGdvnhjc4 zUf}_lUMQV-P&k{n^9JQ}32baR8LRPO<7)?P|8D}=ROy)-`ga1c0vX+xq#_S?c#u22 zG~w;S(7A4-K)*J@?CKDo7=pE0UyE9?SPHeQwg!pnVEU? z*I0gj#kl=IT&v>2nu&2wj#(`Hee()+6sMzu`+U#8fz;&Dz%6?{UnjpjJ-}M602s(U zw;E{an%AjHyCOsJwbrgH?QqcQ2onAiRaND~#GSNrMjN}VhDtAAroElcQ){KL0dX?E zf~ptRJZ|dG;j-b|=Czm0ibxCptTcQh=VnrJn8Vn1e{~$f%P%Ohfoa2wD3?(2ZN#o4X#I>N>Dse=P!R~~ zYkXeVIk3G^T|Qtlf`VMed5%o2 zh^-PCO)E>d2es!m z=0+@{a%2@X4`7;^h-x3c5<$S3nzvvjyO5!~@q#l}s-Evuv_jnv+%|Qt@d~W zS|+@iaPAHGvJil<$m)D*YhGrUpTE`7LEUELliF^o7;mcJE33KIPkC_+Q?;A%UaPZpZiV+h2e{2eksQmYSQ@$7 zLJx7PoT5r8JRr>F1tFU{P-%3bq?gYhDog3}NL6}yocl!UC7BI{Jr%e28ECxgPH!Ul z(=MpbZo(aDo1sMOohyApJm_^z%7sa)4uaM~lQHA8nLEMn5yQz8mRkvK@M?N8-KK}8 zJ8b7gN^3ZP(@}Q(7Eqn#hgSPY((QVW+|c1n5C*fTq(H z_DUXIeOOL>ng?t5r6B1af!&W&E2P-C>Pq1XL(mNWZ}(n%z6OZxn|0zWiTxWAcc-EL z1d#k9+!pBadfJq7C33S1zrQu#O}ls6Xn643g|aR=d#g5U4cB4%MW?MDkKFMsPjM*a z-g?jWn4KFsT;n`+n%&(5O)k()>5& z4Jhp1$~Zgpg<)!S#;$NSM?Ow(IEUAEf5(}rRaecI>7Ty)dAR6J9p_1XXu0?KFF58@ z717LvIH*FDrVI9db_k>#weauGStM`)Q;UmwAV-?eoa5z;G^1f#O}B$4;`J-CHUY($ z%-W^jag4z{Gv8#6yFk^RZL{6q@XD>5fQ`0WKa0=&>HNm+a<1E3r7-#@n9qx!@;0r< zr38Bd_~kdsALHL(-XcF=)S&F4gRrpe%d*-k$~YKY8+tm_Sx8V_Js3ew^_-x92c_>0 zkOmVIDbiNrW9Y6!9fjp_6~TGqBht{ol>QYd2k35*V^QHnP=mloJ;)jEaI;xUd(T5K z?bU=FcGSmqvL@7l6gKWty|DciWZpwgsIC`oDU{mA_vbE`?CneDg!L)dN`-jMTffTT zLUD_WZwvx5^~fh)I>&N*y%FB?3$R%YR!gs!!);K41lM9WR?JB{d8$e4g{Ag>0nYoA zrS^Fv$q%$^JFZE>YBU;`%+(hy0VPB3>E_%1t37wdCJxuN#34qCHnBBW%>?d_Rbf8L z#hN&bSVz&deoGiY;jrw?@Cw-B^D9*ck1*e#!4rezDu|(d_oFE?%O}4WE8t;FOD0|3 z9UNSr?D&`)XH5R4PxTKvu1t)ZMm64b9{IH4?X_(qL%lX3?bDNLU)grHh5jsCspj4D z-Kz5TBwckXq}p~iMUfL`8H?bkqX!+h2dw}voZ`fOX5N7K$dPNrUqH7;d3(?y=Q56NpBbjj2kR2o5bmNFOeBVk z8M;oZ^vb1eul8QO7?OhQb(U@Mk|a7V#QHsLYQsD?!ks^5ksv~`7b!M+MDg;YXSgwJ zvU5uW?MNxprp9$V^M*xig_;d-dhh|^vGEe`VXHVH7B*N4>gLgtm1S1BD-YQbpKc|-??s?QE**bj9Ik531 zE>*jpdvzbnJwgF>SZ{!=5Xc8SCtKjQLT@(qr56rXUde*JtKa|OpM8D(niA2|5j~6$ z4R0QBY`=QZ9V9DCe1Dal{H2ykojlKURzIALQPBRbV|Gc}CXF#_(~P+?#SEee0!`F4 z+TAiFNssAECr&3wc4`K}YSxIYe#!h~l5zk#yRB=tW7>~==*rm2|Lmc`^R)#s+5eK) z*$F^_j#TiiAKVKW4t%w1i8TRtUS2U3RD0{e$wu#|f$6(Y-=m?bf%KMNVE)rSKRcw` z3dV=%cfUO6$8l7;?PaOuuo2J>mw))mN46Fy=xc*q{3-sXYhmN&Q_3H~URzF|%}DI@ zQ9s+Sv3@QiQjrgFL(x7_4TP@B8EYK(`cp(9ffOB=OSf!w4AfIN?@t4-D=|I90#@>A z&IFU4divKmEGPO)W|W@QR7XUxk>*GKE|;1uuz zYt#GVF6zOvgw=)z7x}=@F^`iCn4f!xJ~hIENGca3Q>C}59Yfh0f~#t_g`5Ls*StJx z2^KfS;6&Mt3Ul*mh`l=`GZ6$WBe!mhc#YiwVb@~64Lq4@UEd(7Ju;0A9FDMX@tq1N zDeIs?Gi2<(GDzLrvTmUH?+3AwoRjF%Ts6y_+y6%qJOn0kn zP=k1OoZP_>*L4S5HQzl#@qQ!1V*FQ4eeXgZaahA5wlWXa+Ud5}HgY=8L&vRjV+ zx`pyps_m;CF+AmNNWh8;#?Hk)XXRRBZNd@sYOPexY)8oP9XK(r@u(txf&B29e~`lK@hBQX1$qWKK2VxPG7^7+4r#_ zl<%*HlW1R(c2-==c2}IO_#BQk7vncp7ognep4hhF${4^!Xj!@QP2WF%MzHf!RK0J3 zauQmHJOAAp_r<@vNNfdR#|UKyVv1ny0%zAB5}>RUErd}5c(|N<22-Wk3#Zz|K=LEy{E#6)#!W z5U_b6Z=c$Wt!1+|)s+z3DGX2Tp{sXXM0ug8>P^qA>Aj|yhb?`7X^OdfTN2up@PA6X z_@jGmcB|+ZNtJ%nX~1Iu*7$6~DAFVtj)8n@Sk7WMmP5l=kX35QNpNrS83 zbvm#W&uzfp?(pC)Evrf&;LU!p*IRqp z5Ay#6UX(GJ3E2yP$w!7PAclw$i`^uL&R^uT(z6)3)Aqd%Yf|Pq;x7T!v$S?rOgXOL z)}ON~=L5CqayNUGlEJepC(QWIY>c2e-bRpR&!qrNPcQ#aElPocCn!6sKlCtrGwWry zR{zwq>sw|t*|%k(1lP3ywd*ge0EYeBe%M06MWb_`pPt9zzUWcjPDHYXxil^_Rr3qy zx`#Thg+5W--{0^~ak9+V$wXKO9=F)Nk>fKMXvgDD#;)3C}Sf>t#hk5 z#i*R;6gz5UO?`okR|YdbvI)Gae7lX+(}0-`b#;DpS-#8d-d+4%0VH|j>9d{AIRRPeBJMR_7h~O&#nt9-Y21C?TOhdsJoT_oP-YO-K*^t^fT$%ue=RRMX1Xg#A5m>!-#3LT9_g5D@s}>MJ=gQbXI~>ecgZ$9iKArkZqc&5{ z@fKysAM8`x0r%w2Sgoo?-Q|rpUz?{g_%xK*Fu1H z>9k%98zAI52GPF&c=xI*pdW6t>%2NRtUA)x`tboJZO5+|f&44|ixH8x#V9CU4;D9# zgOp;|t0|KKx!aXfa53Qm^c@2!eM)X|@-oq#-hT;-E@HSMjyl@KA4#3;hxg%G`c=-N z5hIl&?5#VvqkZvT0;adq!`%9(3<1czS^!QhlRD@tDB^-kuM1kY>gWPox*v#qX~}wp z*I*LL?L4#FDH>pzk4p9L3H1D3h-hd!w-=HE4i}ua69NaAR-Gj>z+hPY(T3^0dW;GG zQv*TFI1pTp_iQC1Lj5zCwrZj(BHPTXFRg%qg)<&8z6aUlBP2`_jAJE_o%vPx@*55akrjqO_m9LiH7MZR&P|6w2UDWSaiHij$(WzF?f4kSY{SrVbw$?e zUU-ll(p;b|YWl}3pJyP`!c0ozd$5O;A1QV@p)OZe5x=;J!i?&~6JT}#(CZRl`$~}> zj7m!J!-~7!RlO5v#+cph%*-7t9Wl1$>0nhqb$zQLrSaZLwUOy_?s}%hhY+vM{lsyA zbK9SjKcGqRDk58t*9DvHFkk#BV(#5G5zGOHcROayv3jGOR>+WcX+$ADg+U=aMZPRw z*`tumD6=ZFo22Lc#lx|CW&u2!lf>?nid0>pKTPAYWCStDwv~htdWCddrD|h+OYW^* z#X8E3{X=mLB{Si`L&euM6gOimr_g}C^Fb5#k`8wFU}ad!%D2gQ9<)esL3A_@EtD{8 zay8NZY15r<>Od~1OB}Fy1_D(mFwtUEUgUU$b~q|R?>~OE-A;d(Mwh2wcMljS2hpH3pTB7=EG-2C0YC%+~@Yg!x7_g1%ww*A|TY z0?ONzM5*`O8CXbxw)e;3=d$-H5&XWo3&cS69atf} zvLL8;s=wWHp`M+ZTB%KAjQo%%@n=D~Dhol+zyd7#D~;!;wHOh^RAac>UvGBe5xW6P zkGjm13K{2^;J}XO6vs8+gah??TNHJ;ikpqlBVMo*L^Dhku0GbE}@Q1=XcPi=atso9>@3q^vc z%b4BvF-Z)R{DjB8x|wEZWcUR#5GNIxWvO+eiRkl|ycoi6o@~j}=T{@foef=pyQSOD zA04VyE5W^phKKfp-Z4Aa4aXs6J4ecSsH?((ySca`#?(gLcpBC?%ZA)Y(GH{zYA+qU zBjt2*_etE_Y}#c;JQp1vd%3>-$(N>-Dz`;W^;j0E1I`n#2|B;%&9K^ka{luDyMd17 zyp2AWwq6_8H{6HDsl+4BysqbKiC4KCNoiaDe)DL5{Zn)Gvp0xit!2tyMPdI`54PzT zZ({{l8);|;3q??LKgw3CEndnYaU_SONOcNfVvX1&47{D>(^=WkiKHQQA`_9Jz#Vw4 z;vC&FDRJ5m`uBQ=J7qC{bv5HwOrL#T8#CR~9y8;hfio2@-o1kN0nz%uju*71&ZG*?ys$d+TqQGR>xa|uzxd|XNGnW@>gKQ zuT%T&g~O<~;G!E?exj0s@S{YP=r9wW#(bYh*LYZ6qgOps!ov(2{8>hhq8Axp+z0mT z`@89jBtW)82xdFX?BMtQyb5YJKn~>WBZ^55JSAK-(FwD^>R=50}^%=l` zn>UlS_B!Pl2A4Ko{+1CT!vivIA1TEj|4)Nx0?LbTBw+my?qBE*sl5252@{pOJIU@o3BKQ zSJeV`HOc>@TO{)bOlL`*qVW&K)>*Lh{bum}+DGgKj&~i(Z91gimAHIl?fr0*X<=8@ zgaVoc6`$Q}bSI*M?}N`jKz|rISgdU@vL?-5qxWg^GNQbVLeU)TQDfn70>@*;is>5{B z+1AA>GewEM&iOpp6=be{G{%>BIY%R4W4}&;NIclci0d)??8GeB&^I~Ps&Pn*n83YU zK)4>M*5Tal>2t(G+578F)YIRbz&rId(YTEbE~oM1Kgc*}OvL~4^7?Dd$j=zP3hJ>p z&uqQtCm>0!wmoEAeCx4Yga_Vet{19VB|8>_%*qieeg{hrD|nYmfd>&(UT)oqRWPOO z!IB|VTtl0@o#2+@F8FpbHPXkv+8%rb*}7Sn%cz#e(y*fJ@VBhn6Od3mTDOKg@}e7Y zaJeURcBiH>pi{t{z2H#=58)w;vLXy=_O(apYIogk#v|LS`N$k^rMP?`D_UNF?0_$53Lm~T``p7}!1vi!^`LEVNtW?beCWbC zrI)w%5dLd5E}LJ!xwTAGZ~k*XDauZq?LNA_jPo-nDi`B&pZ6&+tKiC_*@@m9i92%g zoXl2m`)`?r?gV|r1P-4*BWD>U9z&Fs5} z1#XYNQ;8VE3^sk~e!}FJD~3I|yg{HM>%whVOXz1dGMQAQU#9x`6IWKU-7(#7!rVF~ zt$jOyILGlrse>>zH$07AJ!IiiApy=44*B&ed#(t#e^@irstd{syvlx8la9{QeG(Hg z?u=%zE9b(z55t%B?4gx3AlLi6?0Prr2ryK>=DIjGnt7Vj<7sDtqxLfm?-&TG0K+s+ z&SHqjMby(gX$+<{3(^cB;x&VB95idN+5iqJ^!)=bZz~MkT^)DOH5LCad(wRHAxC+RZ|?{Szq2;u096?sG6>1mQTg*SZ6x z<=mBM%x^4@xk%^UK9;q!%?3@jlOZB+N$1;nSRIIomM85y1?8zMB}BXX!w#m`%}%^@+zHT3r{~uwMHLp{AN?Km zw~a_mraYC;j*%P*a`h$tXK(N!ms|X{S7iBJTV1c9_EtR8$g$bx3Yr;tYrET^(tWcNS}i=+PJu0(WRu z<()WoxFQkC-CutHwF*TzWchgPa(BD7`Z4>`vru#{u8srnRL} ze<14fq--kx`+zO$D;_4<(Hi6O18r2f$X&cW<9_GP5pmZZ&THP>_?4U9jI016^|cp*Y~emHVe;v|>9lLxY{^dR ziR`f4<9dL+=kk|}j+vE{ggoC&>od%{(>&C1ol{rc`=1rkjvl|%0`6zZ9qv~{3LtG7 zd>W}xX z;`UQlzo#lM{pUT89qX6`2)yjC&g;IIWO#^bYo%F4JOfGu%zK0(3|(J z<7LF-hn1^(HbUbx;H83kyCxCFodur%miBhnmd^cQ@SlA~CYLNW8I$g?bS+-z;kykb z^Y2KZyc`@p`lrsVC`^#J22Ov!g^=wB^nJLCwzJ{P*wM22pxuSdz5Kl)7b!i2m(b=@ zLFMSHbPZ6dAlcGp)>_{d{W37MMlOL8$8wwMw$%IUXXQ^btnKdy&lu7GU5ACqSpynJ z{T1s$0Y~@$S9{}IhOu_zBgvMj*D^B_%@x(2Nd-jr6VgJKH;;A#AC4|Q5}b*)eg$o$ z<@8w-a&po!oY#HzKMCqEs~ocx+6x}`2b>}^Jaypt6~7sgSQ^?Qnn z&UGid|M#T5FLF+uq9hGNZ)}yZ`m$={S7#chMT!$6{tzt$TK2 z|8uE{6FtpG=&kBr%L*_4bXw!ApC&gwE8|YZ_C&aU4wm+DguR_Q+LS&haq`lCpAi)? z@w+cPGqK2)bB7_&*BMeWPj!NfXoum)qT?hL`tOg&K2WlgSCzdY+!!awm7339&|KDqG{X_g?ah!CEfxo0OkuE@Qj@+AD zF1K&S?X6o!8V}TOoH{I(QTVf4tf=`&^1}Tm%55#mUX{`Q{nE8vjBnS=Qb|uTvQ}&5 zmm>DHMdBkQe`W({g%#Y71TXy`RbS1G!r@tg9-=SkT`WVh*n#(Bx1$a|p;>8JW|H2) zoe8=LWawi~r7h(cC0#qY!Ch%&<8vwe?ezXRNhI~9hPFY*oq8w#xjT=}JXOcfZTD?r zE}`OfKFTj0bvxi(WEp$nL-n}?-`e5+eC$CI_kS{Cv5ky9`^kCHm-@fHiGJ39wpk5k zuo7(Sa*Jx%Um<}i7z@1-6Qq-^oRtCK&)%VgXOX3p&z1^4+-L)goa=%W}Z=?wApn3)d{@y&bbxr+k!yVV3W5(zFNKdlw7oncD4}PltR4t}?-P%(1 zX5CRs^>~RTdWjtW+^(s{`Z%qcX7ptCiSrL`?JBEFQ~TvSf#L|B`@S+j_@Et|yGV)# zv|l>_94k<@go5*1*WO7L?SQWZMEovVR5M3ea*K4U6IZ9o!jwc^6i}^Yu0E2_?-6Co z%H_$+Kks)~btQ92Y$^ZtY8Ic(y#d&A&eKrvemk@;>z$=7Br>$JE5ceG&UP$hc5KIT z+keZ7xWJJ!9I@R641$fEPn8U~V&qTn3IqK)-DThuQK@EVsc2BL8jA{(pRHLaa7;bR zMl=M{CTg7f5;Zp#B?R0f85hD1X)OWMA5v_@nS?mOSS2G^`X$91xlIjxizcqQYU}_~ znaB_HouQ2dl9BB3 zGTGr!0X13du9cm;Lg>O5n&=qw@e)t~KDi<|7iyPRYX8}~p5QjZF{ zTBF#AtMPKLXEFN=MoY2h4AvDm%(h;3zv(?GrjikJ+iU4Hx5>?u>bnt}3u8*|2n)jc zkyg+L%gAJ|#T0?;5E}Ilj;2U-2Dz(&81R#mKU3EFDidtuvRosu-K+ajRfoMjf>KS) ziCl8sQw@5D2GW5cCh)<`wm^CcxWICYAXF!qis8AP8iK|-*hqc8y$=!Gee5<$RuLD8 z`1Pv7@g`M_up2NBBlA8oaZO_2

W>NwJ*P^)<5Mm)tz7E&0y4aIV%aC=@2oMflI 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 Lu52wkw*AVTJ4R;001mk2JbY=^ZB+b8gvS+)h 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 literal 0 HcmV?d00001 diff --git a/src/images/categories/dark/Community_Project.png b/src/images/categories/dark/Community_Project.png new file mode 100644 index 0000000000000000000000000000000000000000..ed3ab7db0721ef3513a88e82f4b003afde1f0909 GIT binary patch literal 38521 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 literal 0 HcmV?d00001 diff --git a/src/images/categories/dark/Example_Code.png b/src/images/categories/dark/Example_Code.png new file mode 100644 index 0000000000000000000000000000000000000000..892634289309ee6f9514fe4156e38cb0d40958d6 GIT binary patch literal 48425 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

This site is protected by reCAPTCHA and the Google diff --git a/src/pages/__tests__/__snapshots__/external-projects.spec.js.snap b/src/pages/__tests__/__snapshots__/external-projects.spec.js.snap index 7879f738b0..7545696f1f 100644 --- a/src/pages/__tests__/__snapshots__/external-projects.spec.js.snap +++ b/src/pages/__tests__/__snapshots__/external-projects.spec.js.snap @@ -146,8 +146,9 @@ exports[`External Projects Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -488,8 +489,9 @@ exports[`External Projects Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -592,8 +594,9 @@ exports[`External Projects Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -635,8 +638,9 @@ exports[`External Projects Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -1160,7 +1164,7 @@ exports[`External Projects Page Renders correctly 1`] = ` > - DCMA Policy + DMCA Policy

This site is protected by reCAPTCHA and the Google diff --git a/src/pages/__tests__/__snapshots__/index.spec.js.snap b/src/pages/__tests__/__snapshots__/index.spec.js.snap index ca82721a33..213c22ae8f 100644 --- a/src/pages/__tests__/__snapshots__/index.spec.js.snap +++ b/src/pages/__tests__/__snapshots__/index.spec.js.snap @@ -146,8 +146,9 @@ exports[`HomePage Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -488,8 +489,9 @@ exports[`HomePage Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -592,8 +594,9 @@ exports[`HomePage Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -635,8 +638,9 @@ exports[`HomePage Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -725,8 +729,9 @@ exports[`HomePage Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -1210,7 +1215,7 @@ exports[`HomePage Renders correctly 1`] = ` > - DCMA Policy + DMCA Policy

This site is protected by reCAPTCHA and the Google diff --git a/src/pages/__tests__/__snapshots__/oss-category.spec.js.snap b/src/pages/__tests__/__snapshots__/oss-category.spec.js.snap index 862dcfc812..db3533c3e3 100644 --- a/src/pages/__tests__/__snapshots__/oss-category.spec.js.snap +++ b/src/pages/__tests__/__snapshots__/oss-category.spec.js.snap @@ -146,8 +146,9 @@ exports[`OSS Category Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -488,8 +489,9 @@ exports[`OSS Category Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -592,8 +594,9 @@ exports[`OSS Category Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -635,8 +638,9 @@ exports[`OSS Category Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -1163,7 +1167,7 @@ exports[`OSS Category Page Renders correctly 1`] = ` > - DCMA Policy + DMCA Policy

This site is protected by reCAPTCHA and the Google diff --git a/src/templates/__tests__/__snapshots__/external-project-page.spec.js.snap b/src/templates/__tests__/__snapshots__/external-project-page.spec.js.snap index cba98a1ecd..910b42ef85 100644 --- a/src/templates/__tests__/__snapshots__/external-project-page.spec.js.snap +++ b/src/templates/__tests__/__snapshots__/external-project-page.spec.js.snap @@ -146,8 +146,9 @@ exports[`Adopt OpenJDK Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -488,8 +489,9 @@ exports[`Adopt OpenJDK Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -592,8 +594,9 @@ exports[`Adopt OpenJDK Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -635,8 +638,9 @@ exports[`Adopt OpenJDK Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -721,8 +725,9 @@ exports[`Adopt OpenJDK Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -756,8 +761,9 @@ exports[`Adopt OpenJDK Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -1236,7 +1242,7 @@ exports[`Adopt OpenJDK Renders correctly 1`] = ` > - DCMA Policy + DMCA Policy

This site is protected by reCAPTCHA and the Google @@ -1722,8 +1728,9 @@ exports[`Open Telemetry Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -2064,8 +2071,9 @@ exports[`Open Telemetry Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -2168,8 +2176,9 @@ exports[`Open Telemetry Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -2211,8 +2220,9 @@ exports[`Open Telemetry Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -2297,8 +2307,9 @@ exports[`Open Telemetry Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -2332,8 +2343,9 @@ exports[`Open Telemetry Page Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -2812,7 +2824,7 @@ exports[`Open Telemetry Page Renders correctly 1`] = ` > - DCMA Policy + DMCA Policy

This site is protected by reCAPTCHA and the Google @@ -3298,8 +3310,9 @@ exports[`W3C Distributed Tracing Working Group Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -3640,8 +3653,9 @@ exports[`W3C Distributed Tracing Working Group Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -3744,8 +3758,9 @@ exports[`W3C Distributed Tracing Working Group Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -3787,8 +3802,9 @@ exports[`W3C Distributed Tracing Working Group Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -3873,8 +3889,9 @@ exports[`W3C Distributed Tracing Working Group Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -3908,8 +3925,9 @@ exports[`W3C Distributed Tracing Working Group Renders correctly 1`] = ` line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -4393,7 +4411,7 @@ exports[`W3C Distributed Tracing Working Group Renders correctly 1`] = ` > - DCMA Policy + DMCA Policy

This site is protected by reCAPTCHA and the Google From d9863aefd5b4ee8f2be14eb1e5e0cb31e31b2e27 Mon Sep 17 00:00:00 2001 From: nr-opensource-bot Date: Tue, 28 Mar 2023 17:02:30 +0000 Subject: [PATCH 14/55] chore(release): 1.24.2 ## [1.24.2](https://github.com/newrelic/opensource-website/compare/v1.24.1...v1.24.2) (2023-03-28) ### Bug Fixes * Update test snapshots ([f205b6f](https://github.com/newrelic/opensource-website/commit/f205b6fecd201e9ae8ee2f133a34df9bac5438c0)) --- CHANGELOG.md | 7 +++++++ package.json | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c2f18a9e3..18d24cbc89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [1.24.2](https://github.com/newrelic/opensource-website/compare/v1.24.1...v1.24.2) (2023-03-28) + + +### Bug Fixes + +* Update test snapshots ([f205b6f](https://github.com/newrelic/opensource-website/commit/f205b6fecd201e9ae8ee2f133a34df9bac5438c0)) + ## [1.24.1](https://github.com/newrelic/opensource-website/compare/v1.24.0...v1.24.1) (2023-02-28) diff --git a/package.json b/package.json index ba7d873b20..6b84b8c1fc 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "opensource-website", "private": true, "description": "Data, code, and automation for opensource.newrelic.com", - "version": "1.24.1", + "version": "1.24.2", "author": "Open Source Team at New Relic ", "dependencies": { "@emotion/react": "^11.1.5", @@ -86,4 +86,4 @@ "bugs": { "url": "https://github.com/newrelic/opensource-website/issues" } -} \ No newline at end of file +} From 833021dfa2d689ef6c028f807584e4ef277bc789 Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Wed, 29 Mar 2023 10:34:33 -0700 Subject: [PATCH 15/55] chore: Upgrade packages --- package.json | 15 +- yarn.lock | 5644 +++++++++++++++++++++++++++----------------------- 2 files changed, 3063 insertions(+), 2596 deletions(-) diff --git a/package.json b/package.json index 6b84b8c1fc..f93512bd61 100644 --- a/package.json +++ b/package.json @@ -13,18 +13,19 @@ "@splitsoftware/splitio-react": "^1.2.4", "date-fns": "^2.17.0", "feather-icons": "^4.28.0", - "gatsby": "^3.8.0", + "gatsby": "^4.20.0", "gatsby-image": "^3.8.0", - "gatsby-plugin-gatsby-cloud": "^3.0.0", - "gatsby-plugin-manifest": "^3.8.0", + "gatsby-plugin-gatsby-cloud": "^4.20.0", + "gatsby-plugin-manifest": "^4.20.0", "gatsby-plugin-mdx": "^2.8.0", "gatsby-plugin-offline": "^4.8.0", "gatsby-plugin-sass": "^5.9.0", - "gatsby-plugin-sharp": "^3.8.0", + "gatsby-plugin-sharp": "^4.20.0", "gatsby-remark-copy-linked-files": "^4.5.0", "gatsby-remark-images": "^5.5.0", - "gatsby-source-filesystem": "^3.8.0", - "gatsby-transformer-json": "^3.8.0", + "gatsby-source-filesystem": "^4.20.0", + "gatsby-transformer-json": "^4.20.0", + "gatsby-transformer-sharp": "4.6.0", "js-cookie": "^2.2.1", "js-search": "^2.0.0", "lodash": "^4.17.21", @@ -86,4 +87,4 @@ "bugs": { "url": "https://github.com/newrelic/opensource-website/issues" } -} +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 632022df26..9dd070a9ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.1.0": +"@ampproject/remapping@^2.1.0", "@ampproject/remapping@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== @@ -10,19 +10,28 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@ardatan/aggregate-error@0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/@ardatan/aggregate-error/-/aggregate-error-0.0.6.tgz#fe6924771ea40fc98dc7a7045c2e872dc8527609" - integrity sha512-vyrkEHG1jrukmzTPtyWB4NLPauUw5bQeg4uhn8f+1SSynmrOcyvlb1GKQjjgoBzElLdfXCRYX8UnBlhklOHYRQ== - dependencies: - tslib "~2.0.1" - -"@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== +"@ardatan/relay-compiler@12.0.0": + version "12.0.0" + resolved "https://registry.yarnpkg.com/@ardatan/relay-compiler/-/relay-compiler-12.0.0.tgz#2e4cca43088e807adc63450e8cab037020e91106" + integrity sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q== dependencies: - "@babel/highlight" "^7.10.4" + "@babel/core" "^7.14.0" + "@babel/generator" "^7.14.0" + "@babel/parser" "^7.14.0" + "@babel/runtime" "^7.0.0" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.0.0" + babel-preset-fbjs "^3.4.0" + chalk "^4.0.0" + fb-watchman "^2.0.0" + fbjs "^3.0.0" + glob "^7.1.1" + immutable "~3.7.6" + invariant "^2.2.4" + nullthrows "^1.1.1" + relay-runtime "12.0.0" + signedsource "^1.0.0" + yargs "^15.3.1" "@babel/code-frame@7.12.11": version "7.12.11" @@ -31,39 +40,29 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.14.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.5.5": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.14.0", "@babel/code-frame@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== dependencies: "@babel/highlight" "^7.16.7" +"@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== -"@babel/core@7.10.5": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.5.tgz#1f15e2cca8ad9a1d78a38ddba612f5e7cdbbd330" - integrity sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.10.5" - "@babel/helper-module-transforms" "^7.10.5" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.10.5" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.5" - "@babel/types" "^7.10.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" +"@babel/compat-data@^7.20.5": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" + integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== "@babel/core@7.12.9": version "7.12.9" @@ -108,6 +107,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@^7.14.0": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.3.tgz#cf1c877284a469da5d1ce1d1e53665253fae712e" + integrity sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.21.3" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.21.2" + "@babel/helpers" "^7.21.0" + "@babel/parser" "^7.21.3" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.3" + "@babel/types" "^7.21.3" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + "@babel/eslint-parser@^7.15.4": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz#eabb24ad9f0afa80e5849f8240d0e5facc2d90d6" @@ -117,7 +137,7 @@ eslint-visitor-keys "^2.1.0" semver "^6.3.0" -"@babel/generator@^7.10.5", "@babel/generator@^7.12.5", "@babel/generator@^7.15.4", "@babel/generator@^7.17.10": +"@babel/generator@^7.12.5", "@babel/generator@^7.15.4", "@babel/generator@^7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg== @@ -126,6 +146,16 @@ "@jridgewell/gen-mapping" "^0.1.0" jsesc "^2.5.1" +"@babel/generator@^7.14.0", "@babel/generator@^7.16.8", "@babel/generator@^7.21.3": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.3.tgz#232359d0874b392df04045d72ce2fd9bb5045fce" + integrity sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA== + dependencies: + "@babel/types" "^7.21.3" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -133,6 +163,13 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" @@ -151,6 +188,17 @@ browserslist "^4.20.2" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz#71835d7fb9f38bd9f1378e40a4c0902fdc2ea49d" @@ -164,6 +212,20 @@ "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz#64f49ecb0020532f19b1d014b03bccaa1ab85fb9" + integrity sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-member-expression-to-functions" "^7.21.0" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.0": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" @@ -193,6 +255,11 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + "@babel/helper-explode-assignable-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" @@ -208,6 +275,14 @@ "@babel/template" "^7.16.7" "@babel/types" "^7.17.0" +"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" + integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== + dependencies: + "@babel/template" "^7.20.7" + "@babel/types" "^7.21.0" + "@babel/helper-hoist-variables@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" @@ -215,6 +290,13 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-member-expression-to-functions@^7.16.7", "@babel/helper-member-expression-to-functions@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" @@ -222,6 +304,13 @@ dependencies: "@babel/types" "^7.17.0" +"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5" + integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q== + dependencies: + "@babel/types" "^7.21.0" + "@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" @@ -229,7 +318,14 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7": +"@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== @@ -243,6 +339,20 @@ "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" +"@babel/helper-module-transforms@^7.21.2": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" + integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.2" + "@babel/types" "^7.21.2" + "@babel/helper-optimise-call-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" @@ -250,6 +360,13 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-optimise-call-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== + dependencies: + "@babel/types" "^7.18.6" + "@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" @@ -260,6 +377,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== +"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + "@babel/helper-remap-async-to-generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" @@ -280,6 +402,18 @@ "@babel/traverse" "^7.16.7" "@babel/types" "^7.16.7" +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" + integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + "@babel/helper-simple-access@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" @@ -287,6 +421,13 @@ dependencies: "@babel/types" "^7.17.0" +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" @@ -294,6 +435,13 @@ dependencies: "@babel/types" "^7.16.0" +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" + integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== + dependencies: + "@babel/types" "^7.20.0" + "@babel/helper-split-export-declaration@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" @@ -301,16 +449,38 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + "@babel/helper-validator-identifier@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + "@babel/helper-validator-option@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== +"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" + integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== + "@babel/helper-wrap-function@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" @@ -321,7 +491,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.10.4", "@babel/helpers@^7.12.5", "@babel/helpers@^7.17.9": +"@babel/helpers@^7.12.5", "@babel/helpers@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== @@ -330,6 +500,15 @@ "@babel/traverse" "^7.17.9" "@babel/types" "^7.17.0" +"@babel/helpers@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" + integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.0" + "@babel/types" "^7.21.0" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" @@ -339,11 +518,25 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.10.5", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.15.5", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10", "@babel/parser@^7.7.0": +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.15.5", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10", "@babel/parser@^7.7.0": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78" integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ== +"@babel/parser@^7.14.0", "@babel/parser@^7.16.8", "@babel/parser@^7.20.7", "@babel/parser@^7.21.3": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.3.tgz#1d285d67a19162ff9daa358d4cb41d50c06220b3" + integrity sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -369,6 +562,14 @@ "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" +"@babel/plugin-proposal-class-properties@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-proposal-class-properties@^7.10.1", "@babel/plugin-proposal-class-properties@^7.14.0", "@babel/plugin-proposal-class-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" @@ -434,15 +635,6 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz#50129ac216b9a6a55b3853fdd923e74bf553a4c0" - integrity sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.10.4" - "@babel/plugin-proposal-object-rest-spread@7.12.1": 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" @@ -452,6 +644,17 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.12.1" +"@babel/plugin-proposal-object-rest-spread@^7.0.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.20.7" + "@babel/plugin-proposal-object-rest-spread@^7.14.7", "@babel/plugin-proposal-object-rest-spread@^7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" @@ -520,7 +723,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== @@ -548,6 +751,20 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz#774d825256f2379d06139be0c723c4dd444f3ca1" + integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-import-assertions@7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" + integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" @@ -562,13 +779,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c" - integrity sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@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" @@ -576,6 +786,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.16.7", "@babel/plugin-syntax-jsx@^7.2.0": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" @@ -604,7 +821,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -646,6 +863,20 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-syntax-typescript@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" + integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/plugin-transform-arrow-functions@^7.0.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" + integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-transform-arrow-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" @@ -662,6 +893,13 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-remap-async-to-generator" "^7.16.8" +"@babel/plugin-transform-block-scoped-functions@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" @@ -669,6 +907,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-block-scoping@^7.0.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz#e737b91037e5186ee16b76e7ae093358a5634f02" + integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-transform-block-scoping@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" @@ -676,6 +921,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-classes@^7.0.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz#f469d0b07a4c5a7dbb21afad9e27e57b47031665" + integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-split-export-declaration" "^7.18.6" + globals "^11.1.0" + "@babel/plugin-transform-classes@^7.15.4", "@babel/plugin-transform-classes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" @@ -690,6 +950,14 @@ "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" +"@babel/plugin-transform-computed-properties@^7.0.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" + integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/template" "^7.20.7" + "@babel/plugin-transform-computed-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" @@ -697,6 +965,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-destructuring@^7.0.0": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz#73b46d0fd11cd6ef57dea8a381b1215f4959d401" + integrity sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-transform-destructuring@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" @@ -727,6 +1002,21 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-flow-strip-types@^7.0.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz#6aeca0adcb81dc627c8986e770bfaa4d9812aff5" + integrity sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-flow" "^7.18.6" + +"@babel/plugin-transform-for-of@^7.0.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz#964108c9988de1a60b4be2354a7d7e245f36e86e" + integrity sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-transform-for-of@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" @@ -734,6 +1024,15 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-function-name@^7.0.0": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== + dependencies: + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-function-name@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" @@ -743,6 +1042,13 @@ "@babel/helper-function-name" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-literals@^7.0.0": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" @@ -750,6 +1056,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-member-expression-literals@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-member-expression-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" @@ -766,6 +1079,15 @@ "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-commonjs@^7.0.0": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7" + integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA== + dependencies: + "@babel/helper-module-transforms" "^7.21.2" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-simple-access" "^7.20.2" + "@babel/plugin-transform-modules-commonjs@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz#274be1a2087beec0254d4abd4d86e52442e1e5b6" @@ -809,6 +1131,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-object-super@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" + "@babel/plugin-transform-object-super@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" @@ -817,13 +1147,27 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" -"@babel/plugin-transform-parameters@^7.10.4", "@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.16.7": +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz#18fc4e797cf6d6d972cb8c411dbe8a809fa157db" + integrity sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-property-literals@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-property-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" @@ -831,6 +1175,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-react-display-name@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415" + integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-react-display-name@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340" @@ -845,7 +1196,18 @@ dependencies: "@babel/plugin-transform-react-jsx" "^7.16.7" -"@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.14.9", "@babel/plugin-transform-react-jsx@^7.16.7": +"@babel/plugin-transform-react-jsx@^7.0.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.0.tgz#656b42c2fdea0a6d8762075d58ef9d4e3c4ab8a2" + integrity sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-jsx" "^7.18.6" + "@babel/types" "^7.21.0" + +"@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.16.7": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz#eac1565da176ccb1a715dae0b4609858808008c1" integrity sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ== @@ -890,6 +1252,13 @@ babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" +"@babel/plugin-transform-shorthand-properties@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-shorthand-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" @@ -897,6 +1266,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-spread@^7.0.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" + integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-transform-spread@^7.10.1", "@babel/plugin-transform-spread@^7.14.6", "@babel/plugin-transform-spread@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" @@ -912,6 +1289,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-template-literals@^7.0.0": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-template-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" @@ -935,6 +1319,16 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-typescript" "^7.16.7" +"@babel/plugin-transform-typescript@^7.21.0": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz#316c5be579856ea890a57ebc5116c5d064658f2b" + integrity sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-typescript" "^7.20.0" + "@babel/plugin-transform-unicode-escapes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" @@ -1062,6 +1456,15 @@ "@babel/helper-validator-option" "^7.16.7" "@babel/plugin-transform-typescript" "^7.16.7" +"@babel/preset-typescript@^7.16.7": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.0.tgz#bcbbca513e8213691fe5d4b23d9251e01f00ebff" + integrity sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-option" "^7.21.0" + "@babel/plugin-transform-typescript" "^7.21.0" + "@babel/runtime-corejs3@^7.10.2": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.17.9.tgz#3d02d0161f0fbf3ada8e88159375af97690f4055" @@ -1070,19 +1473,21 @@ core-js-pure "^3.20.2" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.5", "@babel/runtime@^7.14.6", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.16.7", "@babel/runtime@^7.17.8", "@babel/runtime@^7.3.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.5", "@babel/runtime@^7.14.6", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.7", "@babel/runtime@^7.17.8", "@babel/runtime@^7.3.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== dependencies: regenerator-runtime "^0.13.4" -"@babel/standalone@^7.15.5": - version "7.17.11" - resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.17.11.tgz#9cc17674da762332b2e40d469ce37725a6136487" - integrity sha512-47wVYBeTktYHwtzlFuK7qqV/H5X6mU4MUNqpQ9iiJOqnP8rWL0eX0GWLKRsv8D8suYzhuS1K/dtwgGr+26U7Gg== +"@babel/runtime@^7.18.0", "@babel/runtime@^7.20.7": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" + integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== + dependencies: + regenerator-runtime "^0.13.11" -"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.15.4", "@babel/template@^7.16.7", "@babel/template@^7.3.3": +"@babel/template@^7.12.7", "@babel/template@^7.16.7", "@babel/template@^7.3.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== @@ -1091,7 +1496,16 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.5", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9", "@babel/traverse@^7.7.0": +"@babel/template@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9", "@babel/traverse@^7.7.0": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5" integrity sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw== @@ -1107,7 +1521,23 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.5", "@babel/types@^7.12.7", "@babel/types@^7.15.4", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": +"@babel/traverse@^7.14.0", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.3.tgz#4747c5e7903d224be71f90788b06798331896f67" + integrity sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.21.3" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.21.3" + "@babel/types" "^7.21.3" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.12.7", "@babel/types@^7.15.4", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4" integrity sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A== @@ -1115,11 +1545,25 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" +"@babel/types@^7.18.6", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.3": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.3.tgz#4865a5357ce40f64e3400b0f3b737dc6d4f64d05" + integrity sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@builder.io/partytown@^0.5.2": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@builder.io/partytown/-/partytown-0.5.4.tgz#1a89069978734e132fa4a59414ddb64e4b94fde7" + integrity sha512-qnikpQgi30AS01aFlNQV6l8/qdZIcP76mp90ti+u4rucXHsn4afSKivQXApqxvrQG9+Ibv45STyvHizvxef/7A== + "@cnakazawa/watch@^1.0.3": version "1.0.4" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" @@ -1246,16 +1690,6 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@endemolshinegroup/cosmiconfig-typescript-loader@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz#eea4635828dde372838b0909693ebd9aafeec22d" - integrity sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA== - dependencies: - lodash.get "^4" - make-error "^1" - ts-node "^9" - tslib "^2" - "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" @@ -1271,10 +1705,20 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@gatsbyjs/reach-router@^1.3.6": - version "1.3.7" - resolved "https://registry.yarnpkg.com/@gatsbyjs/reach-router/-/reach-router-1.3.7.tgz#d32029f2b4d91bb6977e7fd605237e3a5db20096" - integrity sha512-KQ5FvMb4BZUlSo+yQgd4t4WB8vkVPWfKjTpSl+Bx/FZhU6OL4lpwgfX7fXAY/18DogqyJCFiNAjV5eo3rQ5Alw== +"@gatsbyjs/parcel-namer-relative-to-cwd@^1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@gatsbyjs/parcel-namer-relative-to-cwd/-/parcel-namer-relative-to-cwd-1.10.0.tgz#4768957e2bd343ade1c8dfeb27bff2849ab46564" + integrity sha512-JSiOxG2SD64joKfcCOdujIpqmhs+k5Ic1sO/hQ83EVF6G9DJJTf8n12rGb2rzPb00TFT4ldb/nWxQRV+kQTlPA== + dependencies: + "@babel/runtime" "^7.18.0" + "@parcel/namer-default" "2.6.2" + "@parcel/plugin" "2.6.2" + gatsby-core-utils "^3.25.0" + +"@gatsbyjs/reach-router@^1.3.9": + version "1.3.9" + resolved "https://registry.yarnpkg.com/@gatsbyjs/reach-router/-/reach-router-1.3.9.tgz#305c3c4c5041f27e53fc33e344a08ee2c4b985af" + integrity sha512-/354IaUSM54xb7K/TxpLBJB94iEAJ3P82JD38T8bLnIDWF+uw8+W/82DKnQ7y24FJcKxtVmG43aiDLG88KSuYQ== dependencies: invariant "^2.2.3" prop-types "^15.6.1" @@ -1289,173 +1733,181 @@ html-entities "^2.3.3" strip-ansi "^6.0.0" -"@graphql-tools/batch-execute@^7.1.2": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-7.1.2.tgz#35ba09a1e0f80f34f1ce111d23c40f039d4403a0" - integrity sha512-IuR2SB2MnC2ztA/XeTMTfWcA0Wy7ZH5u+nDkDNLAdX+AaSyDnsQS35sCmHqG0VOGTl7rzoyBWLCKGwSJplgtwg== - dependencies: - "@graphql-tools/utils" "^7.7.0" - dataloader "2.0.0" - tslib "~2.2.0" - value-or-promise "1.0.6" - -"@graphql-tools/delegate@^7.0.1", "@graphql-tools/delegate@^7.1.5": - version "7.1.5" - resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-7.1.5.tgz#0b027819b7047eff29bacbd5032e34a3d64bd093" - integrity sha512-bQu+hDd37e+FZ0CQGEEczmRSfQRnnXeUxI/0miDV+NV/zCbEdIJj5tYFNrKT03W6wgdqx8U06d8L23LxvGri/g== - dependencies: - "@ardatan/aggregate-error" "0.0.6" - "@graphql-tools/batch-execute" "^7.1.2" - "@graphql-tools/schema" "^7.1.5" - "@graphql-tools/utils" "^7.7.1" - dataloader "2.0.0" - tslib "~2.2.0" - value-or-promise "1.0.6" - -"@graphql-tools/graphql-file-loader@^6.0.0": - version "6.2.7" - resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-6.2.7.tgz#d3720f2c4f4bb90eb2a03a7869a780c61945e143" - integrity sha512-5k2SNz0W87tDcymhEMZMkd6/vs6QawDyjQXWtqkuLTBF3vxjxPD1I4dwHoxgWPIjjANhXybvulD7E+St/7s9TQ== - dependencies: - "@graphql-tools/import" "^6.2.6" - "@graphql-tools/utils" "^7.0.0" - tslib "~2.1.0" - -"@graphql-tools/import@^6.2.6": - version "6.6.14" - resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.6.14.tgz#d5bcbc23abc1563346081155afec003f4eb8e47b" - integrity sha512-XN6swtMdUxd9czmdNIK6yJ0w5t4FOUWSoSkYP0+to8j44r8zdM3nsAppoA0OLmsUY+JnTBgkW3jGlOFvqC3HWg== - dependencies: - "@graphql-tools/utils" "8.6.10" - resolve-from "5.0.0" +"@graphql-codegen/add@^3.1.1": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@graphql-codegen/add/-/add-3.2.3.tgz#f1ecee085987e7c21841edc4b1fd48877c663e1a" + integrity sha512-sQOnWpMko4JLeykwyjFTxnhqjd/3NOG2OyMuvK76Wnnwh8DRrNf2VEs2kmSvLl7MndMlOj7Kh5U154dVcvhmKQ== + dependencies: + "@graphql-codegen/plugin-helpers" "^3.1.1" tslib "~2.4.0" -"@graphql-tools/json-file-loader@^6.0.0": - version "6.2.6" - resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-6.2.6.tgz#830482cfd3721a0799cbf2fe5b09959d9332739a" - integrity sha512-CnfwBSY5926zyb6fkDBHnlTblHnHI4hoBALFYXnrg0Ev4yWU8B04DZl/pBRUc459VNgO2x8/mxGIZj2hPJG1EA== +"@graphql-codegen/core@^2.5.1": + version "2.6.8" + resolved "https://registry.yarnpkg.com/@graphql-codegen/core/-/core-2.6.8.tgz#00c4011e3619ddbc6af5e41b2f254d6f6759556e" + integrity sha512-JKllNIipPrheRgl+/Hm/xuWMw9++xNQ12XJR/OHHgFopOg4zmN3TdlRSyYcv/K90hCFkkIwhlHFUQTfKrm8rxQ== dependencies: - "@graphql-tools/utils" "^7.0.0" - tslib "~2.0.1" + "@graphql-codegen/plugin-helpers" "^3.1.1" + "@graphql-tools/schema" "^9.0.0" + "@graphql-tools/utils" "^9.1.1" + tslib "~2.4.0" -"@graphql-tools/load@^6.0.0": - version "6.2.8" - resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-6.2.8.tgz#16900fb6e75e1d075cad8f7ea439b334feb0b96a" - integrity sha512-JpbyXOXd8fJXdBh2ta0Q4w8ia6uK5FHzrTNmcvYBvflFuWly2LDTk2abbSl81zKkzswQMEd2UIYghXELRg8eTA== +"@graphql-codegen/plugin-helpers@^2.4.2": + version "2.7.2" + resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.7.2.tgz#6544f739d725441c826a8af6a49519f588ff9bed" + integrity sha512-kln2AZ12uii6U59OQXdjLk5nOlh1pHis1R98cDZGFnfaiAbX9V3fxcZ1MMJkB7qFUymTALzyjZoXXdyVmPMfRg== dependencies: - "@graphql-tools/merge" "^6.2.12" - "@graphql-tools/utils" "^7.5.0" - globby "11.0.3" - import-from "3.0.0" - is-glob "4.0.1" - p-limit "3.1.0" - tslib "~2.2.0" - unixify "1.0.0" - valid-url "1.0.9" + "@graphql-tools/utils" "^8.8.0" + change-case-all "1.0.14" + common-tags "1.8.2" + import-from "4.0.0" + lodash "~4.17.0" + tslib "~2.4.0" -"@graphql-tools/merge@6.0.0 - 6.2.14": - version "6.2.14" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-6.2.14.tgz#694e2a2785ba47558e5665687feddd2935e9d94e" - integrity sha512-RWT4Td0ROJai2eR66NHejgf8UwnXJqZxXgDWDI+7hua5vNA2OW8Mf9K1Wav1ZkjWnuRp4ztNtkZGie5ISw55ow== +"@graphql-codegen/plugin-helpers@^3.1.1", "@graphql-codegen/plugin-helpers@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-3.1.2.tgz#69a2e91178f478ea6849846ade0a59a844d34389" + integrity sha512-emOQiHyIliVOIjKVKdsI5MXj312zmRDwmHpyUTZMjfpvxq/UVAHUJIVdVf+lnjjrI+LXBTgMlTWTgHQfmICxjg== + dependencies: + "@graphql-tools/utils" "^9.0.0" + change-case-all "1.0.15" + common-tags "1.8.2" + import-from "4.0.0" + lodash "~4.17.0" + tslib "~2.4.0" + +"@graphql-codegen/schema-ast@^2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/schema-ast/-/schema-ast-2.6.1.tgz#8ba1b38827c034b51ecd3ce88622c2ae6cd3fe1a" + integrity sha512-5TNW3b1IHJjCh07D2yQNGDQzUpUl2AD+GVe1Dzjqyx/d2Fn0TPMxLsHsKPS4Plg4saO8FK/QO70wLsP7fdbQ1w== dependencies: - "@graphql-tools/schema" "^7.0.0" - "@graphql-tools/utils" "^7.7.0" - tslib "~2.2.0" + "@graphql-codegen/plugin-helpers" "^3.1.2" + "@graphql-tools/utils" "^9.0.0" + tslib "~2.4.0" -"@graphql-tools/merge@8.2.11": - version "8.2.11" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.2.11.tgz#0cdc6c9feb32e3392bf0c633881a78ccc1d24368" - integrity sha512-fsjJVdsk9GV1jj1Ed2AKLlHYlsf0ZadTK8X5KxFRE1ZSnKqh56BLVX93JrtOIAnsiHkwOK2TC43HGhApF1swpQ== +"@graphql-codegen/typescript-operations@^2.3.5": + version "2.5.13" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-2.5.13.tgz#f286c37f9c023356aacaa983ebd32e9e021a05ca" + integrity sha512-3vfR6Rx6iZU0JRt29GBkFlrSNTM6t+MSLF86ChvL4d/Jfo/JYAGuB3zNzPhirHYzJPCvLOAx2gy9ID1ltrpYiw== dependencies: - "@graphql-tools/utils" "8.6.10" + "@graphql-codegen/plugin-helpers" "^3.1.2" + "@graphql-codegen/typescript" "^2.8.8" + "@graphql-codegen/visitor-plugin-common" "2.13.8" + auto-bind "~4.0.0" tslib "~2.4.0" -"@graphql-tools/merge@^6.2.12": - version "6.2.17" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-6.2.17.tgz#4dedf87d8435a5e1091d7cc8d4f371ed1e029f1f" - integrity sha512-G5YrOew39fZf16VIrc49q3c8dBqQDD0ax5LYPiNja00xsXDi0T9zsEWVt06ApjtSdSF6HDddlu5S12QjeN8Tow== +"@graphql-codegen/typescript@^2.4.8", "@graphql-codegen/typescript@^2.8.8": + version "2.8.8" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-2.8.8.tgz#8c3b9153e334db43c65f8f31ced69b4c60d14861" + integrity sha512-A0oUi3Oy6+DormOlrTC4orxT9OBZkIglhbJBcDmk34jAKKUgesukXRd4yOhmTrnbchpXz2T8IAOFB3FWIaK4Rw== dependencies: - "@graphql-tools/schema" "^8.0.2" - "@graphql-tools/utils" "8.0.2" - tslib "~2.3.0" + "@graphql-codegen/plugin-helpers" "^3.1.2" + "@graphql-codegen/schema-ast" "^2.6.1" + "@graphql-codegen/visitor-plugin-common" "2.13.8" + auto-bind "~4.0.0" + tslib "~2.4.0" + +"@graphql-codegen/visitor-plugin-common@2.13.8": + version "2.13.8" + resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.13.8.tgz#09bc6317b227e5a278f394f4cef0d6c2d1910597" + integrity sha512-IQWu99YV4wt8hGxIbBQPtqRuaWZhkQRG2IZKbMoSvh0vGeWb3dB0n0hSgKaOOxDY+tljtOf9MTcUYvJslQucMQ== + dependencies: + "@graphql-codegen/plugin-helpers" "^3.1.2" + "@graphql-tools/optimize" "^1.3.0" + "@graphql-tools/relay-operation-optimizer" "^6.5.0" + "@graphql-tools/utils" "^9.0.0" + auto-bind "~4.0.0" + change-case-all "1.0.15" + dependency-graph "^0.11.0" + graphql-tag "^2.11.0" + parse-filepath "^1.0.2" + tslib "~2.4.0" -"@graphql-tools/schema@^7.0.0", "@graphql-tools/schema@^7.1.5": - version "7.1.5" - resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-7.1.5.tgz#07b24e52b182e736a6b77c829fc48b84d89aa711" - integrity sha512-uyn3HSNSckf4mvQSq0Q07CPaVZMNFCYEVxroApOaw802m9DcZPgf9XVPy/gda5GWj9AhbijfRYVTZQgHnJ4CXA== +"@graphql-tools/code-file-loader@^7.2.14": + version "7.3.21" + resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-7.3.21.tgz#3eed4ff4610cf0a6f4b1be17d0bce1eec9359479" + integrity sha512-dj+OLnz1b8SYkXcuiy0CUQ25DWnOEyandDlOcdBqU3WVwh5EEVbn0oXUYm90fDlq2/uut00OrtC5Wpyhi3tAvA== dependencies: - "@graphql-tools/utils" "^7.1.2" - tslib "~2.2.0" - value-or-promise "1.0.6" + "@graphql-tools/graphql-tag-pluck" "7.5.0" + "@graphql-tools/utils" "9.2.1" + globby "^11.0.3" + tslib "^2.4.0" + unixify "^1.0.0" -"@graphql-tools/schema@^8.0.2": - version "8.3.11" - resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.3.11.tgz#c0606b301852820a46042ebb888fd09cc402518a" - integrity sha512-esMEnbyXbp8B5VEI4o395+x0G7Qmz3JSX5onFBF8HeLYcqWJasY5vBuWkO18VxrZpEnvnryodP6Y00bVag9O3Q== +"@graphql-tools/graphql-tag-pluck@7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.5.0.tgz#be99bc6b5e8331a2379ab4585d71b057eb981497" + integrity sha512-76SYzhSlH50ZWkhWH6OI94qrxa8Ww1ZeOU04MdtpSeQZVT2rjGWeTb3xM3kjTVWQJsr/YJBhDeNPGlwNUWfX4Q== dependencies: - "@graphql-tools/merge" "8.2.11" - "@graphql-tools/utils" "8.6.10" - tslib "~2.4.0" - value-or-promise "1.0.11" - -"@graphql-tools/url-loader@^6.0.0": - version "6.10.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-6.10.1.tgz#dc741e4299e0e7ddf435eba50a1f713b3e763b33" - integrity sha512-DSDrbhQIv7fheQ60pfDpGD256ixUQIR6Hhf9Z5bRjVkXOCvO5XrkwoWLiU7iHL81GB1r0Ba31bf+sl+D4nyyfw== - dependencies: - "@graphql-tools/delegate" "^7.0.1" - "@graphql-tools/utils" "^7.9.0" - "@graphql-tools/wrap" "^7.0.4" - "@microsoft/fetch-event-source" "2.0.1" - "@types/websocket" "1.0.2" - abort-controller "3.0.0" - cross-fetch "3.1.4" - extract-files "9.0.0" - form-data "4.0.0" - graphql-ws "^4.4.1" - is-promise "4.0.0" - isomorphic-ws "4.0.1" - lodash "4.17.21" - meros "1.1.4" - subscriptions-transport-ws "^0.9.18" - sync-fetch "0.3.0" - tslib "~2.2.0" - valid-url "1.0.9" - ws "7.4.5" - -"@graphql-tools/utils@8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.0.2.tgz#795a8383cdfdc89855707d62491c576f439f3c51" - integrity sha512-gzkavMOgbhnwkHJYg32Adv6f+LxjbQmmbdD5Hty0+CWxvaiuJq+nU6tzb/7VSU4cwhbNLx/lGu2jbCPEW1McZQ== + "@babel/parser" "^7.16.8" + "@babel/plugin-syntax-import-assertions" "7.20.0" + "@babel/traverse" "^7.16.8" + "@babel/types" "^7.16.8" + "@graphql-tools/utils" "9.2.1" + tslib "^2.4.0" + +"@graphql-tools/load@^7.5.10": + version "7.8.13" + resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.8.13.tgz#a813bfc8195d27f465739c15fb1672a6def6e9ee" + integrity sha512-c97/GuUl81Wpa38cx3E6nMz8gUrvVcFokoPfDOaA5uTWSTXA1UxaF4KrvM9P5rNFaKVAtF9f6nMIusRE5B0mag== dependencies: - tslib "~2.3.0" + "@graphql-tools/schema" "9.0.17" + "@graphql-tools/utils" "9.2.1" + p-limit "3.1.0" + tslib "^2.4.0" -"@graphql-tools/utils@8.6.10": - version "8.6.10" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.6.10.tgz#38e42a97a74ffcf5a21e816401e2ca1647194f6a" - integrity sha512-bJH9qwuyM3BP0PTU6/lvBDkk6jdEIOn+dbyk4pHMVNnvbJ1gZQwo62To8SHxxaUTus8OMhhVPSh9ApWXREURcg== +"@graphql-tools/merge@8.4.0": + version "8.4.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.4.0.tgz#47fbe5c4b6764276dc35bd19c4e7d3c46d3dc0fc" + integrity sha512-3XYCWe0d3I4F1azNj1CdShlbHfTIfiDgj00R9uvFH8tHKh7i1IWN3F7QQYovcHKhayaR6zPok3YYMESYQcBoaA== dependencies: - tslib "~2.4.0" + "@graphql-tools/utils" "9.2.1" + tslib "^2.4.0" -"@graphql-tools/utils@^7.0.0", "@graphql-tools/utils@^7.0.2", "@graphql-tools/utils@^7.1.2", "@graphql-tools/utils@^7.5.0", "@graphql-tools/utils@^7.7.0", "@graphql-tools/utils@^7.7.1", "@graphql-tools/utils@^7.8.1", "@graphql-tools/utils@^7.9.0": - version "7.10.0" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-7.10.0.tgz#07a4cb5d1bec1ff1dc1d47a935919ee6abd38699" - integrity sha512-d334r6bo9mxdSqZW6zWboEnnOOFRrAPVQJ7LkU8/6grglrbcu6WhwCLzHb90E94JI3TD3ricC3YGbUqIi9Xg0w== +"@graphql-tools/optimize@^1.3.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/optimize/-/optimize-1.3.1.tgz#29407991478dbbedc3e7deb8c44f46acb4e9278b" + integrity sha512-5j5CZSRGWVobt4bgRRg7zhjPiSimk+/zIuColih8E8DxuFOaJ+t0qu7eZS5KXWBkjcd4BPNuhUPpNlEmHPqVRQ== + dependencies: + tslib "^2.4.0" + +"@graphql-tools/relay-operation-optimizer@^6.5.0": + version "6.5.17" + resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.5.17.tgz#4e4e2675d696a2a31f106b09ed436c43f7976f37" + integrity sha512-hHPEX6ccRF3+9kfVz0A3In//Dej7QrHOLGZEokBmPDMDqn9CS7qUjpjyGzclbOX0tRBtLfuFUZ68ABSac3P1nA== + dependencies: + "@ardatan/relay-compiler" "12.0.0" + "@graphql-tools/utils" "9.2.1" + tslib "^2.4.0" + +"@graphql-tools/schema@9.0.17", "@graphql-tools/schema@^9.0.0": + version "9.0.17" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.17.tgz#d731e9899465f88d5b9bf69e607ec465bb88b062" + integrity sha512-HVLq0ecbkuXhJlpZ50IHP5nlISqH2GbNgjBJhhRzHeXhfwlUOT4ISXGquWTmuq61K0xSaO0aCjMpxe4QYbKTng== + dependencies: + "@graphql-tools/merge" "8.4.0" + "@graphql-tools/utils" "9.2.1" + tslib "^2.4.0" + value-or-promise "1.0.12" + +"@graphql-tools/utils@9.2.1", "@graphql-tools/utils@^9.0.0", "@graphql-tools/utils@^9.1.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.2.1.tgz#1b3df0ef166cfa3eae706e3518b17d5922721c57" + integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== dependencies: - "@ardatan/aggregate-error" "0.0.6" - camel-case "4.1.2" - tslib "~2.2.0" + "@graphql-typed-document-node/core" "^3.1.1" + tslib "^2.4.0" -"@graphql-tools/wrap@^7.0.4": - version "7.0.8" - resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-7.0.8.tgz#ad41e487135ca3ea1ae0ea04bb3f596177fb4f50" - integrity sha512-1NDUymworsOlb53Qfh7fonDi2STvqCtbeE68ntKY9K/Ju/be2ZNxrFSbrBHwnxWcN9PjISNnLcAyJ1L5tCUyhg== +"@graphql-tools/utils@^8.8.0": + version "8.13.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.13.1.tgz#b247607e400365c2cd87ff54654d4ad25a7ac491" + integrity sha512-qIh9yYpdUFmctVqovwMdheVNJqFh+DQNWIhX87FJStfXYnmweBUDATok9fWPleKeFwxnW8IapKmY8m8toJEkAw== dependencies: - "@graphql-tools/delegate" "^7.1.5" - "@graphql-tools/schema" "^7.1.5" - "@graphql-tools/utils" "^7.8.1" - tslib "~2.2.0" - value-or-promise "1.0.6" + tslib "^2.4.0" + +"@graphql-typed-document-node/core@^3.1.1": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" + integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== "@hapi/address@2.x.x": version "2.1.4" @@ -1477,7 +1929,7 @@ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== -"@hapi/joi@^15.0.0", "@hapi/joi@^15.1.1": +"@hapi/joi@^15.0.0": version "15.1.1" resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== @@ -1515,11 +1967,6 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@iarna/toml@^2.2.5": - version "2.2.5" - resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" - integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== - "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -1696,16 +2143,6 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/types@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" - integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - "@jest/types@^26.6.2": version "26.6.2" resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" @@ -2015,6 +2452,20 @@ "@jridgewell/set-array" "^1.0.0" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + "@jridgewell/resolve-uri@^3.0.3": version "3.0.7" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" @@ -2025,11 +2476,37 @@ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.13" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== +"@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.17": + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + "@jridgewell/trace-mapping@^0.3.9": version "0.3.13" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" @@ -2038,31 +2515,73 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@lezer/common@^0.15.0", "@lezer/common@^0.15.7": + version "0.15.12" + resolved "https://registry.yarnpkg.com/@lezer/common/-/common-0.15.12.tgz#2f21aec551dd5fd7d24eb069f90f54d5bc6ee5e9" + integrity sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig== + +"@lezer/lr@^0.15.4": + version "0.15.8" + resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-0.15.8.tgz#1564a911e62b0a0f75ca63794a6aa8c5dc63db21" + integrity sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg== + dependencies: + "@lezer/common" "^0.15.0" + +"@lmdb/lmdb-darwin-arm64@2.5.2": + version "2.5.2" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.5.2.tgz#bc66fa43286b5c082e8fee0eacc17995806b6fbe" + integrity sha512-+F8ioQIUN68B4UFiIBYu0QQvgb9FmlKw2ctQMSBfW2QBrZIxz9vD9jCGqTCPqZBRbPHAS/vG1zSXnKqnS2ch/A== + "@lmdb/lmdb-darwin-arm64@2.5.3": version "2.5.3" resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.5.3.tgz#c423b068165df18da57a81dce5c95f98c6ab9265" integrity sha512-RXwGZ/0eCqtCY8FLTM/koR60w+MXyvBUpToXiIyjOcBnC81tAlTUHrRUavCEWPI9zc9VgvpK3+cbumPyR8BSuA== +"@lmdb/lmdb-darwin-x64@2.5.2": + version "2.5.2" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.5.2.tgz#89d8390041bce6bab24a82a20392be22faf54ffc" + integrity sha512-KvPH56KRLLx4KSfKBx0m1r7GGGUMXm0jrKmNE7plbHlesZMuPJICtn07HYgQhj1LNsK7Yqwuvnqh1QxhJnF1EA== + "@lmdb/lmdb-darwin-x64@2.5.3": version "2.5.3" resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.5.3.tgz#dde76e65595b34a17289a63f770a8aee13a85a9b" integrity sha512-337dNzh5yCdNCTk8kPfoU7jR3otibSlPDGW0vKZT97rKnQMb9tNdto3RtWoGPsQ8hKmlRZpojOJtmwjncq1MoA== +"@lmdb/lmdb-linux-arm64@2.5.2": + version "2.5.2" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.5.2.tgz#14fe4c96c2bb1285f93797f45915fa35ee047268" + integrity sha512-aLl89VHL/wjhievEOlPocoefUyWdvzVrcQ/MHQYZm2JfV1jUsrbr/ZfkPPUFvZBf+VSE+Q0clWs9l29PCX1hTQ== + "@lmdb/lmdb-linux-arm64@2.5.3": version "2.5.3" resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.5.3.tgz#d98f32383d37a058e6c51b7ffd665c2c2f91c285" integrity sha512-VJw60Mdgb4n+L0fO1PqfB0C7TyEQolJAC8qpqvG3JoQwvyOv6LH7Ib/WE3wxEW9nuHmVz9jkK7lk5HfWWgoO1Q== +"@lmdb/lmdb-linux-arm@2.5.2": + version "2.5.2" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.5.2.tgz#05bde4573ab10cf21827339fe687148f2590cfa1" + integrity sha512-5kQAP21hAkfW5Bl+e0P57dV4dGYnkNIpR7f/GAh6QHlgXx+vp/teVj4PGRZaKAvt0GX6++N6hF8NnGElLDuIDw== + "@lmdb/lmdb-linux-arm@2.5.3": version "2.5.3" resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.5.3.tgz#6251143d7b470e126b0b0fc17ae64c6680e268b2" integrity sha512-mU2HFJDGwECkoD9dHQEfeTG5mp8hNS2BCfwoiOpVPMeapjYpQz9Uw3FkUjRZ4dGHWKbin40oWHuL0bk2bCx+Sg== +"@lmdb/lmdb-linux-x64@2.5.2": + version "2.5.2" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.5.2.tgz#d2f85afd857d2c33d2caa5b057944574edafcfee" + integrity sha512-xUdUfwDJLGjOUPH3BuPBt0NlIrR7f/QHKgu3GZIXswMMIihAekj2i97oI0iWG5Bok/b+OBjHPfa8IU9velnP/Q== + "@lmdb/lmdb-linux-x64@2.5.3": version "2.5.3" resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.5.3.tgz#ef3a9793391ab4a68379e753943c9055fd0f5bf3" integrity sha512-qaReO5aV8griBDsBr8uBF/faO3ieGjY1RY4p8JvTL6Mu1ylLrTVvOONqKFlNaCwrmUjWw5jnf7VafxDAeQHTow== +"@lmdb/lmdb-win32-x64@2.5.2": + version "2.5.2" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.5.2.tgz#28f643fbc0bec30b07fbe95b137879b6b4d1c9c5" + integrity sha512-zrBczSbXKxEyK2ijtbRdICDygRqWSRPpZMN5dD1T8VMEW5RIhIbwFWw2phDRXuBQdVDpSjalCIUMWMV2h3JaZA== + "@lmdb/lmdb-win32-x64@2.5.3": version "2.5.3" resolved "https://registry.yarnpkg.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.5.3.tgz#c72e8b6faae31d925d23a6db0379cc3fe0216fdd" @@ -2103,15 +2622,14 @@ resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== -"@mdx-js/util@^2.0.0-next.8": - version "2.0.0-next.8" - resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-2.0.0-next.8.tgz#66ecc27b78e07a3ea2eb1a8fc5a99dfa0ba96690" - integrity sha512-T0BcXmNzEunFkuxrO8BFw44htvTPuAoKbLvTG41otyZBDV1Rs+JMddcUuaP5vXpTWtgD3grhcrPEwyx88RUumQ== - -"@microsoft/fetch-event-source@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz#9ceecc94b49fbaa15666e38ae8587f64acce007d" - integrity sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA== +"@mischnic/json-sourcemap@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz#38af657be4108140a548638267d02a2ea3336507" + integrity sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA== + dependencies: + "@lezer/common" "^0.15.7" + "@lezer/lr" "^0.15.4" + json5 "^2.2.1" "@newrelic/eslint-plugin-newrelic@^0.3.0": version "0.3.1" @@ -2191,7 +2709,7 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.4": +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -2199,42 +2717,348 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@pmmmwh/react-refresh-webpack-plugin@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz#1eec460596d200c0236bf195b078a5d1df89b766" - integrity sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ== +"@parcel/bundler-default@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/bundler-default/-/bundler-default-2.6.2.tgz#bfa1be22af985ba2d6dbf1890a36ad4553f819d4" + integrity sha512-XIa3had/MIaTGgRFkHApXwytYs77k4geaNcmlb6nzmAABcYjW1CLYh83Zt0AbzLFsDT9ZcRY3u2UjhNf6efSaw== dependencies: - ansi-html "^0.0.7" - error-stack-parser "^2.0.6" - html-entities "^1.2.1" - native-url "^0.2.6" - schema-utils "^2.6.5" - source-map "^0.7.3" + "@parcel/diagnostic" "2.6.2" + "@parcel/hash" "2.6.2" + "@parcel/plugin" "2.6.2" + "@parcel/utils" "2.6.2" + nullthrows "^1.1.1" -"@react-spring/animated@~9.4.5": - version "9.4.5" - resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.4.5.tgz#dd9921c716a4f4a3ed29491e0c0c9f8ca0eb1a54" - integrity sha512-KWqrtvJSMx6Fj9nMJkhTwM9r6LIriExDRV6YHZV9HKQsaolUFppgkOXpC+rsL1JEtEvKv6EkLLmSqHTnuYjiIA== +"@parcel/cache@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/cache/-/cache-2.6.2.tgz#66163c8f8ac4aac865c4b9eb2197b0d9e6f91a74" + integrity sha512-hhJ6AsEGybeQZd9c/GYqfcKTgZKQXu3Xih6TlnP3gdR3KZoJOnb40ovHD1yYg4COvfcXThKP1cVJ18J6rcv3IA== dependencies: - "@react-spring/shared" "~9.4.5" - "@react-spring/types" "~9.4.5" + "@parcel/fs" "2.6.2" + "@parcel/logger" "2.6.2" + "@parcel/utils" "2.6.2" + lmdb "2.5.2" -"@react-spring/core@~9.4.5": - version "9.4.5" - resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.4.5.tgz#4616e1adc18dd10f5731f100ebdbe9518b89ba3c" - integrity sha512-83u3FzfQmGMJFwZLAJSwF24/ZJctwUkWtyPD7KYtNagrFeQKUH1I05ZuhmCmqW+2w1KDW1SFWQ43RawqfXKiiQ== +"@parcel/codeframe@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/codeframe/-/codeframe-2.6.2.tgz#01a7ae97fdb66457e6704c87cc6031085e539e6e" + integrity sha512-oFlHr6HCaYYsB4SHkU+gn9DKtbzvv3/4NdwMX0/6NAKyYVI7inEsXyPGw2Bbd2ZCFatW9QJZUETF0etvh5AEfQ== dependencies: - "@react-spring/animated" "~9.4.5" - "@react-spring/rafz" "~9.4.5" - "@react-spring/shared" "~9.4.5" - "@react-spring/types" "~9.4.5" + chalk "^4.1.0" -"@react-spring/konva@~9.4.5": - version "9.4.5" - resolved "https://registry.yarnpkg.com/@react-spring/konva/-/konva-9.4.5.tgz#28e6f6e0dfb7f7a93c6ba4f91295f3f7d5557f06" - integrity sha512-b3wTs7YT5102+Gs488r2JCNBoyZQd+SWg35AdxmiI6FARBFvBjIA0z7VJx8ILAlmTVBows5UwiDWvk2vmWmLLw== +"@parcel/compressor-raw@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/compressor-raw/-/compressor-raw-2.6.2.tgz#6fec2654c7767a2fef042a37246549d41ee8a586" + integrity sha512-P3c8jjV5HVs+fNDjhvq7PtHXNm687nit1iwTS5VAt+ScXKhKBhoIJ56q+9opcw0jnXVjAAgZqcRZ50oAJBGdKw== dependencies: - "@react-spring/animated" "~9.4.5" + "@parcel/plugin" "2.6.2" + +"@parcel/core@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/core/-/core-2.6.2.tgz#c46d26e2f47967d80f08484f20d31fee7b90e888" + integrity sha512-JlKS3Ux0ngmdooSBbzQLShHJdsapF9E7TGMo1hFaHRquZip/DaqzvysYrgMJlDuCoLArciq5ei7ZKzGeK9zexA== + dependencies: + "@mischnic/json-sourcemap" "^0.1.0" + "@parcel/cache" "2.6.2" + "@parcel/diagnostic" "2.6.2" + "@parcel/events" "2.6.2" + "@parcel/fs" "2.6.2" + "@parcel/graph" "2.6.2" + "@parcel/hash" "2.6.2" + "@parcel/logger" "2.6.2" + "@parcel/package-manager" "2.6.2" + "@parcel/plugin" "2.6.2" + "@parcel/source-map" "^2.0.0" + "@parcel/types" "2.6.2" + "@parcel/utils" "2.6.2" + "@parcel/workers" "2.6.2" + abortcontroller-polyfill "^1.1.9" + base-x "^3.0.8" + browserslist "^4.6.6" + clone "^2.1.1" + dotenv "^7.0.0" + dotenv-expand "^5.1.0" + json5 "^2.2.0" + msgpackr "^1.5.4" + nullthrows "^1.1.1" + semver "^5.7.1" + +"@parcel/diagnostic@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/diagnostic/-/diagnostic-2.6.2.tgz#da3fca0d82bc012f49288c963024edd089ca9f41" + integrity sha512-3ODSBkKVihENU763z1/1DhGAWFhYWRxOCOShC72KXp+GFnSgGiBsxclu8NBa/N948Rzp8lqQI8U1nLcKkh0O/w== + dependencies: + "@mischnic/json-sourcemap" "^0.1.0" + nullthrows "^1.1.1" + +"@parcel/events@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.6.2.tgz#97a1059d1eb93df8d3d426b6b150f829f70f543b" + integrity sha512-IaCjOeA5ercdFVi1EZOmUHhGfIysmCUgc2Th9hMugSFO0I3GzRsBcAdP6XPfWm+TV6sQ/qZRfdk/drUxoAupnw== + +"@parcel/fs-search@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/fs-search/-/fs-search-2.6.2.tgz#6343a5da4f0753c96c004d6951897f83160c4d45" + integrity sha512-4STid1zqtGnmGjHD/2TG2g/zPDiCTtE3IAS24QYH3eiUAz2uoKGgEqd2tZbZ2yI96jtCuIhC1bzVu8Hbykls7w== + dependencies: + detect-libc "^1.0.3" + +"@parcel/fs@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/fs/-/fs-2.6.2.tgz#c3f4ab9f88df6c1416af7c2a7a31b68ced862a16" + integrity sha512-mIhqdF3tjgeoIGqW7Nc/xfM2ClID7o8livwUe5lpQEP+ZaIBiMigXs6ckv3WToCACK+3uylrSD2A/HmlhrxMqQ== + dependencies: + "@parcel/fs-search" "2.6.2" + "@parcel/types" "2.6.2" + "@parcel/utils" "2.6.2" + "@parcel/watcher" "^2.0.0" + "@parcel/workers" "2.6.2" + +"@parcel/graph@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/graph/-/graph-2.6.2.tgz#fe777666c6fa09cb89b1570932459a4b5e90b6aa" + integrity sha512-DPH4G/RBFJWayIN2fnhDXqhUw75n7k15YsGzdDKiXuwwz4wMOjoL4cyrI6zOf1SIyh3guRmeTYJ4jjPzwrLYww== + dependencies: + "@parcel/utils" "2.6.2" + nullthrows "^1.1.1" + +"@parcel/hash@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/hash/-/hash-2.6.2.tgz#485e31323036abdf3648ba7f8816985296f358ba" + integrity sha512-tFB+cJU1Wqag6WyJgsmx3nx+xhmjcNZqtWh/MtK1lHNnZdDRk6bjr7SapnygBwruz+SmSt5bbdVThcpk2dRCcA== + dependencies: + detect-libc "^1.0.3" + xxhash-wasm "^0.4.2" + +"@parcel/logger@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-2.6.2.tgz#c99eed0e1ed13ac0c25f5e57355ab1bf5b3eda21" + integrity sha512-Sz5YGCj1DbEiX0/G8Uw97LLZ0uEK+qtWcRAkHNpJpeMiSqDiRNevxXltz42EcLo+oCh4d4wyiVzwi9mNwzhS/Q== + dependencies: + "@parcel/diagnostic" "2.6.2" + "@parcel/events" "2.6.2" + +"@parcel/markdown-ansi@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.6.2.tgz#7511f6d32688f8d150828cdd1162774c102070e3" + integrity sha512-N/h9J4eibhc+B+krzvPMzFUWL37GudBIZBa7XSLkcuH6MnYYfh6rrMvhIyyESwk6VkcZNVzAeZrGQqxEs0dHDQ== + dependencies: + chalk "^4.1.0" + +"@parcel/namer-default@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/namer-default/-/namer-default-2.6.2.tgz#8034fb23d2013ae00e5b73e9f887553bef498075" + integrity sha512-mp7bx/BQaIuohmZP0uE+gAmDBzzH0Yu8F4yCtE611lc6i0mou+nWRhzyKLNC/ieuI8DB3BFh2QQKeTxJn4W0qg== + dependencies: + "@parcel/diagnostic" "2.6.2" + "@parcel/plugin" "2.6.2" + nullthrows "^1.1.1" + +"@parcel/node-resolver-core@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/node-resolver-core/-/node-resolver-core-2.6.2.tgz#46381572e2829cd6b9424ea1cfd8c1330ab9ff4f" + integrity sha512-4b2L5QRYlTybvv3+TIRtwg4PPJXy+cRShCBa8eu1K0Fj297Afe8MOZrcVV+RIr2KPMIRXcIJoqDmOhyci/DynA== + dependencies: + "@parcel/diagnostic" "2.6.2" + "@parcel/utils" "2.6.2" + nullthrows "^1.1.1" + semver "^5.7.1" + +"@parcel/optimizer-terser@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-terser/-/optimizer-terser-2.6.2.tgz#3361e2fd51bfdf6736f1e85afb9d6bed207cdb60" + integrity sha512-ZSEVQ3G3zOiVPeHvH+BrHegZybrQj9kWQAaAA92leSqbvf6UaX4xqXbGRg2OttNFtbGYBzIl28Zm4t2SLeUIuA== + dependencies: + "@parcel/diagnostic" "2.6.2" + "@parcel/plugin" "2.6.2" + "@parcel/source-map" "^2.0.0" + "@parcel/utils" "2.6.2" + nullthrows "^1.1.1" + terser "^5.2.0" + +"@parcel/package-manager@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/package-manager/-/package-manager-2.6.2.tgz#003e8326adf95f85b2a40bb5e5f24a735d58f114" + integrity sha512-xGMqTgnwTE3rgzYwUZMKxR8fzmP5iSYz/gj2H8FR3pEmwh/8xCMtNjTSth+hPVGuqgRZ6JxwpfdY/fXdZ61ViQ== + dependencies: + "@parcel/diagnostic" "2.6.2" + "@parcel/fs" "2.6.2" + "@parcel/logger" "2.6.2" + "@parcel/types" "2.6.2" + "@parcel/utils" "2.6.2" + "@parcel/workers" "2.6.2" + semver "^5.7.1" + +"@parcel/packager-js@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/packager-js/-/packager-js-2.6.2.tgz#16257b343480490adea619671b56d9cd02c8302a" + integrity sha512-fm5rKWtaExR0W+UEKWivXNPysRFxuBCdskdxDByb1J1JeGMvp7dJElbi8oXDAQM4MnM5EyG7cg47SlMZNTLm4A== + dependencies: + "@parcel/diagnostic" "2.6.2" + "@parcel/hash" "2.6.2" + "@parcel/plugin" "2.6.2" + "@parcel/source-map" "^2.0.0" + "@parcel/utils" "2.6.2" + globals "^13.2.0" + nullthrows "^1.1.1" + +"@parcel/packager-raw@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/packager-raw/-/packager-raw-2.6.2.tgz#67f136cc8b404edeb4092ea5f56d277e0e60d0c6" + integrity sha512-Rl3ZkMtMjb+LEvRowijDD8fibUAS6rWK0/vZQMk9cDNYCP2gCpZayLk0HZIGxneeTbosf/0sbngHq4VeRQOnQA== + dependencies: + "@parcel/plugin" "2.6.2" + +"@parcel/plugin@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/plugin/-/plugin-2.6.2.tgz#d4c8cc558e962e4dfb7154a7f0a023f6abad07ac" + integrity sha512-wbbWsM23Pr+8xtLSvf+UopXdVYlpKCCx6PuuZaZcKo+9IcDCWoGXD4M8Kkz14qBmkFn5uM00mULUqmVdSibB2w== + dependencies: + "@parcel/types" "2.6.2" + +"@parcel/reporter-dev-server@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/reporter-dev-server/-/reporter-dev-server-2.6.2.tgz#73e82c7bd6bbe47de61b2170ac9b7799c4e850fd" + integrity sha512-5QtL3ETMFL161jehlIK6rjBM+Pqk5cMhr60s9yLYqE1GY4M4gMj+Act+FXViyM6gmMA38cPxDvUsxTKBYXpFCw== + dependencies: + "@parcel/plugin" "2.6.2" + "@parcel/utils" "2.6.2" + +"@parcel/resolver-default@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/resolver-default/-/resolver-default-2.6.2.tgz#b417fb4f9713f5bdeceab737ae1dacb8322f2778" + integrity sha512-Lo5sWb5QkjWvdBr+TdmAF6Mszb/sMldBBatc1osQTkHXCy679VMH+lfyiWxHbwK+F1pmdMeBJpYcMxvrgT8EsA== + dependencies: + "@parcel/node-resolver-core" "2.6.2" + "@parcel/plugin" "2.6.2" + +"@parcel/runtime-js@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/runtime-js/-/runtime-js-2.6.2.tgz#cc46ec03d4fe2a4832cd7709431afba857bd37e0" + integrity sha512-0S3JFwgvs6FmEx2dHta9R0Sfu8vCnFAm4i7Y4efGHtAcTrF2CHjyiz4/hG+RQGJ70eoWW463Q+8qt6EKbkaOBQ== + dependencies: + "@parcel/plugin" "2.6.2" + "@parcel/utils" "2.6.2" + nullthrows "^1.1.1" + +"@parcel/source-map@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.1.1.tgz#fb193b82dba6dd62cc7a76b326f57bb35000a782" + integrity sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew== + dependencies: + detect-libc "^1.0.3" + +"@parcel/transformer-js@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-js/-/transformer-js-2.6.2.tgz#905285b5d6d8047d0420641dee257ee93bac69d8" + integrity sha512-uhXAMTjE/Q61amflV8qVpb73mj+mIdXIMH0cSks1/gDIAxcgIvWvrE14P4TvY6zJ1q1iRJRIRUN6cFSXqjjLSA== + dependencies: + "@parcel/diagnostic" "2.6.2" + "@parcel/plugin" "2.6.2" + "@parcel/source-map" "^2.0.0" + "@parcel/utils" "2.6.2" + "@parcel/workers" "2.6.2" + "@swc/helpers" "^0.4.2" + browserslist "^4.6.6" + detect-libc "^1.0.3" + nullthrows "^1.1.1" + regenerator-runtime "^0.13.7" + semver "^5.7.1" + +"@parcel/transformer-json@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-json/-/transformer-json-2.6.2.tgz#37a5c3f4571c81e1a5f2d0c77f266b56e3866ad5" + integrity sha512-QGcIIvbPF/u10ihYvQhxXqb2QMXWSzcBxJrOSIXIl74TUGrWX05D5LmjDA/rzm/n/kvRnBkFNP60R/smYb8x+Q== + dependencies: + "@parcel/plugin" "2.6.2" + json5 "^2.2.0" + +"@parcel/types@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.6.2.tgz#216313bcaf625e59a2bd525a00c3b1f6701b0d92" + integrity sha512-MV8BFpCIs2jMUvK2RHqzkoiuOQ//JIbrD1zocA2YRW3zuPL/iABvbAABJoXpoPCKikVWOoCWASgBfWQo26VvJQ== + dependencies: + "@parcel/cache" "2.6.2" + "@parcel/diagnostic" "2.6.2" + "@parcel/fs" "2.6.2" + "@parcel/package-manager" "2.6.2" + "@parcel/source-map" "^2.0.0" + "@parcel/workers" "2.6.2" + utility-types "^3.10.0" + +"@parcel/utils@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-2.6.2.tgz#18d68a56330be8db59c269163b77617043ba8e3a" + integrity sha512-Ug7hpRxjgbY5AopW55nY7MmGMVmwmN+ihfCmxJkBUoESTG/3iq8uME7GjyOgW5DkQc2K7q62i8y8N0wCJT1u4Q== + dependencies: + "@parcel/codeframe" "2.6.2" + "@parcel/diagnostic" "2.6.2" + "@parcel/hash" "2.6.2" + "@parcel/logger" "2.6.2" + "@parcel/markdown-ansi" "2.6.2" + "@parcel/source-map" "^2.0.0" + chalk "^4.1.0" + +"@parcel/watcher@^2.0.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.1.0.tgz#5f32969362db4893922c526a842d8af7a8538545" + integrity sha512-8s8yYjd19pDSsBpbkOHnT6Z2+UJSuLQx61pCFM0s5wSRvKCEMDjd/cHY3/GI1szHIWbpXpsJdg3V6ISGGx9xDw== + dependencies: + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^3.2.1" + node-gyp-build "^4.3.0" + +"@parcel/workers@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-2.6.2.tgz#2cae07db7a752295f11c2952b5026e426e38b19b" + integrity sha512-wBgUjJQm+lDd12fPRUmk09+ujTA9DgwPdqylSFK0OtI/yT6A+2kArUqjp8IwWo2tCJXoMzXBne2XQIWKqMiN4Q== + dependencies: + "@parcel/diagnostic" "2.6.2" + "@parcel/logger" "2.6.2" + "@parcel/types" "2.6.2" + "@parcel/utils" "2.6.2" + chrome-trace-event "^1.0.2" + nullthrows "^1.1.1" + +"@pmmmwh/react-refresh-webpack-plugin@^0.5.7": + version "0.5.10" + resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz#2eba163b8e7dbabb4ce3609ab5e32ab63dda3ef8" + integrity sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA== + dependencies: + ansi-html-community "^0.0.8" + common-path-prefix "^3.0.0" + core-js-pure "^3.23.3" + error-stack-parser "^2.0.6" + find-up "^5.0.0" + html-entities "^2.1.0" + loader-utils "^2.0.4" + schema-utils "^3.0.0" + source-map "^0.7.3" + +"@react-spring/animated@~9.4.5": + version "9.4.5" + resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.4.5.tgz#dd9921c716a4f4a3ed29491e0c0c9f8ca0eb1a54" + integrity sha512-KWqrtvJSMx6Fj9nMJkhTwM9r6LIriExDRV6YHZV9HKQsaolUFppgkOXpC+rsL1JEtEvKv6EkLLmSqHTnuYjiIA== + dependencies: + "@react-spring/shared" "~9.4.5" + "@react-spring/types" "~9.4.5" + +"@react-spring/core@~9.4.5": + version "9.4.5" + resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.4.5.tgz#4616e1adc18dd10f5731f100ebdbe9518b89ba3c" + integrity sha512-83u3FzfQmGMJFwZLAJSwF24/ZJctwUkWtyPD7KYtNagrFeQKUH1I05ZuhmCmqW+2w1KDW1SFWQ43RawqfXKiiQ== + dependencies: + "@react-spring/animated" "~9.4.5" + "@react-spring/rafz" "~9.4.5" + "@react-spring/shared" "~9.4.5" + "@react-spring/types" "~9.4.5" + +"@react-spring/konva@~9.4.5": + version "9.4.5" + resolved "https://registry.yarnpkg.com/@react-spring/konva/-/konva-9.4.5.tgz#28e6f6e0dfb7f7a93c6ba4f91295f3f7d5557f06" + integrity sha512-b3wTs7YT5102+Gs488r2JCNBoyZQd+SWg35AdxmiI6FARBFvBjIA0z7VJx8ILAlmTVBows5UwiDWvk2vmWmLLw== + dependencies: + "@react-spring/animated" "~9.4.5" "@react-spring/core" "~9.4.5" "@react-spring/shared" "~9.4.5" "@react-spring/types" "~9.4.5" @@ -2383,6 +3207,11 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@socket.io/component-emitter@~3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" + integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== + "@splitsoftware/splitio-commons@1.3.1": version "1.3.1" resolved "https://registry.yarnpkg.com/@splitsoftware/splitio-commons/-/splitio-commons-1.3.1.tgz#ad9960bd4d8f746fe85380cfdcbc204475e59c54" @@ -2402,6 +3231,13 @@ shallowequal "^1.1.0" unfetch "^4.2.0" +"@swc/helpers@^0.4.2": + version "0.4.14" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74" + integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw== + dependencies: + tslib "^2.4.0" + "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" @@ -2468,7 +3304,7 @@ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== -"@turist/fetch@^7.1.7": +"@turist/fetch@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@turist/fetch/-/fetch-7.2.0.tgz#57df869df1cd9b299588554eec4b8543effcc714" integrity sha512-2x7EGw+6OJ29phunsbGvtxlNmSfcuPcyYudkMbi8gARCP9eJ1CtuMvnVUHL//O9Ixi9SJiug8wNt6lj86pN8XQ== @@ -2480,13 +3316,6 @@ resolved "https://registry.yarnpkg.com/@turist/time/-/time-0.0.2.tgz#32fe0ce708ea0f4512776bd313409f1459976dda" integrity sha512-qLOvfmlG2vCVw5fo/oz8WAZYlpe5a5OurgTj3diIxJCdjRHpapC+vQCz3er9LV79Vcat+DifBjeAhOAdmndtDQ== -"@types/acorn@^4.0.0": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22" - integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== - dependencies: - "@types/estree" "*" - "@types/aria-query@^4.2.0": version "4.2.2" resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" @@ -2542,43 +3371,33 @@ "@types/node" "*" "@types/responselike" "*" -"@types/common-tags@^1.8.0": +"@types/common-tags@^1.8.1": version "1.8.1" resolved "https://registry.yarnpkg.com/@types/common-tags/-/common-tags-1.8.1.tgz#a5a49ca5ebbb58e0f8947f3ec98950c8970a68a9" integrity sha512-20R/mDpKSPWdJs5TOpz3e7zqbeCNuMCPhV7Yndk9KU2Rbij2r5W4RzwDPkzC+2lzUqXYu9rFzTktCBnDjHuNQg== -"@types/component-emitter@^1.2.10": - version "1.2.11" - resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.11.tgz#50d47d42b347253817a39709fef03ce66a108506" - integrity sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ== - "@types/configstore@^2.1.1": version "2.1.1" resolved "https://registry.yarnpkg.com/@types/configstore/-/configstore-2.1.1.tgz#cd1e8553633ad3185c3f2f239ecff5d2643e92b6" integrity sha1-zR6FU2M60xhcPy8jns/10mQ+krY= -"@types/cookie@^0.4.0": +"@types/cookie@^0.4.1": version "0.4.1" resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== -"@types/cors@^2.8.8": - version "2.8.12" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" - integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== +"@types/cors@^2.8.12": + version "2.8.13" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.13.tgz#b8ade22ba455a1b8cb3b5d3f35910fd204f84f94" + integrity sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA== + dependencies: + "@types/node" "*" "@types/debug@^0.0.30": version "0.0.30" resolved "https://registry.yarnpkg.com/@types/debug/-/debug-0.0.30.tgz#dc1e40f7af3b9c815013a7860e6252f6352a84df" integrity sha512-orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ== -"@types/debug@^4.0.0": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" - integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== - dependencies: - "@types/ms" "*" - "@types/eslint-scope@^3.7.3": version "3.7.3" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" @@ -2600,7 +3419,7 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/eslint@^7.28.2": +"@types/eslint@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.29.0.tgz#e56ddc8e542815272720bb0b4ccc2aff9c3e1c78" integrity sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng== @@ -2608,13 +3427,6 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree-jsx@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-0.0.1.tgz#c36d7a1afeb47a95a8ee0b7bc8bc705db38f919d" - integrity sha512-gcLAYiMfQklDCPjQegGn0TBAn9it05ISEsEhlKQUddIk7o2XDokOcTN7HBO8tznM0D9dGezvHEfRZBfZf6me0A== - dependencies: - "@types/estree" "*" - "@types/estree@*", "@types/estree@^0.0.51": version "0.0.51" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" @@ -2625,7 +3437,7 @@ resolved "https://registry.yarnpkg.com/@types/get-port/-/get-port-3.2.0.tgz#f9e0a11443cc21336470185eae3dfba4495d29bc" integrity sha512-TiNg8R1kjDde5Pub9F9vCwZA/BNW9HeXP5b9j7Qucqncy/McfPZ6xze/EyBdXS5FhMIGN6Fx3vg75l5KHy3V1Q== -"@types/glob@*", "@types/glob@^7.1.1": +"@types/glob@*": version "7.2.0" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== @@ -2665,10 +3477,10 @@ resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== -"@types/http-proxy@^1.17.4": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.9.tgz#7f0e7931343761efde1e2bf48c40f02f3f75705a" - integrity sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw== +"@types/http-proxy@^1.17.7": + version "1.17.10" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.10.tgz#e576c8e4a0cc5c6a138819025a88e167ebb38d6c" + integrity sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g== dependencies: "@types/node" "*" @@ -2691,14 +3503,6 @@ dependencies: "@types/istanbul-lib-coverage" "*" -"@types/istanbul-reports@^1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" - integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - "@types/istanbul-reports@^3.0.0": version "3.0.1" resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" @@ -2729,12 +3533,7 @@ resolved "https://registry.yarnpkg.com/@types/json-buffer/-/json-buffer-3.0.0.tgz#85c1ff0f0948fc159810d4b5be35bf8c20875f64" integrity sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ== -"@types/json-patch@0.0.30": - version "0.0.30" - resolved "https://registry.yarnpkg.com/@types/json-patch/-/json-patch-0.0.30.tgz#7c562173216c50529e70126ceb8e7a533f865e9b" - integrity sha512-MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw== - -"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": +"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== @@ -2780,11 +3579,6 @@ dependencies: "@types/node" "*" -"@types/ms@*": - version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== - "@types/node-fetch@2": version "2.6.1" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975" @@ -2803,10 +3597,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.1.tgz#0611b37db4246c937feef529ddcc018cf8e35708" integrity sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g== -"@types/node@^14.14.10": - version "14.18.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.18.tgz#5c9503030df484ccffcbb935ea9a9e1d6fad1a20" - integrity sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig== +"@types/node@>=10.0.0": + version "18.15.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f" + integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q== "@types/node@^8.5.7": version "8.10.66" @@ -2838,15 +3632,10 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== -"@types/q@^1.5.1": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" - integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== - -"@types/reach__router@^1.3.9": - version "1.3.10" - resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.10.tgz#141d500213a452d9d9d71d5ad96c4104094f55a3" - integrity sha512-iHAFGaVOrWi00/q7oBybggGsz5TOmwOW4M1H9sT7i9lly4qFC8XOgsdf6jUsoaOz2sknFHALEtZqCoDbokdJ2Q== +"@types/reach__router@^1.3.10": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.11.tgz#528af5d73f76b42cf7de5664cdd1b728dee78e31" + integrity sha512-j23ChnIEiW8aAP4KT8OVyTXOFr+Ri65BDnwzmfHFO9WHypXYevHFjeil1Cj7YH3emfCE924BwAmgW4hOv7Wg3g== dependencies: "@types/react" "*" @@ -2931,13 +3720,6 @@ "@types/unist" "*" "@types/vfile-message" "*" -"@types/websocket@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/websocket/-/websocket-1.0.2.tgz#d2855c6a312b7da73ed16ba6781815bf30c6187a" - integrity sha512-B5m9aq7cbbD/5/jThEr33nUY8WEfVi6A2YKCTOvw5Ldy7mtsOkqRvGjnzy6g7iMMDsgu7xREuCzqATLDLQVKcQ== - dependencies: - "@types/node" "*" - "@types/yargs-parser@*": version "21.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" @@ -2965,7 +3747,7 @@ regexpp "^3.0.0" tsutils "^3.17.1" -"@typescript-eslint/eslint-plugin@^4.29.3": +"@typescript-eslint/eslint-plugin@^4.33.0": version "4.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== @@ -3020,7 +3802,7 @@ "@typescript-eslint/typescript-estree" "2.34.0" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/parser@^4.29.3": +"@typescript-eslint/parser@^4.33.0": version "4.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== @@ -3090,10 +3872,12 @@ resolved "https://registry.yarnpkg.com/@use-it/event-listener/-/event-listener-0.1.7.tgz#443a9b6df87f2f2961b74d42997ce723a7078623" integrity sha512-hgfExDzUU9uTRTPDCpw2s9jWTxcxmpJya3fK5ADpf5VDpSy8WYwY/kh28XE0tUcbsljeP8wfan48QvAQTSSa3Q== -"@vercel/webpack-asset-relocator-loader@^1.6.0": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@vercel/webpack-asset-relocator-loader/-/webpack-asset-relocator-loader-1.7.2.tgz#0210abd8d53b2799d53156dd0c18a4ef4e3b51cb" - integrity sha512-pdMwUawmAtH/LScbjKJq/y2+gZFggFMc2tlJrlPSrgKajvYPEis3L9QKcMyC9RN1Xos4ezAP5AJfRCNN6RMKCQ== +"@vercel/webpack-asset-relocator-loader@^1.7.0": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@vercel/webpack-asset-relocator-loader/-/webpack-asset-relocator-loader-1.7.3.tgz#e65ca1fd9feb045039788f9b4710e5acc84b01b0" + integrity sha512-vizrI18v8Lcb1PmNNUBz7yxPxxXoOeuaVEjTG9MjvDrphjiSxFZrRJ5tIghk+qdLFRCXI5HBCshgobftbmrC5g== + dependencies: + resolve "^1.10.0" "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -3256,12 +4040,10 @@ abab@^2.0.3, abab@^2.0.5: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== -abort-controller@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" +abortcontroller-polyfill@^1.1.9: + version "1.7.5" + resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" + integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== accepts@^1.3.7, accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: version "1.3.8" @@ -3284,26 +4066,48 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn-jsx@^5.0.0, acorn-jsx@^5.3.1: +acorn-jsx@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== +acorn-loose@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/acorn-loose/-/acorn-loose-8.3.0.tgz#0cd62461d21dce4f069785f8d3de136d5525029a" + integrity sha512-75lAs9H19ldmW+fAbyqHdjgdCrz0pWGXKmnqFoh8PyVd1L2RIb4RzYrSjmopeqv3E1G3/Pimu6GgLlrGbrkF7w== + dependencies: + acorn "^8.5.0" + acorn-walk@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== +acorn-walk@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^6.2.1: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.0, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0: +acorn@^8.2.4, acorn@^8.5.0: version "8.7.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== +acorn@^8.7.1: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + address@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" @@ -3314,6 +4118,11 @@ address@^1.0.1: resolved "https://registry.yarnpkg.com/address/-/address-1.2.0.tgz#d352a62c92fee90f89a693eccd2a8b2139ab02d9" integrity sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig== +address@^1.1.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== + adjust-sourcemap-loader@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz#5ae12fb5b7b1c585e80bbb5a63ec163a1a45e61e" @@ -3337,12 +4146,12 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv-keywords@^3.5.2: +ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3367,7 +4176,7 @@ animation-bus@^0.2.0: resolved "https://registry.yarnpkg.com/animation-bus/-/animation-bus-0.2.0.tgz#43854c2c9463fb82c664eff0e19b9733081150fa" integrity sha1-Q4VMLJRj+4LGZO/w4ZuXMwgRUPo= -anser@^2.0.1: +anser@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/anser/-/anser-2.1.1.tgz#8afae28d345424c82de89cc0e4d1348eb0c5af7c" integrity sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ== @@ -3396,16 +4205,11 @@ ansi-escapes@^4.2.1: dependencies: type-fest "^0.21.3" -ansi-html-community@0.0.8: +ansi-html-community@0.0.8, ansi-html-community@^0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== -ansi-html@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -3471,29 +4275,11 @@ application-config-path@^0.1.0: resolved "https://registry.yarnpkg.com/application-config-path/-/application-config-path-0.1.0.tgz#193c5f0a86541a4c66fba1e2dc38583362ea5e8f" integrity sha1-GTxfCoZUGkxm+6Hi3DhYM2LqXo8= -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - arch@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== -are-we-there-yet@~1.1.2: - version "1.1.7" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" - integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - arg@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" @@ -3526,6 +4312,13 @@ aria-query@^5.0.0: resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.0.0.tgz#210c21aaf469613ee8c9a62c7f86525e058db52c" integrity sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg== +aria-query@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + arity-n@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" @@ -3546,6 +4339,14 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -3562,6 +4363,17 @@ array-includes@^3.1.4: get-intrinsic "^1.1.1" is-string "^1.0.7" +array-includes@^3.1.5, array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + is-string "^1.0.7" + array-iterate@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/array-iterate/-/array-iterate-1.1.4.tgz#add1522e9dd9749bb41152d08b845bd08d6af8b7" @@ -3587,6 +4399,16 @@ array.prototype.flat@^1.2.5: es-abstract "^1.19.2" es-shim-unscopables "^1.0.0" +array.prototype.flat@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + array.prototype.flatmap@^1.2.5: version "1.3.0" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f" @@ -3597,6 +4419,27 @@ array.prototype.flatmap@^1.2.5: es-abstract "^1.19.2" es-shim-unscopables "^1.0.0" +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" + integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -3634,21 +4477,11 @@ async-cache@^1.1.0: dependencies: lru-cache "^4.0.0" -async-retry-ng@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/async-retry-ng/-/async-retry-ng-2.0.1.tgz#f5285ec1c52654a2ba6a505d0c18b1eadfaebd41" - integrity sha512-iitlc2murdQ3/A5Re3CcplQBEf7vOmFrFQ6RFn3+/+zZUyIHYkZnnEziMSa6YIb2Bs2EJEPZWReTxjHqvQbDbw== - async@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^3.2.1: - version "3.2.3" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" - integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== - async@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" @@ -3669,13 +4502,18 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@^10.2.4: - version "10.4.7" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.7.tgz#1db8d195f41a52ca5069b7593be167618edbbedf" - integrity sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA== +auto-bind@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb" + integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== + +autoprefixer@^10.4.0: + version "10.4.14" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d" + integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== dependencies: - browserslist "^4.20.3" - caniuse-lite "^1.0.30001335" + browserslist "^4.21.5" + caniuse-lite "^1.0.30001464" fraction.js "^4.2.0" normalize-range "^0.1.2" picocolors "^1.0.0" @@ -3686,22 +4524,24 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -axe-core@^4.3.5: - version "4.4.2" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.2.tgz#dcf7fb6dea866166c3eab33d68208afe4d5f670c" - integrity sha512-LVAaGp/wkkgYJcjmHsoKx4juT1aQvJyPcW09MLCjVTh3V2cc6PnyempiLMNH5iMdfIX/zdbjUx2KDjMLCTdPeA== +axe-core@^4.6.2: + version "4.6.3" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.3.tgz#fc0db6fdb65cc7a80ccf85286d91d64ababa3ece" + integrity sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg== -axios@^0.21.1, axios@^0.21.4: +axios@^0.21.1: version "0.21.4" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== dependencies: follow-redirects "^1.14.0" -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== +axobject-query@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1" + integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg== + dependencies: + deep-equal "^2.0.5" babel-eslint@^10.0.3: version "10.1.0" @@ -3736,10 +4576,10 @@ babel-jest@^26.6.3: graceful-fs "^4.2.4" slash "^3.0.0" -babel-loader@^8.2.2: - version "8.2.5" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e" - integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ== +babel-loader@^8.2.3: + version "8.3.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" + integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== dependencies: find-cache-dir "^3.3.1" loader-utils "^2.0.0" @@ -3814,6 +4654,15 @@ babel-plugin-macros@^2.6.1, babel-plugin-macros@^2.8.0: cosmiconfig "^6.0.0" resolve "^1.12.0" +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + babel-plugin-polyfill-corejs2@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" @@ -3843,19 +4692,25 @@ babel-plugin-prismjs@^2.0.1: resolved "https://registry.yarnpkg.com/babel-plugin-prismjs/-/babel-plugin-prismjs-2.1.0.tgz#ade627896106326ad04d6d77fba92877618de571" integrity sha512-ehzSKYfeAz4U78zi/sfwsjDPlq0LvDKxNefcZTJ/iKBu+plsHsLqZhUeGf1+82LAcA35UZGbU6ksEx2Utphc/g== -babel-plugin-remove-graphql-queries@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-3.14.0.tgz#33b607cbc2824f72aa3d3b68f52912bf295b79c7" - integrity sha512-uRqbsHOcJ1kWn6IK6clZOGHBnQCddiz1LuoGIpv/hcGZCO1nCy16z9KMgEM8TdGG6L6cO31mNr1RcVmvGtcCEw== +babel-plugin-remove-graphql-queries@^4.25.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-4.25.0.tgz#ebfc91d8dbe567035b8ce4c3df0a068b745571df" + integrity sha512-enyqRNRrn7vTG3nwg1V+XhoAJIyUv3ZukQCs5KbHOK+WNDDiGZQzIG+FCiZFACScdZBJWyx7TYRYbOFJZ/KEGg== dependencies: "@babel/runtime" "^7.15.4" - gatsby-core-utils "^2.14.0" + "@babel/types" "^7.15.4" + gatsby-core-utils "^3.25.0" babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= +babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: + version "7.0.0-beta.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf" + integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== + babel-plugin-transform-object-rest-spread@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" @@ -3887,6 +4742,39 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" +babel-preset-fbjs@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz#38a14e5a7a3b285a3f3a86552d650dca5cf6111c" + integrity sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow== + dependencies: + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-syntax-class-properties" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-block-scoped-functions" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-for-of" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-member-expression-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-object-super" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-property-literals" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0" + babel-preset-gatsby@^0.4.7: version "0.4.12" resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.4.12.tgz#f69cbcb5e212761a6a11cd2d7a6032bfc672d22b" @@ -3906,10 +4794,10 @@ babel-preset-gatsby@^0.4.7: babel-plugin-transform-react-remove-prop-types "^0.4.24" gatsby-core-utils "^1.3.8" -babel-preset-gatsby@^1.14.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-1.14.0.tgz#a2b7ac56c3e2a81909a93b094ec8cccbbdc8b194" - integrity sha512-weu2mSxvlzWUUaSfO67AS005W2+UncMgyTwkGWMoqeNe4MaZxWMtEimxBRVDPHvhW/VQIzeh3aL+gjZ2v9P4oQ== +babel-preset-gatsby@^2.25.0: + version "2.25.0" + resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-2.25.0.tgz#13c7bccbbf91792d6bd7a95a6531560df8c306f8" + integrity sha512-KFfSTDAkY87/Myq1KIUk9cVphWZem/08U7ps9Hiotbo6Mge/lL6ggh3xKP9SdR5Le4DLLyIUI7a4ILrAVacYDg== dependencies: "@babel/plugin-proposal-class-properties" "^7.14.0" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" @@ -3922,10 +4810,10 @@ babel-preset-gatsby@^1.14.0: "@babel/preset-react" "^7.14.0" "@babel/runtime" "^7.15.4" babel-plugin-dynamic-import-node "^2.3.3" - babel-plugin-macros "^2.8.0" + babel-plugin-macros "^3.1.0" babel-plugin-transform-react-remove-prop-types "^0.4.24" - gatsby-core-utils "^2.14.0" - gatsby-legacy-polyfills "^1.14.0" + gatsby-core-utils "^3.25.0" + gatsby-legacy-polyfills "^2.25.0" babel-preset-jest@^26.6.2: version "26.6.2" @@ -3948,11 +4836,6 @@ babylon@^6.18.0: resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== -backo2@^1.0.2, backo2@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" - integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= - bail@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" @@ -3963,10 +4846,12 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-arraybuffer@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812" - integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI= +base-x@^3.0.8: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" base64-js@^1.3.1: version "1.5.1" @@ -3991,27 +4876,13 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -better-opn@^2.0.0: +better-opn@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-2.1.1.tgz#94a55b4695dc79288f31d7d0e5f658320759f7c6" integrity sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA== dependencies: open "^7.0.3" -better-queue-memory@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/better-queue-memory/-/better-queue-memory-1.0.4.tgz#f390d6b30bb3b36aaf2ce52b37a483e8a7a81a22" - integrity sha512-SWg5wFIShYffEmJpI6LgbL8/3Dqhku7xI1oEiy6FroP9DbcZlG0ZDjxvPdP9t7hTGW40IpIcC6zVoGT1oxjOuA== - -better-queue@^3.8.10: - version "3.8.10" - resolved "https://registry.yarnpkg.com/better-queue/-/better-queue-3.8.10.tgz#1c93b9ec4cb3d1b72eb91d0efcb84fc80e8c6835" - integrity sha512-e3gwNZgDCnNWl0An0Tz6sUjKDV9m6aB+K9Xg//vYeo8+KiH8pWhLFxkawcXhm6FpM//GfD9IQv/kmvWCAVVpKA== - dependencies: - better-queue-memory "^1.0.1" - node-eta "^0.9.0" - uuid "^3.0.0" - big-integer@^1.6.16: version "1.6.51" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" @@ -4046,7 +4917,7 @@ bmp-js@^0.1.0: resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz#e05a63f796a6c1ff25f4771ec7adadc148c07233" integrity sha1-4Fpj95amwf8l9Hcex62twUjAcjM= -body-parser@1.20.0, body-parser@^1.19.0: +body-parser@1.20.0: version "1.20.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== @@ -4088,7 +4959,7 @@ boxen@^4.2.0: type-fest "^0.8.1" widest-line "^3.1.0" -boxen@^5.0.0: +boxen@^5.0.0, boxen@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== @@ -4152,17 +5023,7 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@4.14.2: - version "4.14.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.2.tgz#1b3cec458a1ba87588cc5e9be62f19b6d48813ce" - integrity sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw== - dependencies: - caniuse-lite "^1.0.30001125" - electron-to-chromium "^1.3.564" - escalade "^3.0.2" - node-releases "^1.1.61" - -browserslist@^4.0.0, browserslist@^4.12.2, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.16.6, browserslist@^4.20.2, browserslist@^4.20.3: +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.16.6, browserslist@^4.20.2, browserslist@^4.20.3: version "4.20.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== @@ -4173,6 +5034,16 @@ browserslist@^4.0.0, browserslist@^4.12.2, browserslist@^4.14.5, browserslist@^4 node-releases "^2.0.3" picocolors "^1.0.0" +browserslist@^4.17.5, browserslist@^4.18.1, browserslist@^4.21.3, browserslist@^4.21.5, browserslist@^4.6.6: + version "4.21.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -4202,7 +5073,7 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer@^5.2.0, buffer@^5.5.0, buffer@^5.7.0: +buffer@^5.2.0, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -4210,13 +5081,12 @@ buffer@^5.2.0, buffer@^5.5.0, buffer@^5.7.0: base64-js "^1.3.1" ieee754 "^1.1.13" -busboy@^0.2.11: - version "0.2.14" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" - integrity sha1-bCpiLvz0fFe7vh4qnDetNseSVFM= +busboy@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== dependencies: - dicer "0.2.5" - readable-stream "1.1.x" + streamsearch "^1.1.0" bytes@3.0.0: version "3.0.0" @@ -4296,14 +5166,6 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - camel-case@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" @@ -4312,6 +5174,14 @@ camel-case@^3.0.0: no-case "^2.2.0" upper-case "^1.1.1" +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + camelcase-css@2.0.1, camelcase-css@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" @@ -4346,11 +5216,25 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001335: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001332: version "1.0.30001340" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001340.tgz#029a2f8bfc025d4820fafbfaa6259fd7778340c7" integrity sha512-jUNz+a9blQTQVu4uFcn17uAD8IDizPzQkIKh3LCJfg9BkyIqExYYdyc/ZSlWUSKb8iYiXxKsxbv4zYSvkqjrxw== +caniuse-lite@^1.0.30001449, caniuse-lite@^1.0.30001464: + version "1.0.30001472" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001472.tgz#3f484885f2a2986c019dc416e65d9d62798cdd64" + integrity sha512-xWC/0+hHHQgj3/vrKYY0AAzeIUgr7L9wlELIcAvZdDUHlhL/kNxMdnQLOSOQfP8R51ZzPhmHdyMkI0MMpmxCfg== + +capital-case@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669" + integrity sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + upper-case-first "^2.0.2" + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -4363,12 +5247,7 @@ ccount@^1.0.0: resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== -ccount@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" - integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== - -chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -4393,6 +5272,38 @@ chalk@^4.0, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" +change-case-all@1.0.14: + version "1.0.14" + resolved "https://registry.yarnpkg.com/change-case-all/-/change-case-all-1.0.14.tgz#bac04da08ad143278d0ac3dda7eccd39280bfba1" + integrity sha512-CWVm2uT7dmSHdO/z1CXT/n47mWonyypzBbuCy5tN7uMg22BsfkhwT6oHmFCAk+gL1LOOxhdbB9SZz3J1KTY3gA== + dependencies: + change-case "^4.1.2" + is-lower-case "^2.0.2" + is-upper-case "^2.0.2" + lower-case "^2.0.2" + lower-case-first "^2.0.2" + sponge-case "^1.0.1" + swap-case "^2.0.2" + title-case "^3.0.3" + upper-case "^2.0.2" + upper-case-first "^2.0.2" + +change-case-all@1.0.15: + version "1.0.15" + resolved "https://registry.yarnpkg.com/change-case-all/-/change-case-all-1.0.15.tgz#de29393167fc101d646cd76b0ef23e27d09756ad" + integrity sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ== + dependencies: + change-case "^4.1.2" + is-lower-case "^2.0.2" + is-upper-case "^2.0.2" + lower-case "^2.0.2" + lower-case-first "^2.0.2" + sponge-case "^1.0.1" + swap-case "^2.0.2" + title-case "^3.0.3" + upper-case "^2.0.2" + upper-case-first "^2.0.2" + change-case@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.1.0.tgz#0e611b7edc9952df2e8513b27b42de72647dd17e" @@ -4417,6 +5328,24 @@ change-case@^3.1.0: upper-case "^1.1.1" upper-case-first "^1.1.0" +change-case@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/change-case/-/change-case-4.1.2.tgz#fedfc5f136045e2398c0410ee441f95704641e12" + integrity sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== + dependencies: + camel-case "^4.1.2" + capital-case "^1.0.4" + constant-case "^3.0.4" + dot-case "^3.0.4" + header-case "^2.0.4" + no-case "^3.0.4" + param-case "^3.0.4" + pascal-case "^3.1.2" + path-case "^3.0.4" + sentence-case "^3.0.4" + snake-case "^3.0.4" + tslib "^2.0.3" + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -4427,41 +5356,21 @@ character-entities-html4@^1.0.0: resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g== -character-entities-html4@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" - integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== - character-entities-legacy@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== -character-entities-legacy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" - integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== - character-entities@^1.0.0: version "1.2.4" resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== -character-entities@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.1.tgz#98724833e1e27990dee0bd0f2b8a859c3476aac7" - integrity sha512-OzmutCf2Kmc+6DrFrrPS8/tDh2+DpnrfzdICHWhcVC9eOd0N1PXmQEE1a8iM4IziIAG+8tmTq3K+oo0ubH6RRQ== - character-reference-invalid@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== -character-reference-invalid@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" - integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== - chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -4513,7 +5422,7 @@ cheerio@^1.0.0-rc.10: parse5-htmlparser2-tree-adapter "^6.0.1" tslib "^2.2.0" -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.2, chokidar@^3.5.3: +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.2, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -4624,25 +5533,16 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - collapse-white-space@^1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" @@ -4738,7 +5638,12 @@ commander@^7.2.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -common-tags@^1.8.0, common-tags@^1.8.2: +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== + +common-tags@1.8.2, common-tags@^1.8.0, common-tags@^1.8.2: version "1.8.2" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== @@ -4748,7 +5653,7 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -component-emitter@^1.2.1, component-emitter@~1.3.0: +component-emitter@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== @@ -4830,11 +5735,6 @@ confusing-browser-globals@^1.0.10: resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - constant-case@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46" @@ -4843,6 +5743,15 @@ constant-case@^2.0.0: snake-case "^2.1.0" upper-case "^1.1.1" +constant-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-3.0.4.tgz#3b84a9aeaf4cf31ec45e6bf5de91bdfb0589faf1" + integrity sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + upper-case "^2.0.2" + content-disposition@0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" @@ -4855,29 +5764,6 @@ content-type@^1.0.4, content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -contentful-management@^7.5.1: - version "7.54.2" - resolved "https://registry.yarnpkg.com/contentful-management/-/contentful-management-7.54.2.tgz#7778b3094ea409732a7809839c118f0b8eb3e156" - integrity sha512-up7a31QsVM3ADXm6CrLGp9u/AVHO/yIDJGyS9Ztesa/xlxJgGmrEMTqUevauT1Y/5vC54gBM5S8in1zcP7atqQ== - dependencies: - "@types/json-patch" "0.0.30" - axios "^0.21.4" - contentful-sdk-core "^6.10.4" - fast-copy "^2.1.0" - lodash.isplainobject "^4.0.6" - type-fest "^2.5.3" - -contentful-sdk-core@^6.10.4: - version "6.11.0" - resolved "https://registry.yarnpkg.com/contentful-sdk-core/-/contentful-sdk-core-6.11.0.tgz#0e2bf5a7270ac1f8937ae49e798bee614e20d087" - integrity sha512-ukKxiiHdCa/izTQbA3/VUPMQB2PZW5D2KYjV9WQVOc8QjmDhu1wpEDkYxYjOrUDgT5tM7xw6umpwlifxoYe9kQ== - dependencies: - fast-copy "^2.1.0" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - p-throttle "^4.1.1" - qs "^6.9.4" - convert-hrtime@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/convert-hrtime/-/convert-hrtime-3.0.0.tgz#62c7593f5809ca10be8da858a6d2f702bcda00aa" @@ -4950,6 +5836,11 @@ core-js-pure@^3.20.2: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.22.5.tgz#bdee0ed2f9b78f2862cda4338a07b13a49b6c9a9" integrity sha512-8xo9R00iYD7TcV7OrC98GwxiUEAabVWO3dix+uyWjnYrx9fyASLlIX+f/3p5dW5qByaP2bcZ8X/T47s55et/tA== +core-js-pure@^3.23.3: + version "3.29.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.29.1.tgz#1be6ca2b8772f6b4df7fc4621743286e676c6162" + integrity sha512-4En6zYVi0i0XlXHVz/bi6l1XDjCqkKRq765NXuX+SnaIatlE96Odt5lMLjdxUiNI1v9OXI5DSLWYPlmTfkTktg== + core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" @@ -4965,6 +5856,11 @@ core-js@^3.1.3, core-js@^3.14.0, core-js@^3.17.2: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.22.5.tgz#a5f5a58e663d5c0ebb4e680cd7be37536fb2a9cf" integrity sha512-VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA== +core-js@^3.22.3: + version "3.29.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.29.1.tgz#40ff3b41588b091aaed19ca1aa5cb111803fa9a6" + integrity sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw== + core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" @@ -4978,24 +5874,6 @@ cors@^2.8.5, cors@~2.8.5: object-assign "^4" vary "^1" -cosmiconfig-toml-loader@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig-toml-loader/-/cosmiconfig-toml-loader-1.0.0.tgz#0681383651cceff918177debe9084c0d3769509b" - integrity sha512-H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA== - dependencies: - "@iarna/toml" "^2.2.5" - -cosmiconfig@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - cosmiconfig@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" @@ -5018,18 +5896,13 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -create-gatsby@^1.14.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/create-gatsby/-/create-gatsby-1.14.0.tgz#ce38df717461757fb6b775e656106c43b55a0f71" - integrity sha512-ba081Li7A7T7cHmcoE4oL+MO12k4ck5MWENPcuF9U8fTbOfICf+r3S0Mr+35YKbxr0w25RzhN5VcOS3+rokgbA== +create-gatsby@^2.25.0: + version "2.25.0" + resolved "https://registry.yarnpkg.com/create-gatsby/-/create-gatsby-2.25.0.tgz#9878d20b0bf3316565339f54a193856163d6f7da" + integrity sha512-96Kl/6Far2j65/vFv/6Mb9+T+/4oW8hlC3UmdfjgBgUIzTPFmezY1ygPu2dfCKjprWkArB8DpE7EsAaJoRKB1Q== dependencies: "@babel/runtime" "^7.15.4" -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - cross-env@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" @@ -5037,21 +5910,12 @@ cross-env@^7.0.3: dependencies: cross-spawn "^7.0.1" -cross-fetch@3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39" - integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ== - dependencies: - node-fetch "2.6.1" - -cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== +cross-fetch@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" + node-fetch "2.6.7" cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" @@ -5064,6 +5928,15 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" @@ -5082,7 +5955,7 @@ css-in-js-utils@^2.0.0: hyphenate-style-name "^1.0.2" isobject "^3.0.1" -css-loader@^5.0.1: +css-loader@^5.2.7: version "5.2.7" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.7.tgz#9b9f111edf6fb2be5dc62525644cbc9c232064ae" integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg== @@ -5111,22 +5984,7 @@ css-minimizer-webpack-plugin@^2.0.0: serialize-javascript "^5.0.1" source-map "^0.6.1" -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-select@^4.1.3, css-select@^4.3.0: +css-select@^4.1.3, css-select@^4.2.1, css-select@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== @@ -5152,14 +6010,6 @@ css-selector-parser@^1.0.0: resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.4.1.tgz#03f9cb8a81c3e5ab2c51684557d5aaf6d2569759" integrity sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g== -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" @@ -5173,11 +6023,6 @@ css-what@2.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - css-what@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" @@ -5266,7 +6111,7 @@ cssnano@^5.0.0: lilconfig "^2.0.3" yaml "^1.10.2" -csso@^4.0.2, csso@^4.2.0: +csso@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== @@ -5303,7 +6148,7 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" -damerau-levenshtein@^1.0.7: +damerau-levenshtein@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== @@ -5317,21 +6162,21 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -dataloader@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.0.0.tgz#41eaf123db115987e21ca93c005cd7753c55fe6f" - integrity sha512-YzhyDAwA4TaQIhM5go+vCLmU0UikghC/t9DTQYZR2M/UvZ1MdOhPezSDZcjj9uqQJOMqjLcpWtyW2iNINdlatQ== - dataloader@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== -date-fns@^2.14.0, date-fns@^2.17.0, date-fns@^2.21.0, date-fns@^2.23.0: +date-fns@^2.17.0, date-fns@^2.21.0: version "2.28.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== +date-fns@^2.25.0: + version "2.29.3" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8" + integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== + debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -5339,14 +6184,14 @@ debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@~4.3.1: +debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@^3.0.0, debug@^3.1.0, debug@^3.2.6, debug@^3.2.7: +debug@^3.0.0, debug@^3.0.1, debug@^3.1.0, debug@^3.2.6, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -5371,13 +6216,6 @@ decimal.js@^10.2.1: resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== -decode-named-character-reference@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.1.tgz#57b2bd9112659cacbc449d3577d7dadb8e1f3d1b" - integrity sha512-YV/0HQHreRwKb7uBopyIkLG17jG6Sv2qUchk9qSoVJ2f+flwRsPNBO0hAnjt6mTNYUT+vw9Gy2ihXg4sUWPi2w== - dependencies: - character-entities "^2.0.0" - decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -5397,6 +6235,29 @@ decompress-response@^6.0.0: dependencies: mimic-response "^3.1.0" +deep-equal@^2.0.5: + version "2.2.0" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6" + integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw== + dependencies: + call-bind "^1.0.2" + es-get-iterator "^1.1.2" + get-intrinsic "^1.1.3" + is-arguments "^1.1.1" + is-array-buffer "^3.0.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -5422,6 +6283,11 @@ defer-to-connect@^2.0.0: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + define-properties@^1.1.3, define-properties@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" @@ -5452,30 +6318,11 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" -del@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/del/-/del-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7" - integrity sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA== - dependencies: - globby "^10.0.1" - graceful-fs "^4.2.2" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.1" - p-map "^3.0.0" - rimraf "^3.0.0" - slash "^3.0.0" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - depd@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" @@ -5486,10 +6333,10 @@ depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= -dequal@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.2.tgz#85ca22025e3a87e65ef75a7a437b35284a7e319d" - integrity sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug== +dependency-graph@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" + integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== destroy@1.2.0: version "1.2.0" @@ -5513,14 +6360,6 @@ detect-libc@^2.0.0, detect-libc@^2.0.1: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd" integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== -detect-newline@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-1.0.3.tgz#e97b1003877d70c09af1af35bfadff168de4920d" - integrity sha1-6XsQA4d9cMCa8a81v63/Fo3kkg0= - dependencies: - get-stdin "^4.0.1" - minimist "^1.1.0" - detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -5536,7 +6375,7 @@ detect-node@^2.0.4, detect-node@^2.1.0: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== -detect-port-alt@1.1.6: +detect-port-alt@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== @@ -5552,10 +6391,10 @@ detect-port@^1.3.0: address "^1.0.1" debug "^2.6.0" -devcert@^1.1.3: - version "1.2.1" - resolved "https://registry.yarnpkg.com/devcert/-/devcert-1.2.1.tgz#cb545583f4dfd33ed5358dacc3756d4c3878b858" - integrity sha512-R7DqtMtsNmFVY75kzRHXON3hXoJili2xxlEcZgHi0VHSx8aJECfm7ZqAquXzTeAM/I9f8G2pHc/zq5k6iXHQzA== +devcert@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/devcert/-/devcert-1.2.2.tgz#7ebbefeb74991e269ceafcd66f2bb78677c12652" + integrity sha512-UsLqvtJGPiGwsIZnJINUnFYaWgK7CroreGRndWHZkRD58tPFr3pVbbSyHR8lbh41+azR4jKvuNZ+eCoBZGA5kA== dependencies: "@types/configstore" "^2.1.1" "@types/debug" "^0.0.30" @@ -5581,19 +6420,6 @@ devcert@^1.1.3: tmp "^0.0.33" tslib "^1.10.0" -dicer@0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" - integrity sha1-WZbAhrszIYyBLAkL3cCc0S+stw8= - dependencies: - readable-stream "1.1.x" - streamsearch "0.1.2" - -diff-sequences@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" - integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== - diff-sequences@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" @@ -5604,16 +6430,6 @@ diff-sequences@^27.5.1: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -diff@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - dir-glob@^3.0.0, dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -5732,7 +6548,7 @@ domutils@1.5.1: dom-serializer "0" domelementtype "1" -domutils@^1.5.1, domutils@^1.7.0: +domutils@^1.5.1: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== @@ -5756,6 +6572,14 @@ dot-case@^2.1.0: dependencies: no-case "^2.2.0" +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -5763,7 +6587,17 @@ dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" -dotenv@^8.2.0: +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-7.0.0.tgz#a2be3cd52736673206e8a85fb5210eea29628e7c" + integrity sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g== + +dotenv@^8.6.0: version "8.6.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== @@ -5773,7 +6607,7 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= -duplexer@^0.1.1: +duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== @@ -5783,11 +6617,16 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.564, electron-to-chromium@^1.4.118: +electron-to-chromium@^1.4.118: version "1.4.137" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== +electron-to-chromium@^1.4.284: + version "1.4.342" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.342.tgz#3c7e199c3aa89c993df4b6f5223d6d26988f58e6" + integrity sha512-dTei3VResi5bINDENswBxhL+N0Mw5YnfWyTqO75KGsVldurEkhC9+CelJVAse8jycWyP8pv3VSj4BSyP8wTWJA== + emittery@^0.7.1: version "0.7.2" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" @@ -5832,46 +6671,42 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -engine.io-client@~4.1.0: - version "4.1.4" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-4.1.4.tgz#0bda5ba4bd87bced2ad00b93c67e133d0fb981ba" - integrity sha512-843fqAdKeUMFqKi1sSjnR11tJ4wi8sIefu6+JC1OzkkJBmjtc/gM/rZ53tJfu5Iae/3gApm5veoS+v+gtT0+Fg== +engine.io-client@~6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.2.3.tgz#a8cbdab003162529db85e9de31575097f6d29458" + integrity sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw== dependencies: - base64-arraybuffer "0.1.4" - component-emitter "~1.3.0" + "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" - engine.io-parser "~4.0.1" - has-cors "1.1.0" - parseqs "0.0.6" - parseuri "0.0.6" - ws "~7.4.2" - xmlhttprequest-ssl "~1.6.2" - yeast "0.1.2" - -engine.io-parser@~4.0.0, engine.io-parser@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-4.0.3.tgz#83d3a17acfd4226f19e721bb22a1ee8f7662d2f6" - integrity sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA== - dependencies: - base64-arraybuffer "0.1.4" - -engine.io@~4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-4.1.2.tgz#f96ceb56d4b39cc7ca5bd29a20e9c99c1ad1a765" - integrity sha512-t5z6zjXuVLhXDMiFJPYsPOWEER8B0tIsD3ETgw19S1yg9zryvUfY3Vhtk3Gf4sihw/bQGIqQ//gjvVlu+Ca0bQ== - dependencies: + engine.io-parser "~5.0.3" + ws "~8.2.3" + xmlhttprequest-ssl "~2.0.0" + +engine.io-parser@~5.0.3: + version "5.0.6" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.6.tgz#7811244af173e157295dec9b2718dfe42a64ef45" + integrity sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw== + +engine.io@~6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.2.1.tgz#e3f7826ebc4140db9bbaa9021ad6b1efb175878f" + integrity sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA== + dependencies: + "@types/cookie" "^0.4.1" + "@types/cors" "^2.8.12" + "@types/node" ">=10.0.0" accepts "~1.3.4" base64id "2.0.0" cookie "~0.4.1" cors "~2.8.5" debug "~4.3.1" - engine.io-parser "~4.0.0" - ws "~7.4.2" + engine.io-parser "~5.0.3" + ws "~8.2.3" -enhanced-resolve@^5.9.3: - version "5.9.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88" - integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow== +enhanced-resolve@^5.10.0, enhanced-resolve@^5.8.3: + version "5.12.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" + integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -5898,7 +6733,7 @@ entities@^3.0.1: resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== -envinfo@^7.7.3: +envinfo@^7.8.1: version "7.8.1" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== @@ -5922,7 +6757,14 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.1.1" -es-abstract@^1.17.2, es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: +error-stack-parser@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: version "1.20.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6" integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA== @@ -5951,11 +6793,75 @@ es-abstract@^1.17.2, es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19 string.prototype.trimstart "^1.0.5" unbox-primitive "^1.0.2" +es-abstract@^1.20.4: + version "1.21.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" + integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== + dependencies: + array-buffer-byte-length "^1.0.0" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.2.0" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.7" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + +es-get-iterator@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + es-module-lexer@^0.9.0: version "0.9.3" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + es-shim-unscopables@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" @@ -5990,6 +6896,11 @@ es6-iterator@2.0.3, es6-iterator@^2.0.3: es5-ext "^0.10.35" es6-symbol "^3.1.1" +es6-promise@^4.1.1: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + es6-symbol@^3.1.1, es6-symbol@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" @@ -6008,7 +6919,7 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -escalade@^3.0.2, escalade@^3.1.1: +escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== @@ -6023,16 +6934,16 @@ escape-html@~1.0.3: resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= -escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" @@ -6072,6 +6983,15 @@ eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" +eslint-import-resolver-node@^0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== + dependencies: + debug "^3.2.7" + is-core-module "^2.11.0" + resolve "^1.22.1" + eslint-module-utils@^2.7.3: version "2.7.3" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" @@ -6080,6 +7000,13 @@ eslint-module-utils@^2.7.3: debug "^3.2.7" find-up "^2.1.0" +eslint-module-utils@^2.7.4: + version "2.7.4" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" + integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== + dependencies: + debug "^3.2.7" + eslint-plugin-eslint-comments@^3.1.2: version "3.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz#9e1cd7b4413526abb313933071d7aba05ca12ffa" @@ -6088,7 +7015,7 @@ eslint-plugin-eslint-comments@^3.1.2: escape-string-regexp "^1.0.5" ignore "^5.0.5" -eslint-plugin-flowtype@^5.9.2: +eslint-plugin-flowtype@^5.10.0: version "5.10.0" resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.10.0.tgz#7764cc63940f215bf3f0bd2d9a1293b2b9b2b4bb" integrity sha512-vcz32f+7TP+kvTUyMXZmCnNujBQZDNmcqPImw8b9PZ+16w1Qdm6ryRuYZYVaG9xRqqmAPr2Cs9FAX5gN+x/bjw== @@ -6096,17 +7023,7 @@ eslint-plugin-flowtype@^5.9.2: lodash "^4.17.15" string-natural-compare "^3.0.1" -eslint-plugin-graphql@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-graphql/-/eslint-plugin-graphql-4.0.0.tgz#d238ff2baee4d632cfcbe787a7a70a1f50428358" - integrity sha512-d5tQm24YkVvCEk29ZR5ScsgXqAGCjKlMS8lx3mS7FS/EKsWbkvXQImpvic03EpMIvNTBW5e+2xnHzXB/VHNZJw== - dependencies: - "@babel/runtime" "^7.10.0" - graphql-config "^3.0.2" - lodash.flatten "^4.4.0" - lodash.without "^4.4.0" - -eslint-plugin-import@^2.18.2, eslint-plugin-import@^2.24.2: +eslint-plugin-import@^2.18.2: version "2.26.0" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== @@ -6125,6 +7042,27 @@ eslint-plugin-import@^2.18.2, eslint-plugin-import@^2.24.2: resolve "^1.22.0" tsconfig-paths "^3.14.1" +eslint-plugin-import@^2.26.0: + version "2.27.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + array.prototype.flatmap "^1.3.1" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.7" + eslint-module-utils "^2.7.4" + has "^1.0.3" + is-core-module "^2.11.0" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.6" + resolve "^1.22.1" + semver "^6.3.0" + tsconfig-paths "^3.14.1" + eslint-plugin-jest@^22.16.0: version "22.21.0" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.21.0.tgz#8137294645866636160487d9764224b9a43e2eb1" @@ -6132,23 +7070,27 @@ eslint-plugin-jest@^22.16.0: dependencies: "@typescript-eslint/experimental-utils" "^1.13.0" -eslint-plugin-jsx-a11y@^6.4.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" - integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== +eslint-plugin-jsx-a11y@^6.6.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976" + integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== dependencies: - "@babel/runtime" "^7.16.3" - aria-query "^4.2.2" - array-includes "^3.1.4" + "@babel/runtime" "^7.20.7" + aria-query "^5.1.3" + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" ast-types-flow "^0.0.7" - axe-core "^4.3.5" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.7" + axe-core "^4.6.2" + axobject-query "^3.1.1" + damerau-levenshtein "^1.0.8" emoji-regex "^9.2.2" has "^1.0.3" - jsx-ast-utils "^3.2.1" - language-tags "^1.0.5" - minimatch "^3.0.4" + jsx-ast-utils "^3.3.3" + language-tags "=1.0.5" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + semver "^6.3.0" eslint-plugin-prettier@^3.1.1: version "3.4.1" @@ -6162,12 +7104,12 @@ eslint-plugin-promise@^4.2.1: resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== -eslint-plugin-react-hooks@^4.2.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.5.0.tgz#5f762dfedf8b2cf431c689f533c9d3fa5dcf25ad" - integrity sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw== +eslint-plugin-react-hooks@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== -eslint-plugin-react@^7.14.3, eslint-plugin-react@^7.25.1: +eslint-plugin-react@^7.14.3: version "7.29.4" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.4.tgz#4717de5227f55f3801a5fd51a16a4fa22b5914d2" integrity sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ== @@ -6187,6 +7129,27 @@ eslint-plugin-react@^7.14.3, eslint-plugin-react@^7.25.1: semver "^6.3.0" string.prototype.matchall "^4.0.6" +eslint-plugin-react@^7.30.1: + version "7.32.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" + integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.0" + string.prototype.matchall "^4.0.8" + eslint-scope@5.1.1, eslint-scope@^5.0.0, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -6227,15 +7190,15 @@ eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-webpack-plugin@^2.5.4: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.6.0.tgz#3bd4ada4e539cb1f6687d2f619073dbb509361cd" - integrity sha512-V+LPY/T3kur5QO3u+1s34VDTcRxjXWPUGM4hlmTb5DwVD0OQz631yGTxJZf4SpAqAjdbBVe978S8BJeHpAdOhQ== +eslint-webpack-plugin@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.7.0.tgz#0525793a4f8c652c1c6d863995ce1e0f2dcbd143" + integrity sha512-bNaVVUvU4srexGhVcayn/F4pJAz19CWBkKoMx7aSQ4wtTbZQCnG5O9LHCE42mM+JSKOUp7n6vd5CIwzj7lOVGA== dependencies: - "@types/eslint" "^7.28.2" + "@types/eslint" "^7.29.0" arrify "^2.0.1" - jest-worker "^27.3.1" - micromatch "^4.0.4" + jest-worker "^27.5.1" + micromatch "^4.0.5" normalize-path "^3.0.0" schema-utils "^3.1.1" @@ -6323,19 +7286,6 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== -estree-util-is-identifier-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.0.tgz#e2d3d2ae3032c017b2112832bfc5d8ba938c8010" - integrity sha512-aXXZFVMnBBDRP81vS4YtAYJ0hUkgEsXea7lNKWCOeaAquGb1Jm2rcONPB5fpzwgbNxulTvrWuKnp9UElUGAKeQ== - -estree-util-visit@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-1.1.0.tgz#c0ea7942c40ac7889a77b57a11e92f987744bc6f" - integrity sha512-3lXJ4Us9j8TUif9cWcQy81t9p5OLasnDuuhrFiqb+XstmKC1d1LmrQWYsY49/9URcfHE64mPypDBaNK9NwWDPQ== - dependencies: - "@types/estree-jsx" "^0.0.1" - "@types/unist" "^2.0.0" - esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -6362,22 +7312,12 @@ event-emitter@^0.3.5: d "1" es5-ext "~0.10.14" -event-source-polyfill@^1.0.15: - version "1.0.26" - resolved "https://registry.yarnpkg.com/event-source-polyfill/-/event-source-polyfill-1.0.26.tgz#86c04d088ef078279168eefa028f928fec5059a4" - integrity sha512-IwDLs9fUTcGAyacHBeS53T8wcEkDyDn0UP4tfQqJ4wQP8AyH0mszuQf2ULTylnpI0sMquzJ4usrNV7+uztwI9A== - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -eventemitter3@^3.1.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" - integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== +event-source-polyfill@1.0.25: + version "1.0.25" + resolved "https://registry.yarnpkg.com/event-source-polyfill/-/event-source-polyfill-1.0.25.tgz#d8bb7f99cb6f8119c2baf086d9f6ee0514b6d9c8" + integrity sha512-hQxu6sN1Eq4JjoI7ITdQeGGUN193A2ra83qC0Ltm9I2UJVAten3OFVN6k5RX4YWeCS0BoC8xg/5czOCIHVosQg== -eventemitter3@^4.0.0, eventemitter3@^4.0.4: +eventemitter3@^4.0.4: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== @@ -6485,6 +7425,15 @@ express-graphql@^0.12.0: http-errors "1.8.0" raw-body "^2.4.1" +express-http-proxy@^1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/express-http-proxy/-/express-http-proxy-1.6.3.tgz#f3ef139ffd49a7962e7af0462bbcca557c913175" + integrity sha512-/l77JHcOUrDUX8V67E287VEUQT0lbm71gdGVoodnlWBziarYKgMcpqT7xvh/HM8Jv52phw8Bd8tY+a7QjOr7Yg== + dependencies: + debug "^3.0.1" + es6-promise "^4.1.1" + raw-body "^2.3.0" + express@^4.17.1: version "4.18.1" resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" @@ -6572,16 +7521,6 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extract-files@9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-9.0.0.tgz#8a7744f2437f81f5ed3250ed9f1550de902fe54a" - integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ== - -fast-copy@^2.1.0: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fast-copy/-/fast-copy-2.1.3.tgz#bf6e05ac3cb7a9d66fbf12c51dd4440e9ddd4afb" - integrity sha512-LDzYKNTHhD+XOp8wGMuCkY4eTxFZOOycmpwLBiuF3r3OjOmZnURRD8t2dUAbmKuXGbo/MGggwbSjcBdp8QT0+g== - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -6592,7 +7531,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^3.0.3, fast-glob@^3.1.1, fast-glob@^3.2.9: +fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== @@ -6628,7 +7567,7 @@ fastest-stable-stringify@^2.0.2: resolved "https://registry.yarnpkg.com/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz#3757a6774f6ec8de40c4e86ec28ea02417214c76" integrity sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q== -fastq@^1.10.0, fastq@^1.11.1, fastq@^1.13.0, fastq@^1.6.0: +fastq@^1.13.0, fastq@^1.6.0: version "1.13.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== @@ -6642,6 +7581,11 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" +fbjs-css-vars@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" + integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== + fbjs@^0.8.16: version "0.8.18" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.18.tgz#9835e0addb9aca2eff53295cd79ca1cfc7c9662a" @@ -6655,6 +7599,19 @@ fbjs@^0.8.16: setimmediate "^1.0.5" ua-parser-js "^0.7.30" +fbjs@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.4.tgz#e1871c6bd3083bac71ff2da868ad5067d37716c6" + integrity sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ== + dependencies: + cross-fetch "^3.1.5" + fbjs-css-vars "^1.0.0" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.30" + fd@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/fd/-/fd-0.0.3.tgz#b3240de86dbf5a345baae7382a07d4713566ff0c" @@ -6732,10 +7689,10 @@ filenamify@^4.3.0: strip-outer "^1.0.1" trim-repeated "^1.0.0" -filesize@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00" - integrity sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg== +filesize@^8.0.6: + version "8.0.7" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" + integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== fill-range@^4.0.0: version "4.0.0" @@ -6772,7 +7729,7 @@ finalhandler@1.2.0: statuses "2.0.1" unpipe "~1.0.0" -find-cache-dir@^3.3.1: +find-cache-dir@^3.3.1, find-cache-dir@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== @@ -6786,14 +7743,6 @@ find-root@^1.1.0: resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -6808,6 +7757,22 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -6828,12 +7793,19 @@ focus-lock@^0.11.2: dependencies: tslib "^2.0.3" -follow-redirects@^1.0.0, follow-redirects@^1.14.0: +follow-redirects@^1.14.0: version "1.15.0" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4" integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== -for-in@^1.0.2: +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= @@ -6843,27 +7815,24 @@ foreach@^2.0.5: resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.6.tgz#87bcc8a1a0e74000ff2bf9802110708cfb02eb6e" integrity sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== -fork-ts-checker-webpack-plugin@4.1.6: - version "4.1.6" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz#5055c703febcf37fa06405d400c122b905167fc5" - integrity sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw== +fork-ts-checker-webpack-plugin@^6.5.0: + version "6.5.3" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" + integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== dependencies: - "@babel/code-frame" "^7.5.5" - chalk "^2.4.1" - micromatch "^3.1.10" + "@babel/code-frame" "^7.8.3" + "@types/json-schema" "^7.0.5" + chalk "^4.1.0" + chokidar "^3.4.2" + cosmiconfig "^6.0.0" + deepmerge "^4.2.2" + fs-extra "^9.0.0" + glob "^7.1.6" + memfs "^3.1.2" minimatch "^3.0.4" - semver "^5.6.0" + schema-utils "2.7.0" + semver "^7.3.2" tapable "^1.0.0" - worker-rpc "^0.1.0" - -form-data@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" form-data@^3.0.0: version "3.0.1" @@ -6943,7 +7912,7 @@ fs-extra@^9.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-monkey@1.0.3: +fs-monkey@1.0.3, fs-monkey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== @@ -6988,49 +7957,52 @@ functions-have-names@^1.2.2: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -gatsby-cli@^3.14.2: - version "3.14.2" - resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-3.14.2.tgz#1d4ebeb199c3a910d80abc13f458888c8cd7f2f8" - integrity sha512-p3E6XyzwVPGpHd0AYVkvnPkZoEElWLWjAG10173k5aGtpoM6dIuJuSlgBPrjeev9PQ7y3oCoCO3zBjnGdB1/WQ== +gatsby-cli@^4.25.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-4.25.0.tgz#da76a6a61a97948c6ce07984b33c911554982f51" + integrity sha512-CJ2PCsfFmn9Xqc/jg9MFMU1BG5oQGiej1TFFx8GhChJ+kGhi9ANnNM+qo1K4vOmoMnsT4SSGiPAFD10AWFqpAQ== dependencies: "@babel/code-frame" "^7.14.0" + "@babel/core" "^7.15.5" + "@babel/generator" "^7.16.8" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/preset-typescript" "^7.16.7" "@babel/runtime" "^7.15.4" - "@types/common-tags" "^1.8.0" - better-opn "^2.0.0" + "@babel/template" "^7.16.7" + "@babel/types" "^7.16.8" + "@jridgewell/trace-mapping" "^0.3.13" + "@types/common-tags" "^1.8.1" + better-opn "^2.1.1" + boxen "^5.1.2" chalk "^4.1.2" clipboardy "^2.3.0" - common-tags "^1.8.0" - configstore "^5.0.1" + common-tags "^1.8.2" convert-hrtime "^3.0.0" - create-gatsby "^1.14.0" - envinfo "^7.7.3" + create-gatsby "^2.25.0" + envinfo "^7.8.1" execa "^5.1.1" fs-exists-cached "^1.0.0" - fs-extra "^10.0.0" - gatsby-core-utils "^2.14.0" - gatsby-recipes "^0.25.0" - gatsby-telemetry "^2.14.0" - hosted-git-info "^3.0.6" + fs-extra "^10.1.0" + gatsby-core-utils "^3.25.0" + gatsby-telemetry "^3.25.0" + hosted-git-info "^3.0.8" is-valid-path "^0.1.1" - joi "^17.4.0" + joi "^17.4.2" lodash "^4.17.21" - meant "^1.0.2" - node-fetch "^2.6.1" - opentracing "^0.14.4" - pretty-error "^2.1.1" + node-fetch "^2.6.6" + opentracing "^0.14.5" + pretty-error "^2.1.2" progress "^2.0.3" - prompts "^2.3.2" - redux "^4.0.5" + prompts "^2.4.2" + redux "4.1.2" resolve-cwd "^3.0.0" - semver "^7.3.5" - signal-exit "^3.0.3" - source-map "0.7.3" + semver "^7.3.7" + signal-exit "^3.0.6" stack-trace "^0.0.10" - strip-ansi "^5.2.0" - update-notifier "^5.0.1" - uuid "3.4.0" + strip-ansi "^6.0.1" + update-notifier "^5.1.0" yargs "^15.4.1" - yoga-layout-prebuilt "^1.9.6" + yoga-layout-prebuilt "^1.10.0" yurnalist "^2.1.0" gatsby-core-utils@^1.3.8: @@ -7083,10 +8055,10 @@ gatsby-core-utils@^3.25.0: tmp "^0.2.1" xdg-basedir "^4.0.0" -gatsby-graphiql-explorer@^1.14.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-1.14.0.tgz#2049d6b2cf1612c80faf3983c72a41cb9d6bb116" - integrity sha512-OdwNGWDzrzmLHx8n02yrnuQo2ePsEsnrZHI/EZvb6I14fnSBizeW7rV35/5ppxdqV/1nsfNSMpzmFK+5ySVSEA== +gatsby-graphiql-explorer@^2.25.0: + version "2.25.0" + resolved "https://registry.yarnpkg.com/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-2.25.0.tgz#78fe692009739cbd330b6c10a1cfebcff8301ab8" + integrity sha512-/NDsaW4x3/KtvzmxYvedhDwUW1kb7gQO6iOhCkillVJSYBd6mPB8aOSulM49fyCT76UXGYFtRaUI8fyOkmpWhg== dependencies: "@babel/runtime" "^7.15.4" @@ -7099,36 +8071,54 @@ gatsby-image@^3.8.0: object-fit-images "^3.2.4" prop-types "^15.7.2" -gatsby-legacy-polyfills@^1.14.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/gatsby-legacy-polyfills/-/gatsby-legacy-polyfills-1.14.0.tgz#b633f8d5433a1545b09f736d89ee7a11371dde7a" - integrity sha512-IGto7YurB4cEm6r07Lr/hSPZZvrkT1/0YdGpZQp7rC6CdSLqyWO9X5CS9F111NJyJhLusHCr9ZuRJG5cA0SYxQ== +gatsby-legacy-polyfills@^2.25.0: + version "2.25.0" + resolved "https://registry.yarnpkg.com/gatsby-legacy-polyfills/-/gatsby-legacy-polyfills-2.25.0.tgz#1a8633df7fff795a70cdf4d43a8d0251674940ab" + integrity sha512-cMeFwMH1FGENo2gNpyTyMYc/CJ7uBGE26n89OGrVVvBMaQegK+CMNZBOh09sLrXUcOp8hSOX2IwzvOlo6CdWpg== dependencies: "@babel/runtime" "^7.15.4" core-js-compat "3.9.0" -gatsby-link@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby-link/-/gatsby-link-3.14.0.tgz#7269a5cb7f267a326fa30c718330e8e39f8685a6" - integrity sha512-a7ZC6aQZ+dz6lhkW0nrg33zlFQq9DADvtl/wwk3W3GdTlseDNOC+iry11tLMEthisUQZ2H3SZGJyVeNuQkdFsw== +gatsby-link@^4.25.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/gatsby-link/-/gatsby-link-4.25.0.tgz#f7bd0b1e8c74be14e67cd649de1c4aa25f145237" + integrity sha512-Fpwk45sUMPvFUAZehNE8SLb3vQyVSxt9YxU++ZZECyukK4A/3Wxk3eIzoNvwfpMfWu6pnAkqcBhIO6KAfvbPGQ== dependencies: - "@babel/runtime" "^7.15.4" - "@types/reach__router" "^1.3.9" - prop-types "^15.7.2" + "@types/reach__router" "^1.3.10" + gatsby-page-utils "^2.25.0" + prop-types "^15.8.1" -gatsby-page-utils@^1.14.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/gatsby-page-utils/-/gatsby-page-utils-1.14.0.tgz#c7363cf20d43c3d32d5293a5cd1bf9e6be501b09" - integrity sha512-Hjyxq4XnbUYCaYc5Ta7xXML1S3qLNkTv3xYQn2W91LuVDY4/u27LaOgzIYOVPMlHUSfocfhu0CMFmXw4fOjGFg== +gatsby-page-utils@^2.25.0: + version "2.25.0" + resolved "https://registry.yarnpkg.com/gatsby-page-utils/-/gatsby-page-utils-2.25.0.tgz#1bd878b1a1a8b51822437bf8cbe2d5b38bfcee3e" + integrity sha512-TlwS149JCeb3xGANeV8HdcQi9Q8J9hYwlO9jdxLGVIXVGbWIMWFrDuwx382jOOsISGQ3jfByToNulUzO6fiqig== dependencies: "@babel/runtime" "^7.15.4" bluebird "^3.7.2" - chokidar "^3.5.2" + chokidar "^3.5.3" fs-exists-cached "^1.0.0" - gatsby-core-utils "^2.14.0" - glob "^7.1.7" + gatsby-core-utils "^3.25.0" + glob "^7.2.3" lodash "^4.17.21" - micromatch "^4.0.4" + micromatch "^4.0.5" + +gatsby-parcel-config@0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/gatsby-parcel-config/-/gatsby-parcel-config-0.16.0.tgz#a71a55f9cd912b1e84a723089a16c5ef90520e31" + integrity sha512-2+hOg6cMBGZ8r+4lN3k+dOWGvku453vbZCAhp6V3RuFYxbWuvDFP7Icr0GCOyZ62utkFr9m7H2U1Wjf4KOHyEQ== + dependencies: + "@gatsbyjs/parcel-namer-relative-to-cwd" "^1.10.0" + "@parcel/bundler-default" "2.6.2" + "@parcel/compressor-raw" "2.6.2" + "@parcel/namer-default" "2.6.2" + "@parcel/optimizer-terser" "2.6.2" + "@parcel/packager-js" "2.6.2" + "@parcel/packager-raw" "2.6.2" + "@parcel/reporter-dev-server" "2.6.2" + "@parcel/resolver-default" "2.6.2" + "@parcel/runtime-js" "2.6.2" + "@parcel/transformer-js" "2.6.2" + "@parcel/transformer-json" "2.6.2" gatsby-plugin-emotion@^6.10.0: version "6.14.0" @@ -7138,19 +8128,18 @@ gatsby-plugin-emotion@^6.10.0: "@babel/runtime" "^7.15.4" "@emotion/babel-preset-css-prop" "^11.2.0" -gatsby-plugin-gatsby-cloud@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/gatsby-plugin-gatsby-cloud/-/gatsby-plugin-gatsby-cloud-3.2.1.tgz#8867f2fb35c5a278aedd0e95fdda8df00b2bc19e" - integrity sha512-SRDa/n4A2o78zTEQXxZ7nMxBUp9S0JMS9YcfG74c5md2YCJeBAvGiIQGuCC4OtvKMB/U6qscgvoiNF8fG7g21Q== +gatsby-plugin-gatsby-cloud@^4.20.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-gatsby-cloud/-/gatsby-plugin-gatsby-cloud-4.25.0.tgz#e2a66de27558a61a8ead36abc2cd57e62254c6f4" + integrity sha512-rDrkbiRkC2AlsUQFBylc07ll49FXNmpqFMH87KoImC/jf17gIkF/+rJJpeH7BSM3PNEaSyZ7C5kFkQ1/mmrIig== dependencies: "@babel/runtime" "^7.15.4" - date-fns "^2.23.0" - fs-extra "^10.0.0" - gatsby-core-utils "^2.14.0" - gatsby-telemetry "^2.14.0" + fs-extra "^10.1.0" + gatsby-core-utils "^3.25.0" + gatsby-telemetry "^3.25.0" kebab-hash "^0.1.2" lodash "^4.17.21" - webpack-assets-manifest "^5.0.6" + webpack-assets-manifest "^5.1.0" gatsby-plugin-layout@^2.10.0: version "2.14.0" @@ -7159,16 +8148,16 @@ gatsby-plugin-layout@^2.10.0: dependencies: "@babel/runtime" "^7.15.4" -gatsby-plugin-manifest@^3.8.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-manifest/-/gatsby-plugin-manifest-3.14.0.tgz#1f17e35f2e51b86f627d74a6fd6ccfefc4968ddd" - integrity sha512-l++KGG/3/8iwUExJ8oXUHF5ra7P//xQkkhoDybUu3N7+9jpp9S2j4NWqJvgpMhRbh09zcUfuw7usII0sJO24lA== +gatsby-plugin-manifest@^4.20.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-manifest/-/gatsby-plugin-manifest-4.25.0.tgz#b1a1fbcc035f242ee05094849817d75b488afa7c" + integrity sha512-2n7v+TvhWUMoOJEaeiPDFsf9jvOImKLZpnzxE8e6ZeeoGeDngXSZhkkP3x2UYIknHtZXUUjFJh8BaVBXiB1dSQ== dependencies: "@babel/runtime" "^7.15.4" - gatsby-core-utils "^2.14.0" - gatsby-plugin-utils "^1.14.0" - semver "^7.3.5" - sharp "^0.29.0" + gatsby-core-utils "^3.25.0" + gatsby-plugin-utils "^3.19.0" + semver "^7.3.7" + sharp "^0.30.7" gatsby-plugin-mdx@^2.8.0: version "2.14.0" @@ -7233,21 +8222,22 @@ gatsby-plugin-offline@^4.8.0: lodash "^4.17.21" workbox-build "^4.3.1" -gatsby-plugin-page-creator@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-3.14.0.tgz#d16eba7e270206207309576200881dd95cc46cde" - integrity sha512-Y7Ims8CkdDpDYrr/42aFM4wTdpBTxIYe7VakdV8m0fJGb1OdD1W/7Wc9yOj+yBTqMgeeXXp45pg26wsjiG5H9w== +gatsby-plugin-page-creator@^4.25.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-4.25.0.tgz#6f47f1a49e18af9ef42207c22b20f5d78ccc02fb" + integrity sha512-plHek7xHSV9l1bLPa1JAnxzBqP7j2ihCPRwpBk/wIJAR8cG65wjAT+Nu8DKpW0+2/MYill84ns1r2m8g0L/7bg== dependencies: "@babel/runtime" "^7.15.4" "@babel/traverse" "^7.15.4" "@sindresorhus/slugify" "^1.1.2" - chokidar "^3.5.2" + chokidar "^3.5.3" fs-exists-cached "^1.0.0" - gatsby-core-utils "^2.14.0" - gatsby-page-utils "^1.14.0" - gatsby-plugin-utils "^1.14.0" - gatsby-telemetry "^2.14.0" - globby "^11.0.4" + fs-extra "^10.1.0" + gatsby-core-utils "^3.25.0" + gatsby-page-utils "^2.25.0" + gatsby-plugin-utils "^3.19.0" + gatsby-telemetry "^3.25.0" + globby "^11.1.0" lodash "^4.17.21" gatsby-plugin-react-helmet@^5.4.0: @@ -7292,29 +8282,23 @@ gatsby-plugin-sharp@4.25.0: semver "^7.3.7" sharp "^0.30.7" -gatsby-plugin-sharp@^3.8.0: - version "3.14.3" - resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-3.14.3.tgz#3db33ddfb2b83365ee2314eaaee6d1ceed046032" - integrity sha512-96H2HxJe4EHjnwp3Qn2LoKoPwciMf5TXwir9h9QR/+fTqld0OhU5Q4PjWciELmGXW7AzXKpSoTvRmA322kgPhg== +gatsby-plugin-sharp@^4.20.0: + version "4.25.1" + resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-4.25.1.tgz#dcc31bdc698511501acc9b95ba277844c15a7576" + integrity sha512-cGRb8lmwJkzwT1Qze0R+VL+55BIb9weM17m+dUf6gs5Z++lQltqge+L8a1qWWsGL6KfLQN7+bIqjhmTTscIPMQ== dependencies: "@babel/runtime" "^7.15.4" - async "^3.2.1" + async "^3.2.4" bluebird "^3.7.2" + debug "^4.3.4" filenamify "^4.3.0" - fs-extra "^10.0.0" - gatsby-core-utils "^2.14.0" - gatsby-plugin-utils "^1.14.0" - gatsby-telemetry "^2.14.0" - got "^11.8.2" + fs-extra "^10.1.0" + gatsby-core-utils "^3.25.0" + gatsby-plugin-utils "^3.19.0" lodash "^4.17.21" - mini-svg-data-uri "^1.3.3" - potrace "^2.1.8" - probe-image-size "^6.0.0" - progress "^2.0.3" - semver "^7.3.5" - sharp "^0.29.0" - svgo "1.3.2" - uuid "3.4.0" + probe-image-size "^7.2.3" + semver "^7.3.7" + sharp "^0.30.7" gatsby-plugin-sitemap@^4.6.0: version "4.10.0" @@ -7326,10 +8310,10 @@ gatsby-plugin-sitemap@^4.6.0: minimatch "^3.0.4" sitemap "^7.0.0" -gatsby-plugin-typescript@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-typescript/-/gatsby-plugin-typescript-3.14.0.tgz#5f079f59576f768025cad0d79feaf62c00812a96" - integrity sha512-gQVkLFPvO9g+O+DdY9nw+1SAelF2yOQ+CqpFJ9aDllf/JUyxNbajND7nbYkLCiDja86yi3ZNCkZR2yp8qWZnpQ== +gatsby-plugin-typescript@^4.25.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-typescript/-/gatsby-plugin-typescript-4.25.0.tgz#e498d00a4e811157fae0214bee9bfae13c569ef6" + integrity sha512-8BTtiVWuIqIEGx/PBBMWd6FYPgel16hT3js7SMo5oI9K4EPsSxRItgRf41MTJGxRR20EhL4e99g2S8x0v1+odA== dependencies: "@babel/core" "^7.15.5" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" @@ -7337,7 +8321,7 @@ gatsby-plugin-typescript@^3.14.0: "@babel/plugin-proposal-optional-chaining" "^7.14.5" "@babel/preset-typescript" "^7.15.0" "@babel/runtime" "^7.15.4" - babel-plugin-remove-graphql-queries "^3.14.0" + babel-plugin-remove-graphql-queries "^4.25.0" gatsby-plugin-use-dark-mode@^1.3.0: version "1.5.0" @@ -7347,14 +8331,6 @@ gatsby-plugin-use-dark-mode@^1.3.0: prop-types "^15.8.1" terser "^4.0.0" -gatsby-plugin-utils@^1.14.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-utils/-/gatsby-plugin-utils-1.14.0.tgz#7813ce967a0bc2fd89560706db879fbf5b894795" - integrity sha512-lYzr9R9yTH/PzgRTWB878yB1xBlJULvyosEoF8LnE62+UyuPXxv+e/frfwZCeCoqsqstuciR0yaMELIPYMna+Q== - dependencies: - "@babel/runtime" "^7.15.4" - joi "^17.4.2" - gatsby-plugin-utils@^3.19.0: version "3.19.0" resolved "https://registry.yarnpkg.com/gatsby-plugin-utils/-/gatsby-plugin-utils-3.19.0.tgz#f464b02cc51dcdc0c0e094b7352ee4bf660126ea" @@ -7370,77 +8346,13 @@ gatsby-plugin-utils@^3.19.0: joi "^17.4.2" mime "^3.0.0" -gatsby-react-router-scroll@^4.14.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/gatsby-react-router-scroll/-/gatsby-react-router-scroll-4.14.0.tgz#8825c437f2ce07144dff2013f405b43af8159069" - integrity sha512-ahsJqhqSroRsm+BySUUNNrTLWOzjxb8zBP6UNja/VssEYAiGnG3V7ycVqpzMXDnWnZAKTSGIO7B3ZiM5sf6mYw== - dependencies: - "@babel/runtime" "^7.15.4" - -gatsby-recipes@^0.25.0: - version "0.25.0" - resolved "https://registry.yarnpkg.com/gatsby-recipes/-/gatsby-recipes-0.25.0.tgz#60df7d82344721ad06d4f221a570b6efc38e45a4" - integrity sha512-eEbmmAWY78pL1zLrx0M0CNC4fMbzKza/Ug0vSQ7egfAqNk74Lt0csgODRGdBLVHbmRRKYmJpJIXK7NdE+ZWh4A== +gatsby-react-router-scroll@^5.25.0: + version "5.25.0" + resolved "https://registry.yarnpkg.com/gatsby-react-router-scroll/-/gatsby-react-router-scroll-5.25.0.tgz#86cec0acc0594db01e7f3c37cf5034e034f2b635" + integrity sha512-SFSdezIa5lahCE8ieCLrtLA5tztemGco/rN8si9rI9KHu1h1jPvDhsNqs2g+Z50JrUb1RPfsmxJTmLa5i6MIgQ== dependencies: - "@babel/core" "^7.15.5" - "@babel/generator" "^7.15.4" - "@babel/helper-plugin-utils" "^7.14.0" - "@babel/plugin-proposal-optional-chaining" "^7.14.5" - "@babel/plugin-transform-react-jsx" "^7.14.9" "@babel/runtime" "^7.15.4" - "@babel/standalone" "^7.15.5" - "@babel/template" "^7.15.4" - "@babel/types" "^7.15.4" - "@graphql-tools/schema" "^7.0.0" - "@graphql-tools/utils" "^7.0.2" - "@hapi/hoek" "8.x.x" - "@hapi/joi" "^15.1.1" - better-queue "^3.8.10" - chokidar "^3.5.2" - contentful-management "^7.5.1" - cors "^2.8.5" - debug "^4.3.1" - detect-port "^1.3.0" - dotenv "^8.2.0" - execa "^5.1.1" - express "^4.17.1" - express-graphql "^0.12.0" - fs-extra "^10.0.0" - gatsby-core-utils "^2.14.0" - gatsby-telemetry "^2.14.0" - glob "^7.1.6" - graphql "^15.4.0" - graphql-compose "~7.25.0" - graphql-subscriptions "^1.1.0" - graphql-type-json "^0.3.2" - hicat "^0.8.0" - is-binary-path "^2.1.0" - is-url "^1.2.4" - jest-diff "^25.5.0" - lock "^1.0.0" - lodash "^4.17.21" - mitt "^1.2.0" - mkdirp "^0.5.1" - node-fetch "^2.5.0" - pkg-dir "^4.2.0" - prettier "^2.3.2" - prop-types "^15.6.1" - remark-mdx "^2.0.0-next.4" - remark-mdxjs "^2.0.0-next.4" - remark-parse "^6.0.3" - remark-stringify "^8.1.0" - resolve-from "^5.0.0" - semver "^7.3.5" - single-trailing-newline "^1.0.0" - strip-ansi "^6.0.0" - style-to-object "^0.3.0" - unified "^8.4.2" - unist-util-remove "^2.0.0" - unist-util-visit "^2.0.2" - uuid "3.4.0" - ws "^7.3.0" - xstate "^4.9.1" - yoga-layout-prebuilt "^1.9.6" + prop-types "^15.8.1" gatsby-remark-copy-linked-files@^4.5.0: version "4.11.0" @@ -7473,6 +8385,11 @@ gatsby-remark-images@^5.5.0: unist-util-select "^3.0.4" unist-util-visit-parents "^3.1.1" +gatsby-script@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/gatsby-script/-/gatsby-script-1.10.0.tgz#0096ceaee2f251528c02bed5e7e058314d359127" + integrity sha512-8jAtQR0mw3G8sCy6i2D1jfGvUF5d9AIboEQuo9ZEChT4Ep5f+PSRxiWZqSjhKvintAOIeS4QXCJP5Rtp3xZKLg== + gatsby-sharp@^0.19.0: version "0.19.0" resolved "https://registry.yarnpkg.com/gatsby-sharp/-/gatsby-sharp-0.19.0.tgz#c2c35d885103ebf9d2733737db798312897a716c" @@ -7481,26 +8398,7 @@ gatsby-sharp@^0.19.0: "@types/sharp" "^0.30.5" sharp "^0.30.7" -gatsby-source-filesystem@^3.8.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-3.14.0.tgz#ae2b930091a932b33270cb9cc2d9caaf0abc1742" - integrity sha512-Gg5GGxiWXhjapWMYdXOGk7zp+ajYowS+xNmaDUkL1gH+IQLvE18XbvKh00B/HiFaHm4azJfS2QRrRI/mPTZX+w== - dependencies: - "@babel/runtime" "^7.15.4" - chokidar "^3.5.2" - fastq "^1.11.1" - file-type "^16.5.3" - fs-extra "^10.0.0" - gatsby-core-utils "^2.14.0" - got "^9.6.0" - md5-file "^5.0.0" - mime "^2.5.2" - pretty-bytes "^5.4.1" - progress "^2.0.3" - valid-url "^1.0.9" - xstate "^4.14.0" - -gatsby-source-filesystem@^4.25.0: +gatsby-source-filesystem@^4.20.0, gatsby-source-filesystem@^4.25.0: version "4.25.0" resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-4.25.0.tgz#2748b0abd37abea0fbf70f33fb544debee3280ff" integrity sha512-gja4++bPkYpnum4/TxFicr3zRHBArnM2HjT77EE4EuDhdl6qlJYr/heD09LIPN2jdR5gmPwMDjIZnuYZ/6j/aQ== @@ -7516,30 +8414,28 @@ gatsby-source-filesystem@^4.25.0: valid-url "^1.0.9" xstate "4.32.1" -gatsby-telemetry@^2.14.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-2.14.0.tgz#d4f9ec0623bac509999586e2e9f4a211661d43e7" - integrity sha512-c8/1L1nkK1OcxYV7axyoyM+7nzM1WL7DXvgxJloI7NSwb6M3EgcWvgq9bmqUAfmWM29/whR07mO7nnl1jZntyA== +gatsby-telemetry@^3.25.0: + version "3.25.0" + resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-3.25.0.tgz#1e5b109927fd465daa097fd3946ab2a9eb39b25a" + integrity sha512-FGC1yS2evJxTN/Ku9XonCBiqhH6uO6aPjjps65BbL+Xbpct/qfirIFxYG6DhHPrksR0fKOhstJGnQqay74hWdQ== dependencies: "@babel/code-frame" "^7.14.0" "@babel/runtime" "^7.15.4" - "@turist/fetch" "^7.1.7" + "@turist/fetch" "^7.2.0" "@turist/time" "^0.0.2" - async-retry-ng "^2.0.1" boxen "^4.2.0" configstore "^5.0.1" - fs-extra "^10.0.0" - gatsby-core-utils "^2.14.0" - git-up "^4.0.5" + fs-extra "^10.1.0" + gatsby-core-utils "^3.25.0" + git-up "^7.0.0" is-docker "^2.2.1" lodash "^4.17.21" - node-fetch "^2.6.1" - uuid "3.4.0" + node-fetch "^2.6.7" -gatsby-transformer-json@^3.8.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby-transformer-json/-/gatsby-transformer-json-3.14.0.tgz#b1624a25e20f6bbf70181f5c1284e67abfac7c7a" - integrity sha512-bEewDHg9o4ghIe28gXy5kVm7ARqhTlzkfN1E7RZeWzd0jmMZAJHBmboQOE1cbJopODspkNvCySvDXfGF/sgUBQ== +gatsby-transformer-json@^4.20.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/gatsby-transformer-json/-/gatsby-transformer-json-4.25.0.tgz#5d169f3479b1d216234936f294a23c8385b5a1d8" + integrity sha512-EL+n262zp+qv5Rw2iNMJIMBYgguKI5U233+w5/hcSitsmKIURi8sVw7hHn3SBorE2baBn62nMVybeTTLMCuPlA== dependencies: "@babel/runtime" "^7.15.4" bluebird "^3.7.2" @@ -7558,18 +8454,32 @@ gatsby-transformer-sharp@4.25.0: semver "^7.3.7" sharp "^0.30.7" -gatsby-worker@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/gatsby-worker/-/gatsby-worker-0.5.0.tgz#9338367ec1c7af18b1167bd62c2e62cc74bfa888" - integrity sha512-r9BBUqCfHESSHfVvBW4tajacZ+tSxqWm+j5RB+Av8sBEhbMBFCHmWdU2USs7Bt0lvRpybwU5oxswb6nmeKkaSg== +gatsby-transformer-sharp@4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/gatsby-transformer-sharp/-/gatsby-transformer-sharp-4.6.0.tgz#a9c2ee2007df2ffb6a941c736588295bca26c10a" + integrity sha512-hf1GohwPhjKg1tRFI3GfJS3SxVoXI+j7MqwPsWetzRvaFy+3kecmU/azklnTfT7/2LexfDxtso9/lCHgFl5fIQ== + dependencies: + "@babel/runtime" "^7.15.4" + bluebird "^3.7.2" + common-tags "^1.8.2" + fs-extra "^10.0.0" + potrace "^2.1.8" + probe-image-size "^6.0.0" + semver "^7.3.5" + sharp "^0.29.3" + +gatsby-worker@^1.25.0: + version "1.25.0" + resolved "https://registry.yarnpkg.com/gatsby-worker/-/gatsby-worker-1.25.0.tgz#0bbed669f3b21345a350743b9826cbfd007fa3a9" + integrity sha512-gjp28irgHASihwvMyF5aZMALWGax9mEmcD8VYGo2osRe7p6BZuWi4cSuP9XM9EvytDvIugpnSadmTP01B7LtWg== dependencies: "@babel/core" "^7.15.5" "@babel/runtime" "^7.15.4" -gatsby@^3.8.0: - version "3.14.6" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.6.tgz#b05769f27ccccaf90c7c5b483a7d11bf74f45101" - integrity sha512-H9IOoqkyzu0gEDzLUcm7pGSgwJbR338z+fjp4NsLlE4DkkA2T4H6nWRXLYoDwtNC+X2wfWSrwX8ui2wosAmQOQ== +gatsby@^4.20.0: + version "4.25.5" + resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-4.25.5.tgz#86538a145c4301ddb4cae6dfab1c765ec938a72b" + integrity sha512-erPH6TcKFkhV/nrk3kIpDEA1XwktTXKo+wzPBIgzEF4SNrn0WkGPkxHEI/2B4RazkIBtxTfkLCKhRDCsmh5/mw== dependencies: "@babel/code-frame" "^7.14.0" "@babel/core" "^7.15.5" @@ -7579,159 +8489,165 @@ gatsby@^3.8.0: "@babel/runtime" "^7.15.4" "@babel/traverse" "^7.15.4" "@babel/types" "^7.15.4" - "@gatsbyjs/reach-router" "^1.3.6" + "@builder.io/partytown" "^0.5.2" + "@gatsbyjs/reach-router" "^1.3.9" "@gatsbyjs/webpack-hot-middleware" "^2.25.2" - "@nodelib/fs.walk" "^1.2.4" - "@pmmmwh/react-refresh-webpack-plugin" "^0.4.3" - "@types/http-proxy" "^1.17.4" - "@typescript-eslint/eslint-plugin" "^4.29.3" - "@typescript-eslint/parser" "^4.29.3" - "@vercel/webpack-asset-relocator-loader" "^1.6.0" + "@graphql-codegen/add" "^3.1.1" + "@graphql-codegen/core" "^2.5.1" + "@graphql-codegen/plugin-helpers" "^2.4.2" + "@graphql-codegen/typescript" "^2.4.8" + "@graphql-codegen/typescript-operations" "^2.3.5" + "@graphql-tools/code-file-loader" "^7.2.14" + "@graphql-tools/load" "^7.5.10" + "@jridgewell/trace-mapping" "^0.3.13" + "@nodelib/fs.walk" "^1.2.8" + "@parcel/cache" "2.6.2" + "@parcel/core" "2.6.2" + "@pmmmwh/react-refresh-webpack-plugin" "^0.5.7" + "@types/http-proxy" "^1.17.7" + "@typescript-eslint/eslint-plugin" "^4.33.0" + "@typescript-eslint/parser" "^4.33.0" + "@vercel/webpack-asset-relocator-loader" "^1.7.0" + acorn-loose "^8.3.0" + acorn-walk "^8.2.0" address "1.1.2" - anser "^2.0.1" - autoprefixer "^10.2.4" + anser "^2.1.0" + autoprefixer "^10.4.0" axios "^0.21.1" - babel-loader "^8.2.2" + babel-loader "^8.2.3" babel-plugin-add-module-exports "^1.0.4" babel-plugin-dynamic-import-node "^2.3.3" babel-plugin-lodash "^3.3.4" - babel-plugin-remove-graphql-queries "^3.14.0" - babel-preset-gatsby "^1.14.0" - better-opn "^2.0.0" + babel-plugin-remove-graphql-queries "^4.25.0" + babel-preset-gatsby "^2.25.0" + better-opn "^2.1.1" bluebird "^3.7.2" - body-parser "^1.19.0" - browserslist "^4.12.2" + browserslist "^4.17.5" cache-manager "^2.11.1" chalk "^4.1.2" - chokidar "^3.5.2" + chokidar "^3.5.3" common-tags "^1.8.0" compression "^1.7.4" cookie "^0.4.1" - core-js "^3.17.2" + core-js "^3.22.3" cors "^2.8.5" - css-loader "^5.0.1" + css-loader "^5.2.7" css-minimizer-webpack-plugin "^2.0.0" css.escape "^1.5.1" - date-fns "^2.14.0" + date-fns "^2.25.0" debug "^3.2.7" deepmerge "^4.2.2" - del "^5.1.0" detect-port "^1.3.0" - devcert "^1.1.3" - dotenv "^8.2.0" + devcert "^1.2.0" + dotenv "^8.6.0" + enhanced-resolve "^5.8.3" + error-stack-parser "^2.1.4" eslint "^7.32.0" eslint-config-react-app "^6.0.0" - eslint-plugin-flowtype "^5.9.2" - eslint-plugin-graphql "^4.0.0" - eslint-plugin-import "^2.24.2" - eslint-plugin-jsx-a11y "^6.4.1" - eslint-plugin-react "^7.25.1" - eslint-plugin-react-hooks "^4.2.0" - eslint-webpack-plugin "^2.5.4" - event-source-polyfill "^1.0.15" + eslint-plugin-flowtype "^5.10.0" + eslint-plugin-import "^2.26.0" + eslint-plugin-jsx-a11y "^6.6.1" + eslint-plugin-react "^7.30.1" + eslint-plugin-react-hooks "^4.6.0" + eslint-webpack-plugin "^2.7.0" + event-source-polyfill "1.0.25" execa "^5.1.1" express "^4.17.1" express-graphql "^0.12.0" + express-http-proxy "^1.6.3" fastest-levenshtein "^1.0.12" - fastq "^1.10.0" + fastq "^1.13.0" file-loader "^6.2.0" - find-cache-dir "^3.3.1" + find-cache-dir "^3.3.2" fs-exists-cached "1.0.0" - fs-extra "^10.0.0" - gatsby-cli "^3.14.2" - gatsby-core-utils "^2.14.0" - gatsby-graphiql-explorer "^1.14.0" - gatsby-legacy-polyfills "^1.14.0" - gatsby-link "^3.14.0" - gatsby-plugin-page-creator "^3.14.0" - gatsby-plugin-typescript "^3.14.0" - gatsby-plugin-utils "^1.14.0" - gatsby-react-router-scroll "^4.14.0" - gatsby-telemetry "^2.14.0" - gatsby-worker "^0.5.0" - glob "^7.1.6" - got "^11.8.2" - graphql "^15.4.0" - graphql-compose "~7.25.0" - graphql-playground-middleware-express "^1.7.18" - hasha "^5.2.0" - http-proxy "^1.18.1" + fs-extra "^10.1.0" + gatsby-cli "^4.25.0" + gatsby-core-utils "^3.25.0" + gatsby-graphiql-explorer "^2.25.0" + gatsby-legacy-polyfills "^2.25.0" + gatsby-link "^4.25.0" + gatsby-page-utils "^2.25.0" + gatsby-parcel-config "0.16.0" + gatsby-plugin-page-creator "^4.25.0" + gatsby-plugin-typescript "^4.25.0" + gatsby-plugin-utils "^3.19.0" + gatsby-react-router-scroll "^5.25.0" + gatsby-script "^1.10.0" + gatsby-telemetry "^3.25.0" + gatsby-worker "^1.25.0" + glob "^7.2.3" + globby "^11.1.0" + got "^11.8.5" + graphql "^15.7.2" + graphql-compose "^9.0.7" + graphql-playground-middleware-express "^1.7.22" + graphql-tag "^2.12.6" + hasha "^5.2.2" invariant "^2.2.4" is-relative "^1.0.0" is-relative-url "^3.0.0" - joi "^17.2.1" + joi "^17.4.2" json-loader "^0.5.7" latest-version "5.1.0" + lmdb "2.5.3" lodash "^4.17.21" md5-file "^5.0.0" - meant "^1.0.1" + meant "^1.0.3" memoizee "^0.4.15" - micromatch "^4.0.2" - mime "^2.4.6" + micromatch "^4.0.4" + mime "^2.5.2" mini-css-extract-plugin "1.6.2" mitt "^1.2.0" - moment "^2.27.0" - multer "^1.4.2" + moment "^2.29.1" + multer "^1.4.5-lts.1" + node-fetch "^2.6.6" + node-html-parser "^5.3.3" normalize-path "^3.0.0" null-loader "^4.0.1" - opentracing "^0.14.4" + opentracing "^0.14.5" p-defer "^3.0.0" parseurl "^1.3.3" physical-cpu-count "^2.0.0" platform "^1.3.6" - postcss "^8.3.5" + postcss "^8.3.11" postcss-flexbugs-fixes "^5.0.2" - postcss-loader "^5.0.0" - prompts "^2.3.2" + postcss-loader "^5.3.0" + prompts "^2.4.2" prop-types "^15.7.2" - query-string "^6.13.1" + query-string "^6.14.1" raw-loader "^4.0.2" - react-dev-utils "^11.0.3" - react-refresh "^0.9.0" - redux "^4.0.5" - redux-thunk "^2.3.0" + react-dev-utils "^12.0.1" + react-refresh "^0.14.0" + react-server-dom-webpack "0.0.0-experimental-c8b778b7f-20220825" + redux "4.1.2" + redux-thunk "^2.4.0" resolve-from "^5.0.0" - semver "^7.3.5" + semver "^7.3.7" shallow-compare "^1.2.2" - signal-exit "^3.0.3" - slugify "^1.4.4" - socket.io "3.1.1" - socket.io-client "3.1.1" - source-map "^0.7.3" - source-map-support "^0.5.19" + signal-exit "^3.0.5" + slugify "^1.6.1" + socket.io "4.5.4" + socket.io-client "4.5.4" st "^2.0.0" stack-trace "^0.0.10" string-similarity "^1.2.2" - strip-ansi "^5.2.0" + strip-ansi "^6.0.1" style-loader "^2.0.0" - terser-webpack-plugin "^5.1.1" + terser-webpack-plugin "^5.2.4" tmp "^0.2.1" "true-case-path" "^2.2.1" type-of "^2.0.1" url-loader "^4.1.1" - uuid "3.4.0" - v8-compile-cache "^2.2.0" - webpack "^5.35.0" - webpack-dev-middleware "^4.1.0" - webpack-merge "^5.7.3" + uuid "^8.3.2" + webpack "^5.61.0" + webpack-dev-middleware "^4.3.0" + webpack-merge "^5.8.0" webpack-stats-plugin "^1.0.3" webpack-virtual-modules "^0.3.2" - xstate "^4.11.0" - yaml-loader "^0.6.0" - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" + xstate "4.32.1" + yaml-loader "^0.8.0" + optionalDependencies: + gatsby-sharp "^0.19.0" generate-robotstxt@^8.0.3: version "8.0.3" @@ -7764,6 +8680,15 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.1" +get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + get-nonce@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" @@ -7789,11 +8714,6 @@ get-prefix@^1.0.0: resolved "https://registry.yarnpkg.com/get-prefix/-/get-prefix-1.0.0.tgz#0d305448a4e3176f9c277175b14e16dbe6fba0b5" integrity sha1-DTBUSKTjF2+cJ3F1sU4W2+b7oLU= -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" @@ -7839,13 +8759,13 @@ gifwrap@^0.9.2: image-q "^4.0.0" omggif "^1.0.10" -git-up@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.5.tgz#e7bb70981a37ea2fb8fe049669800a1f9a01d759" - integrity sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA== +git-up@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/git-up/-/git-up-7.0.0.tgz#bace30786e36f56ea341b6f69adfd83286337467" + integrity sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ== dependencies: - is-ssh "^1.3.0" - parse-url "^6.0.0" + is-ssh "^1.4.0" + parse-url "^8.1.0" github-from-package@0.0.0: version "0.0.0" @@ -7889,6 +8809,18 @@ glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.2.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + global-dirs@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" @@ -7896,7 +8828,7 @@ global-dirs@^3.0.0: dependencies: ini "2.0.0" -global-modules@2.0.0: +global-modules@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== @@ -7925,6 +8857,13 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globals@^13.2.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + globals@^13.6.0, globals@^13.9.0: version "13.15.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" @@ -7932,45 +8871,14 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -globby@11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" - integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@11.0.3: - version "11.0.3" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" - integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@^10.0.1: - version "10.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" - integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== dependencies: - "@types/glob" "^7.1.1" - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" - slash "^3.0.0" + define-properties "^1.1.3" -globby@^11.0.3, globby@^11.0.4: +globby@^11.0.3, globby@^11.0.4, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -7982,6 +8890,13 @@ globby@^11.0.3, globby@^11.0.4: merge2 "^1.4.1" slash "^3.0.0" +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + got@^11.8.2: version "11.8.3" resolved "https://registry.yarnpkg.com/got/-/got-11.8.3.tgz#f496c8fdda5d729a90b4905d2b07dbd148170770" @@ -8033,7 +8948,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -8045,31 +8960,6 @@ graphql-compose@^9.0.7: dependencies: graphql-type-json "0.3.2" -graphql-compose@~7.25.0: - version "7.25.1" - resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-7.25.1.tgz#9d89f72781931590d4dfca6a709f381f2f76b873" - integrity sha512-TPXTe1BoQkMjp/MH93yA0SQo8PiXxJAv6Eo6K/+kpJELM9l2jZnd5PCduweuXFcKv+nH973wn/VYzYKDMQ9YoQ== - dependencies: - graphql-type-json "0.3.2" - object-path "0.11.5" - -graphql-config@^3.0.2: - version "3.4.1" - resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-3.4.1.tgz#59f937a1b4d3a3c2dcdb27ddf5b4d4d4b2c6e9e1" - integrity sha512-g9WyK4JZl1Ko++FSyE5Ir2g66njfxGzrDDhBOwnkoWf/t3TnnZG6BBkWP+pkqVJ5pqMJGPKHNrbew8jRxStjhw== - dependencies: - "@endemolshinegroup/cosmiconfig-typescript-loader" "3.0.2" - "@graphql-tools/graphql-file-loader" "^6.0.0" - "@graphql-tools/json-file-loader" "^6.0.0" - "@graphql-tools/load" "^6.0.0" - "@graphql-tools/merge" "6.0.0 - 6.2.14" - "@graphql-tools/url-loader" "^6.0.0" - "@graphql-tools/utils" "^7.0.0" - cosmiconfig "7.0.0" - cosmiconfig-toml-loader "1.0.0" - minimatch "3.0.4" - string-env-interpolation "1.0.1" - graphql-playground-html@^1.6.30: version "1.6.30" resolved "https://registry.yarnpkg.com/graphql-playground-html/-/graphql-playground-html-1.6.30.tgz#14c2a8eb7fc17bfeb1a746bbb28a11e34bf0b391" @@ -8077,31 +8967,26 @@ graphql-playground-html@^1.6.30: dependencies: xss "^1.0.6" -graphql-playground-middleware-express@^1.7.18: +graphql-playground-middleware-express@^1.7.22: version "1.7.23" resolved "https://registry.yarnpkg.com/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.23.tgz#95aba44d801ff3c08b2246917d2901d2e7c35d3d" integrity sha512-M/zbTyC1rkgiQjFSgmzAv6umMHOphYLNWZp6Ye5QrD77WfGOOoSqDsVmGUczc2pDkEPEzzGB/bvBO5rdzaTRgw== dependencies: graphql-playground-html "^1.6.30" -graphql-subscriptions@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-1.2.1.tgz#2142b2d729661ddf967b7388f7cf1dd4cf2e061d" - integrity sha512-95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g== +graphql-tag@^2.11.0, graphql-tag@^2.12.6: + version "2.12.6" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" + integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== dependencies: - iterall "^1.3.0" + tslib "^2.1.0" -graphql-type-json@0.3.2, graphql-type-json@^0.3.2: +graphql-type-json@0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.3.2.tgz#f53a851dbfe07bd1c8157d24150064baab41e115" integrity sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg== -graphql-ws@^4.4.1: - version "4.9.0" - resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-4.9.0.tgz#5cfd8bb490b35e86583d8322f5d5d099c26e365c" - integrity sha512-sHkK9+lUm20/BGawNEWNtVAeJzhZeBg21VmvmLoT5NdGVeZWv5PdIhkcayQIAgjSyyQ17WMKmbDijIPG2On+Ag== - -graphql@^15.4.0: +graphql@^15.7.2: version "15.8.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== @@ -8121,13 +9006,12 @@ growly@^1.3.0: resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= -gzip-size@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== dependencies: - duplexer "^0.1.1" - pify "^4.0.1" + duplexer "^0.1.2" hard-rejection@^2.1.0: version "2.1.0" @@ -8144,11 +9028,6 @@ has-bigints@^1.0.1, has-bigints@^1.0.2: resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" - integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -8166,6 +9045,11 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" @@ -8178,11 +9062,6 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -8226,7 +9105,7 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hasha@^5.2.0: +hasha@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1" integrity sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ== @@ -8302,6 +9181,11 @@ hastscript@^6.0.0: property-information "^5.0.0" space-separated-tokens "^1.0.0" +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + header-case@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d" @@ -8310,18 +9194,13 @@ header-case@^1.0.0: no-case "^2.2.0" upper-case "^1.1.3" -hicat@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/hicat/-/hicat-0.8.0.tgz#20cd71f58aaf1bd84d52e54f1aeea0c90fa74251" - integrity sha512-om8L9O5XwqeSdwl5NtHgrzK3wcF4fT9T4gb/NktoH8EyoZipas/tvUZLV48xT7fQfMYr9qvb0WEutqdf0LWSqA== +header-case@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/header-case/-/header-case-2.0.4.tgz#5a42e63b55177349cf405beb8d775acabb92c063" + integrity sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== dependencies: - highlight.js "^10.4.1" - minimist "^1.2.5" - -highlight.js@^10.4.1: - version "10.7.3" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" - integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== + capital-case "^1.0.4" + tslib "^2.0.3" hoist-non-react-statics@^3.3.1: version "3.3.2" @@ -8335,7 +9214,7 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^3.0.6: +hosted-git-info@^3.0.8: version "3.0.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== @@ -8357,12 +9236,7 @@ html-encoding-sniffer@^2.0.1: dependencies: whatwg-encoding "^1.0.5" -html-entities@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" - integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== - -html-entities@^2.3.3: +html-entities@^2.1.0, html-entities@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46" integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== @@ -8462,15 +9336,6 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - http2-wrapper@^1.0.0-beta.5.2: version "1.0.3" resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" @@ -8550,7 +9415,7 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.0.5, ignore@^5.1.1, ignore@^5.1.4, ignore@^5.1.8, ignore@^5.2.0: +ignore@^5.0.5, ignore@^5.1.8, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -8562,16 +9427,21 @@ image-q@^4.0.0: dependencies: "@types/node" "16.9.1" -immer@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/immer/-/immer-8.0.1.tgz#9c73db683e2b3975c424fb0572af5889877ae656" - integrity sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA== +immer@^9.0.7: + version "9.0.21" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" + integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== immutable@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== +immutable@~3.7.6: + version "3.7.6" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b" + integrity sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw== + import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -8580,14 +9450,7 @@ import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" -import-from@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" - integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== - dependencies: - resolve-from "^5.0.0" - -import-from@^4.0.0: +import-from@4.0.0, import-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/import-from/-/import-from-4.0.0.tgz#2710b8d66817d232e16f4166e319248d3d5492e2" integrity sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ== @@ -8623,7 +9486,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -8686,6 +9549,15 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" +internal-slot@^1.0.4, internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + invariant@^2.2.3, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -8708,6 +9580,14 @@ is-absolute-url@^3.0.0, is-absolute-url@^3.0.3: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -8727,11 +9607,6 @@ is-alphabetical@1.0.4, is-alphabetical@^1.0.0: resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== -is-alphabetical@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" - integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== - is-alphanumeric@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" @@ -8745,15 +9620,7 @@ is-alphanumerical@^1.0.0: is-alphabetical "^1.0.0" is-decimal "^1.0.0" -is-alphanumerical@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" - integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== - dependencies: - is-alphabetical "^2.0.0" - is-decimal "^2.0.0" - -is-arguments@^1.0.4: +is-arguments@^1.0.4, is-arguments@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== @@ -8761,6 +9628,15 @@ is-arguments@^1.0.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -8778,7 +9654,7 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" -is-binary-path@^2.1.0, is-binary-path@~2.1.0: +is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== @@ -8803,6 +9679,11 @@ is-buffer@^2.0.0: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== +is-callable@^1.1.3, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" @@ -8815,6 +9696,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-core-module@^2.11.0, is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + is-core-module@^2.2.0, is-core-module@^2.8.1: version "2.9.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" @@ -8836,7 +9724,7 @@ is-data-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" -is-date-object@^1.0.1: +is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== @@ -8848,11 +9736,6 @@ is-decimal@^1.0.0: resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== -is-decimal@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" - integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== - is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" @@ -8871,7 +9754,7 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-data-descriptor "^1.0.0" kind-of "^6.0.2" -is-docker@^2.0.0, is-docker@^2.2.1: +is-docker@^2.0.0, is-docker@^2.1.1, is-docker@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== @@ -8898,13 +9781,6 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -8927,13 +9803,6 @@ is-generator-function@^1.0.7: dependencies: has-tostringtag "^1.0.0" -is-glob@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - is-glob@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -8953,11 +9822,6 @@ is-hexadecimal@^1.0.0: resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== -is-hexadecimal@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" - integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== - is-installed-globally@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" @@ -8980,6 +9844,18 @@ is-lower-case@^1.1.0: dependencies: lower-case "^1.1.0" +is-lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-2.0.2.tgz#1c0884d3012c841556243483aa5d522f47396d2a" + integrity sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ== + dependencies: + tslib "^2.0.3" + +is-map@^2.0.1, is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" @@ -9019,12 +9895,7 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-inside@^3.0.1, is-path-inside@^3.0.2: +is-path-inside@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== @@ -9051,11 +9922,6 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-promise@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" - integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== - is-promise@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" @@ -9088,11 +9954,16 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" -is-root@2.1.0: +is-root@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== +is-set@^2.0.1, is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + is-shared-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" @@ -9100,12 +9971,12 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" -is-ssh@^1.3.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.3.tgz#7f133285ccd7f2c2c7fc897b771b53d95a2b2c7e" - integrity sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ== +is-ssh@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2" + integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ== dependencies: - protocols "^1.1.0" + protocols "^2.0.1" is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" @@ -9131,6 +10002,17 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array@^1.1.3, is-typed-array@^1.1.7: version "1.1.8" resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" @@ -9161,10 +10043,12 @@ is-upper-case@^1.1.0: dependencies: upper-case "^1.1.0" -is-url@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" - integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== +is-upper-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-2.0.2.tgz#f1105ced1fe4de906a5f39553e7d3803fd804649" + integrity sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ== + dependencies: + tslib "^2.0.3" is-valid-domain@^0.1.6: version "0.1.6" @@ -9180,6 +10064,11 @@ is-valid-path@^0.1.1: dependencies: is-invalid-path "^0.1.0" +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -9187,12 +10076,20 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + is-whitespace-character@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== -is-windows@^1.0.2: +is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== @@ -9214,16 +10111,16 @@ is-yarn-global@^0.3.0: resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -9249,11 +10146,6 @@ isomorphic-fetch@^2.1.1: node-fetch "^1.0.1" whatwg-fetch ">=0.10.0" -isomorphic-ws@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" - integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== - istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" @@ -9306,10 +10198,10 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -iterall@^1.2.1, iterall@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" - integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== +javascript-stringify@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" + integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== jest-changed-files@^26.6.2: version "26.6.2" @@ -9363,16 +10255,6 @@ jest-config@^26.6.3: micromatch "^4.0.2" pretty-format "^26.6.2" -jest-diff@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" - integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== - dependencies: - chalk "^3.0.0" - diff-sequences "^25.2.6" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - jest-diff@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" @@ -9446,11 +10328,6 @@ jest-environment-node@^26.6.2: jest-mock "^26.6.2" jest-util "^26.6.2" -jest-get-type@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" - integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== - jest-get-type@^26.3.0: version "26.3.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" @@ -9725,7 +10602,7 @@ jest-worker@^26.3.0, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^27.3.1, jest-worker@^27.4.5: +jest-worker@^27.4.5, jest-worker@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== @@ -9754,7 +10631,7 @@ jimp@^0.14.0: "@jimp/types" "^0.14.0" regenerator-runtime "^0.13.3" -joi@^17.2.1, joi@^17.4.0, joi@^17.4.2: +joi@^17.4.2: version "17.6.0" resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2" integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw== @@ -9888,6 +10765,11 @@ json5@^2.1.2, json5@^2.1.3, json5@^2.2.1: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== +json5@^2.2.0, json5@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -9904,7 +10786,7 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: +"jsx-ast-utils@^2.4.1 || ^3.0.0": version "3.3.0" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.0.tgz#e624f259143b9062c92b6413ff92a164c80d3ccb" integrity sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q== @@ -9912,6 +10794,14 @@ jsonfile@^6.0.1: array-includes "^3.1.4" object.assign "^4.1.2" +jsx-ast-utils@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" + integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== + dependencies: + array-includes "^3.1.5" + object.assign "^4.1.3" + kebab-hash@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/kebab-hash/-/kebab-hash-0.1.2.tgz#dfb7949ba34d8e70114ea7d83e266e5e2a4abaac" @@ -9963,11 +10853,6 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -kleur@^4.0.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d" - integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== - klona@^2.0.4: version "2.0.5" resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" @@ -9978,10 +10863,10 @@ language-subtag-registry@~0.3.2: resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== -language-tags@^1.0.5: +language-tags@=1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" - integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= + integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== dependencies: language-subtag-registry "~0.3.2" @@ -10023,6 +10908,24 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +lmdb@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.5.2.tgz#37e28a9fb43405f4dc48c44cec0e13a14c4a6ff1" + integrity sha512-V5V5Xa2Hp9i2XsbDALkBTeHXnBXh/lEmk9p22zdr7jtuOIY9TGhjK6vAvTpOOx9IKU4hJkRWZxn/HsvR1ELLtA== + dependencies: + msgpackr "^1.5.4" + node-addon-api "^4.3.0" + node-gyp-build-optional-packages "5.0.3" + ordered-binary "^1.2.4" + weak-lru-cache "^1.2.2" + optionalDependencies: + "@lmdb/lmdb-darwin-arm64" "2.5.2" + "@lmdb/lmdb-darwin-x64" "2.5.2" + "@lmdb/lmdb-linux-arm" "2.5.2" + "@lmdb/lmdb-linux-arm64" "2.5.2" + "@lmdb/lmdb-linux-x64" "2.5.2" + "@lmdb/lmdb-win32-x64" "2.5.2" + lmdb@2.5.3: version "2.5.3" resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.5.3.tgz#cac845a8576ef0fd2dcc279faab6fdb383f07463" @@ -10069,15 +10972,6 @@ loader-utils@1.2.3: emojis-list "^2.0.0" json5 "^1.0.1" -loader-utils@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" @@ -10096,6 +10990,20 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" +loader-utils@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +loader-utils@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.1.tgz#4fb104b599daafd82ef3e1a41fb9265f87e1f576" + integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -10119,7 +11027,14 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lock@^1.0.0, lock@^1.1.0: +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lock@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/lock/-/lock-1.1.0.tgz#53157499d1653b136ca66451071fca615703fa55" integrity sha1-UxV0mdFlOxNspmRRBx/KYVcD+lU= @@ -10176,7 +11091,7 @@ lodash.filter@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= -lodash.flatten@^4.2.0, lodash.flatten@^4.4.0: +lodash.flatten@^4.2.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= @@ -10191,7 +11106,7 @@ lodash.foreach@^4.3.0, lodash.foreach@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= -lodash.get@^4, lodash.get@^4.0: +lodash.get@^4.0: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= @@ -10201,16 +11116,6 @@ lodash.has@^4.0: resolved "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz#d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862" integrity sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI= -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= - lodash.kebabcase@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" @@ -10296,12 +11201,7 @@ lodash.uniq@4.5.0, lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash.without@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" - integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= - -lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: +lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0, lodash@~4.17.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -10311,11 +11211,6 @@ longest-streak@^2.0.1: resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== -longest-streak@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.0.1.tgz#c97315b7afa0e7d9525db9a5a2953651432bdc5d" - integrity sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg== - loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -10330,6 +11225,13 @@ lower-case-first@^1.0.0: dependencies: lower-case "^1.1.2" +lower-case-first@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-2.0.2.tgz#64c2324a2250bf7c37c5901e76a5b5309301160b" + integrity sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg== + dependencies: + tslib "^2.0.3" + lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" @@ -10368,6 +11270,13 @@ lru-cache@^4.0.0: pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -10401,11 +11310,6 @@ make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: dependencies: semver "^6.0.0" -make-error@^1, make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - makeerror@1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" @@ -10420,10 +11324,10 @@ map-age-cleaner@^0.1.3: dependencies: p-defer "^1.0.0" -map-cache@^0.2.2: +map-cache@^0.2.0, map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== map-obj@^1.0.0: version "1.0.1" @@ -10452,13 +11356,6 @@ markdown-table@^1.1.0: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== -markdown-table@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" - integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== - dependencies: - repeat-string "^1.0.0" - marked@^2.0.0: version "2.1.3" resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753" @@ -10491,13 +11388,6 @@ mdast-util-compact@^1.0.0: dependencies: unist-util-visit "^1.1.0" -mdast-util-compact@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz#cabc69a2f43103628326f35b1acf735d55c99490" - integrity sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA== - dependencies: - unist-util-visit "^2.0.0" - mdast-util-definitions@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" @@ -10505,71 +11395,6 @@ mdast-util-definitions@^4.0.0: dependencies: unist-util-visit "^2.0.0" -mdast-util-from-markdown@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz#84df2924ccc6c995dec1e2368b2b208ad0a76268" - integrity sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - decode-named-character-reference "^1.0.0" - mdast-util-to-string "^3.1.0" - micromark "^3.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-decode-string "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-stringify-position "^3.0.0" - uvu "^0.5.0" - -mdast-util-mdx-expression@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.2.0.tgz#3e927afe27943956dc5d1c64cb949652062f71ff" - integrity sha512-wb36oi09XxqO9RVqgfD+xo8a7xaNgS+01+k3v0GKW0X0bYbeBmUZz22Z/IJ8SuphVlG+DNgNo9VoEaUJ3PKfJQ== - dependencies: - "@types/estree-jsx" "^0.0.1" - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - mdast-util-to-markdown "^1.0.0" - -mdast-util-mdx-jsx@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.0.1.tgz#03d003c8b0b4bd94ab092d876c0f92d2b0c83b0b" - integrity sha512-oPC7/smPBf7vxnvIYH5y3fPo2lw1rdrswFfSb4i0GTAXRUQv7JUU/t/hbp07dgGdUFTSDOHm5DNamhNg/s2Hrg== - dependencies: - "@types/estree-jsx" "^0.0.1" - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - ccount "^2.0.0" - mdast-util-to-markdown "^1.3.0" - parse-entities "^4.0.0" - stringify-entities "^4.0.0" - unist-util-remove-position "^4.0.0" - unist-util-stringify-position "^3.0.0" - vfile-message "^3.0.0" - -mdast-util-mdx@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz#dd4f6c993cf27da32725e50a04874f595b7b63fb" - integrity sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw== - dependencies: - mdast-util-mdx-expression "^1.0.0" - mdast-util-mdx-jsx "^2.0.0" - mdast-util-mdxjs-esm "^1.0.0" - -mdast-util-mdxjs-esm@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.2.0.tgz#eca8b985f091c2d65a72c19d2740cefbc209aa63" - integrity sha512-IPpX9GBzAIbIRCjbyeLDpMhACFb0wxTIujuR3YElB8LWbducUdMgRJuqs/Vg8xQ1bIAMm7lw8L+YNtua0xKXRw== - dependencies: - "@types/estree-jsx" "^0.0.1" - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - mdast-util-to-markdown "^1.0.0" - mdast-util-to-hast@10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz#0cfc82089494c52d46eb0e3edb7a4eb2aea021eb" @@ -10584,19 +11409,6 @@ mdast-util-to-hast@10.0.1: unist-util-position "^3.0.0" unist-util-visit "^2.0.0" -mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz#38b6cdc8dc417de642a469c4fc2abdf8c931bd1e" - integrity sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - longest-streak "^3.0.0" - mdast-util-to-string "^3.0.0" - micromark-util-decode-string "^1.0.0" - unist-util-visit "^4.0.0" - zwitch "^2.0.0" - mdast-util-to-nlcst@^3.2.0: version "3.2.3" resolved "https://registry.yarnpkg.com/mdast-util-to-nlcst/-/mdast-util-to-nlcst-3.2.3.tgz#dcd0f51b59515b11a0700aeb40f168ed7ba9ed3d" @@ -10612,11 +11424,6 @@ mdast-util-to-string@^1.0.5, mdast-util-to-string@^1.1.0: resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== -mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz#56c506d065fbf769515235e577b5a261552d56e9" - integrity sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA== - mdast-util-toc@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz#395eeb877f067f9d2165d990d77c7eea6f740934" @@ -10632,17 +11439,12 @@ mdn-data@2.0.14: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - mdurl@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= -meant@^1.0.1, meant@^1.0.2: +meant@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/meant/-/meant-1.0.3.tgz#67769af9de1d158773e928ae82c456114903554c" integrity sha512-88ZRGcNxAq4EH38cQ4D85PM57pikCwS8Z99EWHODxN7KBY+UuPiqzRTtZzS8KTXO/ywSWbdjjJST2Hly/EQxLw== @@ -10660,6 +11462,13 @@ mem@^8.1.1: map-age-cleaner "^0.1.3" mimic-fn "^3.1.0" +memfs@^3.1.2: + version "3.4.13" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.13.tgz#248a8bd239b3c240175cd5ec548de5227fc4f345" + integrity sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg== + dependencies: + fs-monkey "^1.0.3" + memfs@^3.2.2: version "3.4.1" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.1.tgz#b78092f466a0dce054d63d39275b24c71d3f1305" @@ -10682,343 +11491,48 @@ memoizee@^0.4.15: es6-weak-map "^2.0.3" event-emitter "^0.3.5" is-promise "^2.2.2" - lru-queue "^0.1.0" - next-tick "^1.1.0" - timers-ext "^0.1.7" - -meow@^7.0.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" - integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^2.5.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -meros@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/meros/-/meros-1.1.4.tgz#c17994d3133db8b23807f62bec7f0cb276cfd948" - integrity sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -microevent.ts@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" - integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== - -micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz#edff4c72e5993d93724a3c206970f5a15b0585ad" - integrity sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-factory-destination "^1.0.0" - micromark-factory-label "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-factory-title "^1.0.0" - micromark-factory-whitespace "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-classify-character "^1.0.0" - micromark-util-html-tag-name "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" - -micromark-extension-mdx-expression@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz#cd3843573921bf55afcfff4ae0cd2e857a16dcfa" - integrity sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA== - dependencies: - micromark-factory-mdx-expression "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-events-to-acorn "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - -micromark-extension-mdx-jsx@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz#9f196be5f65eb09d2a49b237a7b3398bba2999be" - integrity sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA== - dependencies: - "@types/acorn" "^4.0.0" - estree-util-is-identifier-name "^2.0.0" - micromark-factory-mdx-expression "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - vfile-message "^3.0.0" - -micromark-extension-mdx-md@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz#382f5df9ee3706dd120b51782a211f31f4760d22" - integrity sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw== - dependencies: - micromark-util-types "^1.0.0" - -micromark-extension-mdxjs-esm@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz#630d9dc9db2c2fd470cac8c1e7a824851267404d" - integrity sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A== - dependencies: - micromark-core-commonmark "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-events-to-acorn "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-position-from-estree "^1.1.0" - uvu "^0.5.0" - vfile-message "^3.0.0" - -micromark-extension-mdxjs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz#772644e12fc8299a33e50f59c5aa15727f6689dd" - integrity sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ== - dependencies: - acorn "^8.0.0" - acorn-jsx "^5.0.0" - micromark-extension-mdx-expression "^1.0.0" - micromark-extension-mdx-jsx "^1.0.0" - micromark-extension-mdx-md "^1.0.0" - micromark-extension-mdxjs-esm "^1.0.0" - micromark-util-combine-extensions "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-destination@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e" - integrity sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-label@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz#6be2551fa8d13542fcbbac478258fb7a20047137" - integrity sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - -micromark-factory-mdx-expression@^1.0.0: - version "1.0.6" - resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz#917e17d16e6e9c2551f3a862e6a9ebdd22056476" - integrity sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-events-to-acorn "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-position-from-estree "^1.0.0" - uvu "^0.5.0" - vfile-message "^3.0.0" - -micromark-factory-space@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz#cebff49968f2b9616c0fcb239e96685cb9497633" - integrity sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-title@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz#7e09287c3748ff1693930f176e1c4a328382494f" - integrity sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - -micromark-factory-whitespace@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz#e991e043ad376c1ba52f4e49858ce0794678621c" - integrity sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-character@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.1.0.tgz#d97c54d5742a0d9611a68ca0cd4124331f264d86" - integrity sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-chunked@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz#5b40d83f3d53b84c4c6bce30ed4257e9a4c79d06" - integrity sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g== - dependencies: - micromark-util-symbol "^1.0.0" - -micromark-util-classify-character@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz#cbd7b447cb79ee6997dd274a46fc4eb806460a20" - integrity sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-combine-extensions@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz#91418e1e74fb893e3628b8d496085639124ff3d5" - integrity sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA== - dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-decode-numeric-character-reference@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz#dcc85f13b5bd93ff8d2868c3dba28039d490b946" - integrity sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w== - dependencies: - micromark-util-symbol "^1.0.0" - -micromark-util-decode-string@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz#942252ab7a76dec2dbf089cc32505ee2bc3acf02" - integrity sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-symbol "^1.0.0" - -micromark-util-encode@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz#2c1c22d3800870ad770ece5686ebca5920353383" - integrity sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA== - -micromark-util-events-to-acorn@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.1.0.tgz#9891638e201c266484d0af7cd2505d208f73db9d" - integrity sha512-hB8HzidNt/Us5q2BvqXj8eeEm0U9rRfnZxcA9T65JRUMAY4MbfJRAFm7m9fXMAdSHJiVPmajsp8/rp6/FlHL8A== - dependencies: - "@types/acorn" "^4.0.0" - "@types/estree" "^0.0.51" - estree-util-visit "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - vfile-location "^4.0.0" - vfile-message "^3.0.0" - -micromark-util-html-tag-name@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.0.0.tgz#75737e92fef50af0c6212bd309bc5cb8dbd489ed" - integrity sha512-NenEKIshW2ZI/ERv9HtFNsrn3llSPZtY337LID/24WeLqMzeZhBEE6BQ0vS2ZBjshm5n40chKtJ3qjAbVV8S0g== - -micromark-util-normalize-identifier@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz#4a3539cb8db954bbec5203952bfe8cedadae7828" - integrity sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg== - dependencies: - micromark-util-symbol "^1.0.0" + lru-queue "^0.1.0" + next-tick "^1.1.0" + timers-ext "^0.1.7" -micromark-util-resolve-all@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz#a7c363f49a0162e931960c44f3127ab58f031d88" - integrity sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw== +meow@^7.0.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" + integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== dependencies: - micromark-util-types "^1.0.0" + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^2.5.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.13.1" + yargs-parser "^18.1.3" -micromark-util-sanitize-uri@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz#27dc875397cd15102274c6c6da5585d34d4f12b2" - integrity sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-symbol "^1.0.0" +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= -micromark-util-subtokenize@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz#ff6f1af6ac836f8bfdbf9b02f40431760ad89105" - integrity sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA== - dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -micromark-util-symbol@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz#b90344db62042ce454f351cf0bebcc0a6da4920e" - integrity sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ== +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.0.2.tgz#f4220fdb319205812f99c40f8c87a9be83eded20" - integrity sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w== +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= -micromark@^3.0.0: - version "3.0.10" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.0.10.tgz#1eac156f0399d42736458a14b0ca2d86190b457c" - integrity sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg== - dependencies: - "@types/debug" "^4.0.0" - debug "^4.0.0" - decode-named-character-reference "^1.0.0" - micromark-core-commonmark "^1.0.1" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-combine-extensions "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-sanitize-uri "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" - -micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -11037,7 +11551,7 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -11118,19 +11632,7 @@ mini-css-extract-plugin@1.6.2: schema-utils "^3.0.0" webpack-sources "^1.1.0" -mini-svg-data-uri@^1.3.3: - version "1.4.4" - resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939" - integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg== - -minimatch@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -11146,7 +11648,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== @@ -11174,22 +11676,17 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@^0.5.1, mkdirp@^0.5.4, mkdirp@~0.5.1: +mkdirp@^0.5.1, mkdirp@^0.5.4: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: minimist "^1.2.6" -moment@^2.27.0: - version "2.29.3" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz#edd47411c322413999f7a5940d526de183c031f3" - integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw== - -mri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== +moment@^2.29.1: + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== ms@2.0.0: version "2.0.0" @@ -11257,17 +11754,16 @@ msgpackr@^1.5.4: optionalDependencies: msgpackr-extract "^1.1.4" -multer@^1.4.2: - version "1.4.4" - resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.4.tgz#e2bc6cac0df57a8832b858d7418ccaa8ebaf7d8c" - integrity sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw== +multer@^1.4.5-lts.1: + version "1.4.5-lts.1" + resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.5-lts.1.tgz#803e24ad1984f58edffbc79f56e305aec5cfd1ac" + integrity sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ== dependencies: append-field "^1.0.0" - busboy "^0.2.11" + busboy "^1.0.0" concat-stream "^1.5.2" mkdirp "^0.5.4" object-assign "^4.1.1" - on-finished "^2.3.0" type-is "^1.6.4" xtend "^4.0.0" @@ -11302,6 +11798,11 @@ nanoid@^3.3.3: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +nanoid@^3.3.4: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -11324,13 +11825,6 @@ napi-build-utils@^1.0.1: resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== -native-url@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.2.6.tgz#ca1258f5ace169c716ff44eccbddb674e10399ae" - integrity sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA== - dependencies: - querystring "^0.2.0" - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -11350,7 +11844,7 @@ negotiator@0.6.3, negotiator@~0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== -neo-async@^2.6.2: +neo-async@^2.6.1, neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== @@ -11392,6 +11886,11 @@ node-abi@^3.3.0: dependencies: semver "^7.3.5" +node-addon-api@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + node-addon-api@^4.2.0, node-addon-api@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" @@ -11402,15 +11901,12 @@ node-addon-api@^5.0.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== -node-eta@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/node-eta/-/node-eta-0.9.0.tgz#9fb0b099bcd2a021940e603c64254dc003d9a7a8" - integrity sha1-n7CwmbzSoCGUDmA8ZCVNwAPZp6g= - -node-fetch@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" node-fetch@^1.0.1: version "1.7.3" @@ -11420,10 +11916,10 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -node-fetch@^2.5.0, node-fetch@^2.6.1: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== +node-fetch@^2.6.6, node-fetch@^2.6.7: + version "2.6.9" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" + integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== dependencies: whatwg-url "^5.0.0" @@ -11437,6 +11933,19 @@ node-gyp-build-optional-packages@^4.3.2: resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-4.3.2.tgz#82de9bdf9b1ad042457533afb2f67469dc2264bb" integrity sha512-P5Ep3ISdmwcCkZIaBaQamQtWAG0facC89phWZgi5Z3hBU//J6S48OIvyZWSPPf6yQMklLZiqoosWAZUj7N+esA== +node-gyp-build@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== + +node-html-parser@^5.3.3: + version "5.4.2" + resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-5.4.2.tgz#93e004038c17af80226c942336990a0eaed8136a" + integrity sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw== + dependencies: + css-select "^4.2.1" + he "1.2.0" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -11459,16 +11968,16 @@ node-object-hash@^2.0.0, node-object-hash@^2.3.10, node-object-hash@^2.3.9: resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-2.3.10.tgz#4b0c1a3a8239e955f0db71f8e00b38b5c0b33992" integrity sha512-jY5dPJzw6NHd/KPSfPKJ+IHoFS81/tJ43r34ZeNMXGzCOM8jwQDCD12HYayKIB6MuznrnqIYy2e891NA2g0ibA== -node-releases@^1.1.61: - version "1.1.77" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" - integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== - node-releases@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== +node-releases@^2.0.8: + version "2.0.10" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== + normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -11501,7 +12010,7 @@ normalize-url@^4.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== -normalize-url@^6.0.1, normalize-url@^6.1.0: +normalize-url@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== @@ -11525,30 +12034,20 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npmlog@^4.0.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== +nth-check@^2.0.0, nth-check@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" + boolbase "^1.0.0" -nth-check@^1.0.2, nth-check@~1.0.1: +nth-check@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: boolbase "~1.0.0" -nth-check@^2.0.0, nth-check@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== - dependencies: - boolbase "^1.0.0" - null-loader@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-4.0.1.tgz#8e63bd3a2dd3c64236a4679428632edd0a6dbc6a" @@ -11557,10 +12056,10 @@ null-loader@^4.0.1: loader-utils "^2.0.0" schema-utils "^3.0.0" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= +nullthrows@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" + integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== nwsapi@^2.2.0: version "2.2.0" @@ -11591,16 +12090,24 @@ object-inspect@^1.12.0, object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== +object-inspect@^1.12.3: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-path@0.11.5: - version "0.11.5" - resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.5.tgz#d4e3cf19601a5140a55a16ad712019a9c50b577a" - integrity sha512-jgSbThcoR/s+XumvGMTMf81QVBmah+/Q7K7YduKeKVWL7N111unR2d6pZZarSk6kY/caeNxUDyxOvMWyzoU2eg== - object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" @@ -11618,6 +12125,16 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" +object.assign@^4.1.3, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + object.entries@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" @@ -11627,6 +12144,15 @@ object.entries@^1.1.5: define-properties "^1.1.3" es-abstract "^1.19.1" +object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + object.fromentries@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" @@ -11636,14 +12162,14 @@ object.fromentries@^2.0.5: define-properties "^1.1.3" es-abstract "^1.19.1" -object.getownpropertydescriptors@^2.1.0: - version "2.1.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" - integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" object.hasown@^1.1.0: version "1.1.1" @@ -11653,6 +12179,14 @@ object.hasown@^1.1.0: define-properties "^1.1.4" es-abstract "^1.19.5" +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== + dependencies: + define-properties "^1.1.4" + es-abstract "^1.20.4" + object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -11660,7 +12194,7 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.0, object.values@^1.1.5: +object.values@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== @@ -11669,6 +12203,15 @@ object.values@^1.1.0, object.values@^1.1.5: define-properties "^1.1.3" es-abstract "^1.19.1" +object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + oblivious-set@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/oblivious-set/-/oblivious-set-1.0.0.tgz#c8316f2c2fb6ff7b11b6158db3234c49f733c566" @@ -11679,7 +12222,7 @@ omggif@^1.0.10, omggif@^1.0.9: resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19" integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw== -on-finished@2.4.1, on-finished@^2.3.0: +on-finished@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== @@ -11705,7 +12248,7 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -open@^7.0.2, open@^7.0.3: +open@^7.0.3: version "7.4.2" resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== @@ -11713,7 +12256,16 @@ open@^7.0.2, open@^7.0.3: is-docker "^2.0.0" is-wsl "^2.1.1" -opentracing@^0.14.4: +open@^8.4.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +opentracing@^0.14.5: version "0.14.7" resolved "https://registry.yarnpkg.com/opentracing/-/opentracing-0.14.7.tgz#25d472bd0296dc0b64d7b94cbc995219031428f5" integrity sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q== @@ -11829,12 +12381,12 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: - aggregate-error "^3.0.0" + p-limit "^3.0.2" p-queue@^6.6.2: version "6.6.2" @@ -11849,11 +12401,6 @@ p-reduce@^2.0.0: resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== -p-throttle@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/p-throttle/-/p-throttle-4.1.1.tgz#80b1fbd358af40a8bfa1667f9dc8b72b714ad692" - integrity sha512-TuU8Ato+pRTPJoDzYD4s7ocJYcNSEZRvlxoq3hcPI2kZDZ49IQ1Wkj7/gDJc3X7XiEAAvRGtDzdXJI0tC3IL1g== - p-timeout@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" @@ -11893,6 +12440,14 @@ param-case@^2.1.0: dependencies: no-case "^2.2.0" +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -11952,19 +12507,14 @@ parse-entities@^2.0.0: is-decimal "^1.0.0" is-hexadecimal "^1.0.0" -parse-entities@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.0.tgz#f67c856d4e3fe19b1a445c3fabe78dcdc1053eeb" - integrity sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ== +parse-filepath@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q== dependencies: - "@types/unist" "^2.0.0" - character-entities "^2.0.0" - character-entities-legacy "^3.0.0" - character-reference-invalid "^2.0.0" - decode-named-character-reference "^1.0.0" - is-alphanumerical "^2.0.0" - is-decimal "^2.0.0" - is-hexadecimal "^2.0.0" + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" parse-headers@^2.0.0: version "2.0.5" @@ -11990,25 +12540,19 @@ parse-latin@^4.0.0: unist-util-modify-children "^2.0.0" unist-util-visit-children "^1.0.0" -parse-path@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.3.tgz#82d81ec3e071dcc4ab49aa9f2c9c0b8966bb22bf" - integrity sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA== +parse-path@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-7.0.0.tgz#605a2d58d0a749c8594405d8cc3a2bf76d16099b" + integrity sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog== dependencies: - is-ssh "^1.3.0" - protocols "^1.4.0" - qs "^6.9.4" - query-string "^6.13.8" + protocols "^2.0.0" -parse-url@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-6.0.0.tgz#f5dd262a7de9ec00914939220410b66cff09107d" - integrity sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw== +parse-url@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-8.1.0.tgz#972e0827ed4b57fc85f0ea6b0d839f0d8a57a57d" + integrity sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w== dependencies: - is-ssh "^1.3.0" - normalize-url "^6.1.0" - parse-path "^4.0.0" - protocols "^1.4.0" + parse-path "^7.0.0" parse5-htmlparser2-tree-adapter@^6.0.1: version "6.0.1" @@ -12022,16 +12566,6 @@ parse5@6.0.1, parse5@^6.0.0, parse5@^6.0.1: resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== -parseqs@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5" - integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w== - -parseuri@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a" - integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow== - parseurl@^1.3.3, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -12078,6 +12612,14 @@ path-case@^2.1.0: dependencies: no-case "^2.2.0" +path-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/path-case/-/path-case-3.0.4.tgz#9168645334eb942658375c56f80b4c0cb5f82c6f" + integrity sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -12113,6 +12655,18 @@ path-parse@^1.0.6, path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ== + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg== + dependencies: + path-root-regex "^0.1.0" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -12158,11 +12712,6 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - pirates@^4.0.1: version "4.0.5" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" @@ -12182,7 +12731,7 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pkg-up@3.1.0: +pkg-up@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== @@ -12261,7 +12810,7 @@ postcss-flexbugs-fixes@^5.0.2: resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz#2028e145313074fc9abe276cb7ca14e5401eb49d" integrity sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ== -postcss-loader@^5.0.0: +postcss-loader@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-5.3.0.tgz#1657f869e48d4fdb018a40771c235e499ee26244" integrity sha512-/+Z1RAmssdiSLgIZwnJHwBMnlABPgF7giYzTN2NOfr9D21IJZ4mQC1R2miwp80zno9M4zMD/umGI8cR+2EL5zw== @@ -12471,7 +13020,7 @@ postcss@7.0.36: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^8.2.15, postcss@^8.2.9, postcss@^8.3.5: +postcss@^8.2.15, postcss@^8.2.9: version "8.4.13" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.13.tgz#7c87bc268e79f7f86524235821dfdf9f73e5d575" integrity sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA== @@ -12480,6 +13029,15 @@ postcss@^8.2.15, postcss@^8.2.9, postcss@^8.3.5: picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@^8.3.11: + version "8.4.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" + integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + potrace@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/potrace/-/potrace-2.1.8.tgz#50f6fba92e1e39ddef6f979b0a0f841809e0acf2" @@ -12487,26 +13045,7 @@ potrace@^2.1.8: dependencies: jimp "^0.14.0" -prebuild-install@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.0.tgz#991b6ac16c81591ba40a6d5de93fb33673ac1370" - integrity sha512-CNcMgI1xBypOyGqjp3wOc8AAo1nMhZS3Cwd3iHIxOdAUbb+YxdNuM4Z5iIrZ8RLvOsf3F3bl7b7xGq6DjQoNYA== - dependencies: - detect-libc "^2.0.0" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.3" - mkdirp-classic "^0.5.3" - napi-build-utils "^1.0.1" - node-abi "^3.3.0" - npmlog "^4.0.1" - pump "^3.0.0" - rc "^1.2.7" - simple-get "^4.0.0" - tar-fs "^2.0.0" - tunnel-agent "^0.6.0" - -prebuild-install@^7.1.1: +prebuild-install@^7.0.0, prebuild-install@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45" integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== @@ -12546,7 +13085,7 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.0.5, prettier@^2.3.2: +prettier@^2.0.5: version "2.6.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== @@ -12556,7 +13095,7 @@ pretty-bytes@^5.1.0, pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== -pretty-error@^2.1.1: +pretty-error@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== @@ -12564,16 +13103,6 @@ pretty-error@^2.1.1: lodash "^4.17.20" renderkid "^2.0.4" -pretty-format@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" - integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== - dependencies: - "@jest/types" "^25.5.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - pretty-format@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" @@ -12643,15 +13172,7 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -prompts@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" - integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prompts@^2.0.1, prompts@^2.3.2: +prompts@^2.0.1, prompts@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== @@ -12684,10 +13205,10 @@ property-information@^5.0.0, property-information@^5.3.0: dependencies: xtend "^4.0.0" -protocols@^1.1.0, protocols@^1.4.0: - version "1.4.8" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" - integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg== +protocols@^2.0.0, protocols@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86" + integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q== proxy-addr@~2.0.7: version "2.0.7" @@ -12732,19 +13253,14 @@ pupa@^2.1.1: dependencies: escape-goat "^2.0.0" -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qs@6.10.3, qs@^6.9.4: +qs@6.10.3: version "6.10.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== dependencies: side-channel "^1.0.4" -query-string@^6.13.1, query-string@^6.13.3, query-string@^6.13.8: +query-string@^6.13.3, query-string@^6.14.1: version "6.14.1" resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== @@ -12759,11 +13275,6 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= -querystring@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" - integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -12813,6 +13324,16 @@ raw-body@2.5.1, raw-body@^2.4.1: iconv-lite "0.4.24" unpipe "1.0.0" +raw-body@^2.3.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + raw-loader@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6" @@ -12838,35 +13359,35 @@ react-clientside-effect@^1.2.6: dependencies: "@babel/runtime" "^7.12.13" -react-dev-utils@^11.0.3: - version "11.0.4" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-11.0.4.tgz#a7ccb60257a1ca2e0efe7a83e38e6700d17aa37a" - integrity sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A== +react-dev-utils@^12.0.1: + version "12.0.1" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" + integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== dependencies: - "@babel/code-frame" "7.10.4" - address "1.1.2" - browserslist "4.14.2" - chalk "2.4.2" - cross-spawn "7.0.3" - detect-port-alt "1.1.6" - escape-string-regexp "2.0.0" - filesize "6.1.0" - find-up "4.1.0" - fork-ts-checker-webpack-plugin "4.1.6" - global-modules "2.0.0" - globby "11.0.1" - gzip-size "5.1.1" - immer "8.0.1" - is-root "2.1.0" - loader-utils "2.0.0" - open "^7.0.2" - pkg-up "3.1.0" - prompts "2.4.0" - react-error-overlay "^6.0.9" - recursive-readdir "2.2.2" - shell-quote "1.7.2" - strip-ansi "6.0.0" - text-table "0.2.0" + "@babel/code-frame" "^7.16.0" + address "^1.1.2" + browserslist "^4.18.1" + chalk "^4.1.2" + cross-spawn "^7.0.3" + detect-port-alt "^1.1.6" + escape-string-regexp "^4.0.0" + filesize "^8.0.6" + find-up "^5.0.0" + fork-ts-checker-webpack-plugin "^6.5.0" + global-modules "^2.0.0" + globby "^11.0.4" + gzip-size "^6.0.0" + immer "^9.0.7" + is-root "^2.1.0" + loader-utils "^3.2.0" + open "^8.4.0" + pkg-up "^3.1.0" + prompts "^2.4.2" + react-error-overlay "^6.0.11" + recursive-readdir "^2.2.2" + shell-quote "^1.7.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" react-dom@^17.0.2: version "17.0.2" @@ -12877,7 +13398,7 @@ react-dom@^17.0.2: object-assign "^4.1.1" scheduler "^0.20.2" -react-error-overlay@^6.0.9: +react-error-overlay@^6.0.11: version "6.0.11" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== @@ -12960,16 +13481,16 @@ react-images@^1.2.0-beta.7: react-transition-group "^4.4.1" react-view-pager "^0.6.0" -react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - "react-is@^16.12.0 || ^17.0.0 || ^18.0.0": version "18.1.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.1.0.tgz#61aaed3096d30eacf2a2127118b5b41387d32a67" integrity sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg== +react-is@^16.13.1, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + react-is@^17.0.1, react-is@^17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" @@ -13027,10 +13548,10 @@ react-query@^3.7.1: broadcast-channel "^3.4.1" match-sorter "^6.0.2" -react-refresh@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.9.0.tgz#71863337adc3e5c2f8a6bfddd12ae3bfe32aafbf" - integrity sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ== +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== react-remove-scroll-bar@^2.3.1: version "2.3.1" @@ -13059,6 +13580,15 @@ react-scroll@1.8.7: lodash.throttle "^4.1.1" prop-types "^15.7.2" +react-server-dom-webpack@0.0.0-experimental-c8b778b7f-20220825: + version "0.0.0-experimental-c8b778b7f-20220825" + resolved "https://registry.yarnpkg.com/react-server-dom-webpack/-/react-server-dom-webpack-0.0.0-experimental-c8b778b7f-20220825.tgz#b147886ed7cff5b31d9452d6ffe6987bfd876ceb" + integrity sha512-JyCjbp6ZvkH/T0EuVPdceYlC8u5WqWDSJr2KxDvc81H2eJ+7zYUN++IcEycnR2F+HmER8QVgxfotnIx352zi+w== + dependencies: + acorn "^6.2.1" + loose-envify "^1.1.0" + neo-async "^2.6.1" + react-shallow-renderer@^16.13.1: version "16.15.0" resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" @@ -13196,17 +13726,7 @@ read@^1.0.7: dependencies: mute-stream "~0.0.4" -readable-stream@1.1.x: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.6, readable-stream@^2.2.2: +readable-stream@^2.2.2: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -13242,12 +13762,12 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -recursive-readdir@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" - integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== +recursive-readdir@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" + integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== dependencies: - minimatch "3.0.4" + minimatch "^3.0.5" redent@^3.0.0: version "3.0.0" @@ -13257,15 +13777,15 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -redux-thunk@^2.3.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.1.tgz#0dd8042cf47868f4b29699941de03c9301a75714" - integrity sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q== +redux-thunk@^2.4.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.2.tgz#b9d05d11994b99f7a91ea223e8b04cf0afa5ef3b" + integrity sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q== -redux@^4.0.5: - version "4.2.0" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.0.tgz#46f10d6e29b6666df758780437651eeb2b969f13" - integrity sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA== +redux@4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104" + integrity sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw== dependencies: "@babel/runtime" "^7.9.2" @@ -13293,6 +13813,11 @@ regenerator-runtime@^0.11.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== +regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.7: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" @@ -13318,7 +13843,7 @@ regex-parser@^2.2.11: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== -regexp.prototype.flags@^1.4.1: +regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== @@ -13394,6 +13919,15 @@ regjsparser@^0.8.2: dependencies: jsesc "~0.5.0" +relay-runtime@12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/relay-runtime/-/relay-runtime-12.0.0.tgz#1e039282bdb5e0c1b9a7dc7f6b9a09d4f4ff8237" + integrity sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug== + dependencies: + "@babel/runtime" "^7.0.0" + fbjs "^3.0.0" + invariant "^2.2.4" + remark-footnotes@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-2.0.0.tgz#9001c4c2ffebba55695d2dd80ffb8b82f7e6303f" @@ -13413,25 +13947,6 @@ remark-mdx@1.6.22: remark-parse "8.0.3" unified "9.2.0" -remark-mdx@^2.0.0-next.4: - version "2.1.1" - resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-2.1.1.tgz#14021be9ecbc9ad0310f4240980221328aa7ed55" - integrity sha512-0wXdEITnFyjLquN3VvACNLzbGzWM5ujzTvfgOkONBZgSFJ7ezLLDaTWqf6H9eUgVITEP8asp6LJ0W/X090dXBg== - dependencies: - mdast-util-mdx "^2.0.0" - micromark-extension-mdxjs "^1.0.0" - -remark-mdxjs@^2.0.0-next.4: - version "2.0.0-next.8" - resolved "https://registry.yarnpkg.com/remark-mdxjs/-/remark-mdxjs-2.0.0-next.8.tgz#ff603ebfcb17f19503ee3fab78447445eaa08783" - integrity sha512-Z/+0eWc7pBEABwg3a5ptL+vCTWHYMFnYzpLoJxTm2muBSk8XyB/CL+tEJ6SV3Q/fScHX2dtG4JRcGSpbZFLazQ== - dependencies: - "@babel/core" "7.10.5" - "@babel/helper-plugin-utils" "7.10.4" - "@babel/plugin-proposal-object-rest-spread" "7.10.4" - "@babel/plugin-syntax-jsx" "7.10.4" - "@mdx-js/util" "^2.0.0-next.8" - remark-parse@8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" @@ -13454,7 +13969,7 @@ remark-parse@8.0.3: vfile-location "^3.0.0" xtend "^4.0.1" -remark-parse@^6.0.0, remark-parse@^6.0.3: +remark-parse@^6.0.0: version "6.0.3" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a" integrity sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg== @@ -13500,32 +14015,12 @@ remark-stringify@^6.0.0: is-whitespace-character "^1.0.0" longest-streak "^2.0.1" markdown-escapes "^1.0.0" - markdown-table "^1.1.0" - mdast-util-compact "^1.0.0" - parse-entities "^1.0.2" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - stringify-entities "^1.0.1" - unherit "^1.0.4" - xtend "^4.0.1" - -remark-stringify@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-8.1.1.tgz#e2a9dc7a7bf44e46a155ec78996db896780d8ce5" - integrity sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A== - dependencies: - ccount "^1.0.0" - is-alphanumeric "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - longest-streak "^2.0.1" - markdown-escapes "^1.0.0" - markdown-table "^2.0.0" - mdast-util-compact "^2.0.0" - parse-entities "^2.0.0" + markdown-table "^1.1.0" + mdast-util-compact "^1.0.0" + parse-entities "^1.0.2" repeat-string "^1.5.4" state-toggle "^1.0.0" - stringify-entities "^3.0.0" + stringify-entities "^1.0.1" unherit "^1.0.4" xtend "^4.0.1" @@ -13564,7 +14059,7 @@ repeat-element@^1.1.2: resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== -repeat-string@^1.0.0, repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1: +repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= @@ -13599,11 +14094,6 @@ require-package-name@^2.0.1: resolved "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz#c11e97276b65b8e2923f75dabf5fb2ef0c3841b9" integrity sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk= -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - resize-observer-polyfill@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.0.tgz#660ff1d9712a2382baa2cad450a4716209f9ca69" @@ -13626,16 +14116,16 @@ resolve-cwd@^3.0.0: dependencies: resolve-from "^5.0.0" -resolve-from@5.0.0, resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + resolve-url-loader@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz#3c16caebe0b9faea9c7cc252fa49d2353c412320" @@ -13666,6 +14156,15 @@ resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.18.1, resolve@^1.2 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.19.0, resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^2.0.0-next.3: version "2.0.0-next.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" @@ -13674,6 +14173,15 @@ resolve@^2.0.0-next.3: is-core-module "^2.2.0" path-parse "^1.0.6" +resolve@^2.0.0-next.4: + version "2.0.0-next.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -13777,13 +14285,6 @@ rxjs@^6.6.0: dependencies: tslib "^1.9.0" -sade@^1.7.3: - version "1.8.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" - integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== - dependencies: - mri "^1.1.0" - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -13794,6 +14295,15 @@ safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, s resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" @@ -13841,7 +14351,7 @@ sass@^1.49.9: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: +sax@>=0.6.0, sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -13861,6 +14371,15 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + schema-utils@^2.6.5: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" @@ -13899,7 +14418,7 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -13960,6 +14479,15 @@ sentence-case@^2.1.0: no-case "^2.2.0" upper-case-first "^1.1.2" +sentence-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-3.0.4.tgz#3645a7b8c117c787fde8702056225bb62a45131f" + integrity sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + upper-case-first "^2.0.2" + serialize-javascript@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" @@ -13974,6 +14502,13 @@ serialize-javascript@^6.0.0: dependencies: randombytes "^2.1.0" +serialize-javascript@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" + integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== + dependencies: + randombytes "^2.1.0" + serve-static@1.15.0: version "1.15.0" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" @@ -13984,7 +14519,7 @@ serve-static@1.15.0: parseurl "~1.3.3" send "0.18.0" -set-blocking@^2.0.0, set-blocking@~2.0.0: +set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= @@ -14031,7 +14566,7 @@ shallowequal@^1.1.0: resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== -sharp@^0.29.0: +sharp@^0.29.3: version "0.29.3" resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.29.3.tgz#0da183d626094c974516a48fab9b3e4ba92eb5c2" integrity sha512-fKWUuOw77E4nhpyzCCJR1ayrttHoFHBT2U/kR/qEMRhvPEcluG4BKj324+SCO1e84+knXHwhJ1HHJGnUt4ElGA== @@ -14083,10 +14618,10 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== +shell-quote@^1.7.3: + version "1.8.0" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.0.tgz#20d078d0eaf71d54f43bd2ba14a1b5b9bfa5c8ba" + integrity sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ== shellwords@^0.1.1: version "0.1.1" @@ -14102,11 +14637,16 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.5, signal-exit@^3.0.6: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +signedsource@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/signedsource/-/signedsource-1.0.0.tgz#1ddace4981798f93bd833973803d80d52e93ad6a" + integrity sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww== + simple-concat@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" @@ -14128,13 +14668,6 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -single-trailing-newline@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/single-trailing-newline/-/single-trailing-newline-1.0.0.tgz#81f0ad2ad645181945c80952a5c1414992ee9664" - integrity sha1-gfCtKtZFGBlFyAlSpcFBSZLulmQ= - dependencies: - detect-newline "^1.0.3" - sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -14169,6 +14702,11 @@ slugify@^1.4.4: resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.5.tgz#c8f5c072bf2135b80703589b39a3d41451fbe8c8" integrity sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ== +slugify@^1.6.1: + version "1.6.6" + resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.6.tgz#2d4ac0eacb47add6af9e04d3be79319cbcc7924b" + integrity sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw== + snake-case@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f" @@ -14176,6 +14714,14 @@ snake-case@^2.1.0: dependencies: no-case "^2.2.0" +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -14206,47 +14752,40 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -socket.io-adapter@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz#edc5dc36602f2985918d631c1399215e97a1b527" - integrity sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg== +socket.io-adapter@~2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz#b50a4a9ecdd00c34d4c8c808224daa1a786152a6" + integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== -socket.io-client@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-3.1.1.tgz#43dfc3feddbb675b274a724f685d6b6af319b3e3" - integrity sha512-BLgIuCjI7Sf3mDHunKddX9zKR/pbkP7IACM3sJS3jha+zJ6/pGKRV6Fz5XSBHCfUs9YzT8kYIqNwOOuFNLtnYA== +socket.io-client@4.5.4: + version "4.5.4" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.5.4.tgz#d3cde8a06a6250041ba7390f08d2468ccebc5ac9" + integrity sha512-ZpKteoA06RzkD32IbqILZ+Cnst4xewU7ZYK12aS1mzHftFFjpoMz69IuhP/nL25pJfao/amoPI527KnuhFm01g== dependencies: - "@types/component-emitter" "^1.2.10" - backo2 "~1.0.2" - component-emitter "~1.3.0" - debug "~4.3.1" - engine.io-client "~4.1.0" - parseuri "0.0.6" - socket.io-parser "~4.0.4" + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.2" + engine.io-client "~6.2.3" + socket.io-parser "~4.2.1" -socket.io-parser@~4.0.3, socket.io-parser@~4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.4.tgz#9ea21b0d61508d18196ef04a2c6b9ab630f4c2b0" - integrity sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g== +socket.io-parser@~4.2.1: + version "4.2.2" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.2.tgz#1dd384019e25b7a3d374877f492ab34f2ad0d206" + integrity sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw== dependencies: - "@types/component-emitter" "^1.2.10" - component-emitter "~1.3.0" + "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" -socket.io@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-3.1.1.tgz#905e3d4a3b37d8e7970e67a4a6eb81110a5778ba" - integrity sha512-7cBWdsDC7bbyEF6WbBqffjizc/H4YF1wLdZoOzuYfo2uMNSFjJKuQ36t0H40o9B20DO6p+mSytEd92oP4S15bA== +socket.io@4.5.4: + version "4.5.4" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.4.tgz#a4513f06e87451c17013b8d13fdfaf8da5a86a90" + integrity sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ== dependencies: - "@types/cookie" "^0.4.0" - "@types/cors" "^2.8.8" - "@types/node" "^14.14.10" accepts "~1.3.4" base64id "~2.0.0" - debug "~4.3.1" - engine.io "~4.1.0" - socket.io-adapter "~2.1.0" - socket.io-parser "~4.0.3" + debug "~4.3.2" + engine.io "~6.2.1" + socket.io-adapter "~2.4.0" + socket.io-parser "~4.2.1" source-list-map@^1.1.1: version "1.1.2" @@ -14282,7 +14821,7 @@ source-map-resolve@^0.6.0: atob "^2.1.2" decode-uri-component "^0.2.0" -source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: +source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -14305,16 +14844,16 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@0.7.3, source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.3: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + source-map@~0.8.0-beta.0: version "0.8.0-beta.0" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" @@ -14370,6 +14909,13 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" +sponge-case@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sponge-case/-/sponge-case-1.0.1.tgz#260833b86453883d974f84854cdb63aecc5aef4c" + integrity sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA== + dependencies: + tslib "^2.0.3" + sprintf-js@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" @@ -14422,6 +14968,11 @@ stackframe@^1.1.1: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.1.tgz#1033a3473ee67f08e2f2fc8eba6aef4f845124e1" integrity sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg== +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + stacktrace-gps@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.0.4.tgz#7688dc2fc09ffb3a13165ebe0dbcaf41bcf0c69a" @@ -14473,6 +15024,13 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + stream-browserify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" @@ -14488,21 +15046,16 @@ stream-parser@~0.3.1: dependencies: debug "2" -streamsearch@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" - integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo= +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== strict-uri-encode@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= -string-env-interpolation@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz#ad4397ae4ac53fe6c91d1402ad6f6a52862c7152" - integrity sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg== - string-length@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -14527,16 +15080,7 @@ string-similarity@^1.2.2: lodash.map "^4.6.0" lodash.maxby "^4.6.0" -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -14559,6 +15103,29 @@ string.prototype.matchall@^4.0.6: regexp.prototype.flags "^1.4.1" side-channel "^1.0.4" +string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + +string.prototype.trim@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" + integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string.prototype.trimend@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" @@ -14568,6 +15135,15 @@ string.prototype.trimend@^1.0.5: define-properties "^1.1.4" es-abstract "^1.19.5" +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string.prototype.trimstart@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" @@ -14577,6 +15153,15 @@ string.prototype.trimstart@^1.0.5: define-properties "^1.1.4" es-abstract "^1.19.5" +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -14584,11 +15169,6 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -14606,23 +15186,6 @@ stringify-entities@^1.0.1: is-alphanumerical "^1.0.0" is-hexadecimal "^1.0.0" -stringify-entities@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-3.1.0.tgz#b8d3feac256d9ffcc9fa1fefdcf3ca70576ee903" - integrity sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg== - dependencies: - character-entities-html4 "^1.0.0" - character-entities-legacy "^1.0.0" - xtend "^4.0.0" - -stringify-entities@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.2.tgz#13d113dc7449dc8ae4cb22c28883ee3fff8753e3" - integrity sha512-MTxTVcEkorNtBbNpoFJPEh0kKdM6+QbMjLbaxmvaPMmayOXdr/AIVIIJX7FReUVweRBFJfZepK4A4AKgwuFpMQ== - dependencies: - character-entities-html4 "^2.0.0" - character-entities-legacy "^3.0.0" - stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" @@ -14632,14 +15195,7 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -strip-ansi@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: +strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= @@ -14765,17 +15321,6 @@ stylis@^4.0.6: resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.1.1.tgz#e46c6a9bbf7c58db1e65bb730be157311ae1fe12" integrity sha512-lVrM/bNdhVX2OgBFNa2YJ9Lxj7kPzylieHd3TNjuGE0Re9JB7joL5VUKOVH1kdNNJTgGPpT8hmwIAPLaSyEVFQ== -subscriptions-transport-ws@^0.9.18: - version "0.9.19" - resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.19.tgz#10ca32f7e291d5ee8eb728b9c02e43c52606cdcf" - integrity sha512-dxdemxFFB0ppCLg10FTtRqH/31FNRL1y1BQv8209MK5I4CwALb7iihQg+7p65lFcIl8MHatINWBLOqpgU4Kyyw== - dependencies: - backo2 "^1.0.2" - eventemitter3 "^3.1.0" - iterall "^1.2.1" - symbol-observable "^1.0.4" - ws "^5.2.0 || ^6.0.0 || ^7.0.0" - sudo-prompt@^8.2.0: version "8.2.5" resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-8.2.5.tgz#cc5ef3769a134bb94b24a631cc09628d4d53603e" @@ -14822,25 +15367,6 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -svgo@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - svgo@^2.7.0: version "2.8.0" resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" @@ -14862,24 +15388,18 @@ swap-case@^1.1.0: lower-case "^1.1.1" upper-case "^1.1.1" -symbol-observable@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== +swap-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-2.0.2.tgz#671aedb3c9c137e2985ef51c51f9e98445bf70d9" + integrity sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw== + dependencies: + tslib "^2.0.3" symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -sync-fetch@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/sync-fetch/-/sync-fetch-0.3.0.tgz#77246da949389310ad978ab26790bb05f88d1335" - integrity sha512-dJp4qg+x4JwSEW1HibAuMi0IIrBI3wuQr2GimmqB7OXR50wmwzfdusG+p39R9w3R6aFtZ2mzvxvWKQ3Bd/vx3g== - dependencies: - buffer "^5.7.0" - node-fetch "^2.6.1" - tabbable@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-1.1.2.tgz#b171680aea6e0a3e9281ff23532e2e5de11c0d94" @@ -14940,7 +15460,7 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@^5.1.1, terser-webpack-plugin@^5.1.3: +terser-webpack-plugin@^5.1.3: version "5.3.1" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54" integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g== @@ -14951,6 +15471,17 @@ terser-webpack-plugin@^5.1.1, terser-webpack-plugin@^5.1.3: source-map "^0.6.1" terser "^5.7.2" +terser-webpack-plugin@^5.2.4: + version "5.3.7" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz#ef760632d24991760f339fe9290deb936ad1ffc7" + integrity sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.17" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.16.5" + terser@^4.0.0: version "4.8.0" resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" @@ -14960,6 +15491,16 @@ terser@^4.0.0: source-map "~0.6.1" source-map-support "~0.5.12" +terser@^5.16.5, terser@^5.2.0: + version "5.16.8" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.8.tgz#ccde583dabe71df3f4ed02b65eb6532e0fae15d5" + integrity sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + terser@^5.6.1, terser@^5.7.2: version "5.13.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.13.1.tgz#66332cdc5a01b04a224c9fad449fc1a18eaa1799" @@ -14979,7 +15520,7 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" -text-table@0.2.0, text-table@^0.2.0: +text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= @@ -15025,6 +15566,13 @@ title-case@^2.1.0: no-case "^2.2.0" upper-case "^1.0.3" +title-case@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/title-case/-/title-case-3.0.3.tgz#bc689b46f02e411f1d1e1d081f7c3deca0489982" + integrity sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA== + dependencies: + tslib "^2.0.3" + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -15174,18 +15722,6 @@ ts-easing@^0.2.0: resolved "https://registry.yarnpkg.com/ts-easing/-/ts-easing-0.2.0.tgz#c8a8a35025105566588d87dbda05dd7fbfa5a4ec" integrity sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ== -ts-node@^9: - version "9.1.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" - integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== - dependencies: - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.17" - yn "3.1.1" - tsconfig-paths@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" @@ -15201,30 +15737,15 @@ tslib@^1.0.0, tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.1, tslib@~2.4.0: +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.1, tslib@~2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== -tslib@~2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" - integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== - -tslib@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== - -tslib@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" - integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== - -tslib@~2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@^2.4.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== tsutils@^3.17.1, tsutils@^3.21.0: version "3.21.0" @@ -15284,11 +15805,6 @@ type-fest@^0.8.0, type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-fest@^2.5.3: - version "2.12.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.12.2.tgz#80a53614e6b9b475eb9077472fb7498dc7aa51d0" - integrity sha512-qt6ylCGpLjZ7AaODxbpyBZSs9fCI9SkL3Z9q2oxMBQhs/uyY+VD8jHA8ULCGmWQJlBgqvO3EJeAngOHD8zQCrQ== - type-is@^1.6.4, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -15312,6 +15828,15 @@ type@^2.5.0: resolved "https://registry.yarnpkg.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f" integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -15474,11 +15999,6 @@ unist-util-is@^4.0.0: resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== -unist-util-is@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.1.1.tgz#e8aece0b102fa9bc097b0fef8f870c496d4a6236" - integrity sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ== - unist-util-map@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/unist-util-map/-/unist-util-map-1.0.5.tgz#701069b72e1d1cc02db265502a5e82b77c2eb8b7" @@ -15493,13 +16013,6 @@ unist-util-modify-children@^2.0.0: dependencies: array-iterate "^1.0.0" -unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz#96f4d543dfb0428edc01ebb928570b602d280c4c" - integrity sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw== - dependencies: - "@types/unist" "^2.0.0" - unist-util-position@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" @@ -15519,14 +16032,6 @@ unist-util-remove-position@^2.0.0: dependencies: unist-util-visit "^2.0.0" -unist-util-remove-position@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-4.0.1.tgz#d5b46a7304ac114c8d91990ece085ca7c2c135c8" - integrity sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ== - dependencies: - "@types/unist" "^2.0.0" - unist-util-visit "^4.0.0" - unist-util-remove@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-1.0.3.tgz#58ec193dfa84b52d5a055ffbc58e5444eb8031a3" @@ -15591,15 +16096,7 @@ unist-util-visit-parents@^3.0.0, unist-util-visit-parents@^3.1.1: "@types/unist" "^2.0.0" unist-util-is "^4.0.0" -unist-util-visit-parents@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz#44bbc5d25f2411e7dfc5cecff12de43296aa8521" - integrity sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - -unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.2, unist-util-visit@^2.0.3: +unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== @@ -15615,15 +16112,6 @@ unist-util-visit@^1.1.0, unist-util-visit@^1.4.1: dependencies: unist-util-visit-parents "^2.0.0" -unist-util-visit@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.0.tgz#f41e407a9e94da31594e6b1c9811c51ab0b3d8f5" - integrity sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents "^5.0.0" - universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -15634,10 +16122,10 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -unixify@1.0.0: +unixify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unixify/-/unixify-1.0.0.tgz#3a641c8c2ffbce4da683a5c70f03a462940c2090" - integrity sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA= + integrity sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg== dependencies: normalize-path "^2.1.1" @@ -15654,11 +16142,6 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" @@ -15667,7 +16150,15 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -update-notifier@^5.0.1: +update-browserslist-db@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +update-notifier@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== @@ -15694,11 +16185,25 @@ upper-case-first@^1.1.0, upper-case-first@^1.1.2: dependencies: upper-case "^1.1.1" +upper-case-first@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324" + integrity sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== + dependencies: + tslib "^2.0.3" + upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= +upper-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-2.0.2.tgz#d89810823faab1df1549b7d97a76f8662bae6f7a" + integrity sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== + dependencies: + tslib "^2.0.3" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -15809,16 +16314,6 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - util@^0.12.3: version "0.12.4" resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" @@ -15836,37 +16331,27 @@ utila@~0.4: resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= +utility-types@^3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.10.0.tgz#ea4148f9a741015f05ed74fd615e1d20e6bed82b" + integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg== + utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@3.4.0, uuid@^3.0.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - uuid@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== -uuid@^8.3.0: +uuid@^8.3.0, uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -uvu@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.3.tgz#3d83c5bc1230f153451877bfc7f4aea2392219ae" - integrity sha512-brFwqA3FXzilmtnIyJ+CxdkInkY/i4ErvP7uV0DnUVxQcQ55reuHphorpF+tZoVHK2MniZ/VJzI7zJQoc9T9Yw== - dependencies: - dequal "^2.0.0" - diff "^5.0.0" - kleur "^4.0.3" - sade "^1.7.3" - -v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0: +v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -15880,7 +16365,7 @@ v8-to-istanbul@^7.0.0: convert-source-map "^1.6.0" source-map "^0.7.3" -valid-url@1.0.9, valid-url@^1.0.9: +valid-url@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA= @@ -15893,15 +16378,10 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -value-or-promise@1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140" - integrity sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg== - -value-or-promise@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.6.tgz#218aa4794aa2ee24dcf48a29aba4413ed584747f" - integrity sha512-9r0wQsWD8z/BxPOvnwbPf05ZvFngXyouE9EKB+5GbYix+BYnAwrIChCUyFIinfbf2FL/U71z+CPpbnmTdxrwBg== +value-or-promise@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" + integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== vary@^1, vary@~1.1.2: version "1.1.2" @@ -15918,15 +16398,7 @@ vfile-location@^3.0.0, vfile-location@^3.2.0: resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== -vfile-location@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.0.1.tgz#06f2b9244a3565bef91f099359486a08b10d3a95" - integrity sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw== - dependencies: - "@types/unist" "^2.0.0" - vfile "^5.0.0" - -vfile-message@*, vfile-message@^3.0.0: +vfile-message@*: version "3.1.2" resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.2.tgz#a2908f64d9e557315ec9d7ea3a910f658ac05f7d" integrity sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA== @@ -15969,16 +16441,6 @@ vfile@^4.0.0: unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" -vfile@^5.0.0: - version "5.3.2" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.2.tgz#b499fbc50197ea50ad3749e9b60beb16ca5b7c54" - integrity sha512-w0PLIugRY3Crkgw89TeMvHCzqCs/zpreR31hl4D92y6SOE07+bfJe+dK5Q2akwS+i/c801kzjoOr9gMcTe6IAA== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^3.0.0" - vfile-message "^3.0.0" - vlq@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.1.tgz#c003f6e7c0b4c1edd623fd6ee50bbc0d6a1de468" @@ -16017,10 +16479,10 @@ warning@^4.0.3: dependencies: loose-envify "^1.0.0" -watchpack@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" - integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -16055,7 +16517,7 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-assets-manifest@^5.0.6: +webpack-assets-manifest@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/webpack-assets-manifest/-/webpack-assets-manifest-5.1.0.tgz#5af328f6c8fa760cb9a62af631a83da2b478b791" integrity sha512-kPuTMEjBrqZQVJ5M6yXNBCEdFbQQn7p+loNXt8NOeDFaAbsNFWqqwR0YL1mfG5LbwhK5FLXWXpuK3GuIIZ46rg== @@ -16068,7 +16530,7 @@ webpack-assets-manifest@^5.0.6: schema-utils "^3.0" tapable "^2.0" -webpack-dev-middleware@^4.1.0: +webpack-dev-middleware@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz#179cc40795882cae510b1aa7f3710cbe93c9333e" integrity sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w== @@ -16080,7 +16542,7 @@ webpack-dev-middleware@^4.1.0: range-parser "^1.2.1" schema-utils "^3.0.0" -webpack-merge@^5.7.3: +webpack-merge@^5.8.0: version "5.8.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== @@ -16121,21 +16583,21 @@ webpack-virtual-modules@^0.3.2: dependencies: debug "^3.0.0" -webpack@^5.35.0: - version "5.72.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.72.1.tgz#3500fc834b4e9ba573b9f430b2c0a61e1bb57d13" - integrity sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung== +webpack@^5.61.0: + version "5.77.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.77.0.tgz#dea3ad16d7ea6b84aa55fa42f4eac9f30e7eb9b4" + integrity sha512-sbGNjBr5Ya5ss91yzjeJTLKyfiwo5C628AFjEa6WSXcZa4E+F57om3Cc8xLb1Jh0b243AWuSYRf3dn7HVeFQ9Q== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^0.0.51" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" + acorn "^8.7.1" acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.9.3" + enhanced-resolve "^5.10.0" es-module-lexer "^0.9.0" eslint-scope "5.1.1" events "^3.2.0" @@ -16148,7 +16610,7 @@ webpack@^5.35.0: schema-utils "^3.1.0" tapable "^2.1.1" terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" + watchpack "^2.4.0" webpack-sources "^3.2.3" whatwg-encoding@^1.0.5: @@ -16205,6 +16667,16 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" @@ -16222,6 +16694,18 @@ which-typed-array@^1.1.2: has-tostringtag "^1.0.0" is-typed-array "^1.1.7" +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -16236,13 +16720,6 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" -wide-align@^1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - widest-line@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" @@ -16386,13 +16863,6 @@ workbox-window@^4.3.1: dependencies: workbox-core "^4.3.1" -worker-rpc@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" - integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg== - dependencies: - microevent.ts "~0.1.1" - wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -16426,20 +16896,15 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@7.4.5: - version "7.4.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1" - integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g== - -"ws@^5.2.0 || ^6.0.0 || ^7.0.0", ws@^7.3.0, ws@^7.4.6: +ws@^7.4.6: version "7.5.7" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== -ws@~7.4.2: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== +ws@~8.2.3: + version "8.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" + integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== x-is-string@^0.1.0: version "0.1.0" @@ -16489,10 +16954,10 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xmlhttprequest-ssl@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz#03b713873b01659dfa2c1c5d056065b27ddc2de6" - integrity sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q== +xmlhttprequest-ssl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" + integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== xss@^1.0.6: version "1.0.11" @@ -16502,7 +16967,7 @@ xss@^1.0.6: commander "^2.20.3" cssfilter "0.0.10" -xstate@4.32.1, xstate@^4.11.0, xstate@^4.14.0, xstate@^4.17.1, xstate@^4.9.1: +xstate@4.32.1, xstate@^4.17.1: version "4.32.1" resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.32.1.tgz#1a09c808a66072938861a3b4acc5b38460244b70" integrity sha512-QYUd+3GkXZ8i6qdixnOn28bL3EvA++LONYL/EMWwKlFSh/hiLndJ8YTnz77FDs+JUXcwU7NZJg7qoezoRHc4GQ== @@ -16512,6 +16977,11 @@ xtend@^4.0.0, xtend@^4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== +xxhash-wasm@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz#752398c131a4dd407b5132ba62ad372029be6f79" + integrity sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA== + y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" @@ -16522,24 +16992,35 @@ yallist@^2.0.0, yallist@^2.1.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml-loader@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/yaml-loader/-/yaml-loader-0.6.0.tgz#fe1c48b9f4803dace55a59a1474e790ba6ab1b48" - integrity sha512-1bNiLelumURyj+zvVHOv8Y3dpCri0F2S+DCcmps0pA1zWRLjS+FhZQg4o3aUUDYESh73+pKZNI18bj7stpReow== +yaml-loader@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/yaml-loader/-/yaml-loader-0.8.0.tgz#c839325e3fdee082b3768b2a21fe34fde5d96f61" + integrity sha512-LjeKnTzVBKWiQBeE2L9ssl6WprqaUIxCSNs5tle8PaDydgu3wVFXTbMfsvF2MSErpy9TDVa092n4q6adYwJaWg== dependencies: - loader-utils "^1.4.0" - yaml "^1.8.3" + javascript-stringify "^2.0.1" + loader-utils "^2.0.0" + yaml "^2.0.0" -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2, yaml@^1.8.3: +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== +yaml@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" + integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== + yargs-parser@^18.1.2, yargs-parser@^18.1.3: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -16548,7 +17029,7 @@ yargs-parser@^18.1.2, yargs-parser@^18.1.3: camelcase "^5.0.0" decamelize "^1.2.0" -yargs@^15.4.1: +yargs@^15.3.1, yargs@^15.4.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== @@ -16565,22 +17046,12 @@ yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" -yeast@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" - integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -yoga-layout-prebuilt@^1.9.6: +yoga-layout-prebuilt@^1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.10.0.tgz#2936fbaf4b3628ee0b3e3b1df44936d6c146faa6" integrity sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g== @@ -16602,8 +17073,3 @@ zwitch@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== - -zwitch@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.2.tgz#91f8d0e901ffa3d66599756dde7f57b17c95dce1" - integrity sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA== From 532a760df4e93361815652cbe1ad8afbf03a4a97 Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Wed, 29 Mar 2023 10:44:29 -0700 Subject: [PATCH 16/55] fix: Ignore css prop warnings --- .eslintrc.js | 1 + 1 file changed, 1 insertion(+) diff --git a/.eslintrc.js b/.eslintrc.js index d815cc1f35..3e01c3e878 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -23,5 +23,6 @@ module.exports = { plugins: ['react', 'prettier'], rules: { 'prettier/prettier': 'error', + 'react/no-unknown-property': ['error', { ignore: ['css'] }], }, }; From a88d44da105859f9057433f613d2cbc39583fa31 Mon Sep 17 00:00:00 2001 From: Clark McAdoo Date: Wed, 29 Mar 2023 13:54:05 -0500 Subject: [PATCH 17/55] fix: linting issue, added key attribute to iterated items --- src/pages/external-projects.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/external-projects.js b/src/pages/external-projects.js index 78aa6b2caa..13bc9e5b2b 100644 --- a/src/pages/external-projects.js +++ b/src/pages/external-projects.js @@ -124,6 +124,7 @@ const ExternalProjectsPage = ({ data, pageContext }) => { onClick={() => { location.href = `/projects/${project.fullName}`; }} + key={project.fullName} > Date: Wed, 29 Mar 2023 14:11:08 -0500 Subject: [PATCH 18/55] fix: add work around for jest --- jest.config.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jest.config.js b/jest.config.js index 46cb0f04ad..9e87c4d14d 100644 --- a/jest.config.js +++ b/jest.config.js @@ -6,6 +6,8 @@ module.exports = { '.+\\.(css|styl|less|sass|scss)$': `identity-obj-proxy`, '.+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': `/__mocks__/file-mock.js`, '^@reach/router(.*)': '/node_modules/@gatsbyjs/reach-router$1', + '^gatsby-core-utils/(.*)$': `gatsby-core-utils/dist/$1`, // Workaround for https://github.com/facebook/jest/issues/9771 + '^gatsby-page-utils/(.*)$': `gatsby-page-utils/dist/$1`, // Workaround for https://github.com/facebook/jest/issues/9771 }, testPathIgnorePatterns: [ `node_modules`, From 3e919b9946c1980ce1c6d3fbcb65172c209600b8 Mon Sep 17 00:00:00 2001 From: nr-opensource-bot Date: Wed, 29 Mar 2023 20:04:28 +0000 Subject: [PATCH 19/55] chore(release): 1.24.3 ## [1.24.3](https://github.com/newrelic/opensource-website/compare/v1.24.2...v1.24.3) (2023-03-29) ### Bug Fixes * add work around for jest ([9ace54d](https://github.com/newrelic/opensource-website/commit/9ace54deaf56737ba0b0dc8643b96947524bfe8e)) * Ignore css prop warnings ([532a760](https://github.com/newrelic/opensource-website/commit/532a760df4e93361815652cbe1ad8afbf03a4a97)) * linting issue, added key attribute to iterated items ([a88d44d](https://github.com/newrelic/opensource-website/commit/a88d44da105859f9057433f613d2cbc39583fa31)) --- CHANGELOG.md | 9 +++++++++ package.json | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18d24cbc89..2af79db66e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## [1.24.3](https://github.com/newrelic/opensource-website/compare/v1.24.2...v1.24.3) (2023-03-29) + + +### Bug Fixes + +* add work around for jest ([9ace54d](https://github.com/newrelic/opensource-website/commit/9ace54deaf56737ba0b0dc8643b96947524bfe8e)) +* Ignore css prop warnings ([532a760](https://github.com/newrelic/opensource-website/commit/532a760df4e93361815652cbe1ad8afbf03a4a97)) +* linting issue, added key attribute to iterated items ([a88d44d](https://github.com/newrelic/opensource-website/commit/a88d44da105859f9057433f613d2cbc39583fa31)) + ## [1.24.2](https://github.com/newrelic/opensource-website/compare/v1.24.1...v1.24.2) (2023-03-28) diff --git a/package.json b/package.json index f93512bd61..19cb7a1e98 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "opensource-website", "private": true, "description": "Data, code, and automation for opensource.newrelic.com", - "version": "1.24.2", + "version": "1.24.3", "author": "Open Source Team at New Relic ", "dependencies": { "@emotion/react": "^11.1.5", @@ -87,4 +87,4 @@ "bugs": { "url": "https://github.com/newrelic/opensource-website/issues" } -} \ No newline at end of file +} From a31f3eb3c7f850f3da4a6da97f0ed71771eea965 Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Tue, 4 Apr 2023 17:54:29 -0700 Subject: [PATCH 20/55] fix: Filter for newrelic projects differently --- src/pages/collection.js | 2 +- src/pages/collections.js | 4 ++-- src/pages/explore-projects.js | 2 +- src/pages/index.js | 4 ++-- src/pages/instrumentation.js | 2 +- src/pages/nerdpacks.js | 2 +- src/templates/project-page.js | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/pages/collection.js b/src/pages/collection.js index 58d0cd8bd9..299f445902 100644 --- a/src/pages/collection.js +++ b/src/pages/collection.js @@ -12,7 +12,7 @@ export const query = graphql` query CollectionProjects { allProjects( filter: { - projectType: { eq: "newrelic" } + projectType: { ne: "external" } projectTags: { elemMatch: { slug: { eq: "agent" } } } } ) { diff --git a/src/pages/collections.js b/src/pages/collections.js index 17063447d5..fa927f1ede 100644 --- a/src/pages/collections.js +++ b/src/pages/collections.js @@ -14,7 +14,7 @@ export const query = graphql` query allCollections($path: String) { instrumentation: allProjects( filter: { - projectType: { eq: "newrelic" } + projectType: { ne: "external" } projectTags: { elemMatch: { slug: { in: ["exporter", "nri", "agent", "sdk", "cli"] } @@ -31,7 +31,7 @@ export const query = graphql` nerdpacks: allProjects( filter: { - projectType: { eq: "newrelic" } + projectType: { ne: "external" } projectTags: { elemMatch: { slug: { eq: "nr1-app" } } } } # sort: { fields: stats___lastSixMonthsCommitTotal, order: DESC } ) { diff --git a/src/pages/explore-projects.js b/src/pages/explore-projects.js index aad24ed6fa..5f6af87f03 100644 --- a/src/pages/explore-projects.js +++ b/src/pages/explore-projects.js @@ -19,7 +19,7 @@ import * as styles from './explore-projects.module.scss'; export const query = graphql` query ExploreProjects($path: String) { - allProjects(filter: { projectType: { eq: "newrelic" } }) { + allProjects(filter: { projectType: { ne: "external" } }) { edges { node { ...exploreProjectsFields diff --git a/src/pages/index.js b/src/pages/index.js index 0a399d84b4..a4793f7555 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -12,7 +12,7 @@ import * as styles from './home-page.module.scss'; export const query = graphql` query HomePageQuery($path: String) { - topProjects: allProjects(filter: { projectType: { eq: "newrelic" } }) { + topProjects: allProjects(filter: { projectType: { ne: "external" } }) { edges { node { ...projectFields @@ -21,7 +21,7 @@ export const query = graphql` } instrumentation: allProjects( filter: { - projectType: { eq: "newrelic" } + projectType: { ne: "external" } projectTags: { elemMatch: { slug: { in: ["exporter", "nri", "agent", "sdk", "cli"] } diff --git a/src/pages/instrumentation.js b/src/pages/instrumentation.js index a816e9c76c..cecf9c8100 100644 --- a/src/pages/instrumentation.js +++ b/src/pages/instrumentation.js @@ -12,7 +12,7 @@ export const query = graphql` query InstrumentationProjects($path: String) { allProjects( filter: { - projectType: { eq: "newrelic" } + projectType: { ne: "external" } projectTags: { elemMatch: { slug: { in: ["exporter", "nri", "agent", "sdk", "cli"] } diff --git a/src/pages/nerdpacks.js b/src/pages/nerdpacks.js index 469546602d..d4b63a997c 100644 --- a/src/pages/nerdpacks.js +++ b/src/pages/nerdpacks.js @@ -12,7 +12,7 @@ export const query = graphql` query NerdpackProjects($path: String) { allProjects( filter: { - projectType: { eq: "newrelic" } + projectType: { ne: "external" } projectTags: { elemMatch: { slug: { eq: "nr1-app" } } } } ) { diff --git a/src/templates/project-page.js b/src/templates/project-page.js index 08c33da9bd..6214757663 100644 --- a/src/templates/project-page.js +++ b/src/templates/project-page.js @@ -43,7 +43,7 @@ export const query = graphql` } } project: allProjects( - filter: { slug: { eq: $slug }, projectType: { eq: "newrelic" } } + filter: { slug: { eq: $slug }, projectType: { ne: "external" } } ) { nodes { ...projectFields From c49f2f7ee4ae0a46a518e12789a56f08ab4a2453 Mon Sep 17 00:00:00 2001 From: nr-opensource-bot Date: Wed, 5 Apr 2023 15:17:22 +0000 Subject: [PATCH 21/55] chore(release): 1.24.4 ## [1.24.4](https://github.com/newrelic/opensource-website/compare/v1.24.3...v1.24.4) (2023-04-05) ### Bug Fixes * Filter for newrelic projects differently ([a31f3eb](https://github.com/newrelic/opensource-website/commit/a31f3eb3c7f850f3da4a6da97f0ed71771eea965)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2af79db66e..4f70d785e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [1.24.4](https://github.com/newrelic/opensource-website/compare/v1.24.3...v1.24.4) (2023-04-05) + + +### Bug Fixes + +* Filter for newrelic projects differently ([a31f3eb](https://github.com/newrelic/opensource-website/commit/a31f3eb3c7f850f3da4a6da97f0ed71771eea965)) + ## [1.24.3](https://github.com/newrelic/opensource-website/compare/v1.24.2...v1.24.3) (2023-03-29) diff --git a/package.json b/package.json index 19cb7a1e98..5ec8895a10 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "opensource-website", "private": true, "description": "Data, code, and automation for opensource.newrelic.com", - "version": "1.24.3", + "version": "1.24.4", "author": "Open Source Team at New Relic ", "dependencies": { "@emotion/react": "^11.1.5", From f68a9bb00b48caf2778b322631def884a2150a2b Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Tue, 18 Apr 2023 10:10:20 -0700 Subject: [PATCH 22/55] chore: bump to theme version with browser agent update --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 5ec8895a10..7e7d66dd86 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "@emotion/styled": "^11.3.0", "@mdx-js/mdx": "^1.6.22", "@mdx-js/react": "^1.6.22", - "@newrelic/gatsby-theme-newrelic": "^6.18.9", + "@newrelic/gatsby-theme-newrelic": "^6.19.1", "@splitsoftware/splitio-react": "^1.2.4", "date-fns": "^2.17.0", "feather-icons": "^4.28.0", diff --git a/yarn.lock b/yarn.lock index 9dd070a9ea..b5071ccbef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2647,10 +2647,10 @@ eslint-plugin-promise "^4.2.1" eslint-plugin-react "^7.14.3" -"@newrelic/gatsby-theme-newrelic@^6.18.9": - version "6.18.9" - resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-6.18.9.tgz#bfaa7e1b1c6aafad69c5120e9d9b57c73b70a830" - integrity sha512-0EblKLhrxD8cpa/4BDtxqJmhIdg86MeDM2/XNjaa3ETYuwDUQudwR9wQ2S+vB6KIeP4dFbg7Qb8KJGp/egR1EA== +"@newrelic/gatsby-theme-newrelic@^6.19.1": + version "6.19.2" + resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-6.19.2.tgz#14e07a23ecbf4ca65a0709895630066232f29e29" + integrity sha512-wZvZ28zic/OOkVJwGvA0I7u8lOqMgBju1KagSNN+5T7xATbpfoCeA5n8P2vI5l9G4skJZLiNY3W/CYKwyQWvzA== dependencies: "@wry/equality" "^0.4.0" "@xstate/react" "^1.3.1" @@ -2660,7 +2660,7 @@ file-saver "^2.0.5" gatsby-plugin-emotion "^6.10.0" gatsby-plugin-layout "^2.10.0" - gatsby-plugin-newrelic "^2.0.0" + gatsby-plugin-newrelic "2.3.0" gatsby-plugin-react-helmet "^5.4.0" gatsby-plugin-robots-txt "^1.6.8" gatsby-plugin-sharp "4.25.0" @@ -8202,10 +8202,10 @@ gatsby-plugin-mdx@^2.8.0: unist-util-remove "^1.0.3" unist-util-visit "^1.4.1" -gatsby-plugin-newrelic@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/gatsby-plugin-newrelic/-/gatsby-plugin-newrelic-2.2.2.tgz#4d540d7fd827d103c3c222e4af8d3b85a1d53e5a" - integrity sha512-axMVeUig6PE/RN2qR4hT7/39NtNz+9by5hc4Php25N65zlLWYtuwqTtGpbeJUNyzh2PeqGEchN97nrT0KhEm4g== +gatsby-plugin-newrelic@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-newrelic/-/gatsby-plugin-newrelic-2.3.0.tgz#6e0f08fc9b7081bab905551d47af2df55909efb2" + integrity sha512-Q7IIc6XKCGAr8AeYYNzFl3FjFxeJNaM6S3vBQwDgeCUF0svs4qj2zsWTCwshSZiZdb3wwI12uJYzmB/gqW3O7w== dependencies: "@babel/runtime" "^7.12.5" From 23fd351834db14691238f15e23850b4914c77f5a Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Tue, 18 Apr 2023 10:20:42 -0700 Subject: [PATCH 23/55] fix: update jest snapshot --- src/components/__tests__/__snapshots__/Header.spec.js.snap | 2 +- src/pages/__tests__/__snapshots__/collection.spec.js.snap | 2 +- .../__tests__/__snapshots__/external-projects.spec.js.snap | 2 +- src/pages/__tests__/__snapshots__/index.spec.js.snap | 2 +- src/pages/__tests__/__snapshots__/oss-category.spec.js.snap | 2 +- .../__snapshots__/external-project-page.spec.js.snap | 6 +++--- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/components/__tests__/__snapshots__/Header.spec.js.snap b/src/components/__tests__/__snapshots__/Header.spec.js.snap index ea854e96cb..2701268a4f 100644 --- a/src/components/__tests__/__snapshots__/Header.spec.js.snap +++ b/src/components/__tests__/__snapshots__/Header.spec.js.snap @@ -1022,7 +1022,7 @@ Array [ > Date: Tue, 18 Apr 2023 17:27:44 +0000 Subject: [PATCH 24/55] chore(release): 1.24.5 ## [1.24.5](https://github.com/newrelic/opensource-website/compare/v1.24.4...v1.24.5) (2023-04-18) ### Bug Fixes * update jest snapshot ([23fd351](https://github.com/newrelic/opensource-website/commit/23fd351834db14691238f15e23850b4914c77f5a)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f70d785e3..72a3cbcbff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [1.24.5](https://github.com/newrelic/opensource-website/compare/v1.24.4...v1.24.5) (2023-04-18) + + +### Bug Fixes + +* update jest snapshot ([23fd351](https://github.com/newrelic/opensource-website/commit/23fd351834db14691238f15e23850b4914c77f5a)) + ## [1.24.4](https://github.com/newrelic/opensource-website/compare/v1.24.3...v1.24.4) (2023-04-05) diff --git a/package.json b/package.json index 7e7d66dd86..826368886f 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "opensource-website", "private": true, "description": "Data, code, and automation for opensource.newrelic.com", - "version": "1.24.4", + "version": "1.24.5", "author": "Open Source Team at New Relic ", "dependencies": { "@emotion/react": "^11.1.5", From f4fd4b09c16f890e629b0b1c269737054082da2b Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Thu, 27 Apr 2023 11:35:33 -0700 Subject: [PATCH 25/55] chore: Bump 3rd party actions versions --- .github/workflows/docs.yml | 6 +++--- .github/workflows/pr.yml | 20 ++++++++++---------- .github/workflows/project-stats.yml | 4 ++-- .github/workflows/release.yml | 18 +++++++++--------- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index ab864650c2..e19d151e36 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -5,7 +5,7 @@ on: branches: - develop paths: - - "docs/**" + - 'docs/**' repository_dispatch: types: [docs] gollum: @@ -20,7 +20,7 @@ jobs: if: github.event_name != 'gollum' steps: - name: Checkout Repo - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Sync docs to wiki uses: newrelic/wiki-sync-action@master with: @@ -35,7 +35,7 @@ jobs: if: github.event_name == 'gollum' steps: - name: Checkout Repo - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: token: ${{ secrets.GITHUB_TOKEN }} # allows us to push back to repo ref: develop diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 7b02f2b958..b4bc987c7a 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -14,18 +14,18 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Node.js - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16 - name: Cache node_modules id: cache-node - uses: actions/cache@v2 + uses: actions/cache@v3 env: cache-name: node-modules with: @@ -52,7 +52,7 @@ jobs: - name: Run Project Tags Check if: env.PROJECT_FILES != '' - uses: actions/github-script@v2 + uses: actions/github-script@v6 with: script: | const fs = require('fs'); @@ -105,16 +105,16 @@ jobs: needs: [job-check-project-tags] steps: - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Setup node - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16 - name: Cache node_modules id: cache-node - uses: actions/cache@v2 + uses: actions/cache@v3 env: cache-name: node-modules with: @@ -151,16 +151,16 @@ jobs: needs: [job-check-project-tags] steps: - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Setup Node.js - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16 - name: Cache node_modules id: cache-node - uses: actions/cache@v2 + uses: actions/cache@v3 env: cache-name: node-modules with: diff --git a/.github/workflows/project-stats.yml b/.github/workflows/project-stats.yml index 9265e57f59..75cd654efb 100644 --- a/.github/workflows/project-stats.yml +++ b/.github/workflows/project-stats.yml @@ -2,7 +2,7 @@ name: Project-Stats CI on: schedule: - - cron: "0 */4 * * *" # every 4 hours + - cron: '0 */4 * * *' # every 4 hours repository_dispatch: types: [sync-project-data] @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo - uses: actions/checkout@v2.3.0 + uses: actions/checkout@v3 with: ref: main fetch-depth: 0 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c3ff79d5ac..586321eccc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,18 +18,18 @@ jobs: # Checkout fetch-depth: 2 because there's a check to see if package.json # was updated, and need at least 2 commits for the check to function properly - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 2 - name: Setup Node.js - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16 - name: Download Cached Deps id: cache-node-modules - uses: actions/cache@v1 + uses: actions/cache@v3 env: cache-name: node-modules with: @@ -76,7 +76,7 @@ jobs: fi - name: Temporarily disable branch protection id: disable-branch-protection - uses: actions/github-script@v1 + uses: actions/github-script@v6 with: github-token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} previews: luke-cage-preview @@ -102,7 +102,7 @@ jobs: - name: Re-enable branch protection id: enable-branch-protection if: always() - uses: actions/github-script@v1 + uses: actions/github-script@v6 with: github-token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} previews: luke-cage-preview @@ -131,12 +131,12 @@ jobs: # Checkout ref: develop because previous job potentially committed third_party_notices and # we need to checkout latest to pick up that commit - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: ref: develop - name: Setup Node.js - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16 @@ -145,7 +145,7 @@ jobs: - name: Temporarily disable branch protection id: disable-branch-protection - uses: actions/github-script@v1 + uses: actions/github-script@v6 with: github-token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} previews: luke-cage-preview @@ -175,7 +175,7 @@ jobs: - name: Re-enable branch protection id: enable-branch-protection if: always() - uses: actions/github-script@v1 + uses: actions/github-script@v6 with: github-token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} previews: luke-cage-preview From d0e31eb13af75738a305cabe274fb6f1af4ede37 Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Thu, 27 Apr 2023 11:56:04 -0700 Subject: [PATCH 26/55] chore: Update github-script syntax for v6 --- .github/actions/sync-data/dist/index.js | 788 +++++++++--------- .../stats-generator/github/fetch-all-pages.js | 2 +- .github/workflows/docs.yml | 4 +- .github/workflows/pr.yml | 2 +- .github/workflows/release.yml | 8 +- 5 files changed, 402 insertions(+), 402 deletions(-) diff --git a/.github/actions/sync-data/dist/index.js b/.github/actions/sync-data/dist/index.js index 11e07b4e9d..ed0280c6d7 100644 --- a/.github/actions/sync-data/dist/index.js +++ b/.github/actions/sync-data/dist/index.js @@ -10980,7 +10980,7 @@ async function fetchAllPages( const query = createQuery(endCursor); // log.json(query) // append new results to the collection array - apiResponse = await github.query(query); + apiResponse = await github.rest.query(query); const { nodes, pageInfo } = resultSelector(apiResponse) || {}; if (!nodes || !pageInfo) { @@ -17887,71 +17887,71 @@ module.exports = setISOYear /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const os = __webpack_require__(87); -/** - * Commands - * - * Command Format: - * ##[name key=value;key=value]message - * - * Examples: - * ##[warning]This is the user warning message - * ##[set-secret name=mypassword]definitelyNotAPassword! - */ -function issueCommand(command, properties, message) { - const cmd = new Command(command, properties, message); - process.stdout.write(cmd.toString() + os.EOL); -} -exports.issueCommand = issueCommand; -function issue(name, message = '') { - issueCommand(name, {}, message); -} -exports.issue = issue; -const CMD_STRING = '::'; -class Command { - constructor(command, properties, message) { - if (!command) { - command = 'missing.command'; - } - this.command = command; - this.properties = properties; - this.message = message; - } - toString() { - let cmdStr = CMD_STRING + this.command; - if (this.properties && Object.keys(this.properties).length > 0) { - cmdStr += ' '; - for (const key in this.properties) { - if (this.properties.hasOwnProperty(key)) { - const val = this.properties[key]; - if (val) { - // safely append the val - avoid blowing up when attempting to - // call .replace() if message is not a string for some reason - cmdStr += `${key}=${escape(`${val || ''}`)},`; - } - } - } - } - cmdStr += CMD_STRING; - // safely append the message - avoid blowing up when attempting to - // call .replace() if message is not a string for some reason - const message = `${this.message || ''}`; - cmdStr += escapeData(message); - return cmdStr; - } -} -function escapeData(s) { - return s.replace(/\r/g, '%0D').replace(/\n/g, '%0A'); -} -function escape(s) { - return s - .replace(/\r/g, '%0D') - .replace(/\n/g, '%0A') - .replace(/]/g, '%5D') - .replace(/;/g, '%3B'); -} + +Object.defineProperty(exports, "__esModule", { value: true }); +const os = __webpack_require__(87); +/** + * Commands + * + * Command Format: + * ##[name key=value;key=value]message + * + * Examples: + * ##[warning]This is the user warning message + * ##[set-secret name=mypassword]definitelyNotAPassword! + */ +function issueCommand(command, properties, message) { + const cmd = new Command(command, properties, message); + process.stdout.write(cmd.toString() + os.EOL); +} +exports.issueCommand = issueCommand; +function issue(name, message = '') { + issueCommand(name, {}, message); +} +exports.issue = issue; +const CMD_STRING = '::'; +class Command { + constructor(command, properties, message) { + if (!command) { + command = 'missing.command'; + } + this.command = command; + this.properties = properties; + this.message = message; + } + toString() { + let cmdStr = CMD_STRING + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + cmdStr += ' '; + for (const key in this.properties) { + if (this.properties.hasOwnProperty(key)) { + const val = this.properties[key]; + if (val) { + // safely append the val - avoid blowing up when attempting to + // call .replace() if message is not a string for some reason + cmdStr += `${key}=${escape(`${val || ''}`)},`; + } + } + } + } + cmdStr += CMD_STRING; + // safely append the message - avoid blowing up when attempting to + // call .replace() if message is not a string for some reason + const message = `${this.message || ''}`; + cmdStr += escapeData(message); + return cmdStr; + } +} +function escapeData(s) { + return s.replace(/\r/g, '%0D').replace(/\n/g, '%0A'); +} +function escape(s) { + return s + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A') + .replace(/]/g, '%5D') + .replace(/;/g, '%3B'); +} //# sourceMappingURL=command.js.map /***/ }), @@ -21904,182 +21904,182 @@ exports.restEndpointMethods = restEndpointMethods; /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; - -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = __webpack_require__(431); -const os = __webpack_require__(87); -const path = __webpack_require__(622); -/** - * The code to exit an action - */ -var ExitCode; -(function (ExitCode) { - /** - * A code indicating that the action was successful - */ - ExitCode[ExitCode["Success"] = 0] = "Success"; - /** - * A code indicating that the action was a failure - */ - ExitCode[ExitCode["Failure"] = 1] = "Failure"; -})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); -//----------------------------------------------------------------------- -// Variables -//----------------------------------------------------------------------- -/** - * sets env variable for this action and future actions in the job - * @param name the name of the variable to set - * @param val the value of the variable - */ -function exportVariable(name, val) { - process.env[name] = val; - command_1.issueCommand('set-env', { name }, val); -} -exports.exportVariable = exportVariable; -/** - * exports the variable and registers a secret which will get masked from logs - * @param name the name of the variable to set - * @param val value of the secret - */ -function exportSecret(name, val) { - exportVariable(name, val); - // the runner will error with not implemented - // leaving the function but raising the error earlier - command_1.issueCommand('set-secret', {}, val); - throw new Error('Not implemented.'); -} -exports.exportSecret = exportSecret; -/** - * Prepends inputPath to the PATH (for this action and future actions) - * @param inputPath - */ -function addPath(inputPath) { - command_1.issueCommand('add-path', {}, inputPath); - process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; -} -exports.addPath = addPath; -/** - * Gets the value of an input. The value is also trimmed. - * - * @param name name of the input to get - * @param options optional. See InputOptions. - * @returns string - */ -function getInput(name, options) { - const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; - if (options && options.required && !val) { - throw new Error(`Input required and not supplied: ${name}`); - } - return val.trim(); -} -exports.getInput = getInput; -/** - * Sets the value of an output. - * - * @param name name of the output to set - * @param value value to store - */ -function setOutput(name, value) { - command_1.issueCommand('set-output', { name }, value); -} -exports.setOutput = setOutput; -//----------------------------------------------------------------------- -// Results -//----------------------------------------------------------------------- -/** - * Sets the action status to failed. - * When the action exits it will be with an exit code of 1 - * @param message add error issue message - */ -function setFailed(message) { - process.exitCode = ExitCode.Failure; - error(message); -} -exports.setFailed = setFailed; -//----------------------------------------------------------------------- -// Logging Commands -//----------------------------------------------------------------------- -/** - * Writes debug message to user log - * @param message debug message - */ -function debug(message) { - command_1.issueCommand('debug', {}, message); -} -exports.debug = debug; -/** - * Adds an error issue - * @param message error issue message - */ -function error(message) { - command_1.issue('error', message); -} -exports.error = error; -/** - * Adds an warning issue - * @param message warning issue message - */ -function warning(message) { - command_1.issue('warning', message); -} -exports.warning = warning; -/** - * Writes info to log with console.log. - * @param message info message - */ -function info(message) { - process.stdout.write(message + os.EOL); -} -exports.info = info; -/** - * Begin an output group. - * - * Output until the next `groupEnd` will be foldable in this group - * - * @param name The name of the output group - */ -function startGroup(name) { - command_1.issue('group', name); -} -exports.startGroup = startGroup; -/** - * End an output group. - */ -function endGroup() { - command_1.issue('endgroup'); -} -exports.endGroup = endGroup; -/** - * Wrap an asynchronous function call in a group. - * - * Returns the same type as the function itself. - * - * @param name The name of the group - * @param fn The function to wrap in the group - */ -function group(name, fn) { - return __awaiter(this, void 0, void 0, function* () { - startGroup(name); - let result; - try { - result = yield fn(); - } - finally { - endGroup(); - } - return result; - }); -} -exports.group = group; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const command_1 = __webpack_require__(431); +const os = __webpack_require__(87); +const path = __webpack_require__(622); +/** + * The code to exit an action + */ +var ExitCode; +(function (ExitCode) { + /** + * A code indicating that the action was successful + */ + ExitCode[ExitCode["Success"] = 0] = "Success"; + /** + * A code indicating that the action was a failure + */ + ExitCode[ExitCode["Failure"] = 1] = "Failure"; +})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); +//----------------------------------------------------------------------- +// Variables +//----------------------------------------------------------------------- +/** + * sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable + */ +function exportVariable(name, val) { + process.env[name] = val; + command_1.issueCommand('set-env', { name }, val); +} +exports.exportVariable = exportVariable; +/** + * exports the variable and registers a secret which will get masked from logs + * @param name the name of the variable to set + * @param val value of the secret + */ +function exportSecret(name, val) { + exportVariable(name, val); + // the runner will error with not implemented + // leaving the function but raising the error earlier + command_1.issueCommand('set-secret', {}, val); + throw new Error('Not implemented.'); +} +exports.exportSecret = exportSecret; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +function addPath(inputPath) { + command_1.issueCommand('add-path', {}, inputPath); + process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; +} +exports.addPath = addPath; +/** + * Gets the value of an input. The value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +function getInput(name, options) { + const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; + if (options && options.required && !val) { + throw new Error(`Input required and not supplied: ${name}`); + } + return val.trim(); +} +exports.getInput = getInput; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store + */ +function setOutput(name, value) { + command_1.issueCommand('set-output', { name }, value); +} +exports.setOutput = setOutput; +//----------------------------------------------------------------------- +// Results +//----------------------------------------------------------------------- +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); +} +exports.setFailed = setFailed; +//----------------------------------------------------------------------- +// Logging Commands +//----------------------------------------------------------------------- +/** + * Writes debug message to user log + * @param message debug message + */ +function debug(message) { + command_1.issueCommand('debug', {}, message); +} +exports.debug = debug; +/** + * Adds an error issue + * @param message error issue message + */ +function error(message) { + command_1.issue('error', message); +} +exports.error = error; +/** + * Adds an warning issue + * @param message warning issue message + */ +function warning(message) { + command_1.issue('warning', message); +} +exports.warning = warning; +/** + * Writes info to log with console.log. + * @param message info message + */ +function info(message) { + process.stdout.write(message + os.EOL); +} +exports.info = info; +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +function startGroup(name) { + command_1.issue('group', name); +} +exports.startGroup = startGroup; +/** + * End an output group. + */ +function endGroup() { + command_1.issue('endgroup'); +} +exports.endGroup = endGroup; +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +function group(name, fn) { + return __awaiter(this, void 0, void 0, function* () { + startGroup(name); + let result; + try { + result = yield fn(); + } + finally { + endGroup(); + } + return result; + }); +} +exports.group = group; //# sourceMappingURL=core.js.map /***/ }), @@ -24933,158 +24933,158 @@ module.exports = lastDayOfYear /***/ (function(module) { "use strict"; - - -module.exports = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] -}; + + +module.exports = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] +}; /***/ }), diff --git a/.github/actions/sync-data/src/stats-generator/github/fetch-all-pages.js b/.github/actions/sync-data/src/stats-generator/github/fetch-all-pages.js index f960a7747d..5e011bb016 100644 --- a/.github/actions/sync-data/src/stats-generator/github/fetch-all-pages.js +++ b/.github/actions/sync-data/src/stats-generator/github/fetch-all-pages.js @@ -24,7 +24,7 @@ async function fetchAllPages( const query = createQuery(endCursor); // log.json(query) // append new results to the collection array - apiResponse = await github.query(query); + apiResponse = await github.rest.query(query); const { nodes, pageInfo } = resultSelector(apiResponse) || {}; if (!nodes || !pageInfo) { diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index e19d151e36..ac4daf915e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -17,7 +17,7 @@ env: jobs: job-sync-docs-to-wiki: runs-on: ubuntu-latest - if: github.event_name != 'gollum' + if: github.rest.event_name != 'gollum' steps: - name: Checkout Repo uses: actions/checkout@v3 @@ -32,7 +32,7 @@ jobs: job-sync-wiki-to-docs: runs-on: ubuntu-latest - if: github.event_name == 'gollum' + if: github.rest.event_name == 'gollum' steps: - name: Checkout Repo uses: actions/checkout@v3 diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index b4bc987c7a..4bdd9b4619 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -40,7 +40,7 @@ jobs: - name: Get Changed Files id: getfile run: | - PROJECT_FILES=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} | grep "src/data/projects" || true) + PROJECT_FILES=$(git diff --name-only ${{ github.rest.event.pull_request.base.sha }} ${{ github.rest.event.pull_request.head.sha }} | grep "src/data/projects" || true) if [ -z "$PROJECT_FILES" ]; then echo "No project json files detected." diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 586321eccc..bedaed84e4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,7 +81,7 @@ jobs: github-token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} previews: luke-cage-preview script: | - const result = await github.repos.updateBranchProtection({ + const result = await github.rest.repos.updateBranchProtection({ owner: context.repo.owner, repo: context.repo.repo, branch: 'develop', @@ -107,7 +107,7 @@ jobs: github-token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} previews: luke-cage-preview script: | - const result = await github.repos.updateBranchProtection({ + const result = await github.rest.repos.updateBranchProtection({ owner: context.repo.owner, repo: context.repo.repo, branch: 'develop', @@ -150,7 +150,7 @@ jobs: github-token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} previews: luke-cage-preview script: | - const result = await github.repos.updateBranchProtection({ + const result = await github.rest.repos.updateBranchProtection({ owner: context.repo.owner, repo: context.repo.repo, branch: 'develop', @@ -180,7 +180,7 @@ jobs: github-token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} previews: luke-cage-preview script: | - const result = await github.repos.updateBranchProtection({ + const result = await github.rest.repos.updateBranchProtection({ owner: context.repo.owner, repo: context.repo.repo, branch: 'develop', From 3dc45e3b27c9c582edcee230b232d018a7cfbcd7 Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Thu, 27 Apr 2023 13:46:42 -0700 Subject: [PATCH 27/55] chore: update octokit/rest and its dependencies --- .github/actions/sync-data/dist/index.js | 41454 +++++++++--------- .github/actions/sync-data/package-lock.json | 15463 +++++-- .github/actions/sync-data/package.json | 6 +- 3 files changed, 33833 insertions(+), 23090 deletions(-) diff --git a/.github/actions/sync-data/dist/index.js b/.github/actions/sync-data/dist/index.js index ed0280c6d7..5e71ff9091 100644 --- a/.github/actions/sync-data/dist/index.js +++ b/.github/actions/sync-data/dist/index.js @@ -95,54 +95,48 @@ module.exports = lastIndexOf; /* 2 */ /***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; - -const os = __webpack_require__(87); -const macosRelease = __webpack_require__(118); -const winRelease = __webpack_require__(49); - -const osName = (platform, release) => { - if (!platform && release) { - throw new Error('You can\'t specify a `release` without specifying `platform`'); - } - - platform = platform || os.platform(); - - let id; - - if (platform === 'darwin') { - if (!release && os.platform() === 'darwin') { - release = os.release(); - } - - const prefix = release ? (Number(release.split('.')[0]) > 15 ? 'macOS' : 'OS X') : 'macOS'; - id = release ? macosRelease(release).name : ''; - return prefix + (id ? ' ' + id : ''); - } - - if (platform === 'linux') { - if (!release && os.platform() === 'linux') { - release = os.release(); - } - - id = release ? release.replace(/^(\d+\.\d+).*/, '$1') : ''; - return 'Linux' + (id ? ' ' + id : ''); - } +var _curry2 = /*#__PURE__*/__webpack_require__(830); - if (platform === 'win32') { - if (!release && os.platform() === 'win32') { - release = os.release(); - } +var _dispatchable = /*#__PURE__*/__webpack_require__(968); - id = release ? winRelease(release) : ''; - return 'Windows' + (id ? ' ' + id : ''); - } +var _xfindIndex = /*#__PURE__*/__webpack_require__(305); - return platform; -}; +/** + * Returns the index of the first element of the list which matches the + * predicate, or `-1` if no element matches. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.1.1 + * @category List + * @sig (a -> Boolean) -> [a] -> Number + * @param {Function} fn The predicate function used to determine if the element is the + * desired one. + * @param {Array} list The array to consider. + * @return {Number} The index of the element found, or `-1`. + * @see R.transduce + * @example + * + * const xs = [{a: 1}, {a: 2}, {a: 3}]; + * R.findIndex(R.propEq('a', 2))(xs); //=> 1 + * R.findIndex(R.propEq('a', 4))(xs); //=> -1 + */ -module.exports = osName; +var findIndex = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xfindIndex, function findIndex(fn, list) { + var idx = 0; + var len = list.length; + while (idx < len) { + if (fn(list[idx])) { + return idx; + } + idx += 1; + } + return -1; +})); +module.exports = findIndex; /***/ }), /* 3 */ @@ -176,61 +170,41 @@ module.exports = getMinutes /***/ }), /* 4 */ -/***/ (function(__unusedmodule, exports) { - -"use strict"; - - -var BOMChar = '\uFEFF'; - -exports.PrependBOM = PrependBOMWrapper -function PrependBOMWrapper(encoder, options) { - this.encoder = encoder; - this.addBOM = true; -} - -PrependBOMWrapper.prototype.write = function(str) { - if (this.addBOM) { - str = BOMChar + str; - this.addBOM = false; - } - - return this.encoder.write(str); -} - -PrependBOMWrapper.prototype.end = function() { - return this.encoder.end(); -} - - -//------------------------------------------------------------------------------ - -exports.StripBOM = StripBOMWrapper; -function StripBOMWrapper(decoder, options) { - this.decoder = decoder; - this.pass = false; - this.options = options || {}; -} +/***/ (function(module, __unusedexports, __webpack_require__) { -StripBOMWrapper.prototype.write = function(buf) { - var res = this.decoder.write(buf); - if (this.pass || !res) - return res; +var getQuarter = __webpack_require__(267) +var parse = __webpack_require__(751) - if (res[0] === BOMChar) { - res = res.slice(1); - if (typeof this.options.stripBOM === 'function') - this.options.stripBOM(); - } +/** + * @category Quarter Helpers + * @summary Get the number of calendar quarters between the given dates. + * + * @description + * Get the number of calendar quarters between the given dates. + * + * @param {Date|String|Number} dateLeft - the later date + * @param {Date|String|Number} dateRight - the earlier date + * @returns {Number} the number of calendar quarters + * + * @example + * // How many calendar quarters are between 31 December 2013 and 2 July 2014? + * var result = differenceInCalendarQuarters( + * new Date(2014, 6, 2), + * new Date(2013, 11, 31) + * ) + * //=> 3 + */ +function differenceInCalendarQuarters (dirtyDateLeft, dirtyDateRight) { + var dateLeft = parse(dirtyDateLeft) + var dateRight = parse(dirtyDateRight) - this.pass = true; - return res; -} + var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear() + var quarterDiff = getQuarter(dateLeft) - getQuarter(dateRight) -StripBOMWrapper.prototype.end = function() { - return this.decoder.end(); + return yearDiff * 4 + quarterDiff } +module.exports = differenceInCalendarQuarters /***/ }), @@ -295,251 +269,207 @@ module.exports = setHours /***/ }), -/* 8 */ +/* 8 */, +/* 9 */ /***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; - -module.exports = -function(Promise, PromiseArray, apiRejection) { -var util = __webpack_require__(248); -var RangeError = __webpack_require__(607).RangeError; -var AggregateError = __webpack_require__(607).AggregateError; -var isArray = util.isArray; -var CANCELLATION = {}; - - -function SomePromiseArray(values) { - this.constructor$(values); - this._howMany = 0; - this._unwrap = false; - this._initialized = false; -} -util.inherits(SomePromiseArray, PromiseArray); - -SomePromiseArray.prototype._init = function () { - if (!this._initialized) { - return; - } - if (this._howMany === 0) { - this._resolve([]); - return; - } - this._init$(undefined, -5); - var isArrayResolved = isArray(this._values); - if (!this._isResolved() && - isArrayResolved && - this._howMany > this._canPossiblyFulfill()) { - this._reject(this._getRangeError(this.length())); - } -}; - -SomePromiseArray.prototype.init = function () { - this._initialized = true; - this._init(); -}; - -SomePromiseArray.prototype.setUnwrap = function () { - this._unwrap = true; -}; - -SomePromiseArray.prototype.howMany = function () { - return this._howMany; -}; - -SomePromiseArray.prototype.setHowMany = function (count) { - this._howMany = count; -}; - -SomePromiseArray.prototype._promiseFulfilled = function (value) { - this._addFulfilled(value); - if (this._fulfilled() === this.howMany()) { - this._values.length = this.howMany(); - if (this.howMany() === 1 && this._unwrap) { - this._resolve(this._values[0]); - } else { - this._resolve(this._values); - } - return true; - } - return false; - -}; -SomePromiseArray.prototype._promiseRejected = function (reason) { - this._addRejected(reason); - return this._checkOutcome(); -}; - -SomePromiseArray.prototype._promiseCancelled = function () { - if (this._values instanceof Promise || this._values == null) { - return this._cancel(); - } - this._addRejected(CANCELLATION); - return this._checkOutcome(); -}; +const { get } = __webpack_require__(369); +const { SCREENSHOT_FOLDERS } = __webpack_require__(45); +const fetchAllPages = __webpack_require__(264); -SomePromiseArray.prototype._checkOutcome = function() { - if (this.howMany() > this._canPossiblyFulfill()) { - var e = new AggregateError(); - for (var i = this.length(); i < this._values.length; ++i) { - if (this._values[i] !== CANCELLATION) { - e.push(this._values[i]); +// rate limiting cost of this query is ~1 +const reposForOrgQuery = ({ org, paginationLimit, timeRange, screenshots }) => ( + endCursor +) => ({ + query: /* GraphQL */ ` + query reposForOrg($endCursor: String) { + repos: search(query: "org:${org} fork:false archived:false is:public", type: REPOSITORY, first: ${paginationLimit}, after: $endCursor) { + repositoryCount + nodes { + ... on Repository { + id + name + nameWithOwner + owner { + login + } + collaborators { + totalCount + } + releases { + totalCount + } + tags: refs(refPrefix: "refs/tags/") { + totalCount + } + latestTag: refs(refPrefix: "refs/tags/", last: 1, , orderBy: {field: TAG_COMMIT_DATE, direction: ASC}) { + nodes { + id + name + target { + ... on Commit { + id + authoredDate + } + } + } + } + openIssues: issues(filterBy: {states: OPEN}) { + totalCount + } + goodFirstIssues: issues(filterBy: {states: OPEN, labels: "good first issue"}, first: 3) { + totalCount + nodes { + id + title + url + createdAt + comments { + totalCount + } + author { + login + ... on User { + id + email + name + } + } + number + } + } + forks { + totalCount + } + pullRequests(states: OPEN) { + totalCount + } + pushedAt + totalCommits: defaultBranchRef { + target { + ... on Commit { + history { + totalCount + } + } + } + } + lastSixMonths: defaultBranchRef { + target { + ... on Commit { + history(since: "${timeRange}") { + totalCount + } + } + } + } + milestones(states: OPEN) { + totalCount + } + mentionableUsers { + totalCount + } + languages(first: 10) { + nodes { + id + name + color + } + } + isFork + deployments { + totalCount } + commitComments { + totalCount + } + licenseInfo { + id + name + spdxId + url + featured + key + } + ${screenshots} + } } - if (e.length > 0) { - this._reject(e); - } else { - this._cancel(); + pageInfo { + endCursor + hasNextPage } - return true; + } + rateLimit { + cost + limit + remaining + resetAt + } } - return false; -}; - -SomePromiseArray.prototype._fulfilled = function () { - return this._totalResolved; -}; - -SomePromiseArray.prototype._rejected = function () { - return this._values.length - this.length(); -}; - -SomePromiseArray.prototype._addRejected = function (reason) { - this._values.push(reason); -}; - -SomePromiseArray.prototype._addFulfilled = function (value) { - this._values[this._totalResolved++] = value; -}; - -SomePromiseArray.prototype._canPossiblyFulfill = function () { - return this.length() - this._rejected(); -}; - -SomePromiseArray.prototype._getRangeError = function (count) { - var message = "Input array must contain at least " + - this._howMany + " items but contains only " + count + " items"; - return new RangeError(message); -}; + `, + variables: { + endCursor, + }, +}); -SomePromiseArray.prototype._resolveEmptyArray = function () { - this._reject(this._getRangeError(0)); +/** + * Gets the date one month ago, accounting for different month lengths + */ +const getDateOneMonthAgo = () => { + const d = new Date(); + // console.log(d.toLocaleDateString()); + const month = d.getMonth(); + d.setMonth(d.getMonth() - 6); + while (d.getMonth() === month) { + d.setDate(d.getDate() - 6); + } + return d.toISOString(); }; -function some(promises, howMany) { - if ((howMany | 0) !== howMany || howMany < 0) { - return apiRejection("expecting a positive integer\u000a\u000a See http://goo.gl/MqrFmX\u000a"); +/** + * Builds the screenshot query fragment + */ +const screenshotsQuery = Object.entries(SCREENSHOT_FOLDERS).reduce( + (p, [key, value]) => { + const screenShotFragment = ` + ${key}: object(expression: "${value}") { + ... on Tree { + entries { + name + } + } } - var ret = new SomePromiseArray(promises); - var promise = ret.promise(); - ret.setHowMany(howMany); - ret.init(); - return promise; -} - -Promise.some = function (promises, howMany) { - return some(promises, howMany); -}; - -Promise.prototype.some = function (howMany) { - return some(this, howMany); -}; - -Promise._SomePromiseArray = SomePromiseArray; -}; - - -/***/ }), -/* 9 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var once = __webpack_require__(969); - -var noop = function() {}; - -var isRequest = function(stream) { - return stream.setHeader && typeof stream.abort === 'function'; -}; - -var isChildProcess = function(stream) { - return stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3 -}; - -var eos = function(stream, opts, callback) { - if (typeof opts === 'function') return eos(stream, null, opts); - if (!opts) opts = {}; - - callback = once(callback || noop); - - var ws = stream._writableState; - var rs = stream._readableState; - var readable = opts.readable || (opts.readable !== false && stream.readable); - var writable = opts.writable || (opts.writable !== false && stream.writable); - - var onlegacyfinish = function() { - if (!stream.writable) onfinish(); - }; - - var onfinish = function() { - writable = false; - if (!readable) callback.call(stream); - }; - - var onend = function() { - readable = false; - if (!writable) callback.call(stream); - }; - - var onexit = function(exitCode) { - callback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null); - }; - - var onerror = function(err) { - callback.call(stream, err); - }; - - var onclose = function() { - if (readable && !(rs && rs.ended)) return callback.call(stream, new Error('premature close')); - if (writable && !(ws && ws.ended)) return callback.call(stream, new Error('premature close')); - }; + `; + return `${p} + + ${screenShotFragment}`; + }, + '' +); - var onrequest = function() { - stream.req.on('finish', onfinish); - }; +const getAllReposForOrg = (github) => async ({ + org, + paginationLimit, + timeRange = getDateOneMonthAgo(), + screenshots = screenshotsQuery, +}) => { + const { results: allRepos } = await fetchAllPages(github, { + createQuery: reposForOrgQuery({ + org, + paginationLimit, + timeRange, + screenshots, + }), + resultSelector: get('repos'), + }); - if (isRequest(stream)) { - stream.on('complete', onfinish); - stream.on('abort', onclose); - if (stream.req) onrequest(); - else stream.on('request', onrequest); - } else if (writable && !ws) { // legacy streams - stream.on('end', onlegacyfinish); - stream.on('close', onlegacyfinish); - } + const repos = allRepos.filter((repo) => repo && !repo.archived && !repo.fork); - if (isChildProcess(stream)) stream.on('exit', onexit); - - stream.on('end', onend); - stream.on('finish', onfinish); - if (opts.error !== false) stream.on('error', onerror); - stream.on('close', onclose); - - return function() { - stream.removeListener('complete', onfinish); - stream.removeListener('abort', onclose); - stream.removeListener('request', onrequest); - if (stream.req) stream.req.removeListener('finish', onfinish); - stream.removeListener('end', onlegacyfinish); - stream.removeListener('close', onlegacyfinish); - stream.removeListener('finish', onfinish); - stream.removeListener('exit', onexit); - stream.removeListener('end', onend); - stream.removeListener('error', onerror); - stream.removeListener('close', onclose); - }; + // return just the string representing the repo name + return { repos }; }; -module.exports = eos; +module.exports = getAllReposForOrg; /***/ }), @@ -655,1072 +585,613 @@ var drop = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['drop'], _xdrop, fu module.exports = drop; /***/ }), -/* 13 */ +/* 13 */, +/* 14 */ /***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; +var parse = __webpack_require__(751) -module.exports = function(Promise, INTERNAL, debug) { -var util = __webpack_require__(248); -var TimeoutError = Promise.TimeoutError; +/** + * @category Weekday Helpers + * @summary Get the day of the ISO week of the given date. + * + * @description + * Get the day of the ISO week of the given date, + * which is 7 for Sunday, 1 for Monday etc. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param {Date|String|Number} date - the given date + * @returns {Number} the day of ISO week + * + * @example + * // Which day of the ISO week is 26 February 2012? + * var result = getISODay(new Date(2012, 1, 26)) + * //=> 7 + */ +function getISODay (dirtyDate) { + var date = parse(dirtyDate) + var day = date.getDay() -function HandleWrapper(handle) { - this.handle = handle; + if (day === 0) { + day = 7 + } + + return day } -HandleWrapper.prototype._resultCancelled = function() { - clearTimeout(this.handle); -}; +module.exports = getISODay -var afterValue = function(value) { return delay(+this).thenReturn(value); }; -var delay = Promise.delay = function (ms, value) { - var ret; - var handle; - if (value !== undefined) { - ret = Promise.resolve(value) - ._then(afterValue, null, null, ms, undefined); - if (debug.cancellation() && value instanceof Promise) { - ret._setOnCancel(value); - } - } else { - ret = new Promise(INTERNAL); - handle = setTimeout(function() { ret._fulfill(); }, +ms); - if (debug.cancellation()) { - ret._setOnCancel(new HandleWrapper(handle)); - } - ret._captureStackTrace(); - } - ret._setAsyncGuaranteed(); - return ret; + +/***/ }), +/* 15 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +module.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) { +var util = __webpack_require__(248); +var CancellationError = Promise.CancellationError; +var errorObj = util.errorObj; +var catchFilter = __webpack_require__(253)(NEXT_FILTER); + +function PassThroughHandlerContext(promise, type, handler) { + this.promise = promise; + this.type = type; + this.handler = handler; + this.called = false; + this.cancelPromise = null; +} + +PassThroughHandlerContext.prototype.isFinallyHandler = function() { + return this.type === 0; }; -Promise.prototype.delay = function (ms) { - return delay(ms, this); +function FinallyHandlerCancelReaction(finallyHandler) { + this.finallyHandler = finallyHandler; +} + +FinallyHandlerCancelReaction.prototype._resultCancelled = function() { + checkCancel(this.finallyHandler); }; -var afterTimeout = function (promise, message, parent) { - var err; - if (typeof message !== "string") { - if (message instanceof Error) { - err = message; +function checkCancel(ctx, reason) { + if (ctx.cancelPromise != null) { + if (arguments.length > 1) { + ctx.cancelPromise._reject(reason); } else { - err = new TimeoutError("operation timed out"); + ctx.cancelPromise._cancel(); } - } else { - err = new TimeoutError(message); + ctx.cancelPromise = null; + return true; } - util.markAsOriginatingFromRejection(err); - promise._attachExtraTrace(err); - promise._reject(err); + return false; +} - if (parent != null) { - parent.cancel(); +function succeed() { + return finallyHandler.call(this, this.promise._target()._settledValue()); +} +function fail(reason) { + if (checkCancel(this, reason)) return; + errorObj.e = reason; + return errorObj; +} +function finallyHandler(reasonOrValue) { + var promise = this.promise; + var handler = this.handler; + + if (!this.called) { + this.called = true; + var ret = this.isFinallyHandler() + ? handler.call(promise._boundValue()) + : handler.call(promise._boundValue(), reasonOrValue); + if (ret === NEXT_FILTER) { + return ret; + } else if (ret !== undefined) { + promise._setReturnedNonUndefined(); + var maybePromise = tryConvertToPromise(ret, promise); + if (maybePromise instanceof Promise) { + if (this.cancelPromise != null) { + if (maybePromise._isCancelled()) { + var reason = + new CancellationError("late cancellation observer"); + promise._attachExtraTrace(reason); + errorObj.e = reason; + return errorObj; + } else if (maybePromise.isPending()) { + maybePromise._attachCancellationCallback( + new FinallyHandlerCancelReaction(this)); + } + } + return maybePromise._then( + succeed, fail, undefined, this, undefined); + } + } } -}; -function successClear(value) { - clearTimeout(this.handle); - return value; + if (promise.isRejected()) { + checkCancel(this); + errorObj.e = reasonOrValue; + return errorObj; + } else { + checkCancel(this); + return reasonOrValue; + } } -function failureClear(reason) { - clearTimeout(this.handle); - throw reason; -} +Promise.prototype._passThrough = function(handler, type, success, fail) { + if (typeof handler !== "function") return this.then(); + return this._then(success, + fail, + undefined, + new PassThroughHandlerContext(this, type, handler), + undefined); +}; -Promise.prototype.timeout = function (ms, message) { - ms = +ms; - var ret, parent; +Promise.prototype.lastly = +Promise.prototype["finally"] = function (handler) { + return this._passThrough(handler, + 0, + finallyHandler, + finallyHandler); +}; - var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() { - if (ret.isPending()) { - afterTimeout(ret, message, parent); - } - }, ms)); - if (debug.cancellation()) { - parent = this.then(); - ret = parent._then(successClear, failureClear, - undefined, handleWrapper, undefined); - ret._setOnCancel(handleWrapper); +Promise.prototype.tap = function (handler) { + return this._passThrough(handler, 1, finallyHandler); +}; + +Promise.prototype.tapCatch = function (handlerOrPredicate) { + var len = arguments.length; + if(len === 1) { + return this._passThrough(handlerOrPredicate, + 1, + undefined, + finallyHandler); } else { - ret = this._then(successClear, failureClear, - undefined, handleWrapper, undefined); + var catchInstances = new Array(len - 1), + j = 0, i; + for (i = 0; i < len - 1; ++i) { + var item = arguments[i]; + if (util.isObject(item)) { + catchInstances[j++] = item; + } else { + return Promise.reject(new TypeError( + "tapCatch statement predicate: " + + "expecting an object but got " + util.classString(item) + )); + } + } + catchInstances.length = j; + var handler = arguments[i]; + return this._passThrough(catchFilter(catchInstances, handler, this), + 1, + undefined, + finallyHandler); } - return ret; }; +return PassThroughHandlerContext; }; /***/ }), -/* 14 */ +/* 16 */ +/***/ (function(module) { + +module.exports = require("tls"); + +/***/ }), +/* 17 */, +/* 18 */, +/* 19 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) +var addMilliseconds = __webpack_require__(373) /** - * @category Weekday Helpers - * @summary Get the day of the ISO week of the given date. + * @category Second Helpers + * @summary Add the specified number of seconds to the given date. * * @description - * Get the day of the ISO week of the given date, - * which is 7 for Sunday, 1 for Monday etc. - * - * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * Add the specified number of seconds to the given date. * - * @param {Date|String|Number} date - the given date - * @returns {Number} the day of ISO week + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of seconds to be added + * @returns {Date} the new date with the seconds added * * @example - * // Which day of the ISO week is 26 February 2012? - * var result = getISODay(new Date(2012, 1, 26)) - * //=> 7 + * // Add 30 seconds to 10 July 2014 12:45:00: + * var result = addSeconds(new Date(2014, 6, 10, 12, 45, 0), 30) + * //=> Thu Jul 10 2014 12:45:30 */ -function getISODay (dirtyDate) { - var date = parse(dirtyDate) - var day = date.getDay() - - if (day === 0) { - day = 7 - } - - return day +function addSeconds (dirtyDate, dirtyAmount) { + var amount = Number(dirtyAmount) + return addMilliseconds(dirtyDate, amount * 1000) } -module.exports = getISODay +module.exports = addSeconds /***/ }), -/* 15 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var parse = __webpack_require__(751) -var startOfISOWeek = __webpack_require__(901) -var startOfISOYear = __webpack_require__(712) - -var MILLISECONDS_IN_WEEK = 604800000 +/* 20 */, +/* 21 */ +/***/ (function(module) { /** - * @category ISO Week Helpers - * @summary Get the ISO week of the given date. - * - * @description - * Get the ISO week of the given date. + * A special placeholder value used to specify "gaps" within curried functions, + * allowing partial application of any combination of arguments, regardless of + * their positions. * - * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * If `g` is a curried ternary function and `_` is `R.__`, the following are + * equivalent: * - * @param {Date|String|Number} date - the given date - * @returns {Number} the ISO week + * - `g(1, 2, 3)` + * - `g(_, 2, 3)(1)` + * - `g(_, _, 3)(1)(2)` + * - `g(_, _, 3)(1, 2)` + * - `g(_, 2, _)(1, 3)` + * - `g(_, 2)(1)(3)` + * - `g(_, 2)(1, 3)` + * - `g(_, 2)(_, 3)(1)` * + * @name __ + * @constant + * @memberOf R + * @since v0.6.0 + * @category Function * @example - * // Which week of the ISO-week numbering year is 2 January 2005? - * var result = getISOWeek(new Date(2005, 0, 2)) - * //=> 53 + * + * const greet = R.replace('{name}', R.__, 'Hello, {name}!'); + * greet('Alice'); //=> 'Hello, Alice!' */ -function getISOWeek (dirtyDate) { - var date = parse(dirtyDate) - var diff = startOfISOWeek(date).getTime() - startOfISOYear(date).getTime() +module.exports = { '@@functional/placeholder': true }; - // Round the number of days to the nearest integer - // because the number of milliseconds in a week is not constant - // (e.g. it's different in the week of the daylight saving time clock shift) - return Math.round(diff / MILLISECONDS_IN_WEEK) + 1 -} +/***/ }), +/* 22 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { -module.exports = getISOWeek +"use strict"; -/***/ }), -/* 16 */ -/***/ (function(module) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; -"use strict"; +var _validate = _interopRequireDefault(__webpack_require__(78)); -module.exports = function(Promise) { -var longStackTraces = false; -var contextStack = []; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -Promise.prototype._promiseCreated = function() {}; -Promise.prototype._pushContext = function() {}; -Promise.prototype._popContext = function() {return null;}; -Promise._peekContext = Promise.prototype._peekContext = function() {}; +function parse(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); + } -function Context() { - this._trace = new Context.CapturedTrace(peekContext()); -} -Context.prototype._pushContext = function () { - if (this._trace !== undefined) { - this._trace._promiseCreated = null; - contextStack.push(this._trace); - } -}; + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ -Context.prototype._popContext = function () { - if (this._trace !== undefined) { - var trace = contextStack.pop(); - var ret = trace._promiseCreated; - trace._promiseCreated = null; - return ret; - } - return null; -}; + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ -function createContext() { - if (longStackTraces) return new Context(); -} + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ -function peekContext() { - var lastIndex = contextStack.length - 1; - if (lastIndex >= 0) { - return contextStack[lastIndex]; - } - return undefined; + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; } -Context.CapturedTrace = null; -Context.create = createContext; -Context.deactivateLongStackTraces = function() {}; -Context.activateLongStackTraces = function() { - var Promise_pushContext = Promise.prototype._pushContext; - var Promise_popContext = Promise.prototype._popContext; - var Promise_PeekContext = Promise._peekContext; - var Promise_peekContext = Promise.prototype._peekContext; - var Promise_promiseCreated = Promise.prototype._promiseCreated; - Context.deactivateLongStackTraces = function() { - Promise.prototype._pushContext = Promise_pushContext; - Promise.prototype._popContext = Promise_popContext; - Promise._peekContext = Promise_PeekContext; - Promise.prototype._peekContext = Promise_peekContext; - Promise.prototype._promiseCreated = Promise_promiseCreated; - longStackTraces = false; - }; - longStackTraces = true; - Promise.prototype._pushContext = Context.prototype._pushContext; - Promise.prototype._popContext = Context.prototype._popContext; - Promise._peekContext = Promise.prototype._peekContext = peekContext; - Promise.prototype._promiseCreated = function() { - var ctx = this._peekContext(); - if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this; - }; -}; -return Context; -}; +var _default = parse; +exports.default = _default; /***/ }), -/* 17 */, -/* 18 */, -/* 19 */ +/* 23 */, +/* 24 */, +/* 25 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var addMilliseconds = __webpack_require__(373) +var _curry3 = /*#__PURE__*/__webpack_require__(687); + +var defaultTo = /*#__PURE__*/__webpack_require__(867); + +var path = /*#__PURE__*/__webpack_require__(756); /** - * @category Second Helpers - * @summary Add the specified number of seconds to the given date. - * - * @description - * Add the specified number of seconds to the given date. - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of seconds to be added - * @returns {Date} the new date with the seconds added + * If the given, non-null object has a value at the given path, returns the + * value at that path. Otherwise returns the provided default value. * + * @func + * @memberOf R + * @since v0.18.0 + * @category Object + * @typedefn Idx = String | Int + * @sig a -> [Idx] -> {a} -> a + * @param {*} d The default value. + * @param {Array} p The path to use. + * @param {Object} obj The object to retrieve the nested property from. + * @return {*} The data at `path` of the supplied object or the default value. * @example - * // Add 30 seconds to 10 July 2014 12:45:00: - * var result = addSeconds(new Date(2014, 6, 10, 12, 45, 0), 30) - * //=> Thu Jul 10 2014 12:45:30 + * + * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2 + * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> "N/A" */ -function addSeconds (dirtyDate, dirtyAmount) { - var amount = Number(dirtyAmount) - return addMilliseconds(dirtyDate, amount * 1000) -} -module.exports = addSeconds +var pathOr = /*#__PURE__*/_curry3(function pathOr(d, p, obj) { + return defaultTo(d, path(p, obj)); +}); +module.exports = pathOr; /***/ }), -/* 20 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/* 26 */, +/* 27 */, +/* 28 */ +/***/ (function(module) { -"use strict"; +module.exports = stringify +stringify.default = stringify +stringify.stable = deterministicStringify +stringify.stableStringify = deterministicStringify +var LIMIT_REPLACE_NODE = '[...]' +var CIRCULAR_REPLACE_NODE = '[Circular]' -const cp = __webpack_require__(129); -const parse = __webpack_require__(568); -const enoent = __webpack_require__(881); +var arr = [] +var replacerStack = [] -function spawn(command, args, options) { - // Parse the arguments - const parsed = parse(command, args, options); +function defaultOptions () { + return { + depthLimit: Number.MAX_SAFE_INTEGER, + edgesLimit: Number.MAX_SAFE_INTEGER + } +} - // Spawn the child process - const spawned = cp.spawn(parsed.command, parsed.args, parsed.options); +// Regular stringify +function stringify (obj, replacer, spacer, options) { + if (typeof options === 'undefined') { + options = defaultOptions() + } - // Hook into child process "exit" event to emit an error if the command - // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 - enoent.hookChildProcess(spawned, parsed); + decirc(obj, '', 0, [], undefined, 0, options) + var res + try { + if (replacerStack.length === 0) { + res = JSON.stringify(obj, replacer, spacer) + } else { + res = JSON.stringify(obj, replaceGetterValues(replacer), spacer) + } + } catch (_) { + return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]') + } finally { + while (arr.length !== 0) { + var part = arr.pop() + if (part.length === 4) { + Object.defineProperty(part[0], part[1], part[3]) + } else { + part[0][part[1]] = part[2] + } + } + } + return res +} - return spawned; +function setReplace (replace, val, k, parent) { + var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k) + if (propertyDescriptor.get !== undefined) { + if (propertyDescriptor.configurable) { + Object.defineProperty(parent, k, { value: replace }) + arr.push([parent, k, val, propertyDescriptor]) + } else { + replacerStack.push([val, k, replace]) + } + } else { + parent[k] = replace + arr.push([parent, k, val]) + } } -function spawnSync(command, args, options) { - // Parse the arguments - const parsed = parse(command, args, options); +function decirc (val, k, edgeIndex, stack, parent, depth, options) { + depth += 1 + var i + if (typeof val === 'object' && val !== null) { + for (i = 0; i < stack.length; i++) { + if (stack[i] === val) { + setReplace(CIRCULAR_REPLACE_NODE, val, k, parent) + return + } + } - // Spawn the child process - const result = cp.spawnSync(parsed.command, parsed.args, parsed.options); + if ( + typeof options.depthLimit !== 'undefined' && + depth > options.depthLimit + ) { + setReplace(LIMIT_REPLACE_NODE, val, k, parent) + return + } - // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 - result.error = result.error || enoent.verifyENOENTSync(result.status, parsed); + if ( + typeof options.edgesLimit !== 'undefined' && + edgeIndex + 1 > options.edgesLimit + ) { + setReplace(LIMIT_REPLACE_NODE, val, k, parent) + return + } - return result; + stack.push(val) + // Optimize for Arrays. Big arrays could kill the performance otherwise! + if (Array.isArray(val)) { + for (i = 0; i < val.length; i++) { + decirc(val[i], i, i, stack, val, depth, options) + } + } else { + var keys = Object.keys(val) + for (i = 0; i < keys.length; i++) { + var key = keys[i] + decirc(val[key], key, i, stack, val, depth, options) + } + } + stack.pop() + } } -module.exports = spawn; -module.exports.spawn = spawn; -module.exports.sync = spawnSync; +// Stable-stringify +function compareFunction (a, b) { + if (a < b) { + return -1 + } + if (a > b) { + return 1 + } + return 0 +} -module.exports._parse = parse; -module.exports._enoent = enoent; +function deterministicStringify (obj, replacer, spacer, options) { + if (typeof options === 'undefined') { + options = defaultOptions() + } + var tmp = deterministicDecirc(obj, '', 0, [], undefined, 0, options) || obj + var res + try { + if (replacerStack.length === 0) { + res = JSON.stringify(tmp, replacer, spacer) + } else { + res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer) + } + } catch (_) { + return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]') + } finally { + // Ensure that we restore the object as it was. + while (arr.length !== 0) { + var part = arr.pop() + if (part.length === 4) { + Object.defineProperty(part[0], part[1], part[3]) + } else { + part[0][part[1]] = part[2] + } + } + } + return res +} -/***/ }), -/* 21 */ -/***/ (function(module) { +function deterministicDecirc (val, k, edgeIndex, stack, parent, depth, options) { + depth += 1 + var i + if (typeof val === 'object' && val !== null) { + for (i = 0; i < stack.length; i++) { + if (stack[i] === val) { + setReplace(CIRCULAR_REPLACE_NODE, val, k, parent) + return + } + } + try { + if (typeof val.toJSON === 'function') { + return + } + } catch (_) { + return + } -"use strict"; + if ( + typeof options.depthLimit !== 'undefined' && + depth > options.depthLimit + ) { + setReplace(LIMIT_REPLACE_NODE, val, k, parent) + return + } + if ( + typeof options.edgesLimit !== 'undefined' && + edgeIndex + 1 > options.edgesLimit + ) { + setReplace(LIMIT_REPLACE_NODE, val, k, parent) + return + } -// Generated data for sbcs codec. Don't edit manually. Regenerate using generation/gen-sbcs.js script. -module.exports = { - "437": "cp437", - "737": "cp737", - "775": "cp775", - "850": "cp850", - "852": "cp852", - "855": "cp855", - "856": "cp856", - "857": "cp857", - "858": "cp858", - "860": "cp860", - "861": "cp861", - "862": "cp862", - "863": "cp863", - "864": "cp864", - "865": "cp865", - "866": "cp866", - "869": "cp869", - "874": "windows874", - "922": "cp922", - "1046": "cp1046", - "1124": "cp1124", - "1125": "cp1125", - "1129": "cp1129", - "1133": "cp1133", - "1161": "cp1161", - "1162": "cp1162", - "1163": "cp1163", - "1250": "windows1250", - "1251": "windows1251", - "1252": "windows1252", - "1253": "windows1253", - "1254": "windows1254", - "1255": "windows1255", - "1256": "windows1256", - "1257": "windows1257", - "1258": "windows1258", - "28591": "iso88591", - "28592": "iso88592", - "28593": "iso88593", - "28594": "iso88594", - "28595": "iso88595", - "28596": "iso88596", - "28597": "iso88597", - "28598": "iso88598", - "28599": "iso88599", - "28600": "iso885910", - "28601": "iso885911", - "28603": "iso885913", - "28604": "iso885914", - "28605": "iso885915", - "28606": "iso885916", - "windows874": { - "type": "_sbcs", - "chars": "€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" - }, - "win874": "windows874", - "cp874": "windows874", - "windows1250": { - "type": "_sbcs", - "chars": "€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙" - }, - "win1250": "windows1250", - "cp1250": "windows1250", - "windows1251": { - "type": "_sbcs", - "chars": "ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя" - }, - "win1251": "windows1251", - "cp1251": "windows1251", - "windows1252": { - "type": "_sbcs", - "chars": "€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" - }, - "win1252": "windows1252", - "cp1252": "windows1252", - "windows1253": { - "type": "_sbcs", - "chars": "€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�" - }, - "win1253": "windows1253", - "cp1253": "windows1253", - "windows1254": { - "type": "_sbcs", - "chars": "€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ" - }, - "win1254": "windows1254", - "cp1254": "windows1254", - "windows1255": { - "type": "_sbcs", - "chars": "€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�" - }, - "win1255": "windows1255", - "cp1255": "windows1255", - "windows1256": { - "type": "_sbcs", - "chars": "€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے" - }, - "win1256": "windows1256", - "cp1256": "windows1256", - "windows1257": { - "type": "_sbcs", - "chars": "€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙" - }, - "win1257": "windows1257", - "cp1257": "windows1257", - "windows1258": { - "type": "_sbcs", - "chars": "€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ" - }, - "win1258": "windows1258", - "cp1258": "windows1258", - "iso88591": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" - }, - "cp28591": "iso88591", - "iso88592": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙" - }, - "cp28592": "iso88592", - "iso88593": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ħ˘£¤�Ĥ§¨İŞĞĴ­�Ż°ħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙" - }, - "cp28593": "iso88593", - "iso88594": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĸŖ¤ĨĻ§¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩļˇ¸šēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖ×ØŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙" - }, - "cp28594": "iso88594", - "iso88595": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ" - }, - "cp28595": "iso88595", - "iso88596": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ�������������" - }, - "cp28596": "iso88596", - "iso88597": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�" - }, - "cp28597": "iso88597", - "iso88598": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�" - }, - "cp28598": "iso88598", - "iso88599": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ" - }, - "cp28599": "iso88599", - "iso885910": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĒĢĪĨĶ§ĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ" - }, - "cp28600": "iso885910", - "iso885911": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" - }, - "cp28601": "iso885911", - "iso885913": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’" - }, - "cp28603": "iso885913", - "iso885914": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ" - }, - "cp28604": "iso885914", - "iso885915": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" - }, - "cp28605": "iso885915", - "iso885916": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ" - }, - "cp28606": "iso885916", - "cp437": { - "type": "_sbcs", - "chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " - }, - "ibm437": "cp437", - "csibm437": "cp437", - "cp737": { - "type": "_sbcs", - "chars": "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ " - }, - "ibm737": "cp737", - "csibm737": "cp737", - "cp775": { - "type": "_sbcs", - "chars": "ĆüéāäģåćłēŖŗīŹÄÅÉæÆōöĢ¢ŚśÖÜø£ØפĀĪóŻżź”¦©®¬½¼Ł«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀ÓßŌŃõÕµńĶķĻļņĒŅ’­±“¾¶§÷„°∙·¹³²■ " - }, - "ibm775": "cp775", - "csibm775": "cp775", - "cp850": { - "type": "_sbcs", - "chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ " - }, - "ibm850": "cp850", - "csibm850": "cp850", - "cp852": { - "type": "_sbcs", - "chars": "ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ " - }, - "ibm852": "cp852", - "csibm852": "cp852", - "cp855": { - "type": "_sbcs", - "chars": "ђЂѓЃёЁєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџЏюЮъЪаАбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗╝йЙ┐└┴┬├─┼кК╚╔╩╦╠═╬¤лЛмМнНоОп┘┌█▄Пя▀ЯрРсСтТуУжЖвВьЬ№­ыЫзЗшШэЭщЩчЧ§■ " - }, - "ibm855": "cp855", - "csibm855": "cp855", - "cp856": { - "type": "_sbcs", - "chars": "אבגדהוזחטיךכלםמןנסעףפץצקרשת�£�×����������®¬½¼�«»░▒▓│┤���©╣║╗╝¢¥┐└┴┬├─┼��╚╔╩╦╠═╬¤���������┘┌█▄¦�▀������µ�������¯´­±‗¾¶§÷¸°¨·¹³²■ " - }, - "ibm856": "cp856", - "csibm856": "cp856", - "cp857": { - "type": "_sbcs", - "chars": "ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ " - }, - "ibm857": "cp857", - "csibm857": "cp857", - "cp858": { - "type": "_sbcs", - "chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ " - }, - "ibm858": "cp858", - "csibm858": "cp858", - "cp860": { - "type": "_sbcs", - "chars": "ÇüéâãàÁçêÊèÍÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáíóúñѪº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " - }, - "ibm860": "cp860", - "csibm860": "cp860", - "cp861": { - "type": "_sbcs", - "chars": "ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " - }, - "ibm861": "cp861", - "csibm861": "cp861", - "cp862": { - "type": "_sbcs", - "chars": "אבגדהוזחטיךכלםמןנסעףפץצקרשת¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " - }, - "ibm862": "cp862", - "csibm862": "cp862", - "cp863": { - "type": "_sbcs", - "chars": "ÇüéâÂà¶çêëèïî‗À§ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯Î⌐¬½¼¾«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " - }, - "ibm863": "cp863", - "csibm863": "cp863", - "cp864": { - "type": "_sbcs", - "chars": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$٪&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ­ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�" - }, - "ibm864": "cp864", - "csibm864": "cp864", - "cp865": { - "type": "_sbcs", - "chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " - }, - "ibm865": "cp865", - "csibm865": "cp865", - "cp866": { - "type": "_sbcs", - "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ " - }, - "ibm866": "cp866", - "csibm866": "cp866", - "cp869": { - "type": "_sbcs", - "chars": "������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■ " - }, - "ibm869": "cp869", - "csibm869": "cp869", - "cp922": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖ×ØÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ" - }, - "ibm922": "cp922", - "csibm922": "cp922", - "cp1046": { - "type": "_sbcs", - "chars": "ﺈ×÷ﹱˆ■│─┐┌└┘ﹹﹻﹽﹿﹷﺊﻰﻳﻲﻎﻏﻐﻶﻸﻺﻼ ¤ﺋﺑﺗﺛﺟﺣ،­ﺧﺳ٠١٢٣٤٥٦٧٨٩ﺷ؛ﺻﺿﻊ؟ﻋءآأؤإئابةتثجحخدذرزسشصضطﻇعغﻌﺂﺄﺎﻓـفقكلمنهوىيًٌٍَُِّْﻗﻛﻟﻵﻷﻹﻻﻣﻧﻬﻩ�" - }, - "ibm1046": "cp1046", - "csibm1046": "cp1046", - "cp1124": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂҐЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђґєѕіїјљњћќ§ўџ" - }, - "ibm1124": "cp1124", - "csibm1124": "cp1124", - "cp1125": { - "type": "_sbcs", - "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ " - }, - "ibm1125": "cp1125", - "csibm1125": "cp1125", - "cp1129": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ" - }, - "ibm1129": "cp1129", - "csibm1129": "cp1129", - "cp1133": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ກຂຄງຈສຊຍດຕຖທນບປຜຝພຟມຢຣລວຫອຮ���ຯະາຳິີຶືຸູຼັົຽ���ເແໂໃໄ່້໊໋໌ໍໆ�ໜໝ₭����������������໐໑໒໓໔໕໖໗໘໙��¢¬¦�" - }, - "ibm1133": "cp1133", - "csibm1133": "cp1133", - "cp1161": { - "type": "_sbcs", - "chars": "��������������������������������่กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู้๊๋€฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛¢¬¦ " - }, - "ibm1161": "cp1161", - "csibm1161": "cp1161", - "cp1162": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" - }, - "ibm1162": "cp1162", - "csibm1162": "cp1162", - "cp1163": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ" - }, - "ibm1163": "cp1163", - "csibm1163": "cp1163", - "maccroatian": { - "type": "_sbcs", - "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊�©⁄¤‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ" - }, - "maccyrillic": { - "type": "_sbcs", - "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤" - }, - "macgreek": { - "type": "_sbcs", - "chars": "Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�" - }, - "maciceland": { - "type": "_sbcs", - "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" - }, - "macroman": { - "type": "_sbcs", - "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" - }, - "macromania": { - "type": "_sbcs", - "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" - }, - "macthai": { - "type": "_sbcs", - "chars": "«»…“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����" - }, - "macturkish": { - "type": "_sbcs", - "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ" - }, - "macukraine": { - "type": "_sbcs", - "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤" - }, - "koi8r": { - "type": "_sbcs", - "chars": "─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ" - }, - "koi8u": { - "type": "_sbcs", - "chars": "─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ" - }, - "koi8ru": { - "type": "_sbcs", - "chars": "─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ" - }, - "koi8t": { - "type": "_sbcs", - "chars": "қғ‚Ғ„…†‡�‰ҳ‹ҲҷҶ�Қ‘’“”•–—�™�›�����ӯӮё¤ӣ¦§���«¬­®�°±²Ё�Ӣ¶·�№�»���©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ" - }, - "armscii8": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �և։)(»«—.՝,-֊…՜՛՞ԱաԲբԳգԴդԵեԶզԷէԸըԹթԺժԻիԼլԽխԾծԿկՀհՁձՂղՃճՄմՅյՆնՇշՈոՉչՊպՋջՌռՍսՎվՏտՐրՑցՒւՓփՔքՕօՖֆ՚�" - }, - "rk1048": { - "type": "_sbcs", - "chars": "ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬­®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя" - }, - "tcvn": { - "type": "_sbcs", - "chars": "\u0000ÚỤ\u0003ỪỬỮ\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010ỨỰỲỶỸÝỴ\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ" - }, - "georgianacademy": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ" - }, - "georgianps": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" - }, - "pt154": { - "type": "_sbcs", - "chars": "ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя" - }, - "viscii": { - "type": "_sbcs", - "chars": "\u0000\u0001Ẳ\u0003\u0004ẴẪ\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013Ỷ\u0015\u0016\u0017\u0018Ỹ\u001a\u001b\u001c\u001dỴ\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ" - }, - "iso646cn": { - "type": "_sbcs", - "chars": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������" - }, - "iso646jp": { - "type": "_sbcs", - "chars": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������" - }, - "hproman8": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�" - }, - "macintosh": { - "type": "_sbcs", - "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" - }, - "ascii": { - "type": "_sbcs", - "chars": "��������������������������������������������������������������������������������������������������������������������������������" - }, - "tis620": { - "type": "_sbcs", - "chars": "���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" + stack.push(val) + // Optimize for Arrays. Big arrays could kill the performance otherwise! + if (Array.isArray(val)) { + for (i = 0; i < val.length; i++) { + deterministicDecirc(val[i], i, i, stack, val, depth, options) + } + } else { + // Create a temporary object in the required way + var tmp = {} + var keys = Object.keys(val).sort(compareFunction) + for (i = 0; i < keys.length; i++) { + var key = keys[i] + deterministicDecirc(val[key], key, i, stack, val, depth, options) + tmp[key] = val[key] + } + if (typeof parent !== 'undefined') { + arr.push([parent, k, val]) + parent[k] = tmp + } else { + return tmp + } + } + stack.pop() + } +} + +// wraps replacer function to handle values we couldn't replace +// and mark them as replaced value +function replaceGetterValues (replacer) { + replacer = + typeof replacer !== 'undefined' + ? replacer + : function (k, v) { + return v + } + return function (key, val) { + if (replacerStack.length > 0) { + for (var i = 0; i < replacerStack.length; i++) { + var part = replacerStack[i] + if (part[1] === key && part[0] === val) { + val = part[2] + replacerStack.splice(i, 1) + break + } + } + } + return replacer.call(this, key, val) } } + /***/ }), -/* 22 */ +/* 29 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var composeK = /*#__PURE__*/__webpack_require__(441); +var differenceInMilliseconds = __webpack_require__(578) -var reverse = /*#__PURE__*/__webpack_require__(528); +var MILLISECONDS_IN_MINUTE = 60000 /** - * Returns the left-to-right Kleisli composition of the provided functions, - * each of which must return a value of a type supported by [`chain`](#chain). - * - * `R.pipeK(f, g, h)` is equivalent to `R.pipe(f, R.chain(g), R.chain(h))`. + * @category Minute Helpers + * @summary Get the number of minutes between the given dates. * - * @func - * @memberOf R - * @since v0.16.0 - * @category Function - * @sig Chain m => ((a -> m b), (b -> m c), ..., (y -> m z)) -> (a -> m z) - * @param {...Function} - * @return {Function} - * @see R.composeK - * @deprecated since v0.26.0 - * @example + * @description + * Get the number of minutes between the given dates. * - * // parseJson :: String -> Maybe * - * // get :: String -> Object -> Maybe * - * - * // getStateCode :: Maybe String -> Maybe String - * const getStateCode = R.pipeK( - * parseJson, - * get('user'), - * get('address'), - * get('state'), - * R.compose(Maybe.of, R.toUpper) - * ); - * - * getStateCode('{"user":{"address":{"state":"ny"}}}'); - * //=> Just('NY') - * getStateCode('[Invalid JSON]'); - * //=> Nothing() - * @symb R.pipeK(f, g, h)(a) = R.chain(h, R.chain(g, f(a))) - */ - - -function pipeK() { - if (arguments.length === 0) { - throw new Error('pipeK requires at least one argument'); - } - return composeK.apply(this, reverse(arguments)); -} -module.exports = pipeK; - -/***/ }), -/* 23 */, -/* 24 */, -/* 25 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry3 = /*#__PURE__*/__webpack_require__(78); - -var defaultTo = /*#__PURE__*/__webpack_require__(867); - -var path = /*#__PURE__*/__webpack_require__(756); - -/** - * If the given, non-null object has a value at the given path, returns the - * value at that path. Otherwise returns the provided default value. - * - * @func - * @memberOf R - * @since v0.18.0 - * @category Object - * @typedefn Idx = String | Int - * @sig a -> [Idx] -> {a} -> a - * @param {*} d The default value. - * @param {Array} p The path to use. - * @param {Object} obj The object to retrieve the nested property from. - * @return {*} The data at `path` of the supplied object or the default value. - * @example - * - * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2 - * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> "N/A" - */ - - -var pathOr = /*#__PURE__*/_curry3(function pathOr(d, p, obj) { - return defaultTo(d, path(p, obj)); -}); -module.exports = pathOr; - -/***/ }), -/* 26 */, -/* 27 */, -/* 28 */ -/***/ (function(module) { - -module.exports = stringify -stringify.default = stringify -stringify.stable = deterministicStringify -stringify.stableStringify = deterministicStringify - -var arr = [] -var replacerStack = [] - -// Regular stringify -function stringify (obj, replacer, spacer) { - decirc(obj, '', [], undefined) - var res - if (replacerStack.length === 0) { - res = JSON.stringify(obj, replacer, spacer) - } else { - res = JSON.stringify(obj, replaceGetterValues(replacer), spacer) - } - while (arr.length !== 0) { - var part = arr.pop() - if (part.length === 4) { - Object.defineProperty(part[0], part[1], part[3]) - } else { - part[0][part[1]] = part[2] - } - } - return res -} -function decirc (val, k, stack, parent) { - var i - if (typeof val === 'object' && val !== null) { - for (i = 0; i < stack.length; i++) { - if (stack[i] === val) { - var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k) - if (propertyDescriptor.get !== undefined) { - if (propertyDescriptor.configurable) { - Object.defineProperty(parent, k, { value: '[Circular]' }) - arr.push([parent, k, val, propertyDescriptor]) - } else { - replacerStack.push([val, k]) - } - } else { - parent[k] = '[Circular]' - arr.push([parent, k, val]) - } - return - } - } - stack.push(val) - // Optimize for Arrays. Big arrays could kill the performance otherwise! - if (Array.isArray(val)) { - for (i = 0; i < val.length; i++) { - decirc(val[i], i, stack, val) - } - } else { - var keys = Object.keys(val) - for (i = 0; i < keys.length; i++) { - var key = keys[i] - decirc(val[key], key, stack, val) - } - } - stack.pop() - } -} - -// Stable-stringify -function compareFunction (a, b) { - if (a < b) { - return -1 - } - if (a > b) { - return 1 - } - return 0 -} - -function deterministicStringify (obj, replacer, spacer) { - var tmp = deterministicDecirc(obj, '', [], undefined) || obj - var res - if (replacerStack.length === 0) { - res = JSON.stringify(tmp, replacer, spacer) - } else { - res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer) - } - while (arr.length !== 0) { - var part = arr.pop() - if (part.length === 4) { - Object.defineProperty(part[0], part[1], part[3]) - } else { - part[0][part[1]] = part[2] - } - } - return res -} - -function deterministicDecirc (val, k, stack, parent) { - var i - if (typeof val === 'object' && val !== null) { - for (i = 0; i < stack.length; i++) { - if (stack[i] === val) { - var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k) - if (propertyDescriptor.get !== undefined) { - if (propertyDescriptor.configurable) { - Object.defineProperty(parent, k, { value: '[Circular]' }) - arr.push([parent, k, val, propertyDescriptor]) - } else { - replacerStack.push([val, k]) - } - } else { - parent[k] = '[Circular]' - arr.push([parent, k, val]) - } - return - } - } - if (typeof val.toJSON === 'function') { - return - } - stack.push(val) - // Optimize for Arrays. Big arrays could kill the performance otherwise! - if (Array.isArray(val)) { - for (i = 0; i < val.length; i++) { - deterministicDecirc(val[i], i, stack, val) - } - } else { - // Create a temporary object in the required way - var tmp = {} - var keys = Object.keys(val).sort(compareFunction) - for (i = 0; i < keys.length; i++) { - var key = keys[i] - deterministicDecirc(val[key], key, stack, val) - tmp[key] = val[key] - } - if (parent !== undefined) { - arr.push([parent, k, val]) - parent[k] = tmp - } else { - return tmp - } - } - stack.pop() - } -} - -// wraps replacer function to handle values we couldn't replace -// and mark them as [Circular] -function replaceGetterValues (replacer) { - replacer = replacer !== undefined ? replacer : function (k, v) { return v } - return function (key, val) { - if (replacerStack.length > 0) { - for (var i = 0; i < replacerStack.length; i++) { - var part = replacerStack[i] - if (part[1] === key && part[0] === val) { - val = '[Circular]' - replacerStack.splice(i, 1) - break - } - } - } - return replacer.call(this, key, val) - } -} - - -/***/ }), -/* 29 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var differenceInMilliseconds = __webpack_require__(578) - -var MILLISECONDS_IN_MINUTE = 60000 - -/** - * @category Minute Helpers - * @summary Get the number of minutes between the given dates. - * - * @description - * Get the number of minutes between the given dates. - * - * @param {Date|String|Number} dateLeft - the later date - * @param {Date|String|Number} dateRight - the earlier date - * @returns {Number} the number of minutes + * @param {Date|String|Number} dateLeft - the later date + * @param {Date|String|Number} dateRight - the earlier date + * @returns {Number} the number of minutes * * @example * // How many minutes are between 2 July 2014 12:07:59 and 2 July 2014 12:20:00? @@ -1742,7 +1213,7 @@ module.exports = differenceInMinutes /* 30 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Replace a substring or regex match in a string with a replacement. @@ -1779,12 +1250,7 @@ module.exports = replace; /* 31 */, /* 32 */, /* 33 */, -/* 34 */ -/***/ (function(module) { - -module.exports = require("https"); - -/***/ }), +/* 34 */, /* 35 */, /* 36 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -1871,30 +1337,165 @@ module.exports = inc; /***/ }), /* 38 */, /* 39 */ -/***/ (function(module) { +/***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +var _dispatchable = /*#__PURE__*/__webpack_require__(968); + +var _xtakeWhile = /*#__PURE__*/__webpack_require__(808); + +var slice = /*#__PURE__*/__webpack_require__(232); + +/** + * Returns a new list containing the first `n` elements of a given list, + * passing each value to the supplied predicate function, and terminating when + * the predicate function returns `false`. Excludes the element that caused the + * predicate function to fail. The predicate function is passed one argument: + * *(value)*. + * + * Dispatches to the `takeWhile` method of the second argument, if present. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig (a -> Boolean) -> [a] -> [a] + * @sig (a -> Boolean) -> String -> String + * @param {Function} fn The function called per iteration. + * @param {Array} xs The collection to iterate over. + * @return {Array} A new array. + * @see R.dropWhile, R.transduce, R.addIndex + * @example + * + * const isNotFour = x => x !== 4; + * + * R.takeWhile(isNotFour, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3] + * + * R.takeWhile(x => x !== 'd' , 'Ramda'); //=> 'Ram' + */ + + +var takeWhile = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['takeWhile'], _xtakeWhile, function takeWhile(fn, xs) { + var idx = 0; + var len = xs.length; + while (idx < len && fn(xs[idx])) { + idx += 1; + } + return slice(0, idx, xs); +})); +module.exports = takeWhile; + +/***/ }), +/* 40 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +const conversions = __webpack_require__(600); + +/* + This function routes a model to all other models. + + all functions that are routed have a property `.conversion` attached + to the returned synthetic function. This property is an array + of strings, each with the steps in between the 'from' and 'to' + color models (inclusive). + + conversions that are not possible simply are not included. +*/ + +function buildGraph() { + const graph = {}; + // https://jsperf.com/object-keys-vs-for-in-with-closure/3 + const models = Object.keys(conversions); + + for (let len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } + + return graph; +} + +// https://en.wikipedia.org/wiki/Breadth-first_search +function deriveBFS(fromModel) { + const graph = buildGraph(); + const queue = [fromModel]; // Unshift -> queue -> pop + + graph[fromModel].distance = 0; + + while (queue.length) { + const current = queue.pop(); + const adjacents = Object.keys(conversions[current]); + + for (let len = adjacents.length, i = 0; i < len; i++) { + const adjacent = adjacents[i]; + const node = graph[adjacent]; + + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + + return graph; +} -module.exports = opts => { - opts = opts || {}; +function link(from, to) { + return function (args) { + return to(from(args)); + }; +} - const env = opts.env || process.env; - const platform = opts.platform || process.platform; +function wrapConversion(toModel, graph) { + const path = [graph[toModel].parent, toModel]; + let fn = conversions[graph[toModel].parent][toModel]; - if (platform !== 'win32') { - return 'PATH'; + let cur = graph[toModel].parent; + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; } - return Object.keys(env).find(x => x.toUpperCase() === 'PATH') || 'Path'; + fn.conversion = path; + return fn; +} + +module.exports = function (fromModel) { + const graph = deriveBFS(fromModel); + const conversion = {}; + + const models = Object.keys(graph); + for (let len = models.length, i = 0; i < len; i++) { + const toModel = models[i]; + const node = graph[toModel]; + + if (node.parent === null) { + // No possible conversion, or this node is the source model. + continue; + } + + conversion[toModel] = wrapConversion(toModel, graph); + } + + return conversion; }; + /***/ }), -/* 40 */, /* 41 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); var path = /*#__PURE__*/__webpack_require__(756); @@ -1958,14 +1559,14 @@ module.exports = _xwrap; const ORG_REPOS = [ { - org: 'newrelic' + org: 'newrelic', }, // TO DO - resolve permissions on GH_TOKEN to fix this error: // (node:12679) UnhandledPromiseRejectionWarning: GraphqlError: Must have push access to view repository collaborators. { - org: 'newrelic-experimental' - } + org: 'newrelic-experimental', + }, // For more specific org/repo combinations, i.e. a solution to how to include a partner project // or a project we contribute to in other organizations @@ -1997,7 +1598,7 @@ const EXCLUDED_PROJECTS = [ 'w3c-distributed-tracing-wg', 'w3c-trace-context', 'w3c-trace-context-binary', - 'w3c-trace-response' + 'w3c-trace-response', ]; // TO DO - Ascertain Github's GraphQL query limits @@ -2006,13 +1607,13 @@ const SCREENSHOT_FOLDERS = { screenshots: 'master:screenshots/', assetsScreenshots: 'master:assets/screenshots/', assetsDocumentationImages: 'master:assets/documentation-images/', - catalogScreenshots: 'master:catalog/screenshots/' + catalogScreenshots: 'master:catalog/screenshots/', }; module.exports = { ORG_REPOS, EXCLUDED_PROJECTS, - SCREENSHOT_FOLDERS + SCREENSHOT_FOLDERS, }; @@ -2020,7 +1621,7 @@ module.exports = { /* 46 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); var _reduce = /*#__PURE__*/__webpack_require__(870); @@ -2113,59 +1714,48 @@ module.exports = startOfYesterday /* 49 */ /***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; - -const os = __webpack_require__(87); -const execa = __webpack_require__(955); - -// Reference: https://www.gaijin.at/en/lstwinver.php -const names = new Map([ - ['10.0', '10'], - ['6.3', '8.1'], - ['6.2', '8'], - ['6.1', '7'], - ['6.0', 'Vista'], - ['5.2', 'Server 2003'], - ['5.1', 'XP'], - ['5.0', '2000'], - ['4.9', 'ME'], - ['4.1', '98'], - ['4.0', '95'] -]); - -const windowsRelease = release => { - const version = /\d+\.\d/.exec(release || os.release()); - - if (release && !version) { - throw new Error('`release` argument doesn\'t match `n.n`'); - } - - const ver = (version || [])[0]; - - // Server 2008, 2012, 2016, and 2019 versions are ambiguous with desktop versions and must be detected at runtime. - // If `release` is omitted or we're on a Windows system, and the version number is an ambiguous version - // then use `wmic` to get the OS caption: https://msdn.microsoft.com/en-us/library/aa394531(v=vs.85).aspx - // If `wmic` is obsoloete (later versions of Windows 10), use PowerShell instead. - // If the resulting caption contains the year 2008, 2012, 2016 or 2019, it is a server version, so return a server OS name. - if ((!release || release === os.release()) && ['6.1', '6.2', '6.3', '10.0'].includes(ver)) { - let stdout; - try { - stdout = execa.sync('powershell', ['(Get-CimInstance -ClassName Win32_OperatingSystem).caption']).stdout || ''; - } catch (_) { - stdout = execa.sync('wmic', ['os', 'get', 'Caption']).stdout || ''; - } +var wrappy = __webpack_require__(11) +module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) - const year = (stdout.match(/2008|2012|2016|2019/) || [])[0]; +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) + }, + configurable: true + }) - if (year) { - return `Server ${year}`; - } - } + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) +}) - return names.get(ver); -}; +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true + return f.value = fn.apply(this, arguments) + } + f.called = false + return f +} -module.exports = windowsRelease; +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} /***/ }), @@ -2361,7 +1951,7 @@ var _dispatchable = /*#__PURE__*/__webpack_require__(968); var _xdropRepeatsWith = /*#__PURE__*/__webpack_require__(424); -var dropRepeatsWith = /*#__PURE__*/__webpack_require__(919); +var dropRepeatsWith = /*#__PURE__*/__webpack_require__(403); var equals = /*#__PURE__*/__webpack_require__(701); @@ -2408,7 +1998,7 @@ module.exports = { module.exports = {}; module.exports.F = /*#__PURE__*/__webpack_require__(913); module.exports.T = /*#__PURE__*/__webpack_require__(96); -module.exports.__ = /*#__PURE__*/__webpack_require__(682); +module.exports.__ = /*#__PURE__*/__webpack_require__(21); module.exports.add = /*#__PURE__*/__webpack_require__(792); module.exports.addIndex = /*#__PURE__*/__webpack_require__(731); module.exports.adjust = /*#__PURE__*/__webpack_require__(908); @@ -2419,12 +2009,12 @@ module.exports.and = /*#__PURE__*/__webpack_require__(990); module.exports.any = /*#__PURE__*/__webpack_require__(137); module.exports.anyPass = /*#__PURE__*/__webpack_require__(81); module.exports.ap = /*#__PURE__*/__webpack_require__(641); -module.exports.aperture = /*#__PURE__*/__webpack_require__(436); +module.exports.aperture = /*#__PURE__*/__webpack_require__(654); module.exports.append = /*#__PURE__*/__webpack_require__(612); module.exports.apply = /*#__PURE__*/__webpack_require__(422); module.exports.applySpec = /*#__PURE__*/__webpack_require__(185); module.exports.applyTo = /*#__PURE__*/__webpack_require__(91); -module.exports.ascend = /*#__PURE__*/__webpack_require__(989); +module.exports.ascend = /*#__PURE__*/__webpack_require__(843); module.exports.assoc = /*#__PURE__*/__webpack_require__(414); module.exports.assocPath = /*#__PURE__*/__webpack_require__(194); module.exports.binary = /*#__PURE__*/__webpack_require__(790); @@ -2435,16 +2025,16 @@ module.exports.chain = /*#__PURE__*/__webpack_require__(481); module.exports.clamp = /*#__PURE__*/__webpack_require__(547); module.exports.clone = /*#__PURE__*/__webpack_require__(176); module.exports.comparator = /*#__PURE__*/__webpack_require__(105); -module.exports.complement = /*#__PURE__*/__webpack_require__(582); +module.exports.complement = /*#__PURE__*/__webpack_require__(541); module.exports.compose = /*#__PURE__*/__webpack_require__(944); module.exports.composeK = /*#__PURE__*/__webpack_require__(441); module.exports.composeP = /*#__PURE__*/__webpack_require__(592); module.exports.composeWith = /*#__PURE__*/__webpack_require__(138); -module.exports.concat = /*#__PURE__*/__webpack_require__(779); +module.exports.concat = /*#__PURE__*/__webpack_require__(818); module.exports.cond = /*#__PURE__*/__webpack_require__(604); module.exports.construct = /*#__PURE__*/__webpack_require__(979); -module.exports.constructN = /*#__PURE__*/__webpack_require__(580); -module.exports.contains = /*#__PURE__*/__webpack_require__(878); +module.exports.constructN = /*#__PURE__*/__webpack_require__(768); +module.exports.contains = /*#__PURE__*/__webpack_require__(823); module.exports.converge = /*#__PURE__*/__webpack_require__(886); module.exports.countBy = /*#__PURE__*/__webpack_require__(333); module.exports.curry = /*#__PURE__*/__webpack_require__(447); @@ -2461,9 +2051,9 @@ module.exports.drop = /*#__PURE__*/__webpack_require__(12); module.exports.dropLast = /*#__PURE__*/__webpack_require__(365); module.exports.dropLastWhile = /*#__PURE__*/__webpack_require__(533); module.exports.dropRepeats = /*#__PURE__*/__webpack_require__(59); -module.exports.dropRepeatsWith = /*#__PURE__*/__webpack_require__(919); +module.exports.dropRepeatsWith = /*#__PURE__*/__webpack_require__(403); module.exports.dropWhile = /*#__PURE__*/__webpack_require__(531); -module.exports.either = /*#__PURE__*/__webpack_require__(331); +module.exports.either = /*#__PURE__*/__webpack_require__(446); module.exports.empty = /*#__PURE__*/__webpack_require__(235); module.exports.endsWith = /*#__PURE__*/__webpack_require__(900); module.exports.eqBy = /*#__PURE__*/__webpack_require__(912); @@ -2472,25 +2062,25 @@ module.exports.equals = /*#__PURE__*/__webpack_require__(701); module.exports.evolve = /*#__PURE__*/__webpack_require__(887); module.exports.filter = /*#__PURE__*/__webpack_require__(80); module.exports.find = /*#__PURE__*/__webpack_require__(862); -module.exports.findIndex = /*#__PURE__*/__webpack_require__(978); +module.exports.findIndex = /*#__PURE__*/__webpack_require__(2); module.exports.findLast = /*#__PURE__*/__webpack_require__(656); module.exports.findLastIndex = /*#__PURE__*/__webpack_require__(593); module.exports.flatten = /*#__PURE__*/__webpack_require__(51); module.exports.flip = /*#__PURE__*/__webpack_require__(328); module.exports.forEach = /*#__PURE__*/__webpack_require__(962); -module.exports.forEachObjIndexed = /*#__PURE__*/__webpack_require__(760); +module.exports.forEachObjIndexed = /*#__PURE__*/__webpack_require__(294); module.exports.fromPairs = /*#__PURE__*/__webpack_require__(795); module.exports.groupBy = /*#__PURE__*/__webpack_require__(797); -module.exports.groupWith = /*#__PURE__*/__webpack_require__(497); -module.exports.gt = /*#__PURE__*/__webpack_require__(573); -module.exports.gte = /*#__PURE__*/__webpack_require__(144); +module.exports.groupWith = /*#__PURE__*/__webpack_require__(165); +module.exports.gt = /*#__PURE__*/__webpack_require__(388); +module.exports.gte = /*#__PURE__*/__webpack_require__(836); module.exports.has = /*#__PURE__*/__webpack_require__(511); module.exports.hasIn = /*#__PURE__*/__webpack_require__(146); module.exports.hasPath = /*#__PURE__*/__webpack_require__(303); module.exports.head = /*#__PURE__*/__webpack_require__(678); module.exports.identical = /*#__PURE__*/__webpack_require__(638); -module.exports.identity = /*#__PURE__*/__webpack_require__(332); -module.exports.ifElse = /*#__PURE__*/__webpack_require__(186); +module.exports.identity = /*#__PURE__*/__webpack_require__(534); +module.exports.ifElse = /*#__PURE__*/__webpack_require__(462); module.exports.inc = /*#__PURE__*/__webpack_require__(37); module.exports.includes = /*#__PURE__*/__webpack_require__(287); module.exports.indexBy = /*#__PURE__*/__webpack_require__(500); @@ -2522,8 +2112,8 @@ module.exports.lensProp = /*#__PURE__*/__webpack_require__(461); module.exports.lift = /*#__PURE__*/__webpack_require__(127); module.exports.liftN = /*#__PURE__*/__webpack_require__(748); module.exports.lt = /*#__PURE__*/__webpack_require__(125); -module.exports.lte = /*#__PURE__*/__webpack_require__(212); -module.exports.map = /*#__PURE__*/__webpack_require__(534); +module.exports.lte = /*#__PURE__*/__webpack_require__(772); +module.exports.map = /*#__PURE__*/__webpack_require__(197); module.exports.mapAccum = /*#__PURE__*/__webpack_require__(611); module.exports.mapAccumRight = /*#__PURE__*/__webpack_require__(826); module.exports.mapObjIndexed = /*#__PURE__*/__webpack_require__(284); @@ -2549,7 +2139,7 @@ module.exports.minBy = /*#__PURE__*/__webpack_require__(688); module.exports.modulo = /*#__PURE__*/__webpack_require__(508); module.exports.move = /*#__PURE__*/__webpack_require__(610); module.exports.multiply = /*#__PURE__*/__webpack_require__(880); -module.exports.nAry = /*#__PURE__*/__webpack_require__(425); +module.exports.nAry = /*#__PURE__*/__webpack_require__(807); module.exports.negate = /*#__PURE__*/__webpack_require__(266); module.exports.none = /*#__PURE__*/__webpack_require__(86); module.exports.not = /*#__PURE__*/__webpack_require__(237); @@ -2563,37 +2153,37 @@ module.exports.once = /*#__PURE__*/__webpack_require__(295); module.exports.or = /*#__PURE__*/__webpack_require__(443); module.exports.otherwise = /*#__PURE__*/__webpack_require__(66); module.exports.over = /*#__PURE__*/__webpack_require__(97); -module.exports.pair = /*#__PURE__*/__webpack_require__(379); -module.exports.partial = /*#__PURE__*/__webpack_require__(616); +module.exports.pair = /*#__PURE__*/__webpack_require__(277); +module.exports.partial = /*#__PURE__*/__webpack_require__(814); module.exports.partialRight = /*#__PURE__*/__webpack_require__(771); module.exports.partition = /*#__PURE__*/__webpack_require__(368); module.exports.path = /*#__PURE__*/__webpack_require__(756); -module.exports.pathEq = /*#__PURE__*/__webpack_require__(449); +module.exports.pathEq = /*#__PURE__*/__webpack_require__(831); module.exports.pathOr = /*#__PURE__*/__webpack_require__(25); module.exports.pathSatisfies = /*#__PURE__*/__webpack_require__(41); module.exports.pick = /*#__PURE__*/__webpack_require__(312); module.exports.pickAll = /*#__PURE__*/__webpack_require__(362); module.exports.pickBy = /*#__PURE__*/__webpack_require__(648); module.exports.pipe = /*#__PURE__*/__webpack_require__(918); -module.exports.pipeK = /*#__PURE__*/__webpack_require__(22); -module.exports.pipeP = /*#__PURE__*/__webpack_require__(954); +module.exports.pipeK = /*#__PURE__*/__webpack_require__(162); +module.exports.pipeP = /*#__PURE__*/__webpack_require__(984); module.exports.pipeWith = /*#__PURE__*/__webpack_require__(326); module.exports.pluck = /*#__PURE__*/__webpack_require__(819); module.exports.prepend = /*#__PURE__*/__webpack_require__(773); -module.exports.product = /*#__PURE__*/__webpack_require__(82); +module.exports.product = /*#__PURE__*/__webpack_require__(760); module.exports.project = /*#__PURE__*/__webpack_require__(376); module.exports.prop = /*#__PURE__*/__webpack_require__(196); module.exports.propEq = /*#__PURE__*/__webpack_require__(134); module.exports.propIs = /*#__PURE__*/__webpack_require__(261); module.exports.propOr = /*#__PURE__*/__webpack_require__(167); module.exports.propSatisfies = /*#__PURE__*/__webpack_require__(757); -module.exports.props = /*#__PURE__*/__webpack_require__(162); +module.exports.props = /*#__PURE__*/__webpack_require__(128); module.exports.range = /*#__PURE__*/__webpack_require__(730); module.exports.reduce = /*#__PURE__*/__webpack_require__(46); module.exports.reduceBy = /*#__PURE__*/__webpack_require__(729); module.exports.reduceRight = /*#__PURE__*/__webpack_require__(382); module.exports.reduceWhile = /*#__PURE__*/__webpack_require__(769); -module.exports.reduced = /*#__PURE__*/__webpack_require__(387); +module.exports.reduced = /*#__PURE__*/__webpack_require__(848); module.exports.reject = /*#__PURE__*/__webpack_require__(92); module.exports.remove = /*#__PURE__*/__webpack_require__(917); module.exports.repeat = /*#__PURE__*/__webpack_require__(258); @@ -2603,24 +2193,24 @@ module.exports.scan = /*#__PURE__*/__webpack_require__(559); module.exports.sequence = /*#__PURE__*/__webpack_require__(827); module.exports.set = /*#__PURE__*/__webpack_require__(170); module.exports.slice = /*#__PURE__*/__webpack_require__(232); -module.exports.sort = /*#__PURE__*/__webpack_require__(518); +module.exports.sort = /*#__PURE__*/__webpack_require__(595); module.exports.sortBy = /*#__PURE__*/__webpack_require__(306); module.exports.sortWith = /*#__PURE__*/__webpack_require__(895); module.exports.split = /*#__PURE__*/__webpack_require__(90); module.exports.splitAt = /*#__PURE__*/__webpack_require__(364); module.exports.splitEvery = /*#__PURE__*/__webpack_require__(408); -module.exports.splitWhen = /*#__PURE__*/__webpack_require__(221); +module.exports.splitWhen = /*#__PURE__*/__webpack_require__(865); module.exports.startsWith = /*#__PURE__*/__webpack_require__(996); module.exports.subtract = /*#__PURE__*/__webpack_require__(743); module.exports.sum = /*#__PURE__*/__webpack_require__(218); -module.exports.symmetricDifference = /*#__PURE__*/__webpack_require__(719); +module.exports.symmetricDifference = /*#__PURE__*/__webpack_require__(410); module.exports.symmetricDifferenceWith = /*#__PURE__*/__webpack_require__(63); module.exports.tail = /*#__PURE__*/__webpack_require__(193); module.exports.take = /*#__PURE__*/__webpack_require__(198); module.exports.takeLast = /*#__PURE__*/__webpack_require__(173); module.exports.takeLastWhile = /*#__PURE__*/__webpack_require__(249); -module.exports.takeWhile = /*#__PURE__*/__webpack_require__(965); -module.exports.tap = /*#__PURE__*/__webpack_require__(62); +module.exports.takeWhile = /*#__PURE__*/__webpack_require__(39); +module.exports.tap = /*#__PURE__*/__webpack_require__(514); module.exports.test = /*#__PURE__*/__webpack_require__(140); module.exports.then = /*#__PURE__*/__webpack_require__(55); module.exports.times = /*#__PURE__*/__webpack_require__(54); @@ -2629,17 +2219,17 @@ module.exports.toPairs = /*#__PURE__*/__webpack_require__(902); module.exports.toPairsIn = /*#__PURE__*/__webpack_require__(509); module.exports.toString = /*#__PURE__*/__webpack_require__(854); module.exports.toUpper = /*#__PURE__*/__webpack_require__(770); -module.exports.transduce = /*#__PURE__*/__webpack_require__(482); +module.exports.transduce = /*#__PURE__*/__webpack_require__(440); module.exports.transpose = /*#__PURE__*/__webpack_require__(93); -module.exports.traverse = /*#__PURE__*/__webpack_require__(699); -module.exports.trim = /*#__PURE__*/__webpack_require__(356); -module.exports.tryCatch = /*#__PURE__*/__webpack_require__(219); +module.exports.traverse = /*#__PURE__*/__webpack_require__(608); +module.exports.trim = /*#__PURE__*/__webpack_require__(667); +module.exports.tryCatch = /*#__PURE__*/__webpack_require__(549); module.exports.type = /*#__PURE__*/__webpack_require__(552); module.exports.unapply = /*#__PURE__*/__webpack_require__(64); module.exports.unary = /*#__PURE__*/__webpack_require__(715); -module.exports.uncurryN = /*#__PURE__*/__webpack_require__(586); +module.exports.uncurryN = /*#__PURE__*/__webpack_require__(598); module.exports.unfold = /*#__PURE__*/__webpack_require__(923); -module.exports.union = /*#__PURE__*/__webpack_require__(410); +module.exports.union = /*#__PURE__*/__webpack_require__(728); module.exports.unionWith = /*#__PURE__*/__webpack_require__(163); module.exports.uniq = /*#__PURE__*/__webpack_require__(732); module.exports.uniqBy = /*#__PURE__*/__webpack_require__(703); @@ -2647,7 +2237,7 @@ module.exports.uniqWith = /*#__PURE__*/__webpack_require__(780); module.exports.unless = /*#__PURE__*/__webpack_require__(986); module.exports.unnest = /*#__PURE__*/__webpack_require__(104); module.exports.until = /*#__PURE__*/__webpack_require__(765); -module.exports.update = /*#__PURE__*/__webpack_require__(440); +module.exports.update = /*#__PURE__*/__webpack_require__(881); module.exports.useWith = /*#__PURE__*/__webpack_require__(467); module.exports.values = /*#__PURE__*/__webpack_require__(906); module.exports.valuesIn = /*#__PURE__*/__webpack_require__(241); @@ -2664,49 +2254,96 @@ module.exports.thunkify = /*#__PURE__*/__webpack_require__(159); /***/ }), /* 62 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/***/ (function(__unusedmodule, exports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +"use strict"; -var _dispatchable = /*#__PURE__*/__webpack_require__(968); -var _xtap = /*#__PURE__*/__webpack_require__(839); +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "v1", { + enumerable: true, + get: function () { + return _v.default; + } +}); +Object.defineProperty(exports, "v3", { + enumerable: true, + get: function () { + return _v2.default; + } +}); +Object.defineProperty(exports, "v4", { + enumerable: true, + get: function () { + return _v3.default; + } +}); +Object.defineProperty(exports, "v5", { + enumerable: true, + get: function () { + return _v4.default; + } +}); +Object.defineProperty(exports, "NIL", { + enumerable: true, + get: function () { + return _nil.default; + } +}); +Object.defineProperty(exports, "version", { + enumerable: true, + get: function () { + return _version.default; + } +}); +Object.defineProperty(exports, "validate", { + enumerable: true, + get: function () { + return _validate.default; + } +}); +Object.defineProperty(exports, "stringify", { + enumerable: true, + get: function () { + return _stringify.default; + } +}); +Object.defineProperty(exports, "parse", { + enumerable: true, + get: function () { + return _parse.default; + } +}); -/** - * Runs the given function with the supplied object, then returns the object. - * - * Acts as a transducer if a transformer is given as second parameter. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig (a -> *) -> a -> a - * @param {Function} fn The function to call with `x`. The return value of `fn` will be thrown away. - * @param {*} x - * @return {*} `x`. - * @example - * - * const sayX = x => console.log('x is ' + x); - * R.tap(sayX, 100); //=> 100 - * // logs 'x is 100' - * @symb R.tap(f, a) = a - */ +var _v = _interopRequireDefault(__webpack_require__(893)); +var _v2 = _interopRequireDefault(__webpack_require__(209)); -var tap = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xtap, function tap(fn, x) { - fn(x); - return x; -})); -module.exports = tap; +var _v3 = _interopRequireDefault(__webpack_require__(733)); + +var _v4 = _interopRequireDefault(__webpack_require__(384)); + +var _nil = _interopRequireDefault(__webpack_require__(327)); + +var _version = _interopRequireDefault(__webpack_require__(695)); + +var _validate = _interopRequireDefault(__webpack_require__(78)); + +var _stringify = _interopRequireDefault(__webpack_require__(411)); + +var _parse = _interopRequireDefault(__webpack_require__(22)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /***/ }), /* 63 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); -var concat = /*#__PURE__*/__webpack_require__(779); +var concat = /*#__PURE__*/__webpack_require__(818); var differenceWith = /*#__PURE__*/__webpack_require__(716); @@ -2936,7 +2573,24 @@ var without = /*#__PURE__*/_curry2(function (xs, list) { module.exports = without; /***/ }), -/* 70 */, +/* 70 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +exports.URL = __webpack_require__(782).interface; +exports.serializeURL = __webpack_require__(936).serializeURL; +exports.serializeURLOrigin = __webpack_require__(936).serializeURLOrigin; +exports.basicURLParse = __webpack_require__(936).basicURLParse; +exports.setTheUsername = __webpack_require__(936).setTheUsername; +exports.setThePassword = __webpack_require__(936).setThePassword; +exports.serializeHost = __webpack_require__(936).serializeHost; +exports.serializeInteger = __webpack_require__(936).serializeInteger; +exports.parseURL = __webpack_require__(936).parseURL; + + +/***/ }), /* 71 */, /* 72 */, /* 73 */ @@ -3995,13 +3649,13 @@ return { /***/ (function(module, __unusedexports, __webpack_require__) { const { Octokit } = __webpack_require__(448); -const throttlingPlugin = __webpack_require__(935); +const throttlingPlugin = __webpack_require__(434); const retryPlugin = __webpack_require__(618); const MyOctokit = Octokit.plugin(throttlingPlugin, retryPlugin); const log = __webpack_require__(718); -const addGraphQL = __webpack_require__(149); +const addGraphQL = __webpack_require__(423); function isRateLimited(response) { return response.headers['x-ratelimit-remaining'] === '0'; @@ -4054,8 +3708,9 @@ const createOctokit = ({ org, accessToken, tokenType = 'token', cacheKey }) => { // retry twice if (options.request.retryCount < 2) { log.warn( - `Retrying after ${retryAfter} seconds, retry attempt=${options - .request.retryCount + 1}` + `Retrying after ${retryAfter} seconds, retry attempt=${ + options.request.retryCount + 1 + }` ); // Return true to automatically retry the request after retryAfter seconds return true; @@ -4068,15 +3723,15 @@ const createOctokit = ({ org, accessToken, tokenType = 'token', cacheKey }) => { log.warn(`Abuse detected for request ${options.method} ${options.url}`); log.json(options); return true; - } + }, }, log: { // eslint-disable-next-line no-unused-vars debug: (operation, payload) => {}, info: log.info, warn: log.warn, - error: log.error - } + error: log.error, + }, }); }; @@ -4101,7 +3756,7 @@ async function createGithubClient(org, cacheKey, accessToken) { const octokit = createOctokit({ org, accessToken: githubAccessToken, - cacheKey + cacheKey, }); addGraphQL(octokit, org); @@ -4114,7 +3769,7 @@ function createGithubUserClient(org, userAccessToken) { org, accessToken: userAccessToken, // it makes sense to set locks on token level, so we control concurrency per user - cacheKey: userAccessToken + cacheKey: userAccessToken, }); addGraphQL(octokit, org); @@ -4124,95 +3779,35 @@ function createGithubUserClient(org, userAccessToken) { module.exports = { createGithubClient, createGithubUserClient, - createOctokit + createOctokit, }; /***/ }), /* 78 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry1 = /*#__PURE__*/__webpack_require__(721); - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var _isPlaceholder = /*#__PURE__*/__webpack_require__(953); +/***/ (function(__unusedmodule, exports, __webpack_require__) { -/** - * Optimized internal three-arity curry function. - * - * @private - * @category Function - * @param {Function} fn The function to curry. - * @return {Function} The curried function. - */ +"use strict"; -function _curry3(fn) { - return function f3(a, b, c) { - switch (arguments.length) { - case 0: - return f3; - case 1: - return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) { - return fn(a, _b, _c); - }); - case 2: - return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) { - return fn(_a, b, _c); - }) : _isPlaceholder(b) ? _curry2(function (_b, _c) { - return fn(a, _b, _c); - }) : _curry1(function (_c) { - return fn(a, b, _c); - }); - default: - return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) { - return fn(_a, _b, c); - }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) { - return fn(_a, b, _c); - }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) { - return fn(a, _b, _c); - }) : _isPlaceholder(a) ? _curry1(function (_a) { - return fn(_a, b, c); - }) : _isPlaceholder(b) ? _curry1(function (_b) { - return fn(a, _b, c); - }) : _isPlaceholder(c) ? _curry1(function (_c) { - return fn(a, b, _c); - }) : fn(a, b, c); - } - }; -} -module.exports = _curry3; +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; -/***/ }), -/* 79 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +var _regex = _interopRequireDefault(__webpack_require__(456)); -var startOfDay = __webpack_require__(68) +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -/** - * @category Day Helpers - * @summary Is the given date today? - * - * @description - * Is the given date today? - * - * @param {Date|String|Number} date - the date to check - * @returns {Boolean} the date is today - * - * @example - * // If today is 6 October 2014, is 6 October 14:00:00 today? - * var result = isToday(new Date(2014, 9, 6, 14, 0)) - * //=> true - */ -function isToday (dirtyDate) { - return startOfDay(dirtyDate).getTime() === startOfDay(new Date()).getTime() +function validate(uuid) { + return typeof uuid === 'string' && _regex.default.test(uuid); } -module.exports = isToday - +var _default = validate; +exports.default = _default; /***/ }), +/* 79 */, /* 80 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -4220,7 +3815,7 @@ var _curry2 = /*#__PURE__*/__webpack_require__(830); var _dispatchable = /*#__PURE__*/__webpack_require__(968); -var _filter = /*#__PURE__*/__webpack_require__(695); +var _filter = /*#__PURE__*/__webpack_require__(599); var _isObject = /*#__PURE__*/__webpack_require__(662); @@ -4330,31 +3925,49 @@ module.exports = anyPass; /***/ }), /* 82 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var multiply = /*#__PURE__*/__webpack_require__(880); +/***/ (function(__unusedmodule, exports) { -var reduce = /*#__PURE__*/__webpack_require__(46); +"use strict"; +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toCommandProperties = exports.toCommandValue = void 0; +/** + * Sanitizes an input into a string so it can be passed into issueCommand safely + * @param input input to sanitize into a string + */ +function toCommandValue(input) { + if (input === null || input === undefined) { + return ''; + } + else if (typeof input === 'string' || input instanceof String) { + return input; + } + return JSON.stringify(input); +} +exports.toCommandValue = toCommandValue; /** - * Multiplies together all the elements of a list. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Math - * @sig [Number] -> Number - * @param {Array} list An array of numbers - * @return {Number} The product of all the numbers in the list. - * @see R.reduce - * @example * - * R.product([2,4,6,8,100,1]); //=> 38400 + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 */ - - -var product = /*#__PURE__*/reduce(multiply, 1); -module.exports = product; +function toCommandProperties(annotationProperties) { + if (!Object.keys(annotationProperties).length) { + return {}; + } + return { + title: annotationProperties.title, + file: annotationProperties.file, + line: annotationProperties.startLine, + endLine: annotationProperties.endLine, + col: annotationProperties.startColumn, + endColumn: annotationProperties.endColumn + }; +} +exports.toCommandProperties = toCommandProperties; +//# sourceMappingURL=utils.js.map /***/ }), /* 83 */, @@ -4469,54 +4082,7 @@ module.exports = none; module.exports = require("os"); /***/ }), -/* 88 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var startOfISOWeek = __webpack_require__(901) - -var MILLISECONDS_IN_MINUTE = 60000 -var MILLISECONDS_IN_WEEK = 604800000 - -/** - * @category ISO Week Helpers - * @summary Get the number of calendar ISO weeks between the given dates. - * - * @description - * Get the number of calendar ISO weeks between the given dates. - * - * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date - * - * @param {Date|String|Number} dateLeft - the later date - * @param {Date|String|Number} dateRight - the earlier date - * @returns {Number} the number of calendar ISO weeks - * - * @example - * // How many calendar ISO weeks are between 6 July 2014 and 21 July 2014? - * var result = differenceInCalendarISOWeeks( - * new Date(2014, 6, 21), - * new Date(2014, 6, 6) - * ) - * //=> 3 - */ -function differenceInCalendarISOWeeks (dirtyDateLeft, dirtyDateRight) { - var startOfISOWeekLeft = startOfISOWeek(dirtyDateLeft) - var startOfISOWeekRight = startOfISOWeek(dirtyDateRight) - - var timestampLeft = startOfISOWeekLeft.getTime() - - startOfISOWeekLeft.getTimezoneOffset() * MILLISECONDS_IN_MINUTE - var timestampRight = startOfISOWeekRight.getTime() - - startOfISOWeekRight.getTimezoneOffset() * MILLISECONDS_IN_MINUTE - - // Round the number of days to the nearest integer - // because the number of milliseconds in a week is not constant - // (e.g. it's different in the week of the daylight saving time clock shift) - return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK) -} - -module.exports = differenceInCalendarISOWeeks - - -/***/ }), +/* 88 */, /* 89 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -4752,28 +4318,35 @@ module.exports = transpose; /***/ }), /* 94 */ -/***/ (function(module) { - -module.exports = errorRequest - -async function errorRequest (octokit, state, error, options) { - if (!error.request || !error.request.request) { - // address https://github.com/octokit/plugin-retry.js/issues/8 - throw error - } - - // retry all >= 400 && not doNotRetry - if (error.status >= 400 && !state.doNotRetry.includes(error.status)) { - const retries = options.request.retries != null ? options.request.retries : state.retries - const retryAfter = Math.pow((options.request.retryCount || 0) + 1, 2) - throw octokit.retry.retryRequest(error, retries, retryAfter) - } +/***/ (function(module, __unusedexports, __webpack_require__) { - // Maybe eventually there will be more cases here +var parse = __webpack_require__(751) - throw error +/** + * @category Month Helpers + * @summary Return the start of a month for the given date. + * + * @description + * Return the start of a month for the given date. + * The result will be in the local timezone. + * + * @param {Date|String|Number} date - the original date + * @returns {Date} the start of a month + * + * @example + * // The start of a month for 2 September 2014 11:55:00: + * var result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Mon Sep 01 2014 00:00:00 + */ +function startOfMonth (dirtyDate) { + var date = parse(dirtyDate) + date.setDate(1) + date.setHours(0, 0, 0, 0) + return date } +module.exports = startOfMonth + /***/ }), /* 95 */ @@ -4811,7 +4384,7 @@ module.exports = T; /* 97 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); // `Identity` is a functor that holds a single value, where `map` simply // transforms the held value with the provided function. @@ -4881,44 +4454,240 @@ module.exports.default = timeSpan; /***/ }), -/* 99 */, -/* 100 */, -/* 101 */, -/* 102 */ +/* 99 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var isSameWeek = __webpack_require__(50) +var parse = __webpack_require__(751) +var setMonth = __webpack_require__(939) /** - * @category Week Helpers - * @summary Is the given date in the same week as the current date? + * @category Quarter Helpers + * @summary Set the year quarter to the given date. * * @description - * Is the given date in the same week as the current date? - * - * @param {Date|String|Number} date - the date to check - * @param {Object} [options] - the object with options - * @param {Number} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) - * @returns {Boolean} the date is in this week + * Set the year quarter to the given date. * - * @example - * // If today is 25 September 2014, is 21 September 2014 in this week? - * var result = isThisWeek(new Date(2014, 8, 21)) - * //=> true + * @param {Date|String|Number} date - the date to be changed + * @param {Number} quarter - the quarter of the new date + * @returns {Date} the new date with the quarter setted * * @example - * // If today is 25 September 2014 and week starts with Monday - * // is 21 September 2014 in this week? - * var result = isThisWeek(new Date(2014, 8, 21), {weekStartsOn: 1}) - * //=> false + * // Set the 2nd quarter to 2 July 2014: + * var result = setQuarter(new Date(2014, 6, 2), 2) + * //=> Wed Apr 02 2014 00:00:00 */ -function isThisWeek (dirtyDate, dirtyOptions) { - return isSameWeek(new Date(), dirtyDate, dirtyOptions) +function setQuarter (dirtyDate, dirtyQuarter) { + var date = parse(dirtyDate) + var quarter = Number(dirtyQuarter) + var oldQuarter = Math.floor(date.getMonth() / 3) + 1 + var diff = quarter - oldQuarter + return setMonth(date, date.getMonth() + diff * 3) } -module.exports = isThisWeek +module.exports = setQuarter +/***/ }), +/* 100 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +module.exports = function(Promise, PromiseArray, apiRejection, debug) { +var util = __webpack_require__(248); +var tryCatch = util.tryCatch; +var errorObj = util.errorObj; +var async = Promise._async; + +Promise.prototype["break"] = Promise.prototype.cancel = function() { + if (!debug.cancellation()) return this._warn("cancellation is disabled"); + + var promise = this; + var child = promise; + while (promise._isCancellable()) { + if (!promise._cancelBy(child)) { + if (child._isFollowing()) { + child._followee().cancel(); + } else { + child._cancelBranched(); + } + break; + } + + var parent = promise._cancellationParent; + if (parent == null || !parent._isCancellable()) { + if (promise._isFollowing()) { + promise._followee().cancel(); + } else { + promise._cancelBranched(); + } + break; + } else { + if (promise._isFollowing()) promise._followee().cancel(); + promise._setWillBeCancelled(); + child = promise; + promise = parent; + } + } +}; + +Promise.prototype._branchHasCancelled = function() { + this._branchesRemainingToCancel--; +}; + +Promise.prototype._enoughBranchesHaveCancelled = function() { + return this._branchesRemainingToCancel === undefined || + this._branchesRemainingToCancel <= 0; +}; + +Promise.prototype._cancelBy = function(canceller) { + if (canceller === this) { + this._branchesRemainingToCancel = 0; + this._invokeOnCancel(); + return true; + } else { + this._branchHasCancelled(); + if (this._enoughBranchesHaveCancelled()) { + this._invokeOnCancel(); + return true; + } + } + return false; +}; + +Promise.prototype._cancelBranched = function() { + if (this._enoughBranchesHaveCancelled()) { + this._cancel(); + } +}; + +Promise.prototype._cancel = function() { + if (!this._isCancellable()) return; + this._setCancelled(); + async.invoke(this._cancelPromises, this, undefined); +}; + +Promise.prototype._cancelPromises = function() { + if (this._length() > 0) this._settlePromises(); +}; + +Promise.prototype._unsetOnCancel = function() { + this._onCancelField = undefined; +}; + +Promise.prototype._isCancellable = function() { + return this.isPending() && !this._isCancelled(); +}; + +Promise.prototype.isCancellable = function() { + return this.isPending() && !this.isCancelled(); +}; + +Promise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) { + if (util.isArray(onCancelCallback)) { + for (var i = 0; i < onCancelCallback.length; ++i) { + this._doInvokeOnCancel(onCancelCallback[i], internalOnly); + } + } else if (onCancelCallback !== undefined) { + if (typeof onCancelCallback === "function") { + if (!internalOnly) { + var e = tryCatch(onCancelCallback).call(this._boundValue()); + if (e === errorObj) { + this._attachExtraTrace(e.e); + async.throwLater(e.e); + } + } + } else { + onCancelCallback._resultCancelled(this); + } + } +}; + +Promise.prototype._invokeOnCancel = function() { + var onCancelCallback = this._onCancel(); + this._unsetOnCancel(); + async.invoke(this._doInvokeOnCancel, this, onCancelCallback); +}; + +Promise.prototype._invokeInternalOnCancel = function() { + if (this._isCancellable()) { + this._doInvokeOnCancel(this._onCancel(), true); + this._unsetOnCancel(); + } +}; + +Promise.prototype._resultCancelled = function() { + this.cancel(); +}; + +}; + + +/***/ }), +/* 101 */, +/* 102 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +// For internal use, subject to change. +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +const fs = __importStar(__webpack_require__(747)); +const os = __importStar(__webpack_require__(87)); +const uuid_1 = __webpack_require__(62); +const utils_1 = __webpack_require__(82); +function issueFileCommand(command, message) { + const filePath = process.env[`GITHUB_${command}`]; + if (!filePath) { + throw new Error(`Unable to find environment variable for file command ${command}`); + } + if (!fs.existsSync(filePath)) { + throw new Error(`Missing file at path: ${filePath}`); + } + fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { + encoding: 'utf8' + }); +} +exports.issueFileCommand = issueFileCommand; +function prepareKeyValueMessage(key, value) { + const delimiter = `ghadelimiter_${uuid_1.v4()}`; + const convertedValue = utils_1.toCommandValue(value); + // These should realistically never happen, but just in case someone finds a + // way to exploit uuid generation let's not allow keys or values that contain + // the delimiter. + if (key.includes(delimiter)) { + throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); + } + if (convertedValue.includes(delimiter)) { + throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); + } + return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; +} +exports.prepareKeyValueMessage = prepareKeyValueMessage; +//# sourceMappingURL=file-command.js.map + /***/ }), /* 103 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -5136,36 +4905,7 @@ var _xdropLastWhile = /*#__PURE__*/_curry2(function _xdropLastWhile(fn, xf) { module.exports = _xdropLastWhile; /***/ }), -/* 112 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var addMonths = __webpack_require__(465) - -/** - * @category Year Helpers - * @summary Add the specified number of years to the given date. - * - * @description - * Add the specified number of years to the given date. - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of years to be added - * @returns {Date} the new date with the years added - * - * @example - * // Add 5 years to 1 September 2014: - * var result = addYears(new Date(2014, 8, 1), 5) - * //=> Sun Sep 01 2019 00:00:00 - */ -function addYears (dirtyDate, dirtyAmount) { - var amount = Number(dirtyAmount) - return addMonths(dirtyDate, amount * 12) -} - -module.exports = addYears - - -/***/ }), +/* 112 */, /* 113 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -5223,9 +4963,34 @@ module.exports = where; /***/ }), /* 114 */, /* 115 */ -/***/ (function(module) { +/***/ (function(module, __unusedexports, __webpack_require__) { + +var parse = __webpack_require__(751) + +/** + * @category Second Helpers + * @summary Return the start of a second for the given date. + * + * @description + * Return the start of a second for the given date. + * The result will be in the local timezone. + * + * @param {Date|String|Number} date - the original date + * @returns {Date} the start of a second + * + * @example + * // The start of a second for 1 December 2014 22:15:45.400: + * var result = startOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:45.000 + */ +function startOfSecond (dirtyDate) { + var date = parse(dirtyDate) + date.setMilliseconds(0) + return date +} + +module.exports = startOfSecond -module.exports = {"uChars":[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],"gbChars":[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189000]}; /***/ }), /* 116 */, @@ -5233,39 +4998,42 @@ module.exports = {"uChars":[128,165,169,178,184,216,226,235,238,244,248,251,253, /* 118 */ /***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; - -const os = __webpack_require__(87); - -const nameMap = new Map([ - [19, 'Catalina'], - [18, 'Mojave'], - [17, 'High Sierra'], - [16, 'Sierra'], - [15, 'El Capitan'], - [14, 'Yosemite'], - [13, 'Mavericks'], - [12, 'Mountain Lion'], - [11, 'Lion'], - [10, 'Snow Leopard'], - [9, 'Leopard'], - [8, 'Tiger'], - [7, 'Panther'], - [6, 'Jaguar'], - [5, 'Puma'] -]); +var parse = __webpack_require__(751) +var startOfISOYear = __webpack_require__(712) +var differenceInCalendarDays = __webpack_require__(228) -const macosRelease = release => { - release = Number((release || os.release()).split('.')[0]); - return { - name: nameMap.get(release), - version: '10.' + (release - 4) - }; -}; +/** + * @category ISO Week-Numbering Year Helpers + * @summary Set the ISO week-numbering year to the given date. + * + * @description + * Set the ISO week-numbering year to the given date, + * saving the week number and the weekday number. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param {Date|String|Number} date - the date to be changed + * @param {Number} isoYear - the ISO week-numbering year of the new date + * @returns {Date} the new date with the ISO week-numbering year setted + * + * @example + * // Set ISO week-numbering year 2007 to 29 December 2008: + * var result = setISOYear(new Date(2008, 11, 29), 2007) + * //=> Mon Jan 01 2007 00:00:00 + */ +function setISOYear (dirtyDate, dirtyISOYear) { + var date = parse(dirtyDate) + var isoYear = Number(dirtyISOYear) + var diff = differenceInCalendarDays(date, startOfISOYear(date)) + var fourthOfJanuary = new Date(0) + fourthOfJanuary.setFullYear(isoYear, 0, 4) + fourthOfJanuary.setHours(0, 0, 0, 0) + date = startOfISOYear(fourthOfJanuary) + date.setDate(date.getDate() + diff) + return date +} -module.exports = macosRelease; -// TODO: remove this in the next major version -module.exports.default = macosRelease; +module.exports = setISOYear /***/ }), @@ -5307,7 +5075,7 @@ module.exports = isSameHour /* 120 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); var mergeDeepWithKey = /*#__PURE__*/__webpack_require__(492); @@ -5351,7 +5119,7 @@ module.exports = mergeDeepWith; /* 121 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _objectAssign = /*#__PURE__*/__webpack_require__(420); +var _objectAssign = /*#__PURE__*/__webpack_require__(289); var _curry2 = /*#__PURE__*/__webpack_require__(830); @@ -5494,7 +5262,7 @@ module.exports = lt; /* 126 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _checkForMethod = /*#__PURE__*/__webpack_require__(417); +var _checkForMethod = /*#__PURE__*/__webpack_require__(787); var _curry2 = /*#__PURE__*/__webpack_require__(830); @@ -5574,50 +5342,104 @@ module.exports = lift; /* 128 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var startOfISOYear = __webpack_require__(712) -var addWeeks = __webpack_require__(590) +var _curry2 = /*#__PURE__*/__webpack_require__(830); -var MILLISECONDS_IN_WEEK = 604800000 +/** + * Acts as multiple `prop`: array of keys in, array of values out. Preserves + * order. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig [k] -> {k: v} -> [v] + * @param {Array} ps The property names to fetch + * @param {Object} obj The object to query + * @return {Array} The corresponding values or partially applied function. + * @example + * + * R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2] + * R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2] + * + * const fullName = R.compose(R.join(' '), R.props(['first', 'last'])); + * fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth' + */ + + +var props = /*#__PURE__*/_curry2(function props(ps, obj) { + var len = ps.length; + var out = []; + var idx = 0; + + while (idx < len) { + out[idx] = obj[ps[idx]]; + idx += 1; + } + + return out; +}); +module.exports = props; + +/***/ }), +/* 129 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var parse = __webpack_require__(751) /** - * @category ISO Week-Numbering Year Helpers - * @summary Get the number of weeks in an ISO week-numbering year of the given date. + * @category Year Helpers + * @summary Get the year of the given date. * * @description - * Get the number of weeks in an ISO week-numbering year of the given date. - * - * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * Get the year of the given date. * * @param {Date|String|Number} date - the given date - * @returns {Number} the number of ISO weeks in a year + * @returns {Number} the year * * @example - * // How many weeks are in ISO week-numbering year 2015? - * var result = getISOWeeksInYear(new Date(2015, 1, 11)) - * //=> 53 + * // Which year is 2 July 2014? + * var result = getYear(new Date(2014, 6, 2)) + * //=> 2014 */ -function getISOWeeksInYear (dirtyDate) { - var thisYear = startOfISOYear(dirtyDate) - var nextYear = startOfISOYear(addWeeks(thisYear, 60)) - var diff = nextYear.valueOf() - thisYear.valueOf() - // Round the number of weeks to the nearest integer - // because the number of milliseconds in a week is not constant - // (e.g. it's different in the week of the daylight saving time clock shift) - return Math.round(diff / MILLISECONDS_IN_WEEK) +function getYear (dirtyDate) { + var date = parse(dirtyDate) + var year = date.getFullYear() + return year } -module.exports = getISOWeeksInYear +module.exports = getYear /***/ }), -/* 129 */ -/***/ (function(module) { +/* 130 */, +/* 131 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var parse = __webpack_require__(751) + +/** + * @category Weekday Helpers + * @summary Is the given date Monday? + * + * @description + * Is the given date Monday? + * + * @param {Date|String|Number} date - the date to check + * @returns {Boolean} the date is Monday + * + * @example + * // Is 22 September 2014 Monday? + * var result = isMonday(new Date(2014, 8, 22)) + * //=> true + */ +function isMonday (dirtyDate) { + return parse(dirtyDate).getDay() === 1 +} + +module.exports = isMonday -module.exports = require("child_process"); /***/ }), -/* 130 */, -/* 131 */, /* 132 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -5722,7 +5544,7 @@ module.exports = allPass; /* 134 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); var equals = /*#__PURE__*/__webpack_require__(701); @@ -5920,7 +5742,277 @@ var test = /*#__PURE__*/_curry2(function test(pattern, str) { module.exports = test; /***/ }), -/* 141 */, +/* 141 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +var net = __webpack_require__(631); +var tls = __webpack_require__(16); +var http = __webpack_require__(605); +var https = __webpack_require__(211); +var events = __webpack_require__(614); +var assert = __webpack_require__(357); +var util = __webpack_require__(669); + + +exports.httpOverHttp = httpOverHttp; +exports.httpsOverHttp = httpsOverHttp; +exports.httpOverHttps = httpOverHttps; +exports.httpsOverHttps = httpsOverHttps; + + +function httpOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + return agent; +} + +function httpsOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + +function httpOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + return agent; +} + +function httpsOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + + +function TunnelingAgent(options) { + var self = this; + self.options = options || {}; + self.proxyOptions = self.options.proxy || {}; + self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; + self.requests = []; + self.sockets = []; + + self.on('free', function onFree(socket, host, port, localAddress) { + var options = toOptions(host, port, localAddress); + for (var i = 0, len = self.requests.length; i < len; ++i) { + var pending = self.requests[i]; + if (pending.host === options.host && pending.port === options.port) { + // Detect the request to connect same origin server, + // reuse the connection. + self.requests.splice(i, 1); + pending.request.onSocket(socket); + return; + } + } + socket.destroy(); + self.removeSocket(socket); + }); +} +util.inherits(TunnelingAgent, events.EventEmitter); + +TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { + var self = this; + var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress)); + + if (self.sockets.length >= this.maxSockets) { + // We are over limit so we'll add it to the queue. + self.requests.push(options); + return; + } + + // If we are under maxSockets create a new one. + self.createSocket(options, function(socket) { + socket.on('free', onFree); + socket.on('close', onCloseOrRemove); + socket.on('agentRemove', onCloseOrRemove); + req.onSocket(socket); + + function onFree() { + self.emit('free', socket, options); + } + + function onCloseOrRemove(err) { + self.removeSocket(socket); + socket.removeListener('free', onFree); + socket.removeListener('close', onCloseOrRemove); + socket.removeListener('agentRemove', onCloseOrRemove); + } + }); +}; + +TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { + var self = this; + var placeholder = {}; + self.sockets.push(placeholder); + + var connectOptions = mergeOptions({}, self.proxyOptions, { + method: 'CONNECT', + path: options.host + ':' + options.port, + agent: false, + headers: { + host: options.host + ':' + options.port + } + }); + if (options.localAddress) { + connectOptions.localAddress = options.localAddress; + } + if (connectOptions.proxyAuth) { + connectOptions.headers = connectOptions.headers || {}; + connectOptions.headers['Proxy-Authorization'] = 'Basic ' + + new Buffer(connectOptions.proxyAuth).toString('base64'); + } + + debug('making CONNECT request'); + var connectReq = self.request(connectOptions); + connectReq.useChunkedEncodingByDefault = false; // for v0.6 + connectReq.once('response', onResponse); // for v0.6 + connectReq.once('upgrade', onUpgrade); // for v0.6 + connectReq.once('connect', onConnect); // for v0.7 or later + connectReq.once('error', onError); + connectReq.end(); + + function onResponse(res) { + // Very hacky. This is necessary to avoid http-parser leaks. + res.upgrade = true; + } + + function onUpgrade(res, socket, head) { + // Hacky. + process.nextTick(function() { + onConnect(res, socket, head); + }); + } + + function onConnect(res, socket, head) { + connectReq.removeAllListeners(); + socket.removeAllListeners(); + + if (res.statusCode !== 200) { + debug('tunneling socket could not be established, statusCode=%d', + res.statusCode); + socket.destroy(); + var error = new Error('tunneling socket could not be established, ' + + 'statusCode=' + res.statusCode); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + if (head.length > 0) { + debug('got illegal response body from proxy'); + socket.destroy(); + var error = new Error('got illegal response body from proxy'); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + debug('tunneling connection has established'); + self.sockets[self.sockets.indexOf(placeholder)] = socket; + return cb(socket); + } + + function onError(cause) { + connectReq.removeAllListeners(); + + debug('tunneling socket could not be established, cause=%s\n', + cause.message, cause.stack); + var error = new Error('tunneling socket could not be established, ' + + 'cause=' + cause.message); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + } +}; + +TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { + var pos = this.sockets.indexOf(socket) + if (pos === -1) { + return; + } + this.sockets.splice(pos, 1); + + var pending = this.requests.shift(); + if (pending) { + // If we have pending requests and a socket gets closed a new one + // needs to be created to take over in the pool for the one that closed. + this.createSocket(pending, function(socket) { + pending.request.onSocket(socket); + }); + } +}; + +function createSecureSocket(options, cb) { + var self = this; + TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { + var hostHeader = options.request.getHeader('host'); + var tlsOptions = mergeOptions({}, self.options, { + socket: socket, + servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host + }); + + // 0 is dummy port for v0.6 + var secureSocket = tls.connect(0, tlsOptions); + self.sockets[self.sockets.indexOf(socket)] = secureSocket; + cb(secureSocket); + }); +} + + +function toOptions(host, port, localAddress) { + if (typeof host === 'string') { // since v0.10 + return { + host: host, + port: port, + localAddress: localAddress + }; + } + return host; // for v0.11 or later +} + +function mergeOptions(target) { + for (var i = 1, len = arguments.length; i < len; ++i) { + var overrides = arguments[i]; + if (typeof overrides === 'object') { + var keys = Object.keys(overrides); + for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { + var k = keys[j]; + if (overrides[k] !== undefined) { + target[k] = overrides[k]; + } + } + } + } + return target; +} + + +var debug; +if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { + debug = function() { + var args = Array.prototype.slice.call(arguments); + if (typeof args[0] === 'string') { + args[0] = 'TUNNEL: ' + args[0]; + } else { + args.unshift('TUNNEL:'); + } + console.error.apply(console, args); + } +} else { + debug = function() {}; +} +exports.debug = debug; // for test + + +/***/ }), /* 142 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -5957,123 +6049,138 @@ module.exports = endOfMonth /* 143 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) +"use strict"; -/** - * @category Second Helpers - * @summary Set the seconds to the given date. - * - * @description - * Set the seconds to the given date. - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} seconds - the seconds of the new date - * @returns {Date} the new date with the seconds setted - * - * @example - * // Set 45 seconds to 1 September 2014 11:30:40: - * var result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45) - * //=> Mon Sep 01 2014 11:30:45 - */ -function setSeconds (dirtyDate, dirtySeconds) { - var date = parse(dirtyDate) - var seconds = Number(dirtySeconds) - date.setSeconds(seconds) - return date +module.exports = function( + Promise, INTERNAL, tryConvertToPromise, apiRejection) { +var util = __webpack_require__(248); + +var raceLater = function (promise) { + return promise.then(function(array) { + return race(array, promise); + }); +}; + +function race(promises, parent) { + var maybePromise = tryConvertToPromise(promises); + + if (maybePromise instanceof Promise) { + return raceLater(maybePromise); + } else { + promises = util.asArray(promises); + if (promises === null) + return apiRejection("expecting an array or an iterable object but got " + util.classString(promises)); + } + + var ret = new Promise(INTERNAL); + if (parent !== undefined) { + ret._propagateFrom(parent, 3); + } + var fulfill = ret._fulfill; + var reject = ret._reject; + for (var i = 0, len = promises.length; i < len; ++i) { + var val = promises[i]; + + if (val === undefined && !(i in promises)) { + continue; + } + + Promise.cast(val)._then(fulfill, reject, undefined, ret, null); + } + return ret; } -module.exports = setSeconds +Promise.race = function (promises) { + return race(promises, undefined); +}; + +Promise.prototype.race = function () { + return race(this, undefined); +}; + +}; /***/ }), /* 144 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +var _cloneRegExp = /*#__PURE__*/__webpack_require__(480); + +var type = /*#__PURE__*/__webpack_require__(552); /** - * Returns `true` if the first argument is greater than or equal to the second; - * `false` otherwise. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig Ord a => a -> a -> Boolean - * @param {Number} a - * @param {Number} b - * @return {Boolean} - * @see R.lte - * @example + * Copies an object. * - * R.gte(2, 1); //=> true - * R.gte(2, 2); //=> true - * R.gte(2, 3); //=> false - * R.gte('a', 'z'); //=> false - * R.gte('z', 'a'); //=> true + * @private + * @param {*} value The value to be copied + * @param {Array} refFrom Array containing the source references + * @param {Array} refTo Array containing the copied source references + * @param {Boolean} deep Whether or not to perform deep cloning. + * @return {*} The copied value. */ -var gte = /*#__PURE__*/_curry2(function gte(a, b) { - return a >= b; -}); -module.exports = gte; +function _clone(value, refFrom, refTo, deep) { + var copy = function copy(copiedValue) { + var len = refFrom.length; + var idx = 0; + while (idx < len) { + if (value === refFrom[idx]) { + return refTo[idx]; + } + idx += 1; + } + refFrom[idx + 1] = value; + refTo[idx + 1] = copiedValue; + for (var key in value) { + copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key]; + } + return copiedValue; + }; + switch (type(value)) { + case 'Object': + return copy({}); + case 'Array': + return copy([]); + case 'Date': + return new Date(value.valueOf()); + case 'RegExp': + return _cloneRegExp(value); + default: + return value; + } +} +module.exports = _clone; /***/ }), /* 145 */ /***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; - -const pump = __webpack_require__(453); -const bufferStream = __webpack_require__(966); - -class MaxBufferError extends Error { - constructor() { - super('maxBuffer exceeded'); - this.name = 'MaxBufferError'; - } -} - -function getStream(inputStream, options) { - if (!inputStream) { - return Promise.reject(new Error('Expected a stream')); - } - - options = Object.assign({maxBuffer: Infinity}, options); - - const {maxBuffer} = options; - - let stream; - return new Promise((resolve, reject) => { - const rejectPromise = error => { - if (error) { // A null check - error.bufferedData = stream.getBufferedValue(); - } - reject(error); - }; - - stream = pump(inputStream, bufferStream(options), error => { - if (error) { - rejectPromise(error); - return; - } - - resolve(); - }); +var parse = __webpack_require__(751) - stream.on('data', () => { - if (stream.getBufferedLength() > maxBuffer) { - rejectPromise(new MaxBufferError()); - } - }); - }).then(() => stream.getBufferedValue()); +/** + * @category Weekday Helpers + * @summary Get the day of the week of the given date. + * + * @description + * Get the day of the week of the given date. + * + * @param {Date|String|Number} date - the given date + * @returns {Number} the day of week + * + * @example + * // Which day of the week is 29 February 2012? + * var result = getDay(new Date(2012, 1, 29)) + * //=> 3 + */ +function getDay (dirtyDate) { + var date = parse(dirtyDate) + var day = date.getDay() + return day } -module.exports = getStream; -module.exports.buffer = (stream, options) => getStream(stream, Object.assign({}, options, {encoding: 'buffer'})); -module.exports.array = (stream, options) => getStream(stream, Object.assign({}, options, {array: true})); -module.exports.MaxBufferError = MaxBufferError; +module.exports = getDay /***/ }), @@ -6119,334 +6226,350 @@ module.exports = hasIn; /* 147 */, /* 148 */, /* 149 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/***/ (function(module) { -const R = __webpack_require__(61); -const chalk = __webpack_require__(843); -const startTimeSpan = __webpack_require__(98); -const { distanceInWords } = __webpack_require__(684); +"use strict"; -const { - removeNewLines, - removeTabsAndSpaces, - removeEscapedCharacters -} = __webpack_require__(783); -const log = __webpack_require__(718); -const removeAllExtraCharacters = R.pipe( - removeNewLines, - removeTabsAndSpaces, - removeEscapedCharacters -); +var conversions = {}; +module.exports = conversions; -class GraphQLError extends Error { - constructor(errors, query, variables) { - super(JSON.stringify(errors)); - this.name = 'GraphQLError'; - this.query = removeAllExtraCharacters(query && query.query); - this.variables = variables; +function sign(x) { + return x < 0 ? -1 : 1; +} - if (Error.captureStackTrace) { - Error.captureStackTrace(this, GraphQLError); +function evenRound(x) { + // Round x to the nearest integer, choosing the even integer if it lies halfway between two. + if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor) + return Math.floor(x); + } else { + return Math.round(x); } - } } -const getQueryName = query => - R.path([1], query.match(/[query|mutation] \s*(\w+)/m)) || 'unknown name'; +function createNumberConversion(bitLength, typeOpts) { + if (!typeOpts.unsigned) { + --bitLength; + } + const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); + const upperBound = Math.pow(2, bitLength) - 1; -const QUERY_COST_THRESHOLD = 50; + const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); + const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); -const logQueryInfoAndRemainingLimits = ({ org, data, query, elapsedMs }) => { - if (!data || !data.rateLimit) return; + return function(V, opts) { + if (!opts) opts = {}; - const { remaining, cost, limit, resetAt } = data.rateLimit; - const nextResetAt = distanceInWords(new Date(), new Date(resetAt)); + let x = +V; - if (cost > QUERY_COST_THRESHOLD) { - log.warn( - // eslint-disable-next-line prefer-template - chalk`Expensive GraphQL query detected, cost={red ${cost}}, ` + - chalk`{white ${remaining}/${limit}} available per hour. ` + - `query="${query.slice(0, 200)}...", org=${org}` - ); - log.cyan(`Next reset in ${nextResetAt}`); - } + if (opts.enforceRange) { + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite number"); + } - const remainingPercent = Math.round((remaining / limit) * 100); + x = sign(x) * Math.floor(Math.abs(x)); + if (x < lowerBound || x > upperBound) { + throw new TypeError("Argument is not in byte range"); + } - if (remainingPercent < 10) { - log.warn( - `Less than 10% of Github GraphQL API limit remaining ` + - `${chalk`{red ${remaining}}/${limit} available per hour.`}` - ); - } - const queryName = getQueryName(query); + return x; + } - log.info( - `${chalk`{blue GraphQl query name=${queryName}} cost=${cost}, remaining=${remaining}, limit=${limit}, `}remainingPercent=${remainingPercent}, resetAt=${resetAt}, nextResetAt=${nextResetAt}, ` + - `githubOrg=${org}, elapsedMs=${elapsedMs}ms` - ); + if (!isNaN(x) && opts.clamp) { + x = evenRound(x); - if (queryName === 'unknown name') { - log.info( - `Query that does not have a name: query=${removeAllExtraCharacters( - query - )}` - ); - } -}; + if (x < lowerBound) x = lowerBound; + if (x > upperBound) x = upperBound; + return x; + } -const logMutationInfo = ({ org, mutation, elapsedMs }) => { - const mutationName = getQueryName(mutation); + if (!Number.isFinite(x) || x === 0) { + return 0; + } - log.info( - chalk`{blue GraphQl mutation name=${mutationName}}, githubOrg=${org}, elapsedMs=${elapsedMs}ms` - ); + x = sign(x) * Math.floor(Math.abs(x)); + x = x % moduloVal; - if (mutationName === 'unknown name') { - log.info( - `Query that does not have a name: query=${removeAllExtraCharacters( - mutation - )}` - ); - } + if (!typeOpts.unsigned && x >= moduloBound) { + return x - moduloVal; + } else if (typeOpts.unsigned) { + if (x < 0) { + x += moduloVal; + } else if (x === -0) { // don't return negative zero + return 0; + } + } + + return x; + } +} + +conversions["void"] = function () { + return undefined; }; -const graphql = (octokit, org, { operationType }) => async ( - query, - variables, - headers -) => { - // rate limit only works for queries - if (!query.query.includes('rateLimit') && operationType === 'query') { - log.warn( - 'Detected graphql query that does not include "rateLimit"' + - ' Every Github GraphQL query should include the following query: \n', - `rateLimit { - limit - cost - remaining - resetAt - }` - ); - } +conversions["boolean"] = function (val) { + return !!val; +}; - const endTimeSpan = startTimeSpan(); - const resp = await octokit.request({ - headers: { - accept: - // enable isDraft preview - 'application/vnd.github.shadow-cat-preview+json, ' + - // enable and mergeStateStatus - 'application/vnd.github.merge-info-preview+json, ' + - // enable Checks (Check Suites) - 'application/vnd.github.antiope-preview+json', - 'content-type': 'application/json', - ...headers - }, - method: 'POST', - url: '/graphql', +conversions["byte"] = createNumberConversion(8, { unsigned: false }); +conversions["octet"] = createNumberConversion(8, { unsigned: true }); - query: query.query, - variables: query.variables - }); +conversions["short"] = createNumberConversion(16, { unsigned: false }); +conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); - if (resp.status !== 200) { - log.warn(`Got non 200 HTTP status from GraphQL status=${resp.status}`); - } +conversions["long"] = createNumberConversion(32, { unsigned: false }); +conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); - const elapsedMs = Math.round(endTimeSpan()); - const { data, errors } = resp.data; - const cleanedUpQuery = removeAllExtraCharacters(query.query); +conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); +conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); - if (operationType === 'query') { - logQueryInfoAndRemainingLimits({ - org, - data, - query: cleanedUpQuery, - elapsedMs - }); - } else if (operationType === 'mutation') { - logMutationInfo({ org, mutation: cleanedUpQuery, elapsedMs }); - } +conversions["double"] = function (V) { + const x = +V; - if (errors) { - log.warn( - 'Graphql query returned some errors: ', - R.pipe(R.pluck('message'), R.uniq)(errors), - 'Total errors: ', - errors.length - ); - // it's "nomral" to have errors if data property is non empty - // those could be due to lack of permissions, but API would still retur - // partial results - if (!data) { - throw new GraphQLError(errors, cleanedUpQuery, variables); + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite floating-point value"); } - } - return data; + return x; }; -// eslint-disable-next-line no-unused-vars -function addGraphQL(octokit, org, user = '') { - octokit.query = graphql(octokit, org, { operationType: 'query' }); - octokit.mutation = graphql(octokit, org, { operationType: 'mutation' }); -} +conversions["unrestricted double"] = function (V) { + const x = +V; -module.exports = addGraphQL; + if (isNaN(x)) { + throw new TypeError("Argument is NaN"); + } + return x; +}; -/***/ }), -/* 150 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +// not quite valid, but good enough for JS +conversions["float"] = conversions["double"]; +conversions["unrestricted float"] = conversions["unrestricted double"]; -const conversions = __webpack_require__(177); -const route = __webpack_require__(987); +conversions["DOMString"] = function (V, opts) { + if (!opts) opts = {}; -const convert = {}; + if (opts.treatNullAsEmptyString && V === null) { + return ""; + } -const models = Object.keys(conversions); + return String(V); +}; -function wrapRaw(fn) { - const wrappedFn = function (...args) { - const arg0 = args[0]; - if (arg0 === undefined || arg0 === null) { - return arg0; - } +conversions["ByteString"] = function (V, opts) { + const x = String(V); + let c = undefined; + for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) { + if (c > 255) { + throw new TypeError("Argument is not a valid bytestring"); + } + } - if (arg0.length > 1) { - args = arg0; - } + return x; +}; - return fn(args); - }; +conversions["USVString"] = function (V) { + const S = String(V); + const n = S.length; + const U = []; + for (let i = 0; i < n; ++i) { + const c = S.charCodeAt(i); + if (c < 0xD800 || c > 0xDFFF) { + U.push(String.fromCodePoint(c)); + } else if (0xDC00 <= c && c <= 0xDFFF) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + if (i === n - 1) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + const d = S.charCodeAt(i + 1); + if (0xDC00 <= d && d <= 0xDFFF) { + const a = c & 0x3FF; + const b = d & 0x3FF; + U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); + ++i; + } else { + U.push(String.fromCodePoint(0xFFFD)); + } + } + } + } - // Preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } + return U.join(''); +}; - return wrappedFn; -} +conversions["Date"] = function (V, opts) { + if (!(V instanceof Date)) { + throw new TypeError("Argument is not a Date object"); + } + if (isNaN(V)) { + return undefined; + } -function wrapRounded(fn) { - const wrappedFn = function (...args) { - const arg0 = args[0]; + return V; +}; - if (arg0 === undefined || arg0 === null) { - return arg0; - } +conversions["RegExp"] = function (V, opts) { + if (!(V instanceof RegExp)) { + V = new RegExp(V); + } - if (arg0.length > 1) { - args = arg0; - } + return V; +}; - const result = fn(args); - // We're assuming the result is an array here. - // see notice in conversions.js; don't use box types - // in conversion functions. - if (typeof result === 'object') { - for (let len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } +/***/ }), +/* 150 */, +/* 151 */ +/***/ (function(module) { - return result; - }; +module.exports = [["a140","",62],["a180","",32],["a240","",62],["a280","",32],["a2ab","",5],["a2e3","€"],["a2ef",""],["a2fd",""],["a340","",62],["a380","",31," "],["a440","",62],["a480","",32],["a4f4","",10],["a540","",62],["a580","",32],["a5f7","",7],["a640","",62],["a680","",32],["a6b9","",7],["a6d9","",6],["a6ec",""],["a6f3",""],["a6f6","",8],["a740","",62],["a780","",32],["a7c2","",14],["a7f2","",12],["a896","",10],["a8bc","ḿ"],["a8bf","ǹ"],["a8c1",""],["a8ea","",20],["a958",""],["a95b",""],["a95d",""],["a989","〾⿰",11],["a997","",12],["a9f0","",14],["aaa1","",93],["aba1","",93],["aca1","",93],["ada1","",93],["aea1","",93],["afa1","",93],["d7fa","",4],["f8a1","",93],["f9a1","",93],["faa1","",93],["fba1","",93],["fca1","",93],["fda1","",93],["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"],["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93],["8135f437",""]]; - // Preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } +/***/ }), +/* 152 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { - return wrappedFn; -} +"use strict"; -models.forEach(fromModel => { - convert[fromModel] = {}; - Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); - Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); +Object.defineProperty(exports, '__esModule', { value: true }); - const routes = route(fromModel); - const routeModels = Object.keys(routes); +var universalUserAgent = __webpack_require__(796); +var beforeAfterHook = __webpack_require__(523); +var request = __webpack_require__(298); +var graphql = __webpack_require__(719); +var authToken = __webpack_require__(699); - routeModels.forEach(toModel => { - const fn = routes[toModel]; +const VERSION = "4.2.0"; - convert[fromModel][toModel] = wrapRounded(fn); - convert[fromModel][toModel].raw = wrapRaw(fn); - }); -}); +class Octokit { + constructor(options = {}) { + const hook = new beforeAfterHook.Collection(); + const requestDefaults = { + baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; // prepend default user agent with `options.userAgent` if set -module.exports = convert; + requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } -/***/ }), -/* 151 */ -/***/ (function(module) { + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } -var MILLISECONDS_IN_MINUTE = 60000 + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } -/** - * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds. - * They usually appear for dates that denote time before the timezones were introduced - * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891 - * and GMT+01:00:00 after that date) - * - * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above, - * which would lead to incorrect calculations. - * - * This function returns the timezone offset in milliseconds that takes seconds in account. - */ -module.exports = function getTimezoneOffsetInMilliseconds (dirtyDate) { - var date = new Date(dirtyDate.getTime()) - var baseTimezoneOffset = date.getTimezoneOffset() - date.setSeconds(0, 0) - var millisecondsPartOfTimezoneOffset = date.getTime() % MILLISECONDS_IN_MINUTE + this.request = request.request.defaults(requestDefaults); + this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => {}, + info: () => {}, + warn: console.warn.bind(console), + error: console.error.bind(console) + }, options.log); + this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. - return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset -} + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + // (2) + const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ + hook.wrap("request", auth.hook); + this.auth = auth; + } + } else { + const { + authStrategy, + ...otherOptions + } = options; + const auth = authStrategy(Object.assign({ + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ -/***/ }), -/* 152 */ -/***/ (function(module) { + hook.wrap("request", auth.hook); + this.auth = auth; + } // apply plugins + // https://stackoverflow.com/a/16345172 -"use strict"; -module.exports = function(Promise, INTERNAL) { -var PromiseReduce = Promise.reduce; -var PromiseAll = Promise.all; + const classConstructor = this.constructor; + classConstructor.plugins.forEach(plugin => { + Object.assign(this, plugin(this, options)); + }); + } -function promiseAllThis() { - return PromiseAll(this); -} + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; -function PromiseMapSeries(promises, fn) { - return PromiseReduce(promises, fn, INTERNAL, INTERNAL); -} + if (typeof defaults === "function") { + super(defaults(options)); + return; + } -Promise.prototype.each = function (fn) { - return PromiseReduce(this, fn, INTERNAL, 0) - ._then(promiseAllThis, undefined, undefined, this, undefined); -}; + super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null)); + } -Promise.prototype.mapSeries = function (fn) { - return PromiseReduce(this, fn, INTERNAL, INTERNAL); -}; + }; + return OctokitWithDefaults; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ -Promise.each = function (promises, fn) { - return PromiseReduce(promises, fn, INTERNAL, 0) - ._then(promiseAllThis, undefined, undefined, promises, undefined); -}; -Promise.mapSeries = PromiseMapSeries; -}; + static plugin(...newPlugins) { + var _a; + + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); + return NewOctokit; + } +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; + +exports.Octokit = Octokit; +//# sourceMappingURL=index.js.map /***/ }), @@ -6659,7 +6782,111 @@ module.exports = distanceInWords /***/ }), -/* 154 */, +/* 154 */ +/***/ (function(module) { + +function buildDistanceInWordsLocale () { + var distanceInWordsLocale = { + lessThanXSeconds: { + one: 'less than a second', + other: 'less than {{count}} seconds' + }, + + xSeconds: { + one: '1 second', + other: '{{count}} seconds' + }, + + halfAMinute: 'half a minute', + + lessThanXMinutes: { + one: 'less than a minute', + other: 'less than {{count}} minutes' + }, + + xMinutes: { + one: '1 minute', + other: '{{count}} minutes' + }, + + aboutXHours: { + one: 'about 1 hour', + other: 'about {{count}} hours' + }, + + xHours: { + one: '1 hour', + other: '{{count}} hours' + }, + + xDays: { + one: '1 day', + other: '{{count}} days' + }, + + aboutXMonths: { + one: 'about 1 month', + other: 'about {{count}} months' + }, + + xMonths: { + one: '1 month', + other: '{{count}} months' + }, + + aboutXYears: { + one: 'about 1 year', + other: 'about {{count}} years' + }, + + xYears: { + one: '1 year', + other: '{{count}} years' + }, + + overXYears: { + one: 'over 1 year', + other: 'over {{count}} years' + }, + + almostXYears: { + one: 'almost 1 year', + other: 'almost {{count}} years' + } + } + + function localize (token, count, options) { + options = options || {} + + var result + if (typeof distanceInWordsLocale[token] === 'string') { + result = distanceInWordsLocale[token] + } else if (count === 1) { + result = distanceInWordsLocale[token].one + } else { + result = distanceInWordsLocale[token].other.replace('{{count}}', count) + } + + if (options.addSuffix) { + if (options.comparison > 0) { + return 'in ' + result + } else { + return result + ' ago' + } + } + + return result + } + + return { + localize: localize + } +} + +module.exports = buildDistanceInWordsLocale + + +/***/ }), /* 155 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -6939,43 +7166,54 @@ module.exports = _Set; /* 162 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +var composeK = /*#__PURE__*/__webpack_require__(441); + +var reverse = /*#__PURE__*/__webpack_require__(528); /** - * Acts as multiple `prop`: array of keys in, array of values out. Preserves - * order. + * Returns the left-to-right Kleisli composition of the provided functions, + * each of which must return a value of a type supported by [`chain`](#chain). + * + * `R.pipeK(f, g, h)` is equivalent to `R.pipe(f, R.chain(g), R.chain(h))`. * * @func * @memberOf R - * @since v0.1.0 - * @category Object - * @sig [k] -> {k: v} -> [v] - * @param {Array} ps The property names to fetch - * @param {Object} obj The object to query - * @return {Array} The corresponding values or partially applied function. + * @since v0.16.0 + * @category Function + * @sig Chain m => ((a -> m b), (b -> m c), ..., (y -> m z)) -> (a -> m z) + * @param {...Function} + * @return {Function} + * @see R.composeK + * @deprecated since v0.26.0 * @example * - * R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2] - * R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2] + * // parseJson :: String -> Maybe * + * // get :: String -> Object -> Maybe * * - * const fullName = R.compose(R.join(' '), R.props(['first', 'last'])); - * fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth' + * // getStateCode :: Maybe String -> Maybe String + * const getStateCode = R.pipeK( + * parseJson, + * get('user'), + * get('address'), + * get('state'), + * R.compose(Maybe.of, R.toUpper) + * ); + * + * getStateCode('{"user":{"address":{"state":"ny"}}}'); + * //=> Just('NY') + * getStateCode('[Invalid JSON]'); + * //=> Nothing() + * @symb R.pipeK(f, g, h)(a) = R.chain(h, R.chain(g, f(a))) */ -var props = /*#__PURE__*/_curry2(function props(ps, obj) { - var len = ps.length; - var out = []; - var idx = 0; - - while (idx < len) { - out[idx] = obj[ps[idx]]; - idx += 1; +function pipeK() { + if (arguments.length === 0) { + throw new Error('pipeK requires at least one argument'); } - - return out; -}); -module.exports = props; + return composeK.apply(this, reverse(arguments)); +} +module.exports = pipeK; /***/ }), /* 163 */ @@ -6983,7 +7221,7 @@ module.exports = props; var _concat = /*#__PURE__*/__webpack_require__(340); -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); var uniqWith = /*#__PURE__*/__webpack_require__(780); @@ -7045,7 +7283,60 @@ module.exports = getDaysInYear /***/ }), -/* 165 */, +/* 165 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +/** + * Takes a list and returns a list of lists where each sublist's elements are + * all satisfied pairwise comparison according to the provided function. + * Only adjacent elements are passed to the comparison function. + * + * @func + * @memberOf R + * @since v0.21.0 + * @category List + * @sig ((a, a) → Boolean) → [a] → [[a]] + * @param {Function} fn Function for determining whether two given (adjacent) + * elements should be in the same group + * @param {Array} list The array to group. Also accepts a string, which will be + * treated as a list of characters. + * @return {List} A list that contains sublists of elements, + * whose concatenations are equal to the original list. + * @example + * + * R.groupWith(R.equals, [0, 1, 1, 2, 3, 5, 8, 13, 21]) + * //=> [[0], [1, 1], [2], [3], [5], [8], [13], [21]] + * + * R.groupWith((a, b) => a + 1 === b, [0, 1, 1, 2, 3, 5, 8, 13, 21]) + * //=> [[0, 1], [1, 2, 3], [5], [8], [13], [21]] + * + * R.groupWith((a, b) => a % 2 === b % 2, [0, 1, 1, 2, 3, 5, 8, 13, 21]) + * //=> [[0], [1, 1], [2], [3, 5], [8], [13, 21]] + * + * R.groupWith(R.eqBy(isVowel), 'aestiou') + * //=> ['ae', 'st', 'iou'] + */ + + +var groupWith = /*#__PURE__*/_curry2(function (fn, list) { + var res = []; + var idx = 0; + var len = list.length; + while (idx < len) { + var nextidx = idx + 1; + while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) { + nextidx += 1; + } + res.push(list.slice(idx, nextidx)); + idx = nextidx; + } + return res; +}); +module.exports = groupWith; + +/***/ }), /* 166 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -7066,7 +7357,7 @@ module.exports = _createPartialApplicator; /* 167 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); var pathOr = /*#__PURE__*/__webpack_require__(25); @@ -7105,58 +7396,43 @@ module.exports = propOr; /***/ }), /* 168 */ -/***/ (function(module) { - -"use strict"; - -const alias = ['stdin', 'stdout', 'stderr']; - -const hasAlias = opts => alias.some(x => Boolean(opts[x])); - -module.exports = opts => { - if (!opts) { - return null; - } - - if (opts.stdio && hasAlias(opts)) { - throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${alias.map(x => `\`${x}\``).join(', ')}`); - } - - if (typeof opts.stdio === 'string') { - return opts.stdio; - } - - const stdio = opts.stdio || []; - - if (!Array.isArray(stdio)) { - throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``); - } +/***/ (function(module, __unusedexports, __webpack_require__) { - const result = []; - const len = Math.max(stdio.length, alias.length); +var startOfDay = __webpack_require__(68) - for (let i = 0; i < len; i++) { - let value = null; +/** + * @category Day Helpers + * @summary Is the given date today? + * + * @description + * Is the given date today? + * + * @param {Date|String|Number} date - the date to check + * @returns {Boolean} the date is today + * + * @example + * // If today is 6 October 2014, is 6 October 14:00:00 today? + * var result = isToday(new Date(2014, 9, 6, 14, 0)) + * //=> true + */ +function isToday (dirtyDate) { + return startOfDay(dirtyDate).getTime() === startOfDay(new Date()).getTime() +} - if (stdio[i] !== undefined) { - value = stdio[i]; - } else if (opts[alias[i]] !== undefined) { - value = opts[alias[i]]; - } +module.exports = isToday - result[i] = value; - } - return result; -}; +/***/ }), +/* 169 */ +/***/ (function(module) { +module.exports = [["0","\u0000",127,"€"],["8140","丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",5,"乲乴",9,"乿",6,"亇亊"],["8180","亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂",6,"伋伌伒",4,"伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾",4,"佄佅佇",5,"佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢"],["8240","侤侫侭侰",4,"侶",8,"俀俁係俆俇俈俉俋俌俍俒",4,"俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿",11],["8280","個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯",10,"倻倽倿偀偁偂偄偅偆偉偊偋偍偐",4,"偖偗偘偙偛偝",7,"偦",5,"偭",8,"偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎",20,"傤傦傪傫傭",4,"傳",6,"傼"],["8340","傽",17,"僐",5,"僗僘僙僛",10,"僨僩僪僫僯僰僱僲僴僶",4,"僼",9,"儈"],["8380","儉儊儌",5,"儓",13,"儢",28,"兂兇兊兌兎兏児兒兓兗兘兙兛兝",4,"兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦",4,"冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒",5],["8440","凘凙凚凜凞凟凢凣凥",5,"凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄",5,"剋剎剏剒剓剕剗剘"],["8480","剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳",9,"剾劀劃",4,"劉",6,"劑劒劔",6,"劜劤劥劦劧劮劯劰労",9,"勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務",5,"勠勡勢勣勥",10,"勱",7,"勻勼勽匁匂匃匄匇匉匊匋匌匎"],["8540","匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯",9,"匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏"],["8580","厐",4,"厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯",6,"厷厸厹厺厼厽厾叀參",4,"収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝",4,"呣呥呧呩",7,"呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡"],["8640","咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠",4,"哫哬哯哰哱哴",5,"哻哾唀唂唃唄唅唈唊",4,"唒唓唕",5,"唜唝唞唟唡唥唦"],["8680","唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋",4,"啑啒啓啔啗",4,"啝啞啟啠啢啣啨啩啫啯",5,"啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠",6,"喨",8,"喲喴営喸喺喼喿",4,"嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗",4,"嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸",4,"嗿嘂嘃嘄嘅"],["8740","嘆嘇嘊嘋嘍嘐",7,"嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀",11,"噏",4,"噕噖噚噛噝",4],["8780","噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽",7,"嚇",6,"嚐嚑嚒嚔",14,"嚤",10,"嚰",6,"嚸嚹嚺嚻嚽",12,"囋",8,"囕囖囘囙囜団囥",5,"囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國",6],["8840","園",9,"圝圞圠圡圢圤圥圦圧圫圱圲圴",4,"圼圽圿坁坃坄坅坆坈坉坋坒",4,"坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀"],["8880","垁垇垈垉垊垍",4,"垔",6,"垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹",8,"埄",6,"埌埍埐埑埓埖埗埛埜埞埡埢埣埥",7,"埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥",4,"堫",4,"報堲堳場堶",7],["8940","堾",5,"塅",6,"塎塏塐塒塓塕塖塗塙",4,"塟",5,"塦",4,"塭",16,"塿墂墄墆墇墈墊墋墌"],["8980","墍",4,"墔",4,"墛墜墝墠",7,"墪",17,"墽墾墿壀壂壃壄壆",10,"壒壓壔壖",13,"壥",5,"壭壯壱売壴壵壷壸壺",7,"夃夅夆夈",4,"夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻"],["8a40","夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛",4,"奡奣奤奦",12,"奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦"],["8a80","妧妬妭妰妱妳",5,"妺妼妽妿",6,"姇姈姉姌姍姎姏姕姖姙姛姞",4,"姤姦姧姩姪姫姭",11,"姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪",6,"娳娵娷",4,"娽娾娿婁",4,"婇婈婋",9,"婖婗婘婙婛",5],["8b40","婡婣婤婥婦婨婩婫",8,"婸婹婻婼婽婾媀",17,"媓",6,"媜",13,"媫媬"],["8b80","媭",4,"媴媶媷媹",4,"媿嫀嫃",5,"嫊嫋嫍",4,"嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬",4,"嫲",22,"嬊",11,"嬘",25,"嬳嬵嬶嬸",7,"孁",6],["8c40","孈",7,"孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏"],["8c80","寑寔",8,"寠寢寣實寧審",4,"寯寱",6,"寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧",6,"屰屲",6,"屻屼屽屾岀岃",4,"岉岊岋岎岏岒岓岕岝",4,"岤",4],["8d40","岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅",5,"峌",5,"峓",5,"峚",6,"峢峣峧峩峫峬峮峯峱",9,"峼",4],["8d80","崁崄崅崈",5,"崏",4,"崕崗崘崙崚崜崝崟",4,"崥崨崪崫崬崯",4,"崵",7,"崿",7,"嵈嵉嵍",10,"嵙嵚嵜嵞",10,"嵪嵭嵮嵰嵱嵲嵳嵵",12,"嶃",21,"嶚嶛嶜嶞嶟嶠"],["8e40","嶡",21,"嶸",12,"巆",6,"巎",12,"巜巟巠巣巤巪巬巭"],["8e80","巰巵巶巸",4,"巿帀帄帇帉帊帋帍帎帒帓帗帞",7,"帨",4,"帯帰帲",4,"帹帺帾帿幀幁幃幆",5,"幍",6,"幖",4,"幜幝幟幠幣",14,"幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨",4,"庮",4,"庴庺庻庼庽庿",6],["8f40","廆廇廈廋",5,"廔廕廗廘廙廚廜",11,"廩廫",8,"廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤"],["8f80","弨弫弬弮弰弲",6,"弻弽弾弿彁",14,"彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢",5,"復徫徬徯",5,"徶徸徹徺徻徾",4,"忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇"],["9040","怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰",4,"怶",4,"怽怾恀恄",6,"恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀"],["9080","悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽",7,"惇惈惉惌",4,"惒惓惔惖惗惙惛惞惡",4,"惪惱惲惵惷惸惻",4,"愂愃愄愅愇愊愋愌愐",4,"愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬",18,"慀",6],["9140","慇慉態慍慏慐慒慓慔慖",6,"慞慟慠慡慣慤慥慦慩",6,"慱慲慳慴慶慸",18,"憌憍憏",4,"憕"],["9180","憖",6,"憞",8,"憪憫憭",9,"憸",5,"憿懀懁懃",4,"應懌",4,"懓懕",16,"懧",13,"懶",8,"戀",5,"戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸",4,"扂扄扅扆扊"],["9240","扏扐払扖扗扙扚扜",6,"扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋",5,"抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁"],["9280","拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳",5,"挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖",7,"捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙",6,"採掤掦掫掯掱掲掵掶掹掻掽掿揀"],["9340","揁揂揃揅揇揈揊揋揌揑揓揔揕揗",6,"揟揢揤",4,"揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆",4,"損搎搑搒搕",5,"搝搟搢搣搤"],["9380","搥搧搨搩搫搮",5,"搵",4,"搻搼搾摀摂摃摉摋",6,"摓摕摖摗摙",4,"摟",7,"摨摪摫摬摮",9,"摻",6,"撃撆撈",8,"撓撔撗撘撚撛撜撝撟",4,"撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆",6,"擏擑擓擔擕擖擙據"],["9440","擛擜擝擟擠擡擣擥擧",24,"攁",7,"攊",7,"攓",4,"攙",8],["9480","攢攣攤攦",4,"攬攭攰攱攲攳攷攺攼攽敀",4,"敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數",14,"斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱",7,"斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘",7,"旡旣旤旪旫"],["9540","旲旳旴旵旸旹旻",4,"昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷",4,"昽昿晀時晄",6,"晍晎晐晑晘"],["9580","晙晛晜晝晞晠晢晣晥晧晩",4,"晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘",4,"暞",8,"暩",4,"暯",4,"暵暶暷暸暺暻暼暽暿",25,"曚曞",7,"曧曨曪",5,"曱曵曶書曺曻曽朁朂會"],["9640","朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠",5,"朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗",4,"杝杢杣杤杦杧杫杬杮東杴杶"],["9680","杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹",7,"柂柅",9,"柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵",7,"柾栁栂栃栄栆栍栐栒栔栕栘",4,"栞栟栠栢",6,"栫",6,"栴栵栶栺栻栿桇桋桍桏桒桖",5],["9740","桜桝桞桟桪桬",7,"桵桸",8,"梂梄梇",7,"梐梑梒梔梕梖梘",9,"梣梤梥梩梪梫梬梮梱梲梴梶梷梸"],["9780","梹",6,"棁棃",5,"棊棌棎棏棐棑棓棔棖棗棙棛",4,"棡棢棤",9,"棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆",4,"椌椏椑椓",11,"椡椢椣椥",7,"椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃",16,"楕楖楘楙楛楜楟"],["9840","楡楢楤楥楧楨楩楪楬業楯楰楲",4,"楺楻楽楾楿榁榃榅榊榋榌榎",5,"榖榗榙榚榝",9,"榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽"],["9880","榾榿槀槂",7,"構槍槏槑槒槓槕",5,"槜槝槞槡",11,"槮槯槰槱槳",9,"槾樀",9,"樋",11,"標",5,"樠樢",5,"権樫樬樭樮樰樲樳樴樶",6,"樿",4,"橅橆橈",7,"橑",6,"橚"],["9940","橜",4,"橢橣橤橦",10,"橲",6,"橺橻橽橾橿檁檂檃檅",8,"檏檒",4,"檘",7,"檡",5],["9980","檧檨檪檭",114,"欥欦欨",6],["9a40","欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍",11,"歚",7,"歨歩歫",13,"歺歽歾歿殀殅殈"],["9a80","殌殎殏殐殑殔殕殗殘殙殜",4,"殢",7,"殫",7,"殶殸",6,"毀毃毄毆",4,"毌毎毐毑毘毚毜",4,"毢",7,"毬毭毮毰毱毲毴毶毷毸毺毻毼毾",6,"氈",4,"氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋",4,"汑汒汓汖汘"],["9b40","汙汚汢汣汥汦汧汫",4,"汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘"],["9b80","泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟",5,"洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽",4,"涃涄涆涇涊涋涍涏涐涒涖",4,"涜涢涥涬涭涰涱涳涴涶涷涹",5,"淁淂淃淈淉淊"],["9c40","淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽",7,"渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵"],["9c80","渶渷渹渻",7,"湅",7,"湏湐湑湒湕湗湙湚湜湝湞湠",10,"湬湭湯",14,"満溁溂溄溇溈溊",4,"溑",6,"溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪",5],["9d40","滰滱滲滳滵滶滷滸滺",7,"漃漄漅漇漈漊",4,"漐漑漒漖",9,"漡漢漣漥漦漧漨漬漮漰漲漴漵漷",6,"漿潀潁潂"],["9d80","潃潄潅潈潉潊潌潎",9,"潙潚潛潝潟潠潡潣潤潥潧",5,"潯潰潱潳潵潶潷潹潻潽",6,"澅澆澇澊澋澏",12,"澝澞澟澠澢",4,"澨",10,"澴澵澷澸澺",5,"濁濃",5,"濊",6,"濓",10,"濟濢濣濤濥"],["9e40","濦",7,"濰",32,"瀒",7,"瀜",6,"瀤",6],["9e80","瀫",9,"瀶瀷瀸瀺",17,"灍灎灐",13,"灟",11,"灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞",12,"炰炲炴炵炶為炾炿烄烅烆烇烉烋",12,"烚"],["9f40","烜烝烞烠烡烢烣烥烪烮烰",6,"烸烺烻烼烾",10,"焋",4,"焑焒焔焗焛",10,"焧",7,"焲焳焴"],["9f80","焵焷",13,"煆煇煈煉煋煍煏",12,"煝煟",4,"煥煩",4,"煯煰煱煴煵煶煷煹煻煼煾",5,"熅",4,"熋熌熍熎熐熑熒熓熕熖熗熚",4,"熡",6,"熩熪熫熭",5,"熴熶熷熸熺",8,"燄",9,"燏",4],["a040","燖",9,"燡燢燣燤燦燨",5,"燯",9,"燺",11,"爇",19],["a080","爛爜爞",9,"爩爫爭爮爯爲爳爴爺爼爾牀",6,"牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅",4,"犌犎犐犑犓",11,"犠",11,"犮犱犲犳犵犺",6,"狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛"],["a1a1"," 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈",7,"〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓"],["a2a1","ⅰ",9],["a2b1","⒈",19,"⑴",19,"①",9],["a2e5","㈠",9],["a2f1","Ⅰ",11],["a3a1","!"#¥%",88," ̄"],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a6e0","︵︶︹︺︿﹀︽︾﹁﹂﹃﹄"],["a6ee","︻︼︷︸︱"],["a6f4","︳︴"],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a840","ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═",35,"▁",6],["a880","█",7,"▓▔▕▼▽◢◣◤◥☉⊕〒〝〞"],["a8a1","āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ"],["a8bd","ńň"],["a8c0","ɡ"],["a8c5","ㄅ",36],["a940","〡",8,"㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦"],["a959","℡㈱"],["a95c","‐"],["a960","ー゛゜ヽヾ〆ゝゞ﹉",9,"﹔﹕﹖﹗﹙",8],["a980","﹢",4,"﹨﹩﹪﹫"],["a996","〇"],["a9a4","─",75],["aa40","狜狝狟狢",5,"狪狫狵狶狹狽狾狿猀猂猄",5,"猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀",8],["aa80","獉獊獋獌獎獏獑獓獔獕獖獘",7,"獡",10,"獮獰獱"],["ab40","獲",11,"獿",4,"玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣",5,"玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃",4],["ab80","珋珌珎珒",6,"珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳",4],["ac40","珸",10,"琄琇琈琋琌琍琎琑",8,"琜",5,"琣琤琧琩琫琭琯琱琲琷",4,"琽琾琿瑀瑂",11],["ac80","瑎",6,"瑖瑘瑝瑠",12,"瑮瑯瑱",4,"瑸瑹瑺"],["ad40","瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑",10,"璝璟",7,"璪",15,"璻",12],["ad80","瓈",9,"瓓",8,"瓝瓟瓡瓥瓧",6,"瓰瓱瓲"],["ae40","瓳瓵瓸",6,"甀甁甂甃甅",7,"甎甐甒甔甕甖甗甛甝甞甠",4,"甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘"],["ae80","畝",7,"畧畨畩畫",6,"畳畵當畷畺",4,"疀疁疂疄疅疇"],["af40","疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦",4,"疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇"],["af80","瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄"],["b040","癅",6,"癎",5,"癕癗",4,"癝癟癠癡癢癤",6,"癬癭癮癰",7,"癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛"],["b080","皜",7,"皥",8,"皯皰皳皵",9,"盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥"],["b140","盄盇盉盋盌盓盕盙盚盜盝盞盠",4,"盦",7,"盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎",10,"眛眜眝眞眡眣眤眥眧眪眫"],["b180","眬眮眰",4,"眹眻眽眾眿睂睄睅睆睈",7,"睒",7,"睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳"],["b240","睝睞睟睠睤睧睩睪睭",11,"睺睻睼瞁瞂瞃瞆",5,"瞏瞐瞓",11,"瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶",4],["b280","瞼瞾矀",12,"矎",8,"矘矙矚矝",4,"矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖"],["b340","矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃",5,"砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚"],["b380","硛硜硞",11,"硯",7,"硸硹硺硻硽",6,"场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚"],["b440","碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨",7,"碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚",9],["b480","磤磥磦磧磩磪磫磭",4,"磳磵磶磸磹磻",5,"礂礃礄礆",6,"础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮"],["b540","礍",5,"礔",9,"礟",4,"礥",14,"礵",4,"礽礿祂祃祄祅祇祊",8,"祔祕祘祙祡祣"],["b580","祤祦祩祪祫祬祮祰",6,"祹祻",4,"禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠"],["b640","禓",6,"禛",11,"禨",10,"禴",4,"禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙",5,"秠秡秢秥秨秪"],["b680","秬秮秱",6,"秹秺秼秾秿稁稄稅稇稈稉稊稌稏",4,"稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二"],["b740","稝稟稡稢稤",14,"稴稵稶稸稺稾穀",5,"穇",9,"穒",4,"穘",16],["b780","穩",6,"穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服"],["b840","窣窤窧窩窪窫窮",4,"窴",10,"竀",10,"竌",9,"竗竘竚竛竜竝竡竢竤竧",5,"竮竰竱竲竳"],["b880","竴",4,"竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹"],["b940","笯笰笲笴笵笶笷笹笻笽笿",5,"筆筈筊筍筎筓筕筗筙筜筞筟筡筣",10,"筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆",6,"箎箏"],["b980","箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹",7,"篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈"],["ba40","篅篈築篊篋篍篎篏篐篒篔",4,"篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲",4,"篸篹篺篻篽篿",7,"簈簉簊簍簎簐",5,"簗簘簙"],["ba80","簚",4,"簠",5,"簨簩簫",12,"簹",5,"籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖"],["bb40","籃",9,"籎",36,"籵",5,"籾",9],["bb80","粈粊",6,"粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴",4,"粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕"],["bc40","粿糀糂糃糄糆糉糋糎",6,"糘糚糛糝糞糡",6,"糩",5,"糰",7,"糹糺糼",13,"紋",5],["bc80","紑",14,"紡紣紤紥紦紨紩紪紬紭紮細",6,"肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件"],["bd40","紷",54,"絯",7],["bd80","絸",32,"健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸"],["be40","継",12,"綧",6,"綯",42],["be80","線",32,"尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻"],["bf40","緻",62],["bf80","縺縼",4,"繂",4,"繈",21,"俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀"],["c040","繞",35,"纃",23,"纜纝纞"],["c080","纮纴纻纼绖绤绬绹缊缐缞缷缹缻",6,"罃罆",9,"罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐"],["c140","罖罙罛罜罝罞罠罣",4,"罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂",7,"羋羍羏",4,"羕",4,"羛羜羠羢羣羥羦羨",6,"羱"],["c180","羳",4,"羺羻羾翀翂翃翄翆翇翈翉翋翍翏",4,"翖翗翙",5,"翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿"],["c240","翤翧翨翪翫翬翭翯翲翴",6,"翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫",5,"耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗"],["c280","聙聛",13,"聫",5,"聲",11,"隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫"],["c340","聾肁肂肅肈肊肍",5,"肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇",4,"胏",6,"胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋"],["c380","脌脕脗脙脛脜脝脟",12,"脭脮脰脳脴脵脷脹",4,"脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸"],["c440","腀",5,"腇腉腍腎腏腒腖腗腘腛",4,"腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃",4,"膉膋膌膍膎膐膒",5,"膙膚膞",4,"膤膥"],["c480","膧膩膫",7,"膴",5,"膼膽膾膿臄臅臇臈臉臋臍",6,"摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁"],["c540","臔",14,"臤臥臦臨臩臫臮",4,"臵",5,"臽臿舃與",4,"舎舏舑舓舕",5,"舝舠舤舥舦舧舩舮舲舺舼舽舿"],["c580","艀艁艂艃艅艆艈艊艌艍艎艐",7,"艙艛艜艝艞艠",7,"艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗"],["c640","艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸"],["c680","苺苼",4,"茊茋茍茐茒茓茖茘茙茝",9,"茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐"],["c740","茾茿荁荂荄荅荈荊",4,"荓荕",4,"荝荢荰",6,"荹荺荾",6,"莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡",6,"莬莭莮"],["c780","莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠"],["c840","菮華菳",4,"菺菻菼菾菿萀萂萅萇萈萉萊萐萒",5,"萙萚萛萞",5,"萩",7,"萲",5,"萹萺萻萾",7,"葇葈葉"],["c880","葊",6,"葒",4,"葘葝葞葟葠葢葤",4,"葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁"],["c940","葽",4,"蒃蒄蒅蒆蒊蒍蒏",7,"蒘蒚蒛蒝蒞蒟蒠蒢",12,"蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗"],["c980","蓘",4,"蓞蓡蓢蓤蓧",4,"蓭蓮蓯蓱",10,"蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳"],["ca40","蔃",8,"蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢",8,"蔭",9,"蔾",4,"蕄蕅蕆蕇蕋",10],["ca80","蕗蕘蕚蕛蕜蕝蕟",4,"蕥蕦蕧蕩",8,"蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱"],["cb40","薂薃薆薈",6,"薐",10,"薝",6,"薥薦薧薩薫薬薭薱",5,"薸薺",6,"藂",6,"藊",4,"藑藒"],["cb80","藔藖",5,"藝",6,"藥藦藧藨藪",14,"恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔"],["cc40","藹藺藼藽藾蘀",4,"蘆",10,"蘒蘓蘔蘕蘗",15,"蘨蘪",13,"蘹蘺蘻蘽蘾蘿虀"],["cc80","虁",11,"虒虓處",4,"虛虜虝號虠虡虣",7,"獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃"],["cd40","虭虯虰虲",6,"蚃",6,"蚎",4,"蚔蚖",5,"蚞",4,"蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻",4,"蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜"],["cd80","蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威"],["ce40","蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀",6,"蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚",5,"蝡蝢蝦",7,"蝯蝱蝲蝳蝵"],["ce80","蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎",4,"螔螕螖螘",6,"螠",4,"巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺"],["cf40","螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁",4,"蟇蟈蟉蟌",4,"蟔",6,"蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯",9],["cf80","蟺蟻蟼蟽蟿蠀蠁蠂蠄",5,"蠋",7,"蠔蠗蠘蠙蠚蠜",4,"蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓"],["d040","蠤",13,"蠳",5,"蠺蠻蠽蠾蠿衁衂衃衆",5,"衎",5,"衕衖衘衚",6,"衦衧衪衭衯衱衳衴衵衶衸衹衺"],["d080","衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗",4,"袝",4,"袣袥",5,"小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄"],["d140","袬袮袯袰袲",4,"袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚",4,"裠裡裦裧裩",6,"裲裵裶裷裺裻製裿褀褁褃",5],["d180","褉褋",4,"褑褔",4,"褜",4,"褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶"],["d240","褸",8,"襂襃襅",24,"襠",5,"襧",19,"襼"],["d280","襽襾覀覂覄覅覇",26,"摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐"],["d340","覢",30,"觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴",6],["d380","觻",4,"訁",5,"計",21,"印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉"],["d440","訞",31,"訿",8,"詉",21],["d480","詟",25,"詺",6,"浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧"],["d540","誁",7,"誋",7,"誔",46],["d580","諃",32,"铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政"],["d640","諤",34,"謈",27],["d680","謤謥謧",30,"帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑"],["d740","譆",31,"譧",4,"譭",25],["d780","讇",24,"讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座"],["d840","谸",8,"豂豃豄豅豈豊豋豍",7,"豖豗豘豙豛",5,"豣",6,"豬",6,"豴豵豶豷豻",6,"貃貄貆貇"],["d880","貈貋貍",6,"貕貖貗貙",20,"亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝"],["d940","貮",62],["d980","賭",32,"佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼"],["da40","贎",14,"贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸",8,"趂趃趆趇趈趉趌",4,"趒趓趕",9,"趠趡"],["da80","趢趤",12,"趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺"],["db40","跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾",6,"踆踇踈踋踍踎踐踑踒踓踕",7,"踠踡踤",4,"踫踭踰踲踳踴踶踷踸踻踼踾"],["db80","踿蹃蹅蹆蹌",4,"蹓",5,"蹚",11,"蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝"],["dc40","蹳蹵蹷",4,"蹽蹾躀躂躃躄躆躈",6,"躑躒躓躕",6,"躝躟",11,"躭躮躰躱躳",6,"躻",7],["dc80","軃",10,"軏",21,"堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥"],["dd40","軥",62],["dd80","輤",32,"荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺"],["de40","轅",32,"轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆"],["de80","迉",4,"迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖"],["df40","這逜連逤逥逧",5,"逰",4,"逷逹逺逽逿遀遃遅遆遈",4,"過達違遖遙遚遜",5,"遤遦遧適遪遫遬遯",4,"遶",6,"遾邁"],["df80","還邅邆邇邉邊邌",4,"邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼"],["e040","郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅",19,"鄚鄛鄜"],["e080","鄝鄟鄠鄡鄤",10,"鄰鄲",6,"鄺",8,"酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼"],["e140","酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀",4,"醆醈醊醎醏醓",6,"醜",5,"醤",5,"醫醬醰醱醲醳醶醷醸醹醻"],["e180","醼",10,"釈釋釐釒",9,"針",8,"帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺"],["e240","釦",62],["e280","鈥",32,"狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧",5,"饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂"],["e340","鉆",45,"鉵",16],["e380","銆",7,"銏",24,"恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾"],["e440","銨",5,"銯",24,"鋉",31],["e480","鋩",32,"洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑"],["e540","錊",51,"錿",10],["e580","鍊",31,"鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣"],["e640","鍬",34,"鎐",27],["e680","鎬",29,"鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩"],["e740","鏎",7,"鏗",54],["e780","鐎",32,"纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡",6,"缪缫缬缭缯",4,"缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬"],["e840","鐯",14,"鐿",43,"鑬鑭鑮鑯"],["e880","鑰",20,"钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹"],["e940","锧锳锽镃镈镋镕镚镠镮镴镵長",7,"門",42],["e980","閫",32,"椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋"],["ea40","闌",27,"闬闿阇阓阘阛阞阠阣",6,"阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗"],["ea80","陘陙陚陜陝陞陠陣陥陦陫陭",4,"陳陸",12,"隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰"],["eb40","隌階隑隒隓隕隖隚際隝",9,"隨",7,"隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖",9,"雡",6,"雫"],["eb80","雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗",4,"霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻"],["ec40","霡",8,"霫霬霮霯霱霳",4,"霺霻霼霽霿",18,"靔靕靗靘靚靜靝靟靣靤靦靧靨靪",7],["ec80","靲靵靷",4,"靽",7,"鞆",4,"鞌鞎鞏鞐鞓鞕鞖鞗鞙",4,"臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐"],["ed40","鞞鞟鞡鞢鞤",6,"鞬鞮鞰鞱鞳鞵",46],["ed80","韤韥韨韮",4,"韴韷",23,"怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨"],["ee40","頏",62],["ee80","顎",32,"睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶",4,"钼钽钿铄铈",6,"铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪"],["ef40","顯",5,"颋颎颒颕颙颣風",37,"飏飐飔飖飗飛飜飝飠",4],["ef80","飥飦飩",30,"铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒",4,"锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤",8,"镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔"],["f040","餈",4,"餎餏餑",28,"餯",26],["f080","饊",9,"饖",12,"饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨",4,"鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦",6,"鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙"],["f140","馌馎馚",10,"馦馧馩",47],["f180","駙",32,"瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃"],["f240","駺",62],["f280","騹",32,"颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒"],["f340","驚",17,"驲骃骉骍骎骔骕骙骦骩",6,"骲骳骴骵骹骻骽骾骿髃髄髆",4,"髍髎髏髐髒體髕髖髗髙髚髛髜"],["f380","髝髞髠髢髣髤髥髧髨髩髪髬髮髰",8,"髺髼",6,"鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋"],["f440","鬇鬉",5,"鬐鬑鬒鬔",10,"鬠鬡鬢鬤",10,"鬰鬱鬳",7,"鬽鬾鬿魀魆魊魋魌魎魐魒魓魕",5],["f480","魛",32,"簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤"],["f540","魼",62],["f580","鮻",32,"酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜"],["f640","鯜",62],["f680","鰛",32,"觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅",5,"龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞",5,"鲥",4,"鲫鲭鲮鲰",7,"鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋"],["f740","鰼",62],["f780","鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾",4,"鳈鳉鳑鳒鳚鳛鳠鳡鳌",4,"鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄"],["f840","鳣",62],["f880","鴢",32],["f940","鵃",62],["f980","鶂",32],["fa40","鶣",62],["fa80","鷢",32],["fb40","鸃",27,"鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴",9,"麀"],["fb80","麁麃麄麅麆麉麊麌",5,"麔",8,"麞麠",5,"麧麨麩麪"],["fc40","麫",8,"麵麶麷麹麺麼麿",4,"黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰",8,"黺黽黿",6],["fc80","鼆",4,"鼌鼏鼑鼒鼔鼕鼖鼘鼚",5,"鼡鼣",8,"鼭鼮鼰鼱"],["fd40","鼲",4,"鼸鼺鼼鼿",4,"齅",10,"齒",38],["fd80","齹",5,"龁龂龍",11,"龜龝龞龡",4,"郎凉秊裏隣"],["fe40","兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩"]]; /***/ }), -/* 169 */, /* 170 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); var always = /*#__PURE__*/__webpack_require__(657); @@ -7235,112 +7511,13 @@ module.exports = takeLast; /* 175 */ /***/ (function(module) { -function buildDistanceInWordsLocale () { - var distanceInWordsLocale = { - lessThanXSeconds: { - one: 'less than a second', - other: 'less than {{count}} seconds' - }, - - xSeconds: { - one: '1 second', - other: '{{count}} seconds' - }, - - halfAMinute: 'half a minute', - - lessThanXMinutes: { - one: 'less than a minute', - other: 'less than {{count}} minutes' - }, - - xMinutes: { - one: '1 minute', - other: '{{count}} minutes' - }, - - aboutXHours: { - one: 'about 1 hour', - other: 'about {{count}} hours' - }, - - xHours: { - one: '1 hour', - other: '{{count}} hours' - }, - - xDays: { - one: '1 day', - other: '{{count}} days' - }, - - aboutXMonths: { - one: 'about 1 month', - other: 'about {{count}} months' - }, - - xMonths: { - one: '1 month', - other: '{{count}} months' - }, - - aboutXYears: { - one: 'about 1 year', - other: 'about {{count}} years' - }, - - xYears: { - one: '1 year', - other: '{{count}} years' - }, - - overXYears: { - one: 'over 1 year', - other: 'over {{count}} years' - }, - - almostXYears: { - one: 'almost 1 year', - other: 'almost {{count}} years' - } - } - - function localize (token, count, options) { - options = options || {} - - var result - if (typeof distanceInWordsLocale[token] === 'string') { - result = distanceInWordsLocale[token] - } else if (count === 1) { - result = distanceInWordsLocale[token].one - } else { - result = distanceInWordsLocale[token].other.replace('{{count}}', count) - } - - if (options.addSuffix) { - if (options.comparison > 0) { - return 'in ' + result - } else { - return result + ' ago' - } - } - - return result - } - - return { - localize: localize - } -} - -module.exports = buildDistanceInWordsLocale - +module.exports = {"uChars":[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],"gbChars":[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189000]}; /***/ }), /* 176 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _clone = /*#__PURE__*/__webpack_require__(794); +var _clone = /*#__PURE__*/__webpack_require__(144); var _curry1 = /*#__PURE__*/__webpack_require__(721); @@ -7374,3492 +7551,3471 @@ module.exports = clone; /***/ }), /* 177 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -/* MIT license */ -/* eslint-disable no-mixed-operators */ -const cssKeywords = __webpack_require__(557); +/***/ (function(__unusedmodule, exports) { -// NOTE: conversions should only return primitive values (i.e. arrays, or -// values that give correct `typeof` results). -// do not use box values types (i.e. Number(), String(), etc.) +"use strict"; -const reverseKeywords = {}; -for (const key of Object.keys(cssKeywords)) { - reverseKeywords[cssKeywords[key]] = key; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.checkBypass = exports.getProxyUrl = void 0; +function getProxyUrl(reqUrl) { + const usingSsl = reqUrl.protocol === 'https:'; + if (checkBypass(reqUrl)) { + return undefined; + } + const proxyVar = (() => { + if (usingSsl) { + return process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + return process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + })(); + if (proxyVar) { + return new URL(proxyVar); + } + else { + return undefined; + } } +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + const reqHost = reqUrl.hostname; + if (isLoopbackAddress(reqHost)) { + return true; + } + const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + const upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (const upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperNoProxyItem === '*' || + upperReqHosts.some(x => x === upperNoProxyItem || + x.endsWith(`.${upperNoProxyItem}`) || + (upperNoProxyItem.startsWith('.') && + x.endsWith(`${upperNoProxyItem}`)))) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; +function isLoopbackAddress(host) { + const hostLower = host.toLowerCase(); + return (hostLower === 'localhost' || + hostLower.startsWith('127.') || + hostLower.startsWith('[::1]') || + hostLower.startsWith('[0:0:0:0:0:0:0:1]')); +} +//# sourceMappingURL=proxy.js.map -const convert = { - rgb: {channels: 3, labels: 'rgb'}, - hsl: {channels: 3, labels: 'hsl'}, - hsv: {channels: 3, labels: 'hsv'}, - hwb: {channels: 3, labels: 'hwb'}, - cmyk: {channels: 4, labels: 'cmyk'}, - xyz: {channels: 3, labels: 'xyz'}, - lab: {channels: 3, labels: 'lab'}, - lch: {channels: 3, labels: 'lch'}, - hex: {channels: 1, labels: ['hex']}, - keyword: {channels: 1, labels: ['keyword']}, - ansi16: {channels: 1, labels: ['ansi16']}, - ansi256: {channels: 1, labels: ['ansi256']}, - hcg: {channels: 3, labels: ['h', 'c', 'g']}, - apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, - gray: {channels: 1, labels: ['gray']} -}; - -module.exports = convert; +/***/ }), +/* 178 */, +/* 179 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -// Hide .channels and .labels properties -for (const model of Object.keys(convert)) { - if (!('channels' in convert[model])) { - throw new Error('missing channels property: ' + model); - } +var parse = __webpack_require__(751) +var differenceInCalendarYears = __webpack_require__(551) +var compareAsc = __webpack_require__(36) - if (!('labels' in convert[model])) { - throw new Error('missing channel labels property: ' + model); - } +/** + * @category Year Helpers + * @summary Get the number of full years between the given dates. + * + * @description + * Get the number of full years between the given dates. + * + * @param {Date|String|Number} dateLeft - the later date + * @param {Date|String|Number} dateRight - the earlier date + * @returns {Number} the number of full years + * + * @example + * // How many full years are between 31 December 2013 and 11 February 2015? + * var result = differenceInYears( + * new Date(2015, 1, 11), + * new Date(2013, 11, 31) + * ) + * //=> 1 + */ +function differenceInYears (dirtyDateLeft, dirtyDateRight) { + var dateLeft = parse(dirtyDateLeft) + var dateRight = parse(dirtyDateRight) - if (convert[model].labels.length !== convert[model].channels) { - throw new Error('channel and label counts mismatch: ' + model); - } + var sign = compareAsc(dateLeft, dateRight) + var difference = Math.abs(differenceInCalendarYears(dateLeft, dateRight)) + dateLeft.setFullYear(dateLeft.getFullYear() - sign * difference) - const {channels, labels} = convert[model]; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], 'channels', {value: channels}); - Object.defineProperty(convert[model], 'labels', {value: labels}); + // Math.abs(diff in full years - diff in calendar years) === 1 if last calendar year is not full + // If so, result must be decreased by 1 in absolute value + var isLastYearNotFull = compareAsc(dateLeft, dateRight) === -sign + return sign * (difference - isLastYearNotFull) } -convert.rgb.hsl = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const min = Math.min(r, g, b); - const max = Math.max(r, g, b); - const delta = max - min; - let h; - let s; - - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } +module.exports = differenceInYears - h = Math.min(h * 60, 360); - if (h < 0) { - h += 360; - } +/***/ }), +/* 180 */, +/* 181 */, +/* 182 */, +/* 183 */, +/* 184 */, +/* 185 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - const l = (min + max) / 2; +var _curry1 = /*#__PURE__*/__webpack_require__(721); - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } +var apply = /*#__PURE__*/__webpack_require__(422); - return [h, s * 100, l * 100]; -}; +var curryN = /*#__PURE__*/__webpack_require__(535); -convert.rgb.hsv = function (rgb) { - let rdif; - let gdif; - let bdif; - let h; - let s; +var max = /*#__PURE__*/__webpack_require__(793); - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const v = Math.max(r, g, b); - const diff = v - Math.min(r, g, b); - const diffc = function (c) { - return (v - c) / 6 / diff + 1 / 2; - }; +var pluck = /*#__PURE__*/__webpack_require__(819); - if (diff === 0) { - h = 0; - s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); +var reduce = /*#__PURE__*/__webpack_require__(46); - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = (1 / 3) + rdif - bdif; - } else if (b === v) { - h = (2 / 3) + gdif - rdif; - } +var keys = /*#__PURE__*/__webpack_require__(89); - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } +var values = /*#__PURE__*/__webpack_require__(906); - return [ - h * 360, - s * 100, - v * 100 - ]; -}; +// Use custom mapValues function to avoid issues with specs that include a "map" key and R.map +// delegating calls to .map -convert.rgb.hwb = function (rgb) { - const r = rgb[0]; - const g = rgb[1]; - let b = rgb[2]; - const h = convert.rgb.hsl(rgb)[0]; - const w = 1 / 255 * Math.min(r, Math.min(g, b)); - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); +function mapValues(fn, obj) { + return keys(obj).reduce(function (acc, key) { + acc[key] = fn(obj[key]); + return acc; + }, {}); +} - return [h, w * 100, b * 100]; -}; +/** + * Given a spec object recursively mapping properties to functions, creates a + * function producing an object of the same structure, by mapping each property + * to the result of calling its associated function with the supplied arguments. + * + * @func + * @memberOf R + * @since v0.20.0 + * @category Function + * @sig {k: ((a, b, ..., m) -> v)} -> ((a, b, ..., m) -> {k: v}) + * @param {Object} spec an object recursively mapping properties to functions for + * producing the values for these properties. + * @return {Function} A function that returns an object of the same structure + * as `spec', with each property set to the value returned by calling its + * associated function with the supplied arguments. + * @see R.converge, R.juxt + * @example + * + * const getMetrics = R.applySpec({ + * sum: R.add, + * nested: { mul: R.multiply } + * }); + * getMetrics(2, 4); // => { sum: 6, nested: { mul: 8 } } + * @symb R.applySpec({ x: f, y: { z: g } })(a, b) = { x: f(a, b), y: { z: g(a, b) } } + */ +var applySpec = /*#__PURE__*/_curry1(function applySpec(spec) { + spec = mapValues(function (v) { + return typeof v == 'function' ? v : applySpec(v); + }, spec); -convert.rgb.cmyk = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; + return curryN(reduce(max, 0, pluck('length', values(spec))), function () { + var args = arguments; + return mapValues(function (f) { + return apply(f, args); + }, spec); + }); +}); +module.exports = applySpec; - const k = Math.min(1 - r, 1 - g, 1 - b); - const c = (1 - r - k) / (1 - k) || 0; - const m = (1 - g - k) / (1 - k) || 0; - const y = (1 - b - k) / (1 - k) || 0; +/***/ }), +/* 186 */, +/* 187 */ +/***/ (function(module) { - return [c * 100, m * 100, y * 100, k * 100]; -}; +"use strict"; -function comparativeDistance(x, y) { - /* - See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance - */ - return ( - ((x[0] - y[0]) ** 2) + - ((x[1] - y[1]) ** 2) + - ((x[2] - y[2]) ** 2) - ); +module.exports = function(Promise) { +function PromiseInspection(promise) { + if (promise !== undefined) { + promise = promise._target(); + this._bitField = promise._bitField; + this._settledValueField = promise._isFateSealed() + ? promise._settledValue() : undefined; + } + else { + this._bitField = 0; + this._settledValueField = undefined; + } } -convert.rgb.keyword = function (rgb) { - const reversed = reverseKeywords[rgb]; - if (reversed) { - return reversed; - } +PromiseInspection.prototype._settledValue = function() { + return this._settledValueField; +}; - let currentClosestDistance = Infinity; - let currentClosestKeyword; +var value = PromiseInspection.prototype.value = function () { + if (!this.isFulfilled()) { + throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + return this._settledValue(); +}; - for (const keyword of Object.keys(cssKeywords)) { - const value = cssKeywords[keyword]; +var reason = PromiseInspection.prototype.error = +PromiseInspection.prototype.reason = function () { + if (!this.isRejected()) { + throw new TypeError("cannot get rejection reason of a non-rejected promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + return this._settledValue(); +}; - // Compute comparative distance - const distance = comparativeDistance(rgb, value); +var isFulfilled = PromiseInspection.prototype.isFulfilled = function() { + return (this._bitField & 33554432) !== 0; +}; - // Check if its less, if so set as closest - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } +var isRejected = PromiseInspection.prototype.isRejected = function () { + return (this._bitField & 16777216) !== 0; +}; - return currentClosestKeyword; +var isPending = PromiseInspection.prototype.isPending = function () { + return (this._bitField & 50397184) === 0; }; -convert.keyword.rgb = function (keyword) { - return cssKeywords[keyword]; +var isResolved = PromiseInspection.prototype.isResolved = function () { + return (this._bitField & 50331648) !== 0; }; -convert.rgb.xyz = function (rgb) { - let r = rgb[0] / 255; - let g = rgb[1] / 255; - let b = rgb[2] / 255; +PromiseInspection.prototype.isCancelled = function() { + return (this._bitField & 8454144) !== 0; +}; - // Assume sRGB - r = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92); - g = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92); - b = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92); +Promise.prototype.__isCancelled = function() { + return (this._bitField & 65536) === 65536; +}; - const x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); - const y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); - const z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); +Promise.prototype._isCancelled = function() { + return this._target().__isCancelled(); +}; - return [x * 100, y * 100, z * 100]; +Promise.prototype.isCancelled = function() { + return (this._target()._bitField & 8454144) !== 0; }; -convert.rgb.lab = function (rgb) { - const xyz = convert.rgb.xyz(rgb); - let x = xyz[0]; - let y = xyz[1]; - let z = xyz[2]; +Promise.prototype.isPending = function() { + return isPending.call(this._target()); +}; - x /= 95.047; - y /= 100; - z /= 108.883; +Promise.prototype.isRejected = function() { + return isRejected.call(this._target()); +}; - x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); +Promise.prototype.isFulfilled = function() { + return isFulfilled.call(this._target()); +}; - const l = (116 * y) - 16; - const a = 500 * (x - y); - const b = 200 * (y - z); +Promise.prototype.isResolved = function() { + return isResolved.call(this._target()); +}; - return [l, a, b]; +Promise.prototype.value = function() { + return value.call(this._target()); }; -convert.hsl.rgb = function (hsl) { - const h = hsl[0] / 360; - const s = hsl[1] / 100; - const l = hsl[2] / 100; - let t2; - let t3; - let val; +Promise.prototype.reason = function() { + var target = this._target(); + target._unsetRejectionIsUnhandled(); + return reason.call(target); +}; - if (s === 0) { - val = l * 255; - return [val, val, val]; - } +Promise.prototype._value = function() { + return this._settledValue(); +}; - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } +Promise.prototype._reason = function() { + this._unsetRejectionIsUnhandled(); + return this._settledValue(); +}; - const t1 = 2 * l - t2; +Promise.PromiseInspection = PromiseInspection; +}; - const rgb = [0, 0, 0]; - for (let i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - if (t3 < 0) { - t3++; - } - if (t3 > 1) { - t3--; - } +/***/ }), +/* 188 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } +var parse = __webpack_require__(751) +var getISOWeek = __webpack_require__(988) - rgb[i] = val * 255; - } +/** + * @category ISO Week Helpers + * @summary Set the ISO week to the given date. + * + * @description + * Set the ISO week to the given date, saving the weekday number. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param {Date|String|Number} date - the date to be changed + * @param {Number} isoWeek - the ISO week of the new date + * @returns {Date} the new date with the ISO week setted + * + * @example + * // Set the 53rd ISO week to 7 August 2004: + * var result = setISOWeek(new Date(2004, 7, 7), 53) + * //=> Sat Jan 01 2005 00:00:00 + */ +function setISOWeek (dirtyDate, dirtyISOWeek) { + var date = parse(dirtyDate) + var isoWeek = Number(dirtyISOWeek) + var diff = getISOWeek(date) - isoWeek + date.setDate(date.getDate() - diff * 7) + return date +} - return rgb; -}; +module.exports = setISOWeek -convert.hsl.hsv = function (hsl) { - const h = hsl[0]; - let s = hsl[1] / 100; - let l = hsl[2] / 100; - let smin = s; - const lmin = Math.max(l, 0.01); - l *= 2; - s *= (l <= 1) ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - const v = (l + s) / 2; - const sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); +/***/ }), +/* 189 */, +/* 190 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - return [h, sv * 100, v * 100]; -}; +var parse = __webpack_require__(751) -convert.hsv.rgb = function (hsv) { - const h = hsv[0] / 60; - const s = hsv[1] / 100; - let v = hsv[2] / 100; - const hi = Math.floor(h) % 6; +/** + * @category Common Helpers + * @summary Is the first date before the second one? + * + * @description + * Is the first date before the second one? + * + * @param {Date|String|Number} date - the date that should be before the other one to return true + * @param {Date|String|Number} dateToCompare - the date to compare with + * @returns {Boolean} the first date is before the second date + * + * @example + * // Is 10 July 1989 before 11 February 1987? + * var result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11)) + * //=> false + */ +function isBefore (dirtyDate, dirtyDateToCompare) { + var date = parse(dirtyDate) + var dateToCompare = parse(dirtyDateToCompare) + return date.getTime() < dateToCompare.getTime() +} - const f = h - Math.floor(h); - const p = 255 * v * (1 - s); - const q = 255 * v * (1 - (s * f)); - const t = 255 * v * (1 - (s * (1 - f))); - v *= 255; +module.exports = isBefore - switch (hi) { - case 0: - return [v, t, p]; - case 1: - return [q, v, p]; - case 2: - return [p, v, t]; - case 3: - return [p, q, v]; - case 4: - return [t, p, v]; - case 5: - return [v, p, q]; - } -}; -convert.hsv.hsl = function (hsv) { - const h = hsv[0]; - const s = hsv[1] / 100; - const v = hsv[2] / 100; - const vmin = Math.max(v, 0.01); - let sl; - let l; +/***/ }), +/* 191 */ +/***/ (function(module) { - l = (2 - s) * v; - const lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= (lmin <= 1) ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; +module.exports = require("querystring"); - return [h, sl * 100, l * 100]; -}; +/***/ }), +/* 192 */, +/* 193 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -// http://dev.w3.org/csswg/css-color/#hwb-to-rgb -convert.hwb.rgb = function (hwb) { - const h = hwb[0] / 360; - let wh = hwb[1] / 100; - let bl = hwb[2] / 100; - const ratio = wh + bl; - let f; +var _checkForMethod = /*#__PURE__*/__webpack_require__(787); - // Wh + bl cant be > 1 - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } +var _curry1 = /*#__PURE__*/__webpack_require__(721); - const i = Math.floor(6 * h); - const v = 1 - bl; - f = 6 * h - i; +var slice = /*#__PURE__*/__webpack_require__(232); - if ((i & 0x01) !== 0) { - f = 1 - f; - } +/** + * Returns all but the first element of the given list or string (or object + * with a `tail` method). + * + * Dispatches to the `slice` method of the first argument, if present. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig [a] -> [a] + * @sig String -> String + * @param {*} list + * @return {*} + * @see R.head, R.init, R.last + * @example + * + * R.tail([1, 2, 3]); //=> [2, 3] + * R.tail([1, 2]); //=> [2] + * R.tail([1]); //=> [] + * R.tail([]); //=> [] + * + * R.tail('abc'); //=> 'bc' + * R.tail('ab'); //=> 'b' + * R.tail('a'); //=> '' + * R.tail(''); //=> '' + */ - const n = wh + f * (v - wh); // Linear interpolation - let r; - let g; - let b; - /* eslint-disable max-statements-per-line,no-multi-spaces */ - switch (i) { - default: - case 6: - case 0: r = v; g = n; b = wh; break; - case 1: r = n; g = v; b = wh; break; - case 2: r = wh; g = v; b = n; break; - case 3: r = wh; g = n; b = v; break; - case 4: r = n; g = wh; b = v; break; - case 5: r = v; g = wh; b = n; break; - } - /* eslint-enable max-statements-per-line,no-multi-spaces */ +var tail = /*#__PURE__*/_curry1( /*#__PURE__*/_checkForMethod('tail', /*#__PURE__*/slice(1, Infinity))); +module.exports = tail; - return [r * 255, g * 255, b * 255]; -}; +/***/ }), +/* 194 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -convert.cmyk.rgb = function (cmyk) { - const c = cmyk[0] / 100; - const m = cmyk[1] / 100; - const y = cmyk[2] / 100; - const k = cmyk[3] / 100; +var _curry3 = /*#__PURE__*/__webpack_require__(687); - const r = 1 - Math.min(1, c * (1 - k) + k); - const g = 1 - Math.min(1, m * (1 - k) + k); - const b = 1 - Math.min(1, y * (1 - k) + k); +var _has = /*#__PURE__*/__webpack_require__(390); - return [r * 255, g * 255, b * 255]; -}; +var _isArray = /*#__PURE__*/__webpack_require__(930); -convert.xyz.rgb = function (xyz) { - const x = xyz[0] / 100; - const y = xyz[1] / 100; - const z = xyz[2] / 100; - let r; - let g; - let b; +var _isInteger = /*#__PURE__*/__webpack_require__(802); - r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); - g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); - b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); +var assoc = /*#__PURE__*/__webpack_require__(414); - // Assume sRGB - r = r > 0.0031308 - ? ((1.055 * (r ** (1.0 / 2.4))) - 0.055) - : r * 12.92; +var isNil = /*#__PURE__*/__webpack_require__(317); - g = g > 0.0031308 - ? ((1.055 * (g ** (1.0 / 2.4))) - 0.055) - : g * 12.92; +/** + * Makes a shallow clone of an object, setting or overriding the nodes required + * to create the given path, and placing the specific value at the tail end of + * that path. Note that this copies and flattens prototype properties onto the + * new object as well. All non-primitive properties are copied by reference. + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Object + * @typedefn Idx = String | Int + * @sig [Idx] -> a -> {a} -> {a} + * @param {Array} path the path to set + * @param {*} val The new value + * @param {Object} obj The object to clone + * @return {Object} A new object equivalent to the original except along the specified path. + * @see R.dissocPath + * @example + * + * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}} + * + * // Any missing or non-object keys in path will be overridden + * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}} + */ - b = b > 0.0031308 - ? ((1.055 * (b ** (1.0 / 2.4))) - 0.055) - : b * 12.92; - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); +var assocPath = /*#__PURE__*/_curry3(function assocPath(path, val, obj) { + if (path.length === 0) { + return val; + } + var idx = path[0]; + if (path.length > 1) { + var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {}; + val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj); + } + if (_isInteger(idx) && _isArray(obj)) { + var arr = [].concat(obj); + arr[idx] = val; + return arr; + } else { + return assoc(idx, val, obj); + } +}); +module.exports = assocPath; - return [r * 255, g * 255, b * 255]; -}; +/***/ }), +/* 195 */, +/* 196 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -convert.xyz.lab = function (xyz) { - let x = xyz[0]; - let y = xyz[1]; - let z = xyz[2]; +var _curry2 = /*#__PURE__*/__webpack_require__(830); - x /= 95.047; - y /= 100; - z /= 108.883; +var path = /*#__PURE__*/__webpack_require__(756); - x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); +/** + * Returns a function that when supplied an object returns the indicated + * property of that object, if it exists. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig s -> {s: a} -> a | Undefined + * @param {String} p The property name + * @param {Object} obj The object to query + * @return {*} The value at `obj.p`. + * @see R.path + * @example + * + * R.prop('x', {x: 100}); //=> 100 + * R.prop('x', {}); //=> undefined + * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4 + */ - const l = (116 * y) - 16; - const a = 500 * (x - y); - const b = 200 * (y - z); +var prop = /*#__PURE__*/_curry2(function prop(p, obj) { + return path([p], obj); +}); +module.exports = prop; - return [l, a, b]; -}; +/***/ }), +/* 197 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -convert.lab.xyz = function (lab) { - const l = lab[0]; - const a = lab[1]; - const b = lab[2]; - let x; - let y; - let z; +var _curry2 = /*#__PURE__*/__webpack_require__(830); - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; +var _dispatchable = /*#__PURE__*/__webpack_require__(968); - const y2 = y ** 3; - const x2 = x ** 3; - const z2 = z ** 3; - y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; +var _map = /*#__PURE__*/__webpack_require__(626); - x *= 95.047; - y *= 100; - z *= 108.883; +var _reduce = /*#__PURE__*/__webpack_require__(870); - return [x, y, z]; -}; +var _xmap = /*#__PURE__*/__webpack_require__(271); -convert.lab.lch = function (lab) { - const l = lab[0]; - const a = lab[1]; - const b = lab[2]; - let h; +var curryN = /*#__PURE__*/__webpack_require__(535); - const hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; +var keys = /*#__PURE__*/__webpack_require__(89); - if (h < 0) { - h += 360; - } +/** + * Takes a function and + * a [functor](https://github.com/fantasyland/fantasy-land#functor), + * applies the function to each of the functor's values, and returns + * a functor of the same shape. + * + * Ramda provides suitable `map` implementations for `Array` and `Object`, + * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`. + * + * Dispatches to the `map` method of the second argument, if present. + * + * Acts as a transducer if a transformer is given in list position. + * + * Also treats functions as functors and will compose them together. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig Functor f => (a -> b) -> f a -> f b + * @param {Function} fn The function to be called on every element of the input `list`. + * @param {Array} list The list to be iterated over. + * @return {Array} The new list. + * @see R.transduce, R.addIndex + * @example + * + * const double = x => x * 2; + * + * R.map(double, [1, 2, 3]); //=> [2, 4, 6] + * + * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6} + * @symb R.map(f, [a, b]) = [f(a), f(b)] + * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) } + * @symb R.map(f, functor_o) = functor_o.map(f) + */ - const c = Math.sqrt(a * a + b * b); - return [l, c, h]; -}; +var map = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) { + switch (Object.prototype.toString.call(functor)) { + case '[object Function]': + return curryN(functor.length, function () { + return fn.call(this, functor.apply(this, arguments)); + }); + case '[object Object]': + return _reduce(function (acc, key) { + acc[key] = fn(functor[key]); + return acc; + }, {}, keys(functor)); + default: + return _map(fn, functor); + } +})); +module.exports = map; -convert.lch.lab = function (lch) { - const l = lch[0]; - const c = lch[1]; - const h = lch[2]; +/***/ }), +/* 198 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - const hr = h / 360 * 2 * Math.PI; - const a = c * Math.cos(hr); - const b = c * Math.sin(hr); +var _curry2 = /*#__PURE__*/__webpack_require__(830); - return [l, a, b]; -}; +var _dispatchable = /*#__PURE__*/__webpack_require__(968); -convert.rgb.ansi16 = function (args, saturation = null) { - const [r, g, b] = args; - let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization +var _xtake = /*#__PURE__*/__webpack_require__(694); - value = Math.round(value / 50); +var slice = /*#__PURE__*/__webpack_require__(232); - if (value === 0) { - return 30; - } +/** + * Returns the first `n` elements of the given list, string, or + * transducer/transformer (or object with a `take` method). + * + * Dispatches to the `take` method of the second argument, if present. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig Number -> [a] -> [a] + * @sig Number -> String -> String + * @param {Number} n + * @param {*} list + * @return {*} + * @see R.drop + * @example + * + * R.take(1, ['foo', 'bar', 'baz']); //=> ['foo'] + * R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar'] + * R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] + * R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] + * R.take(3, 'ramda'); //=> 'ram' + * + * const personnel = [ + * 'Dave Brubeck', + * 'Paul Desmond', + * 'Eugene Wright', + * 'Joe Morello', + * 'Gerry Mulligan', + * 'Bob Bates', + * 'Joe Dodge', + * 'Ron Crotty' + * ]; + * + * const takeFive = R.take(5); + * takeFive(personnel); + * //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan'] + * @symb R.take(-1, [a, b]) = [a, b] + * @symb R.take(0, [a, b]) = [] + * @symb R.take(1, [a, b]) = [a] + * @symb R.take(2, [a, b]) = [a, b] + */ - let ansi = 30 - + ((Math.round(b / 255) << 2) - | (Math.round(g / 255) << 1) - | Math.round(r / 255)); - if (value === 2) { - ansi += 60; - } +var take = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['take'], _xtake, function take(n, xs) { + return slice(0, n < 0 ? Infinity : n, xs); +})); +module.exports = take; - return ansi; -}; +/***/ }), +/* 199 */, +/* 200 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -convert.hsv.ansi16 = function (args) { - // Optimization here; we already know the value and don't need to get - // it converted for us. - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); -}; - -convert.rgb.ansi256 = function (args) { - const r = args[0]; - const g = args[1]; - const b = args[2]; - - // We use the extended greyscale palette here, with the exception of - // black and white. normal palette only has 4 greyscale shades. - if (r === g && g === b) { - if (r < 8) { - return 16; - } +var _curry3 = /*#__PURE__*/__webpack_require__(687); - if (r > 248) { - return 231; - } +var equals = /*#__PURE__*/__webpack_require__(701); - return Math.round(((r - 8) / 247) * 24) + 232; - } +/** + * Reports whether two objects have the same value, in [`R.equals`](#equals) + * terms, for the specified property. Useful as a curried predicate. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig k -> {k: v} -> {k: v} -> Boolean + * @param {String} prop The name of the property to compare + * @param {Object} obj1 + * @param {Object} obj2 + * @return {Boolean} + * + * @example + * + * const o1 = { a: 1, b: 2, c: 3, d: 4 }; + * const o2 = { a: 10, b: 20, c: 3, d: 40 }; + * R.eqProps('a', o1, o2); //=> false + * R.eqProps('c', o1, o2); //=> true + */ - const ansi = 16 - + (36 * Math.round(r / 255 * 5)) - + (6 * Math.round(g / 255 * 5)) - + Math.round(b / 255 * 5); - return ansi; -}; +var eqProps = /*#__PURE__*/_curry3(function eqProps(prop, obj1, obj2) { + return equals(obj1[prop], obj2[prop]); +}); +module.exports = eqProps; -convert.ansi16.rgb = function (args) { - let color = args % 10; +/***/ }), +/* 201 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - // Handle greyscale - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } +var parse = __webpack_require__(751) - color = color / 10.5 * 255; +/** + * @category Weekday Helpers + * @summary Is the given date Thursday? + * + * @description + * Is the given date Thursday? + * + * @param {Date|String|Number} date - the date to check + * @returns {Boolean} the date is Thursday + * + * @example + * // Is 25 September 2014 Thursday? + * var result = isThursday(new Date(2014, 8, 25)) + * //=> true + */ +function isThursday (dirtyDate) { + return parse(dirtyDate).getDay() === 4 +} - return [color, color, color]; - } +module.exports = isThursday - const mult = (~~(args > 50) + 1) * 0.5; - const r = ((color & 1) * mult) * 255; - const g = (((color >> 1) & 1) * mult) * 255; - const b = (((color >> 2) & 1) * mult) * 255; - return [r, g, b]; -}; +/***/ }), +/* 202 */, +/* 203 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -convert.ansi256.rgb = function (args) { - // Handle greyscale - if (args >= 232) { - const c = (args - 232) * 10 + 8; - return [c, c, c]; - } +"use strict"; - args -= 16; - let rem; - const r = Math.floor(args / 36) / 5 * 255; - const g = Math.floor((rem = args % 36) / 6) / 5 * 255; - const b = (rem % 6) / 5 * 255; +var iconvLite = __webpack_require__(219); - return [r, g, b]; -}; +// Expose to the world +module.exports.convert = convert; -convert.rgb.hex = function (args) { - const integer = ((Math.round(args[0]) & 0xFF) << 16) - + ((Math.round(args[1]) & 0xFF) << 8) - + (Math.round(args[2]) & 0xFF); +/** + * Convert encoding of an UTF-8 string or a buffer + * + * @param {String|Buffer} str String to be converted + * @param {String} to Encoding to be converted to + * @param {String} [from='UTF-8'] Encoding to be converted from + * @return {Buffer} Encoded string + */ +function convert(str, to, from) { + from = checkEncoding(from || 'UTF-8'); + to = checkEncoding(to || 'UTF-8'); + str = str || ''; - const string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; + var result; -convert.hex.rgb = function (args) { - const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - if (!match) { - return [0, 0, 0]; - } + if (from !== 'UTF-8' && typeof str === 'string') { + str = Buffer.from(str, 'binary'); + } - let colorString = match[0]; + if (from === to) { + if (typeof str === 'string') { + result = Buffer.from(str); + } else { + result = str; + } + } else { + try { + result = convertIconvLite(str, to, from); + } catch (E) { + console.error(E); + result = str; + } + } - if (match[0].length === 3) { - colorString = colorString.split('').map(char => { - return char + char; - }).join(''); - } + if (typeof result === 'string') { + result = Buffer.from(result, 'utf-8'); + } - const integer = parseInt(colorString, 16); - const r = (integer >> 16) & 0xFF; - const g = (integer >> 8) & 0xFF; - const b = integer & 0xFF; + return result; +} - return [r, g, b]; -}; +/** + * Convert encoding of astring with iconv-lite + * + * @param {String|Buffer} str String to be converted + * @param {String} to Encoding to be converted to + * @param {String} [from='UTF-8'] Encoding to be converted from + * @return {Buffer} Encoded string + */ +function convertIconvLite(str, to, from) { + if (to === 'UTF-8') { + return iconvLite.decode(str, from); + } else if (from === 'UTF-8') { + return iconvLite.encode(str, to); + } else { + return iconvLite.encode(iconvLite.decode(str, from), to); + } +} -convert.rgb.hcg = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const max = Math.max(Math.max(r, g), b); - const min = Math.min(Math.min(r, g), b); - const chroma = (max - min); - let grayscale; - let hue; +/** + * Converts charset name if needed + * + * @param {String} name Character set + * @return {String} Character set name + */ +function checkEncoding(name) { + return (name || '') + .toString() + .trim() + .replace(/^latin[\-_]?(\d+)$/i, 'ISO-8859-$1') + .replace(/^win(?:dows)?[\-_]?(\d+)$/i, 'WINDOWS-$1') + .replace(/^utf[\-_]?(\d+)$/i, 'UTF-$1') + .replace(/^ks_c_5601\-1987$/i, 'CP949') + .replace(/^us[\-_]?ascii$/i, 'ASCII') + .toUpperCase(); +} - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - if (chroma <= 0) { - hue = 0; - } else - if (max === r) { - hue = ((g - b) / chroma) % 6; - } else - if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma; - } +/***/ }), +/* 204 */, +/* 205 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - hue /= 6; - hue %= 1; +var isSameMinute = __webpack_require__(758) - return [hue * 360, chroma * 100, grayscale * 100]; -}; +/** + * @category Minute Helpers + * @summary Is the given date in the same minute as the current date? + * + * @description + * Is the given date in the same minute as the current date? + * + * @param {Date|String|Number} date - the date to check + * @returns {Boolean} the date is in this minute + * + * @example + * // If now is 25 September 2014 18:30:15.500, + * // is 25 September 2014 18:30:00 in this minute? + * var result = isThisMinute(new Date(2014, 8, 25, 18, 30)) + * //=> true + */ +function isThisMinute (dirtyDate) { + return isSameMinute(new Date(), dirtyDate) +} -convert.hsl.hcg = function (hsl) { - const s = hsl[1] / 100; - const l = hsl[2] / 100; +module.exports = isThisMinute - const c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l)); - let f = 0; - if (c < 1.0) { - f = (l - 0.5 * c) / (1.0 - c); - } +/***/ }), +/* 206 */, +/* 207 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - return [hsl[0], c * 100, f * 100]; -}; +var _curry2 = /*#__PURE__*/__webpack_require__(830); -convert.hsv.hcg = function (hsv) { - const s = hsv[1] / 100; - const v = hsv[2] / 100; +var _isString = /*#__PURE__*/__webpack_require__(285); - const c = s * v; - let f = 0; +/** + * Returns the nth element of the given list or string. If n is negative the + * element at index length + n is returned. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig Number -> [a] -> a | Undefined + * @sig Number -> String -> String + * @param {Number} offset + * @param {*} list + * @return {*} + * @example + * + * const list = ['foo', 'bar', 'baz', 'quux']; + * R.nth(1, list); //=> 'bar' + * R.nth(-1, list); //=> 'quux' + * R.nth(-99, list); //=> undefined + * + * R.nth(2, 'abc'); //=> 'c' + * R.nth(3, 'abc'); //=> '' + * @symb R.nth(-1, [a, b, c]) = c + * @symb R.nth(0, [a, b, c]) = a + * @symb R.nth(1, [a, b, c]) = b + */ - if (c < 1.0) { - f = (v - c) / (1 - c); - } - return [hsv[0], c * 100, f * 100]; -}; +var nth = /*#__PURE__*/_curry2(function nth(offset, list) { + var idx = offset < 0 ? list.length + offset : offset; + return _isString(list) ? list.charAt(idx) : list[idx]; +}); +module.exports = nth; -convert.hcg.rgb = function (hcg) { - const h = hcg[0] / 360; - const c = hcg[1] / 100; - const g = hcg[2] / 100; +/***/ }), +/* 208 */, +/* 209 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { - if (c === 0.0) { - return [g * 255, g * 255, g * 255]; - } +"use strict"; - const pure = [0, 0, 0]; - const hi = (h % 1) * 6; - const v = hi % 1; - const w = 1 - v; - let mg = 0; - /* eslint-disable max-statements-per-line */ - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; pure[1] = v; pure[2] = 0; break; - case 1: - pure[0] = w; pure[1] = 1; pure[2] = 0; break; - case 2: - pure[0] = 0; pure[1] = 1; pure[2] = v; break; - case 3: - pure[0] = 0; pure[1] = w; pure[2] = 1; break; - case 4: - pure[0] = v; pure[1] = 0; pure[2] = 1; break; - default: - pure[0] = 1; pure[1] = 0; pure[2] = w; - } - /* eslint-enable max-statements-per-line */ +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; - mg = (1.0 - c) * g; +var _v = _interopRequireDefault(__webpack_require__(212)); - return [ - (c * pure[0] + mg) * 255, - (c * pure[1] + mg) * 255, - (c * pure[2] + mg) * 255 - ]; -}; +var _md = _interopRequireDefault(__webpack_require__(803)); -convert.hcg.hsv = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - const v = c + g * (1.0 - c); - let f = 0; +const v3 = (0, _v.default)('v3', 0x30, _md.default); +var _default = v3; +exports.default = _default; - if (v > 0.0) { - f = c / v; - } +/***/ }), +/* 210 */, +/* 211 */ +/***/ (function(module) { - return [hcg[0], f * 100, v * 100]; -}; +module.exports = require("https"); -convert.hcg.hsl = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; +/***/ }), +/* 212 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { - const l = g * (1.0 - c) + 0.5 * c; - let s = 0; +"use strict"; - if (l > 0.0 && l < 0.5) { - s = c / (2 * l); - } else - if (l >= 0.5 && l < 1.0) { - s = c / (2 * (1 - l)); - } - return [hcg[0], s * 100, l * 100]; -}; +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; +exports.URL = exports.DNS = void 0; -convert.hcg.hwb = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - const v = c + g * (1.0 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; -}; +var _stringify = _interopRequireDefault(__webpack_require__(411)); -convert.hwb.hcg = function (hwb) { - const w = hwb[1] / 100; - const b = hwb[2] / 100; - const v = 1 - b; - const c = v - w; - let g = 0; +var _parse = _interopRequireDefault(__webpack_require__(22)); - if (c < 1) { - g = (v - c) / (1 - c); - } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - return [hwb[0], c * 100, g * 100]; -}; +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape -convert.apple.rgb = function (apple) { - return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; -}; + const bytes = []; -convert.rgb.apple = function (rgb) { - return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; -}; + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } -convert.gray.rgb = function (args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; -}; + return bytes; +} -convert.gray.hsl = function (args) { - return [0, 0, args[0]]; -}; +const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +exports.DNS = DNS; +const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +exports.URL = URL; -convert.gray.hsv = convert.gray.hsl; +function _default(name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } -convert.gray.hwb = function (gray) { - return [0, 100, gray[0]]; -}; + if (typeof namespace === 'string') { + namespace = (0, _parse.default)(namespace); + } -convert.gray.cmyk = function (gray) { - return [0, 0, 0, gray[0]]; -}; + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` -convert.gray.lab = function (gray) { - return [gray[0], 0, 0]; -}; -convert.gray.hex = function (gray) { - const val = Math.round(gray[0] / 100 * 255) & 0xFF; - const integer = (val << 16) + (val << 8) + val; + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; - const string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; + if (buf) { + offset = offset || 0; -convert.rgb.gray = function (rgb) { - const val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; -}; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + return buf; + } -/***/ }), -/* 178 */, -/* 179 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + return (0, _stringify.default)(bytes); + } // Function#name is not settable on some platforms (#270) -var parse = __webpack_require__(751) -var differenceInCalendarYears = __webpack_require__(551) -var compareAsc = __webpack_require__(36) -/** - * @category Year Helpers - * @summary Get the number of full years between the given dates. - * - * @description - * Get the number of full years between the given dates. - * - * @param {Date|String|Number} dateLeft - the later date - * @param {Date|String|Number} dateRight - the earlier date - * @returns {Number} the number of full years - * - * @example - * // How many full years are between 31 December 2013 and 11 February 2015? - * var result = differenceInYears( - * new Date(2015, 1, 11), - * new Date(2013, 11, 31) - * ) - * //=> 1 - */ -function differenceInYears (dirtyDateLeft, dirtyDateRight) { - var dateLeft = parse(dirtyDateLeft) - var dateRight = parse(dirtyDateRight) + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support - var sign = compareAsc(dateLeft, dateRight) - var difference = Math.abs(differenceInCalendarYears(dateLeft, dateRight)) - dateLeft.setFullYear(dateLeft.getFullYear() - sign * difference) - // Math.abs(diff in full years - diff in calendar years) === 1 if last calendar year is not full - // If so, result must be decreased by 1 in absolute value - var isLastYearNotFull = compareAsc(dateLeft, dateRight) === -sign - return sign * (difference - isLastYearNotFull) + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; } -module.exports = differenceInYears +/***/ }), +/* 213 */ +/***/ (function(module) { +module.exports = require("punycode"); /***/ }), -/* 180 */, -/* 181 */, -/* 182 */, -/* 183 */, -/* 184 */, -/* 185 */ +/* 214 */, +/* 215 */, +/* 216 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry1 = /*#__PURE__*/__webpack_require__(721); - -var apply = /*#__PURE__*/__webpack_require__(422); +var _indexOf = /*#__PURE__*/__webpack_require__(627); -var curryN = /*#__PURE__*/__webpack_require__(535); +function _includes(a, list) { + return _indexOf(list, a, 0) >= 0; +} +module.exports = _includes; -var max = /*#__PURE__*/__webpack_require__(793); +/***/ }), +/* 217 */, +/* 218 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -var pluck = /*#__PURE__*/__webpack_require__(819); +var add = /*#__PURE__*/__webpack_require__(792); var reduce = /*#__PURE__*/__webpack_require__(46); -var keys = /*#__PURE__*/__webpack_require__(89); +/** + * Adds together all the elements of a list. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Math + * @sig [Number] -> Number + * @param {Array} list An array of numbers + * @return {Number} The sum of all the numbers in the list. + * @see R.reduce + * @example + * + * R.sum([2,4,6,8,100,1]); //=> 121 + */ -var values = /*#__PURE__*/__webpack_require__(906); -// Use custom mapValues function to avoid issues with specs that include a "map" key and R.map -// delegating calls to .map +var sum = /*#__PURE__*/reduce(add, 0); +module.exports = sum; +/***/ }), +/* 219 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -function mapValues(fn, obj) { - return keys(obj).reduce(function (acc, key) { - acc[key] = fn(obj[key]); - return acc; - }, {}); -} +"use strict"; -/** - * Given a spec object recursively mapping properties to functions, creates a - * function producing an object of the same structure, by mapping each property - * to the result of calling its associated function with the supplied arguments. - * - * @func - * @memberOf R - * @since v0.20.0 - * @category Function - * @sig {k: ((a, b, ..., m) -> v)} -> ((a, b, ..., m) -> {k: v}) - * @param {Object} spec an object recursively mapping properties to functions for - * producing the values for these properties. - * @return {Function} A function that returns an object of the same structure - * as `spec', with each property set to the value returned by calling its - * associated function with the supplied arguments. - * @see R.converge, R.juxt - * @example - * - * const getMetrics = R.applySpec({ - * sum: R.add, - * nested: { mul: R.multiply } - * }); - * getMetrics(2, 4); // => { sum: 6, nested: { mul: 8 } } - * @symb R.applySpec({ x: f, y: { z: g } })(a, b) = { x: f(a, b), y: { z: g(a, b) } } - */ -var applySpec = /*#__PURE__*/_curry1(function applySpec(spec) { - spec = mapValues(function (v) { - return typeof v == 'function' ? v : applySpec(v); - }, spec); - return curryN(reduce(max, 0, pluck('length', values(spec))), function () { - var args = arguments; - return mapValues(function (f) { - return apply(f, args); - }, spec); - }); -}); -module.exports = applySpec; +var Buffer = __webpack_require__(572).Buffer; -/***/ }), -/* 186 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +var bomHandling = __webpack_require__(394), + iconv = module.exports; -var _curry3 = /*#__PURE__*/__webpack_require__(78); +// All codecs and aliases are kept here, keyed by encoding name/alias. +// They are lazy loaded in `iconv.getCodec` from `encodings/index.js`. +iconv.encodings = null; -var curryN = /*#__PURE__*/__webpack_require__(535); +// Characters emitted in case of error. +iconv.defaultCharUnicode = '�'; +iconv.defaultCharSingleByte = '?'; -/** - * Creates a function that will process either the `onTrue` or the `onFalse` - * function depending upon the result of the `condition` predicate. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Logic - * @sig (*... -> Boolean) -> (*... -> *) -> (*... -> *) -> (*... -> *) - * @param {Function} condition A predicate function - * @param {Function} onTrue A function to invoke when the `condition` evaluates to a truthy value. - * @param {Function} onFalse A function to invoke when the `condition` evaluates to a falsy value. - * @return {Function} A new function that will process either the `onTrue` or the `onFalse` - * function depending upon the result of the `condition` predicate. - * @see R.unless, R.when, R.cond - * @example - * - * const incCount = R.ifElse( - * R.has('count'), - * R.over(R.lensProp('count'), R.inc), - * R.assoc('count', 1) - * ); - * incCount({}); //=> { count: 1 } - * incCount({ count: 1 }); //=> { count: 2 } - */ +// Public API. +iconv.encode = function encode(str, encoding, options) { + str = "" + (str || ""); // Ensure string. + var encoder = iconv.getEncoder(encoding, options); -var ifElse = /*#__PURE__*/_curry3(function ifElse(condition, onTrue, onFalse) { - return curryN(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() { - return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments); - }); -}); -module.exports = ifElse; + var res = encoder.write(str); + var trail = encoder.end(); + + return (trail && trail.length > 0) ? Buffer.concat([res, trail]) : res; +} -/***/ }), -/* 187 */ -/***/ (function(module) { +iconv.decode = function decode(buf, encoding, options) { + if (typeof buf === 'string') { + if (!iconv.skipDecodeWarning) { + console.error('Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding'); + iconv.skipDecodeWarning = true; + } -"use strict"; + buf = Buffer.from("" + (buf || ""), "binary"); // Ensure buffer. + } -module.exports = function(Promise) { -function PromiseInspection(promise) { - if (promise !== undefined) { - promise = promise._target(); - this._bitField = promise._bitField; - this._settledValueField = promise._isFateSealed() - ? promise._settledValue() : undefined; + var decoder = iconv.getDecoder(encoding, options); + + var res = decoder.write(buf); + var trail = decoder.end(); + + return trail ? (res + trail) : res; +} + +iconv.encodingExists = function encodingExists(enc) { + try { + iconv.getCodec(enc); + return true; + } catch (e) { + return false; } - else { - this._bitField = 0; - this._settledValueField = undefined; +} + +// Legacy aliases to convert functions +iconv.toEncoding = iconv.encode; +iconv.fromEncoding = iconv.decode; + +// Search for a codec in iconv.encodings. Cache codec data in iconv._codecDataCache. +iconv._codecDataCache = {}; +iconv.getCodec = function getCodec(encoding) { + if (!iconv.encodings) + iconv.encodings = __webpack_require__(449); // Lazy load all encoding definitions. + + // Canonicalize encoding name: strip all non-alphanumeric chars and appended year. + var enc = iconv._canonicalizeEncoding(encoding); + + // Traverse iconv.encodings to find actual codec. + var codecOptions = {}; + while (true) { + var codec = iconv._codecDataCache[enc]; + if (codec) + return codec; + + var codecDef = iconv.encodings[enc]; + + switch (typeof codecDef) { + case "string": // Direct alias to other encoding. + enc = codecDef; + break; + + case "object": // Alias with options. Can be layered. + for (var key in codecDef) + codecOptions[key] = codecDef[key]; + + if (!codecOptions.encodingName) + codecOptions.encodingName = enc; + + enc = codecDef.type; + break; + + case "function": // Codec itself. + if (!codecOptions.encodingName) + codecOptions.encodingName = enc; + + // The codec function must load all tables and return object with .encoder and .decoder methods. + // It'll be called only once (for each different options object). + codec = new codecDef(codecOptions, iconv); + + iconv._codecDataCache[codecOptions.encodingName] = codec; // Save it to be reused later. + return codec; + + default: + throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '"+enc+"')"); + } } } -PromiseInspection.prototype._settledValue = function() { - return this._settledValueField; -}; +iconv._canonicalizeEncoding = function(encoding) { + // Canonicalize encoding name: strip all non-alphanumeric chars and appended year. + return (''+encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, ""); +} -var value = PromiseInspection.prototype.value = function () { - if (!this.isFulfilled()) { - throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); +iconv.getEncoder = function getEncoder(encoding, options) { + var codec = iconv.getCodec(encoding), + encoder = new codec.encoder(options, codec); + + if (codec.bomAware && options && options.addBOM) + encoder = new bomHandling.PrependBOM(encoder, options); + + return encoder; +} + +iconv.getDecoder = function getDecoder(encoding, options) { + var codec = iconv.getCodec(encoding), + decoder = new codec.decoder(options, codec); + + if (codec.bomAware && !(options && options.stripBOM === false)) + decoder = new bomHandling.StripBOM(decoder, options); + + return decoder; +} + +// Streaming API +// NOTE: Streaming API naturally depends on 'stream' module from Node.js. Unfortunately in browser environments this module can add +// up to 100Kb to the output bundle. To avoid unnecessary code bloat, we don't enable Streaming API in browser by default. +// If you would like to enable it explicitly, please add the following code to your app: +// > iconv.enableStreamingAPI(require('stream')); +iconv.enableStreamingAPI = function enableStreamingAPI(stream_module) { + if (iconv.supportsStreams) + return; + + // Dependency-inject stream module to create IconvLite stream classes. + var streams = __webpack_require__(919)(stream_module); + + // Not public API yet, but expose the stream classes. + iconv.IconvLiteEncoderStream = streams.IconvLiteEncoderStream; + iconv.IconvLiteDecoderStream = streams.IconvLiteDecoderStream; + + // Streaming API. + iconv.encodeStream = function encodeStream(encoding, options) { + return new iconv.IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options); } - return this._settledValue(); -}; -var reason = PromiseInspection.prototype.error = -PromiseInspection.prototype.reason = function () { - if (!this.isRejected()) { - throw new TypeError("cannot get rejection reason of a non-rejected promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + iconv.decodeStream = function decodeStream(encoding, options) { + return new iconv.IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options); } - return this._settledValue(); -}; -var isFulfilled = PromiseInspection.prototype.isFulfilled = function() { - return (this._bitField & 33554432) !== 0; -}; + iconv.supportsStreams = true; +} -var isRejected = PromiseInspection.prototype.isRejected = function () { - return (this._bitField & 16777216) !== 0; -}; +// Enable Streaming API automatically if 'stream' module is available and non-empty (the majority of environments). +var stream_module; +try { + stream_module = __webpack_require__(794); +} catch (e) {} -var isPending = PromiseInspection.prototype.isPending = function () { - return (this._bitField & 50397184) === 0; -}; +if (stream_module && stream_module.Transform) { + iconv.enableStreamingAPI(stream_module); -var isResolved = PromiseInspection.prototype.isResolved = function () { - return (this._bitField & 50331648) !== 0; -}; +} else { + // In rare cases where 'stream' module is not available by default, throw a helpful exception. + iconv.encodeStream = iconv.decodeStream = function() { + throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it."); + }; +} -PromiseInspection.prototype.isCancelled = function() { - return (this._bitField & 8454144) !== 0; -}; +if (false) {} -Promise.prototype.__isCancelled = function() { - return (this._bitField & 65536) === 65536; -}; -Promise.prototype._isCancelled = function() { - return this._target().__isCancelled(); -}; +/***/ }), +/* 220 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -Promise.prototype.isCancelled = function() { - return (this._target()._bitField & 8454144) !== 0; -}; +"use strict"; -Promise.prototype.isPending = function() { - return isPending.call(this._target()); -}; +module.exports = function(Promise, + PromiseArray, + apiRejection, + tryConvertToPromise, + INTERNAL, + debug) { +var util = __webpack_require__(248); +var tryCatch = util.tryCatch; +var errorObj = util.errorObj; +var async = Promise._async; -Promise.prototype.isRejected = function() { - return isRejected.call(this._target()); +function MappingPromiseArray(promises, fn, limit, _filter) { + this.constructor$(promises); + this._promise._captureStackTrace(); + var context = Promise._getContext(); + this._callback = util.contextBind(context, fn); + this._preservedValues = _filter === INTERNAL + ? new Array(this.length()) + : null; + this._limit = limit; + this._inFlight = 0; + this._queue = []; + async.invoke(this._asyncInit, this, undefined); + if (util.isArray(promises)) { + for (var i = 0; i < promises.length; ++i) { + var maybePromise = promises[i]; + if (maybePromise instanceof Promise) { + maybePromise.suppressUnhandledRejections(); + } + } + } +} +util.inherits(MappingPromiseArray, PromiseArray); + +MappingPromiseArray.prototype._asyncInit = function() { + this._init$(undefined, -2); }; -Promise.prototype.isFulfilled = function() { - return isFulfilled.call(this._target()); +MappingPromiseArray.prototype._init = function () {}; + +MappingPromiseArray.prototype._promiseFulfilled = function (value, index) { + var values = this._values; + var length = this.length(); + var preservedValues = this._preservedValues; + var limit = this._limit; + + if (index < 0) { + index = (index * -1) - 1; + values[index] = value; + if (limit >= 1) { + this._inFlight--; + this._drainQueue(); + if (this._isResolved()) return true; + } + } else { + if (limit >= 1 && this._inFlight >= limit) { + values[index] = value; + this._queue.push(index); + return false; + } + if (preservedValues !== null) preservedValues[index] = value; + + var promise = this._promise; + var callback = this._callback; + var receiver = promise._boundValue(); + promise._pushContext(); + var ret = tryCatch(callback).call(receiver, value, index, length); + var promiseCreated = promise._popContext(); + debug.checkForgottenReturns( + ret, + promiseCreated, + preservedValues !== null ? "Promise.filter" : "Promise.map", + promise + ); + if (ret === errorObj) { + this._reject(ret.e); + return true; + } + + var maybePromise = tryConvertToPromise(ret, this._promise); + if (maybePromise instanceof Promise) { + maybePromise = maybePromise._target(); + var bitField = maybePromise._bitField; + ; + if (((bitField & 50397184) === 0)) { + if (limit >= 1) this._inFlight++; + values[index] = maybePromise; + maybePromise._proxy(this, (index + 1) * -1); + return false; + } else if (((bitField & 33554432) !== 0)) { + ret = maybePromise._value(); + } else if (((bitField & 16777216) !== 0)) { + this._reject(maybePromise._reason()); + return true; + } else { + this._cancel(); + return true; + } + } + values[index] = ret; + } + var totalResolved = ++this._totalResolved; + if (totalResolved >= length) { + if (preservedValues !== null) { + this._filter(values, preservedValues); + } else { + this._resolve(values); + } + return true; + } + return false; }; -Promise.prototype.isResolved = function() { - return isResolved.call(this._target()); +MappingPromiseArray.prototype._drainQueue = function () { + var queue = this._queue; + var limit = this._limit; + var values = this._values; + while (queue.length > 0 && this._inFlight < limit) { + if (this._isResolved()) return; + var index = queue.pop(); + this._promiseFulfilled(values[index], index); + } }; -Promise.prototype.value = function() { - return value.call(this._target()); +MappingPromiseArray.prototype._filter = function (booleans, values) { + var len = values.length; + var ret = new Array(len); + var j = 0; + for (var i = 0; i < len; ++i) { + if (booleans[i]) ret[j++] = values[i]; + } + ret.length = j; + this._resolve(ret); }; -Promise.prototype.reason = function() { - var target = this._target(); - target._unsetRejectionIsUnhandled(); - return reason.call(target); +MappingPromiseArray.prototype.preservedValues = function () { + return this._preservedValues; }; -Promise.prototype._value = function() { - return this._settledValue(); +function map(promises, fn, options, _filter) { + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + + var limit = 0; + if (options !== undefined) { + if (typeof options === "object" && options !== null) { + if (typeof options.concurrency !== "number") { + return Promise.reject( + new TypeError("'concurrency' must be a number but it is " + + util.classString(options.concurrency))); + } + limit = options.concurrency; + } else { + return Promise.reject(new TypeError( + "options argument must be an object but it is " + + util.classString(options))); + } + } + limit = typeof limit === "number" && + isFinite(limit) && limit >= 1 ? limit : 0; + return new MappingPromiseArray(promises, fn, limit, _filter).promise(); +} + +Promise.prototype.map = function (fn, options) { + return map(this, fn, options, null); }; -Promise.prototype._reason = function() { - this._unsetRejectionIsUnhandled(); - return this._settledValue(); +Promise.map = function (promises, fn, options, _filter) { + return map(promises, fn, options, _filter); }; -Promise.PromiseInspection = PromiseInspection; + }; /***/ }), -/* 188 */ +/* 221 */ +/***/ (function(module) { + +module.exports = [["0","\u0000",128],["a1","。",62],["8140"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×"],["8180","÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓"],["81b8","∈∋⊆⊇⊂⊃∪∩"],["81c8","∧∨¬⇒⇔∀∃"],["81da","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["81f0","ʼn♯♭♪†‡¶"],["81fc","◯"],["824f","0",9],["8260","A",25],["8281","a",25],["829f","ぁ",82],["8340","ァ",62],["8380","ム",22],["839f","Α",16,"Σ",6],["83bf","α",16,"σ",6],["8440","А",5,"ЁЖ",25],["8470","а",5,"ёж",7],["8480","о",17],["849f","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["8740","①",19,"Ⅰ",9],["875f","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["877e","㍻"],["8780","〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["889f","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["8940","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円"],["8980","園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["8a40","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫"],["8a80","橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["8b40","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救"],["8b80","朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["8c40","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨"],["8c80","劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["8d40","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降"],["8d80","項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["8e40","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止"],["8e80","死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["8f40","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳"],["8f80","準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["9040","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨"],["9080","逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["9140","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻"],["9180","操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["9240","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄"],["9280","逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["9340","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬"],["9380","凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["9440","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅"],["9480","楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["9540","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷"],["9580","斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["9640","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆"],["9680","摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["9740","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲"],["9780","沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["9840","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["989f","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["9940","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭"],["9980","凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["9a40","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸"],["9a80","噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["9b40","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀"],["9b80","它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["9c40","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠"],["9c80","怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["9d40","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫"],["9d80","捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["9e40","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎"],["9e80","梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["9f40","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯"],["9f80","麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["e040","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝"],["e080","烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e140","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿"],["e180","痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e240","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰"],["e280","窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e340","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷"],["e380","縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e440","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤"],["e480","艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e540","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬"],["e580","蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["e640","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧"],["e680","諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["e740","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜"],["e780","轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["e840","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙"],["e880","閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["e940","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃"],["e980","騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["ea40","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯"],["ea80","黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙"],["ed40","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏"],["ed80","塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["ee40","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙"],["ee80","蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["eeef","ⅰ",9,"¬¦'""],["f040","",62],["f080","",124],["f140","",62],["f180","",124],["f240","",62],["f280","",124],["f340","",62],["f380","",124],["f440","",62],["f480","",124],["f540","",62],["f580","",124],["f640","",62],["f680","",124],["f740","",62],["f780","",124],["f840","",62],["f880","",124],["f940",""],["fa40","ⅰ",9,"Ⅰ",9,"¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊"],["fa80","兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯"],["fb40","涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神"],["fb80","祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙"],["fc40","髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"]]; + +/***/ }), +/* 222 */, +/* 223 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) -var getISOWeek = __webpack_require__(15) +var _curry1 = /*#__PURE__*/__webpack_require__(721); + +var mean = /*#__PURE__*/__webpack_require__(460); /** - * @category ISO Week Helpers - * @summary Set the ISO week to the given date. - * - * @description - * Set the ISO week to the given date, saving the weekday number. - * - * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} isoWeek - the ISO week of the new date - * @returns {Date} the new date with the ISO week setted + * Returns the median of the given list of numbers. * + * @func + * @memberOf R + * @since v0.14.0 + * @category Math + * @sig [Number] -> Number + * @param {Array} list + * @return {Number} + * @see R.mean * @example - * // Set the 53rd ISO week to 7 August 2004: - * var result = setISOWeek(new Date(2004, 7, 7), 53) - * //=> Sat Jan 01 2005 00:00:00 + * + * R.median([2, 9, 7]); //=> 7 + * R.median([7, 2, 10, 9]); //=> 8 + * R.median([]); //=> NaN */ -function setISOWeek (dirtyDate, dirtyISOWeek) { - var date = parse(dirtyDate) - var isoWeek = Number(dirtyISOWeek) - var diff = getISOWeek(date) - isoWeek - date.setDate(date.getDate() - diff * 7) - return date -} -module.exports = setISOWeek +var median = /*#__PURE__*/_curry1(function median(list) { + var len = list.length; + if (len === 0) { + return NaN; + } + var width = 2 - len % 2; + var idx = (len - width) / 2; + return mean(Array.prototype.slice.call(list, 0).sort(function (a, b) { + return a < b ? -1 : a > b ? 1 : 0; + }).slice(idx, idx + width)); +}); +module.exports = median; /***/ }), -/* 189 */, -/* 190 */ +/* 224 */ /***/ (function(module, __unusedexports, __webpack_require__) { var parse = __webpack_require__(751) /** - * @category Common Helpers - * @summary Is the first date before the second one? + * @category Year Helpers + * @summary Return the end of a year for the given date. * * @description - * Is the first date before the second one? + * Return the end of a year for the given date. + * The result will be in the local timezone. * - * @param {Date|String|Number} date - the date that should be before the other one to return true - * @param {Date|String|Number} dateToCompare - the date to compare with - * @returns {Boolean} the first date is before the second date + * @param {Date|String|Number} date - the original date + * @returns {Date} the end of a year * * @example - * // Is 10 July 1989 before 11 February 1987? - * var result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11)) - * //=> false + * // The end of a year for 2 September 2014 11:55:00: + * var result = endOfYear(new Date(2014, 8, 2, 11, 55, 00)) + * //=> Wed Dec 31 2014 23:59:59.999 */ -function isBefore (dirtyDate, dirtyDateToCompare) { +function endOfYear (dirtyDate) { var date = parse(dirtyDate) - var dateToCompare = parse(dirtyDateToCompare) - return date.getTime() < dateToCompare.getTime() + var year = date.getFullYear() + date.setFullYear(year + 1, 0, 0) + date.setHours(23, 59, 59, 999) + return date } -module.exports = isBefore - - -/***/ }), -/* 191 */ -/***/ (function(module) { +module.exports = endOfYear -module.exports = require("querystring"); /***/ }), -/* 192 */, -/* 193 */ +/* 225 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _checkForMethod = /*#__PURE__*/__webpack_require__(417); - -var _curry1 = /*#__PURE__*/__webpack_require__(721); - -var slice = /*#__PURE__*/__webpack_require__(232); +var parse = __webpack_require__(751) /** - * Returns all but the first element of the given list or string (or object - * with a `tail` method). - * - * Dispatches to the `slice` method of the first argument, if present. + * @category Hour Helpers + * @summary Get the hours of the given date. * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [a] - * @sig String -> String - * @param {*} list - * @return {*} - * @see R.head, R.init, R.last - * @example + * @description + * Get the hours of the given date. * - * R.tail([1, 2, 3]); //=> [2, 3] - * R.tail([1, 2]); //=> [2] - * R.tail([1]); //=> [] - * R.tail([]); //=> [] + * @param {Date|String|Number} date - the given date + * @returns {Number} the hours * - * R.tail('abc'); //=> 'bc' - * R.tail('ab'); //=> 'b' - * R.tail('a'); //=> '' - * R.tail(''); //=> '' + * @example + * // Get the hours of 29 February 2012 11:45:00: + * var result = getHours(new Date(2012, 1, 29, 11, 45)) + * //=> 11 */ +function getHours (dirtyDate) { + var date = parse(dirtyDate) + var hours = date.getHours() + return hours +} +module.exports = getHours -var tail = /*#__PURE__*/_curry1( /*#__PURE__*/_checkForMethod('tail', /*#__PURE__*/slice(1, Infinity))); -module.exports = tail; /***/ }), -/* 194 */ +/* 226 */, +/* 227 */, +/* 228 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); - -var _has = /*#__PURE__*/__webpack_require__(390); - -var _isArray = /*#__PURE__*/__webpack_require__(930); - -var _isInteger = /*#__PURE__*/__webpack_require__(802); - -var assoc = /*#__PURE__*/__webpack_require__(414); +var startOfDay = __webpack_require__(68) -var isNil = /*#__PURE__*/__webpack_require__(317); +var MILLISECONDS_IN_MINUTE = 60000 +var MILLISECONDS_IN_DAY = 86400000 /** - * Makes a shallow clone of an object, setting or overriding the nodes required - * to create the given path, and placing the specific value at the tail end of - * that path. Note that this copies and flattens prototype properties onto the - * new object as well. All non-primitive properties are copied by reference. + * @category Day Helpers + * @summary Get the number of calendar days between the given dates. * - * @func - * @memberOf R - * @since v0.8.0 - * @category Object - * @typedefn Idx = String | Int - * @sig [Idx] -> a -> {a} -> {a} - * @param {Array} path the path to set - * @param {*} val The new value - * @param {Object} obj The object to clone - * @return {Object} A new object equivalent to the original except along the specified path. - * @see R.dissocPath - * @example + * @description + * Get the number of calendar days between the given dates. * - * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}} + * @param {Date|String|Number} dateLeft - the later date + * @param {Date|String|Number} dateRight - the earlier date + * @returns {Number} the number of calendar days * - * // Any missing or non-object keys in path will be overridden - * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}} + * @example + * // How many calendar days are between + * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00? + * var result = differenceInCalendarDays( + * new Date(2012, 6, 2, 0, 0), + * new Date(2011, 6, 2, 23, 0) + * ) + * //=> 366 */ +function differenceInCalendarDays (dirtyDateLeft, dirtyDateRight) { + var startOfDayLeft = startOfDay(dirtyDateLeft) + var startOfDayRight = startOfDay(dirtyDateRight) + var timestampLeft = startOfDayLeft.getTime() - + startOfDayLeft.getTimezoneOffset() * MILLISECONDS_IN_MINUTE + var timestampRight = startOfDayRight.getTime() - + startOfDayRight.getTimezoneOffset() * MILLISECONDS_IN_MINUTE + + // Round the number of days to the nearest integer + // because the number of milliseconds in a day is not constant + // (e.g. it's different in the day of the daylight saving time clock shift) + return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY) +} + +module.exports = differenceInCalendarDays -var assocPath = /*#__PURE__*/_curry3(function assocPath(path, val, obj) { - if (path.length === 0) { - return val; - } - var idx = path[0]; - if (path.length > 1) { - var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {}; - val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj); - } - if (_isInteger(idx) && _isArray(obj)) { - var arr = [].concat(obj); - arr[idx] = val; - return arr; - } else { - return assoc(idx, val, obj); - } -}); -module.exports = assocPath; /***/ }), -/* 195 */, -/* 196 */ +/* 229 */, +/* 230 */, +/* 231 */, +/* 232 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +var _checkForMethod = /*#__PURE__*/__webpack_require__(787); -var path = /*#__PURE__*/__webpack_require__(756); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** - * Returns a function that when supplied an object returns the indicated - * property of that object, if it exists. + * Returns the elements of the given list or string (or object with a `slice` + * method) from `fromIndex` (inclusive) to `toIndex` (exclusive). + * + * Dispatches to the `slice` method of the third argument, if present. * * @func * @memberOf R - * @since v0.1.0 - * @category Object - * @sig s -> {s: a} -> a | Undefined - * @param {String} p The property name - * @param {Object} obj The object to query - * @return {*} The value at `obj.p`. - * @see R.path + * @since v0.1.4 + * @category List + * @sig Number -> Number -> [a] -> [a] + * @sig Number -> Number -> String -> String + * @param {Number} fromIndex The start index (inclusive). + * @param {Number} toIndex The end index (exclusive). + * @param {*} list + * @return {*} * @example * - * R.prop('x', {x: 100}); //=> 100 - * R.prop('x', {}); //=> undefined - * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4 + * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c'] + * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd'] + * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c'] + * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c'] + * R.slice(0, 3, 'ramda'); //=> 'ram' */ -var prop = /*#__PURE__*/_curry2(function prop(p, obj) { - return path([p], obj); -}); -module.exports = prop; - -/***/ }), -/* 197 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = isexe -isexe.sync = sync - -var fs = __webpack_require__(747) - -function isexe (path, options, cb) { - fs.stat(path, function (er, stat) { - cb(er, er ? false : checkStat(stat, options)) - }) -} - -function sync (path, options) { - return checkStat(fs.statSync(path), options) -} - -function checkStat (stat, options) { - return stat.isFile() && checkMode(stat, options) -} - -function checkMode (stat, options) { - var mod = stat.mode - var uid = stat.uid - var gid = stat.gid - - var myUid = options.uid !== undefined ? - options.uid : process.getuid && process.getuid() - var myGid = options.gid !== undefined ? - options.gid : process.getgid && process.getgid() - - var u = parseInt('100', 8) - var g = parseInt('010', 8) - var o = parseInt('001', 8) - var ug = u | g - - var ret = (mod & o) || - (mod & g) && gid === myGid || - (mod & u) && uid === myUid || - (mod & ug) && myUid === 0 - - return ret -} +var slice = /*#__PURE__*/_curry3( /*#__PURE__*/_checkForMethod('slice', function slice(fromIndex, toIndex, list) { + return Array.prototype.slice.call(list, fromIndex, toIndex); +})); +module.exports = slice; /***/ }), -/* 198 */ +/* 233 */, +/* 234 */, +/* 235 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +var _curry1 = /*#__PURE__*/__webpack_require__(721); -var _dispatchable = /*#__PURE__*/__webpack_require__(968); +var _isArguments = /*#__PURE__*/__webpack_require__(960); -var _xtake = /*#__PURE__*/__webpack_require__(694); +var _isArray = /*#__PURE__*/__webpack_require__(930); -var slice = /*#__PURE__*/__webpack_require__(232); +var _isObject = /*#__PURE__*/__webpack_require__(662); + +var _isString = /*#__PURE__*/__webpack_require__(285); /** - * Returns the first `n` elements of the given list, string, or - * transducer/transformer (or object with a `take` method). + * Returns the empty value of its argument's type. Ramda defines the empty + * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other + * types are supported if they define `.empty`, + * `.prototype.empty` or implement the + * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid). * - * Dispatches to the `take` method of the second argument, if present. + * Dispatches to the `empty` method of the first argument, if present. * * @func * @memberOf R - * @since v0.1.0 - * @category List - * @sig Number -> [a] -> [a] - * @sig Number -> String -> String - * @param {Number} n - * @param {*} list + * @since v0.3.0 + * @category Function + * @sig a -> a + * @param {*} x * @return {*} - * @see R.drop * @example * - * R.take(1, ['foo', 'bar', 'baz']); //=> ['foo'] - * R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar'] - * R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] - * R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] - * R.take(3, 'ramda'); //=> 'ram' - * - * const personnel = [ - * 'Dave Brubeck', - * 'Paul Desmond', - * 'Eugene Wright', - * 'Joe Morello', - * 'Gerry Mulligan', - * 'Bob Bates', - * 'Joe Dodge', - * 'Ron Crotty' - * ]; - * - * const takeFive = R.take(5); - * takeFive(personnel); - * //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan'] - * @symb R.take(-1, [a, b]) = [a, b] - * @symb R.take(0, [a, b]) = [] - * @symb R.take(1, [a, b]) = [a] - * @symb R.take(2, [a, b]) = [a, b] + * R.empty(Just(42)); //=> Nothing() + * R.empty([1, 2, 3]); //=> [] + * R.empty('unicorns'); //=> '' + * R.empty({x: 1, y: 2}); //=> {} */ -var take = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['take'], _xtake, function take(n, xs) { - return slice(0, n < 0 ? Infinity : n, xs); -})); -module.exports = take; +var empty = /*#__PURE__*/_curry1(function empty(x) { + return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : _isArguments(x) ? function () { + return arguments; + }() : void 0 // else + ; +}); +module.exports = empty; /***/ }), -/* 199 */, -/* 200 */ +/* 236 */, +/* 237 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); - -var equals = /*#__PURE__*/__webpack_require__(701); +var _curry1 = /*#__PURE__*/__webpack_require__(721); /** - * Reports whether two objects have the same value, in [`R.equals`](#equals) - * terms, for the specified property. Useful as a curried predicate. + * A function that returns the `!` of its argument. It will return `true` when + * passed false-y value, and `false` when passed a truth-y one. * * @func * @memberOf R * @since v0.1.0 - * @category Object - * @sig k -> {k: v} -> {k: v} -> Boolean - * @param {String} prop The name of the property to compare - * @param {Object} obj1 - * @param {Object} obj2 - * @return {Boolean} - * + * @category Logic + * @sig * -> Boolean + * @param {*} a any value + * @return {Boolean} the logical inverse of passed argument. + * @see R.complement * @example * - * const o1 = { a: 1, b: 2, c: 3, d: 4 }; - * const o2 = { a: 10, b: 20, c: 3, d: 40 }; - * R.eqProps('a', o1, o2); //=> false - * R.eqProps('c', o1, o2); //=> true + * R.not(true); //=> false + * R.not(false); //=> true + * R.not(0); //=> true + * R.not(1); //=> false */ -var eqProps = /*#__PURE__*/_curry3(function eqProps(prop, obj1, obj2) { - return equals(obj1[prop], obj2[prop]); +var not = /*#__PURE__*/_curry1(function not(a) { + return !a; }); -module.exports = eqProps; +module.exports = not; /***/ }), -/* 201 */, -/* 202 */, -/* 203 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -var iconvLite = __webpack_require__(997); -// Load Iconv from an external file to be able to disable Iconv for webpack -// Add /\/iconv-loader$/ to webpack.IgnorePlugin to ignore it -var Iconv = __webpack_require__(450); - -// Expose to the world -module.exports.convert = convert; +/* 238 */ +/***/ (function(module) { /** - * Convert encoding of an UTF-8 string or a buffer + * @category Day Helpers + * @summary Return the start of tomorrow. * - * @param {String|Buffer} str String to be converted - * @param {String} to Encoding to be converted to - * @param {String} [from='UTF-8'] Encoding to be converted from - * @param {Boolean} useLite If set to ture, force to use iconvLite - * @return {Buffer} Encoded string + * @description + * Return the start of tomorrow. + * + * @returns {Date} the start of tomorrow + * + * @example + * // If today is 6 October 2014: + * var result = startOfTomorrow() + * //=> Tue Oct 7 2014 00:00:00 */ -function convert(str, to, from, useLite) { - from = checkEncoding(from || 'UTF-8'); - to = checkEncoding(to || 'UTF-8'); - str = str || ''; - - var result; +function startOfTomorrow () { + var now = new Date() + var year = now.getFullYear() + var month = now.getMonth() + var day = now.getDate() - if (from !== 'UTF-8' && typeof str === 'string') { - str = new Buffer(str, 'binary'); - } + var date = new Date(0) + date.setFullYear(year, month, day + 1) + date.setHours(0, 0, 0, 0) + return date +} - if (from === to) { - if (typeof str === 'string') { - result = new Buffer(str); - } else { - result = str; - } - } else if (Iconv && !useLite) { - try { - result = convertIconv(str, to, from); - } catch (E) { - console.error(E); - try { - result = convertIconvLite(str, to, from); - } catch (E) { - console.error(E); - result = str; - } - } - } else { - try { - result = convertIconvLite(str, to, from); - } catch (E) { - console.error(E); - result = str; - } - } +module.exports = startOfTomorrow - if (typeof result === 'string') { - result = new Buffer(result, 'utf-8'); - } +/***/ }), +/* 239 */, +/* 240 */, +/* 241 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - return result; -} +var _curry1 = /*#__PURE__*/__webpack_require__(721); /** - * Convert encoding of a string with node-iconv (if available) + * Returns a list of all the properties, including prototype properties, of the + * supplied object. + * Note that the order of the output array is not guaranteed to be consistent + * across different JS platforms. * - * @param {String|Buffer} str String to be converted - * @param {String} to Encoding to be converted to - * @param {String} [from='UTF-8'] Encoding to be converted from - * @return {Buffer} Encoded string - */ -function convertIconv(str, to, from) { - var response, iconv; - iconv = new Iconv(from, to + '//TRANSLIT//IGNORE'); - response = iconv.convert(str); - return response.slice(0, response.length); -} - -/** - * Convert encoding of astring with iconv-lite + * @func + * @memberOf R + * @since v0.2.0 + * @category Object + * @sig {k: v} -> [v] + * @param {Object} obj The object to extract values from + * @return {Array} An array of the values of the object's own and prototype properties. + * @see R.values, R.keysIn + * @example * - * @param {String|Buffer} str String to be converted - * @param {String} to Encoding to be converted to - * @param {String} [from='UTF-8'] Encoding to be converted from - * @return {Buffer} Encoded string + * const F = function() { this.x = 'X'; }; + * F.prototype.y = 'Y'; + * const f = new F(); + * R.valuesIn(f); //=> ['X', 'Y'] */ -function convertIconvLite(str, to, from) { - if (to === 'UTF-8') { - return iconvLite.decode(str, from); - } else if (from === 'UTF-8') { - return iconvLite.encode(str, to); - } else { - return iconvLite.encode(iconvLite.decode(str, from), to); - } -} -/** - * Converts charset name if needed - * - * @param {String} name Character set - * @return {String} Character set name - */ -function checkEncoding(name) { - return (name || '').toString().trim(). - replace(/^latin[\-_]?(\d+)$/i, 'ISO-8859-$1'). - replace(/^win(?:dows)?[\-_]?(\d+)$/i, 'WINDOWS-$1'). - replace(/^utf[\-_]?(\d+)$/i, 'UTF-$1'). - replace(/^ks_c_5601\-1987$/i, 'CP949'). - replace(/^us[\-_]?ascii$/i, 'ASCII'). - toUpperCase(); -} +var valuesIn = /*#__PURE__*/_curry1(function valuesIn(obj) { + var prop; + var vs = []; + for (prop in obj) { + vs[vs.length] = obj[prop]; + } + return vs; +}); +module.exports = valuesIn; /***/ }), -/* 204 */, -/* 205 */ +/* 242 */, +/* 243 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var isSameMinute = __webpack_require__(758) +var addDays = __webpack_require__(683) /** - * @category Minute Helpers - * @summary Is the given date in the same minute as the current date? + * @category Day Helpers + * @summary Subtract the specified number of days from the given date. * * @description - * Is the given date in the same minute as the current date? + * Subtract the specified number of days from the given date. * - * @param {Date|String|Number} date - the date to check - * @returns {Boolean} the date is in this minute + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of days to be subtracted + * @returns {Date} the new date with the days subtracted * * @example - * // If now is 25 September 2014 18:30:15.500, - * // is 25 September 2014 18:30:00 in this minute? - * var result = isThisMinute(new Date(2014, 8, 25, 18, 30)) - * //=> true + * // Subtract 10 days from 1 September 2014: + * var result = subDays(new Date(2014, 8, 1), 10) + * //=> Fri Aug 22 2014 00:00:00 */ -function isThisMinute (dirtyDate) { - return isSameMinute(new Date(), dirtyDate) +function subDays (dirtyDate, dirtyAmount) { + var amount = Number(dirtyAmount) + return addDays(dirtyDate, -amount) } -module.exports = isThisMinute +module.exports = subDays /***/ }), -/* 206 */, -/* 207 */ +/* 244 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var _isString = /*#__PURE__*/__webpack_require__(285); +var getISOYear = __webpack_require__(689) +var startOfISOWeek = __webpack_require__(901) /** - * Returns the nth element of the given list or string. If n is negative the - * element at index length + n is returned. + * @category ISO Week-Numbering Year Helpers + * @summary Return the end of an ISO week-numbering year for the given date. * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Number -> [a] -> a | Undefined - * @sig Number -> String -> String - * @param {Number} offset - * @param {*} list - * @return {*} - * @example + * @description + * Return the end of an ISO week-numbering year, + * which always starts 3 days before the year's first Thursday. + * The result will be in the local timezone. * - * const list = ['foo', 'bar', 'baz', 'quux']; - * R.nth(1, list); //=> 'bar' - * R.nth(-1, list); //=> 'quux' - * R.nth(-99, list); //=> undefined + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date * - * R.nth(2, 'abc'); //=> 'c' - * R.nth(3, 'abc'); //=> '' - * @symb R.nth(-1, [a, b, c]) = c - * @symb R.nth(0, [a, b, c]) = a - * @symb R.nth(1, [a, b, c]) = b - */ - - -var nth = /*#__PURE__*/_curry2(function nth(offset, list) { - var idx = offset < 0 ? list.length + offset : offset; - return _isString(list) ? list.charAt(idx) : list[idx]; -}); -module.exports = nth; - -/***/ }), -/* 208 */, -/* 209 */, -/* 210 */, -/* 211 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var osName = _interopDefault(__webpack_require__(2)); - -function getUserAgent() { - try { - return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; - } catch (error) { - if (/wmic os get Caption/.test(error.message)) { - return "Windows "; - } - - return ""; - } -} - -exports.getUserAgent = getUserAgent; -//# sourceMappingURL=index.js.map - - -/***/ }), -/* 212 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -/** - * Returns `true` if the first argument is less than or equal to the second; - * `false` otherwise. + * @param {Date|String|Number} date - the original date + * @returns {Date} the end of an ISO week-numbering year * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig Ord a => a -> a -> Boolean - * @param {Number} a - * @param {Number} b - * @return {Boolean} - * @see R.gte * @example - * - * R.lte(2, 1); //=> false - * R.lte(2, 2); //=> true - * R.lte(2, 3); //=> true - * R.lte('a', 'z'); //=> true - * R.lte('z', 'a'); //=> false + * // The end of an ISO week-numbering year for 2 July 2005: + * var result = endOfISOYear(new Date(2005, 6, 2)) + * //=> Sun Jan 01 2006 23:59:59.999 */ +function endOfISOYear (dirtyDate) { + var year = getISOYear(dirtyDate) + var fourthOfJanuaryOfNextYear = new Date(0) + fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4) + fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0) + var date = startOfISOWeek(fourthOfJanuaryOfNextYear) + date.setMilliseconds(date.getMilliseconds() - 1) + return date +} +module.exports = endOfISOYear -var lte = /*#__PURE__*/_curry2(function lte(a, b) { - return a <= b; -}); -module.exports = lte; /***/ }), -/* 213 */ +/* 245 */, +/* 246 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) +var startOfDay = __webpack_require__(68) /** - * @category Millisecond Helpers - * @summary Get the milliseconds of the given date. + * @category Day Helpers + * @summary Is the given date tomorrow? * * @description - * Get the milliseconds of the given date. + * Is the given date tomorrow? * - * @param {Date|String|Number} date - the given date - * @returns {Number} the milliseconds + * @param {Date|String|Number} date - the date to check + * @returns {Boolean} the date is tomorrow * * @example - * // Get the milliseconds of 29 February 2012 11:45:05.123: - * var result = getMilliseconds(new Date(2012, 1, 29, 11, 45, 5, 123)) - * //=> 123 + * // If today is 6 October 2014, is 7 October 14:00:00 tomorrow? + * var result = isTomorrow(new Date(2014, 9, 7, 14, 0)) + * //=> true */ -function getMilliseconds (dirtyDate) { - var date = parse(dirtyDate) - var milliseconds = date.getMilliseconds() - return milliseconds +function isTomorrow (dirtyDate) { + var tomorrow = new Date() + tomorrow.setDate(tomorrow.getDate() + 1) + return startOfDay(dirtyDate).getTime() === startOfDay(tomorrow).getTime() } -module.exports = getMilliseconds +module.exports = isTomorrow /***/ }), -/* 214 */ -/***/ (function(module) { +/* 247 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = [["0","\u0000",127],["8ea1","。",62],["a1a1"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇"],["a2a1","◆□■△▲▽▼※〒→←↑↓〓"],["a2ba","∈∋⊆⊇⊂⊃∪∩"],["a2ca","∧∨¬⇒⇔∀∃"],["a2dc","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["a2f2","ʼn♯♭♪†‡¶"],["a2fe","◯"],["a3b0","0",9],["a3c1","A",25],["a3e1","a",25],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a8a1","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["ada1","①",19,"Ⅰ",9],["adc0","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["addf","㍻〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["b0a1","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["b1a1","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応"],["b2a1","押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["b3a1","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱"],["b4a1","粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["b5a1","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京"],["b6a1","供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["b7a1","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲"],["b8a1","検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["b9a1","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込"],["baa1","此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["bba1","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時"],["bca1","次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["bda1","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償"],["bea1","勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["bfa1","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾"],["c0a1","澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["c1a1","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎"],["c2a1","臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["c3a1","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵"],["c4a1","帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["c5a1","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到"],["c6a1","董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["c7a1","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦"],["c8a1","函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["c9a1","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服"],["caa1","福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["cba1","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満"],["cca1","漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["cda1","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃"],["cea1","痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["cfa1","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["d0a1","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["d1a1","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨"],["d2a1","辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["d3a1","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉"],["d4a1","圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["d5a1","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓"],["d6a1","屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["d7a1","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚"],["d8a1","悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["d9a1","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼"],["daa1","據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["dba1","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍"],["dca1","棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["dda1","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾"],["dea1","沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["dfa1","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼"],["e0a1","燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e1a1","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"],["e2a1","癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e3a1","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐"],["e4a1","筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e5a1","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺"],["e6a1","罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e7a1","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙"],["e8a1","茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e9a1","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙"],["eaa1","蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["eba1","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫"],["eca1","譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["eda1","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸"],["eea1","遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["efa1","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞"],["f0a1","陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["f1a1","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷"],["f2a1","髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["f3a1","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠"],["f4a1","堯槇遙瑤凜熙"],["f9a1","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德"],["faa1","忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["fba1","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚"],["fca1","釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["fcf1","ⅰ",9,"¬¦'""],["8fa2af","˘ˇ¸˙˝¯˛˚~΄΅"],["8fa2c2","¡¦¿"],["8fa2eb","ºª©®™¤№"],["8fa6e1","ΆΈΉΊΪ"],["8fa6e7","Ό"],["8fa6e9","ΎΫ"],["8fa6ec","Ώ"],["8fa6f1","άέήίϊΐόςύϋΰώ"],["8fa7c2","Ђ",10,"ЎЏ"],["8fa7f2","ђ",10,"ўџ"],["8fa9a1","ÆĐ"],["8fa9a4","Ħ"],["8fa9a6","IJ"],["8fa9a8","ŁĿ"],["8fa9ab","ŊØŒ"],["8fa9af","ŦÞ"],["8fa9c1","æđðħıijĸłŀʼnŋøœßŧþ"],["8faaa1","ÁÀÄÂĂǍĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"],["8faaba","ĜĞĢĠĤÍÌÏÎǏİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑŐŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴÝŸŶŹŽŻ"],["8faba1","áàäâăǎāąåãćĉčçċďéèëêěėēęǵĝğ"],["8fabbd","ġĥíìïîǐ"],["8fabc5","īįĩĵķĺľļńňņñóòöôǒőōõŕřŗśŝšşťţúùüûŭǔűūųůũǘǜǚǖŵýÿŷźžż"],["8fb0a1","丂丄丅丌丒丟丣两丨丫丮丯丰丵乀乁乄乇乑乚乜乣乨乩乴乵乹乿亍亖亗亝亯亹仃仐仚仛仠仡仢仨仯仱仳仵份仾仿伀伂伃伈伋伌伒伕伖众伙伮伱你伳伵伷伹伻伾佀佂佈佉佋佌佒佔佖佘佟佣佪佬佮佱佷佸佹佺佽佾侁侂侄"],["8fb1a1","侅侉侊侌侎侐侒侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀俁俅俆俈俉俋俌俍俏俒俜俠俢俰俲俼俽俿倀倁倄倇倊倌倎倐倓倗倘倛倜倝倞倢倧倮倰倲倳倵偀偁偂偅偆偊偌偎偑偒偓偗偙偟偠偢偣偦偧偪偭偰偱倻傁傃傄傆傊傎傏傐"],["8fb2a1","傒傓傔傖傛傜傞",4,"傪傯傰傹傺傽僀僃僄僇僌僎僐僓僔僘僜僝僟僢僤僦僨僩僯僱僶僺僾儃儆儇儈儋儌儍儎僲儐儗儙儛儜儝儞儣儧儨儬儭儯儱儳儴儵儸儹兂兊兏兓兕兗兘兟兤兦兾冃冄冋冎冘冝冡冣冭冸冺冼冾冿凂"],["8fb3a1","凈减凑凒凓凕凘凞凢凥凮凲凳凴凷刁刂刅划刓刕刖刘刢刨刱刲刵刼剅剉剕剗剘剚剜剟剠剡剦剮剷剸剹劀劂劅劊劌劓劕劖劗劘劚劜劤劥劦劧劯劰劶劷劸劺劻劽勀勄勆勈勌勏勑勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"],["8fb4a1","匌匑匓匘匛匜匞匟匥匧匨匩匫匬匭匰匲匵匼匽匾卂卌卋卙卛卡卣卥卬卭卲卹卾厃厇厈厎厓厔厙厝厡厤厪厫厯厲厴厵厷厸厺厽叀叅叏叒叓叕叚叝叞叠另叧叵吂吓吚吡吧吨吪启吱吴吵呃呄呇呍呏呞呢呤呦呧呩呫呭呮呴呿"],["8fb5a1","咁咃咅咈咉咍咑咕咖咜咟咡咦咧咩咪咭咮咱咷咹咺咻咿哆哊响哎哠哪哬哯哶哼哾哿唀唁唅唈唉唌唍唎唕唪唫唲唵唶唻唼唽啁啇啉啊啍啐啑啘啚啛啞啠啡啤啦啿喁喂喆喈喎喏喑喒喓喔喗喣喤喭喲喿嗁嗃嗆嗉嗋嗌嗎嗑嗒"],["8fb6a1","嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊嘍",5,"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀噁噃噄噆噉噋噍噏噔噞噠噡噢噣噦噩噭噯噱噲噵嚄嚅嚈嚋嚌嚕嚙嚚嚝嚞嚟嚦嚧嚨嚩嚫嚬嚭嚱嚳嚷嚾囅囉囊囋囏囐囌囍囙囜囝囟囡囤",4,"囱囫园"],["8fb7a1","囶囷圁圂圇圊圌圑圕圚圛圝圠圢圣圤圥圩圪圬圮圯圳圴圽圾圿坅坆坌坍坒坢坥坧坨坫坭",4,"坳坴坵坷坹坺坻坼坾垁垃垌垔垗垙垚垜垝垞垟垡垕垧垨垩垬垸垽埇埈埌埏埕埝埞埤埦埧埩埭埰埵埶埸埽埾埿堃堄堈堉埡"],["8fb8a1","堌堍堛堞堟堠堦堧堭堲堹堿塉塌塍塏塐塕塟塡塤塧塨塸塼塿墀墁墇墈墉墊墌墍墏墐墔墖墝墠墡墢墦墩墱墲壄墼壂壈壍壎壐壒壔壖壚壝壡壢壩壳夅夆夋夌夒夓夔虁夝夡夣夤夨夯夰夳夵夶夿奃奆奒奓奙奛奝奞奟奡奣奫奭"],["8fb9a1","奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧妭妮妯妰妳妷妺妼姁姃姄姈姊姍姒姝姞姟姣姤姧姮姯姱姲姴姷娀娄娌娍娎娒娓娞娣娤娧娨娪娭娰婄婅婇婈婌婐婕婞婣婥婧婭婷婺婻婾媋媐媓媖媙媜媞媟媠媢媧媬媱媲媳媵媸媺媻媿"],["8fbaa1","嫄嫆嫈嫏嫚嫜嫠嫥嫪嫮嫵嫶嫽嬀嬁嬈嬗嬴嬙嬛嬝嬡嬥嬭嬸孁孋孌孒孖孞孨孮孯孼孽孾孿宁宄宆宊宎宐宑宓宔宖宨宩宬宭宯宱宲宷宺宼寀寁寍寏寖",4,"寠寯寱寴寽尌尗尞尟尣尦尩尫尬尮尰尲尵尶屙屚屜屢屣屧屨屩"],["8fbba1","屭屰屴屵屺屻屼屽岇岈岊岏岒岝岟岠岢岣岦岪岲岴岵岺峉峋峒峝峗峮峱峲峴崁崆崍崒崫崣崤崦崧崱崴崹崽崿嵂嵃嵆嵈嵕嵑嵙嵊嵟嵠嵡嵢嵤嵪嵭嵰嵹嵺嵾嵿嶁嶃嶈嶊嶒嶓嶔嶕嶙嶛嶟嶠嶧嶫嶰嶴嶸嶹巃巇巋巐巎巘巙巠巤"],["8fbca1","巩巸巹帀帇帍帒帔帕帘帟帠帮帨帲帵帾幋幐幉幑幖幘幛幜幞幨幪",4,"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜弝弡弢弣弤弨弫弬弮弰弴弶弻弽弿彀彄彅彇彍彐彔彘彛彠彣彤彧"],["8fbda1","彯彲彴彵彸彺彽彾徉徍徏徖徜徝徢徧徫徤徬徯徰徱徸忄忇忈忉忋忐",4,"忞忡忢忨忩忪忬忭忮忯忲忳忶忺忼怇怊怍怓怔怗怘怚怟怤怭怳怵恀恇恈恉恌恑恔恖恗恝恡恧恱恾恿悂悆悈悊悎悑悓悕悘悝悞悢悤悥您悰悱悷"],["8fbea1","悻悾惂惄惈惉惊惋惎惏惔惕惙惛惝惞惢惥惲惵惸惼惽愂愇愊愌愐",4,"愖愗愙愜愞愢愪愫愰愱愵愶愷愹慁慅慆慉慞慠慬慲慸慻慼慿憀憁憃憄憋憍憒憓憗憘憜憝憟憠憥憨憪憭憸憹憼懀懁懂懎懏懕懜懝懞懟懡懢懧懩懥"],["8fbfa1","懬懭懯戁戃戄戇戓戕戜戠戢戣戧戩戫戹戽扂扃扄扆扌扐扑扒扔扖扚扜扤扭扯扳扺扽抍抎抏抐抦抨抳抶抷抺抾抿拄拎拕拖拚拪拲拴拼拽挃挄挊挋挍挐挓挖挘挩挪挭挵挶挹挼捁捂捃捄捆捊捋捎捒捓捔捘捛捥捦捬捭捱捴捵"],["8fc0a1","捸捼捽捿掂掄掇掊掐掔掕掙掚掞掤掦掭掮掯掽揁揅揈揎揑揓揔揕揜揠揥揪揬揲揳揵揸揹搉搊搐搒搔搘搞搠搢搤搥搩搪搯搰搵搽搿摋摏摑摒摓摔摚摛摜摝摟摠摡摣摭摳摴摻摽撅撇撏撐撑撘撙撛撝撟撡撣撦撨撬撳撽撾撿"],["8fc1a1","擄擉擊擋擌擎擐擑擕擗擤擥擩擪擭擰擵擷擻擿攁攄攈攉攊攏攓攔攖攙攛攞攟攢攦攩攮攱攺攼攽敃敇敉敐敒敔敟敠敧敫敺敽斁斅斊斒斕斘斝斠斣斦斮斲斳斴斿旂旈旉旎旐旔旖旘旟旰旲旴旵旹旾旿昀昄昈昉昍昑昒昕昖昝"],["8fc2a1","昞昡昢昣昤昦昩昪昫昬昮昰昱昳昹昷晀晅晆晊晌晑晎晗晘晙晛晜晠晡曻晪晫晬晾晳晵晿晷晸晹晻暀晼暋暌暍暐暒暙暚暛暜暟暠暤暭暱暲暵暻暿曀曂曃曈曌曎曏曔曛曟曨曫曬曮曺朅朇朎朓朙朜朠朢朳朾杅杇杈杌杔杕杝"],["8fc3a1","杦杬杮杴杶杻极构枎枏枑枓枖枘枙枛枰枱枲枵枻枼枽柹柀柂柃柅柈柉柒柗柙柜柡柦柰柲柶柷桒栔栙栝栟栨栧栬栭栯栰栱栳栻栿桄桅桊桌桕桗桘桛桫桮",4,"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌棏"],["8fc4a1","棐棑棓棖棙棜棝棥棨棪棫棬棭棰棱棵棶棻棼棽椆椉椊椐椑椓椖椗椱椳椵椸椻楂楅楉楎楗楛楣楤楥楦楨楩楬楰楱楲楺楻楿榀榍榒榖榘榡榥榦榨榫榭榯榷榸榺榼槅槈槑槖槗槢槥槮槯槱槳槵槾樀樁樃樏樑樕樚樝樠樤樨樰樲"],["8fc5a1","樴樷樻樾樿橅橆橉橊橎橐橑橒橕橖橛橤橧橪橱橳橾檁檃檆檇檉檋檑檛檝檞檟檥檫檯檰檱檴檽檾檿櫆櫉櫈櫌櫐櫔櫕櫖櫜櫝櫤櫧櫬櫰櫱櫲櫼櫽欂欃欆欇欉欏欐欑欗欛欞欤欨欫欬欯欵欶欻欿歆歊歍歒歖歘歝歠歧歫歮歰歵歽"],["8fc6a1","歾殂殅殗殛殟殠殢殣殨殩殬殭殮殰殸殹殽殾毃毄毉毌毖毚毡毣毦毧毮毱毷毹毿氂氄氅氉氍氎氐氒氙氟氦氧氨氬氮氳氵氶氺氻氿汊汋汍汏汒汔汙汛汜汫汭汯汴汶汸汹汻沅沆沇沉沔沕沗沘沜沟沰沲沴泂泆泍泏泐泑泒泔泖"],["8fc7a1","泚泜泠泧泩泫泬泮泲泴洄洇洊洎洏洑洓洚洦洧洨汧洮洯洱洹洼洿浗浞浟浡浥浧浯浰浼涂涇涑涒涔涖涗涘涪涬涴涷涹涽涿淄淈淊淎淏淖淛淝淟淠淢淥淩淯淰淴淶淼渀渄渞渢渧渲渶渹渻渼湄湅湈湉湋湏湑湒湓湔湗湜湝湞"],["8fc8a1","湢湣湨湳湻湽溍溓溙溠溧溭溮溱溳溻溿滀滁滃滇滈滊滍滎滏滫滭滮滹滻滽漄漈漊漌漍漖漘漚漛漦漩漪漯漰漳漶漻漼漭潏潑潒潓潗潙潚潝潞潡潢潨潬潽潾澃澇澈澋澌澍澐澒澓澔澖澚澟澠澥澦澧澨澮澯澰澵澶澼濅濇濈濊"],["8fc9a1","濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇瀍瀗瀠瀣瀯瀴瀷瀹瀼灃灄灈灉灊灋灔灕灝灞灎灤灥灬灮灵灶灾炁炅炆炔",4,"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",4,"焋焌焏焞焠焫焭焯焰焱焸煁煅煆煇煊煋煐煒煗煚煜煞煠"],["8fcaa1","煨煹熀熅熇熌熒熚熛熠熢熯熰熲熳熺熿燀燁燄燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚爝爟爤爫爯爴爸爹牁牂牃牅牎牏牐牓牕牖牚牜牞牠牣牨牫牮牯牱牷牸牻牼牿犄犉犍犎犓犛犨犭犮犱犴犾狁狇狉狌狕狖狘狟狥狳狴狺狻"],["8fcba1","狾猂猄猅猇猋猍猒猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽獃獍獐獒獖獘獝獞獟獠獦獧獩獫獬獮獯獱獷獹獼玀玁玃玅玆玎玐玓玕玗玘玜玞玟玠玢玥玦玪玫玭玵玷玹玼玽玿珅珆珉珋珌珏珒珓珖珙珝珡珣珦珧珩珴珵珷珹珺珻珽"],["8fcca1","珿琀琁琄琇琊琑琚琛琤琦琨",9,"琹瑀瑃瑄瑆瑇瑋瑍瑑瑒瑗瑝瑢瑦瑧瑨瑫瑭瑮瑱瑲璀璁璅璆璇璉璏璐璑璒璘璙璚璜璟璠璡璣璦璨璩璪璫璮璯璱璲璵璹璻璿瓈瓉瓌瓐瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"],["8fcda1","甒甖甗甠甡甤甧甩甪甯甶甹甽甾甿畀畃畇畈畎畐畒畗畞畟畡畯畱畹",5,"疁疅疐疒疓疕疙疜疢疤疴疺疿痀痁痄痆痌痎痏痗痜痟痠痡痤痧痬痮痯痱痹瘀瘂瘃瘄瘇瘈瘊瘌瘏瘒瘓瘕瘖瘙瘛瘜瘝瘞瘣瘥瘦瘩瘭瘲瘳瘵瘸瘹"],["8fcea1","瘺瘼癊癀癁癃癄癅癉癋癕癙癟癤癥癭癮癯癱癴皁皅皌皍皕皛皜皝皟皠皢",6,"皪皭皽盁盅盉盋盌盎盔盙盠盦盨盬盰盱盶盹盼眀眆眊眎眒眔眕眗眙眚眜眢眨眭眮眯眴眵眶眹眽眾睂睅睆睊睍睎睏睒睖睗睜睞睟睠睢"],["8fcfa1","睤睧睪睬睰睲睳睴睺睽瞀瞄瞌瞍瞔瞕瞖瞚瞟瞢瞧瞪瞮瞯瞱瞵瞾矃矉矑矒矕矙矞矟矠矤矦矪矬矰矱矴矸矻砅砆砉砍砎砑砝砡砢砣砭砮砰砵砷硃硄硇硈硌硎硒硜硞硠硡硣硤硨硪确硺硾碊碏碔碘碡碝碞碟碤碨碬碭碰碱碲碳"],["8fd0a1","碻碽碿磇磈磉磌磎磒磓磕磖磤磛磟磠磡磦磪磲磳礀磶磷磺磻磿礆礌礐礚礜礞礟礠礥礧礩礭礱礴礵礻礽礿祄祅祆祊祋祏祑祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊秏秔秖秚秝秞"],["8fd1a1","秠秢秥秪秫秭秱秸秼稂稃稇稉稊稌稑稕稛稞稡稧稫稭稯稰稴稵稸稹稺穄穅穇穈穌穕穖穙穜穝穟穠穥穧穪穭穵穸穾窀窂窅窆窊窋窐窑窔窞窠窣窬窳窵窹窻窼竆竉竌竎竑竛竨竩竫竬竱竴竻竽竾笇笔笟笣笧笩笪笫笭笮笯笰"],["8fd2a1","笱笴笽笿筀筁筇筎筕筠筤筦筩筪筭筯筲筳筷箄箉箎箐箑箖箛箞箠箥箬箯箰箲箵箶箺箻箼箽篂篅篈篊篔篖篗篙篚篛篨篪篲篴篵篸篹篺篼篾簁簂簃簄簆簉簋簌簎簏簙簛簠簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",5],["8fd3a1","籡籣籧籩籭籮籰籲籹籼籽粆粇粏粔粞粠粦粰粶粷粺粻粼粿糄糇糈糉糍糏糓糔糕糗糙糚糝糦糩糫糵紃紇紈紉紏紑紒紓紖紝紞紣紦紪紭紱紼紽紾絀絁絇絈絍絑絓絗絙絚絜絝絥絧絪絰絸絺絻絿綁綂綃綅綆綈綋綌綍綑綖綗綝"],["8fd4a1","綞綦綧綪綳綶綷綹緂",4,"緌緍緎緗緙縀緢緥緦緪緫緭緱緵緶緹緺縈縐縑縕縗縜縝縠縧縨縬縭縯縳縶縿繄繅繇繎繐繒繘繟繡繢繥繫繮繯繳繸繾纁纆纇纊纍纑纕纘纚纝纞缼缻缽缾缿罃罄罇罏罒罓罛罜罝罡罣罤罥罦罭"],["8fd5a1","罱罽罾罿羀羋羍羏羐羑羖羗羜羡羢羦羪羭羴羼羿翀翃翈翎翏翛翟翣翥翨翬翮翯翲翺翽翾翿耇耈耊耍耎耏耑耓耔耖耝耞耟耠耤耦耬耮耰耴耵耷耹耺耼耾聀聄聠聤聦聭聱聵肁肈肎肜肞肦肧肫肸肹胈胍胏胒胔胕胗胘胠胭胮"],["8fd6a1","胰胲胳胶胹胺胾脃脋脖脗脘脜脞脠脤脧脬脰脵脺脼腅腇腊腌腒腗腠腡腧腨腩腭腯腷膁膐膄膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎臏臕臗臛臝臞臡臤臫臬臰臱臲臵臶臸臹臽臿舀舃舏舓舔舙舚舝舡舢舨舲舴舺艃艄艅艆"],["8fd7a1","艋艎艏艑艖艜艠艣艧艭艴艻艽艿芀芁芃芄芇芉芊芎芑芔芖芘芚芛芠芡芣芤芧芨芩芪芮芰芲芴芷芺芼芾芿苆苐苕苚苠苢苤苨苪苭苯苶苷苽苾茀茁茇茈茊茋荔茛茝茞茟茡茢茬茭茮茰茳茷茺茼茽荂荃荄荇荍荎荑荕荖荗荰荸"],["8fd8a1","荽荿莀莂莄莆莍莒莔莕莘莙莛莜莝莦莧莩莬莾莿菀菇菉菏菐菑菔菝荓菨菪菶菸菹菼萁萆萊萏萑萕萙莭萯萹葅葇葈葊葍葏葑葒葖葘葙葚葜葠葤葥葧葪葰葳葴葶葸葼葽蒁蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌蓏蓓"],["8fd9a1","蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎蔐蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆蕏",4,"蕖蕙蕜",6,"蕤蕫蕯蕹蕺蕻蕽蕿薁薅薆薉薋薌薏薓薘薝薟薠薢薥薧薴薶薷薸薼薽薾薿藂藇藊藋藎薭藘藚藟藠藦藨藭藳藶藼"],["8fdaa1","藿蘀蘄蘅蘍蘎蘐蘑蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙虝虠",4,"虩虬虯虵虶虷虺蚍蚑蚖蚘蚚蚜蚡蚦蚧蚨蚭蚱蚳蚴蚵蚷蚸蚹蚿蛀蛁蛃蛅蛑蛒蛕蛗蛚蛜蛠蛣蛥蛧蚈蛺蛼蛽蜄蜅蜇蜋蜎蜏蜐蜓蜔蜙蜞蜟蜡蜣"],["8fdba1","蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾蝀蝃蝅蝍蝘蝝蝡蝤蝥蝯蝱蝲蝻螃",6,"螋螌螐螓螕螗螘螙螞螠螣螧螬螭螮螱螵螾螿蟁蟈蟉蟊蟎蟕蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫蟭蟱蟳蟸蟺蟿蠁蠃蠆蠉蠊蠋蠐蠙蠒蠓蠔蠘蠚蠛蠜蠞蠟蠨蠭蠮蠰蠲蠵"],["8fdca1","蠺蠼衁衃衅衈衉衊衋衎衑衕衖衘衚衜衟衠衤衩衱衹衻袀袘袚袛袜袟袠袨袪袺袽袾裀裊",4,"裑裒裓裛裞裧裯裰裱裵裷褁褆褍褎褏褕褖褘褙褚褜褠褦褧褨褰褱褲褵褹褺褾襀襂襅襆襉襏襒襗襚襛襜襡襢襣襫襮襰襳襵襺"],["8fdda1","襻襼襽覉覍覐覔覕覛覜覟覠覥覰覴覵覶覷覼觔",4,"觥觩觫觭觱觳觶觹觽觿訄訅訇訏訑訒訔訕訞訠訢訤訦訫訬訯訵訷訽訾詀詃詅詇詉詍詎詓詖詗詘詜詝詡詥詧詵詶詷詹詺詻詾詿誀誃誆誋誏誐誒誖誗誙誟誧誩誮誯誳"],["8fdea1","誶誷誻誾諃諆諈諉諊諑諓諔諕諗諝諟諬諰諴諵諶諼諿謅謆謋謑謜謞謟謊謭謰謷謼譂",4,"譈譒譓譔譙譍譞譣譭譶譸譹譼譾讁讄讅讋讍讏讔讕讜讞讟谸谹谽谾豅豇豉豋豏豑豓豔豗豘豛豝豙豣豤豦豨豩豭豳豵豶豻豾貆"],["8fdfa1","貇貋貐貒貓貙貛貜貤貹貺賅賆賉賋賏賖賕賙賝賡賨賬賯賰賲賵賷賸賾賿贁贃贉贒贗贛赥赩赬赮赿趂趄趈趍趐趑趕趞趟趠趦趫趬趯趲趵趷趹趻跀跅跆跇跈跊跎跑跔跕跗跙跤跥跧跬跰趼跱跲跴跽踁踄踅踆踋踑踔踖踠踡踢"],["8fe0a1","踣踦踧踱踳踶踷踸踹踽蹀蹁蹋蹍蹎蹏蹔蹛蹜蹝蹞蹡蹢蹩蹬蹭蹯蹰蹱蹹蹺蹻躂躃躉躐躒躕躚躛躝躞躢躧躩躭躮躳躵躺躻軀軁軃軄軇軏軑軔軜軨軮軰軱軷軹軺軭輀輂輇輈輏輐輖輗輘輞輠輡輣輥輧輨輬輭輮輴輵輶輷輺轀轁"],["8fe1a1","轃轇轏轑",4,"轘轝轞轥辝辠辡辤辥辦辵辶辸达迀迁迆迊迋迍运迒迓迕迠迣迤迨迮迱迵迶迻迾适逄逈逌逘逛逨逩逯逪逬逭逳逴逷逿遃遄遌遛遝遢遦遧遬遰遴遹邅邈邋邌邎邐邕邗邘邙邛邠邡邢邥邰邲邳邴邶邽郌邾郃"],["8fe2a1","郄郅郇郈郕郗郘郙郜郝郟郥郒郶郫郯郰郴郾郿鄀鄄鄅鄆鄈鄍鄐鄔鄖鄗鄘鄚鄜鄞鄠鄥鄢鄣鄧鄩鄮鄯鄱鄴鄶鄷鄹鄺鄼鄽酃酇酈酏酓酗酙酚酛酡酤酧酭酴酹酺酻醁醃醅醆醊醎醑醓醔醕醘醞醡醦醨醬醭醮醰醱醲醳醶醻醼醽醿"],["8fe3a1","釂釃釅釓釔釗釙釚釞釤釥釩釪釬",5,"釷釹釻釽鈀鈁鈄鈅鈆鈇鈉鈊鈌鈐鈒鈓鈖鈘鈜鈝鈣鈤鈥鈦鈨鈮鈯鈰鈳鈵鈶鈸鈹鈺鈼鈾鉀鉂鉃鉆鉇鉊鉍鉎鉏鉑鉘鉙鉜鉝鉠鉡鉥鉧鉨鉩鉮鉯鉰鉵",4,"鉻鉼鉽鉿銈銉銊銍銎銒銗"],["8fe4a1","銙銟銠銤銥銧銨銫銯銲銶銸銺銻銼銽銿",4,"鋅鋆鋇鋈鋋鋌鋍鋎鋐鋓鋕鋗鋘鋙鋜鋝鋟鋠鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈錍錑錔錕錜錝錞錟錡錤錥錧錩錪錳錴錶錷鍇鍈鍉鍐鍑鍒鍕鍗鍘鍚鍞鍤鍥鍧鍩鍪鍭鍯鍰鍱鍳鍴鍶"],["8fe5a1","鍺鍽鍿鎀鎁鎂鎈鎊鎋鎍鎏鎒鎕鎘鎛鎞鎡鎣鎤鎦鎨鎫鎴鎵鎶鎺鎩鏁鏄鏅鏆鏇鏉",4,"鏓鏙鏜鏞鏟鏢鏦鏧鏹鏷鏸鏺鏻鏽鐁鐂鐄鐈鐉鐍鐎鐏鐕鐖鐗鐟鐮鐯鐱鐲鐳鐴鐻鐿鐽鑃鑅鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫鑭鑮鑯鑱鑲钄钃镸镹"],["8fe6a1","镾閄閈閌閍閎閝閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋闐闑闒闓闙闚闝闞闟闠闤闦阝阞阢阤阥阦阬阱阳阷阸阹阺阼阽陁陒陔陖陗陘陡陮陴陻陼陾陿隁隂隃隄隉隑隖隚隝隟隤隥隦隩隮隯隳隺雊雒嶲雘雚雝雞雟雩雯雱雺霂"],["8fe7a1","霃霅霉霚霛霝霡霢霣霨霱霳靁靃靊靎靏靕靗靘靚靛靣靧靪靮靳靶靷靸靻靽靿鞀鞉鞕鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿韁韄韅韇韉韊韌韍韎韐韑韔韗韘韙韝韞韠韛韡韤韯韱韴韷韸韺頇頊頙頍頎頔頖頜頞頠頣頦"],["8fe8a1","頫頮頯頰頲頳頵頥頾顄顇顊顑顒顓顖顗顙顚顢顣顥顦顪顬颫颭颮颰颴颷颸颺颻颿飂飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",4,"餹餺餻餼饀饁饆饇饈饍饎饔饘饙饛饜饞饟饠馛馝馟馦馰馱馲馵"],["8fe9a1","馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌騐騑騖騞騠騢騣騤騧騭騮騳騵騶騸驇驁驄驊驋驌驎驑驔驖驝骪骬骮骯骲骴骵骶骹骻骾骿髁髃髆髈髎髐髒髕髖髗髛髜髠髤髥髧髩髬髲髳髵髹髺髽髿",4],["8feaa1","鬄鬅鬈鬉鬋鬌鬍鬎鬐鬒鬖鬙鬛鬜鬠鬦鬫鬭鬳鬴鬵鬷鬹鬺鬽魈魋魌魕魖魗魛魞魡魣魥魦魨魪",4,"魳魵魷魸魹魿鮀鮄鮅鮆鮇鮉鮊鮋鮍鮏鮐鮔鮚鮝鮞鮦鮧鮩鮬鮰鮱鮲鮷鮸鮻鮼鮾鮿鯁鯇鯈鯎鯐鯗鯘鯝鯟鯥鯧鯪鯫鯯鯳鯷鯸"],["8feba1","鯹鯺鯽鯿鰀鰂鰋鰏鰑鰖鰘鰙鰚鰜鰞鰢鰣鰦",4,"鰱鰵鰶鰷鰽鱁鱃鱄鱅鱉鱊鱎鱏鱐鱓鱔鱖鱘鱛鱝鱞鱟鱣鱩鱪鱜鱫鱨鱮鱰鱲鱵鱷鱻鳦鳲鳷鳹鴋鴂鴑鴗鴘鴜鴝鴞鴯鴰鴲鴳鴴鴺鴼鵅鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"],["8feca1","鵼鵾鶃鶄鶆鶊鶍鶎鶒鶓鶕鶖鶗鶘鶡鶪鶬鶮鶱鶵鶹鶼鶿鷃鷇鷉鷊鷔鷕鷖鷗鷚鷞鷟鷠鷥鷧鷩鷫鷮鷰鷳鷴鷾鸊鸂鸇鸎鸐鸑鸒鸕鸖鸙鸜鸝鹺鹻鹼麀麂麃麄麅麇麎麏麖麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬黭黮黰黱黲黵"],["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"]]; +"use strict"; -/***/ }), -/* 215 */, -/* 216 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +const os = __webpack_require__(87); +const tty = __webpack_require__(993); +const hasFlag = __webpack_require__(776); -var _indexOf = /*#__PURE__*/__webpack_require__(627); +const {env} = process; -function _includes(a, list) { - return _indexOf(list, a, 0) >= 0; +let forceColor; +if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false') || + hasFlag('color=never')) { + forceColor = 0; +} else if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + forceColor = 1; } -module.exports = _includes; -/***/ }), -/* 217 */, -/* 218 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +if ('FORCE_COLOR' in env) { + if (env.FORCE_COLOR === 'true') { + forceColor = 1; + } else if (env.FORCE_COLOR === 'false') { + forceColor = 0; + } else { + forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3); + } +} -var add = /*#__PURE__*/__webpack_require__(792); +function translateLevel(level) { + if (level === 0) { + return false; + } -var reduce = /*#__PURE__*/__webpack_require__(46); + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} -/** - * Adds together all the elements of a list. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Math - * @sig [Number] -> Number - * @param {Array} list An array of numbers - * @return {Number} The sum of all the numbers in the list. - * @see R.reduce - * @example - * - * R.sum([2,4,6,8,100,1]); //=> 121 - */ +function supportsColor(haveStream, streamIsTTY) { + if (forceColor === 0) { + return 0; + } + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } -var sum = /*#__PURE__*/reduce(add, 0); -module.exports = sum; + if (hasFlag('color=256')) { + return 2; + } -/***/ }), -/* 219 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + if (haveStream && !streamIsTTY && forceColor === undefined) { + return 0; + } -var _arity = /*#__PURE__*/__webpack_require__(451); + const min = forceColor || 0; -var _concat = /*#__PURE__*/__webpack_require__(340); + if (env.TERM === 'dumb') { + return min; + } -var _curry2 = /*#__PURE__*/__webpack_require__(830); + if (process.platform === 'win32') { + // Windows 10 build 10586 is the first Windows release that supports 256 colors. + // Windows 10 build 14931 is the first release that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(osRelease[0]) >= 10 && + Number(osRelease[2]) >= 10586 + ) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } -/** - * `tryCatch` takes two functions, a `tryer` and a `catcher`. The returned - * function evaluates the `tryer`; if it does not throw, it simply returns the - * result. If the `tryer` *does* throw, the returned function evaluates the - * `catcher` function and returns its result. Note that for effective - * composition with this function, both the `tryer` and `catcher` functions - * must return the same type of results. - * - * @func - * @memberOf R - * @since v0.20.0 - * @category Function - * @sig (...x -> a) -> ((e, ...x) -> a) -> (...x -> a) - * @param {Function} tryer The function that may throw. - * @param {Function} catcher The function that will be evaluated if `tryer` throws. - * @return {Function} A new function that will catch exceptions and send then to the catcher. - * @example - * - * R.tryCatch(R.prop('x'), R.F)({x: true}); //=> true - * R.tryCatch(() => { throw 'foo'}, R.always('catched'))('bar') // => 'catched' - * R.tryCatch(R.times(R.identity), R.always([]))('s') // => [] - `` */ + return 1; + } + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } -var tryCatch = /*#__PURE__*/_curry2(function _tryCatch(tryer, catcher) { - return _arity(tryer.length, function () { - try { - return tryer.apply(this, arguments); - } catch (e) { - return catcher.apply(this, _concat([e], arguments)); - } - }); -}); -module.exports = tryCatch; + return min; + } -/***/ }), -/* 220 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } -"use strict"; + if (env.COLORTERM === 'truecolor') { + return 3; + } -module.exports = function(Promise, - PromiseArray, - apiRejection, - tryConvertToPromise, - INTERNAL, - debug) { -var util = __webpack_require__(248); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; + if ('TERM_PROGRAM' in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); -function MappingPromiseArray(promises, fn, limit, _filter) { - this.constructor$(promises); - this._promise._captureStackTrace(); - var context = Promise._getContext(); - this._callback = util.contextBind(context, fn); - this._preservedValues = _filter === INTERNAL - ? new Array(this.length()) - : null; - this._limit = limit; - this._inFlight = 0; - this._queue = []; - async.invoke(this._asyncInit, this, undefined); - if (util.isArray(promises)) { - for (var i = 0; i < promises.length; ++i) { - var maybePromise = promises[i]; - if (maybePromise instanceof Promise) { - maybePromise.suppressUnhandledRejections(); - } - } - } -} -util.inherits(MappingPromiseArray, PromiseArray); + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + case 'Apple_Terminal': + return 2; + // No default + } + } -MappingPromiseArray.prototype._asyncInit = function() { - this._init$(undefined, -2); -}; + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } -MappingPromiseArray.prototype._init = function () {}; + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } -MappingPromiseArray.prototype._promiseFulfilled = function (value, index) { - var values = this._values; - var length = this.length(); - var preservedValues = this._preservedValues; - var limit = this._limit; + if ('COLORTERM' in env) { + return 1; + } - if (index < 0) { - index = (index * -1) - 1; - values[index] = value; - if (limit >= 1) { - this._inFlight--; - this._drainQueue(); - if (this._isResolved()) return true; - } - } else { - if (limit >= 1 && this._inFlight >= limit) { - values[index] = value; - this._queue.push(index); - return false; - } - if (preservedValues !== null) preservedValues[index] = value; + return min; +} - var promise = this._promise; - var callback = this._callback; - var receiver = promise._boundValue(); - promise._pushContext(); - var ret = tryCatch(callback).call(receiver, value, index, length); - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, - promiseCreated, - preservedValues !== null ? "Promise.filter" : "Promise.map", - promise - ); - if (ret === errorObj) { - this._reject(ret.e); - return true; - } +function getSupportLevel(stream) { + const level = supportsColor(stream, stream && stream.isTTY); + return translateLevel(level); +} - var maybePromise = tryConvertToPromise(ret, this._promise); - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - if (limit >= 1) this._inFlight++; - values[index] = maybePromise; - maybePromise._proxy(this, (index + 1) * -1); - return false; - } else if (((bitField & 33554432) !== 0)) { - ret = maybePromise._value(); - } else if (((bitField & 16777216) !== 0)) { - this._reject(maybePromise._reason()); - return true; - } else { - this._cancel(); - return true; - } - } - values[index] = ret; - } - var totalResolved = ++this._totalResolved; - if (totalResolved >= length) { - if (preservedValues !== null) { - this._filter(values, preservedValues); - } else { - this._resolve(values); - } - return true; - } - return false; +module.exports = { + supportsColor: getSupportLevel, + stdout: translateLevel(supportsColor(true, tty.isatty(1))), + stderr: translateLevel(supportsColor(true, tty.isatty(2))) }; -MappingPromiseArray.prototype._drainQueue = function () { - var queue = this._queue; - var limit = this._limit; - var values = this._values; - while (queue.length > 0 && this._inFlight < limit) { - if (this._isResolved()) return; - var index = queue.pop(); - this._promiseFulfilled(values[index], index); - } -}; -MappingPromiseArray.prototype._filter = function (booleans, values) { - var len = values.length; - var ret = new Array(len); - var j = 0; - for (var i = 0; i < len; ++i) { - if (booleans[i]) ret[j++] = values[i]; - } - ret.length = j; - this._resolve(ret); -}; +/***/ }), +/* 248 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -MappingPromiseArray.prototype.preservedValues = function () { - return this._preservedValues; -}; +"use strict"; -function map(promises, fn, options, _filter) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); +var es5 = __webpack_require__(883); +var canEvaluate = typeof navigator == "undefined"; + +var errorObj = {e: {}}; +var tryCatchTarget; +var globalObject = typeof self !== "undefined" ? self : + typeof window !== "undefined" ? window : + typeof global !== "undefined" ? global : + this !== undefined ? this : null; + +function tryCatcher() { + try { + var target = tryCatchTarget; + tryCatchTarget = null; + return target.apply(this, arguments); + } catch (e) { + errorObj.e = e; + return errorObj; } +} +function tryCatch(fn) { + tryCatchTarget = fn; + return tryCatcher; +} - var limit = 0; - if (options !== undefined) { - if (typeof options === "object" && options !== null) { - if (typeof options.concurrency !== "number") { - return Promise.reject( - new TypeError("'concurrency' must be a number but it is " + - util.classString(options.concurrency))); +var inherits = function(Child, Parent) { + var hasProp = {}.hasOwnProperty; + + function T() { + this.constructor = Child; + this.constructor$ = Parent; + for (var propertyName in Parent.prototype) { + if (hasProp.call(Parent.prototype, propertyName) && + propertyName.charAt(propertyName.length-1) !== "$" + ) { + this[propertyName + "$"] = Parent.prototype[propertyName]; } - limit = options.concurrency; - } else { - return Promise.reject(new TypeError( - "options argument must be an object but it is " + - util.classString(options))); } } - limit = typeof limit === "number" && - isFinite(limit) && limit >= 1 ? limit : 0; - return new MappingPromiseArray(promises, fn, limit, _filter).promise(); -} - -Promise.prototype.map = function (fn, options) { - return map(this, fn, options, null); + T.prototype = Parent.prototype; + Child.prototype = new T(); + return Child.prototype; }; -Promise.map = function (promises, fn, options, _filter) { - return map(promises, fn, options, _filter); -}; +function isPrimitive(val) { + return val == null || val === true || val === false || + typeof val === "string" || typeof val === "number"; -}; +} +function isObject(value) { + return typeof value === "function" || + typeof value === "object" && value !== null; +} -/***/ }), -/* 221 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +function maybeWrapAsError(maybeError) { + if (!isPrimitive(maybeError)) return maybeError; -var _curry2 = /*#__PURE__*/__webpack_require__(830); + return new Error(safeToString(maybeError)); +} -/** - * Takes a list and a predicate and returns a pair of lists with the following properties: - * - * - the result of concatenating the two output lists is equivalent to the input list; - * - none of the elements of the first output list satisfies the predicate; and - * - if the second output list is non-empty, its first element satisfies the predicate. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig (a -> Boolean) -> [a] -> [[a], [a]] - * @param {Function} pred The predicate that determines where the array is split. - * @param {Array} list The array to be split. - * @return {Array} - * @example - * - * R.splitWhen(R.equals(2), [1, 2, 3, 1, 2, 3]); //=> [[1], [2, 3, 1, 2, 3]] - */ +function withAppended(target, appendee) { + var len = target.length; + var ret = new Array(len + 1); + var i; + for (i = 0; i < len; ++i) { + ret[i] = target[i]; + } + ret[i] = appendee; + return ret; +} +function getDataPropertyOrDefault(obj, key, defaultValue) { + if (es5.isES5) { + var desc = Object.getOwnPropertyDescriptor(obj, key); -var splitWhen = /*#__PURE__*/_curry2(function splitWhen(pred, list) { - var idx = 0; - var len = list.length; - var prefix = []; + if (desc != null) { + return desc.get == null && desc.set == null + ? desc.value + : defaultValue; + } + } else { + return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined; + } +} - while (idx < len && !pred(list[idx])) { - prefix.push(list[idx]); - idx += 1; - } +function notEnumerableProp(obj, name, value) { + if (isPrimitive(obj)) return obj; + var descriptor = { + value: value, + configurable: true, + enumerable: false, + writable: true + }; + es5.defineProperty(obj, name, descriptor); + return obj; +} - return [prefix, Array.prototype.slice.call(list, idx)]; -}); -module.exports = splitWhen; +function thrower(r) { + throw r; +} -/***/ }), -/* 222 */, -/* 223 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +var inheritedDataKeys = (function() { + var excludedPrototypes = [ + Array.prototype, + Object.prototype, + Function.prototype + ]; -var _curry1 = /*#__PURE__*/__webpack_require__(721); + var isExcludedProto = function(val) { + for (var i = 0; i < excludedPrototypes.length; ++i) { + if (excludedPrototypes[i] === val) { + return true; + } + } + return false; + }; -var mean = /*#__PURE__*/__webpack_require__(460); + if (es5.isES5) { + var getKeys = Object.getOwnPropertyNames; + return function(obj) { + var ret = []; + var visitedKeys = Object.create(null); + while (obj != null && !isExcludedProto(obj)) { + var keys; + try { + keys = getKeys(obj); + } catch (e) { + return ret; + } + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + if (visitedKeys[key]) continue; + visitedKeys[key] = true; + var desc = Object.getOwnPropertyDescriptor(obj, key); + if (desc != null && desc.get == null && desc.set == null) { + ret.push(key); + } + } + obj = es5.getPrototypeOf(obj); + } + return ret; + }; + } else { + var hasProp = {}.hasOwnProperty; + return function(obj) { + if (isExcludedProto(obj)) return []; + var ret = []; -/** - * Returns the median of the given list of numbers. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category Math - * @sig [Number] -> Number - * @param {Array} list - * @return {Number} - * @see R.mean - * @example - * - * R.median([2, 9, 7]); //=> 7 - * R.median([7, 2, 10, 9]); //=> 8 - * R.median([]); //=> NaN - */ + /*jshint forin:false */ + enumeration: for (var key in obj) { + if (hasProp.call(obj, key)) { + ret.push(key); + } else { + for (var i = 0; i < excludedPrototypes.length; ++i) { + if (hasProp.call(excludedPrototypes[i], key)) { + continue enumeration; + } + } + ret.push(key); + } + } + return ret; + }; + } +})(); -var median = /*#__PURE__*/_curry1(function median(list) { - var len = list.length; - if (len === 0) { - return NaN; - } - var width = 2 - len % 2; - var idx = (len - width) / 2; - return mean(Array.prototype.slice.call(list, 0).sort(function (a, b) { - return a < b ? -1 : a > b ? 1 : 0; - }).slice(idx, idx + width)); -}); -module.exports = median; +var thisAssignmentPattern = /this\s*\.\s*\S+\s*=/; +function isClass(fn) { + try { + if (typeof fn === "function") { + var keys = es5.names(fn.prototype); -/***/ }), -/* 224 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + var hasMethods = es5.isES5 && keys.length > 1; + var hasMethodsOtherThanConstructor = keys.length > 0 && + !(keys.length === 1 && keys[0] === "constructor"); + var hasThisAssignmentAndStaticMethods = + thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; -var parse = __webpack_require__(751) + if (hasMethods || hasMethodsOtherThanConstructor || + hasThisAssignmentAndStaticMethods) { + return true; + } + } + return false; + } catch (e) { + return false; + } +} -/** - * @category Year Helpers - * @summary Return the end of a year for the given date. - * - * @description - * Return the end of a year for the given date. - * The result will be in the local timezone. - * - * @param {Date|String|Number} date - the original date - * @returns {Date} the end of a year - * - * @example - * // The end of a year for 2 September 2014 11:55:00: - * var result = endOfYear(new Date(2014, 8, 2, 11, 55, 00)) - * //=> Wed Dec 31 2014 23:59:59.999 - */ -function endOfYear (dirtyDate) { - var date = parse(dirtyDate) - var year = date.getFullYear() - date.setFullYear(year + 1, 0, 0) - date.setHours(23, 59, 59, 999) - return date +function toFastProperties(obj) { + /*jshint -W027,-W055,-W031*/ + function FakeConstructor() {} + FakeConstructor.prototype = obj; + var receiver = new FakeConstructor(); + function ic() { + return typeof receiver.foo; + } + ic(); + ic(); + return obj; + eval(obj); } -module.exports = endOfYear +var rident = /^[a-z$_][a-z$_0-9]*$/i; +function isIdentifier(str) { + return rident.test(str); +} +function filledRange(count, prefix, suffix) { + var ret = new Array(count); + for(var i = 0; i < count; ++i) { + ret[i] = prefix + i + suffix; + } + return ret; +} -/***/ }), -/* 225 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +function safeToString(obj) { + try { + return obj + ""; + } catch (e) { + return "[no string representation]"; + } +} -var parse = __webpack_require__(751) +function isError(obj) { + return obj instanceof Error || + (obj !== null && + typeof obj === "object" && + typeof obj.message === "string" && + typeof obj.name === "string"); +} -/** - * @category Hour Helpers - * @summary Get the hours of the given date. - * - * @description - * Get the hours of the given date. - * - * @param {Date|String|Number} date - the given date - * @returns {Number} the hours - * - * @example - * // Get the hours of 29 February 2012 11:45:00: - * var result = getHours(new Date(2012, 1, 29, 11, 45)) - * //=> 11 - */ -function getHours (dirtyDate) { - var date = parse(dirtyDate) - var hours = date.getHours() - return hours +function markAsOriginatingFromRejection(e) { + try { + notEnumerableProp(e, "isOperational", true); + } + catch(ignore) {} } -module.exports = getHours +function originatesFromRejection(e) { + if (e == null) return false; + return ((e instanceof Error["__BluebirdErrorTypes__"].OperationalError) || + e["isOperational"] === true); +} +function canAttachTrace(obj) { + return isError(obj) && es5.propertyIsWritable(obj, "stack"); +} -/***/ }), -/* 226 */, -/* 227 */, -/* 228 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +var ensureErrorObject = (function() { + if (!("stack" in new Error())) { + return function(value) { + if (canAttachTrace(value)) return value; + try {throw new Error(safeToString(value));} + catch(err) {return err;} + }; + } else { + return function(value) { + if (canAttachTrace(value)) return value; + return new Error(safeToString(value)); + }; + } +})(); -var startOfDay = __webpack_require__(68) +function classString(obj) { + return {}.toString.call(obj); +} -var MILLISECONDS_IN_MINUTE = 60000 -var MILLISECONDS_IN_DAY = 86400000 +function copyDescriptors(from, to, filter) { + var keys = es5.names(from); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + if (filter(key)) { + try { + es5.defineProperty(to, key, es5.getDescriptor(from, key)); + } catch (ignore) {} + } + } +} -/** - * @category Day Helpers - * @summary Get the number of calendar days between the given dates. - * - * @description - * Get the number of calendar days between the given dates. - * - * @param {Date|String|Number} dateLeft - the later date - * @param {Date|String|Number} dateRight - the earlier date - * @returns {Number} the number of calendar days - * - * @example - * // How many calendar days are between - * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00? - * var result = differenceInCalendarDays( - * new Date(2012, 6, 2, 0, 0), - * new Date(2011, 6, 2, 23, 0) - * ) - * //=> 366 - */ -function differenceInCalendarDays (dirtyDateLeft, dirtyDateRight) { - var startOfDayLeft = startOfDay(dirtyDateLeft) - var startOfDayRight = startOfDay(dirtyDateRight) +var asArray = function(v) { + if (es5.isArray(v)) { + return v; + } + return null; +}; - var timestampLeft = startOfDayLeft.getTime() - - startOfDayLeft.getTimezoneOffset() * MILLISECONDS_IN_MINUTE - var timestampRight = startOfDayRight.getTime() - - startOfDayRight.getTimezoneOffset() * MILLISECONDS_IN_MINUTE +if (typeof Symbol !== "undefined" && Symbol.iterator) { + var ArrayFrom = typeof Array.from === "function" ? function(v) { + return Array.from(v); + } : function(v) { + var ret = []; + var it = v[Symbol.iterator](); + var itResult; + while (!((itResult = it.next()).done)) { + ret.push(itResult.value); + } + return ret; + }; - // Round the number of days to the nearest integer - // because the number of milliseconds in a day is not constant - // (e.g. it's different in the day of the daylight saving time clock shift) - return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY) + asArray = function(v) { + if (es5.isArray(v)) { + return v; + } else if (v != null && typeof v[Symbol.iterator] === "function") { + return ArrayFrom(v); + } + return null; + }; } -module.exports = differenceInCalendarDays +var isNode = typeof process !== "undefined" && + classString(process).toLowerCase() === "[object process]"; + +var hasEnvVariables = typeof process !== "undefined" && + typeof process.env !== "undefined"; + +function env(key) { + return hasEnvVariables ? process.env[key] : undefined; +} + +function getNativePromise() { + if (typeof Promise === "function") { + try { + var promise = new Promise(function(){}); + if (classString(promise) === "[object Promise]") { + return Promise; + } + } catch (e) {} + } +} + +var reflectHandler; +function contextBind(ctx, cb) { + if (ctx === null || + typeof cb !== "function" || + cb === reflectHandler) { + return cb; + } + + if (ctx.domain !== null) { + cb = ctx.domain.bind(cb); + } + + var async = ctx.async; + if (async !== null) { + var old = cb; + cb = function() { + var $_len = arguments.length + 2;var args = new Array($_len); for(var $_i = 2; $_i < $_len ; ++$_i) {args[$_i] = arguments[$_i - 2];}; + args[0] = old; + args[1] = this; + return async.runInAsyncScope.apply(async, args); + }; + } + return cb; +} + +var ret = { + setReflectHandler: function(fn) { + reflectHandler = fn; + }, + isClass: isClass, + isIdentifier: isIdentifier, + inheritedDataKeys: inheritedDataKeys, + getDataPropertyOrDefault: getDataPropertyOrDefault, + thrower: thrower, + isArray: es5.isArray, + asArray: asArray, + notEnumerableProp: notEnumerableProp, + isPrimitive: isPrimitive, + isObject: isObject, + isError: isError, + canEvaluate: canEvaluate, + errorObj: errorObj, + tryCatch: tryCatch, + inherits: inherits, + withAppended: withAppended, + maybeWrapAsError: maybeWrapAsError, + toFastProperties: toFastProperties, + filledRange: filledRange, + toString: safeToString, + canAttachTrace: canAttachTrace, + ensureErrorObject: ensureErrorObject, + originatesFromRejection: originatesFromRejection, + markAsOriginatingFromRejection: markAsOriginatingFromRejection, + classString: classString, + copyDescriptors: copyDescriptors, + isNode: isNode, + hasEnvVariables: hasEnvVariables, + env: env, + global: globalObject, + getNativePromise: getNativePromise, + contextBind: contextBind +}; +ret.isRecentNode = ret.isNode && (function() { + var version; + if (process.versions && process.versions.node) { + version = process.versions.node.split(".").map(Number); + } else if (process.version) { + version = process.version.split(".").map(Number); + } + return (version[0] === 0 && version[1] > 10) || (version[0] > 0); +})(); +ret.nodeSupportsAsyncResource = ret.isNode && (function() { + var supportsAsync = false; + try { + var res = __webpack_require__(95).AsyncResource; + supportsAsync = typeof res.prototype.runInAsyncScope === "function"; + } catch (e) { + supportsAsync = false; + } + return supportsAsync; +})(); + +if (ret.isNode) ret.toFastProperties(process); + +try {throw new Error(); } catch (e) {ret.lastLineError = e;} +module.exports = ret; /***/ }), -/* 229 */, -/* 230 */, -/* 231 */, -/* 232 */ +/* 249 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _checkForMethod = /*#__PURE__*/__webpack_require__(417); +var _curry2 = /*#__PURE__*/__webpack_require__(830); -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var slice = /*#__PURE__*/__webpack_require__(232); /** - * Returns the elements of the given list or string (or object with a `slice` - * method) from `fromIndex` (inclusive) to `toIndex` (exclusive). - * - * Dispatches to the `slice` method of the third argument, if present. + * Returns a new list containing the last `n` elements of a given list, passing + * each value to the supplied predicate function, and terminating when the + * predicate function returns `false`. Excludes the element that caused the + * predicate function to fail. The predicate function is passed one argument: + * *(value)*. * * @func * @memberOf R - * @since v0.1.4 + * @since v0.16.0 * @category List - * @sig Number -> Number -> [a] -> [a] - * @sig Number -> Number -> String -> String - * @param {Number} fromIndex The start index (inclusive). - * @param {Number} toIndex The end index (exclusive). - * @param {*} list - * @return {*} + * @sig (a -> Boolean) -> [a] -> [a] + * @sig (a -> Boolean) -> String -> String + * @param {Function} fn The function called per iteration. + * @param {Array} xs The collection to iterate over. + * @return {Array} A new array. + * @see R.dropLastWhile, R.addIndex * @example * - * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c'] - * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd'] - * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c'] - * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c'] - * R.slice(0, 3, 'ramda'); //=> 'ram' + * const isNotOne = x => x !== 1; + * + * R.takeLastWhile(isNotOne, [1, 2, 3, 4]); //=> [2, 3, 4] + * + * R.takeLastWhile(x => x !== 'R' , 'Ramda'); //=> 'amda' */ -var slice = /*#__PURE__*/_curry3( /*#__PURE__*/_checkForMethod('slice', function slice(fromIndex, toIndex, list) { - return Array.prototype.slice.call(list, fromIndex, toIndex); -})); -module.exports = slice; +var takeLastWhile = /*#__PURE__*/_curry2(function takeLastWhile(fn, xs) { + var idx = xs.length - 1; + while (idx >= 0 && fn(xs[idx])) { + idx -= 1; + } + return slice(idx + 1, Infinity, xs); +}); +module.exports = takeLastWhile; /***/ }), -/* 233 */, -/* 234 */, -/* 235 */ +/* 250 */, +/* 251 */, +/* 252 */, +/* 253 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry1 = /*#__PURE__*/__webpack_require__(721); - -var _isArguments = /*#__PURE__*/__webpack_require__(960); - -var _isArray = /*#__PURE__*/__webpack_require__(930); +"use strict"; -var _isObject = /*#__PURE__*/__webpack_require__(662); +module.exports = function(NEXT_FILTER) { +var util = __webpack_require__(248); +var getKeys = __webpack_require__(883).keys; +var tryCatch = util.tryCatch; +var errorObj = util.errorObj; -var _isString = /*#__PURE__*/__webpack_require__(285); +function catchFilter(instances, cb, promise) { + return function(e) { + var boundTo = promise._boundValue(); + predicateLoop: for (var i = 0; i < instances.length; ++i) { + var item = instances[i]; -/** - * Returns the empty value of its argument's type. Ramda defines the empty - * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other - * types are supported if they define `.empty`, - * `.prototype.empty` or implement the - * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid). - * - * Dispatches to the `empty` method of the first argument, if present. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category Function - * @sig a -> a - * @param {*} x - * @return {*} - * @example - * - * R.empty(Just(42)); //=> Nothing() - * R.empty([1, 2, 3]); //=> [] - * R.empty('unicorns'); //=> '' - * R.empty({x: 1, y: 2}); //=> {} - */ + if (item === Error || + (item != null && item.prototype instanceof Error)) { + if (e instanceof item) { + return tryCatch(cb).call(boundTo, e); + } + } else if (typeof item === "function") { + var matchesPredicate = tryCatch(item).call(boundTo, e); + if (matchesPredicate === errorObj) { + return matchesPredicate; + } else if (matchesPredicate) { + return tryCatch(cb).call(boundTo, e); + } + } else if (util.isObject(e)) { + var keys = getKeys(item); + for (var j = 0; j < keys.length; ++j) { + var key = keys[j]; + if (item[key] != e[key]) { + continue predicateLoop; + } + } + return tryCatch(cb).call(boundTo, e); + } + } + return NEXT_FILTER; + }; +} +return catchFilter; +}; -var empty = /*#__PURE__*/_curry1(function empty(x) { - return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : _isArguments(x) ? function () { - return arguments; - }() : void 0 // else - ; -}); -module.exports = empty; /***/ }), -/* 236 */, -/* 237 */ +/* 254 */, +/* 255 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry1 = /*#__PURE__*/__webpack_require__(721); +var isDate = __webpack_require__(873) /** - * A function that returns the `!` of its argument. It will return `true` when - * passed false-y value, and `false` when passed a truth-y one. + * @category Common Helpers + * @summary Is the given date valid? * - * @func - * @memberOf R - * @since v0.1.0 - * @category Logic - * @sig * -> Boolean - * @param {*} a any value - * @return {Boolean} the logical inverse of passed argument. - * @see R.complement - * @example + * @description + * Returns false if argument is Invalid Date and true otherwise. + * Invalid Date is a Date, whose time value is NaN. * - * R.not(true); //=> false - * R.not(false); //=> true - * R.not(0); //=> true - * R.not(1); //=> false - */ - - -var not = /*#__PURE__*/_curry1(function not(a) { - return !a; -}); -module.exports = not; - -/***/ }), -/* 238 */ -/***/ (function(module) { - -/** - * @category Day Helpers - * @summary Return the start of tomorrow. + * Time value of Date: http://es5.github.io/#x15.9.1.1 * - * @description - * Return the start of tomorrow. + * @param {Date} date - the date to check + * @returns {Boolean} the date is valid + * @throws {TypeError} argument must be an instance of Date * - * @returns {Date} the start of tomorrow + * @example + * // For the valid date: + * var result = isValid(new Date(2014, 1, 31)) + * //=> true * * @example - * // If today is 6 October 2014: - * var result = startOfTomorrow() - * //=> Tue Oct 7 2014 00:00:00 + * // For the invalid date: + * var result = isValid(new Date('')) + * //=> false */ -function startOfTomorrow () { - var now = new Date() - var year = now.getFullYear() - var month = now.getMonth() - var day = now.getDate() - - var date = new Date(0) - date.setFullYear(year, month, day + 1) - date.setHours(0, 0, 0, 0) - return date +function isValid (dirtyDate) { + if (isDate(dirtyDate)) { + return !isNaN(dirtyDate) + } else { + throw new TypeError(toString.call(dirtyDate) + ' is not an instance of Date') + } } -module.exports = startOfTomorrow +module.exports = isValid /***/ }), -/* 239 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/* 256 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { -var parse = __webpack_require__(751) +"use strict"; -/** - * @category Month Helpers - * @summary Is the given date the first day of a month? - * - * @description - * Is the given date the first day of a month? - * - * @param {Date|String|Number} date - the date to check - * @returns {Boolean} the date is the first day of a month - * - * @example - * // Is 1 September 2014 the first day of a month? - * var result = isFirstDayOfMonth(new Date(2014, 8, 1)) - * //=> true - */ -function isFirstDayOfMonth (dirtyDate) { - return parse(dirtyDate).getDate() === 1 -} +const usm = __webpack_require__(936); -module.exports = isFirstDayOfMonth +exports.implementation = class URLImpl { + constructor(constructorArgs) { + const url = constructorArgs[0]; + const base = constructorArgs[1]; + let parsedBase = null; + if (base !== undefined) { + parsedBase = usm.basicURLParse(base); + if (parsedBase === "failure") { + throw new TypeError("Invalid base URL"); + } + } -/***/ }), -/* 240 */, -/* 241 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } -var _curry1 = /*#__PURE__*/__webpack_require__(721); + this._url = parsedURL; -/** - * Returns a list of all the properties, including prototype properties, of the - * supplied object. - * Note that the order of the output array is not guaranteed to be consistent - * across different JS platforms. - * - * @func - * @memberOf R - * @since v0.2.0 - * @category Object - * @sig {k: v} -> [v] - * @param {Object} obj The object to extract values from - * @return {Array} An array of the values of the object's own and prototype properties. - * @see R.values, R.keysIn - * @example - * - * const F = function() { this.x = 'X'; }; - * F.prototype.y = 'Y'; - * const f = new F(); - * R.valuesIn(f); //=> ['X', 'Y'] - */ + // TODO: query stuff + } + get href() { + return usm.serializeURL(this._url); + } -var valuesIn = /*#__PURE__*/_curry1(function valuesIn(obj) { - var prop; - var vs = []; - for (prop in obj) { - vs[vs.length] = obj[prop]; + set href(v) { + const parsedURL = usm.basicURLParse(v); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + + this._url = parsedURL; } - return vs; -}); -module.exports = valuesIn; -/***/ }), -/* 242 */, -/* 243 */, -/* 244 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + get origin() { + return usm.serializeURLOrigin(this._url); + } -var getISOYear = __webpack_require__(689) -var startOfISOWeek = __webpack_require__(901) + get protocol() { + return this._url.scheme + ":"; + } -/** - * @category ISO Week-Numbering Year Helpers - * @summary Return the end of an ISO week-numbering year for the given date. - * - * @description - * Return the end of an ISO week-numbering year, - * which always starts 3 days before the year's first Thursday. - * The result will be in the local timezone. - * - * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date - * - * @param {Date|String|Number} date - the original date - * @returns {Date} the end of an ISO week-numbering year - * - * @example - * // The end of an ISO week-numbering year for 2 July 2005: - * var result = endOfISOYear(new Date(2005, 6, 2)) - * //=> Sun Jan 01 2006 23:59:59.999 - */ -function endOfISOYear (dirtyDate) { - var year = getISOYear(dirtyDate) - var fourthOfJanuaryOfNextYear = new Date(0) - fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4) - fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0) - var date = startOfISOWeek(fourthOfJanuaryOfNextYear) - date.setMilliseconds(date.getMilliseconds() - 1) - return date -} + set protocol(v) { + usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); + } -module.exports = endOfISOYear + get username() { + return this._url.username; + } + set username(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } -/***/ }), -/* 245 */, -/* 246 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + usm.setTheUsername(this._url, v); + } -var startOfDay = __webpack_require__(68) + get password() { + return this._url.password; + } -/** - * @category Day Helpers - * @summary Is the given date tomorrow? - * - * @description - * Is the given date tomorrow? - * - * @param {Date|String|Number} date - the date to check - * @returns {Boolean} the date is tomorrow - * - * @example - * // If today is 6 October 2014, is 7 October 14:00:00 tomorrow? - * var result = isTomorrow(new Date(2014, 9, 7, 14, 0)) - * //=> true - */ -function isTomorrow (dirtyDate) { - var tomorrow = new Date() - tomorrow.setDate(tomorrow.getDate() + 1) - return startOfDay(dirtyDate).getTime() === startOfDay(tomorrow).getTime() -} + set password(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } -module.exports = isTomorrow + usm.setThePassword(this._url, v); + } + get host() { + const url = this._url; -/***/ }), -/* 247 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + if (url.host === null) { + return ""; + } -"use strict"; + if (url.port === null) { + return usm.serializeHost(url.host); + } -const os = __webpack_require__(87); -const tty = __webpack_require__(993); -const hasFlag = __webpack_require__(776); + return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port); + } -const {env} = process; + set host(v) { + if (this._url.cannotBeABaseURL) { + return; + } -let forceColor; -if (hasFlag('no-color') || - hasFlag('no-colors') || - hasFlag('color=false') || - hasFlag('color=never')) { - forceColor = 0; -} else if (hasFlag('color') || - hasFlag('colors') || - hasFlag('color=true') || - hasFlag('color=always')) { - forceColor = 1; -} + usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); + } -if ('FORCE_COLOR' in env) { - if (env.FORCE_COLOR === 'true') { - forceColor = 1; - } else if (env.FORCE_COLOR === 'false') { - forceColor = 0; - } else { - forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3); - } -} + get hostname() { + if (this._url.host === null) { + return ""; + } -function translateLevel(level) { - if (level === 0) { - return false; - } + return usm.serializeHost(this._url.host); + } - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; -} + set hostname(v) { + if (this._url.cannotBeABaseURL) { + return; + } -function supportsColor(haveStream, streamIsTTY) { - if (forceColor === 0) { - return 0; - } + usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); + } - if (hasFlag('color=16m') || - hasFlag('color=full') || - hasFlag('color=truecolor')) { - return 3; - } + get port() { + if (this._url.port === null) { + return ""; + } - if (hasFlag('color=256')) { - return 2; - } + return usm.serializeInteger(this._url.port); + } - if (haveStream && !streamIsTTY && forceColor === undefined) { - return 0; - } + set port(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } - const min = forceColor || 0; + if (v === "") { + this._url.port = null; + } else { + usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); + } + } - if (env.TERM === 'dumb') { - return min; - } + get pathname() { + if (this._url.cannotBeABaseURL) { + return this._url.path[0]; + } - if (process.platform === 'win32') { - // Windows 10 build 10586 is the first Windows release that supports 256 colors. - // Windows 10 build 14931 is the first release that supports 16m/TrueColor. - const osRelease = os.release().split('.'); - if ( - Number(osRelease[0]) >= 10 && - Number(osRelease[2]) >= 10586 - ) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } + if (this._url.path.length === 0) { + return ""; + } - return 1; - } + return "/" + this._url.path.join("/"); + } - if ('CI' in env) { - if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { - return 1; - } + set pathname(v) { + if (this._url.cannotBeABaseURL) { + return; + } - return min; - } + this._url.path = []; + usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); + } - if ('TEAMCITY_VERSION' in env) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; - } + get search() { + if (this._url.query === null || this._url.query === "") { + return ""; + } - if ('GITHUB_ACTIONS' in env) { - return 1; - } + return "?" + this._url.query; + } - if (env.COLORTERM === 'truecolor') { - return 3; - } + set search(v) { + // TODO: query stuff - if ('TERM_PROGRAM' in env) { - const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + const url = this._url; - switch (env.TERM_PROGRAM) { - case 'iTerm.app': - return version >= 3 ? 3 : 2; - case 'Apple_Terminal': - return 2; - // No default - } - } + if (v === "") { + url.query = null; + return; + } - if (/-256(color)?$/i.test(env.TERM)) { - return 2; - } + const input = v[0] === "?" ? v.substring(1) : v; + url.query = ""; + usm.basicURLParse(input, { url, stateOverride: "query" }); + } - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { - return 1; - } + get hash() { + if (this._url.fragment === null || this._url.fragment === "") { + return ""; + } - if ('COLORTERM' in env) { - return 1; - } + return "#" + this._url.fragment; + } - return min; -} + set hash(v) { + if (v === "") { + this._url.fragment = null; + return; + } -function getSupportLevel(stream) { - const level = supportsColor(stream, stream && stream.isTTY); - return translateLevel(level); -} + const input = v[0] === "#" ? v.substring(1) : v; + this._url.fragment = ""; + usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); + } -module.exports = { - supportsColor: getSupportLevel, - stdout: translateLevel(supportsColor(true, tty.isatty(1))), - stderr: translateLevel(supportsColor(true, tty.isatty(2))) + toJSON() { + return this.href; + } }; /***/ }), -/* 248 */ +/* 257 */, +/* 258 */ /***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; - -var es5 = __webpack_require__(883); -var canEvaluate = typeof navigator == "undefined"; +var _curry2 = /*#__PURE__*/__webpack_require__(830); -var errorObj = {e: {}}; -var tryCatchTarget; -var globalObject = typeof self !== "undefined" ? self : - typeof window !== "undefined" ? window : - typeof global !== "undefined" ? global : - this !== undefined ? this : null; +var always = /*#__PURE__*/__webpack_require__(657); -function tryCatcher() { - try { - var target = tryCatchTarget; - tryCatchTarget = null; - return target.apply(this, arguments); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} -function tryCatch(fn) { - tryCatchTarget = fn; - return tryCatcher; -} +var times = /*#__PURE__*/__webpack_require__(54); -var inherits = function(Child, Parent) { - var hasProp = {}.hasOwnProperty; +/** + * Returns a fixed list of size `n` containing a specified identical value. + * + * @func + * @memberOf R + * @since v0.1.1 + * @category List + * @sig a -> n -> [a] + * @param {*} value The value to repeat. + * @param {Number} n The desired size of the output list. + * @return {Array} A new array containing `n` `value`s. + * @see R.times + * @example + * + * R.repeat('hi', 5); //=> ['hi', 'hi', 'hi', 'hi', 'hi'] + * + * const obj = {}; + * const repeatedObjs = R.repeat(obj, 5); //=> [{}, {}, {}, {}, {}] + * repeatedObjs[0] === repeatedObjs[1]; //=> true + * @symb R.repeat(a, 0) = [] + * @symb R.repeat(a, 1) = [a] + * @symb R.repeat(a, 2) = [a, a] + */ - function T() { - this.constructor = Child; - this.constructor$ = Parent; - for (var propertyName in Parent.prototype) { - if (hasProp.call(Parent.prototype, propertyName) && - propertyName.charAt(propertyName.length-1) !== "$" - ) { - this[propertyName + "$"] = Parent.prototype[propertyName]; - } - } - } - T.prototype = Parent.prototype; - Child.prototype = new T(); - return Child.prototype; -}; +var repeat = /*#__PURE__*/_curry2(function repeat(value, n) { + return times(always(value), n); +}); +module.exports = repeat; -function isPrimitive(val) { - return val == null || val === true || val === false || - typeof val === "string" || typeof val === "number"; +/***/ }), +/* 259 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { -} +"use strict"; -function isObject(value) { - return typeof value === "function" || - typeof value === "object" && value !== null; -} +var Buffer = __webpack_require__(572).Buffer; -function maybeWrapAsError(maybeError) { - if (!isPrimitive(maybeError)) return maybeError; +// Multibyte codec. In this scheme, a character is represented by 1 or more bytes. +// Our codec supports UTF-16 surrogates, extensions for GB18030 and unicode sequences. +// To save memory and loading time, we read table files only when requested. - return new Error(safeToString(maybeError)); -} +exports._dbcs = DBCSCodec; -function withAppended(target, appendee) { - var len = target.length; - var ret = new Array(len + 1); - var i; - for (i = 0; i < len; ++i) { - ret[i] = target[i]; - } - ret[i] = appendee; - return ret; -} +var UNASSIGNED = -1, + GB18030_CODE = -2, + SEQ_START = -10, + NODE_START = -1000, + UNASSIGNED_NODE = new Array(0x100), + DEF_CHAR = -1; -function getDataPropertyOrDefault(obj, key, defaultValue) { - if (es5.isES5) { - var desc = Object.getOwnPropertyDescriptor(obj, key); +for (var i = 0; i < 0x100; i++) + UNASSIGNED_NODE[i] = UNASSIGNED; - if (desc != null) { - return desc.get == null && desc.set == null - ? desc.value - : defaultValue; - } - } else { - return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined; - } -} -function notEnumerableProp(obj, name, value) { - if (isPrimitive(obj)) return obj; - var descriptor = { - value: value, - configurable: true, - enumerable: false, - writable: true - }; - es5.defineProperty(obj, name, descriptor); - return obj; -} +// Class DBCSCodec reads and initializes mapping tables. +function DBCSCodec(codecOptions, iconv) { + this.encodingName = codecOptions.encodingName; + if (!codecOptions) + throw new Error("DBCS codec is called without the data.") + if (!codecOptions.table) + throw new Error("Encoding '" + this.encodingName + "' has no data."); -function thrower(r) { - throw r; -} + // Load tables. + var mappingTable = codecOptions.table(); -var inheritedDataKeys = (function() { - var excludedPrototypes = [ - Array.prototype, - Object.prototype, - Function.prototype - ]; - var isExcludedProto = function(val) { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (excludedPrototypes[i] === val) { - return true; - } - } - return false; - }; + // Decode tables: MBCS -> Unicode. - if (es5.isES5) { - var getKeys = Object.getOwnPropertyNames; - return function(obj) { - var ret = []; - var visitedKeys = Object.create(null); - while (obj != null && !isExcludedProto(obj)) { - var keys; - try { - keys = getKeys(obj); - } catch (e) { - return ret; + // decodeTables is a trie, encoded as an array of arrays of integers. Internal arrays are trie nodes and all have len = 256. + // Trie root is decodeTables[0]. + // Values: >= 0 -> unicode character code. can be > 0xFFFF + // == UNASSIGNED -> unknown/unassigned sequence. + // == GB18030_CODE -> this is the end of a GB18030 4-byte sequence. + // <= NODE_START -> index of the next node in our trie to process next byte. + // <= SEQ_START -> index of the start of a character code sequence, in decodeTableSeq. + this.decodeTables = []; + this.decodeTables[0] = UNASSIGNED_NODE.slice(0); // Create root node. + + // Sometimes a MBCS char corresponds to a sequence of unicode chars. We store them as arrays of integers here. + this.decodeTableSeq = []; + + // Actual mapping tables consist of chunks. Use them to fill up decode tables. + for (var i = 0; i < mappingTable.length; i++) + this._addDecodeChunk(mappingTable[i]); + + // Load & create GB18030 tables when needed. + if (typeof codecOptions.gb18030 === 'function') { + this.gb18030 = codecOptions.gb18030(); // Load GB18030 ranges. + + // Add GB18030 common decode nodes. + var commonThirdByteNodeIdx = this.decodeTables.length; + this.decodeTables.push(UNASSIGNED_NODE.slice(0)); + + var commonFourthByteNodeIdx = this.decodeTables.length; + this.decodeTables.push(UNASSIGNED_NODE.slice(0)); + + // Fill out the tree + var firstByteNode = this.decodeTables[0]; + for (var i = 0x81; i <= 0xFE; i++) { + var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i]]; + for (var j = 0x30; j <= 0x39; j++) { + if (secondByteNode[j] === UNASSIGNED) { + secondByteNode[j] = NODE_START - commonThirdByteNodeIdx; + } else if (secondByteNode[j] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 2"); } - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (visitedKeys[key]) continue; - visitedKeys[key] = true; - var desc = Object.getOwnPropertyDescriptor(obj, key); - if (desc != null && desc.get == null && desc.set == null) { - ret.push(key); + + var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]]; + for (var k = 0x81; k <= 0xFE; k++) { + if (thirdByteNode[k] === UNASSIGNED) { + thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx; + } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) { + continue; + } else if (thirdByteNode[k] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 3"); } - } - obj = es5.getPrototypeOf(obj); - } - return ret; - }; - } else { - var hasProp = {}.hasOwnProperty; - return function(obj) { - if (isExcludedProto(obj)) return []; - var ret = []; - /*jshint forin:false */ - enumeration: for (var key in obj) { - if (hasProp.call(obj, key)) { - ret.push(key); - } else { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (hasProp.call(excludedPrototypes[i], key)) { - continue enumeration; - } + var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]]; + for (var l = 0x30; l <= 0x39; l++) { + if (fourthByteNode[l] === UNASSIGNED) + fourthByteNode[l] = GB18030_CODE; } - ret.push(key); } } - return ret; - }; + } } -})(); + this.defaultCharUnicode = iconv.defaultCharUnicode; -var thisAssignmentPattern = /this\s*\.\s*\S+\s*=/; -function isClass(fn) { - try { - if (typeof fn === "function") { - var keys = es5.names(fn.prototype); + + // Encode tables: Unicode -> DBCS. - var hasMethods = es5.isES5 && keys.length > 1; - var hasMethodsOtherThanConstructor = keys.length > 0 && - !(keys.length === 1 && keys[0] === "constructor"); - var hasThisAssignmentAndStaticMethods = - thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; + // `encodeTable` is array mapping from unicode char to encoded char. All its values are integers for performance. + // Because it can be sparse, it is represented as array of buckets by 256 chars each. Bucket can be null. + // Values: >= 0 -> it is a normal char. Write the value (if <=256 then 1 byte, if <=65536 then 2 bytes, etc.). + // == UNASSIGNED -> no conversion found. Output a default char. + // <= SEQ_START -> it's an index in encodeTableSeq, see below. The character starts a sequence. + this.encodeTable = []; + + // `encodeTableSeq` is used when a sequence of unicode characters is encoded as a single code. We use a tree of + // objects where keys correspond to characters in sequence and leafs are the encoded dbcs values. A special DEF_CHAR key + // means end of sequence (needed when one sequence is a strict subsequence of another). + // Objects are kept separately from encodeTable to increase performance. + this.encodeTableSeq = []; - if (hasMethods || hasMethodsOtherThanConstructor || - hasThisAssignmentAndStaticMethods) { - return true; - } + // Some chars can be decoded, but need not be encoded. + var skipEncodeChars = {}; + if (codecOptions.encodeSkipVals) + for (var i = 0; i < codecOptions.encodeSkipVals.length; i++) { + var val = codecOptions.encodeSkipVals[i]; + if (typeof val === 'number') + skipEncodeChars[val] = true; + else + for (var j = val.from; j <= val.to; j++) + skipEncodeChars[j] = true; } - return false; - } catch (e) { - return false; - } -} + + // Use decode trie to recursively fill out encode tables. + this._fillEncodeTable(0, 0, skipEncodeChars); -function toFastProperties(obj) { - /*jshint -W027,-W055,-W031*/ - function FakeConstructor() {} - FakeConstructor.prototype = obj; - var receiver = new FakeConstructor(); - function ic() { - return typeof receiver.foo; + // Add more encoding pairs when needed. + if (codecOptions.encodeAdd) { + for (var uChar in codecOptions.encodeAdd) + if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) + this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]); } - ic(); - ic(); - return obj; - eval(obj); -} -var rident = /^[a-z$_][a-z$_0-9]*$/i; -function isIdentifier(str) { - return rident.test(str); + this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)]; + if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]['?']; + if (this.defCharSB === UNASSIGNED) this.defCharSB = "?".charCodeAt(0); } -function filledRange(count, prefix, suffix) { - var ret = new Array(count); - for(var i = 0; i < count; ++i) { - ret[i] = prefix + i + suffix; - } - return ret; -} +DBCSCodec.prototype.encoder = DBCSEncoder; +DBCSCodec.prototype.decoder = DBCSDecoder; -function safeToString(obj) { - try { - return obj + ""; - } catch (e) { - return "[no string representation]"; - } -} +// Decoder helpers +DBCSCodec.prototype._getDecodeTrieNode = function(addr) { + var bytes = []; + for (; addr > 0; addr >>>= 8) + bytes.push(addr & 0xFF); + if (bytes.length == 0) + bytes.push(0); -function isError(obj) { - return obj instanceof Error || - (obj !== null && - typeof obj === "object" && - typeof obj.message === "string" && - typeof obj.name === "string"); -} + var node = this.decodeTables[0]; + for (var i = bytes.length-1; i > 0; i--) { // Traverse nodes deeper into the trie. + var val = node[bytes[i]]; -function markAsOriginatingFromRejection(e) { - try { - notEnumerableProp(e, "isOperational", true); + if (val == UNASSIGNED) { // Create new node. + node[bytes[i]] = NODE_START - this.decodeTables.length; + this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)); + } + else if (val <= NODE_START) { // Existing node. + node = this.decodeTables[NODE_START - val]; + } + else + throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16)); } - catch(ignore) {} + return node; } -function originatesFromRejection(e) { - if (e == null) return false; - return ((e instanceof Error["__BluebirdErrorTypes__"].OperationalError) || - e["isOperational"] === true); -} -function canAttachTrace(obj) { - return isError(obj) && es5.propertyIsWritable(obj, "stack"); -} +DBCSCodec.prototype._addDecodeChunk = function(chunk) { + // First element of chunk is the hex mbcs code where we start. + var curAddr = parseInt(chunk[0], 16); -var ensureErrorObject = (function() { - if (!("stack" in new Error())) { - return function(value) { - if (canAttachTrace(value)) return value; - try {throw new Error(safeToString(value));} - catch(err) {return err;} - }; - } else { - return function(value) { - if (canAttachTrace(value)) return value; - return new Error(safeToString(value)); - }; - } -})(); + // Choose the decoding node where we'll write our chars. + var writeTable = this._getDecodeTrieNode(curAddr); + curAddr = curAddr & 0xFF; -function classString(obj) { - return {}.toString.call(obj); -} + // Write all other elements of the chunk to the table. + for (var k = 1; k < chunk.length; k++) { + var part = chunk[k]; + if (typeof part === "string") { // String, write as-is. + for (var l = 0; l < part.length;) { + var code = part.charCodeAt(l++); + if (0xD800 <= code && code < 0xDC00) { // Decode surrogate + var codeTrail = part.charCodeAt(l++); + if (0xDC00 <= codeTrail && codeTrail < 0xE000) + writeTable[curAddr++] = 0x10000 + (code - 0xD800) * 0x400 + (codeTrail - 0xDC00); + else + throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]); + } + else if (0x0FF0 < code && code <= 0x0FFF) { // Character sequence (our own encoding used) + var len = 0xFFF - code + 2; + var seq = []; + for (var m = 0; m < len; m++) + seq.push(part.charCodeAt(l++)); // Simple variation: don't support surrogates or subsequences in seq. -function copyDescriptors(from, to, filter) { - var keys = es5.names(from); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (filter(key)) { - try { - es5.defineProperty(to, key, es5.getDescriptor(from, key)); - } catch (ignore) {} + writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length; + this.decodeTableSeq.push(seq); + } + else + writeTable[curAddr++] = code; // Basic char + } + } + else if (typeof part === "number") { // Integer, meaning increasing sequence starting with prev character. + var charCode = writeTable[curAddr - 1] + 1; + for (var l = 0; l < part; l++) + writeTable[curAddr++] = charCode++; } + else + throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]); } + if (curAddr > 0xFF) + throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr); } -var asArray = function(v) { - if (es5.isArray(v)) { - return v; - } - return null; -}; - -if (typeof Symbol !== "undefined" && Symbol.iterator) { - var ArrayFrom = typeof Array.from === "function" ? function(v) { - return Array.from(v); - } : function(v) { - var ret = []; - var it = v[Symbol.iterator](); - var itResult; - while (!((itResult = it.next()).done)) { - ret.push(itResult.value); - } - return ret; - }; +// Encoder helpers +DBCSCodec.prototype._getEncodeBucket = function(uCode) { + var high = uCode >> 8; // This could be > 0xFF because of astral characters. + if (this.encodeTable[high] === undefined) + this.encodeTable[high] = UNASSIGNED_NODE.slice(0); // Create bucket on demand. + return this.encodeTable[high]; +} - asArray = function(v) { - if (es5.isArray(v)) { - return v; - } else if (v != null && typeof v[Symbol.iterator] === "function") { - return ArrayFrom(v); - } - return null; - }; +DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) { + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 0xFF; + if (bucket[low] <= SEQ_START) + this.encodeTableSeq[SEQ_START-bucket[low]][DEF_CHAR] = dbcsCode; // There's already a sequence, set a single-char subsequence of it. + else if (bucket[low] == UNASSIGNED) + bucket[low] = dbcsCode; } -var isNode = typeof process !== "undefined" && - classString(process).toLowerCase() === "[object process]"; +DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) { + + // Get the root of character tree according to first character of the sequence. + var uCode = seq[0]; + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 0xFF; -var hasEnvVariables = typeof process !== "undefined" && - typeof process.env !== "undefined"; + var node; + if (bucket[low] <= SEQ_START) { + // There's already a sequence with - use it. + node = this.encodeTableSeq[SEQ_START-bucket[low]]; + } + else { + // There was no sequence object - allocate a new one. + node = {}; + if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low]; // If a char was set before - make it a single-char subsequence. + bucket[low] = SEQ_START - this.encodeTableSeq.length; + this.encodeTableSeq.push(node); + } -function env(key) { - return hasEnvVariables ? process.env[key] : undefined; + // Traverse the character tree, allocating new nodes as needed. + for (var j = 1; j < seq.length-1; j++) { + var oldVal = node[uCode]; + if (typeof oldVal === 'object') + node = oldVal; + else { + node = node[uCode] = {} + if (oldVal !== undefined) + node[DEF_CHAR] = oldVal + } + } + + // Set the leaf to given dbcsCode. + uCode = seq[seq.length-1]; + node[uCode] = dbcsCode; } -function getNativePromise() { - if (typeof Promise === "function") { - try { - var promise = new Promise(function(){}); - if (classString(promise) === "[object Promise]") { - return Promise; +DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) { + var node = this.decodeTables[nodeIdx]; + var hasValues = false; + var subNodeEmpty = {}; + for (var i = 0; i < 0x100; i++) { + var uCode = node[i]; + var mbCode = prefix + i; + if (skipEncodeChars[mbCode]) + continue; + + if (uCode >= 0) { + this._setEncodeChar(uCode, mbCode); + hasValues = true; + } else if (uCode <= NODE_START) { + var subNodeIdx = NODE_START - uCode; + if (!subNodeEmpty[subNodeIdx]) { // Skip empty subtrees (they are too large in gb18030). + var newPrefix = (mbCode << 8) >>> 0; // NOTE: '>>> 0' keeps 32-bit num positive. + if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars)) + hasValues = true; + else + subNodeEmpty[subNodeIdx] = true; } - } catch (e) {} + } else if (uCode <= SEQ_START) { + this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode); + hasValues = true; + } } + return hasValues; } -var reflectHandler; -function contextBind(ctx, cb) { - if (ctx === null || - typeof cb !== "function" || - cb === reflectHandler) { - return cb; - } - if (ctx.domain !== null) { - cb = ctx.domain.bind(cb); - } - var async = ctx.async; - if (async !== null) { - var old = cb; - cb = function() { - var $_len = arguments.length + 2;var args = new Array($_len); for(var $_i = 2; $_i < $_len ; ++$_i) {args[$_i] = arguments[$_i - 2];}; - args[0] = old; - args[1] = this; - return async.runInAsyncScope.apply(async, args); - }; - } - return cb; -} +// == Encoder ================================================================== -var ret = { - setReflectHandler: function(fn) { - reflectHandler = fn; - }, - isClass: isClass, - isIdentifier: isIdentifier, - inheritedDataKeys: inheritedDataKeys, - getDataPropertyOrDefault: getDataPropertyOrDefault, - thrower: thrower, - isArray: es5.isArray, - asArray: asArray, - notEnumerableProp: notEnumerableProp, - isPrimitive: isPrimitive, - isObject: isObject, - isError: isError, - canEvaluate: canEvaluate, - errorObj: errorObj, - tryCatch: tryCatch, - inherits: inherits, - withAppended: withAppended, - maybeWrapAsError: maybeWrapAsError, - toFastProperties: toFastProperties, - filledRange: filledRange, - toString: safeToString, - canAttachTrace: canAttachTrace, - ensureErrorObject: ensureErrorObject, - originatesFromRejection: originatesFromRejection, - markAsOriginatingFromRejection: markAsOriginatingFromRejection, - classString: classString, - copyDescriptors: copyDescriptors, - isNode: isNode, - hasEnvVariables: hasEnvVariables, - env: env, - global: globalObject, - getNativePromise: getNativePromise, - contextBind: contextBind -}; -ret.isRecentNode = ret.isNode && (function() { - var version; - if (process.versions && process.versions.node) { - version = process.versions.node.split(".").map(Number); - } else if (process.version) { - version = process.version.split(".").map(Number); - } - return (version[0] === 0 && version[1] > 10) || (version[0] > 0); -})(); -ret.nodeSupportsAsyncResource = ret.isNode && (function() { - var supportsAsync = false; - try { - var res = __webpack_require__(95).AsyncResource; - supportsAsync = typeof res.prototype.runInAsyncScope === "function"; - } catch (e) { - supportsAsync = false; - } - return supportsAsync; -})(); - -if (ret.isNode) ret.toFastProperties(process); - -try {throw new Error(); } catch (e) {ret.lastLineError = e;} -module.exports = ret; - - -/***/ }), -/* 249 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var slice = /*#__PURE__*/__webpack_require__(232); +function DBCSEncoder(options, codec) { + // Encoder state + this.leadSurrogate = -1; + this.seqObj = undefined; + + // Static data + this.encodeTable = codec.encodeTable; + this.encodeTableSeq = codec.encodeTableSeq; + this.defaultCharSingleByte = codec.defCharSB; + this.gb18030 = codec.gb18030; +} -/** - * Returns a new list containing the last `n` elements of a given list, passing - * each value to the supplied predicate function, and terminating when the - * predicate function returns `false`. Excludes the element that caused the - * predicate function to fail. The predicate function is passed one argument: - * *(value)*. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig (a -> Boolean) -> [a] -> [a] - * @sig (a -> Boolean) -> String -> String - * @param {Function} fn The function called per iteration. - * @param {Array} xs The collection to iterate over. - * @return {Array} A new array. - * @see R.dropLastWhile, R.addIndex - * @example - * - * const isNotOne = x => x !== 1; - * - * R.takeLastWhile(isNotOne, [1, 2, 3, 4]); //=> [2, 3, 4] - * - * R.takeLastWhile(x => x !== 'R' , 'Ramda'); //=> 'amda' - */ +DBCSEncoder.prototype.write = function(str) { + var newBuf = Buffer.alloc(str.length * (this.gb18030 ? 4 : 3)), + leadSurrogate = this.leadSurrogate, + seqObj = this.seqObj, nextChar = -1, + i = 0, j = 0; + while (true) { + // 0. Get next character. + if (nextChar === -1) { + if (i == str.length) break; + var uCode = str.charCodeAt(i++); + } + else { + var uCode = nextChar; + nextChar = -1; + } -var takeLastWhile = /*#__PURE__*/_curry2(function takeLastWhile(fn, xs) { - var idx = xs.length - 1; - while (idx >= 0 && fn(xs[idx])) { - idx -= 1; - } - return slice(idx + 1, Infinity, xs); -}); -module.exports = takeLastWhile; + // 1. Handle surrogates. + if (0xD800 <= uCode && uCode < 0xE000) { // Char is one of surrogates. + if (uCode < 0xDC00) { // We've got lead surrogate. + if (leadSurrogate === -1) { + leadSurrogate = uCode; + continue; + } else { + leadSurrogate = uCode; + // Double lead surrogate found. + uCode = UNASSIGNED; + } + } else { // We've got trail surrogate. + if (leadSurrogate !== -1) { + uCode = 0x10000 + (leadSurrogate - 0xD800) * 0x400 + (uCode - 0xDC00); + leadSurrogate = -1; + } else { + // Incomplete surrogate pair - only trail surrogate found. + uCode = UNASSIGNED; + } + + } + } + else if (leadSurrogate !== -1) { + // Incomplete surrogate pair - only lead surrogate found. + nextChar = uCode; uCode = UNASSIGNED; // Write an error, then current char. + leadSurrogate = -1; + } -/***/ }), -/* 250 */, -/* 251 */, -/* 252 */, -/* 253 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + // 2. Convert uCode character. + var dbcsCode = UNASSIGNED; + if (seqObj !== undefined && uCode != UNASSIGNED) { // We are in the middle of the sequence + var resCode = seqObj[uCode]; + if (typeof resCode === 'object') { // Sequence continues. + seqObj = resCode; + continue; -"use strict"; + } else if (typeof resCode == 'number') { // Sequence finished. Write it. + dbcsCode = resCode; -module.exports = function(NEXT_FILTER) { -var util = __webpack_require__(248); -var getKeys = __webpack_require__(883).keys; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; + } else if (resCode == undefined) { // Current character is not part of the sequence. -function catchFilter(instances, cb, promise) { - return function(e) { - var boundTo = promise._boundValue(); - predicateLoop: for (var i = 0; i < instances.length; ++i) { - var item = instances[i]; + // Try default character for this sequence + resCode = seqObj[DEF_CHAR]; + if (resCode !== undefined) { + dbcsCode = resCode; // Found. Write it. + nextChar = uCode; // Current character will be written too in the next iteration. - if (item === Error || - (item != null && item.prototype instanceof Error)) { - if (e instanceof item) { - return tryCatch(cb).call(boundTo, e); - } - } else if (typeof item === "function") { - var matchesPredicate = tryCatch(item).call(boundTo, e); - if (matchesPredicate === errorObj) { - return matchesPredicate; - } else if (matchesPredicate) { - return tryCatch(cb).call(boundTo, e); + } else { + // TODO: What if we have no default? (resCode == undefined) + // Then, we should write first char of the sequence as-is and try the rest recursively. + // Didn't do it for now because no encoding has this situation yet. + // Currently, just skip the sequence and write current char. } - } else if (util.isObject(e)) { - var keys = getKeys(item); - for (var j = 0; j < keys.length; ++j) { - var key = keys[j]; - if (item[key] != e[key]) { - continue predicateLoop; - } + } + seqObj = undefined; + } + else if (uCode >= 0) { // Regular character + var subtable = this.encodeTable[uCode >> 8]; + if (subtable !== undefined) + dbcsCode = subtable[uCode & 0xFF]; + + if (dbcsCode <= SEQ_START) { // Sequence start + seqObj = this.encodeTableSeq[SEQ_START-dbcsCode]; + continue; + } + + if (dbcsCode == UNASSIGNED && this.gb18030) { + // Use GB18030 algorithm to find character(s) to write. + var idx = findIdx(this.gb18030.uChars, uCode); + if (idx != -1) { + var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]); + newBuf[j++] = 0x81 + Math.floor(dbcsCode / 12600); dbcsCode = dbcsCode % 12600; + newBuf[j++] = 0x30 + Math.floor(dbcsCode / 1260); dbcsCode = dbcsCode % 1260; + newBuf[j++] = 0x81 + Math.floor(dbcsCode / 10); dbcsCode = dbcsCode % 10; + newBuf[j++] = 0x30 + dbcsCode; + continue; } - return tryCatch(cb).call(boundTo, e); } } - return NEXT_FILTER; - }; -} -return catchFilter; -}; + // 3. Write dbcsCode character. + if (dbcsCode === UNASSIGNED) + dbcsCode = this.defaultCharSingleByte; + + if (dbcsCode < 0x100) { + newBuf[j++] = dbcsCode; + } + else if (dbcsCode < 0x10000) { + newBuf[j++] = dbcsCode >> 8; // high byte + newBuf[j++] = dbcsCode & 0xFF; // low byte + } + else if (dbcsCode < 0x1000000) { + newBuf[j++] = dbcsCode >> 16; + newBuf[j++] = (dbcsCode >> 8) & 0xFF; + newBuf[j++] = dbcsCode & 0xFF; + } else { + newBuf[j++] = dbcsCode >>> 24; + newBuf[j++] = (dbcsCode >>> 16) & 0xFF; + newBuf[j++] = (dbcsCode >>> 8) & 0xFF; + newBuf[j++] = dbcsCode & 0xFF; + } + } + + this.seqObj = seqObj; + this.leadSurrogate = leadSurrogate; + return newBuf.slice(0, j); +} +DBCSEncoder.prototype.end = function() { + if (this.leadSurrogate === -1 && this.seqObj === undefined) + return; // All clean. Most often case. -/***/ }), -/* 254 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + var newBuf = Buffer.alloc(10), j = 0; -var endOfDay = __webpack_require__(668) + if (this.seqObj) { // We're in the sequence. + var dbcsCode = this.seqObj[DEF_CHAR]; + if (dbcsCode !== undefined) { // Write beginning of the sequence. + if (dbcsCode < 0x100) { + newBuf[j++] = dbcsCode; + } + else { + newBuf[j++] = dbcsCode >> 8; // high byte + newBuf[j++] = dbcsCode & 0xFF; // low byte + } + } else { + // See todo above. + } + this.seqObj = undefined; + } -/** - * @category Day Helpers - * @summary Return the end of today. - * - * @description - * Return the end of today. - * - * @returns {Date} the end of today - * - * @example - * // If today is 6 October 2014: - * var result = endOfToday() - * //=> Mon Oct 6 2014 23:59:59.999 - */ -function endOfToday () { - return endOfDay(new Date()) + if (this.leadSurrogate !== -1) { + // Incomplete surrogate pair - only lead surrogate found. + newBuf[j++] = this.defaultCharSingleByte; + this.leadSurrogate = -1; + } + + return newBuf.slice(0, j); } -module.exports = endOfToday +// Export for testing +DBCSEncoder.prototype.findIdx = findIdx; -/***/ }), -/* 255 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +// == Decoder ================================================================== -var isDate = __webpack_require__(873) +function DBCSDecoder(options, codec) { + // Decoder state + this.nodeIdx = 0; + this.prevBytes = []; -/** - * @category Common Helpers - * @summary Is the given date valid? - * - * @description - * Returns false if argument is Invalid Date and true otherwise. - * Invalid Date is a Date, whose time value is NaN. - * - * Time value of Date: http://es5.github.io/#x15.9.1.1 - * - * @param {Date} date - the date to check - * @returns {Boolean} the date is valid - * @throws {TypeError} argument must be an instance of Date - * - * @example - * // For the valid date: - * var result = isValid(new Date(2014, 1, 31)) - * //=> true - * - * @example - * // For the invalid date: - * var result = isValid(new Date('')) - * //=> false - */ -function isValid (dirtyDate) { - if (isDate(dirtyDate)) { - return !isNaN(dirtyDate) - } else { - throw new TypeError(toString.call(dirtyDate) + ' is not an instance of Date') - } + // Static data + this.decodeTables = codec.decodeTables; + this.decodeTableSeq = codec.decodeTableSeq; + this.defaultCharUnicode = codec.defaultCharUnicode; + this.gb18030 = codec.gb18030; } -module.exports = isValid - - -/***/ }), -/* 256 */ -/***/ (function() { +DBCSDecoder.prototype.write = function(buf) { + var newBuf = Buffer.alloc(buf.length*2), + nodeIdx = this.nodeIdx, + prevBytes = this.prevBytes, prevOffset = this.prevBytes.length, + seqStart = -this.prevBytes.length, // idx of the start of current parsed sequence. + uCode; -eval("require")("iconv"); + for (var i = 0, j = 0; i < buf.length; i++) { + var curByte = (i >= 0) ? buf[i] : prevBytes[i + prevOffset]; + // Lookup in current trie node. + var uCode = this.decodeTables[nodeIdx][curByte]; -/***/ }), -/* 257 */, -/* 258 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + if (uCode >= 0) { + // Normal character, just use it. + } + else if (uCode === UNASSIGNED) { // Unknown char. + // TODO: Callback with seq. + uCode = this.defaultCharUnicode.charCodeAt(0); + i = seqStart; // Skip one byte ('i' will be incremented by the for loop) and try to parse again. + } + else if (uCode === GB18030_CODE) { + if (i >= 3) { + var ptr = (buf[i-3]-0x81)*12600 + (buf[i-2]-0x30)*1260 + (buf[i-1]-0x81)*10 + (curByte-0x30); + } else { + var ptr = (prevBytes[i-3+prevOffset]-0x81)*12600 + + (((i-2 >= 0) ? buf[i-2] : prevBytes[i-2+prevOffset])-0x30)*1260 + + (((i-1 >= 0) ? buf[i-1] : prevBytes[i-1+prevOffset])-0x81)*10 + + (curByte-0x30); + } + var idx = findIdx(this.gb18030.gbChars, ptr); + uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx]; + } + else if (uCode <= NODE_START) { // Go to next trie node. + nodeIdx = NODE_START - uCode; + continue; + } + else if (uCode <= SEQ_START) { // Output a sequence of chars. + var seq = this.decodeTableSeq[SEQ_START - uCode]; + for (var k = 0; k < seq.length - 1; k++) { + uCode = seq[k]; + newBuf[j++] = uCode & 0xFF; + newBuf[j++] = uCode >> 8; + } + uCode = seq[seq.length-1]; + } + else + throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte); -var _curry2 = /*#__PURE__*/__webpack_require__(830); + // Write the character to buffer, handling higher planes using surrogate pair. + if (uCode >= 0x10000) { + uCode -= 0x10000; + var uCodeLead = 0xD800 | (uCode >> 10); + newBuf[j++] = uCodeLead & 0xFF; + newBuf[j++] = uCodeLead >> 8; -var always = /*#__PURE__*/__webpack_require__(657); + uCode = 0xDC00 | (uCode & 0x3FF); + } + newBuf[j++] = uCode & 0xFF; + newBuf[j++] = uCode >> 8; -var times = /*#__PURE__*/__webpack_require__(54); + // Reset trie node. + nodeIdx = 0; seqStart = i+1; + } -/** - * Returns a fixed list of size `n` containing a specified identical value. - * - * @func - * @memberOf R - * @since v0.1.1 - * @category List - * @sig a -> n -> [a] - * @param {*} value The value to repeat. - * @param {Number} n The desired size of the output list. - * @return {Array} A new array containing `n` `value`s. - * @see R.times - * @example - * - * R.repeat('hi', 5); //=> ['hi', 'hi', 'hi', 'hi', 'hi'] - * - * const obj = {}; - * const repeatedObjs = R.repeat(obj, 5); //=> [{}, {}, {}, {}, {}] - * repeatedObjs[0] === repeatedObjs[1]; //=> true - * @symb R.repeat(a, 0) = [] - * @symb R.repeat(a, 1) = [a] - * @symb R.repeat(a, 2) = [a, a] - */ + this.nodeIdx = nodeIdx; + this.prevBytes = (seqStart >= 0) + ? Array.prototype.slice.call(buf, seqStart) + : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf)); + return newBuf.slice(0, j).toString('ucs2'); +} -var repeat = /*#__PURE__*/_curry2(function repeat(value, n) { - return times(always(value), n); -}); -module.exports = repeat; +DBCSDecoder.prototype.end = function() { + var ret = ''; -/***/ }), -/* 259 */, -/* 260 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + // Try to parse all remaining chars. + while (this.prevBytes.length > 0) { + // Skip 1 character in the buffer. + ret += this.defaultCharUnicode; + var bytesArr = this.prevBytes.slice(1); -// Note: since nyc uses this module to output coverage, any lines -// that are in the direct sync flow of nyc's outputCoverage are -// ignored, since we can never get coverage for them. -var assert = __webpack_require__(357) -var signals = __webpack_require__(654) + // Parse remaining as usual. + this.prevBytes = []; + this.nodeIdx = 0; + if (bytesArr.length > 0) + ret += this.write(bytesArr); + } -var EE = __webpack_require__(614) -/* istanbul ignore if */ -if (typeof EE !== 'function') { - EE = EE.EventEmitter + this.prevBytes = []; + this.nodeIdx = 0; + return ret; } -var emitter -if (process.__signal_exit_emitter__) { - emitter = process.__signal_exit_emitter__ -} else { - emitter = process.__signal_exit_emitter__ = new EE() - emitter.count = 0 - emitter.emitted = {} -} +// Binary search for GB18030. Returns largest i such that table[i] <= val. +function findIdx(table, val) { + if (table[0] > val) + return -1; -// Because this emitter is a global, we have to check to see if a -// previous version of this library failed to enable infinite listeners. -// I know what you're about to say. But literally everything about -// signal-exit is a compromise with evil. Get used to it. -if (!emitter.infinite) { - emitter.setMaxListeners(Infinity) - emitter.infinite = true + var l = 0, r = table.length; + while (l < r-1) { // always table[l] <= val < table[r] + var mid = l + ((r-l+1) >> 1); + if (table[mid] <= val) + l = mid; + else + r = mid; + } + return l; } -module.exports = function (cb, opts) { - assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler') - - if (loaded === false) { - load() - } - var ev = 'exit' - if (opts && opts.alwaysLast) { - ev = 'afterexit' - } - var remove = function () { - emitter.removeListener(ev, cb) - if (emitter.listeners('exit').length === 0 && - emitter.listeners('afterexit').length === 0) { - unload() - } - } - emitter.on(ev, cb) +/***/ }), +/* 260 */ +/***/ (function(module) { - return remove -} +module.exports = errorRequest -module.exports.unload = unload -function unload () { - if (!loaded) { - return +async function errorRequest (octokit, state, error, options) { + if (!error.request || !error.request.request) { + // address https://github.com/octokit/plugin-retry.js/issues/8 + throw error } - loaded = false - signals.forEach(function (sig) { - try { - process.removeListener(sig, sigListeners[sig]) - } catch (er) {} - }) - process.emit = originalProcessEmit - process.reallyExit = originalProcessReallyExit - emitter.count -= 1 -} - -function emit (event, code, signal) { - if (emitter.emitted[event]) { - return + // retry all >= 400 && not doNotRetry + if (error.status >= 400 && !state.doNotRetry.includes(error.status)) { + const retries = options.request.retries != null ? options.request.retries : state.retries + const retryAfter = Math.pow((options.request.retryCount || 0) + 1, 2) + throw octokit.retry.retryRequest(error, retries, retryAfter) } - emitter.emitted[event] = true - emitter.emit(event, code, signal) -} -// { : , ... } -var sigListeners = {} -signals.forEach(function (sig) { - sigListeners[sig] = function listener () { - // If there are no other listeners, an exit is coming! - // Simplest way: remove us and then re-send the signal. - // We know that this will kill the process, so we can - // safely emit now. - var listeners = process.listeners(sig) - if (listeners.length === emitter.count) { - unload() - emit('exit', null, sig) - /* istanbul ignore next */ - emit('afterexit', null, sig) - /* istanbul ignore next */ - process.kill(process.pid, sig) - } - } -}) + // Maybe eventually there will be more cases here -module.exports.signals = function () { - return signals + throw error } -module.exports.load = load -var loaded = false - -function load () { - if (loaded) { - return - } - loaded = true - - // This is the number of onSignalExit's that are in play. - // It's important so that we can count the correct number of - // listeners on signals, and don't wait for the other one to - // handle it instead of us. - emitter.count += 1 - - signals = signals.filter(function (sig) { - try { - process.on(sig, sigListeners[sig]) - return true - } catch (er) { - return false - } - }) +/***/ }), +/* 261 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - process.emit = processEmit - process.reallyExit = processReallyExit -} +var _curry3 = /*#__PURE__*/__webpack_require__(687); -var originalProcessReallyExit = process.reallyExit -function processReallyExit (code) { - process.exitCode = code || 0 - emit('exit', process.exitCode, null) - /* istanbul ignore next */ - emit('afterexit', process.exitCode, null) - /* istanbul ignore next */ - originalProcessReallyExit.call(process, process.exitCode) -} - -var originalProcessEmit = process.emit -function processEmit (ev, arg) { - if (ev === 'exit') { - if (arg !== undefined) { - process.exitCode = arg - } - var ret = originalProcessEmit.apply(this, arguments) - emit('exit', process.exitCode, null) - /* istanbul ignore next */ - emit('afterexit', process.exitCode, null) - return ret - } else { - return originalProcessEmit.apply(this, arguments) - } -} - - -/***/ }), -/* 261 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry3 = /*#__PURE__*/__webpack_require__(78); - -var is = /*#__PURE__*/__webpack_require__(452); +var is = /*#__PURE__*/__webpack_require__(452); /** * Returns `true` if the specified object property is of the given type; @@ -10922,7 +11078,7 @@ module.exports = length; /* 263 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Inserts the sub-list into the list, at the specified `index`. _Note that this is not @@ -10967,7 +11123,7 @@ async function fetchAllPages( // it takes query results and returns array resultSelector, // eslint-disable-next-line no-unused-vars - onPageFetchComplete = nodesFetched => {} + onPageFetchComplete = (nodesFetched) => {}, } ) { let endCursor = null; // used to track pagination through the results @@ -10993,7 +11149,7 @@ async function fetchAllPages( onPageFetchComplete(nodes.length); - log.debug(nodes.map(d => `id: ${d.id} ${d.nameWithOwner}`).join('\n ')); + log.debug(nodes.map((d) => `id: ${d.id} ${d.nameWithOwner}`).join('\n ')); results = [...results, ...nodes]; // log.json(results) @@ -11004,7 +11160,7 @@ async function fetchAllPages( // last page results could be handy to fetch properties that are located // at different path than provided by results selector // lastPageProps: apiResponse, - results + results, }; } @@ -11131,9 +11287,9 @@ module.exports = bind; /* 270 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _clone = /*#__PURE__*/__webpack_require__(794); +var _clone = /*#__PURE__*/__webpack_require__(144); -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); var _isTransformer = /*#__PURE__*/__webpack_require__(700); @@ -11259,7 +11415,246 @@ var lensPath = /*#__PURE__*/_curry1(function lensPath(p) { module.exports = lensPath; /***/ }), -/* 273 */, +/* 273 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +const ansiStyles = __webpack_require__(697); +const {stdout: stdoutColor, stderr: stderrColor} = __webpack_require__(247); +const { + stringReplaceAll, + stringEncaseCRLFWithFirstIndex +} = __webpack_require__(754); + +// `supportsColor.level` → `ansiStyles.color[name]` mapping +const levelMapping = [ + 'ansi', + 'ansi', + 'ansi256', + 'ansi16m' +]; + +const styles = Object.create(null); + +const applyOptions = (object, options = {}) => { + if (options.level > 3 || options.level < 0) { + throw new Error('The `level` option should be an integer from 0 to 3'); + } + + // Detect level if not set manually + const colorLevel = stdoutColor ? stdoutColor.level : 0; + object.level = options.level === undefined ? colorLevel : options.level; +}; + +class ChalkClass { + constructor(options) { + return chalkFactory(options); + } +} + +const chalkFactory = options => { + const chalk = {}; + applyOptions(chalk, options); + + chalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_); + + Object.setPrototypeOf(chalk, Chalk.prototype); + Object.setPrototypeOf(chalk.template, chalk); + + chalk.template.constructor = () => { + throw new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.'); + }; + + chalk.template.Instance = ChalkClass; + + return chalk.template; +}; + +function Chalk(options) { + return chalkFactory(options); +} + +for (const [styleName, style] of Object.entries(ansiStyles)) { + styles[styleName] = { + get() { + const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty); + Object.defineProperty(this, styleName, {value: builder}); + return builder; + } + }; +} + +styles.visible = { + get() { + const builder = createBuilder(this, this._styler, true); + Object.defineProperty(this, 'visible', {value: builder}); + return builder; + } +}; + +const usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256']; + +for (const model of usedModels) { + styles[model] = { + get() { + const {level} = this; + return function (...arguments_) { + const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler); + return createBuilder(this, styler, this._isEmpty); + }; + } + }; +} + +for (const model of usedModels) { + const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); + styles[bgModel] = { + get() { + const {level} = this; + return function (...arguments_) { + const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler); + return createBuilder(this, styler, this._isEmpty); + }; + } + }; +} + +const proto = Object.defineProperties(() => {}, { + ...styles, + level: { + enumerable: true, + get() { + return this._generator.level; + }, + set(level) { + this._generator.level = level; + } + } +}); + +const createStyler = (open, close, parent) => { + let openAll; + let closeAll; + if (parent === undefined) { + openAll = open; + closeAll = close; + } else { + openAll = parent.openAll + open; + closeAll = close + parent.closeAll; + } + + return { + open, + close, + openAll, + closeAll, + parent + }; +}; + +const createBuilder = (self, _styler, _isEmpty) => { + const builder = (...arguments_) => { + // Single argument is hot path, implicit coercion is faster than anything + // eslint-disable-next-line no-implicit-coercion + return applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' ')); + }; + + // `__proto__` is used because we must return a function, but there is + // no way to create a function with a different prototype + builder.__proto__ = proto; // eslint-disable-line no-proto + + builder._generator = self; + builder._styler = _styler; + builder._isEmpty = _isEmpty; + + return builder; +}; + +const applyStyle = (self, string) => { + if (self.level <= 0 || !string) { + return self._isEmpty ? '' : string; + } + + let styler = self._styler; + + if (styler === undefined) { + return string; + } + + const {openAll, closeAll} = styler; + if (string.indexOf('\u001B') !== -1) { + while (styler !== undefined) { + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + string = stringReplaceAll(string, styler.close, styler.open); + + styler = styler.parent; + } + } + + // We can move both next actions out of loop, because remaining actions in loop won't have + // any/visible effect on parts we add here. Close the styling before a linebreak and reopen + // after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92 + const lfIndex = string.indexOf('\n'); + if (lfIndex !== -1) { + string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex); + } + + return openAll + string + closeAll; +}; + +let template; +const chalkTag = (chalk, ...strings) => { + const [firstString] = strings; + + if (!Array.isArray(firstString)) { + // If chalk() was called by itself or with a string, + // return the string itself as a string. + return strings.join(' '); + } + + const arguments_ = strings.slice(1); + const parts = [firstString.raw[0]]; + + for (let i = 1; i < firstString.length; i++) { + parts.push( + String(arguments_[i - 1]).replace(/[{}\\]/g, '\\$&'), + String(firstString.raw[i]) + ); + } + + if (template === undefined) { + template = __webpack_require__(606); + } + + return template(chalk, parts.join('')); +}; + +Object.defineProperties(Chalk.prototype, styles); + +const chalk = Chalk(); // eslint-disable-line new-cap +chalk.supportsColor = stdoutColor; +chalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap +chalk.stderr.supportsColor = stderrColor; + +// For TypeScript +chalk.Level = { + None: 0, + Basic: 1, + Ansi256: 2, + TrueColor: 3, + 0: 'None', + 1: 'Basic', + 2: 'Ansi256', + 3: 'TrueColor' +}; + +module.exports = chalk; + + +/***/ }), /* 274 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -11345,5440 +11740,4495 @@ module.exports = difference; /* 277 */ /***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; - -var Buffer = __webpack_require__(293).Buffer; -// Note: not polyfilled with safer-buffer on a purpose, as overrides Buffer +var _curry2 = /*#__PURE__*/__webpack_require__(830); -// == Extend Node primitives to use iconv-lite ================================= +/** + * Takes two arguments, `fst` and `snd`, and returns `[fst, snd]`. + * + * @func + * @memberOf R + * @since v0.18.0 + * @category List + * @sig a -> b -> (a,b) + * @param {*} fst + * @param {*} snd + * @return {Array} + * @see R.objOf, R.of + * @example + * + * R.pair('foo', 'bar'); //=> ['foo', 'bar'] + */ -module.exports = function (iconv) { - var original = undefined; // Place to keep original methods. - // Node authors rewrote Buffer internals to make it compatible with - // Uint8Array and we cannot patch key functions since then. - // Note: this does use older Buffer API on a purpose - iconv.supportsNodeEncodingsExtension = !(Buffer.from || new Buffer(0) instanceof Uint8Array); +var pair = /*#__PURE__*/_curry2(function pair(fst, snd) { + return [fst, snd]; +}); +module.exports = pair; - iconv.extendNodeEncodings = function extendNodeEncodings() { - if (original) return; - original = {}; +/***/ }), +/* 278 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - if (!iconv.supportsNodeEncodingsExtension) { - console.error("ACTION NEEDED: require('iconv-lite').extendNodeEncodings() is not supported in your version of Node"); - console.error("See more info at https://github.com/ashtuchkin/iconv-lite/wiki/Node-v4-compatibility"); - return; - } +var parse = __webpack_require__(751) +var addDays = __webpack_require__(683) +var getISODay = __webpack_require__(14) - var nodeNativeEncodings = { - 'hex': true, 'utf8': true, 'utf-8': true, 'ascii': true, 'binary': true, - 'base64': true, 'ucs2': true, 'ucs-2': true, 'utf16le': true, 'utf-16le': true, - }; +/** + * @category Weekday Helpers + * @summary Set the day of the ISO week to the given date. + * + * @description + * Set the day of the ISO week to the given date. + * ISO week starts with Monday. + * 7 is the index of Sunday, 1 is the index of Monday etc. + * + * @param {Date|String|Number} date - the date to be changed + * @param {Number} day - the day of the ISO week of the new date + * @returns {Date} the new date with the day of the ISO week setted + * + * @example + * // Set Sunday to 1 September 2014: + * var result = setISODay(new Date(2014, 8, 1), 7) + * //=> Sun Sep 07 2014 00:00:00 + */ +function setISODay (dirtyDate, dirtyDay) { + var date = parse(dirtyDate) + var day = Number(dirtyDay) + var currentDay = getISODay(date) + var diff = day - currentDay + return addDays(date, diff) +} - Buffer.isNativeEncoding = function(enc) { - return enc && nodeNativeEncodings[enc.toLowerCase()]; - } +module.exports = setISODay - // -- SlowBuffer ----------------------------------------------------------- - var SlowBuffer = __webpack_require__(293).SlowBuffer; - original.SlowBufferToString = SlowBuffer.prototype.toString; - SlowBuffer.prototype.toString = function(encoding, start, end) { - encoding = String(encoding || 'utf8').toLowerCase(); +/***/ }), +/* 279 */, +/* 280 */ +/***/ (function(module) { - // Use native conversion when possible - if (Buffer.isNativeEncoding(encoding)) - return original.SlowBufferToString.call(this, encoding, start, end); +module.exports = register; - // Otherwise, use our decoding method. - if (typeof start == 'undefined') start = 0; - if (typeof end == 'undefined') end = this.length; - return iconv.decode(this.slice(start, end), encoding); - } +function register(state, name, method, options) { + if (typeof method !== "function") { + throw new Error("method for before hook must be a function"); + } - original.SlowBufferWrite = SlowBuffer.prototype.write; - SlowBuffer.prototype.write = function(string, offset, length, encoding) { - // Support both (string, offset, length, encoding) - // and the legacy (string, encoding, offset, length) - if (isFinite(offset)) { - if (!isFinite(length)) { - encoding = length; - length = undefined; - } - } else { // legacy - var swap = encoding; - encoding = offset; - offset = length; - length = swap; - } + if (!options) { + options = {}; + } - offset = +offset || 0; - var remaining = this.length - offset; - if (!length) { - length = remaining; - } else { - length = +length; - if (length > remaining) { - length = remaining; - } - } - encoding = String(encoding || 'utf8').toLowerCase(); + if (Array.isArray(name)) { + return name.reverse().reduce(function (callback, name) { + return register.bind(null, state, name, callback, options); + }, method)(); + } - // Use native conversion when possible - if (Buffer.isNativeEncoding(encoding)) - return original.SlowBufferWrite.call(this, string, offset, length, encoding); + return Promise.resolve().then(function () { + if (!state.registry[name]) { + return method(options); + } - if (string.length > 0 && (length < 0 || offset < 0)) - throw new RangeError('attempt to write beyond buffer bounds'); + return state.registry[name].reduce(function (method, registered) { + return registered.hook.bind(null, method, options); + }, method)(); + }); +} - // Otherwise, use our encoding method. - var buf = iconv.encode(string, encoding); - if (buf.length < length) length = buf.length; - buf.copy(this, offset, 0, length); - return length; - } - // -- Buffer --------------------------------------------------------------- +/***/ }), +/* 281 */, +/* 282 */, +/* 283 */, +/* 284 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - original.BufferIsEncoding = Buffer.isEncoding; - Buffer.isEncoding = function(encoding) { - return Buffer.isNativeEncoding(encoding) || iconv.encodingExists(encoding); - } +var _curry2 = /*#__PURE__*/__webpack_require__(830); - original.BufferByteLength = Buffer.byteLength; - Buffer.byteLength = SlowBuffer.byteLength = function(str, encoding) { - encoding = String(encoding || 'utf8').toLowerCase(); +var _reduce = /*#__PURE__*/__webpack_require__(870); - // Use native conversion when possible - if (Buffer.isNativeEncoding(encoding)) - return original.BufferByteLength.call(this, str, encoding); +var keys = /*#__PURE__*/__webpack_require__(89); - // Slow, I know, but we don't have a better way yet. - return iconv.encode(str, encoding).length; - } +/** + * An Object-specific version of [`map`](#map). The function is applied to three + * arguments: *(value, key, obj)*. If only the value is significant, use + * [`map`](#map) instead. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Object + * @sig ((*, String, Object) -> *) -> Object -> Object + * @param {Function} fn + * @param {Object} obj + * @return {Object} + * @see R.map + * @example + * + * const xyz = { x: 1, y: 2, z: 3 }; + * const prependKeyAndDouble = (num, key, obj) => key + (num * 2); + * + * R.mapObjIndexed(prependKeyAndDouble, xyz); //=> { x: 'x2', y: 'y4', z: 'z6' } + */ - original.BufferToString = Buffer.prototype.toString; - Buffer.prototype.toString = function(encoding, start, end) { - encoding = String(encoding || 'utf8').toLowerCase(); - // Use native conversion when possible - if (Buffer.isNativeEncoding(encoding)) - return original.BufferToString.call(this, encoding, start, end); +var mapObjIndexed = /*#__PURE__*/_curry2(function mapObjIndexed(fn, obj) { + return _reduce(function (acc, key) { + acc[key] = fn(obj[key], key, obj); + return acc; + }, {}, keys(obj)); +}); +module.exports = mapObjIndexed; - // Otherwise, use our decoding method. - if (typeof start == 'undefined') start = 0; - if (typeof end == 'undefined') end = this.length; - return iconv.decode(this.slice(start, end), encoding); - } +/***/ }), +/* 285 */ +/***/ (function(module) { - original.BufferWrite = Buffer.prototype.write; - Buffer.prototype.write = function(string, offset, length, encoding) { - var _offset = offset, _length = length, _encoding = encoding; - // Support both (string, offset, length, encoding) - // and the legacy (string, encoding, offset, length) - if (isFinite(offset)) { - if (!isFinite(length)) { - encoding = length; - length = undefined; - } - } else { // legacy - var swap = encoding; - encoding = offset; - offset = length; - length = swap; - } +function _isString(x) { + return Object.prototype.toString.call(x) === '[object String]'; +} +module.exports = _isString; - encoding = String(encoding || 'utf8').toLowerCase(); +/***/ }), +/* 286 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - // Use native conversion when possible - if (Buffer.isNativeEncoding(encoding)) - return original.BufferWrite.call(this, string, _offset, _length, _encoding); +var parse = __webpack_require__(751) - offset = +offset || 0; - var remaining = this.length - offset; - if (!length) { - length = remaining; - } else { - length = +length; - if (length > remaining) { - length = remaining; - } - } +/** + * @category Month Helpers + * @summary Return the last day of a month for the given date. + * + * @description + * Return the last day of a month for the given date. + * The result will be in the local timezone. + * + * @param {Date|String|Number} date - the original date + * @returns {Date} the last day of a month + * + * @example + * // The last day of a month for 2 September 2014 11:55:00: + * var result = lastDayOfMonth(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 30 2014 00:00:00 + */ +function lastDayOfMonth (dirtyDate) { + var date = parse(dirtyDate) + var month = date.getMonth() + date.setFullYear(date.getFullYear(), month + 1, 0) + date.setHours(0, 0, 0, 0) + return date +} - if (string.length > 0 && (length < 0 || offset < 0)) - throw new RangeError('attempt to write beyond buffer bounds'); +module.exports = lastDayOfMonth - // Otherwise, use our encoding method. - var buf = iconv.encode(string, encoding); - if (buf.length < length) length = buf.length; - buf.copy(this, offset, 0, length); - return length; - // TODO: Set _charsWritten. - } +/***/ }), +/* 287 */ +/***/ (function(module, __unusedexports, __webpack_require__) { +var _includes = /*#__PURE__*/__webpack_require__(216); - // -- Readable ------------------------------------------------------------- - if (iconv.supportsStreams) { - var Readable = __webpack_require__(413).Readable; +var _curry2 = /*#__PURE__*/__webpack_require__(830); - original.ReadableSetEncoding = Readable.prototype.setEncoding; - Readable.prototype.setEncoding = function setEncoding(enc, options) { - // Use our own decoder, it has the same interface. - // We cannot use original function as it doesn't handle BOM-s. - this._readableState.decoder = iconv.getDecoder(enc, options); - this._readableState.encoding = enc; - } +/** + * Returns `true` if the specified value is equal, in [`R.equals`](#equals) + * terms, to at least one element of the given list; `false` otherwise. + * Works also with strings. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig a -> [a] -> Boolean + * @param {Object} a The item to compare against. + * @param {Array} list The array to consider. + * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise. + * @see R.any + * @example + * + * R.includes(3, [1, 2, 3]); //=> true + * R.includes(4, [1, 2, 3]); //=> false + * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true + * R.includes([42], [[42]]); //=> true + * R.includes('ba', 'banana'); //=>true + */ - Readable.prototype.collect = iconv._collect; - } - } - // Remove iconv-lite Node primitive extensions. - iconv.undoExtendNodeEncodings = function undoExtendNodeEncodings() { - if (!iconv.supportsNodeEncodingsExtension) - return; - if (!original) - throw new Error("require('iconv-lite').undoExtendNodeEncodings(): Nothing to undo; extendNodeEncodings() is not called.") +var includes = /*#__PURE__*/_curry2(_includes); +module.exports = includes; - delete Buffer.isNativeEncoding; +/***/ }), +/* 288 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - var SlowBuffer = __webpack_require__(293).SlowBuffer; +var buildFormattingTokensRegExp = __webpack_require__(494) - SlowBuffer.prototype.toString = original.SlowBufferToString; - SlowBuffer.prototype.write = original.SlowBufferWrite; +function buildFormatLocale () { + // Note: in English, the names of days of the week and months are capitalized. + // If you are making a new locale based on this one, check if the same is true for the language you're working on. + // Generally, formatted dates should look like they are in the middle of a sentence, + // e.g. in Spanish language the weekdays and months should be in the lowercase. + var months3char = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] + var monthsFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] + var weekdays2char = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'] + var weekdays3char = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] + var weekdaysFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] + var meridiemUppercase = ['AM', 'PM'] + var meridiemLowercase = ['am', 'pm'] + var meridiemFull = ['a.m.', 'p.m.'] - Buffer.isEncoding = original.BufferIsEncoding; - Buffer.byteLength = original.BufferByteLength; - Buffer.prototype.toString = original.BufferToString; - Buffer.prototype.write = original.BufferWrite; + var formatters = { + // Month: Jan, Feb, ..., Dec + 'MMM': function (date) { + return months3char[date.getMonth()] + }, - if (iconv.supportsStreams) { - var Readable = __webpack_require__(413).Readable; + // Month: January, February, ..., December + 'MMMM': function (date) { + return monthsFull[date.getMonth()] + }, - Readable.prototype.setEncoding = original.ReadableSetEncoding; - delete Readable.prototype.collect; - } + // Day of week: Su, Mo, ..., Sa + 'dd': function (date) { + return weekdays2char[date.getDay()] + }, - original = undefined; - } -} + // Day of week: Sun, Mon, ..., Sat + 'ddd': function (date) { + return weekdays3char[date.getDay()] + }, + // Day of week: Sunday, Monday, ..., Saturday + 'dddd': function (date) { + return weekdaysFull[date.getDay()] + }, -/***/ }), -/* 278 */, -/* 279 */, -/* 280 */ -/***/ (function(module, exports) { + // AM, PM + 'A': function (date) { + return (date.getHours() / 12) >= 1 ? meridiemUppercase[1] : meridiemUppercase[0] + }, -exports = module.exports = SemVer + // am, pm + 'a': function (date) { + return (date.getHours() / 12) >= 1 ? meridiemLowercase[1] : meridiemLowercase[0] + }, -var debug -/* istanbul ignore next */ -if (typeof process === 'object' && - process.env && - process.env.NODE_DEBUG && - /\bsemver\b/i.test(process.env.NODE_DEBUG)) { - debug = function () { - var args = Array.prototype.slice.call(arguments, 0) - args.unshift('SEMVER') - console.log.apply(console, args) + // a.m., p.m. + 'aa': function (date) { + return (date.getHours() / 12) >= 1 ? meridiemFull[1] : meridiemFull[0] + } } -} else { - debug = function () {} -} -// Note: this is the semver.org version of the spec that it implements -// Not necessarily the package version of this code. -exports.SEMVER_SPEC_VERSION = '2.0.0' - -var MAX_LENGTH = 256 -var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || - /* istanbul ignore next */ 9007199254740991 + // Generate ordinal version of formatters: M -> Mo, D -> Do, etc. + var ordinalFormatters = ['M', 'D', 'DDD', 'd', 'Q', 'W'] + ordinalFormatters.forEach(function (formatterToken) { + formatters[formatterToken + 'o'] = function (date, formatters) { + return ordinal(formatters[formatterToken](date)) + } + }) -// Max safe segment length for coercion. -var MAX_SAFE_COMPONENT_LENGTH = 16 + return { + formatters: formatters, + formattingTokensRegExp: buildFormattingTokensRegExp(formatters) + } +} -// The actual regexps go on exports.re -var re = exports.re = [] -var src = exports.src = [] -var R = 0 +function ordinal (number) { + var rem100 = number % 100 + if (rem100 > 20 || rem100 < 10) { + switch (rem100 % 10) { + case 1: + return number + 'st' + case 2: + return number + 'nd' + case 3: + return number + 'rd' + } + } + return number + 'th' +} -// The following Regular Expressions can be used for tokenizing, -// validating, and parsing SemVer version strings. +module.exports = buildFormatLocale -// ## Numeric Identifier -// A single `0`, or a non-zero digit followed by zero or more digits. -var NUMERICIDENTIFIER = R++ -src[NUMERICIDENTIFIER] = '0|[1-9]\\d*' -var NUMERICIDENTIFIERLOOSE = R++ -src[NUMERICIDENTIFIERLOOSE] = '[0-9]+' +/***/ }), +/* 289 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -// ## Non-numeric Identifier -// Zero or more digits, followed by a letter or hyphen, and then zero or -// more letters, digits, or hyphens. +var _has = /*#__PURE__*/__webpack_require__(390); -var NONNUMERICIDENTIFIER = R++ -src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*' - -// ## Main Version -// Three dot-separated numeric identifiers. - -var MAINVERSION = R++ -src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' + - '(' + src[NUMERICIDENTIFIER] + ')\\.' + - '(' + src[NUMERICIDENTIFIER] + ')' - -var MAINVERSIONLOOSE = R++ -src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + - '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + - '(' + src[NUMERICIDENTIFIERLOOSE] + ')' - -// ## Pre-release Version Identifier -// A numeric identifier, or a non-numeric identifier. - -var PRERELEASEIDENTIFIER = R++ -src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] + - '|' + src[NONNUMERICIDENTIFIER] + ')' - -var PRERELEASEIDENTIFIERLOOSE = R++ -src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] + - '|' + src[NONNUMERICIDENTIFIER] + ')' - -// ## Pre-release Version -// Hyphen, followed by one or more dot-separated pre-release version -// identifiers. - -var PRERELEASE = R++ -src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] + - '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))' - -var PRERELEASELOOSE = R++ -src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] + - '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))' - -// ## Build Metadata Identifier -// Any combination of digits, letters, or hyphens. - -var BUILDIDENTIFIER = R++ -src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+' - -// ## Build Metadata -// Plus sign, followed by one or more period-separated build metadata -// identifiers. - -var BUILD = R++ -src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] + - '(?:\\.' + src[BUILDIDENTIFIER] + ')*))' - -// ## Full Version String -// A main version, followed optionally by a pre-release version and -// build metadata. - -// Note that the only major, minor, patch, and pre-release sections of -// the version string are capturing groups. The build metadata is not a -// capturing group, because it should not ever be used in version -// comparison. - -var FULL = R++ -var FULLPLAIN = 'v?' + src[MAINVERSION] + - src[PRERELEASE] + '?' + - src[BUILD] + '?' - -src[FULL] = '^' + FULLPLAIN + '$' - -// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. -// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty -// common in the npm registry. -var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] + - src[PRERELEASELOOSE] + '?' + - src[BUILD] + '?' - -var LOOSE = R++ -src[LOOSE] = '^' + LOOSEPLAIN + '$' - -var GTLT = R++ -src[GTLT] = '((?:<|>)?=?)' - -// Something like "2.*" or "1.2.x". -// Note that "x.x" is a valid xRange identifer, meaning "any version" -// Only the first item is strictly required. -var XRANGEIDENTIFIERLOOSE = R++ -src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*' -var XRANGEIDENTIFIER = R++ -src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*' - -var XRANGEPLAIN = R++ -src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + - '(?:' + src[PRERELEASE] + ')?' + - src[BUILD] + '?' + - ')?)?' - -var XRANGEPLAINLOOSE = R++ -src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:' + src[PRERELEASELOOSE] + ')?' + - src[BUILD] + '?' + - ')?)?' - -var XRANGE = R++ -src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$' -var XRANGELOOSE = R++ -src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$' - -// Coercion. -// Extract anything that could conceivably be a part of a valid semver -var COERCE = R++ -src[COERCE] = '(?:^|[^\\d])' + - '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + - '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + - '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + - '(?:$|[^\\d])' - -// Tilde ranges. -// Meaning is "reasonably at or greater than" -var LONETILDE = R++ -src[LONETILDE] = '(?:~>?)' - -var TILDETRIM = R++ -src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+' -re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g') -var tildeTrimReplace = '$1~' - -var TILDE = R++ -src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$' -var TILDELOOSE = R++ -src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$' - -// Caret ranges. -// Meaning is "at least and backwards compatible with" -var LONECARET = R++ -src[LONECARET] = '(?:\\^)' - -var CARETTRIM = R++ -src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+' -re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g') -var caretTrimReplace = '$1^' - -var CARET = R++ -src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$' -var CARETLOOSE = R++ -src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$' - -// A simple gt/lt/eq thing, or just "" to indicate "any version" -var COMPARATORLOOSE = R++ -src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$' -var COMPARATOR = R++ -src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$' - -// An expression to strip any whitespace between the gtlt and the thing -// it modifies, so that `> 1.2.3` ==> `>1.2.3` -var COMPARATORTRIM = R++ -src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] + - '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')' - -// this one has to use the /g flag -re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g') -var comparatorTrimReplace = '$1$2$3' - -// Something like `1.2.3 - 1.2.4` -// Note that these all use the loose form, because they'll be -// checked against either the strict or loose comparator form -// later. -var HYPHENRANGE = R++ -src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' + - '\\s+-\\s+' + - '(' + src[XRANGEPLAIN] + ')' + - '\\s*$' - -var HYPHENRANGELOOSE = R++ -src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' + - '\\s+-\\s+' + - '(' + src[XRANGEPLAINLOOSE] + ')' + - '\\s*$' - -// Star ranges basically just allow anything at all. -var STAR = R++ -src[STAR] = '(<|>)?=?\\s*\\*' - -// Compile to actual regexp objects. -// All are flag-free, unless they were created above with a flag. -for (var i = 0; i < R; i++) { - debug(i, src[i]) - if (!re[i]) { - re[i] = new RegExp(src[i]) - } -} - -exports.parse = parse -function parse (version, options) { - if (!options || typeof options !== 'object') { - options = { - loose: !!options, - includePrerelease: false - } - } - - if (version instanceof SemVer) { - return version - } - - if (typeof version !== 'string') { - return null - } +// Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign - if (version.length > MAX_LENGTH) { - return null - } - var r = options.loose ? re[LOOSE] : re[FULL] - if (!r.test(version)) { - return null +function _objectAssign(target) { + if (target == null) { + throw new TypeError('Cannot convert undefined or null to object'); } - try { - return new SemVer(version, options) - } catch (er) { - return null + var output = Object(target); + var idx = 1; + var length = arguments.length; + while (idx < length) { + var source = arguments[idx]; + if (source != null) { + for (var nextKey in source) { + if (_has(nextKey, source)) { + output[nextKey] = source[nextKey]; + } + } + } + idx += 1; } + return output; } -exports.valid = valid -function valid (version, options) { - var v = parse(version, options) - return v ? v.version : null -} - -exports.clean = clean -function clean (version, options) { - var s = parse(version.trim().replace(/^[=v]+/, ''), options) - return s ? s.version : null -} +module.exports = typeof Object.assign === 'function' ? Object.assign : _objectAssign; -exports.SemVer = SemVer +/***/ }), +/* 290 */, +/* 291 */ +/***/ (function(module) { -function SemVer (version, options) { - if (!options || typeof options !== 'object') { - options = { - loose: !!options, - includePrerelease: false - } - } - if (version instanceof SemVer) { - if (version.loose === options.loose) { - return version - } else { - version = version.version - } - } else if (typeof version !== 'string') { - throw new TypeError('Invalid Version: ' + version) - } +/** + * Polyfill from . + */ +var pad = function pad(n) { + return (n < 10 ? '0' : '') + n; +}; - if (version.length > MAX_LENGTH) { - throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters') - } +var _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) { + return d.toISOString(); +} : function _toISOString(d) { + return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z'; +}; - if (!(this instanceof SemVer)) { - return new SemVer(version, options) - } +module.exports = _toISOString; - debug('SemVer', version, options) - this.options = options - this.loose = !!options.loose +/***/ }), +/* 292 */, +/* 293 */ +/***/ (function(module) { - var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL]) +module.exports = require("buffer"); - if (!m) { - throw new TypeError('Invalid Version: ' + version) - } +/***/ }), +/* 294 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - this.raw = version +var _curry2 = /*#__PURE__*/__webpack_require__(830); - // these are actually numbers - this.major = +m[1] - this.minor = +m[2] - this.patch = +m[3] +var keys = /*#__PURE__*/__webpack_require__(89); - if (this.major > MAX_SAFE_INTEGER || this.major < 0) { - throw new TypeError('Invalid major version') - } +/** + * Iterate over an input `object`, calling a provided function `fn` for each + * key and value in the object. + * + * `fn` receives three argument: *(value, key, obj)*. + * + * @func + * @memberOf R + * @since v0.23.0 + * @category Object + * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a + * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`. + * @param {Object} obj The object to iterate over. + * @return {Object} The original object. + * @example + * + * const printKeyConcatValue = (value, key) => console.log(key + ':' + value); + * R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2} + * // logs x:1 + * // logs y:2 + * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b} + */ - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { - throw new TypeError('Invalid minor version') - } - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { - throw new TypeError('Invalid patch version') +var forEachObjIndexed = /*#__PURE__*/_curry2(function forEachObjIndexed(fn, obj) { + var keyList = keys(obj); + var idx = 0; + while (idx < keyList.length) { + var key = keyList[idx]; + fn(obj[key], key, obj); + idx += 1; } + return obj; +}); +module.exports = forEachObjIndexed; - // numberify any prerelease numeric ids - if (!m[4]) { - this.prerelease = [] - } else { - this.prerelease = m[4].split('.').map(function (id) { - if (/^[0-9]+$/.test(id)) { - var num = +id - if (num >= 0 && num < MAX_SAFE_INTEGER) { - return num - } - } - return id - }) - } +/***/ }), +/* 295 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - this.build = m[5] ? m[5].split('.') : [] - this.format() -} +var _arity = /*#__PURE__*/__webpack_require__(451); -SemVer.prototype.format = function () { - this.version = this.major + '.' + this.minor + '.' + this.patch - if (this.prerelease.length) { - this.version += '-' + this.prerelease.join('.') - } - return this.version -} +var _curry1 = /*#__PURE__*/__webpack_require__(721); -SemVer.prototype.toString = function () { - return this.version -} +/** + * Accepts a function `fn` and returns a function that guards invocation of + * `fn` such that `fn` can only ever be called once, no matter how many times + * the returned function is invoked. The first value calculated is returned in + * subsequent invocations. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig (a... -> b) -> (a... -> b) + * @param {Function} fn The function to wrap in a call-only-once wrapper. + * @return {Function} The wrapped function. + * @example + * + * const addOneOnce = R.once(x => x + 1); + * addOneOnce(10); //=> 11 + * addOneOnce(addOneOnce(50)); //=> 11 + */ -SemVer.prototype.compare = function (other) { - debug('SemVer.compare', this.version, this.options, other) - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options) - } - return this.compareMain(other) || this.comparePre(other) -} +var once = /*#__PURE__*/_curry1(function once(fn) { + var called = false; + var result; + return _arity(fn.length, function () { + if (called) { + return result; + } + called = true; + result = fn.apply(this, arguments); + return result; + }); +}); +module.exports = once; -SemVer.prototype.compareMain = function (other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options) - } +/***/ }), +/* 296 */, +/* 297 */, +/* 298 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { - return compareIdentifiers(this.major, other.major) || - compareIdentifiers(this.minor, other.minor) || - compareIdentifiers(this.patch, other.patch) -} +"use strict"; -SemVer.prototype.comparePre = function (other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options) - } - // NOT having a prerelease is > having one - if (this.prerelease.length && !other.prerelease.length) { - return -1 - } else if (!this.prerelease.length && other.prerelease.length) { - return 1 - } else if (!this.prerelease.length && !other.prerelease.length) { - return 0 - } +Object.defineProperty(exports, '__esModule', { value: true }); - var i = 0 - do { - var a = this.prerelease[i] - var b = other.prerelease[i] - debug('prerelease compare', i, a, b) - if (a === undefined && b === undefined) { - return 0 - } else if (b === undefined) { - return 1 - } else if (a === undefined) { - return -1 - } else if (a === b) { - continue - } else { - return compareIdentifiers(a, b) - } - } while (++i) -} - -// preminor will bump the version up to the next minor release, and immediately -// down to pre-release. premajor and prepatch work the same way. -SemVer.prototype.inc = function (release, identifier) { - switch (release) { - case 'premajor': - this.prerelease.length = 0 - this.patch = 0 - this.minor = 0 - this.major++ - this.inc('pre', identifier) - break - case 'preminor': - this.prerelease.length = 0 - this.patch = 0 - this.minor++ - this.inc('pre', identifier) - break - case 'prepatch': - // If this is already a prerelease, it will bump to the next version - // drop any prereleases that might already exist, since they are not - // relevant at this point. - this.prerelease.length = 0 - this.inc('patch', identifier) - this.inc('pre', identifier) - break - // If the input is a non-prerelease version, this acts the same as - // prepatch. - case 'prerelease': - if (this.prerelease.length === 0) { - this.inc('patch', identifier) - } - this.inc('pre', identifier) - break - - case 'major': - // If this is a pre-major version, bump up to the same major version. - // Otherwise increment major. - // 1.0.0-5 bumps to 1.0.0 - // 1.1.0 bumps to 2.0.0 - if (this.minor !== 0 || - this.patch !== 0 || - this.prerelease.length === 0) { - this.major++ - } - this.minor = 0 - this.patch = 0 - this.prerelease = [] - break - case 'minor': - // If this is a pre-minor version, bump up to the same minor version. - // Otherwise increment minor. - // 1.2.0-5 bumps to 1.2.0 - // 1.2.1 bumps to 1.3.0 - if (this.patch !== 0 || this.prerelease.length === 0) { - this.minor++ - } - this.patch = 0 - this.prerelease = [] - break - case 'patch': - // If this is not a pre-release version, it will increment the patch. - // If it is a pre-release it will bump up to the same patch version. - // 1.2.0-5 patches to 1.2.0 - // 1.2.0 patches to 1.2.1 - if (this.prerelease.length === 0) { - this.patch++ - } - this.prerelease = [] - break - // This probably shouldn't be used publicly. - // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. - case 'pre': - if (this.prerelease.length === 0) { - this.prerelease = [0] - } else { - var i = this.prerelease.length - while (--i >= 0) { - if (typeof this.prerelease[i] === 'number') { - this.prerelease[i]++ - i = -2 - } - } - if (i === -1) { - // didn't increment anything - this.prerelease.push(0) - } - } - if (identifier) { - // 1.2.0-beta.1 bumps to 1.2.0-beta.2, - // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 - if (this.prerelease[0] === identifier) { - if (isNaN(this.prerelease[1])) { - this.prerelease = [identifier, 0] - } - } else { - this.prerelease = [identifier, 0] - } - } - break +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - default: - throw new Error('invalid increment argument: ' + release) - } - this.format() - this.raw = this.version - return this -} +var endpoint = __webpack_require__(723); +var universalUserAgent = __webpack_require__(796); +var isPlainObject = __webpack_require__(356); +var nodeFetch = _interopDefault(__webpack_require__(454)); +var requestError = __webpack_require__(497); -exports.inc = inc -function inc (version, release, loose, identifier) { - if (typeof (loose) === 'string') { - identifier = loose - loose = undefined - } +const VERSION = "6.2.3"; - try { - return new SemVer(version, loose).inc(release, identifier).version - } catch (er) { - return null - } +function getBufferResponse(response) { + return response.arrayBuffer(); } -exports.diff = diff -function diff (version1, version2) { - if (eq(version1, version2)) { - return null - } else { - var v1 = parse(version1) - var v2 = parse(version2) - var prefix = '' - if (v1.prerelease.length || v2.prerelease.length) { - prefix = 'pre' - var defaultResult = 'prerelease' +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + const fetch = requestOptions.request && requestOptions.request.fetch || globalThis.fetch || /* istanbul ignore next */nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect + }, + // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)).then(async response => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; } - for (var key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return prefix + key - } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } + if (status === 204 || status === 205) { + return; + } + // GitHub API returns 200 for HEAD requests + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; } + throw new requestError.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: undefined + }, + request: requestOptions + }); } - return defaultResult // may be undefined - } + if (status === 304) { + throw new requestError.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new requestError.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return getResponseData(response); + }).then(data => { + return { + status, + url, + headers, + data + }; + }).catch(error => { + if (error instanceof requestError.RequestError) throw error;else if (error.name === "AbortError") throw error; + throw new requestError.RequestError(error.message, 500, { + request: requestOptions + }); + }); } - -exports.compareIdentifiers = compareIdentifiers - -var numeric = /^[0-9]+$/ -function compareIdentifiers (a, b) { - var anum = numeric.test(a) - var bnum = numeric.test(b) - - if (anum && bnum) { - a = +a - b = +b +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json(); } - - return a === b ? 0 - : (anum && !bnum) ? -1 - : (bnum && !anum) ? 1 - : a < b ? -1 - : 1 -} - -exports.rcompareIdentifiers = rcompareIdentifiers -function rcompareIdentifiers (a, b) { - return compareIdentifiers(b, a) -} - -exports.major = major -function major (a, loose) { - return new SemVer(a, loose).major + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); } - -exports.minor = minor -function minor (a, loose) { - return new SemVer(a, loose).minor +function toErrorMessage(data) { + if (typeof data === "string") return data; + // istanbul ignore else - just in case + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + return data.message; + } + // istanbul ignore next - just in case + return `Unknown error: ${JSON.stringify(data)}`; } -exports.patch = patch -function patch (a, loose) { - return new SemVer(a, loose).patch +function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); } -exports.compare = compare -function compare (a, b, loose) { - return new SemVer(a, loose).compare(new SemVer(b, loose)) -} +const request = withDefaults(endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` + } +}); -exports.compareLoose = compareLoose -function compareLoose (a, b) { - return compare(a, b, true) -} +exports.request = request; +//# sourceMappingURL=index.js.map -exports.rcompare = rcompare -function rcompare (a, b, loose) { - return compare(b, a, loose) -} -exports.sort = sort -function sort (list, loose) { - return list.sort(function (a, b) { - return exports.compare(a, b, loose) - }) -} +/***/ }), +/* 299 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -exports.rsort = rsort -function rsort (list, loose) { - return list.sort(function (a, b) { - return exports.rcompare(a, b, loose) - }) -} +var addMonths = __webpack_require__(465) -exports.gt = gt -function gt (a, b, loose) { - return compare(a, b, loose) > 0 +/** + * @category Quarter Helpers + * @summary Add the specified number of year quarters to the given date. + * + * @description + * Add the specified number of year quarters to the given date. + * + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of quarters to be added + * @returns {Date} the new date with the quarters added + * + * @example + * // Add 1 quarter to 1 September 2014: + * var result = addQuarters(new Date(2014, 8, 1), 1) + * //=> Mon Dec 01 2014 00:00:00 + */ +function addQuarters (dirtyDate, dirtyAmount) { + var amount = Number(dirtyAmount) + var months = amount * 3 + return addMonths(dirtyDate, months) } -exports.lt = lt -function lt (a, b, loose) { - return compare(a, b, loose) < 0 -} +module.exports = addQuarters -exports.eq = eq -function eq (a, b, loose) { - return compare(a, b, loose) === 0 -} -exports.neq = neq -function neq (a, b, loose) { - return compare(a, b, loose) !== 0 -} +/***/ }), +/* 300 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -exports.gte = gte -function gte (a, b, loose) { - return compare(a, b, loose) >= 0 -} +var isSameYear = __webpack_require__(73) -exports.lte = lte -function lte (a, b, loose) { - return compare(a, b, loose) <= 0 +/** + * @category Year Helpers + * @summary Is the given date in the same year as the current date? + * + * @description + * Is the given date in the same year as the current date? + * + * @param {Date|String|Number} date - the date to check + * @returns {Boolean} the date is in this year + * + * @example + * // If today is 25 September 2014, is 2 July 2014 in this year? + * var result = isThisYear(new Date(2014, 6, 2)) + * //=> true + */ +function isThisYear (dirtyDate) { + return isSameYear(new Date(), dirtyDate) } -exports.cmp = cmp -function cmp (a, op, b, loose) { - switch (op) { - case '===': - if (typeof a === 'object') - a = a.version - if (typeof b === 'object') - b = b.version - return a === b - - case '!==': - if (typeof a === 'object') - a = a.version - if (typeof b === 'object') - b = b.version - return a !== b - - case '': - case '=': - case '==': - return eq(a, b, loose) +module.exports = isThisYear - case '!=': - return neq(a, b, loose) - case '>': - return gt(a, b, loose) +/***/ }), +/* 301 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - case '>=': - return gte(a, b, loose) +var parse = __webpack_require__(751) - case '<': - return lt(a, b, loose) +/** + * @category Week Helpers + * @summary Return the end of a week for the given date. + * + * @description + * Return the end of a week for the given date. + * The result will be in the local timezone. + * + * @param {Date|String|Number} date - the original date + * @param {Object} [options] - the object with options + * @param {Number} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Date} the end of a week + * + * @example + * // The end of a week for 2 September 2014 11:55:00: + * var result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Sat Sep 06 2014 23:59:59.999 + * + * @example + * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00: + * var result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), {weekStartsOn: 1}) + * //=> Sun Sep 07 2014 23:59:59.999 + */ +function endOfWeek (dirtyDate, dirtyOptions) { + var weekStartsOn = dirtyOptions ? (Number(dirtyOptions.weekStartsOn) || 0) : 0 - case '<=': - return lte(a, b, loose) + var date = parse(dirtyDate) + var day = date.getDay() + var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn) - default: - throw new TypeError('Invalid operator: ' + op) - } + date.setDate(date.getDate() + diff) + date.setHours(23, 59, 59, 999) + return date } -exports.Comparator = Comparator -function Comparator (comp, options) { - if (!options || typeof options !== 'object') { - options = { - loose: !!options, - includePrerelease: false - } - } - - if (comp instanceof Comparator) { - if (comp.loose === !!options.loose) { - return comp - } else { - comp = comp.value - } - } +module.exports = endOfWeek - if (!(this instanceof Comparator)) { - return new Comparator(comp, options) - } - debug('comparator', comp, options) - this.options = options - this.loose = !!options.loose - this.parse(comp) +/***/ }), +/* 302 */, +/* 303 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - if (this.semver === ANY) { - this.value = '' - } else { - this.value = this.operator + this.semver.version - } +var _curry2 = /*#__PURE__*/__webpack_require__(830); - debug('comp', this) -} +var _has = /*#__PURE__*/__webpack_require__(390); -var ANY = {} -Comparator.prototype.parse = function (comp) { - var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR] - var m = comp.match(r) +/** + * Returns whether or not a path exists in an object. Only the object's + * own properties are checked. + * + * @func + * @memberOf R + * @since v0.26.0 + * @category Object + * @typedefn Idx = String | Int + * @sig [Idx] -> {a} -> Boolean + * @param {Array} path The path to use. + * @param {Object} obj The object to check the path in. + * @return {Boolean} Whether the path exists. + * @see R.has + * @example + * + * R.hasPath(['a', 'b'], {a: {b: 2}}); // => true + * R.hasPath(['a', 'b'], {a: {b: undefined}}); // => true + * R.hasPath(['a', 'b'], {a: {c: 2}}); // => false + * R.hasPath(['a', 'b'], {}); // => false + */ - if (!m) { - throw new TypeError('Invalid comparator: ' + comp) - } - this.operator = m[1] - if (this.operator === '=') { - this.operator = '' +var hasPath = /*#__PURE__*/_curry2(function hasPath(_path, obj) { + if (_path.length === 0) { + return false; } - - // if it literally is just '>' or '' then allow anything. - if (!m[2]) { - this.semver = ANY - } else { - this.semver = new SemVer(m[2], this.options.loose) + var val = obj; + var idx = 0; + while (idx < _path.length) { + if (_has(_path[idx], val)) { + val = val[_path[idx]]; + idx += 1; + } else { + return false; + } } -} - -Comparator.prototype.toString = function () { - return this.value -} + return true; +}); +module.exports = hasPath; -Comparator.prototype.test = function (version) { - debug('Comparator.test', version, this.options.loose) +/***/ }), +/* 304 */ +/***/ (function(module) { - if (this.semver === ANY) { - return true - } +module.exports = require("string_decoder"); - if (typeof version === 'string') { - version = new SemVer(version, this.options) - } +/***/ }), +/* 305 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - return cmp(version, this.operator, this.semver, this.options) -} +var _curry2 = /*#__PURE__*/__webpack_require__(830); -Comparator.prototype.intersects = function (comp, options) { - if (!(comp instanceof Comparator)) { - throw new TypeError('a Comparator is required') - } +var _reduced = /*#__PURE__*/__webpack_require__(938); - if (!options || typeof options !== 'object') { - options = { - loose: !!options, - includePrerelease: false - } - } +var _xfBase = /*#__PURE__*/__webpack_require__(60); - var rangeTmp +var XFindIndex = /*#__PURE__*/function () { - if (this.operator === '') { - rangeTmp = new Range(comp.value, options) - return satisfies(this.value, rangeTmp, options) - } else if (comp.operator === '') { - rangeTmp = new Range(this.value, options) - return satisfies(comp.semver, rangeTmp, options) + function XFindIndex(f, xf) { + this.xf = xf; + this.f = f; + this.idx = -1; + this.found = false; } - - var sameDirectionIncreasing = - (this.operator === '>=' || this.operator === '>') && - (comp.operator === '>=' || comp.operator === '>') - var sameDirectionDecreasing = - (this.operator === '<=' || this.operator === '<') && - (comp.operator === '<=' || comp.operator === '<') - var sameSemVer = this.semver.version === comp.semver.version - var differentDirectionsInclusive = - (this.operator === '>=' || this.operator === '<=') && - (comp.operator === '>=' || comp.operator === '<=') - var oppositeDirectionsLessThan = - cmp(this.semver, '<', comp.semver, options) && - ((this.operator === '>=' || this.operator === '>') && - (comp.operator === '<=' || comp.operator === '<')) - var oppositeDirectionsGreaterThan = - cmp(this.semver, '>', comp.semver, options) && - ((this.operator === '<=' || this.operator === '<') && - (comp.operator === '>=' || comp.operator === '>')) - - return sameDirectionIncreasing || sameDirectionDecreasing || - (sameSemVer && differentDirectionsInclusive) || - oppositeDirectionsLessThan || oppositeDirectionsGreaterThan -} - -exports.Range = Range -function Range (range, options) { - if (!options || typeof options !== 'object') { - options = { - loose: !!options, - includePrerelease: false + XFindIndex.prototype['@@transducer/init'] = _xfBase.init; + XFindIndex.prototype['@@transducer/result'] = function (result) { + if (!this.found) { + result = this.xf['@@transducer/step'](result, -1); } - } - - if (range instanceof Range) { - if (range.loose === !!options.loose && - range.includePrerelease === !!options.includePrerelease) { - return range - } else { - return new Range(range.raw, options) + return this.xf['@@transducer/result'](result); + }; + XFindIndex.prototype['@@transducer/step'] = function (result, input) { + this.idx += 1; + if (this.f(input)) { + this.found = true; + result = _reduced(this.xf['@@transducer/step'](result, this.idx)); } - } - - if (range instanceof Comparator) { - return new Range(range.value, options) - } + return result; + }; - if (!(this instanceof Range)) { - return new Range(range, options) - } + return XFindIndex; +}(); - this.options = options - this.loose = !!options.loose - this.includePrerelease = !!options.includePrerelease +var _xfindIndex = /*#__PURE__*/_curry2(function _xfindIndex(f, xf) { + return new XFindIndex(f, xf); +}); +module.exports = _xfindIndex; - // First, split based on boolean or || - this.raw = range - this.set = range.split(/\s*\|\|\s*/).map(function (range) { - return this.parseRange(range.trim()) - }, this).filter(function (c) { - // throw out any that are not relevant for whatever reason - return c.length - }) +/***/ }), +/* 306 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - if (!this.set.length) { - throw new TypeError('Invalid SemVer Range: ' + range) - } +var _curry2 = /*#__PURE__*/__webpack_require__(830); - this.format() -} +/** + * Sorts the list according to the supplied function. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig Ord b => (a -> b) -> [a] -> [a] + * @param {Function} fn + * @param {Array} list The list to sort. + * @return {Array} A new list sorted by the keys generated by `fn`. + * @example + * + * const sortByFirstItem = R.sortBy(R.prop(0)); + * const pairs = [[-1, 1], [-2, 2], [-3, 3]]; + * sortByFirstItem(pairs); //=> [[-3, 3], [-2, 2], [-1, 1]] + * + * const sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop('name'))); + * const alice = { + * name: 'ALICE', + * age: 101 + * }; + * const bob = { + * name: 'Bob', + * age: -10 + * }; + * const clara = { + * name: 'clara', + * age: 314.159 + * }; + * const people = [clara, bob, alice]; + * sortByNameCaseInsensitive(people); //=> [alice, bob, clara] + */ + + +var sortBy = /*#__PURE__*/_curry2(function sortBy(fn, list) { + return Array.prototype.slice.call(list, 0).sort(function (a, b) { + var aa = fn(a); + var bb = fn(b); + return aa < bb ? -1 : aa > bb ? 1 : 0; + }); +}); +module.exports = sortBy; + +/***/ }), +/* 307 */, +/* 308 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var getISOYear = __webpack_require__(689) -Range.prototype.format = function () { - this.range = this.set.map(function (comps) { - return comps.join(' ').trim() - }).join('||').trim() - return this.range +/** + * @category ISO Week-Numbering Year Helpers + * @summary Get the number of calendar ISO week-numbering years between the given dates. + * + * @description + * Get the number of calendar ISO week-numbering years between the given dates. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param {Date|String|Number} dateLeft - the later date + * @param {Date|String|Number} dateRight - the earlier date + * @returns {Number} the number of calendar ISO week-numbering years + * + * @example + * // How many calendar ISO week-numbering years are 1 January 2010 and 1 January 2012? + * var result = differenceInCalendarISOYears( + * new Date(2012, 0, 1), + * new Date(2010, 0, 1) + * ) + * //=> 2 + */ +function differenceInCalendarISOYears (dirtyDateLeft, dirtyDateRight) { + return getISOYear(dirtyDateLeft) - getISOYear(dirtyDateRight) } -Range.prototype.toString = function () { - return this.range +module.exports = differenceInCalendarISOYears + + +/***/ }), +/* 309 */, +/* 310 */, +/* 311 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var differenceInDays = __webpack_require__(874) + +/** + * @category Week Helpers + * @summary Get the number of full weeks between the given dates. + * + * @description + * Get the number of full weeks between the given dates. + * + * @param {Date|String|Number} dateLeft - the later date + * @param {Date|String|Number} dateRight - the earlier date + * @returns {Number} the number of full weeks + * + * @example + * // How many full weeks are between 5 July 2014 and 20 July 2014? + * var result = differenceInWeeks( + * new Date(2014, 6, 20), + * new Date(2014, 6, 5) + * ) + * //=> 2 + */ +function differenceInWeeks (dirtyDateLeft, dirtyDateRight) { + var diff = differenceInDays(dirtyDateLeft, dirtyDateRight) / 7 + return diff > 0 ? Math.floor(diff) : Math.ceil(diff) } -Range.prototype.parseRange = function (range) { - var loose = this.options.loose - range = range.trim() - // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` - var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE] - range = range.replace(hr, hyphenReplace) - debug('hyphen replace', range) - // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` - range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace) - debug('comparator trim', range, re[COMPARATORTRIM]) +module.exports = differenceInWeeks + - // `~ 1.2.3` => `~1.2.3` - range = range.replace(re[TILDETRIM], tildeTrimReplace) +/***/ }), +/* 312 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - // `^ 1.2.3` => `^1.2.3` - range = range.replace(re[CARETTRIM], caretTrimReplace) +var _curry2 = /*#__PURE__*/__webpack_require__(830); - // normalize spaces - range = range.split(/\s+/).join(' ') +/** + * Returns a partial copy of an object containing only the keys specified. If + * the key does not exist, the property is ignored. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig [k] -> {k: v} -> {k: v} + * @param {Array} names an array of String property names to copy onto a new object + * @param {Object} obj The object to copy from + * @return {Object} A new object with only properties from `names` on it. + * @see R.omit, R.props + * @example + * + * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4} + * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1} + */ - // At this point, the range is completely trimmed and - // ready to be split into comparators. - var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR] - var set = range.split(' ').map(function (comp) { - return parseComparator(comp, this.options) - }, this).join(' ').split(/\s+/) - if (this.options.loose) { - // in loose mode, throw out any that are not valid comparators - set = set.filter(function (comp) { - return !!comp.match(compRe) - }) +var pick = /*#__PURE__*/_curry2(function pick(names, obj) { + var result = {}; + var idx = 0; + while (idx < names.length) { + if (names[idx] in obj) { + result[names[idx]] = obj[names[idx]]; + } + idx += 1; } - set = set.map(function (comp) { - return new Comparator(comp, this.options) - }, this) + return result; +}); +module.exports = pick; + +/***/ }), +/* 313 */ +/***/ (function(module) { - return set +function _pipe(f, g) { + return function () { + return g.call(this, f.apply(this, arguments)); + }; } +module.exports = _pipe; -Range.prototype.intersects = function (range, options) { - if (!(range instanceof Range)) { - throw new TypeError('a Range is required') - } +/***/ }), +/* 314 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - return this.set.some(function (thisComparators) { - return thisComparators.every(function (thisComparator) { - return range.set.some(function (rangeComparators) { - return rangeComparators.every(function (rangeComparator) { - return thisComparator.intersects(rangeComparator, options) - }) - }) - }) - }) -} +var _curry1 = /*#__PURE__*/__webpack_require__(721); -// Mostly just for testing and legacy API reasons -exports.toComparators = toComparators -function toComparators (range, options) { - return new Range(range, options).set.map(function (comp) { - return comp.map(function (c) { - return c.value - }).join(' ').trim().split(' ') - }) +var converge = /*#__PURE__*/__webpack_require__(886); + +/** + * juxt applies a list of functions to a list of values. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category Function + * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n]) + * @param {Array} fns An array of functions + * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters. + * @see R.applySpec + * @example + * + * const getRange = R.juxt([Math.min, Math.max]); + * getRange(3, 4, 9, -3); //=> [-3, 9] + * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)] + */ + + +var juxt = /*#__PURE__*/_curry1(function juxt(fns) { + return converge(function () { + return Array.prototype.slice.call(arguments, 0); + }, fns); +}); +module.exports = juxt; + +/***/ }), +/* 315 */ +/***/ (function(module) { + +"use strict"; + +module.exports = function(Promise) { +function returner() { + return this.value; +} +function thrower() { + throw this.reason; } -// comprised of xranges, tildes, stars, and gtlt's at this point. -// already replaced the hyphen ranges -// turn into a set of JUST comparators. -function parseComparator (comp, options) { - debug('comp', comp, options) - comp = replaceCarets(comp, options) - debug('caret', comp) - comp = replaceTildes(comp, options) - debug('tildes', comp) - comp = replaceXRanges(comp, options) - debug('xrange', comp) - comp = replaceStars(comp, options) - debug('stars', comp) - return comp -} - -function isX (id) { - return !id || id.toLowerCase() === 'x' || id === '*' -} - -// ~, ~> --> * (any, kinda silly) -// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 -// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 -// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 -// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 -// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 -function replaceTildes (comp, options) { - return comp.trim().split(/\s+/).map(function (comp) { - return replaceTilde(comp, options) - }).join(' ') -} - -function replaceTilde (comp, options) { - var r = options.loose ? re[TILDELOOSE] : re[TILDE] - return comp.replace(r, function (_, M, m, p, pr) { - debug('tilde', comp, _, M, m, p, pr) - var ret - - if (isX(M)) { - ret = '' - } else if (isX(m)) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0' - } else if (isX(p)) { - // ~1.2 == >=1.2.0 <1.3.0 - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0' - } else if (pr) { - debug('replaceTilde pr', pr) - ret = '>=' + M + '.' + m + '.' + p + '-' + pr + - ' <' + M + '.' + (+m + 1) + '.0' +Promise.prototype["return"] = +Promise.prototype.thenReturn = function (value) { + if (value instanceof Promise) value.suppressUnhandledRejections(); + return this._then( + returner, undefined, undefined, {value: value}, undefined); +}; + +Promise.prototype["throw"] = +Promise.prototype.thenThrow = function (reason) { + return this._then( + thrower, undefined, undefined, {reason: reason}, undefined); +}; + +Promise.prototype.catchThrow = function (reason) { + if (arguments.length <= 1) { + return this._then( + undefined, thrower, undefined, {reason: reason}, undefined); } else { - // ~1.2.3 == >=1.2.3 <1.3.0 - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + (+m + 1) + '.0' + var _reason = arguments[1]; + var handler = function() {throw _reason;}; + return this.caught(reason, handler); } +}; - debug('tilde return', ret) - return ret - }) -} - -// ^ --> * (any, kinda silly) -// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 -// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 -// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 -// ^1.2.3 --> >=1.2.3 <2.0.0 -// ^1.2.0 --> >=1.2.0 <2.0.0 -function replaceCarets (comp, options) { - return comp.trim().split(/\s+/).map(function (comp) { - return replaceCaret(comp, options) - }).join(' ') -} - -function replaceCaret (comp, options) { - debug('caret', comp, options) - var r = options.loose ? re[CARETLOOSE] : re[CARET] - return comp.replace(r, function (_, M, m, p, pr) { - debug('caret', comp, _, M, m, p, pr) - var ret - - if (isX(M)) { - ret = '' - } else if (isX(m)) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0' - } else if (isX(p)) { - if (M === '0') { - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0' - } else { - ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0' - } - } else if (pr) { - debug('replaceCaret pr', pr) - if (M === '0') { - if (m === '0') { - ret = '>=' + M + '.' + m + '.' + p + '-' + pr + - ' <' + M + '.' + m + '.' + (+p + 1) - } else { - ret = '>=' + M + '.' + m + '.' + p + '-' + pr + - ' <' + M + '.' + (+m + 1) + '.0' - } - } else { - ret = '>=' + M + '.' + m + '.' + p + '-' + pr + - ' <' + (+M + 1) + '.0.0' - } +Promise.prototype.catchReturn = function (value) { + if (arguments.length <= 1) { + if (value instanceof Promise) value.suppressUnhandledRejections(); + return this._then( + undefined, returner, undefined, {value: value}, undefined); } else { - debug('no pr') - if (M === '0') { - if (m === '0') { - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + m + '.' + (+p + 1) - } else { - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + (+m + 1) + '.0' - } - } else { - ret = '>=' + M + '.' + m + '.' + p + - ' <' + (+M + 1) + '.0.0' - } + var _value = arguments[1]; + if (_value instanceof Promise) _value.suppressUnhandledRejections(); + var handler = function() {return _value;}; + return this.caught(value, handler); } +}; +}; - debug('caret return', ret) - return ret - }) -} -function replaceXRanges (comp, options) { - debug('replaceXRanges', comp, options) - return comp.split(/\s+/).map(function (comp) { - return replaceXRange(comp, options) - }).join(' ') +/***/ }), +/* 316 */, +/* 317 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry1 = /*#__PURE__*/__webpack_require__(721); + +/** + * Checks if the input value is `null` or `undefined`. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Type + * @sig * -> Boolean + * @param {*} x The value to test. + * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`. + * @example + * + * R.isNil(null); //=> true + * R.isNil(undefined); //=> true + * R.isNil(0); //=> false + * R.isNil([]); //=> false + */ + + +var isNil = /*#__PURE__*/_curry1(function isNil(x) { + return x == null; +}); +module.exports = isNil; + +/***/ }), +/* 318 */, +/* 319 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +var Buffer = __webpack_require__(572).Buffer; + +// == UTF32-LE/BE codec. ========================================================== + +exports._utf32 = Utf32Codec; + +function Utf32Codec(codecOptions, iconv) { + this.iconv = iconv; + this.bomAware = true; + this.isLE = codecOptions.isLE; } -function replaceXRange (comp, options) { - comp = comp.trim() - var r = options.loose ? re[XRANGELOOSE] : re[XRANGE] - return comp.replace(r, function (ret, gtlt, M, m, p, pr) { - debug('xRange', comp, ret, gtlt, M, m, p, pr) - var xM = isX(M) - var xm = xM || isX(m) - var xp = xm || isX(p) - var anyX = xp +exports.utf32le = { type: '_utf32', isLE: true }; +exports.utf32be = { type: '_utf32', isLE: false }; - if (gtlt === '=' && anyX) { - gtlt = '' - } +// Aliases +exports.ucs4le = 'utf32le'; +exports.ucs4be = 'utf32be'; - if (xM) { - if (gtlt === '>' || gtlt === '<') { - // nothing is allowed - ret = '<0.0.0' - } else { - // nothing is forbidden - ret = '*' - } - } else if (gtlt && anyX) { - // we know patch is an x, because we have any x at all. - // replace X with 0 - if (xm) { - m = 0 - } - p = 0 - - if (gtlt === '>') { - // >1 => >=2.0.0 - // >1.2 => >=1.3.0 - // >1.2.3 => >= 1.2.4 - gtlt = '>=' - if (xm) { - M = +M + 1 - m = 0 - p = 0 - } else { - m = +m + 1 - p = 0 - } - } else if (gtlt === '<=') { - // <=0.7.x is actually <0.8.0, since any 0.7.x should - // pass. Similarly, <=7.x is actually <8.0.0, etc. - gtlt = '<' - if (xm) { - M = +M + 1 - } else { - m = +m + 1 +Utf32Codec.prototype.encoder = Utf32Encoder; +Utf32Codec.prototype.decoder = Utf32Decoder; + +// -- Encoding + +function Utf32Encoder(options, codec) { + this.isLE = codec.isLE; + this.highSurrogate = 0; +} + +Utf32Encoder.prototype.write = function(str) { + var src = Buffer.from(str, 'ucs2'); + var dst = Buffer.alloc(src.length * 2); + var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE; + var offset = 0; + + for (var i = 0; i < src.length; i += 2) { + var code = src.readUInt16LE(i); + var isHighSurrogate = (0xD800 <= code && code < 0xDC00); + var isLowSurrogate = (0xDC00 <= code && code < 0xE000); + + if (this.highSurrogate) { + if (isHighSurrogate || !isLowSurrogate) { + // There shouldn't be two high surrogates in a row, nor a high surrogate which isn't followed by a low + // surrogate. If this happens, keep the pending high surrogate as a stand-alone semi-invalid character + // (technically wrong, but expected by some applications, like Windows file names). + write32.call(dst, this.highSurrogate, offset); + offset += 4; + } + else { + // Create 32-bit value from high and low surrogates; + var codepoint = (((this.highSurrogate - 0xD800) << 10) | (code - 0xDC00)) + 0x10000; + + write32.call(dst, codepoint, offset); + offset += 4; + this.highSurrogate = 0; + + continue; + } } - } - ret = gtlt + M + '.' + m + '.' + p - } else if (xm) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0' - } else if (xp) { - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0' + if (isHighSurrogate) + this.highSurrogate = code; + else { + // Even if the current character is a low surrogate, with no previous high surrogate, we'll + // encode it as a semi-invalid stand-alone character for the same reasons expressed above for + // unpaired high surrogates. + write32.call(dst, code, offset); + offset += 4; + this.highSurrogate = 0; + } } - debug('xRange return', ret) + if (offset < dst.length) + dst = dst.slice(0, offset); - return ret - }) -} + return dst; +}; -// Because * is AND-ed with everything else in the comparator, -// and '' means "any version", just remove the *s entirely. -function replaceStars (comp, options) { - debug('replaceStars', comp, options) - // Looseness is ignored here. star is always as loose as it gets! - return comp.trim().replace(re[STAR], '') -} - -// This function is passed to string.replace(re[HYPHENRANGE]) -// M, m, patch, prerelease, build -// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 -// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do -// 1.2 - 3.4 => >=1.2.0 <3.5.0 -function hyphenReplace ($0, - from, fM, fm, fp, fpr, fb, - to, tM, tm, tp, tpr, tb) { - if (isX(fM)) { - from = '' - } else if (isX(fm)) { - from = '>=' + fM + '.0.0' - } else if (isX(fp)) { - from = '>=' + fM + '.' + fm + '.0' - } else { - from = '>=' + from - } +Utf32Encoder.prototype.end = function() { + // Treat any leftover high surrogate as a semi-valid independent character. + if (!this.highSurrogate) + return; - if (isX(tM)) { - to = '' - } else if (isX(tm)) { - to = '<' + (+tM + 1) + '.0.0' - } else if (isX(tp)) { - to = '<' + tM + '.' + (+tm + 1) + '.0' - } else if (tpr) { - to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr - } else { - to = '<=' + to - } + var buf = Buffer.alloc(4); - return (from + ' ' + to).trim() -} + if (this.isLE) + buf.writeUInt32LE(this.highSurrogate, 0); + else + buf.writeUInt32BE(this.highSurrogate, 0); -// if ANY of the sets match ALL of its comparators, then pass -Range.prototype.test = function (version) { - if (!version) { - return false - } + this.highSurrogate = 0; - if (typeof version === 'string') { - version = new SemVer(version, this.options) - } + return buf; +}; - for (var i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version, this.options)) { - return true - } - } - return false +// -- Decoding + +function Utf32Decoder(options, codec) { + this.isLE = codec.isLE; + this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0); + this.overflow = []; } -function testSet (set, version, options) { - for (var i = 0; i < set.length; i++) { - if (!set[i].test(version)) { - return false - } - } +Utf32Decoder.prototype.write = function(src) { + if (src.length === 0) + return ''; - if (version.prerelease.length && !options.includePrerelease) { - // Find the set of versions that are allowed to have prereleases - // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 - // That should allow `1.2.3-pr.2` to pass. - // However, `1.2.4-alpha.notready` should NOT be allowed, - // even though it's within the range set by the comparators. - for (i = 0; i < set.length; i++) { - debug(set[i].semver) - if (set[i].semver === ANY) { - continue - } + var i = 0; + var codepoint = 0; + var dst = Buffer.alloc(src.length + 4); + var offset = 0; + var isLE = this.isLE; + var overflow = this.overflow; + var badChar = this.badChar; + + if (overflow.length > 0) { + for (; i < src.length && overflow.length < 4; i++) + overflow.push(src[i]); + + if (overflow.length === 4) { + // NOTE: codepoint is a signed int32 and can be negative. + // NOTE: We copied this block from below to help V8 optimize it (it works with array, not buffer). + if (isLE) { + codepoint = overflow[i] | (overflow[i+1] << 8) | (overflow[i+2] << 16) | (overflow[i+3] << 24); + } else { + codepoint = overflow[i+3] | (overflow[i+2] << 8) | (overflow[i+1] << 16) | (overflow[i] << 24); + } + overflow.length = 0; - if (set[i].semver.prerelease.length > 0) { - var allowed = set[i].semver - if (allowed.major === version.major && - allowed.minor === version.minor && - allowed.patch === version.patch) { - return true + offset = _writeCodepoint(dst, offset, codepoint, badChar); } - } } - // Version has a -pre, but it's not one of the ones we like. - return false - } + // Main loop. Should be as optimized as possible. + for (; i < src.length - 3; i += 4) { + // NOTE: codepoint is a signed int32 and can be negative. + if (isLE) { + codepoint = src[i] | (src[i+1] << 8) | (src[i+2] << 16) | (src[i+3] << 24); + } else { + codepoint = src[i+3] | (src[i+2] << 8) | (src[i+1] << 16) | (src[i] << 24); + } + offset = _writeCodepoint(dst, offset, codepoint, badChar); + } - return true -} + // Keep overflowing bytes. + for (; i < src.length; i++) { + overflow.push(src[i]); + } -exports.satisfies = satisfies -function satisfies (version, range, options) { - try { - range = new Range(range, options) - } catch (er) { - return false - } - return range.test(version) -} + return dst.slice(0, offset).toString('ucs2'); +}; -exports.maxSatisfying = maxSatisfying -function maxSatisfying (versions, range, options) { - var max = null - var maxSV = null - try { - var rangeObj = new Range(range, options) - } catch (er) { - return null - } - versions.forEach(function (v) { - if (rangeObj.test(v)) { - // satisfies(v, range, options) - if (!max || maxSV.compare(v) === -1) { - // compare(max, v, true) - max = v - maxSV = new SemVer(max, options) - } - } - }) - return max -} +function _writeCodepoint(dst, offset, codepoint, badChar) { + // NOTE: codepoint is signed int32 and can be negative. We keep it that way to help V8 with optimizations. + if (codepoint < 0 || codepoint > 0x10FFFF) { + // Not a valid Unicode codepoint + codepoint = badChar; + } -exports.minSatisfying = minSatisfying -function minSatisfying (versions, range, options) { - var min = null - var minSV = null - try { - var rangeObj = new Range(range, options) - } catch (er) { - return null - } - versions.forEach(function (v) { - if (rangeObj.test(v)) { - // satisfies(v, range, options) - if (!min || minSV.compare(v) === 1) { - // compare(min, v, true) - min = v - minSV = new SemVer(min, options) - } + // Ephemeral Planes: Write high surrogate. + if (codepoint >= 0x10000) { + codepoint -= 0x10000; + + var high = 0xD800 | (codepoint >> 10); + dst[offset++] = high & 0xff; + dst[offset++] = high >> 8; + + // Low surrogate is written below. + var codepoint = 0xDC00 | (codepoint & 0x3FF); } - }) - return min -} -exports.minVersion = minVersion -function minVersion (range, loose) { - range = new Range(range, loose) + // Write BMP char or low surrogate. + dst[offset++] = codepoint & 0xff; + dst[offset++] = codepoint >> 8; - var minver = new SemVer('0.0.0') - if (range.test(minver)) { - return minver - } + return offset; +}; - minver = new SemVer('0.0.0-0') - if (range.test(minver)) { - return minver - } +Utf32Decoder.prototype.end = function() { + this.overflow.length = 0; +}; - minver = null - for (var i = 0; i < range.set.length; ++i) { - var comparators = range.set[i] +// == UTF-32 Auto codec ============================================================= +// Decoder chooses automatically from UTF-32LE and UTF-32BE using BOM and space-based heuristic. +// Defaults to UTF-32LE. http://en.wikipedia.org/wiki/UTF-32 +// Encoder/decoder default can be changed: iconv.decode(buf, 'utf32', {defaultEncoding: 'utf-32be'}); - comparators.forEach(function (comparator) { - // Clone to avoid manipulating the comparator's semver object. - var compver = new SemVer(comparator.semver.version) - switch (comparator.operator) { - case '>': - if (compver.prerelease.length === 0) { - compver.patch++ - } else { - compver.prerelease.push(0) - } - compver.raw = compver.format() - /* fallthrough */ - case '': - case '>=': - if (!minver || gt(minver, compver)) { - minver = compver - } - break - case '<': - case '<=': - /* Ignore maximum versions */ - break - /* istanbul ignore next */ - default: - throw new Error('Unexpected operation: ' + comparator.operator) - } - }) - } +// Encoder prepends BOM (which can be overridden with (addBOM: false}). - if (minver && range.test(minver)) { - return minver - } +exports.utf32 = Utf32AutoCodec; +exports.ucs4 = 'utf32'; - return null +function Utf32AutoCodec(options, iconv) { + this.iconv = iconv; } -exports.validRange = validRange -function validRange (range, options) { - try { - // Return '*' instead of '' so that truthiness works. - // This will throw if it's invalid anyway - return new Range(range, options).range || '*' - } catch (er) { - return null - } +Utf32AutoCodec.prototype.encoder = Utf32AutoEncoder; +Utf32AutoCodec.prototype.decoder = Utf32AutoDecoder; + +// -- Encoding + +function Utf32AutoEncoder(options, codec) { + options = options || {}; + + if (options.addBOM === undefined) + options.addBOM = true; + + this.encoder = codec.iconv.getEncoder(options.defaultEncoding || 'utf-32le', options); } -// Determine if version is less than all the versions possible in the range -exports.ltr = ltr -function ltr (version, range, options) { - return outside(version, range, '<', options) -} - -// Determine if version is greater than all the versions possible in the range. -exports.gtr = gtr -function gtr (version, range, options) { - return outside(version, range, '>', options) -} - -exports.outside = outside -function outside (version, range, hilo, options) { - version = new SemVer(version, options) - range = new Range(range, options) - - var gtfn, ltefn, ltfn, comp, ecomp - switch (hilo) { - case '>': - gtfn = gt - ltefn = lte - ltfn = lt - comp = '>' - ecomp = '>=' - break - case '<': - gtfn = lt - ltefn = gte - ltfn = gt - comp = '<' - ecomp = '<=' - break - default: - throw new TypeError('Must provide a hilo val of "<" or ">"') - } +Utf32AutoEncoder.prototype.write = function(str) { + return this.encoder.write(str); +}; - // If it satisifes the range it is not outside - if (satisfies(version, range, options)) { - return false - } +Utf32AutoEncoder.prototype.end = function() { + return this.encoder.end(); +}; - // From now on, variable terms are as if we're in "gtr" mode. - // but note that everything is flipped for the "ltr" function. +// -- Decoding - for (var i = 0; i < range.set.length; ++i) { - var comparators = range.set[i] +function Utf32AutoDecoder(options, codec) { + this.decoder = null; + this.initialBufs = []; + this.initialBufsLen = 0; + this.options = options || {}; + this.iconv = codec.iconv; +} - var high = null - var low = null +Utf32AutoDecoder.prototype.write = function(buf) { + if (!this.decoder) { + // Codec is not chosen yet. Accumulate initial bytes. + this.initialBufs.push(buf); + this.initialBufsLen += buf.length; - comparators.forEach(function (comparator) { - if (comparator.semver === ANY) { - comparator = new Comparator('>=0.0.0') - } - high = high || comparator - low = low || comparator - if (gtfn(comparator.semver, high.semver, options)) { - high = comparator - } else if (ltfn(comparator.semver, low.semver, options)) { - low = comparator - } - }) + if (this.initialBufsLen < 32) // We need more bytes to use space heuristic (see below) + return ''; + + // We have enough bytes -> detect endianness. + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + + var resStr = ''; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); - // If the edge version comparator has a operator then our version - // isn't outside it - if (high.operator === comp || high.operator === ecomp) { - return false + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; } - // If the lowest version comparator has an operator and our version - // is less than it then it isn't higher than the range - if ((!low.operator || low.operator === comp) && - ltefn(version, low.semver)) { - return false - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false + return this.decoder.write(buf); +}; + +Utf32AutoDecoder.prototype.end = function() { + if (!this.decoder) { + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + + var resStr = ''; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + + var trail = this.decoder.end(); + if (trail) + resStr += trail; + + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; } - } - return true -} -exports.prerelease = prerelease -function prerelease (version, options) { - var parsed = parse(version, options) - return (parsed && parsed.prerelease.length) ? parsed.prerelease : null -} + return this.decoder.end(); +}; -exports.intersects = intersects -function intersects (r1, r2, options) { - r1 = new Range(r1, options) - r2 = new Range(r2, options) - return r1.intersects(r2) -} +function detectEncoding(bufs, defaultEncoding) { + var b = []; + var charsProcessed = 0; + var invalidLE = 0, invalidBE = 0; // Number of invalid chars when decoded as LE or BE. + var bmpCharsLE = 0, bmpCharsBE = 0; // Number of BMP chars when decoded as LE or BE. + + outer_loop: + for (var i = 0; i < bufs.length; i++) { + var buf = bufs[i]; + for (var j = 0; j < buf.length; j++) { + b.push(buf[j]); + if (b.length === 4) { + if (charsProcessed === 0) { + // Check BOM first. + if (b[0] === 0xFF && b[1] === 0xFE && b[2] === 0 && b[3] === 0) { + return 'utf-32le'; + } + if (b[0] === 0 && b[1] === 0 && b[2] === 0xFE && b[3] === 0xFF) { + return 'utf-32be'; + } + } -exports.coerce = coerce -function coerce (version) { - if (version instanceof SemVer) { - return version - } + if (b[0] !== 0 || b[1] > 0x10) invalidBE++; + if (b[3] !== 0 || b[2] > 0x10) invalidLE++; - if (typeof version !== 'string') { - return null - } + if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) bmpCharsBE++; + if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) bmpCharsLE++; - var match = version.match(re[COERCE]) + b.length = 0; + charsProcessed++; - if (match == null) { - return null - } + if (charsProcessed >= 100) { + break outer_loop; + } + } + } + } - return parse(match[1] + - '.' + (match[2] || '0') + - '.' + (match[3] || '0')) + // Make decisions. + if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) return 'utf-32be'; + if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) return 'utf-32le'; + + // Couldn't decide (likely all zeros or not enough data). + return defaultEncoding || 'utf-32le'; } /***/ }), -/* 281 */, -/* 282 */, -/* 283 */, -/* 284 */ +/* 320 */ /***/ (function(module, __unusedexports, __webpack_require__) { var _curry2 = /*#__PURE__*/__webpack_require__(830); -var _reduce = /*#__PURE__*/__webpack_require__(870); +var _dispatchable = /*#__PURE__*/__webpack_require__(968); -var keys = /*#__PURE__*/__webpack_require__(89); +var _xall = /*#__PURE__*/__webpack_require__(588); /** - * An Object-specific version of [`map`](#map). The function is applied to three - * arguments: *(value, key, obj)*. If only the value is significant, use - * [`map`](#map) instead. + * Returns `true` if all elements of the list match the predicate, `false` if + * there are any that don't. + * + * Dispatches to the `all` method of the second argument, if present. + * + * Acts as a transducer if a transformer is given in list position. * * @func * @memberOf R - * @since v0.9.0 - * @category Object - * @sig ((*, String, Object) -> *) -> Object -> Object - * @param {Function} fn - * @param {Object} obj - * @return {Object} - * @see R.map + * @since v0.1.0 + * @category List + * @sig (a -> Boolean) -> [a] -> Boolean + * @param {Function} fn The predicate function. + * @param {Array} list The array to consider. + * @return {Boolean} `true` if the predicate is satisfied by every element, `false` + * otherwise. + * @see R.any, R.none, R.transduce * @example * - * const xyz = { x: 1, y: 2, z: 3 }; - * const prependKeyAndDouble = (num, key, obj) => key + (num * 2); - * - * R.mapObjIndexed(prependKeyAndDouble, xyz); //=> { x: 'x2', y: 'y4', z: 'z6' } + * const equals3 = R.equals(3); + * R.all(equals3)([3, 3, 3, 3]); //=> true + * R.all(equals3)([3, 3, 1, 3]); //=> false */ -var mapObjIndexed = /*#__PURE__*/_curry2(function mapObjIndexed(fn, obj) { - return _reduce(function (acc, key) { - acc[key] = fn(obj[key], key, obj); - return acc; - }, {}, keys(obj)); -}); -module.exports = mapObjIndexed; +var all = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['all'], _xall, function all(fn, list) { + var idx = 0; + while (idx < list.length) { + if (!fn(list[idx])) { + return false; + } + idx += 1; + } + return true; +})); +module.exports = all; /***/ }), -/* 285 */ +/* 321 */ /***/ (function(module) { -function _isString(x) { - return Object.prototype.toString.call(x) === '[object String]'; -} -module.exports = _isString; +module.exports = [["8740","䏰䰲䘃䖦䕸𧉧䵷䖳𧲱䳢𧳅㮕䜶䝄䱇䱀𤊿𣘗𧍒𦺋𧃒䱗𪍑䝏䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡晍囻"],["8767","綕夝𨮹㷴霴𧯯寛𡵞媤㘥𩺰嫑宷峼杮薓𩥅瑡璝㡵𡵓𣚞𦀡㻬"],["87a1","𥣞㫵竼龗𤅡𨤍𣇪𠪊𣉞䌊蒄龖鐯䤰蘓墖靊鈘秐稲晠権袝瑌篅枂稬剏遆㓦珄𥶹瓆鿇垳䤯呌䄱𣚎堘穲𧭥讏䚮𦺈䆁𥶙箮𢒼鿈𢓁𢓉𢓌鿉蔄𣖻䂴鿊䓡𪷿拁灮鿋"],["8840","㇀",4,"𠄌㇅𠃑𠃍㇆㇇𠃋𡿨㇈𠃊㇉㇊㇋㇌𠄎㇍㇎ĀÁǍÀĒÉĚÈŌÓǑÒ࿿Ê̄Ế࿿Ê̌ỀÊāáǎàɑēéěèīíǐìōóǒòūúǔùǖǘǚ"],["88a1","ǜü࿿ê̄ế࿿ê̌ềêɡ⏚⏛"],["8940","𪎩𡅅"],["8943","攊"],["8946","丽滝鵎釟"],["894c","𧜵撑会伨侨兖兴农凤务动医华发变团声处备夲头学实実岚庆总斉柾栄桥济炼电纤纬纺织经统缆缷艺苏药视设询车轧轮"],["89a1","琑糼緍楆竉刧"],["89ab","醌碸酞肼"],["89b0","贋胶𠧧"],["89b5","肟黇䳍鷉鸌䰾𩷶𧀎鸊𪄳㗁"],["89c1","溚舾甙"],["89c5","䤑马骏龙禇𨑬𡷊𠗐𢫦两亁亀亇亿仫伷㑌侽㹈倃傈㑽㒓㒥円夅凛凼刅争剹劐匧㗇厩㕑厰㕓参吣㕭㕲㚁咓咣咴咹哐哯唘唣唨㖘唿㖥㖿嗗㗅"],["8a40","𧶄唥"],["8a43","𠱂𠴕𥄫喐𢳆㧬𠍁蹆𤶸𩓥䁓𨂾睺𢰸㨴䟕𨅝𦧲𤷪擝𠵼𠾴𠳕𡃴撍蹾𠺖𠰋𠽤𢲩𨉖𤓓"],["8a64","𠵆𩩍𨃩䟴𤺧𢳂骲㩧𩗴㿭㔆𥋇𩟔𧣈𢵄鵮頕"],["8a76","䏙𦂥撴哣𢵌𢯊𡁷㧻𡁯"],["8aa1","𦛚𦜖𧦠擪𥁒𠱃蹨𢆡𨭌𠜱"],["8aac","䠋𠆩㿺塳𢶍"],["8ab2","𤗈𠓼𦂗𠽌𠶖啹䂻䎺"],["8abb","䪴𢩦𡂝膪飵𠶜捹㧾𢝵跀嚡摼㹃"],["8ac9","𪘁𠸉𢫏𢳉"],["8ace","𡃈𣧂㦒㨆𨊛㕸𥹉𢃇噒𠼱𢲲𩜠㒼氽𤸻"],["8adf","𧕴𢺋𢈈𪙛𨳍𠹺𠰴𦠜羓𡃏𢠃𢤹㗻𥇣𠺌𠾍𠺪㾓𠼰𠵇𡅏𠹌"],["8af6","𠺫𠮩𠵈𡃀𡄽㿹𢚖搲𠾭"],["8b40","𣏴𧘹𢯎𠵾𠵿𢱑𢱕㨘𠺘𡃇𠼮𪘲𦭐𨳒𨶙𨳊閪哌苄喹"],["8b55","𩻃鰦骶𧝞𢷮煀腭胬尜𦕲脴㞗卟𨂽醶𠻺𠸏𠹷𠻻㗝𤷫㘉𠳖嚯𢞵𡃉𠸐𠹸𡁸𡅈𨈇𡑕𠹹𤹐𢶤婔𡀝𡀞𡃵𡃶垜𠸑"],["8ba1","𧚔𨋍𠾵𠹻𥅾㜃𠾶𡆀𥋘𪊽𤧚𡠺𤅷𨉼墙剨㘚𥜽箲孨䠀䬬鼧䧧鰟鮍𥭴𣄽嗻㗲嚉丨夂𡯁屮靑𠂆乛亻㔾尣彑忄㣺扌攵歺氵氺灬爫丬犭𤣩罒礻糹罓𦉪㓁"],["8bde","𦍋耂肀𦘒𦥑卝衤见𧢲讠贝钅镸长门𨸏韦页风飞饣𩠐鱼鸟黄歯龜丷𠂇阝户钢"],["8c40","倻淾𩱳龦㷉袏𤅎灷峵䬠𥇍㕙𥴰愢𨨲辧釶熑朙玺𣊁𪄇㲋𡦀䬐磤琂冮𨜏䀉橣𪊺䈣蘏𠩯稪𩥇𨫪靕灍匤𢁾鏴盙𨧣龧矝亣俰傼丯众龨吴綋墒壐𡶶庒庙忂𢜒斋"],["8ca1","𣏹椙橃𣱣泿"],["8ca7","爀𤔅玌㻛𤨓嬕璹讃𥲤𥚕窓篬糃繬苸薗龩袐龪躹龫迏蕟駠鈡龬𨶹𡐿䁱䊢娚"],["8cc9","顨杫䉶圽"],["8cce","藖𤥻芿𧄍䲁𦵴嵻𦬕𦾾龭龮宖龯曧繛湗秊㶈䓃𣉖𢞖䎚䔶"],["8ce6","峕𣬚諹屸㴒𣕑嵸龲煗䕘𤃬𡸣䱷㥸㑊𠆤𦱁諌侴𠈹妿腬顖𩣺弻"],["8d40","𠮟"],["8d42","𢇁𨥭䄂䚻𩁹㼇龳𪆵䃸㟖䛷𦱆䅼𨚲𧏿䕭㣔𥒚䕡䔛䶉䱻䵶䗪㿈𤬏㙡䓞䒽䇭崾嵈嵖㷼㠏嶤嶹㠠㠸幂庽弥徃㤈㤔㤿㥍惗愽峥㦉憷憹懏㦸戬抐拥挘㧸嚱"],["8da1","㨃揢揻搇摚㩋擀崕嘡龟㪗斆㪽旿晓㫲暒㬢朖㭂枤栀㭘桊梄㭲㭱㭻椉楃牜楤榟榅㮼槖㯝橥橴橱檂㯬檙㯲檫檵櫔櫶殁毁毪汵沪㳋洂洆洦涁㳯涤涱渕渘温溆𨧀溻滢滚齿滨滩漤漴㵆𣽁澁澾㵪㵵熷岙㶊瀬㶑灐灔灯灿炉𠌥䏁㗱𠻘"],["8e40","𣻗垾𦻓焾𥟠㙎榢𨯩孴穉𥣡𩓙穥穽𥦬窻窰竂竃燑𦒍䇊竚竝竪䇯咲𥰁笋筕笩𥌎𥳾箢筯莜𥮴𦱿篐萡箒箸𥴠㶭𥱥蒒篺簆簵𥳁籄粃𤢂粦晽𤕸糉糇糦籴糳糵糎"],["8ea1","繧䔝𦹄絝𦻖璍綉綫焵綳緒𤁗𦀩緤㴓緵𡟹緥𨍭縝𦄡𦅚繮纒䌫鑬縧罀罁罇礶𦋐駡羗𦍑羣𡙡𠁨䕜𣝦䔃𨌺翺𦒉者耈耝耨耯𪂇𦳃耻耼聡𢜔䦉𦘦𣷣𦛨朥肧𨩈脇脚墰𢛶汿𦒘𤾸擧𡒊舘𡡞橓𤩥𤪕䑺舩𠬍𦩒𣵾俹𡓽蓢荢𦬊𤦧𣔰𡝳𣷸芪椛芳䇛"],["8f40","蕋苐茚𠸖𡞴㛁𣅽𣕚艻苢茘𣺋𦶣𦬅𦮗𣗎㶿茝嗬莅䔋𦶥莬菁菓㑾𦻔橗蕚㒖𦹂𢻯葘𥯤葱㷓䓤檧葊𣲵祘蒨𦮖𦹷𦹃蓞萏莑䒠蒓蓤𥲑䉀𥳀䕃蔴嫲𦺙䔧蕳䔖枿蘖"],["8fa1","𨘥𨘻藁𧂈蘂𡖂𧃍䕫䕪蘨㙈𡢢号𧎚虾蝱𪃸蟮𢰧螱蟚蠏噡虬桖䘏衅衆𧗠𣶹𧗤衞袜䙛袴袵揁装睷𧜏覇覊覦覩覧覼𨨥觧𧤤𧪽誜瞓釾誐𧩙竩𧬺𣾏䜓𧬸煼謌謟𥐰𥕥謿譌譍誩𤩺讐讛誯𡛟䘕衏貛𧵔𧶏貫㜥𧵓賖𧶘𧶽贒贃𡤐賛灜贑𤳉㻐起"],["9040","趩𨀂𡀔𤦊㭼𨆼𧄌竧躭躶軃鋔輙輭𨍥𨐒辥錃𪊟𠩐辳䤪𨧞𨔽𣶻廸𣉢迹𪀔𨚼𨔁𢌥㦀𦻗逷𨔼𧪾遡𨕬𨘋邨𨜓郄𨛦邮都酧㫰醩釄粬𨤳𡺉鈎沟鉁鉢𥖹銹𨫆𣲛𨬌𥗛"],["90a1","𠴱錬鍫𨫡𨯫炏嫃𨫢𨫥䥥鉄𨯬𨰹𨯿鍳鑛躼閅閦鐦閠濶䊹𢙺𨛘𡉼𣸮䧟氜陻隖䅬隣𦻕懚隶磵𨫠隽双䦡𦲸𠉴𦐐𩂯𩃥𤫑𡤕𣌊霱虂霶䨏䔽䖅𤫩灵孁霛靜𩇕靗孊𩇫靟鐥僐𣂷𣂼鞉鞟鞱鞾韀韒韠𥑬韮琜𩐳響韵𩐝𧥺䫑頴頳顋顦㬎𧅵㵑𠘰𤅜"],["9140","𥜆飊颷飈飇䫿𦴧𡛓喰飡飦飬鍸餹𤨩䭲𩡗𩤅駵騌騻騐驘𥜥㛄𩂱𩯕髠髢𩬅髴䰎鬔鬭𨘀倴鬴𦦨㣃𣁽魐魀𩴾婅𡡣鮎𤉋鰂鯿鰌𩹨鷔𩾷𪆒𪆫𪃡𪄣𪇟鵾鶃𪄴鸎梈"],["91a1","鷄𢅛𪆓𪈠𡤻𪈳鴹𪂹𪊴麐麕麞麢䴴麪麯𤍤黁㭠㧥㴝伲㞾𨰫鼂鼈䮖鐤𦶢鼗鼖鼹嚟嚊齅馸𩂋韲葿齢齩竜龎爖䮾𤥵𤦻煷𤧸𤍈𤩑玞𨯚𡣺禟𨥾𨸶鍩鏳𨩄鋬鎁鏋𨥬𤒹爗㻫睲穃烐𤑳𤏸煾𡟯炣𡢾𣖙㻇𡢅𥐯𡟸㜢𡛻𡠹㛡𡝴𡣑𥽋㜣𡛀坛𤨥𡏾𡊨"],["9240","𡏆𡒶蔃𣚦蔃葕𤦔𧅥𣸱𥕜𣻻𧁒䓴𣛮𩦝𦼦柹㜳㰕㷧塬𡤢栐䁗𣜿𤃡𤂋𤄏𦰡哋嚞𦚱嚒𠿟𠮨𠸍鏆𨬓鎜仸儫㠙𤐶亼𠑥𠍿佋侊𥙑婨𠆫𠏋㦙𠌊𠐔㐵伩𠋀𨺳𠉵諚𠈌亘"],["92a1","働儍侢伃𤨎𣺊佂倮偬傁俌俥偘僼兙兛兝兞湶𣖕𣸹𣺿浲𡢄𣺉冨凃𠗠䓝𠒣𠒒𠒑赺𨪜𠜎剙劤𠡳勡鍮䙺熌𤎌𠰠𤦬𡃤槑𠸝瑹㻞璙琔瑖玘䮎𤪼𤂍叐㖄爏𤃉喴𠍅响𠯆圝鉝雴鍦埝垍坿㘾壋媙𨩆𡛺𡝯𡜐娬妸銏婾嫏娒𥥆𡧳𡡡𤊕㛵洅瑃娡𥺃"],["9340","媁𨯗𠐓鏠璌𡌃焅䥲鐈𨧻鎽㞠尞岞幞幈𡦖𡥼𣫮廍孏𡤃𡤄㜁𡢠㛝𡛾㛓脪𨩇𡶺𣑲𨦨弌弎𡤧𡞫婫𡜻孄蘔𧗽衠恾𢡠𢘫忛㺸𢖯𢖾𩂈𦽳懀𠀾𠁆𢘛憙憘恵𢲛𢴇𤛔𩅍"],["93a1","摱𤙥𢭪㨩𢬢𣑐𩣪𢹸挷𪑛撶挱揑𤧣𢵧护𢲡搻敫楲㯴𣂎𣊭𤦉𣊫唍𣋠𡣙𩐿曎𣊉𣆳㫠䆐𥖄𨬢𥖏𡛼𥕛𥐥磮𣄃𡠪𣈴㑤𣈏𣆂𤋉暎𦴤晫䮓昰𧡰𡷫晣𣋒𣋡昞𥡲㣑𣠺𣞼㮙𣞢𣏾瓐㮖枏𤘪梶栞㯄檾㡣𣟕𤒇樳橒櫉欅𡤒攑梘橌㯗橺歗𣿀𣲚鎠鋲𨯪𨫋"],["9440","銉𨀞𨧜鑧涥漋𤧬浧𣽿㶏渄𤀼娽渊塇洤硂焻𤌚𤉶烱牐犇犔𤞏𤜥兹𤪤𠗫瑺𣻸𣙟𤩊𤤗𥿡㼆㺱𤫟𨰣𣼵悧㻳瓌琼鎇琷䒟𦷪䕑疃㽣𤳙𤴆㽘畕癳𪗆㬙瑨𨫌𤦫𤦎㫻"],["94a1","㷍𤩎㻿𤧅𤣳釺圲鍂𨫣𡡤僟𥈡𥇧睸𣈲眎眏睻𤚗𣞁㩞𤣰琸璛㺿𤪺𤫇䃈𤪖𦆮錇𥖁砞碍碈磒珐祙𧝁𥛣䄎禛蒖禥樭𣻺稺秴䅮𡛦䄲鈵秱𠵌𤦌𠊙𣶺𡝮㖗啫㕰㚪𠇔𠰍竢婙𢛵𥪯𥪜娍𠉛磰娪𥯆竾䇹籝籭䈑𥮳𥺼𥺦糍𤧹𡞰粎籼粮檲緜縇緓罎𦉡"],["9540","𦅜𧭈綗𥺂䉪𦭵𠤖柖𠁎𣗏埄𦐒𦏸𤥢翝笧𠠬𥫩𥵃笌𥸎駦虅驣樜𣐿㧢𤧷𦖭騟𦖠蒀𧄧𦳑䓪脷䐂胆脉腂𦞴飃𦩂艢艥𦩑葓𦶧蘐𧈛媆䅿𡡀嬫𡢡嫤𡣘蚠蜨𣶏蠭𧐢娂"],["95a1","衮佅袇袿裦襥襍𥚃襔𧞅𧞄𨯵𨯙𨮜𨧹㺭蒣䛵䛏㟲訽訜𩑈彍鈫𤊄旔焩烄𡡅鵭貟賩𧷜妚矃姰䍮㛔踪躧𤰉輰轊䋴汘澻𢌡䢛潹溋𡟚鯩㚵𤤯邻邗啱䤆醻鐄𨩋䁢𨫼鐧𨰝𨰻蓥訫閙閧閗閖𨴴瑅㻂𤣿𤩂𤏪㻧𣈥随𨻧𨹦𨹥㻌𤧭𤩸𣿮琒瑫㻼靁𩂰"],["9640","桇䨝𩂓𥟟靝鍨𨦉𨰦𨬯𦎾銺嬑譩䤼珹𤈛鞛靱餸𠼦巁𨯅𤪲頟𩓚鋶𩗗釥䓀𨭐𤩧𨭤飜𨩅㼀鈪䤥萔餻饍𧬆㷽馛䭯馪驜𨭥𥣈檏騡嫾騯𩣱䮐𩥈馼䮽䮗鍽塲𡌂堢𤦸"],["96a1","𡓨硄𢜟𣶸棅㵽鑘㤧慐𢞁𢥫愇鱏鱓鱻鰵鰐魿鯏𩸭鮟𪇵𪃾鴡䲮𤄄鸘䲰鴌𪆴𪃭𪃳𩤯鶥蒽𦸒𦿟𦮂藼䔳𦶤𦺄𦷰萠藮𦸀𣟗𦁤秢𣖜𣙀䤭𤧞㵢鏛銾鍈𠊿碹鉷鑍俤㑀遤𥕝砽硔碶硋𡝗𣇉𤥁㚚佲濚濙瀞瀞吔𤆵垻壳垊鴖埗焴㒯𤆬燫𦱀𤾗嬨𡞵𨩉"],["9740","愌嫎娋䊼𤒈㜬䭻𨧼鎻鎸𡣖𠼝葲𦳀𡐓𤋺𢰦𤏁妔𣶷𦝁綨𦅛𦂤𤦹𤦋𨧺鋥珢㻩璴𨭣𡢟㻡𤪳櫘珳珻㻖𤨾𤪔𡟙𤩦𠎧𡐤𤧥瑈𤤖炥𤥶銄珦鍟𠓾錱𨫎𨨖鎆𨯧𥗕䤵𨪂煫"],["97a1","𤥃𠳿嚤𠘚𠯫𠲸唂秄𡟺緾𡛂𤩐𡡒䔮鐁㜊𨫀𤦭妰𡢿𡢃𧒄媡㛢𣵛㚰鉟婹𨪁𡡢鍴㳍𠪴䪖㦊僴㵩㵌𡎜煵䋻𨈘渏𩃤䓫浗𧹏灧沯㳖𣿭𣸭渂漌㵯𠏵畑㚼㓈䚀㻚䡱姄鉮䤾轁𨰜𦯀堒埈㛖𡑒烾𤍢𤩱𢿣𡊰𢎽梹楧𡎘𣓥𧯴𣛟𨪃𣟖𣏺𤲟樚𣚭𦲷萾䓟䓎"],["9840","𦴦𦵑𦲂𦿞漗𧄉茽𡜺菭𦲀𧁓𡟛妉媂𡞳婡婱𡤅𤇼㜭姯𡜼㛇熎鎐暚𤊥婮娫𤊓樫𣻹𧜶𤑛𤋊焝𤉙𨧡侰𦴨峂𤓎𧹍𤎽樌𤉖𡌄炦焳𤏩㶥泟勇𤩏繥姫崯㷳彜𤩝𡟟綤萦"],["98a1","咅𣫺𣌀𠈔坾𠣕𠘙㿥𡾞𪊶瀃𩅛嵰玏糓𨩙𩐠俈翧狍猐𧫴猸猹𥛶獁獈㺩𧬘遬燵𤣲珡臶㻊県㻑沢国琙琞琟㻢㻰㻴㻺瓓㼎㽓畂畭畲疍㽼痈痜㿀癍㿗癴㿜発𤽜熈嘣覀塩䀝睃䀹条䁅㗛瞘䁪䁯属瞾矋売砘点砜䂨砹硇硑硦葈𥔵礳栃礲䄃"],["9940","䄉禑禙辻稆込䅧窑䆲窼艹䇄竏竛䇏両筢筬筻簒簛䉠䉺类粜䊌粸䊔糭输烀𠳏総緔緐緽羮羴犟䎗耠耥笹耮耱联㷌垴炠肷胩䏭脌猪脎脒畠脔䐁㬹腖腙腚"],["99a1","䐓堺腼膄䐥膓䐭膥埯臁臤艔䒏芦艶苊苘苿䒰荗险榊萅烵葤惣蒈䔄蒾蓡蓸蔐蔸蕒䔻蕯蕰藠䕷虲蚒蚲蛯际螋䘆䘗袮裿褤襇覑𧥧訩訸誔誴豑賔賲贜䞘塟跃䟭仮踺嗘坔蹱嗵躰䠷軎転軤軭軲辷迁迊迌逳駄䢭飠鈓䤞鈨鉘鉫銱銮銿"],["9a40","鋣鋫鋳鋴鋽鍃鎄鎭䥅䥑麿鐗匁鐝鐭鐾䥪鑔鑹锭関䦧间阳䧥枠䨤靀䨵鞲韂噔䫤惨颹䬙飱塄餎餙冴餜餷饂饝饢䭰駅䮝騼鬏窃魩鮁鯝鯱鯴䱭鰠㝯𡯂鵉鰺"],["9aa1","黾噐鶓鶽鷀鷼银辶鹻麬麱麽黆铜黢黱黸竈齄𠂔𠊷𠎠椚铃妬𠓗塀铁㞹𠗕𠘕𠙶𡚺块煳𠫂𠫍𠮿呪吆𠯋咞𠯻𠰻𠱓𠱥𠱼惧𠲍噺𠲵𠳝𠳭𠵯𠶲𠷈楕鰯螥𠸄𠸎𠻗𠾐𠼭𠹳尠𠾼帋𡁜𡁏𡁶朞𡁻𡂈𡂖㙇𡂿𡃓𡄯𡄻卤蒭𡋣𡍵𡌶讁𡕷𡘙𡟃𡟇乸炻𡠭𡥪"],["9b40","𡨭𡩅𡰪𡱰𡲬𡻈拃𡻕𡼕熘桕𢁅槩㛈𢉼𢏗𢏺𢜪𢡱𢥏苽𢥧𢦓𢫕覥𢫨辠𢬎鞸𢬿顇骽𢱌"],["9b62","𢲈𢲷𥯨𢴈𢴒𢶷𢶕𢹂𢽴𢿌𣀳𣁦𣌟𣏞徱晈暿𧩹𣕧𣗳爁𤦺矗𣘚𣜖纇𠍆墵朎"],["9ba1","椘𣪧𧙗𥿢𣸑𣺹𧗾𢂚䣐䪸𤄙𨪚𤋮𤌍𤀻𤌴𤎖𤩅𠗊凒𠘑妟𡺨㮾𣳿𤐄𤓖垈𤙴㦛𤜯𨗨𩧉㝢𢇃譞𨭎駖𤠒𤣻𤨕爉𤫀𠱸奥𤺥𤾆𠝹軚𥀬劏圿煱𥊙𥐙𣽊𤪧喼𥑆𥑮𦭒釔㑳𥔿𧘲𥕞䜘𥕢𥕦𥟇𤤿𥡝偦㓻𣏌惞𥤃䝼𨥈𥪮𥮉𥰆𡶐垡煑澶𦄂𧰒遖𦆲𤾚譢𦐂𦑊"],["9c40","嵛𦯷輶𦒄𡤜諪𤧶𦒈𣿯𦔒䯀𦖿𦚵𢜛鑥𥟡憕娧晉侻嚹𤔡𦛼乪𤤴陖涏𦲽㘘襷𦞙𦡮𦐑𦡞營𦣇筂𩃀𠨑𦤦鄄𦤹穅鷰𦧺騦𦨭㙟𦑩𠀡禃𦨴𦭛崬𣔙菏𦮝䛐𦲤画补𦶮墶"],["9ca1","㜜𢖍𧁋𧇍㱔𧊀𧊅銁𢅺𧊋錰𧋦𤧐氹钟𧑐𠻸蠧裵𢤦𨑳𡞱溸𤨪𡠠㦤㚹尐秣䔿暶𩲭𩢤襃𧟌𧡘囖䃟𡘊㦡𣜯𨃨𡏅熭荦𧧝𩆨婧䲷𧂯𨦫𧧽𧨊𧬋𧵦𤅺筃祾𨀉澵𪋟樃𨌘厢𦸇鎿栶靝𨅯𨀣𦦵𡏭𣈯𨁈嶅𨰰𨂃圕頣𨥉嶫𤦈斾槕叒𤪥𣾁㰑朶𨂐𨃴𨄮𡾡𨅏"],["9d40","𨆉𨆯𨈚𨌆𨌯𨎊㗊𨑨𨚪䣺揦𨥖砈鉕𨦸䏲𨧧䏟𨧨𨭆𨯔姸𨰉輋𨿅𩃬筑𩄐𩄼㷷𩅞𤫊运犏嚋𩓧𩗩𩖰𩖸𩜲𩣑𩥉𩥪𩧃𩨨𩬎𩵚𩶛纟𩻸𩼣䲤镇𪊓熢𪋿䶑递𪗋䶜𠲜达嗁"],["9da1","辺𢒰边𤪓䔉繿潖檱仪㓤𨬬𧢝㜺躀𡟵𨀤𨭬𨮙𧨾𦚯㷫𧙕𣲷𥘵𥥖亚𥺁𦉘嚿𠹭踎孭𣺈𤲞揞拐𡟶𡡻攰嘭𥱊吚𥌑㷆𩶘䱽嘢嘞罉𥻘奵𣵀蝰东𠿪𠵉𣚺脗鵞贘瘻鱅癎瞹鍅吲腈苷嘥脲萘肽嗪祢噃吖𠺝㗎嘅嗱曱𨋢㘭甴嗰喺咗啲𠱁𠲖廐𥅈𠹶𢱢"],["9e40","𠺢麫絚嗞𡁵抝靭咔賍燶酶揼掹揾啩𢭃鱲𢺳冚㓟𠶧冧呍唞唓癦踭𦢊疱肶蠄螆裇膶萜𡃁䓬猄𤜆宐茋𦢓噻𢛴𧴯𤆣𧵳𦻐𧊶酰𡇙鈈𣳼𪚩𠺬𠻹牦𡲢䝎𤿂𧿹𠿫䃺"],["9ea1","鱝攟𢶠䣳𤟠𩵼𠿬𠸊恢𧖣𠿭"],["9ead","𦁈𡆇熣纎鵐业丄㕷嬍沲卧㚬㧜卽㚥𤘘墚𤭮舭呋垪𥪕𠥹"],["9ec5","㩒𢑥獴𩺬䴉鯭𣳾𩼰䱛𤾩𩖞𩿞葜𣶶𧊲𦞳𣜠挮紥𣻷𣸬㨪逈勌㹴㙺䗩𠒎癀嫰𠺶硺𧼮墧䂿噼鮋嵴癔𪐴麅䳡痹㟻愙𣃚𤏲"],["9ef5","噝𡊩垧𤥣𩸆刴𧂮㖭汊鵼"],["9f40","籖鬹埞𡝬屓擓𩓐𦌵𧅤蚭𠴨𦴢𤫢𠵱"],["9f4f","凾𡼏嶎霃𡷑麁遌笟鬂峑箣扨挵髿篏鬪籾鬮籂粆鰕篼鬉鼗鰛𤤾齚啳寃俽麘俲剠㸆勑坧偖妷帒韈鶫轜呩鞴饀鞺匬愰"],["9fa1","椬叚鰊鴂䰻陁榀傦畆𡝭駚剳"],["9fae","酙隁酜"],["9fb2","酑𨺗捿𦴣櫊嘑醎畺抅𠏼獏籰𥰡𣳽"],["9fc1","𤤙盖鮝个𠳔莾衂"],["9fc9","届槀僭坺刟巵从氱𠇲伹咜哚劚趂㗾弌㗳"],["9fdb","歒酼龥鮗頮颴骺麨麄煺笔"],["9fe7","毺蠘罸"],["9feb","嘠𪙊蹷齓"],["9ff0","跔蹏鸜踁抂𨍽踨蹵竓𤩷稾磘泪詧瘇"],["a040","𨩚鼦泎蟖痃𪊲硓咢贌狢獱謭猂瓱賫𤪻蘯徺袠䒷"],["a055","𡠻𦸅"],["a058","詾𢔛"],["a05b","惽癧髗鵄鍮鮏蟵"],["a063","蠏賷猬霡鮰㗖犲䰇籑饊𦅙慙䰄麖慽"],["a073","坟慯抦戹拎㩜懢厪𣏵捤栂㗒"],["a0a1","嵗𨯂迚𨸹"],["a0a6","僙𡵆礆匲阸𠼻䁥"],["a0ae","矾"],["a0b0","糂𥼚糚稭聦聣絍甅瓲覔舚朌聢𧒆聛瓰脃眤覉𦟌畓𦻑螩蟎臈螌詉貭譃眫瓸蓚㘵榲趦"],["a0d4","覩瑨涹蟁𤀑瓧㷛煶悤憜㳑煢恷"],["a0e2","罱𨬭牐惩䭾删㰘𣳇𥻗𧙖𥔱𡥄𡋾𩤃𦷜𧂭峁𦆭𨨏𣙷𠃮𦡆𤼎䕢嬟𦍌齐麦𦉫"],["a3c0","␀",31,"␡"],["c6a1","①",9,"⑴",9,"ⅰ",9,"丶丿亅亠冂冖冫勹匸卩厶夊宀巛⼳广廴彐彡攴无疒癶辵隶¨ˆヽヾゝゞ〃仝々〆〇ー[]✽ぁ",23],["c740","す",58,"ァアィイ"],["c7a1","ゥ",81,"А",5,"ЁЖ",4],["c840","Л",26,"ёж",25,"⇧↸↹㇏𠃌乚𠂊刂䒑"],["c8a1","龰冈龱𧘇"],["c8cd","¬¦'"㈱№℡゛゜⺀⺄⺆⺇⺈⺊⺌⺍⺕⺜⺝⺥⺧⺪⺬⺮⺶⺼⺾⻆⻊⻌⻍⻏⻖⻗⻞⻣"],["c8f5","ʃɐɛɔɵœøŋʊɪ"],["f9fe","■"],["fa40","𠕇鋛𠗟𣿅蕌䊵珯况㙉𤥂𨧤鍄𡧛苮𣳈砼杄拟𤤳𨦪𠊠𦮳𡌅侫𢓭倈𦴩𧪄𣘀𤪱𢔓倩𠍾徤𠎀𠍇滛𠐟偽儁㑺儎顬㝃萖𤦤𠒇兠𣎴兪𠯿𢃼𠋥𢔰𠖎𣈳𡦃宂蝽𠖳𣲙冲冸"],["faa1","鴴凉减凑㳜凓𤪦决凢卂凭菍椾𣜭彻刋刦刼劵剗劔効勅簕蕂勠蘍𦬓包𨫞啉滙𣾀𠥔𣿬匳卄𠯢泋𡜦栛珕恊㺪㣌𡛨燝䒢卭却𨚫卾卿𡖖𡘓矦厓𨪛厠厫厮玧𥝲㽙玜叁叅汉义埾叙㪫𠮏叠𣿫𢶣叶𠱷吓灹唫晗浛呭𦭓𠵴啝咏咤䞦𡜍𠻝㶴𠵍"],["fb40","𨦼𢚘啇䳭启琗喆喩嘅𡣗𤀺䕒𤐵暳𡂴嘷曍𣊊暤暭噍噏磱囱鞇叾圀囯园𨭦㘣𡉏坆𤆥汮炋坂㚱𦱾埦𡐖堃𡑔𤍣堦𤯵塜墪㕡壠壜𡈼壻寿坃𪅐𤉸鏓㖡够梦㛃湙"],["fba1","𡘾娤啓𡚒蔅姉𠵎𦲁𦴪𡟜姙𡟻𡞲𦶦浱𡠨𡛕姹𦹅媫婣㛦𤦩婷㜈媖瑥嫓𦾡𢕔㶅𡤑㜲𡚸広勐孶斈孼𧨎䀄䡝𠈄寕慠𡨴𥧌𠖥寳宝䴐尅𡭄尓珎尔𡲥𦬨屉䣝岅峩峯嶋𡷹𡸷崐崘嵆𡺤岺巗苼㠭𤤁𢁉𢅳芇㠶㯂帮檊幵幺𤒼𠳓厦亷廐厨𡝱帉廴𨒂"],["fc40","廹廻㢠廼栾鐛弍𠇁弢㫞䢮𡌺强𦢈𢏐彘𢑱彣鞽𦹮彲鍀𨨶徧嶶㵟𥉐𡽪𧃸𢙨釖𠊞𨨩怱暅𡡷㥣㷇㘹垐𢞴祱㹀悞悤悳𤦂𤦏𧩓璤僡媠慤萤慂慈𦻒憁凴𠙖憇宪𣾷"],["fca1","𢡟懓𨮝𩥝懐㤲𢦀𢣁怣慜攞掋𠄘担𡝰拕𢸍捬𤧟㨗搸揸𡎎𡟼撐澊𢸶頔𤂌𥜝擡擥鑻㩦携㩗敍漖𤨨𤨣斅敭敟𣁾斵𤥀䬷旑䃘𡠩无旣忟𣐀昘𣇷𣇸晄𣆤𣆥晋𠹵晧𥇦晳晴𡸽𣈱𨗴𣇈𥌓矅𢣷馤朂𤎜𤨡㬫槺𣟂杞杧杢𤇍𩃭柗䓩栢湐鈼栁𣏦𦶠桝"],["fd40","𣑯槡樋𨫟楳棃𣗍椁椀㴲㨁𣘼㮀枬楡𨩊䋼椶榘㮡𠏉荣傐槹𣙙𢄪橅𣜃檝㯳枱櫈𩆜㰍欝𠤣惞欵歴𢟍溵𣫛𠎵𡥘㝀吡𣭚毡𣻼毜氷𢒋𤣱𦭑汚舦汹𣶼䓅𣶽𤆤𤤌𤤀"],["fda1","𣳉㛥㳫𠴲鮃𣇹𢒑羏样𦴥𦶡𦷫涖浜湼漄𤥿𤂅𦹲蔳𦽴凇沜渝萮𨬡港𣸯瑓𣾂秌湏媑𣁋濸㜍澝𣸰滺𡒗𤀽䕕鏰潄潜㵎潴𩅰㴻澟𤅄濓𤂑𤅕𤀹𣿰𣾴𤄿凟𤅖𤅗𤅀𦇝灋灾炧炁烌烕烖烟䄄㷨熴熖𤉷焫煅媈煊煮岜𤍥煏鍢𤋁焬𤑚𤨧𤨢熺𨯨炽爎"],["fe40","鑂爕夑鑃爤鍁𥘅爮牀𤥴梽牕牗㹕𣁄栍漽犂猪猫𤠣𨠫䣭𨠄猨献珏玪𠰺𦨮珉瑉𤇢𡛧𤨤昣㛅𤦷𤦍𤧻珷琕椃𤨦琹𠗃㻗瑜𢢭瑠𨺲瑇珤瑶莹瑬㜰瑴鏱樬璂䥓𤪌"],["fea1","𤅟𤩹𨮏孆𨰃𡢞瓈𡦈甎瓩甞𨻙𡩋寗𨺬鎅畍畊畧畮𤾂㼄𤴓疎瑝疞疴瘂瘬癑癏癯癶𦏵皐臯㟸𦤑𦤎皡皥皷盌𦾟葢𥂝𥅽𡸜眞眦着撯𥈠睘𣊬瞯𨥤𨥨𡛁矴砉𡍶𤨒棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗禝𧬹礼禩渪𧄦㺨秆𩄍秔"]]; /***/ }), -/* 286 */ +/* 322 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) +var addYears = __webpack_require__(436) /** - * @category Month Helpers - * @summary Return the last day of a month for the given date. - * + * @category Year Helpers + * @summary Subtract the specified number of years from the given date. + * * @description - * Return the last day of a month for the given date. - * The result will be in the local timezone. + * Subtract the specified number of years from the given date. * - * @param {Date|String|Number} date - the original date - * @returns {Date} the last day of a month + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of years to be subtracted + * @returns {Date} the new date with the years subtracted * * @example - * // The last day of a month for 2 September 2014 11:55:00: - * var result = lastDayOfMonth(new Date(2014, 8, 2, 11, 55, 0)) - * //=> Tue Sep 30 2014 00:00:00 + * // Subtract 5 years from 1 September 2014: + * var result = subYears(new Date(2014, 8, 1), 5) + * //=> Tue Sep 01 2009 00:00:00 */ -function lastDayOfMonth (dirtyDate) { - var date = parse(dirtyDate) - var month = date.getMonth() - date.setFullYear(date.getFullYear(), month + 1, 0) - date.setHours(0, 0, 0, 0) - return date +function subYears (dirtyDate, dirtyAmount) { + var amount = Number(dirtyAmount) + return addYears(dirtyDate, -amount) } -module.exports = lastDayOfMonth - - -/***/ }), -/* 287 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _includes = /*#__PURE__*/__webpack_require__(216); - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -/** - * Returns `true` if the specified value is equal, in [`R.equals`](#equals) - * terms, to at least one element of the given list; `false` otherwise. - * Works also with strings. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig a -> [a] -> Boolean - * @param {Object} a The item to compare against. - * @param {Array} list The array to consider. - * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise. - * @see R.any - * @example - * - * R.includes(3, [1, 2, 3]); //=> true - * R.includes(4, [1, 2, 3]); //=> false - * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true - * R.includes([42], [[42]]); //=> true - * R.includes('ba', 'banana'); //=>true - */ - +module.exports = subYears -var includes = /*#__PURE__*/_curry2(_includes); -module.exports = includes; /***/ }), -/* 288 */ +/* 323 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var buildFormattingTokensRegExp = __webpack_require__(494) - -function buildFormatLocale () { - // Note: in English, the names of days of the week and months are capitalized. - // If you are making a new locale based on this one, check if the same is true for the language you're working on. - // Generally, formatted dates should look like they are in the middle of a sentence, - // e.g. in Spanish language the weekdays and months should be in the lowercase. - var months3char = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] - var monthsFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] - var weekdays2char = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'] - var weekdays3char = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] - var weekdaysFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] - var meridiemUppercase = ['AM', 'PM'] - var meridiemLowercase = ['am', 'pm'] - var meridiemFull = ['a.m.', 'p.m.'] - - var formatters = { - // Month: Jan, Feb, ..., Dec - 'MMM': function (date) { - return months3char[date.getMonth()] - }, - - // Month: January, February, ..., December - 'MMMM': function (date) { - return monthsFull[date.getMonth()] - }, - - // Day of week: Su, Mo, ..., Sa - 'dd': function (date) { - return weekdays2char[date.getDay()] - }, - - // Day of week: Sun, Mon, ..., Sat - 'ddd': function (date) { - return weekdays3char[date.getDay()] - }, +"use strict"; - // Day of week: Sunday, Monday, ..., Saturday - 'dddd': function (date) { - return weekdaysFull[date.getDay()] - }, +module.exports = +function(Promise, PromiseArray, apiRejection) { +var util = __webpack_require__(248); +var RangeError = __webpack_require__(607).RangeError; +var AggregateError = __webpack_require__(607).AggregateError; +var isArray = util.isArray; +var CANCELLATION = {}; - // AM, PM - 'A': function (date) { - return (date.getHours() / 12) >= 1 ? meridiemUppercase[1] : meridiemUppercase[0] - }, - // am, pm - 'a': function (date) { - return (date.getHours() / 12) >= 1 ? meridiemLowercase[1] : meridiemLowercase[0] - }, +function SomePromiseArray(values) { + this.constructor$(values); + this._howMany = 0; + this._unwrap = false; + this._initialized = false; +} +util.inherits(SomePromiseArray, PromiseArray); - // a.m., p.m. - 'aa': function (date) { - return (date.getHours() / 12) >= 1 ? meridiemFull[1] : meridiemFull[0] +SomePromiseArray.prototype._init = function () { + if (!this._initialized) { + return; } - } - - // Generate ordinal version of formatters: M -> Mo, D -> Do, etc. - var ordinalFormatters = ['M', 'D', 'DDD', 'd', 'Q', 'W'] - ordinalFormatters.forEach(function (formatterToken) { - formatters[formatterToken + 'o'] = function (date, formatters) { - return ordinal(formatters[formatterToken](date)) + if (this._howMany === 0) { + this._resolve([]); + return; } - }) - - return { - formatters: formatters, - formattingTokensRegExp: buildFormattingTokensRegExp(formatters) - } -} - -function ordinal (number) { - var rem100 = number % 100 - if (rem100 > 20 || rem100 < 10) { - switch (rem100 % 10) { - case 1: - return number + 'st' - case 2: - return number + 'nd' - case 3: - return number + 'rd' + this._init$(undefined, -5); + var isArrayResolved = isArray(this._values); + if (!this._isResolved() && + isArrayResolved && + this._howMany > this._canPossiblyFulfill()) { + this._reject(this._getRangeError(this.length())); } - } - return number + 'th' -} - -module.exports = buildFormatLocale - +}; -/***/ }), -/* 289 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { +SomePromiseArray.prototype.init = function () { + this._initialized = true; + this._init(); +}; -"use strict"; +SomePromiseArray.prototype.setUnwrap = function () { + this._unwrap = true; +}; -var Buffer = __webpack_require__(572).Buffer; +SomePromiseArray.prototype.howMany = function () { + return this._howMany; +}; -// Single-byte codec. Needs a 'chars' string parameter that contains 256 or 128 chars that -// correspond to encoded bytes (if 128 - then lower half is ASCII). +SomePromiseArray.prototype.setHowMany = function (count) { + this._howMany = count; +}; -exports._sbcs = SBCSCodec; -function SBCSCodec(codecOptions, iconv) { - if (!codecOptions) - throw new Error("SBCS codec is called without the data.") - - // Prepare char buffer for decoding. - if (!codecOptions.chars || (codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256)) - throw new Error("Encoding '"+codecOptions.type+"' has incorrect 'chars' (must be of len 128 or 256)"); - - if (codecOptions.chars.length === 128) { - var asciiString = ""; - for (var i = 0; i < 128; i++) - asciiString += String.fromCharCode(i); - codecOptions.chars = asciiString + codecOptions.chars; +SomePromiseArray.prototype._promiseFulfilled = function (value) { + this._addFulfilled(value); + if (this._fulfilled() === this.howMany()) { + this._values.length = this.howMany(); + if (this.howMany() === 1 && this._unwrap) { + this._resolve(this._values[0]); + } else { + this._resolve(this._values); + } + return true; } + return false; - this.decodeBuf = Buffer.from(codecOptions.chars, 'ucs2'); - - // Encoding buffer. - var encodeBuf = Buffer.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0)); +}; +SomePromiseArray.prototype._promiseRejected = function (reason) { + this._addRejected(reason); + return this._checkOutcome(); +}; - for (var i = 0; i < codecOptions.chars.length; i++) - encodeBuf[codecOptions.chars.charCodeAt(i)] = i; +SomePromiseArray.prototype._promiseCancelled = function () { + if (this._values instanceof Promise || this._values == null) { + return this._cancel(); + } + this._addRejected(CANCELLATION); + return this._checkOutcome(); +}; - this.encodeBuf = encodeBuf; -} +SomePromiseArray.prototype._checkOutcome = function() { + if (this.howMany() > this._canPossiblyFulfill()) { + var e = new AggregateError(); + for (var i = this.length(); i < this._values.length; ++i) { + if (this._values[i] !== CANCELLATION) { + e.push(this._values[i]); + } + } + if (e.length > 0) { + this._reject(e); + } else { + this._cancel(); + } + return true; + } + return false; +}; -SBCSCodec.prototype.encoder = SBCSEncoder; -SBCSCodec.prototype.decoder = SBCSDecoder; +SomePromiseArray.prototype._fulfilled = function () { + return this._totalResolved; +}; +SomePromiseArray.prototype._rejected = function () { + return this._values.length - this.length(); +}; -function SBCSEncoder(options, codec) { - this.encodeBuf = codec.encodeBuf; -} +SomePromiseArray.prototype._addRejected = function (reason) { + this._values.push(reason); +}; -SBCSEncoder.prototype.write = function(str) { - var buf = Buffer.alloc(str.length); - for (var i = 0; i < str.length; i++) - buf[i] = this.encodeBuf[str.charCodeAt(i)]; - - return buf; -} +SomePromiseArray.prototype._addFulfilled = function (value) { + this._values[this._totalResolved++] = value; +}; -SBCSEncoder.prototype.end = function() { -} +SomePromiseArray.prototype._canPossiblyFulfill = function () { + return this.length() - this._rejected(); +}; +SomePromiseArray.prototype._getRangeError = function (count) { + var message = "Input array must contain at least " + + this._howMany + " items but contains only " + count + " items"; + return new RangeError(message); +}; -function SBCSDecoder(options, codec) { - this.decodeBuf = codec.decodeBuf; -} +SomePromiseArray.prototype._resolveEmptyArray = function () { + this._reject(this._getRangeError(0)); +}; -SBCSDecoder.prototype.write = function(buf) { - // Strings are immutable in JS -> we use ucs2 buffer to speed up computations. - var decodeBuf = this.decodeBuf; - var newBuf = Buffer.alloc(buf.length*2); - var idx1 = 0, idx2 = 0; - for (var i = 0; i < buf.length; i++) { - idx1 = buf[i]*2; idx2 = i*2; - newBuf[idx2] = decodeBuf[idx1]; - newBuf[idx2+1] = decodeBuf[idx1+1]; +function some(promises, howMany) { + if ((howMany | 0) !== howMany || howMany < 0) { + return apiRejection("expecting a positive integer\u000a\u000a See http://goo.gl/MqrFmX\u000a"); } - return newBuf.toString('ucs2'); -} - -SBCSDecoder.prototype.end = function() { + var ret = new SomePromiseArray(promises); + var promise = ret.promise(); + ret.setHowMany(howMany); + ret.init(); + return promise; } - -/***/ }), -/* 290 */, -/* 291 */ -/***/ (function(module) { - -/** - * Polyfill from . - */ -var pad = function pad(n) { - return (n < 10 ? '0' : '') + n; +Promise.some = function (promises, howMany) { + return some(promises, howMany); }; -var _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) { - return d.toISOString(); -} : function _toISOString(d) { - return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z'; +Promise.prototype.some = function (howMany) { + return some(this, howMany); }; -module.exports = _toISOString; - -/***/ }), -/* 292 */, -/* 293 */ -/***/ (function(module) { - -module.exports = require("buffer"); - -/***/ }), -/* 294 */ -/***/ (function(module) { +Promise._SomePromiseArray = SomePromiseArray; +}; -function _aperture(n, list) { - var idx = 0; - var limit = list.length - (n - 1); - var acc = new Array(limit >= 0 ? limit : 0); - while (idx < limit) { - acc[idx] = Array.prototype.slice.call(list, idx, idx + n); - idx += 1; - } - return acc; -} -module.exports = _aperture; /***/ }), -/* 295 */ +/* 324 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _arity = /*#__PURE__*/__webpack_require__(451); +var startOfWeek = __webpack_require__(428) -var _curry1 = /*#__PURE__*/__webpack_require__(721); +var MILLISECONDS_IN_MINUTE = 60000 +var MILLISECONDS_IN_WEEK = 604800000 /** - * Accepts a function `fn` and returns a function that guards invocation of - * `fn` such that `fn` can only ever be called once, no matter how many times - * the returned function is invoked. The first value calculated is returned in - * subsequent invocations. + * @category Week Helpers + * @summary Get the number of calendar weeks between the given dates. + * + * @description + * Get the number of calendar weeks between the given dates. + * + * @param {Date|String|Number} dateLeft - the later date + * @param {Date|String|Number} dateRight - the earlier date + * @param {Object} [options] - the object with options + * @param {Number} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Number} the number of calendar weeks * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig (a... -> b) -> (a... -> b) - * @param {Function} fn The function to wrap in a call-only-once wrapper. - * @return {Function} The wrapped function. * @example + * // How many calendar weeks are between 5 July 2014 and 20 July 2014? + * var result = differenceInCalendarWeeks( + * new Date(2014, 6, 20), + * new Date(2014, 6, 5) + * ) + * //=> 3 * - * const addOneOnce = R.once(x => x + 1); - * addOneOnce(10); //=> 11 - * addOneOnce(addOneOnce(50)); //=> 11 + * @example + * // If the week starts on Monday, + * // how many calendar weeks are between 5 July 2014 and 20 July 2014? + * var result = differenceInCalendarWeeks( + * new Date(2014, 6, 20), + * new Date(2014, 6, 5), + * {weekStartsOn: 1} + * ) + * //=> 2 */ +function differenceInCalendarWeeks (dirtyDateLeft, dirtyDateRight, dirtyOptions) { + var startOfWeekLeft = startOfWeek(dirtyDateLeft, dirtyOptions) + var startOfWeekRight = startOfWeek(dirtyDateRight, dirtyOptions) + var timestampLeft = startOfWeekLeft.getTime() - + startOfWeekLeft.getTimezoneOffset() * MILLISECONDS_IN_MINUTE + var timestampRight = startOfWeekRight.getTime() - + startOfWeekRight.getTimezoneOffset() * MILLISECONDS_IN_MINUTE -var once = /*#__PURE__*/_curry1(function once(fn) { - var called = false; - var result; - return _arity(fn.length, function () { - if (called) { - return result; - } - called = true; - result = fn.apply(this, arguments); - return result; - }); -}); -module.exports = once; + // Round the number of days to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK) +} -/***/ }), -/* 296 */, -/* 297 */, -/* 298 */ -/***/ (function(module) { +module.exports = differenceInCalendarWeeks -module.exports = ["/orgs/:org/invitations","/repos/:owner/:repo/collaborators/:username","/repos/:owner/:repo/commits/:sha/comments","/repos/:owner/:repo/issues","/repos/:owner/:repo/issues/:number/comments","/repos/:owner/:repo/pulls","/repos/:owner/:repo/pulls/:number/comments","/repos/:owner/:repo/pulls/:number/merge","/repos/:owner/:repo/pulls/:number/requested_reviewers","/repos/:owner/:repo/pulls/:number/reviews","/repos/:owner/:repo/releases","/teams/:team_id/discussions","/teams/:team_id/discussions/:discussion_number/comments"]; /***/ }), -/* 299 */ +/* 325 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var addMonths = __webpack_require__(465) +var _arrayFromIterator = /*#__PURE__*/__webpack_require__(798); -/** - * @category Quarter Helpers - * @summary Add the specified number of year quarters to the given date. - * - * @description - * Add the specified number of year quarters to the given date. - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of quarters to be added - * @returns {Date} the new date with the quarters added - * - * @example - * // Add 1 quarter to 1 September 2014: - * var result = addQuarters(new Date(2014, 8, 1), 1) - * //=> Mon Dec 01 2014 00:00:00 - */ -function addQuarters (dirtyDate, dirtyAmount) { - var amount = Number(dirtyAmount) - var months = amount * 3 - return addMonths(dirtyDate, months) -} +var _includesWith = /*#__PURE__*/__webpack_require__(680); -module.exports = addQuarters +var _functionName = /*#__PURE__*/__webpack_require__(885); +var _has = /*#__PURE__*/__webpack_require__(390); -/***/ }), -/* 300 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +var _objectIs = /*#__PURE__*/__webpack_require__(268); -var isSameYear = __webpack_require__(73) +var keys = /*#__PURE__*/__webpack_require__(89); + +var type = /*#__PURE__*/__webpack_require__(552); /** - * @category Year Helpers - * @summary Is the given date in the same year as the current date? - * - * @description - * Is the given date in the same year as the current date? - * - * @param {Date|String|Number} date - the date to check - * @returns {Boolean} the date is in this year + * private _uniqContentEquals function. + * That function is checking equality of 2 iterator contents with 2 assumptions + * - iterators lengths are the same + * - iterators values are unique * - * @example - * // If today is 25 September 2014, is 2 July 2014 in this year? - * var result = isThisYear(new Date(2014, 6, 2)) - * //=> true - */ -function isThisYear (dirtyDate) { - return isSameYear(new Date(), dirtyDate) -} + * false-positive result will be returned for comparision of, e.g. + * - [1,2,3] and [1,2,3,4] + * - [1,1,1] and [1,2,3] + * */ -module.exports = isThisYear +function _uniqContentEquals(aIterator, bIterator, stackA, stackB) { + var a = _arrayFromIterator(aIterator); + var b = _arrayFromIterator(bIterator); + function eq(_a, _b) { + return _equals(_a, _b, stackA.slice(), stackB.slice()); + } -/***/ }), -/* 301 */, -/* 302 */, -/* 303 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var _has = /*#__PURE__*/__webpack_require__(390); + // if *a* array contains any element that is not included in *b* + return !_includesWith(function (b, aItem) { + return !_includesWith(eq, aItem, b); + }, b, a); +} -/** - * Returns whether or not a path exists in an object. Only the object's - * own properties are checked. - * - * @func - * @memberOf R - * @since v0.26.0 - * @category Object - * @typedefn Idx = String | Int - * @sig [Idx] -> {a} -> Boolean - * @param {Array} path The path to use. - * @param {Object} obj The object to check the path in. - * @return {Boolean} Whether the path exists. - * @see R.has - * @example - * - * R.hasPath(['a', 'b'], {a: {b: 2}}); // => true - * R.hasPath(['a', 'b'], {a: {b: undefined}}); // => true - * R.hasPath(['a', 'b'], {a: {c: 2}}); // => false - * R.hasPath(['a', 'b'], {}); // => false - */ +function _equals(a, b, stackA, stackB) { + if (_objectIs(a, b)) { + return true; + } + var typeA = type(a); -var hasPath = /*#__PURE__*/_curry2(function hasPath(_path, obj) { - if (_path.length === 0) { + if (typeA !== type(b)) { return false; } - var val = obj; - var idx = 0; - while (idx < _path.length) { - if (_has(_path[idx], val)) { - val = val[_path[idx]]; - idx += 1; - } else { - return false; - } + + if (a == null || b == null) { + return false; } - return true; -}); -module.exports = hasPath; -/***/ }), -/* 304 */ -/***/ (function(module) { + if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') { + return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a); + } -module.exports = require("string_decoder"); + if (typeof a.equals === 'function' || typeof b.equals === 'function') { + return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a); + } -/***/ }), -/* 305 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + switch (typeA) { + case 'Arguments': + case 'Array': + case 'Object': + if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') { + return a === b; + } + break; + case 'Boolean': + case 'Number': + case 'String': + if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) { + return false; + } + break; + case 'Date': + if (!_objectIs(a.valueOf(), b.valueOf())) { + return false; + } + break; + case 'Error': + return a.name === b.name && a.message === b.message; + case 'RegExp': + if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) { + return false; + } + break; + } -var _curry2 = /*#__PURE__*/__webpack_require__(830); + var idx = stackA.length - 1; + while (idx >= 0) { + if (stackA[idx] === a) { + return stackB[idx] === b; + } + idx -= 1; + } -var _reduced = /*#__PURE__*/__webpack_require__(938); + switch (typeA) { + case 'Map': + if (a.size !== b.size) { + return false; + } -var _xfBase = /*#__PURE__*/__webpack_require__(60); + return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b])); + case 'Set': + if (a.size !== b.size) { + return false; + } -var XFindIndex = /*#__PURE__*/function () { + return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b])); + case 'Arguments': + case 'Array': + case 'Object': + case 'Boolean': + case 'Number': + case 'String': + case 'Date': + case 'Error': + case 'RegExp': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'ArrayBuffer': + break; + default: + // Values of other types are only equal if identical. + return false; + } - function XFindIndex(f, xf) { - this.xf = xf; - this.f = f; - this.idx = -1; - this.found = false; + var keysA = keys(a); + if (keysA.length !== keys(b).length) { + return false; } - XFindIndex.prototype['@@transducer/init'] = _xfBase.init; - XFindIndex.prototype['@@transducer/result'] = function (result) { - if (!this.found) { - result = this.xf['@@transducer/step'](result, -1); - } - return this.xf['@@transducer/result'](result); - }; - XFindIndex.prototype['@@transducer/step'] = function (result, input) { - this.idx += 1; - if (this.f(input)) { - this.found = true; - result = _reduced(this.xf['@@transducer/step'](result, this.idx)); - } - return result; - }; - return XFindIndex; -}(); + var extendedStackA = stackA.concat([a]); + var extendedStackB = stackB.concat([b]); -var _xfindIndex = /*#__PURE__*/_curry2(function _xfindIndex(f, xf) { - return new XFindIndex(f, xf); -}); -module.exports = _xfindIndex; + idx = keysA.length - 1; + while (idx >= 0) { + var key = keysA[idx]; + if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) { + return false; + } + idx -= 1; + } + return true; +} +module.exports = _equals; /***/ }), -/* 306 */ +/* 326 */ /***/ (function(module, __unusedexports, __webpack_require__) { +var _arity = /*#__PURE__*/__webpack_require__(451); + var _curry2 = /*#__PURE__*/__webpack_require__(830); +var head = /*#__PURE__*/__webpack_require__(678); + +var _reduce = /*#__PURE__*/__webpack_require__(870); + +var tail = /*#__PURE__*/__webpack_require__(193); + +var identity = /*#__PURE__*/__webpack_require__(534); + /** - * Sorts the list according to the supplied function. + * Performs left-to-right function composition using transforming function. The leftmost function may have + * any arity; the remaining functions must be unary. + * + * **Note:** The result of pipeWith is not automatically curried. * * @func * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig Ord b => (a -> b) -> [a] -> [a] - * @param {Function} fn - * @param {Array} list The list to sort. - * @return {Array} A new list sorted by the keys generated by `fn`. + * @category Function + * @sig ((* -> *), [((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)]) -> ((a, b, ..., n) -> z) + * @param {...Function} functions + * @return {Function} + * @see R.composeWith, R.pipe * @example * - * const sortByFirstItem = R.sortBy(R.prop(0)); - * const pairs = [[-1, 1], [-2, 2], [-3, 3]]; - * sortByFirstItem(pairs); //=> [[-3, 3], [-2, 2], [-1, 1]] + * const pipeWhileNotNil = R.pipeWith((f, res) => R.isNil(res) ? res : f(res)); + * const f = pipeWhileNotNil([Math.pow, R.negate, R.inc]) * - * const sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop('name'))); - * const alice = { - * name: 'ALICE', - * age: 101 - * }; - * const bob = { - * name: 'Bob', - * age: -10 - * }; - * const clara = { - * name: 'clara', - * age: 314.159 - * }; - * const people = [clara, bob, alice]; - * sortByNameCaseInsensitive(people); //=> [alice, bob, clara] + * f(3, 4); // -(3^4) + 1 + * @symb R.pipeWith(f)([g, h, i])(...args) = f(i, f(h, f(g, ...args))) */ -var sortBy = /*#__PURE__*/_curry2(function sortBy(fn, list) { - return Array.prototype.slice.call(list, 0).sort(function (a, b) { - var aa = fn(a); - var bb = fn(b); - return aa < bb ? -1 : aa > bb ? 1 : 0; +var pipeWith = /*#__PURE__*/_curry2(function pipeWith(xf, list) { + if (list.length <= 0) { + return identity; + } + + var headList = head(list); + var tailList = tail(list); + + return _arity(headList.length, function () { + return _reduce(function (result, f) { + return xf.call(this, f, result); + }, headList.apply(this, arguments), tailList); }); }); -module.exports = sortBy; +module.exports = pipeWith; /***/ }), -/* 307 */ -/***/ (function(module) { +/* 327 */ +/***/ (function(__unusedmodule, exports) { -module.exports = wrapRequest +"use strict"; -const noop = () => Promise.resolve() -function wrapRequest (state, request, options) { - return state.retryLimiter.schedule(doRequest, state, request, options) -} +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = '00000000-0000-0000-0000-000000000000'; +exports.default = _default; -async function doRequest (state, request, options) { - const isWrite = options.method !== 'GET' && options.method !== 'HEAD' - const retryCount = ~~options.request.retryCount - const jobOptions = retryCount > 0 ? { priority: 0, weight: 0 } : {} - if (state.clustering) { - // Remove a job from Redis if it has not completed or failed within 60s - // Examples: Node process terminated, client disconnected, etc. - jobOptions.expiration = 1000 * 60 - } +/***/ }), +/* 328 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - // Guarantee at least 1000ms between writes - if (isWrite) { - await state.write.key(state.id).schedule(jobOptions, noop) - } +var _curry1 = /*#__PURE__*/__webpack_require__(721); - // Guarantee at least 3000ms between requests that trigger notifications - if (isWrite && state.triggersNotification(options.url)) { - await state.notifications.key(state.id).schedule(jobOptions, noop) - } +var curryN = /*#__PURE__*/__webpack_require__(535); + +/** + * Returns a new function much like the supplied one, except that the first two + * arguments' order is reversed. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z) + * @param {Function} fn The function to invoke with its first two parameters reversed. + * @return {*} The result of invoking `fn` with its first two parameters' order reversed. + * @example + * + * const mergeThree = (a, b, c) => [].concat(a, b, c); + * + * mergeThree(1, 2, 3); //=> [1, 2, 3] + * + * R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3] + * @symb R.flip(f)(a, b, c) = f(b, a, c) + */ - return state.global.key(state.id).schedule(jobOptions, request, options) -} +var flip = /*#__PURE__*/_curry1(function flip(fn) { + return curryN(fn.length, function (a, b) { + var args = Array.prototype.slice.call(arguments, 0); + args[0] = b; + args[1] = a; + return fn.apply(this, args); + }); +}); +module.exports = flip; /***/ }), -/* 308 */ +/* 329 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var getISOYear = __webpack_require__(689) +var addSeconds = __webpack_require__(19) /** - * @category ISO Week-Numbering Year Helpers - * @summary Get the number of calendar ISO week-numbering years between the given dates. + * @category Second Helpers + * @summary Subtract the specified number of seconds from the given date. * * @description - * Get the number of calendar ISO week-numbering years between the given dates. - * - * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * Subtract the specified number of seconds from the given date. * - * @param {Date|String|Number} dateLeft - the later date - * @param {Date|String|Number} dateRight - the earlier date - * @returns {Number} the number of calendar ISO week-numbering years + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of seconds to be subtracted + * @returns {Date} the new date with the seconds subtracted * * @example - * // How many calendar ISO week-numbering years are 1 January 2010 and 1 January 2012? - * var result = differenceInCalendarISOYears( - * new Date(2012, 0, 1), - * new Date(2010, 0, 1) - * ) - * //=> 2 + * // Subtract 30 seconds from 10 July 2014 12:45:00: + * var result = subSeconds(new Date(2014, 6, 10, 12, 45, 0), 30) + * //=> Thu Jul 10 2014 12:44:30 */ -function differenceInCalendarISOYears (dirtyDateLeft, dirtyDateRight) { - return getISOYear(dirtyDateLeft) - getISOYear(dirtyDateRight) +function subSeconds (dirtyDate, dirtyAmount) { + var amount = Number(dirtyAmount) + return addSeconds(dirtyDate, -amount) } -module.exports = differenceInCalendarISOYears +module.exports = subSeconds /***/ }), -/* 309 */, -/* 310 */, -/* 311 */ +/* 330 */, +/* 331 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var differenceInDays = __webpack_require__(874) +var isSameWeek = __webpack_require__(50) /** * @category Week Helpers - * @summary Get the number of full weeks between the given dates. + * @summary Is the given date in the same week as the current date? * * @description - * Get the number of full weeks between the given dates. + * Is the given date in the same week as the current date? * - * @param {Date|String|Number} dateLeft - the later date - * @param {Date|String|Number} dateRight - the earlier date - * @returns {Number} the number of full weeks + * @param {Date|String|Number} date - the date to check + * @param {Object} [options] - the object with options + * @param {Number} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Boolean} the date is in this week * * @example - * // How many full weeks are between 5 July 2014 and 20 July 2014? - * var result = differenceInWeeks( - * new Date(2014, 6, 20), - * new Date(2014, 6, 5) - * ) - * //=> 2 + * // If today is 25 September 2014, is 21 September 2014 in this week? + * var result = isThisWeek(new Date(2014, 8, 21)) + * //=> true + * + * @example + * // If today is 25 September 2014 and week starts with Monday + * // is 21 September 2014 in this week? + * var result = isThisWeek(new Date(2014, 8, 21), {weekStartsOn: 1}) + * //=> false */ -function differenceInWeeks (dirtyDateLeft, dirtyDateRight) { - var diff = differenceInDays(dirtyDateLeft, dirtyDateRight) / 7 - return diff > 0 ? Math.floor(diff) : Math.ceil(diff) +function isThisWeek (dirtyDate, dirtyOptions) { + return isSameWeek(new Date(), dirtyDate, dirtyOptions) } -module.exports = differenceInWeeks +module.exports = isThisWeek /***/ }), -/* 312 */ +/* 332 */, +/* 333 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +var reduceBy = /*#__PURE__*/__webpack_require__(729); /** - * Returns a partial copy of an object containing only the keys specified. If - * the key does not exist, the property is ignored. + * Counts the elements of a list according to how many match each value of a + * key generated by the supplied function. Returns an object mapping the keys + * produced by `fn` to the number of occurrences in the list. Note that all + * keys are coerced to strings because of how JavaScript objects work. + * + * Acts as a transducer if a transformer is given in list position. * * @func * @memberOf R * @since v0.1.0 - * @category Object - * @sig [k] -> {k: v} -> {k: v} - * @param {Array} names an array of String property names to copy onto a new object - * @param {Object} obj The object to copy from - * @return {Object} A new object with only properties from `names` on it. - * @see R.omit, R.props + * @category Relation + * @sig (a -> String) -> [a] -> {*} + * @param {Function} fn The function used to map values to keys. + * @param {Array} list The list to count elements from. + * @return {Object} An object mapping keys to number of occurrences in the list. * @example * - * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4} - * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1} + * const numbers = [1.0, 1.1, 1.2, 2.0, 3.0, 2.2]; + * R.countBy(Math.floor)(numbers); //=> {'1': 3, '2': 2, '3': 1} + * + * const letters = ['a', 'b', 'A', 'a', 'B', 'c']; + * R.countBy(R.toLower)(letters); //=> {'a': 3, 'b': 2, 'c': 1} */ -var pick = /*#__PURE__*/_curry2(function pick(names, obj) { - var result = {}; - var idx = 0; - while (idx < names.length) { - if (names[idx] in obj) { - result[names[idx]] = obj[names[idx]]; - } - idx += 1; - } - return result; -}); -module.exports = pick; +var countBy = /*#__PURE__*/reduceBy(function (acc, elem) { + return acc + 1; +}, 0); +module.exports = countBy; /***/ }), -/* 313 */ -/***/ (function(module) { +/* 334 */, +/* 335 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -function _pipe(f, g) { - return function () { - return g.call(this, f.apply(this, arguments)); - }; +var differenceInMonths = __webpack_require__(872) + +/** + * @category Quarter Helpers + * @summary Get the number of full quarters between the given dates. + * + * @description + * Get the number of full quarters between the given dates. + * + * @param {Date|String|Number} dateLeft - the later date + * @param {Date|String|Number} dateRight - the earlier date + * @returns {Number} the number of full quarters + * + * @example + * // How many full quarters are between 31 December 2013 and 2 July 2014? + * var result = differenceInQuarters( + * new Date(2014, 6, 2), + * new Date(2013, 11, 31) + * ) + * //=> 2 + */ +function differenceInQuarters (dirtyDateLeft, dirtyDateRight) { + var diff = differenceInMonths(dirtyDateLeft, dirtyDateRight) / 3 + return diff > 0 ? Math.floor(diff) : Math.ceil(diff) } -module.exports = _pipe; + +module.exports = differenceInQuarters + /***/ }), -/* 314 */ +/* 336 */, +/* 337 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry1 = /*#__PURE__*/__webpack_require__(721); - -var converge = /*#__PURE__*/__webpack_require__(886); +var parse = __webpack_require__(751) /** - * juxt applies a list of functions to a list of values. + * @category Year Helpers + * @summary Is the given date in the leap year? * - * @func - * @memberOf R - * @since v0.19.0 - * @category Function - * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n]) - * @param {Array} fns An array of functions - * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters. - * @see R.applySpec - * @example + * @description + * Is the given date in the leap year? * - * const getRange = R.juxt([Math.min, Math.max]); - * getRange(3, 4, 9, -3); //=> [-3, 9] - * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)] + * @param {Date|String|Number} date - the date to check + * @returns {Boolean} the date is in the leap year + * + * @example + * // Is 1 September 2012 in the leap year? + * var result = isLeapYear(new Date(2012, 8, 1)) + * //=> true */ +function isLeapYear (dirtyDate) { + var date = parse(dirtyDate) + var year = date.getFullYear() + return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0 +} +module.exports = isLeapYear -var juxt = /*#__PURE__*/_curry1(function juxt(fns) { - return converge(function () { - return Array.prototype.slice.call(arguments, 0); - }, fns); -}); -module.exports = juxt; /***/ }), -/* 315 */ -/***/ (function(module) { - -"use strict"; +/* 338 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = function(Promise) { -function returner() { - return this.value; -} -function thrower() { - throw this.reason; -} - -Promise.prototype["return"] = -Promise.prototype.thenReturn = function (value) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - returner, undefined, undefined, {value: value}, undefined); -}; - -Promise.prototype["throw"] = -Promise.prototype.thenThrow = function (reason) { - return this._then( - thrower, undefined, undefined, {reason: reason}, undefined); -}; - -Promise.prototype.catchThrow = function (reason) { - if (arguments.length <= 1) { - return this._then( - undefined, thrower, undefined, {reason: reason}, undefined); - } else { - var _reason = arguments[1]; - var handler = function() {throw _reason;}; - return this.caught(reason, handler); - } -}; - -Promise.prototype.catchReturn = function (value) { - if (arguments.length <= 1) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - undefined, returner, undefined, {value: value}, undefined); - } else { - var _value = arguments[1]; - if (_value instanceof Promise) _value.suppressUnhandledRejections(); - var handler = function() {return _value;}; - return this.caught(value, handler); - } -}; -}; - - -/***/ }), -/* 316 */, -/* 317 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry1 = /*#__PURE__*/__webpack_require__(721); +var startOfISOYear = __webpack_require__(712) /** - * Checks if the input value is `null` or `undefined`. + * @category ISO Week-Numbering Year Helpers + * @summary Are the given dates in the same ISO week-numbering year? * - * @func - * @memberOf R - * @since v0.9.0 - * @category Type - * @sig * -> Boolean - * @param {*} x The value to test. - * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`. - * @example + * @description + * Are the given dates in the same ISO week-numbering year? * - * R.isNil(null); //=> true - * R.isNil(undefined); //=> true - * R.isNil(0); //=> false - * R.isNil([]); //=> false + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param {Date|String|Number} dateLeft - the first date to check + * @param {Date|String|Number} dateRight - the second date to check + * @returns {Boolean} the dates are in the same ISO week-numbering year + * + * @example + * // Are 29 December 2003 and 2 January 2005 in the same ISO week-numbering year? + * var result = isSameISOYear( + * new Date(2003, 11, 29), + * new Date(2005, 0, 2) + * ) + * //=> true */ +function isSameISOYear (dirtyDateLeft, dirtyDateRight) { + var dateLeftStartOfYear = startOfISOYear(dirtyDateLeft) + var dateRightStartOfYear = startOfISOYear(dirtyDateRight) + return dateLeftStartOfYear.getTime() === dateRightStartOfYear.getTime() +} -var isNil = /*#__PURE__*/_curry1(function isNil(x) { - return x == null; -}); -module.exports = isNil; - -/***/ }), -/* 318 */, -/* 319 */, -/* 320 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry2 = /*#__PURE__*/__webpack_require__(830); +module.exports = isSameISOYear -var _dispatchable = /*#__PURE__*/__webpack_require__(968); -var _xall = /*#__PURE__*/__webpack_require__(588); +/***/ }), +/* 339 */, +/* 340 */ +/***/ (function(module) { /** - * Returns `true` if all elements of the list match the predicate, `false` if - * there are any that don't. - * - * Dispatches to the `all` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. + * Private `concat` function to merge two array-like objects. * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig (a -> Boolean) -> [a] -> Boolean - * @param {Function} fn The predicate function. - * @param {Array} list The array to consider. - * @return {Boolean} `true` if the predicate is satisfied by every element, `false` - * otherwise. - * @see R.any, R.none, R.transduce + * @private + * @param {Array|Arguments} [set1=[]] An array-like object. + * @param {Array|Arguments} [set2=[]] An array-like object. + * @return {Array} A new, merged array. * @example * - * const equals3 = R.equals(3); - * R.all(equals3)([3, 3, 3, 3]); //=> true - * R.all(equals3)([3, 3, 1, 3]); //=> false + * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3] */ +function _concat(set1, set2) { + set1 = set1 || []; + set2 = set2 || []; + var idx; + var len1 = set1.length; + var len2 = set2.length; + var result = []; - -var all = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['all'], _xall, function all(fn, list) { - var idx = 0; - while (idx < list.length) { - if (!fn(list[idx])) { - return false; - } + idx = 0; + while (idx < len1) { + result[result.length] = set1[idx]; idx += 1; } - return true; -})); -module.exports = all; + idx = 0; + while (idx < len2) { + result[result.length] = set2[idx]; + idx += 1; + } + return result; +} +module.exports = _concat; /***/ }), -/* 321 */ +/* 341 */ /***/ (function(module, __unusedexports, __webpack_require__) { "use strict"; -module.exports = function( - Promise, PromiseArray, tryConvertToPromise, apiRejection) { var util = __webpack_require__(248); -var isObject = util.isObject; +var maybeWrapAsError = util.maybeWrapAsError; +var errors = __webpack_require__(607); +var OperationalError = errors.OperationalError; var es5 = __webpack_require__(883); -var Es6Map; -if (typeof Map === "function") Es6Map = Map; - -var mapToEntries = (function() { - var index = 0; - var size = 0; - - function extractEntry(value, key) { - this[index] = value; - this[index + size] = key; - index++; - } - - return function mapToEntries(map) { - size = map.size; - index = 0; - var ret = new Array(map.size * 2); - map.forEach(extractEntry, ret); - return ret; - }; -})(); -var entriesToMap = function(entries) { - var ret = new Es6Map(); - var length = entries.length / 2 | 0; - for (var i = 0; i < length; ++i) { - var key = entries[length + i]; - var value = entries[i]; - ret.set(key, value); - } - return ret; -}; +function isUntypedError(obj) { + return obj instanceof Error && + es5.getPrototypeOf(obj) === Error.prototype; +} -function PropertiesPromiseArray(obj) { - var isMap = false; - var entries; - if (Es6Map !== undefined && obj instanceof Es6Map) { - entries = mapToEntries(obj); - isMap = true; - } else { +var rErrorKey = /^(?:name|message|stack|cause)$/; +function wrapAsOperationalError(obj) { + var ret; + if (isUntypedError(obj)) { + ret = new OperationalError(obj); + ret.name = obj.name; + ret.message = obj.message; + ret.stack = obj.stack; var keys = es5.keys(obj); - var len = keys.length; - entries = new Array(len * 2); - for (var i = 0; i < len; ++i) { + for (var i = 0; i < keys.length; ++i) { var key = keys[i]; - entries[i] = obj[key]; - entries[i + len] = key; + if (!rErrorKey.test(key)) { + ret[key] = obj[key]; + } } + return ret; } - this.constructor$(entries); - this._isMap = isMap; - this._init$(undefined, isMap ? -6 : -3); + util.markAsOriginatingFromRejection(obj); + return obj; } -util.inherits(PropertiesPromiseArray, PromiseArray); - -PropertiesPromiseArray.prototype._init = function () {}; -PropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) { - this._values[index] = value; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - var val; - if (this._isMap) { - val = entriesToMap(this._values); +function nodebackForPromise(promise, multiArgs) { + return function(err, value) { + if (promise === null) return; + if (err) { + var wrapped = wrapAsOperationalError(maybeWrapAsError(err)); + promise._attachExtraTrace(wrapped); + promise._reject(wrapped); + } else if (!multiArgs) { + promise._fulfill(value); } else { - val = {}; - var keyOffset = this.length(); - for (var i = 0, len = this.length(); i < len; ++i) { - val[this._values[i + keyOffset]] = this._values[i]; - } + var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];}; + promise._fulfill(args); } - this._resolve(val); - return true; - } - return false; -}; - -PropertiesPromiseArray.prototype.shouldCopyValues = function () { - return false; -}; - -PropertiesPromiseArray.prototype.getActualLength = function (len) { - return len >> 1; -}; - -function props(promises) { - var ret; - var castValue = tryConvertToPromise(promises); - - if (!isObject(castValue)) { - return apiRejection("cannot await properties of a non-object\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } else if (castValue instanceof Promise) { - ret = castValue._then( - Promise.props, undefined, undefined, undefined, undefined); - } else { - ret = new PropertiesPromiseArray(castValue).promise(); - } - - if (castValue instanceof Promise) { - ret._propagateFrom(castValue, 2); - } - return ret; + promise = null; + }; } -Promise.prototype.props = function () { - return props(this); -}; - -Promise.props = function (promises) { - return props(promises); -}; -}; +module.exports = nodebackForPromise; /***/ }), -/* 322 */ +/* 342 */, +/* 343 */, +/* 344 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var addYears = __webpack_require__(112) +var parse = __webpack_require__(751) /** - * @category Year Helpers - * @summary Subtract the specified number of years from the given date. + * @category Quarter Helpers + * @summary Return the end of a year quarter for the given date. * * @description - * Subtract the specified number of years from the given date. + * Return the end of a year quarter for the given date. + * The result will be in the local timezone. * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of years to be subtracted - * @returns {Date} the new date with the years subtracted + * @param {Date|String|Number} date - the original date + * @returns {Date} the end of a quarter * * @example - * // Subtract 5 years from 1 September 2014: - * var result = subYears(new Date(2014, 8, 1), 5) - * //=> Tue Sep 01 2009 00:00:00 + * // The end of a quarter for 2 September 2014 11:55:00: + * var result = endOfQuarter(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 30 2014 23:59:59.999 */ -function subYears (dirtyDate, dirtyAmount) { - var amount = Number(dirtyAmount) - return addYears(dirtyDate, -amount) +function endOfQuarter (dirtyDate) { + var date = parse(dirtyDate) + var currentMonth = date.getMonth() + var month = currentMonth - currentMonth % 3 + 3 + date.setMonth(month, 0) + date.setHours(23, 59, 59, 999) + return date } -module.exports = subYears +module.exports = endOfQuarter /***/ }), -/* 323 */ -/***/ (function(module) { - -"use strict"; - +/* 345 */, +/* 346 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -var isStream = module.exports = function (stream) { - return stream !== null && typeof stream === 'object' && typeof stream.pipe === 'function'; -}; +var _curry1 = /*#__PURE__*/__webpack_require__(721); -isStream.writable = function (stream) { - return isStream(stream) && stream.writable !== false && typeof stream._write === 'function' && typeof stream._writableState === 'object'; -}; +var empty = /*#__PURE__*/__webpack_require__(235); -isStream.readable = function (stream) { - return isStream(stream) && stream.readable !== false && typeof stream._read === 'function' && typeof stream._readableState === 'object'; -}; +var equals = /*#__PURE__*/__webpack_require__(701); -isStream.duplex = function (stream) { - return isStream.writable(stream) && isStream.readable(stream); -}; +/** + * Returns `true` if the given value is its type's empty value; `false` + * otherwise. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Logic + * @sig a -> Boolean + * @param {*} x + * @return {Boolean} + * @see R.empty + * @example + * + * R.isEmpty([1, 2, 3]); //=> false + * R.isEmpty([]); //=> true + * R.isEmpty(''); //=> true + * R.isEmpty(null); //=> false + * R.isEmpty({}); //=> true + * R.isEmpty({length: 0}); //=> false + */ -isStream.transform = function (stream) { - return isStream.duplex(stream) && typeof stream._transform === 'function' && typeof stream._transformState === 'object'; -}; +var isEmpty = /*#__PURE__*/_curry1(function isEmpty(x) { + return x != null && equals(x, empty(x)); +}); +module.exports = isEmpty; /***/ }), -/* 324 */ +/* 347 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var startOfWeek = __webpack_require__(428) +var _forceReduced = /*#__PURE__*/__webpack_require__(439); -var MILLISECONDS_IN_MINUTE = 60000 -var MILLISECONDS_IN_WEEK = 604800000 +var _isArrayLike = /*#__PURE__*/__webpack_require__(577); -/** - * @category Week Helpers - * @summary Get the number of calendar weeks between the given dates. - * - * @description - * Get the number of calendar weeks between the given dates. - * - * @param {Date|String|Number} dateLeft - the later date - * @param {Date|String|Number} dateRight - the earlier date - * @param {Object} [options] - the object with options - * @param {Number} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) - * @returns {Number} the number of calendar weeks - * - * @example - * // How many calendar weeks are between 5 July 2014 and 20 July 2014? - * var result = differenceInCalendarWeeks( - * new Date(2014, 6, 20), - * new Date(2014, 6, 5) - * ) - * //=> 3 - * - * @example - * // If the week starts on Monday, - * // how many calendar weeks are between 5 July 2014 and 20 July 2014? - * var result = differenceInCalendarWeeks( - * new Date(2014, 6, 20), - * new Date(2014, 6, 5), - * {weekStartsOn: 1} - * ) - * //=> 2 - */ -function differenceInCalendarWeeks (dirtyDateLeft, dirtyDateRight, dirtyOptions) { - var startOfWeekLeft = startOfWeek(dirtyDateLeft, dirtyOptions) - var startOfWeekRight = startOfWeek(dirtyDateRight, dirtyOptions) +var _reduce = /*#__PURE__*/__webpack_require__(870); - var timestampLeft = startOfWeekLeft.getTime() - - startOfWeekLeft.getTimezoneOffset() * MILLISECONDS_IN_MINUTE - var timestampRight = startOfWeekRight.getTime() - - startOfWeekRight.getTimezoneOffset() * MILLISECONDS_IN_MINUTE +var _xfBase = /*#__PURE__*/__webpack_require__(60); - // Round the number of days to the nearest integer - // because the number of milliseconds in a week is not constant - // (e.g. it's different in the week of the daylight saving time clock shift) - return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK) -} +var preservingReduced = function (xf) { + return { + '@@transducer/init': _xfBase.init, + '@@transducer/result': function (result) { + return xf['@@transducer/result'](result); + }, + '@@transducer/step': function (result, input) { + var ret = xf['@@transducer/step'](result, input); + return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret; + } + }; +}; -module.exports = differenceInCalendarWeeks +var _flatCat = function _xcat(xf) { + var rxf = preservingReduced(xf); + return { + '@@transducer/init': _xfBase.init, + '@@transducer/result': function (result) { + return rxf['@@transducer/result'](result); + }, + '@@transducer/step': function (result, input) { + return !_isArrayLike(input) ? _reduce(rxf, result, [input]) : _reduce(rxf, result, input); + } + }; +}; +module.exports = _flatCat; /***/ }), -/* 325 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _arrayFromIterator = /*#__PURE__*/__webpack_require__(798); - -var _includesWith = /*#__PURE__*/__webpack_require__(680); +/* 348 */, +/* 349 */ +/***/ (function(module) { -var _functionName = /*#__PURE__*/__webpack_require__(885); +module.exports = [["0","\u0000",127],["8141","갂갃갅갆갋",4,"갘갞갟갡갢갣갥",6,"갮갲갳갴"],["8161","갵갶갷갺갻갽갾갿걁",9,"걌걎",5,"걕"],["8181","걖걗걙걚걛걝",18,"걲걳걵걶걹걻",4,"겂겇겈겍겎겏겑겒겓겕",6,"겞겢",5,"겫겭겮겱",6,"겺겾겿곀곂곃곅곆곇곉곊곋곍",7,"곖곘",7,"곢곣곥곦곩곫곭곮곲곴곷",4,"곾곿괁괂괃괅괇",4,"괎괐괒괓"],["8241","괔괕괖괗괙괚괛괝괞괟괡",7,"괪괫괮",5],["8261","괶괷괹괺괻괽",6,"굆굈굊",5,"굑굒굓굕굖굗"],["8281","굙",7,"굢굤",7,"굮굯굱굲굷굸굹굺굾궀궃",4,"궊궋궍궎궏궑",10,"궞",5,"궥",17,"궸",7,"귂귃귅귆귇귉",6,"귒귔",7,"귝귞귟귡귢귣귥",18],["8341","귺귻귽귾긂",5,"긊긌긎",5,"긕",7],["8361","긝",18,"긲긳긵긶긹긻긼"],["8381","긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗",4,"깞깢깣깤깦깧깪깫깭깮깯깱",6,"깺깾",5,"꺆",5,"꺍",46,"꺿껁껂껃껅",6,"껎껒",5,"껚껛껝",8],["8441","껦껧껩껪껬껮",5,"껵껶껷껹껺껻껽",8],["8461","꼆꼉꼊꼋꼌꼎꼏꼑",18],["8481","꼤",7,"꼮꼯꼱꼳꼵",6,"꼾꽀꽄꽅꽆꽇꽊",5,"꽑",10,"꽞",5,"꽦",18,"꽺",5,"꾁꾂꾃꾅꾆꾇꾉",6,"꾒꾓꾔꾖",5,"꾝",26,"꾺꾻꾽꾾"],["8541","꾿꿁",5,"꿊꿌꿏",4,"꿕",6,"꿝",4],["8561","꿢",5,"꿪",5,"꿲꿳꿵꿶꿷꿹",6,"뀂뀃"],["8581","뀅",6,"뀍뀎뀏뀑뀒뀓뀕",6,"뀞",9,"뀩",26,"끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞",29,"끾끿낁낂낃낅",6,"낎낐낒",5,"낛낝낞낣낤"],["8641","낥낦낧낪낰낲낶낷낹낺낻낽",6,"냆냊",5,"냒"],["8661","냓냕냖냗냙",6,"냡냢냣냤냦",10],["8681","냱",22,"넊넍넎넏넑넔넕넖넗넚넞",4,"넦넧넩넪넫넭",6,"넶넺",5,"녂녃녅녆녇녉",6,"녒녓녖녗녙녚녛녝녞녟녡",22,"녺녻녽녾녿놁놃",4,"놊놌놎놏놐놑놕놖놗놙놚놛놝"],["8741","놞",9,"놩",15],["8761","놹",18,"뇍뇎뇏뇑뇒뇓뇕"],["8781","뇖",5,"뇞뇠",7,"뇪뇫뇭뇮뇯뇱",7,"뇺뇼뇾",5,"눆눇눉눊눍",6,"눖눘눚",5,"눡",18,"눵",6,"눽",26,"뉙뉚뉛뉝뉞뉟뉡",6,"뉪",4],["8841","뉯",4,"뉶",5,"뉽",6,"늆늇늈늊",4],["8861","늏늒늓늕늖늗늛",4,"늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷"],["8881","늸",15,"닊닋닍닎닏닑닓",4,"닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉",6,"댒댖",5,"댝",54,"덗덙덚덝덠덡덢덣"],["8941","덦덨덪덬덭덯덲덳덵덶덷덹",6,"뎂뎆",5,"뎍"],["8961","뎎뎏뎑뎒뎓뎕",10,"뎢",5,"뎩뎪뎫뎭"],["8981","뎮",21,"돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩",18,"돽",18,"됑",6,"됙됚됛됝됞됟됡",6,"됪됬",7,"됵",15],["8a41","둅",10,"둒둓둕둖둗둙",6,"둢둤둦"],["8a61","둧",4,"둭",18,"뒁뒂"],["8a81","뒃",4,"뒉",19,"뒞",5,"뒥뒦뒧뒩뒪뒫뒭",7,"뒶뒸뒺",5,"듁듂듃듅듆듇듉",6,"듑듒듓듔듖",5,"듞듟듡듢듥듧",4,"듮듰듲",5,"듹",26,"딖딗딙딚딝"],["8b41","딞",5,"딦딫",4,"딲딳딵딶딷딹",6,"땂땆"],["8b61","땇땈땉땊땎땏땑땒땓땕",6,"땞땢",8],["8b81","땫",52,"떢떣떥떦떧떩떬떭떮떯떲떶",4,"떾떿뗁뗂뗃뗅",6,"뗎뗒",5,"뗙",18,"뗭",18],["8c41","똀",15,"똒똓똕똖똗똙",4],["8c61","똞",6,"똦",5,"똭",6,"똵",5],["8c81","똻",12,"뙉",26,"뙥뙦뙧뙩",50,"뚞뚟뚡뚢뚣뚥",5,"뚭뚮뚯뚰뚲",16],["8d41","뛃",16,"뛕",8],["8d61","뛞",17,"뛱뛲뛳뛵뛶뛷뛹뛺"],["8d81","뛻",4,"뜂뜃뜄뜆",33,"뜪뜫뜭뜮뜱",6,"뜺뜼",7,"띅띆띇띉띊띋띍",6,"띖",9,"띡띢띣띥띦띧띩",6,"띲띴띶",5,"띾띿랁랂랃랅",6,"랎랓랔랕랚랛랝랞"],["8e41","랟랡",6,"랪랮",5,"랶랷랹",8],["8e61","럂",4,"럈럊",19],["8e81","럞",13,"럮럯럱럲럳럵",6,"럾렂",4,"렊렋렍렎렏렑",6,"렚렜렞",5,"렦렧렩렪렫렭",6,"렶렺",5,"롁롂롃롅",11,"롒롔",7,"롞롟롡롢롣롥",6,"롮롰롲",5,"롹롺롻롽",7],["8f41","뢅",7,"뢎",17],["8f61","뢠",7,"뢩",6,"뢱뢲뢳뢵뢶뢷뢹",4],["8f81","뢾뢿룂룄룆",5,"룍룎룏룑룒룓룕",7,"룞룠룢",5,"룪룫룭룮룯룱",6,"룺룼룾",5,"뤅",18,"뤙",6,"뤡",26,"뤾뤿륁륂륃륅",6,"륍륎륐륒",5],["9041","륚륛륝륞륟륡",6,"륪륬륮",5,"륶륷륹륺륻륽"],["9061","륾",5,"릆릈릋릌릏",15],["9081","릟",12,"릮릯릱릲릳릵",6,"릾맀맂",5,"맊맋맍맓",4,"맚맜맟맠맢맦맧맩맪맫맭",6,"맶맻",4,"먂",5,"먉",11,"먖",33,"먺먻먽먾먿멁멃멄멅멆"],["9141","멇멊멌멏멐멑멒멖멗멙멚멛멝",6,"멦멪",5],["9161","멲멳멵멶멷멹",9,"몆몈몉몊몋몍",5],["9181","몓",20,"몪몭몮몯몱몳",4,"몺몼몾",5,"뫅뫆뫇뫉",14,"뫚",33,"뫽뫾뫿묁묂묃묅",7,"묎묐묒",5,"묙묚묛묝묞묟묡",6],["9241","묨묪묬",7,"묷묹묺묿",4,"뭆뭈뭊뭋뭌뭎뭑뭒"],["9261","뭓뭕뭖뭗뭙",7,"뭢뭤",7,"뭭",4],["9281","뭲",21,"뮉뮊뮋뮍뮎뮏뮑",18,"뮥뮦뮧뮩뮪뮫뮭",6,"뮵뮶뮸",7,"믁믂믃믅믆믇믉",6,"믑믒믔",35,"믺믻믽믾밁"],["9341","밃",4,"밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵"],["9361","밶밷밹",6,"뱂뱆뱇뱈뱊뱋뱎뱏뱑",8],["9381","뱚뱛뱜뱞",37,"벆벇벉벊벍벏",4,"벖벘벛",4,"벢벣벥벦벩",6,"벲벶",5,"벾벿볁볂볃볅",7,"볎볒볓볔볖볗볙볚볛볝",22,"볷볹볺볻볽"],["9441","볾",5,"봆봈봊",5,"봑봒봓봕",8],["9461","봞",5,"봥",6,"봭",12],["9481","봺",5,"뵁",6,"뵊뵋뵍뵎뵏뵑",6,"뵚",9,"뵥뵦뵧뵩",22,"붂붃붅붆붋",4,"붒붔붖붗붘붛붝",6,"붥",10,"붱",6,"붹",24],["9541","뷒뷓뷖뷗뷙뷚뷛뷝",11,"뷪",5,"뷱"],["9561","뷲뷳뷵뷶뷷뷹",6,"븁븂븄븆",5,"븎븏븑븒븓"],["9581","븕",6,"븞븠",35,"빆빇빉빊빋빍빏",4,"빖빘빜빝빞빟빢빣빥빦빧빩빫",4,"빲빶",4,"빾빿뺁뺂뺃뺅",6,"뺎뺒",5,"뺚",13,"뺩",14],["9641","뺸",23,"뻒뻓"],["9661","뻕뻖뻙",6,"뻡뻢뻦",5,"뻭",8],["9681","뻶",10,"뼂",5,"뼊",13,"뼚뼞",33,"뽂뽃뽅뽆뽇뽉",6,"뽒뽓뽔뽖",44],["9741","뾃",16,"뾕",8],["9761","뾞",17,"뾱",7],["9781","뾹",11,"뿆",5,"뿎뿏뿑뿒뿓뿕",6,"뿝뿞뿠뿢",89,"쀽쀾쀿"],["9841","쁀",16,"쁒",5,"쁙쁚쁛"],["9861","쁝쁞쁟쁡",6,"쁪",15],["9881","쁺",21,"삒삓삕삖삗삙",6,"삢삤삦",5,"삮삱삲삷",4,"삾샂샃샄샆샇샊샋샍샎샏샑",6,"샚샞",5,"샦샧샩샪샫샭",6,"샶샸샺",5,"섁섂섃섅섆섇섉",6,"섑섒섓섔섖",5,"섡섢섥섨섩섪섫섮"],["9941","섲섳섴섵섷섺섻섽섾섿셁",6,"셊셎",5,"셖셗"],["9961","셙셚셛셝",6,"셦셪",5,"셱셲셳셵셶셷셹셺셻"],["9981","셼",8,"솆",5,"솏솑솒솓솕솗",4,"솞솠솢솣솤솦솧솪솫솭솮솯솱",11,"솾",5,"쇅쇆쇇쇉쇊쇋쇍",6,"쇕쇖쇙",6,"쇡쇢쇣쇥쇦쇧쇩",6,"쇲쇴",7,"쇾쇿숁숂숃숅",6,"숎숐숒",5,"숚숛숝숞숡숢숣"],["9a41","숤숥숦숧숪숬숮숰숳숵",16],["9a61","쉆쉇쉉",6,"쉒쉓쉕쉖쉗쉙",6,"쉡쉢쉣쉤쉦"],["9a81","쉧",4,"쉮쉯쉱쉲쉳쉵",6,"쉾슀슂",5,"슊",5,"슑",6,"슙슚슜슞",5,"슦슧슩슪슫슮",5,"슶슸슺",33,"싞싟싡싢싥",5,"싮싰싲싳싴싵싷싺싽싾싿쌁",6,"쌊쌋쌎쌏"],["9b41","쌐쌑쌒쌖쌗쌙쌚쌛쌝",6,"쌦쌧쌪",8],["9b61","쌳",17,"썆",7],["9b81","썎",25,"썪썫썭썮썯썱썳",4,"썺썻썾",5,"쎅쎆쎇쎉쎊쎋쎍",50,"쏁",22,"쏚"],["9c41","쏛쏝쏞쏡쏣",4,"쏪쏫쏬쏮",5,"쏶쏷쏹",5],["9c61","쏿",8,"쐉",6,"쐑",9],["9c81","쐛",8,"쐥",6,"쐭쐮쐯쐱쐲쐳쐵",6,"쐾",9,"쑉",26,"쑦쑧쑩쑪쑫쑭",6,"쑶쑷쑸쑺",5,"쒁",18,"쒕",6,"쒝",12],["9d41","쒪",13,"쒹쒺쒻쒽",8],["9d61","쓆",25],["9d81","쓠",8,"쓪",5,"쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂",9,"씍씎씏씑씒씓씕",6,"씝",10,"씪씫씭씮씯씱",6,"씺씼씾",5,"앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩",6,"앲앶",5,"앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔"],["9e41","얖얙얚얛얝얞얟얡",7,"얪",9,"얶"],["9e61","얷얺얿",4,"엋엍엏엒엓엕엖엗엙",6,"엢엤엦엧"],["9e81","엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑",6,"옚옝",6,"옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉",6,"왒왖",5,"왞왟왡",10,"왭왮왰왲",5,"왺왻왽왾왿욁",6,"욊욌욎",5,"욖욗욙욚욛욝",6,"욦"],["9f41","욨욪",5,"욲욳욵욶욷욻",4,"웂웄웆",5,"웎"],["9f61","웏웑웒웓웕",6,"웞웟웢",5,"웪웫웭웮웯웱웲"],["9f81","웳",4,"웺웻웼웾",5,"윆윇윉윊윋윍",6,"윖윘윚",5,"윢윣윥윦윧윩",6,"윲윴윶윸윹윺윻윾윿읁읂읃읅",4,"읋읎읐읙읚읛읝읞읟읡",6,"읩읪읬",7,"읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛",4,"잢잧",4,"잮잯잱잲잳잵잶잷"],["a041","잸잹잺잻잾쟂",5,"쟊쟋쟍쟏쟑",6,"쟙쟚쟛쟜"],["a061","쟞",5,"쟥쟦쟧쟩쟪쟫쟭",13],["a081","쟻",4,"젂젃젅젆젇젉젋",4,"젒젔젗",4,"젞젟젡젢젣젥",6,"젮젰젲",5,"젹젺젻젽젾젿졁",6,"졊졋졎",5,"졕",26,"졲졳졵졶졷졹졻",4,"좂좄좈좉좊좎",5,"좕",7,"좞좠좢좣좤"],["a141","좥좦좧좩",18,"좾좿죀죁"],["a161","죂죃죅죆죇죉죊죋죍",6,"죖죘죚",5,"죢죣죥"],["a181","죦",14,"죶",5,"죾죿줁줂줃줇",4,"줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈",9,"±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬"],["a241","줐줒",5,"줙",18],["a261","줭",6,"줵",18],["a281","쥈",7,"쥒쥓쥕쥖쥗쥙",6,"쥢쥤",7,"쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®"],["a341","쥱쥲쥳쥵",6,"쥽",10,"즊즋즍즎즏"],["a361","즑",6,"즚즜즞",16],["a381","즯",16,"짂짃짅짆짉짋",4,"짒짔짗짘짛!",58,"₩]",32," ̄"],["a441","짞짟짡짣짥짦짨짩짪짫짮짲",5,"짺짻짽짾짿쨁쨂쨃쨄"],["a461","쨅쨆쨇쨊쨎",5,"쨕쨖쨗쨙",12],["a481","쨦쨧쨨쨪",28,"ㄱ",93],["a541","쩇",4,"쩎쩏쩑쩒쩓쩕",6,"쩞쩢",5,"쩩쩪"],["a561","쩫",17,"쩾",5,"쪅쪆"],["a581","쪇",16,"쪙",14,"ⅰ",9],["a5b0","Ⅰ",9],["a5c1","Α",16,"Σ",6],["a5e1","α",16,"σ",6],["a641","쪨",19,"쪾쪿쫁쫂쫃쫅"],["a661","쫆",5,"쫎쫐쫒쫔쫕쫖쫗쫚",5,"쫡",6],["a681","쫨쫩쫪쫫쫭",6,"쫵",18,"쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃",7],["a741","쬋",4,"쬑쬒쬓쬕쬖쬗쬙",6,"쬢",7],["a761","쬪",22,"쭂쭃쭄"],["a781","쭅쭆쭇쭊쭋쭍쭎쭏쭑",6,"쭚쭛쭜쭞",5,"쭥",7,"㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙",9,"㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰",9,"㎀",4,"㎺",5,"㎐",4,"Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆"],["a841","쭭",10,"쭺",14],["a861","쮉",18,"쮝",6],["a881","쮤",19,"쮹",11,"ÆЪĦ"],["a8a6","IJ"],["a8a8","ĿŁØŒºÞŦŊ"],["a8b1","㉠",27,"ⓐ",25,"①",14,"½⅓⅔¼¾⅛⅜⅝⅞"],["a941","쯅",14,"쯕",10],["a961","쯠쯡쯢쯣쯥쯦쯨쯪",18],["a981","쯽",14,"찎찏찑찒찓찕",6,"찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀",27,"⒜",25,"⑴",14,"¹²³⁴ⁿ₁₂₃₄"],["aa41","찥찦찪찫찭찯찱",6,"찺찿",4,"챆챇챉챊챋챍챎"],["aa61","챏",4,"챖챚",5,"챡챢챣챥챧챩",6,"챱챲"],["aa81","챳챴챶",29,"ぁ",82],["ab41","첔첕첖첗첚첛첝첞첟첡",6,"첪첮",5,"첶첷첹"],["ab61","첺첻첽",6,"쳆쳈쳊",5,"쳑쳒쳓쳕",5],["ab81","쳛",8,"쳥",6,"쳭쳮쳯쳱",12,"ァ",85],["ac41","쳾쳿촀촂",5,"촊촋촍촎촏촑",6,"촚촜촞촟촠"],["ac61","촡촢촣촥촦촧촩촪촫촭",11,"촺",4],["ac81","촿",28,"쵝쵞쵟А",5,"ЁЖ",25],["acd1","а",5,"ёж",25],["ad41","쵡쵢쵣쵥",6,"쵮쵰쵲",5,"쵹",7],["ad61","춁",6,"춉",10,"춖춗춙춚춛춝춞춟"],["ad81","춠춡춢춣춦춨춪",5,"춱",18,"췅"],["ae41","췆",5,"췍췎췏췑",16],["ae61","췢",5,"췩췪췫췭췮췯췱",6,"췺췼췾",4],["ae81","츃츅츆츇츉츊츋츍",6,"츕츖츗츘츚",5,"츢츣츥츦츧츩츪츫"],["af41","츬츭츮츯츲츴츶",19],["af61","칊",13,"칚칛칝칞칢",5,"칪칬"],["af81","칮",5,"칶칷칹칺칻칽",6,"캆캈캊",5,"캒캓캕캖캗캙"],["b041","캚",5,"캢캦",5,"캮",12],["b061","캻",5,"컂",19],["b081","컖",13,"컦컧컩컪컭",6,"컶컺",5,"가각간갇갈갉갊감",7,"같",4,"갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆"],["b141","켂켃켅켆켇켉",6,"켒켔켖",5,"켝켞켟켡켢켣"],["b161","켥",6,"켮켲",5,"켹",11],["b181","콅",14,"콖콗콙콚콛콝",6,"콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸"],["b241","콭콮콯콲콳콵콶콷콹",6,"쾁쾂쾃쾄쾆",5,"쾍"],["b261","쾎",18,"쾢",5,"쾩"],["b281","쾪",5,"쾱",18,"쿅",6,"깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙"],["b341","쿌",19,"쿢쿣쿥쿦쿧쿩"],["b361","쿪",5,"쿲쿴쿶",5,"쿽쿾쿿퀁퀂퀃퀅",5],["b381","퀋",5,"퀒",5,"퀙",19,"끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫",4,"낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝"],["b441","퀮",5,"퀶퀷퀹퀺퀻퀽",6,"큆큈큊",5],["b461","큑큒큓큕큖큗큙",6,"큡",10,"큮큯"],["b481","큱큲큳큵",6,"큾큿킀킂",18,"뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫",4,"닳담답닷",4,"닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥"],["b541","킕",14,"킦킧킩킪킫킭",5],["b561","킳킶킸킺",5,"탂탃탅탆탇탊",5,"탒탖",4],["b581","탛탞탟탡탢탣탥",6,"탮탲",5,"탹",11,"덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸"],["b641","턅",7,"턎",17],["b661","턠",15,"턲턳턵턶턷턹턻턼턽턾"],["b681","턿텂텆",5,"텎텏텑텒텓텕",6,"텞텠텢",5,"텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗"],["b741","텮",13,"텽",6,"톅톆톇톉톊"],["b761","톋",20,"톢톣톥톦톧"],["b781","톩",6,"톲톴톶톷톸톹톻톽톾톿퇁",14,"래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩"],["b841","퇐",7,"퇙",17],["b861","퇫",8,"퇵퇶퇷퇹",13],["b881","툈툊",5,"툑",24,"륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많",4,"맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼"],["b941","툪툫툮툯툱툲툳툵",6,"툾퉀퉂",5,"퉉퉊퉋퉌"],["b961","퉍",14,"퉝",6,"퉥퉦퉧퉨"],["b981","퉩",22,"튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바",4,"받",4,"밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗"],["ba41","튍튎튏튒튓튔튖",5,"튝튞튟튡튢튣튥",6,"튭"],["ba61","튮튯튰튲",5,"튺튻튽튾틁틃",4,"틊틌",5],["ba81","틒틓틕틖틗틙틚틛틝",6,"틦",9,"틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤"],["bb41","틻",4,"팂팄팆",5,"팏팑팒팓팕팗",4,"팞팢팣"],["bb61","팤팦팧팪팫팭팮팯팱",6,"팺팾",5,"퍆퍇퍈퍉"],["bb81","퍊",31,"빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤"],["bc41","퍪",17,"퍾퍿펁펂펃펅펆펇"],["bc61","펈펉펊펋펎펒",5,"펚펛펝펞펟펡",6,"펪펬펮"],["bc81","펯",4,"펵펶펷펹펺펻펽",6,"폆폇폊",5,"폑",5,"샥샨샬샴샵샷샹섀섄섈섐섕서",4,"섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭"],["bd41","폗폙",7,"폢폤",7,"폮폯폱폲폳폵폶폷"],["bd61","폸폹폺폻폾퐀퐂",5,"퐉",13],["bd81","퐗",5,"퐞",25,"숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰"],["be41","퐸",7,"푁푂푃푅",14],["be61","푔",7,"푝푞푟푡푢푣푥",7,"푮푰푱푲"],["be81","푳",4,"푺푻푽푾풁풃",4,"풊풌풎",5,"풕",8,"쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄",6,"엌엎"],["bf41","풞",10,"풪",14],["bf61","풹",18,"퓍퓎퓏퓑퓒퓓퓕"],["bf81","퓖",5,"퓝퓞퓠",7,"퓩퓪퓫퓭퓮퓯퓱",6,"퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염",5,"옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨"],["c041","퓾",5,"픅픆픇픉픊픋픍",6,"픖픘",5],["c061","픞",25],["c081","픸픹픺픻픾픿핁핂핃핅",6,"핎핐핒",5,"핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응",7,"읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊"],["c141","핤핦핧핪핬핮",5,"핶핷핹핺핻핽",6,"햆햊햋"],["c161","햌햍햎햏햑",19,"햦햧"],["c181","햨",31,"점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓"],["c241","헊헋헍헎헏헑헓",4,"헚헜헞",5,"헦헧헩헪헫헭헮"],["c261","헯",4,"헶헸헺",5,"혂혃혅혆혇혉",6,"혒"],["c281","혖",5,"혝혞혟혡혢혣혥",7,"혮",9,"혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻"],["c341","혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝",4],["c361","홢",4,"홨홪",5,"홲홳홵",11],["c381","횁횂횄횆",5,"횎횏횑횒횓횕",7,"횞횠횢",5,"횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층"],["c441","횫횭횮횯횱",7,"횺횼",7,"훆훇훉훊훋"],["c461","훍훎훏훐훒훓훕훖훘훚",5,"훡훢훣훥훦훧훩",4],["c481","훮훯훱훲훳훴훶",5,"훾훿휁휂휃휅",11,"휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼"],["c541","휕휖휗휚휛휝휞휟휡",6,"휪휬휮",5,"휶휷휹"],["c561","휺휻휽",6,"흅흆흈흊",5,"흒흓흕흚",4],["c581","흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵",6,"흾흿힀힂",5,"힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜"],["c641","힍힎힏힑",6,"힚힜힞",5],["c6a1","퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁"],["c7a1","퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠"],["c8a1","혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝"],["caa1","伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕"],["cba1","匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢"],["cca1","瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械"],["cda1","棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜"],["cea1","科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾"],["cfa1","區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴"],["d0a1","鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣"],["d1a1","朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩",5,"那樂",4,"諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉"],["d2a1","納臘蠟衲囊娘廊",4,"乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧",5,"駑魯",10,"濃籠聾膿農惱牢磊腦賂雷尿壘",7,"嫩訥杻紐勒",5,"能菱陵尼泥匿溺多茶"],["d3a1","丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃"],["d4a1","棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅"],["d5a1","蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣"],["d6a1","煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼"],["d7a1","遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬"],["d8a1","立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅"],["d9a1","蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文"],["daa1","汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑"],["dba1","發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖"],["dca1","碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦"],["dda1","孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥"],["dea1","脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索"],["dfa1","傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署"],["e0a1","胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬"],["e1a1","聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁"],["e2a1","戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧"],["e3a1","嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁"],["e4a1","沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額"],["e5a1","櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬"],["e6a1","旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒"],["e7a1","簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳"],["e8a1","烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療"],["e9a1","窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓"],["eaa1","運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜"],["eba1","濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼"],["eca1","議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄"],["eda1","立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長"],["eea1","障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱"],["efa1","煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖"],["f0a1","靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫"],["f1a1","踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只"],["f2a1","咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯"],["f3a1","鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策"],["f4a1","責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢"],["f5a1","椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃"],["f6a1","贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託"],["f7a1","鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑"],["f8a1","阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃"],["f9a1","品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航"],["faa1","行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型"],["fba1","形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵"],["fca1","禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆"],["fda1","爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰"]]; -var _has = /*#__PURE__*/__webpack_require__(390); +/***/ }), +/* 350 */, +/* 351 */, +/* 352 */, +/* 353 */, +/* 354 */, +/* 355 */, +/* 356 */ +/***/ (function(__unusedmodule, exports) { -var _objectIs = /*#__PURE__*/__webpack_require__(268); +"use strict"; -var keys = /*#__PURE__*/__webpack_require__(89); -var type = /*#__PURE__*/__webpack_require__(552); +Object.defineProperty(exports, '__esModule', { value: true }); -/** - * private _uniqContentEquals function. - * That function is checking equality of 2 iterator contents with 2 assumptions - * - iterators lengths are the same - * - iterators values are unique +/*! + * is-plain-object * - * false-positive result will be returned for comparision of, e.g. - * - [1,2,3] and [1,2,3,4] - * - [1,1,1] and [1,2,3] - * */ - -function _uniqContentEquals(aIterator, bIterator, stackA, stackB) { - var a = _arrayFromIterator(aIterator); - var b = _arrayFromIterator(bIterator); - - function eq(_a, _b) { - return _equals(_a, _b, stackA.slice(), stackB.slice()); - } + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ - // if *a* array contains any element that is not included in *b* - return !_includesWith(function (b, aItem) { - return !_includesWith(eq, aItem, b); - }, b, a); +function isObject(o) { + return Object.prototype.toString.call(o) === '[object Object]'; } -function _equals(a, b, stackA, stackB) { - if (_objectIs(a, b)) { - return true; - } +function isPlainObject(o) { + var ctor,prot; - var typeA = type(a); + if (isObject(o) === false) return false; - if (typeA !== type(b)) { - return false; - } + // If has modified constructor + ctor = o.constructor; + if (ctor === undefined) return true; - if (a == null || b == null) { + // If has modified prototype + prot = ctor.prototype; + if (isObject(prot) === false) return false; + + // If constructor does not have an Object-specific method + if (prot.hasOwnProperty('isPrototypeOf') === false) { return false; } - if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') { - return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a); + // Most likely a plain Object + return true; +} + +exports.isPlainObject = isPlainObject; + + +/***/ }), +/* 357 */ +/***/ (function(module) { + +module.exports = require("assert"); + +/***/ }), +/* 358 */, +/* 359 */, +/* 360 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var compareDesc = __webpack_require__(786) +var parse = __webpack_require__(751) +var differenceInSeconds = __webpack_require__(861) +var enLocale = __webpack_require__(366) + +var MINUTES_IN_DAY = 1440 +var MINUTES_IN_MONTH = 43200 +var MINUTES_IN_YEAR = 525600 + +/** + * @category Common Helpers + * @summary Return the distance between the given dates in words. + * + * @description + * Return the distance between the given dates in words, using strict units. + * This is like `distanceInWords`, but does not use helpers like 'almost', 'over', + * 'less than' and the like. + * + * | Distance between dates | Result | + * |------------------------|---------------------| + * | 0 ... 59 secs | [0..59] seconds | + * | 1 ... 59 mins | [1..59] minutes | + * | 1 ... 23 hrs | [1..23] hours | + * | 1 ... 29 days | [1..29] days | + * | 1 ... 11 months | [1..11] months | + * | 1 ... N years | [1..N] years | + * + * @param {Date|String|Number} dateToCompare - the date to compare with + * @param {Date|String|Number} date - the other date + * @param {Object} [options] - the object with options + * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first + * @param {'s'|'m'|'h'|'d'|'M'|'Y'} [options.unit] - if specified, will force a unit + * @param {'floor'|'ceil'|'round'} [options.partialMethod='floor'] - which way to round partial units + * @param {Object} [options.locale=enLocale] - the locale object + * @returns {String} the distance in words + * + * @example + * // What is the distance between 2 July 2014 and 1 January 2015? + * var result = distanceInWordsStrict( + * new Date(2014, 6, 2), + * new Date(2015, 0, 2) + * ) + * //=> '6 months' + * + * @example + * // What is the distance between 1 January 2015 00:00:15 + * // and 1 January 2015 00:00:00? + * var result = distanceInWordsStrict( + * new Date(2015, 0, 1, 0, 0, 15), + * new Date(2015, 0, 1, 0, 0, 0), + * ) + * //=> '15 seconds' + * + * @example + * // What is the distance from 1 January 2016 + * // to 1 January 2015, with a suffix? + * var result = distanceInWordsStrict( + * new Date(2016, 0, 1), + * new Date(2015, 0, 1), + * {addSuffix: true} + * ) + * //=> '1 year ago' + * + * @example + * // What is the distance from 1 January 2016 + * // to 1 January 2015, in minutes? + * var result = distanceInWordsStrict( + * new Date(2016, 0, 1), + * new Date(2015, 0, 1), + * {unit: 'm'} + * ) + * //=> '525600 minutes' + * + * @example + * // What is the distance from 1 January 2016 + * // to 28 January 2015, in months, rounded up? + * var result = distanceInWordsStrict( + * new Date(2015, 0, 28), + * new Date(2015, 0, 1), + * {unit: 'M', partialMethod: 'ceil'} + * ) + * //=> '1 month' + * + * @example + * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto? + * var eoLocale = require('date-fns/locale/eo') + * var result = distanceInWordsStrict( + * new Date(2016, 7, 1), + * new Date(2015, 0, 1), + * {locale: eoLocale} + * ) + * //=> '1 jaro' + */ +function distanceInWordsStrict (dirtyDateToCompare, dirtyDate, dirtyOptions) { + var options = dirtyOptions || {} + + var comparison = compareDesc(dirtyDateToCompare, dirtyDate) + + var locale = options.locale + var localize = enLocale.distanceInWords.localize + if (locale && locale.distanceInWords && locale.distanceInWords.localize) { + localize = locale.distanceInWords.localize } - if (typeof a.equals === 'function' || typeof b.equals === 'function') { - return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a); + var localizeOptions = { + addSuffix: Boolean(options.addSuffix), + comparison: comparison } - switch (typeA) { - case 'Arguments': - case 'Array': - case 'Object': - if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') { - return a === b; - } - break; - case 'Boolean': - case 'Number': - case 'String': - if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) { - return false; - } - break; - case 'Date': - if (!_objectIs(a.valueOf(), b.valueOf())) { - return false; - } - break; - case 'Error': - return a.name === b.name && a.message === b.message; - case 'RegExp': - if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) { - return false; - } - break; + var dateLeft, dateRight + if (comparison > 0) { + dateLeft = parse(dirtyDateToCompare) + dateRight = parse(dirtyDate) + } else { + dateLeft = parse(dirtyDate) + dateRight = parse(dirtyDateToCompare) } - var idx = stackA.length - 1; - while (idx >= 0) { - if (stackA[idx] === a) { - return stackB[idx] === b; + var unit + var mathPartial = Math[options.partialMethod ? String(options.partialMethod) : 'floor'] + var seconds = differenceInSeconds(dateRight, dateLeft) + var offset = dateRight.getTimezoneOffset() - dateLeft.getTimezoneOffset() + var minutes = mathPartial(seconds / 60) - offset + var hours, days, months, years + + if (options.unit) { + unit = String(options.unit) + } else { + if (minutes < 1) { + unit = 's' + } else if (minutes < 60) { + unit = 'm' + } else if (minutes < MINUTES_IN_DAY) { + unit = 'h' + } else if (minutes < MINUTES_IN_MONTH) { + unit = 'd' + } else if (minutes < MINUTES_IN_YEAR) { + unit = 'M' + } else { + unit = 'Y' } - idx -= 1; } - switch (typeA) { - case 'Map': - if (a.size !== b.size) { - return false; - } + // 0 up to 60 seconds + if (unit === 's') { + return localize('xSeconds', seconds, localizeOptions) - return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b])); - case 'Set': - if (a.size !== b.size) { - return false; - } + // 1 up to 60 mins + } else if (unit === 'm') { + return localize('xMinutes', minutes, localizeOptions) - return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b])); - case 'Arguments': - case 'Array': - case 'Object': - case 'Boolean': - case 'Number': - case 'String': - case 'Date': - case 'Error': - case 'RegExp': - case 'Int8Array': - case 'Uint8Array': - case 'Uint8ClampedArray': - case 'Int16Array': - case 'Uint16Array': - case 'Int32Array': - case 'Uint32Array': - case 'Float32Array': - case 'Float64Array': - case 'ArrayBuffer': - break; - default: - // Values of other types are only equal if identical. - return false; - } + // 1 up to 24 hours + } else if (unit === 'h') { + hours = mathPartial(minutes / 60) + return localize('xHours', hours, localizeOptions) - var keysA = keys(a); - if (keysA.length !== keys(b).length) { - return false; - } + // 1 up to 30 days + } else if (unit === 'd') { + days = mathPartial(minutes / MINUTES_IN_DAY) + return localize('xDays', days, localizeOptions) - var extendedStackA = stackA.concat([a]); - var extendedStackB = stackB.concat([b]); + // 1 up to 12 months + } else if (unit === 'M') { + months = mathPartial(minutes / MINUTES_IN_MONTH) + return localize('xMonths', months, localizeOptions) - idx = keysA.length - 1; - while (idx >= 0) { - var key = keysA[idx]; - if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) { - return false; - } - idx -= 1; + // 1 year up to max Date + } else if (unit === 'Y') { + years = mathPartial(minutes / MINUTES_IN_YEAR) + return localize('xYears', years, localizeOptions) } - return true; + + throw new Error('Unknown unit: ' + unit) } -module.exports = _equals; + +module.exports = distanceInWordsStrict + /***/ }), -/* 326 */ +/* 361 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _arity = /*#__PURE__*/__webpack_require__(451); +"use strict"; -var _curry2 = /*#__PURE__*/__webpack_require__(830); +var cr = Object.create; +if (cr) { + var callerCache = cr(null); + var getterCache = cr(null); + callerCache[" size"] = getterCache[" size"] = 0; +} -var head = /*#__PURE__*/__webpack_require__(678); +module.exports = function(Promise) { +var util = __webpack_require__(248); +var canEvaluate = util.canEvaluate; +var isIdentifier = util.isIdentifier; -var _reduce = /*#__PURE__*/__webpack_require__(870); +var getMethodCaller; +var getGetter; +if (true) { +var makeMethodCaller = function (methodName) { + return new Function("ensureMethod", " \n\ + return function(obj) { \n\ + 'use strict' \n\ + var len = this.length; \n\ + ensureMethod(obj, 'methodName'); \n\ + switch(len) { \n\ + case 1: return obj.methodName(this[0]); \n\ + case 2: return obj.methodName(this[0], this[1]); \n\ + case 3: return obj.methodName(this[0], this[1], this[2]); \n\ + case 0: return obj.methodName(); \n\ + default: \n\ + return obj.methodName.apply(obj, this); \n\ + } \n\ + }; \n\ + ".replace(/methodName/g, methodName))(ensureMethod); +}; -var tail = /*#__PURE__*/__webpack_require__(193); +var makeGetter = function (propertyName) { + return new Function("obj", " \n\ + 'use strict'; \n\ + return obj.propertyName; \n\ + ".replace("propertyName", propertyName)); +}; -var identity = /*#__PURE__*/__webpack_require__(332); +var getCompiled = function(name, compiler, cache) { + var ret = cache[name]; + if (typeof ret !== "function") { + if (!isIdentifier(name)) { + return null; + } + ret = compiler(name); + cache[name] = ret; + cache[" size"]++; + if (cache[" size"] > 512) { + var keys = Object.keys(cache); + for (var i = 0; i < 256; ++i) delete cache[keys[i]]; + cache[" size"] = keys.length - 256; + } + } + return ret; +}; -/** - * Performs left-to-right function composition using transforming function. The leftmost function may have - * any arity; the remaining functions must be unary. - * - * **Note:** The result of pipeWith is not automatically curried. - * - * @func - * @memberOf R - * @category Function - * @sig ((* -> *), [((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)]) -> ((a, b, ..., n) -> z) - * @param {...Function} functions - * @return {Function} - * @see R.composeWith, R.pipe - * @example - * - * const pipeWhileNotNil = R.pipeWith((f, res) => R.isNil(res) ? res : f(res)); - * const f = pipeWhileNotNil([Math.pow, R.negate, R.inc]) - * - * f(3, 4); // -(3^4) + 1 - * @symb R.pipeWith(f)([g, h, i])(...args) = f(i, f(h, f(g, ...args))) - */ +getMethodCaller = function(name) { + return getCompiled(name, makeMethodCaller, callerCache); +}; +getGetter = function(name) { + return getCompiled(name, makeGetter, getterCache); +}; +} -var pipeWith = /*#__PURE__*/_curry2(function pipeWith(xf, list) { - if (list.length <= 0) { - return identity; - } +function ensureMethod(obj, methodName) { + var fn; + if (obj != null) fn = obj[methodName]; + if (typeof fn !== "function") { + var message = "Object " + util.classString(obj) + " has no method '" + + util.toString(methodName) + "'"; + throw new Promise.TypeError(message); + } + return fn; +} - var headList = head(list); - var tailList = tail(list); +function caller(obj) { + var methodName = this.pop(); + var fn = ensureMethod(obj, methodName); + return fn.apply(obj, this); +} +Promise.prototype.call = function (methodName) { + var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];}; + if (true) { + if (canEvaluate) { + var maybeCaller = getMethodCaller(methodName); + if (maybeCaller !== null) { + return this._then( + maybeCaller, undefined, undefined, args, undefined); + } + } + } + args.push(methodName); + return this._then(caller, undefined, undefined, args, undefined); +}; + +function namedGetter(obj) { + return obj[this]; +} +function indexedGetter(obj) { + var index = +this; + if (index < 0) index = Math.max(0, index + obj.length); + return obj[index]; +} +Promise.prototype.get = function (propertyName) { + var isIndex = (typeof propertyName === "number"); + var getter; + if (!isIndex) { + if (canEvaluate) { + var maybeGetter = getGetter(propertyName); + getter = maybeGetter !== null ? maybeGetter : namedGetter; + } else { + getter = namedGetter; + } + } else { + getter = indexedGetter; + } + return this._then(getter, undefined, undefined, propertyName, undefined); +}; +}; - return _arity(headList.length, function () { - return _reduce(function (result, f) { - return xf.call(this, f, result); - }, headList.apply(this, arguments), tailList); - }); -}); -module.exports = pipeWith; /***/ }), -/* 327 */, -/* 328 */ +/* 362 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry1 = /*#__PURE__*/__webpack_require__(721); - -var curryN = /*#__PURE__*/__webpack_require__(535); +var _curry2 = /*#__PURE__*/__webpack_require__(830); /** - * Returns a new function much like the supplied one, except that the first two - * arguments' order is reversed. + * Similar to `pick` except that this one includes a `key: undefined` pair for + * properties that don't exist. * * @func * @memberOf R * @since v0.1.0 - * @category Function - * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z) - * @param {Function} fn The function to invoke with its first two parameters reversed. - * @return {*} The result of invoking `fn` with its first two parameters' order reversed. + * @category Object + * @sig [k] -> {k: v} -> {k: v} + * @param {Array} names an array of String property names to copy onto a new object + * @param {Object} obj The object to copy from + * @return {Object} A new object with only properties from `names` on it. + * @see R.pick * @example * - * const mergeThree = (a, b, c) => [].concat(a, b, c); - * - * mergeThree(1, 2, 3); //=> [1, 2, 3] - * - * R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3] - * @symb R.flip(f)(a, b, c) = f(b, a, c) + * R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4} + * R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined} */ -var flip = /*#__PURE__*/_curry1(function flip(fn) { - return curryN(fn.length, function (a, b) { - var args = Array.prototype.slice.call(arguments, 0); - args[0] = b; - args[1] = a; - return fn.apply(this, args); - }); +var pickAll = /*#__PURE__*/_curry2(function pickAll(names, obj) { + var result = {}; + var idx = 0; + var len = names.length; + while (idx < len) { + var name = names[idx]; + result[name] = obj[name]; + idx += 1; + } + return result; }); -module.exports = flip; - -/***/ }), -/* 329 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var addSeconds = __webpack_require__(19) - -/** - * @category Second Helpers - * @summary Subtract the specified number of seconds from the given date. - * - * @description - * Subtract the specified number of seconds from the given date. - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of seconds to be subtracted - * @returns {Date} the new date with the seconds subtracted - * - * @example - * // Subtract 30 seconds from 10 July 2014 12:45:00: - * var result = subSeconds(new Date(2014, 6, 10, 12, 45, 0), 30) - * //=> Thu Jul 10 2014 12:44:30 - */ -function subSeconds (dirtyDate, dirtyAmount) { - var amount = Number(dirtyAmount) - return addSeconds(dirtyDate, -amount) -} - -module.exports = subSeconds - +module.exports = pickAll; /***/ }), -/* 330 */, -/* 331 */ +/* 363 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +"use strict"; -var _isFunction = /*#__PURE__*/__webpack_require__(504); +module.exports = function(Promise, + PromiseArray, + apiRejection, + tryConvertToPromise, + INTERNAL, + debug) { +var util = __webpack_require__(248); +var tryCatch = util.tryCatch; -var lift = /*#__PURE__*/__webpack_require__(127); +function ReductionPromiseArray(promises, fn, initialValue, _each) { + this.constructor$(promises); + var context = Promise._getContext(); + this._fn = util.contextBind(context, fn); + if (initialValue !== undefined) { + initialValue = Promise.resolve(initialValue); + initialValue._attachCancellationCallback(this); + } + this._initialValue = initialValue; + this._currentCancellable = null; + if(_each === INTERNAL) { + this._eachValues = Array(this._length); + } else if (_each === 0) { + this._eachValues = null; + } else { + this._eachValues = undefined; + } + this._promise._captureStackTrace(); + this._init$(undefined, -5); +} +util.inherits(ReductionPromiseArray, PromiseArray); -var or = /*#__PURE__*/__webpack_require__(443); +ReductionPromiseArray.prototype._gotAccum = function(accum) { + if (this._eachValues !== undefined && + this._eachValues !== null && + accum !== INTERNAL) { + this._eachValues.push(accum); + } +}; + +ReductionPromiseArray.prototype._eachComplete = function(value) { + if (this._eachValues !== null) { + this._eachValues.push(value); + } + return this._eachValues; +}; + +ReductionPromiseArray.prototype._init = function() {}; + +ReductionPromiseArray.prototype._resolveEmptyArray = function() { + this._resolve(this._eachValues !== undefined ? this._eachValues + : this._initialValue); +}; + +ReductionPromiseArray.prototype.shouldCopyValues = function () { + return false; +}; + +ReductionPromiseArray.prototype._resolve = function(value) { + this._promise._resolveCallback(value); + this._values = null; +}; + +ReductionPromiseArray.prototype._resultCancelled = function(sender) { + if (sender === this._initialValue) return this._cancel(); + if (this._isResolved()) return; + this._resultCancelled$(); + if (this._currentCancellable instanceof Promise) { + this._currentCancellable.cancel(); + } + if (this._initialValue instanceof Promise) { + this._initialValue.cancel(); + } +}; + +ReductionPromiseArray.prototype._iterate = function (values) { + this._values = values; + var value; + var i; + var length = values.length; + if (this._initialValue !== undefined) { + value = this._initialValue; + i = 0; + } else { + value = Promise.resolve(values[0]); + i = 1; + } + + this._currentCancellable = value; + + for (var j = i; j < length; ++j) { + var maybePromise = values[j]; + if (maybePromise instanceof Promise) { + maybePromise.suppressUnhandledRejections(); + } + } + + if (!value.isRejected()) { + for (; i < length; ++i) { + var ctx = { + accum: null, + value: values[i], + index: i, + length: length, + array: this + }; + + value = value._then(gotAccum, undefined, undefined, ctx, undefined); + + if ((i & 127) === 0) { + value._setNoAsyncGuarantee(); + } + } + } + + if (this._eachValues !== undefined) { + value = value + ._then(this._eachComplete, undefined, undefined, this, undefined); + } + value._then(completed, completed, undefined, value, this); +}; + +Promise.prototype.reduce = function (fn, initialValue) { + return reduce(this, fn, initialValue, null); +}; + +Promise.reduce = function (promises, fn, initialValue, _each) { + return reduce(promises, fn, initialValue, _each); +}; + +function completed(valueOrReason, array) { + if (this.isFulfilled()) { + array._resolve(valueOrReason); + } else { + array._reject(valueOrReason); + } +} + +function reduce(promises, fn, initialValue, _each) { + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + var array = new ReductionPromiseArray(promises, fn, initialValue, _each); + return array.promise(); +} + +function gotAccum(accum) { + this.accum = accum; + this.array._gotAccum(accum); + var value = tryConvertToPromise(this.value, this.array._promise); + if (value instanceof Promise) { + this.array._currentCancellable = value; + return value._then(gotValue, undefined, undefined, this, undefined); + } else { + return gotValue.call(this, value); + } +} + +function gotValue(value) { + var array = this.array; + var promise = array._promise; + var fn = tryCatch(array._fn); + promise._pushContext(); + var ret; + if (array._eachValues !== undefined) { + ret = fn.call(promise._boundValue(), value, this.index, this.length); + } else { + ret = fn.call(promise._boundValue(), + this.accum, value, this.index, this.length); + } + if (ret instanceof Promise) { + array._currentCancellable = ret; + } + var promiseCreated = promise._popContext(); + debug.checkForgottenReturns( + ret, + promiseCreated, + array._eachValues !== undefined ? "Promise.each" : "Promise.reduce", + promise + ); + return ret; +} +}; + + +/***/ }), +/* 364 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +var length = /*#__PURE__*/__webpack_require__(262); + +var slice = /*#__PURE__*/__webpack_require__(232); /** - * A function wrapping calls to the two functions in an `||` operation, - * returning the result of the first function if it is truth-y and the result - * of the second function otherwise. Note that this is short-circuited, - * meaning that the second function will not be invoked if the first returns a - * truth-y value. - * - * In addition to functions, `R.either` also accepts any fantasy-land compatible - * applicative functor. + * Splits a given list or string at a given index. * * @func * @memberOf R - * @since v0.12.0 - * @category Logic - * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean) - * @param {Function} f a predicate - * @param {Function} g another predicate - * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together. - * @see R.or + * @since v0.19.0 + * @category List + * @sig Number -> [a] -> [[a], [a]] + * @sig Number -> String -> [String, String] + * @param {Number} index The index where the array/string is split. + * @param {Array|String} array The array/string to be split. + * @return {Array} * @example * - * const gt10 = x => x > 10; - * const even = x => x % 2 === 0; - * const f = R.either(gt10, even); - * f(101); //=> true - * f(8); //=> true - * - * R.either(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(55) - * R.either([false, false, 'a'], [11]) // => [11, 11, "a"] + * R.splitAt(1, [1, 2, 3]); //=> [[1], [2, 3]] + * R.splitAt(5, 'hello world'); //=> ['hello', ' world'] + * R.splitAt(-1, 'foobar'); //=> ['fooba', 'r'] */ -var either = /*#__PURE__*/_curry2(function either(f, g) { - return _isFunction(f) ? function _either() { - return f.apply(this, arguments) || g.apply(this, arguments); - } : lift(or)(f, g); +var splitAt = /*#__PURE__*/_curry2(function splitAt(index, array) { + return [slice(0, index, array), slice(index, length(array), array)]; }); -module.exports = either; +module.exports = splitAt; /***/ }), -/* 332 */ +/* 365 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry1 = /*#__PURE__*/__webpack_require__(721); +var _curry2 = /*#__PURE__*/__webpack_require__(830); -var _identity = /*#__PURE__*/__webpack_require__(909); +var _dispatchable = /*#__PURE__*/__webpack_require__(968); + +var _dropLast = /*#__PURE__*/__webpack_require__(603); + +var _xdropLast = /*#__PURE__*/__webpack_require__(560); /** - * A function that does nothing but return the parameter supplied to it. Good - * as a default or placeholder function. + * Returns a list containing all but the last `n` elements of the given `list`. + * + * Acts as a transducer if a transformer is given in list position. * * @func * @memberOf R - * @since v0.1.0 - * @category Function - * @sig a -> a - * @param {*} x The value to return. - * @return {*} The input value, `x`. + * @since v0.16.0 + * @category List + * @sig Number -> [a] -> [a] + * @sig Number -> String -> String + * @param {Number} n The number of elements of `list` to skip. + * @param {Array} list The list of elements to consider. + * @return {Array} A copy of the list with only the first `list.length - n` elements + * @see R.takeLast, R.drop, R.dropWhile, R.dropLastWhile * @example * - * R.identity(1); //=> 1 - * - * const obj = {}; - * R.identity(obj) === obj; //=> true - * @symb R.identity(a) = a + * R.dropLast(1, ['foo', 'bar', 'baz']); //=> ['foo', 'bar'] + * R.dropLast(2, ['foo', 'bar', 'baz']); //=> ['foo'] + * R.dropLast(3, ['foo', 'bar', 'baz']); //=> [] + * R.dropLast(4, ['foo', 'bar', 'baz']); //=> [] + * R.dropLast(3, 'ramda'); //=> 'ra' */ -var identity = /*#__PURE__*/_curry1(_identity); -module.exports = identity; +var dropLast = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xdropLast, _dropLast)); +module.exports = dropLast; /***/ }), -/* 333 */ +/* 366 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var reduceBy = /*#__PURE__*/__webpack_require__(729); +var buildDistanceInWordsLocale = __webpack_require__(154) +var buildFormatLocale = __webpack_require__(288) /** - * Counts the elements of a list according to how many match each value of a - * key generated by the supplied function. Returns an object mapping the keys - * produced by `fn` to the number of occurrences in the list. Note that all - * keys are coerced to strings because of how JavaScript objects work. + * @category Locales + * @summary English locale. + */ +module.exports = { + distanceInWords: buildDistanceInWordsLocale(), + format: buildFormatLocale() +} + + +/***/ }), +/* 367 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _includesWith = /*#__PURE__*/__webpack_require__(680); + +var _curry3 = /*#__PURE__*/__webpack_require__(687); + +var _filter = /*#__PURE__*/__webpack_require__(599); + +/** + * Takes a predicate `pred`, a list `xs`, and a list `ys`, and returns a list + * `xs'` comprising each of the elements of `xs` which is equal to one or more + * elements of `ys` according to `pred`. * - * Acts as a transducer if a transformer is given in list position. + * `pred` must be a binary function expecting an element from each list. + * + * `xs`, `ys`, and `xs'` are treated as sets, semantically, so ordering should + * not be significant, but since `xs'` is ordered the implementation guarantees + * that its values are in the same order as they appear in `xs`. Duplicates are + * not removed, so `xs'` may contain duplicates if `xs` contains duplicates. * * @func * @memberOf R - * @since v0.1.0 + * @since v0.24.0 * @category Relation - * @sig (a -> String) -> [a] -> {*} - * @param {Function} fn The function used to map values to keys. - * @param {Array} list The list to count elements from. - * @return {Object} An object mapping keys to number of occurrences in the list. + * @sig ((a, b) -> Boolean) -> [a] -> [b] -> [a] + * @param {Function} pred + * @param {Array} xs + * @param {Array} ys + * @return {Array} + * @see R.intersection * @example * - * const numbers = [1.0, 1.1, 1.2, 2.0, 3.0, 2.2]; - * R.countBy(Math.floor)(numbers); //=> {'1': 3, '2': 2, '3': 1} - * - * const letters = ['a', 'b', 'A', 'a', 'B', 'c']; - * R.countBy(R.toLower)(letters); //=> {'a': 3, 'b': 2, 'c': 1} + * R.innerJoin( + * (record, id) => record.id === id, + * [{id: 824, name: 'Richie Furay'}, + * {id: 956, name: 'Dewey Martin'}, + * {id: 313, name: 'Bruce Palmer'}, + * {id: 456, name: 'Stephen Stills'}, + * {id: 177, name: 'Neil Young'}], + * [177, 456, 999] + * ); + * //=> [{id: 456, name: 'Stephen Stills'}, {id: 177, name: 'Neil Young'}] */ -var countBy = /*#__PURE__*/reduceBy(function (acc, elem) { - return acc + 1; -}, 0); -module.exports = countBy; +var innerJoin = /*#__PURE__*/_curry3(function innerJoin(pred, xs, ys) { + return _filter(function (x) { + return _includesWith(pred, x, ys); + }, xs); +}); +module.exports = innerJoin; /***/ }), -/* 334 */, -/* 335 */ +/* 368 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var differenceInMonths = __webpack_require__(872) +var filter = /*#__PURE__*/__webpack_require__(80); + +var juxt = /*#__PURE__*/__webpack_require__(314); + +var reject = /*#__PURE__*/__webpack_require__(92); /** - * @category Quarter Helpers - * @summary Get the number of full quarters between the given dates. + * Takes a predicate and a list or other `Filterable` object and returns the + * pair of filterable objects of the same type of elements which do and do not + * satisfy, the predicate, respectively. Filterable objects include plain objects or any object + * that has a filter method such as `Array`. * - * @description - * Get the number of full quarters between the given dates. + * @func + * @memberOf R + * @since v0.1.4 + * @category List + * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a] + * @param {Function} pred A predicate to determine which side the element belongs to. + * @param {Array} filterable the list (or other filterable) to partition. + * @return {Array} An array, containing first the subset of elements that satisfy the + * predicate, and second the subset of elements that do not satisfy. + * @see R.filter, R.reject + * @example * - * @param {Date|String|Number} dateLeft - the later date - * @param {Date|String|Number} dateRight - the earlier date - * @returns {Number} the number of full quarters + * R.partition(R.includes('s'), ['sss', 'ttt', 'foo', 'bars']); + * // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ] * - * @example - * // How many full quarters are between 31 December 2013 and 2 July 2014? - * var result = differenceInQuarters( - * new Date(2014, 6, 2), - * new Date(2013, 11, 31) - * ) - * //=> 2 + * R.partition(R.includes('s'), { a: 'sss', b: 'ttt', foo: 'bars' }); + * // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ] */ -function differenceInQuarters (dirtyDateLeft, dirtyDateRight) { - var diff = differenceInMonths(dirtyDateLeft, dirtyDateRight) / 3 - return diff > 0 ? Math.floor(diff) : Math.ceil(diff) -} -module.exports = differenceInQuarters +var partition = /*#__PURE__*/juxt([filter, reject]); +module.exports = partition; /***/ }), -/* 336 */, -/* 337 */ +/* 369 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +const R = __webpack_require__(61); + +const pathGetter = R.compose(R.path, R.split('.')); + +const pathGetterOrDefault = (path, d, obj) => + R.pipe(R.split('.'), R.pathOr(d))(path)(obj); + +const get = R.curry((path, obj) => pathGetter(path)(obj)); +const getOrDefault = R.curryN(3, pathGetterOrDefault); + +const strReplaceAll = R.curry((search, replacement, str) => + R.replace(new RegExp(search, 'g'), replacement, str) +); + +const isNilOrEmpty = R.either(R.isNil, R.isEmpty); + +/** + * Like R.indexBy, but acceps extra transformer function to transform the + * value for the given key. + */ +const indexByWith = R.curry((keygenFunc, fn, items) => + R.reduce( + (acc, item) => { + acc[keygenFunc(item)] = fn(item); + return acc; + }, + {}, + items + ) +); + +const findMaxBy = R.curry((path, arr) => + R.pipe(R.reduce((acc, x) => (path(acc) > path(x) ? acc : x), {}))(arr) +); + +/* Updates item in a list found using given predicate. */ +const updateBy = R.curry((func, value, target) => + R.update(R.findIndex(func, target), value, target) +); + +/* Generic memoize funciton that works for any number of arguments */ +const memoize = R.memoizeWith((...args) => R.toString(args)); + +// like R.any, but return false for empty lists +const includesAny = R.curry((predicate, list) => + !isNilOrEmpty(list) ? R.any(predicate, list) : false +); + +module.exports = { + get, + getOrDefault, + strReplaceAll, + isNilOrEmpty, + indexByWith, + memoize, + findMaxBy, + updateBy, + includesAny, +}; + + +/***/ }), +/* 370 */, +/* 371 */ /***/ (function(module, __unusedexports, __webpack_require__) { var parse = __webpack_require__(751) /** - * @category Year Helpers - * @summary Is the given date in the leap year? + * @category Hour Helpers + * @summary Return the start of an hour for the given date. * * @description - * Is the given date in the leap year? + * Return the start of an hour for the given date. + * The result will be in the local timezone. * - * @param {Date|String|Number} date - the date to check - * @returns {Boolean} the date is in the leap year + * @param {Date|String|Number} date - the original date + * @returns {Date} the start of an hour * * @example - * // Is 1 September 2012 in the leap year? - * var result = isLeapYear(new Date(2012, 8, 1)) - * //=> true + * // The start of an hour for 2 September 2014 11:55:00: + * var result = startOfHour(new Date(2014, 8, 2, 11, 55)) + * //=> Tue Sep 02 2014 11:00:00 */ -function isLeapYear (dirtyDate) { +function startOfHour (dirtyDate) { var date = parse(dirtyDate) - var year = date.getFullYear() - return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0 + date.setMinutes(0, 0, 0) + return date } -module.exports = isLeapYear +module.exports = startOfHour /***/ }), -/* 338 */ +/* 372 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var startOfISOYear = __webpack_require__(712) +var parse = __webpack_require__(751) /** - * @category ISO Week-Numbering Year Helpers - * @summary Are the given dates in the same ISO week-numbering year? + * @category Range Helpers + * @summary Is the given date range overlapping with another date range? * * @description - * Are the given dates in the same ISO week-numbering year? - * - * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * Is the given date range overlapping with another date range? * - * @param {Date|String|Number} dateLeft - the first date to check - * @param {Date|String|Number} dateRight - the second date to check - * @returns {Boolean} the dates are in the same ISO week-numbering year + * @param {Date|String|Number} initialRangeStartDate - the start of the initial range + * @param {Date|String|Number} initialRangeEndDate - the end of the initial range + * @param {Date|String|Number} comparedRangeStartDate - the start of the range to compare it with + * @param {Date|String|Number} comparedRangeEndDate - the end of the range to compare it with + * @returns {Boolean} whether the date ranges are overlapping + * @throws {Error} startDate of a date range cannot be after its endDate * * @example - * // Are 29 December 2003 and 2 January 2005 in the same ISO week-numbering year? - * var result = isSameISOYear( - * new Date(2003, 11, 29), - * new Date(2005, 0, 2) + * // For overlapping date ranges: + * areRangesOverlapping( + * new Date(2014, 0, 10), new Date(2014, 0, 20), new Date(2014, 0, 17), new Date(2014, 0, 21) * ) * //=> true - */ -function isSameISOYear (dirtyDateLeft, dirtyDateRight) { - var dateLeftStartOfYear = startOfISOYear(dirtyDateLeft) - var dateRightStartOfYear = startOfISOYear(dirtyDateRight) - - return dateLeftStartOfYear.getTime() === dateRightStartOfYear.getTime() -} - -module.exports = isSameISOYear - - -/***/ }), -/* 339 */, -/* 340 */ -/***/ (function(module) { - -/** - * Private `concat` function to merge two array-like objects. * - * @private - * @param {Array|Arguments} [set1=[]] An array-like object. - * @param {Array|Arguments} [set2=[]] An array-like object. - * @return {Array} A new, merged array. * @example - * - * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3] + * // For non-overlapping date ranges: + * areRangesOverlapping( + * new Date(2014, 0, 10), new Date(2014, 0, 20), new Date(2014, 0, 21), new Date(2014, 0, 22) + * ) + * //=> false */ -function _concat(set1, set2) { - set1 = set1 || []; - set2 = set2 || []; - var idx; - var len1 = set1.length; - var len2 = set2.length; - var result = []; +function areRangesOverlapping (dirtyInitialRangeStartDate, dirtyInitialRangeEndDate, dirtyComparedRangeStartDate, dirtyComparedRangeEndDate) { + var initialStartTime = parse(dirtyInitialRangeStartDate).getTime() + var initialEndTime = parse(dirtyInitialRangeEndDate).getTime() + var comparedStartTime = parse(dirtyComparedRangeStartDate).getTime() + var comparedEndTime = parse(dirtyComparedRangeEndDate).getTime() - idx = 0; - while (idx < len1) { - result[result.length] = set1[idx]; - idx += 1; - } - idx = 0; - while (idx < len2) { - result[result.length] = set2[idx]; - idx += 1; + if (initialStartTime > initialEndTime || comparedStartTime > comparedEndTime) { + throw new Error('The start of the range cannot be after the end of the range') } - return result; -} -module.exports = _concat; - -/***/ }), -/* 341 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -var util = __webpack_require__(248); -var maybeWrapAsError = util.maybeWrapAsError; -var errors = __webpack_require__(607); -var OperationalError = errors.OperationalError; -var es5 = __webpack_require__(883); -function isUntypedError(obj) { - return obj instanceof Error && - es5.getPrototypeOf(obj) === Error.prototype; -} - -var rErrorKey = /^(?:name|message|stack|cause)$/; -function wrapAsOperationalError(obj) { - var ret; - if (isUntypedError(obj)) { - ret = new OperationalError(obj); - ret.name = obj.name; - ret.message = obj.message; - ret.stack = obj.stack; - var keys = es5.keys(obj); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (!rErrorKey.test(key)) { - ret[key] = obj[key]; - } - } - return ret; - } - util.markAsOriginatingFromRejection(obj); - return obj; -} - -function nodebackForPromise(promise, multiArgs) { - return function(err, value) { - if (promise === null) return; - if (err) { - var wrapped = wrapAsOperationalError(maybeWrapAsError(err)); - promise._attachExtraTrace(wrapped); - promise._reject(wrapped); - } else if (!multiArgs) { - promise._fulfill(value); - } else { - var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];}; - promise._fulfill(args); - } - promise = null; - }; + return initialStartTime < comparedEndTime && comparedStartTime < initialEndTime } -module.exports = nodebackForPromise; +module.exports = areRangesOverlapping /***/ }), -/* 342 */, -/* 343 */ +/* 373 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var addWeeks = __webpack_require__(590) +var parse = __webpack_require__(751) /** - * @category Week Helpers - * @summary Subtract the specified number of weeks from the given date. + * @category Millisecond Helpers + * @summary Add the specified number of milliseconds to the given date. * * @description - * Subtract the specified number of weeks from the given date. + * Add the specified number of milliseconds to the given date. * * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of weeks to be subtracted - * @returns {Date} the new date with the weeks subtracted + * @param {Number} amount - the amount of milliseconds to be added + * @returns {Date} the new date with the milliseconds added * * @example - * // Subtract 4 weeks from 1 September 2014: - * var result = subWeeks(new Date(2014, 8, 1), 4) - * //=> Mon Aug 04 2014 00:00:00 + * // Add 750 milliseconds to 10 July 2014 12:45:30.000: + * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750) + * //=> Thu Jul 10 2014 12:45:30.750 */ -function subWeeks (dirtyDate, dirtyAmount) { +function addMilliseconds (dirtyDate, dirtyAmount) { + var timestamp = parse(dirtyDate).getTime() var amount = Number(dirtyAmount) - return addWeeks(dirtyDate, -amount) + return new Date(timestamp + amount) } -module.exports = subWeeks +module.exports = addMilliseconds /***/ }), -/* 344 */ +/* 374 */, +/* 375 */, +/* 376 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) +var _map = /*#__PURE__*/__webpack_require__(626); + +var identity = /*#__PURE__*/__webpack_require__(534); + +var pickAll = /*#__PURE__*/__webpack_require__(362); + +var useWith = /*#__PURE__*/__webpack_require__(467); /** - * @category Quarter Helpers - * @summary Return the end of a year quarter for the given date. - * - * @description - * Return the end of a year quarter for the given date. - * The result will be in the local timezone. - * - * @param {Date|String|Number} date - the original date - * @returns {Date} the end of a quarter + * Reasonable analog to SQL `select` statement. * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @category Relation + * @sig [k] -> [{k: v}] -> [{k: v}] + * @param {Array} props The property names to project + * @param {Array} objs The objects to query + * @return {Array} An array of objects with just the `props` properties. * @example - * // The end of a quarter for 2 September 2014 11:55:00: - * var result = endOfQuarter(new Date(2014, 8, 2, 11, 55, 0)) - * //=> Tue Sep 30 2014 23:59:59.999 + * + * const abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2}; + * const fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7}; + * const kids = [abby, fred]; + * R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}] */ -function endOfQuarter (dirtyDate) { - var date = parse(dirtyDate) - var currentMonth = date.getMonth() - var month = currentMonth - currentMonth % 3 + 3 - date.setMonth(month, 0) - date.setHours(23, 59, 59, 999) - return date -} -module.exports = endOfQuarter +var project = /*#__PURE__*/useWith(_map, [pickAll, identity]); // passing `identity` gives correct arity +module.exports = project; /***/ }), -/* 345 */, -/* 346 */ +/* 377 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry1 = /*#__PURE__*/__webpack_require__(721); - -var empty = /*#__PURE__*/__webpack_require__(235); - -var equals = /*#__PURE__*/__webpack_require__(701); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** - * Returns `true` if the given value is its type's empty value; `false` - * otherwise. + * Makes a descending comparator function out of a function that returns a value + * that can be compared with `<` and `>`. * * @func * @memberOf R - * @since v0.1.0 - * @category Logic - * @sig a -> Boolean - * @param {*} x - * @return {Boolean} - * @see R.empty + * @since v0.23.0 + * @category Function + * @sig Ord b => (a -> b) -> a -> a -> Number + * @param {Function} fn A function of arity one that returns a value that can be compared + * @param {*} a The first item to be compared. + * @param {*} b The second item to be compared. + * @return {Number} `-1` if fn(a) > fn(b), `1` if fn(b) > fn(a), otherwise `0` + * @see R.ascend * @example * - * R.isEmpty([1, 2, 3]); //=> false - * R.isEmpty([]); //=> true - * R.isEmpty(''); //=> true - * R.isEmpty(null); //=> false - * R.isEmpty({}); //=> true - * R.isEmpty({length: 0}); //=> false + * const byAge = R.descend(R.prop('age')); + * const people = [ + * { name: 'Emma', age: 70 }, + * { name: 'Peter', age: 78 }, + * { name: 'Mikhail', age: 62 }, + * ]; + * const peopleByOldestFirst = R.sort(byAge, people); + * //=> [{ name: 'Peter', age: 78 }, { name: 'Emma', age: 70 }, { name: 'Mikhail', age: 62 }] */ -var isEmpty = /*#__PURE__*/_curry1(function isEmpty(x) { - return x != null && equals(x, empty(x)); +var descend = /*#__PURE__*/_curry3(function descend(fn, a, b) { + var aa = fn(a); + var bb = fn(b); + return aa > bb ? -1 : aa < bb ? 1 : 0; }); -module.exports = isEmpty; - -/***/ }), -/* 347 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _forceReduced = /*#__PURE__*/__webpack_require__(439); - -var _isArrayLike = /*#__PURE__*/__webpack_require__(577); - -var _reduce = /*#__PURE__*/__webpack_require__(870); - -var _xfBase = /*#__PURE__*/__webpack_require__(60); - -var preservingReduced = function (xf) { - return { - '@@transducer/init': _xfBase.init, - '@@transducer/result': function (result) { - return xf['@@transducer/result'](result); - }, - '@@transducer/step': function (result, input) { - var ret = xf['@@transducer/step'](result, input); - return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret; - } - }; -}; - -var _flatCat = function _xcat(xf) { - var rxf = preservingReduced(xf); - return { - '@@transducer/init': _xfBase.init, - '@@transducer/result': function (result) { - return rxf['@@transducer/result'](result); - }, - '@@transducer/step': function (result, input) { - return !_isArrayLike(input) ? _reduce(rxf, result, [input]) : _reduce(rxf, result, input); - } - }; -}; - -module.exports = _flatCat; +module.exports = descend; /***/ }), -/* 348 */, -/* 349 */, -/* 350 */ +/* 378 */ /***/ (function(module, __unusedexports, __webpack_require__) { var parse = __webpack_require__(751) /** - * @category Second Helpers - * @summary Return the start of a second for the given date. + * @category Common Helpers + * @summary Return the latest of the given dates. * * @description - * Return the start of a second for the given date. - * The result will be in the local timezone. + * Return the latest of the given dates. * - * @param {Date|String|Number} date - the original date - * @returns {Date} the start of a second + * @param {...(Date|String|Number)} dates - the dates to compare + * @returns {Date} the latest of the dates * * @example - * // The start of a second for 1 December 2014 22:15:45.400: - * var result = startOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400)) - * //=> Mon Dec 01 2014 22:15:45.000 + * // Which of these dates is the latest? + * var result = max( + * new Date(1989, 6, 10), + * new Date(1987, 1, 11), + * new Date(1995, 6, 2), + * new Date(1990, 0, 1) + * ) + * //=> Sun Jul 02 1995 00:00:00 */ -function startOfSecond (dirtyDate) { - var date = parse(dirtyDate) - date.setMilliseconds(0) - return date +function max () { + var dirtyDates = Array.prototype.slice.call(arguments) + var dates = dirtyDates.map(function (dirtyDate) { + return parse(dirtyDate) + }) + var latestTimestamp = Math.max.apply(null, dates) + return new Date(latestTimestamp) } -module.exports = startOfSecond +module.exports = max /***/ }), -/* 351 */, -/* 352 */, -/* 353 */, -/* 354 */, -/* 355 */, -/* 356 */ +/* 379 */, +/* 380 */, +/* 381 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry1 = /*#__PURE__*/__webpack_require__(721); +var parse = __webpack_require__(751) -var ws = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028' + '\u2029\uFEFF'; -var zeroWidth = '\u200b'; -var hasProtoTrim = typeof String.prototype.trim === 'function'; /** - * Removes (strips) whitespace from both ends of the string. + * @category Range Helpers + * @summary Is the given date within the range? + * + * @description + * Is the given date within the range? + * + * @param {Date|String|Number} date - the date to check + * @param {Date|String|Number} startDate - the start of range + * @param {Date|String|Number} endDate - the end of range + * @returns {Boolean} the date is within the range + * @throws {Error} startDate cannot be after endDate * - * @func - * @memberOf R - * @since v0.6.0 - * @category String - * @sig String -> String - * @param {String} str The string to trim. - * @return {String} Trimmed version of `str`. * @example + * // For the date within the range: + * isWithinRange( + * new Date(2014, 0, 3), new Date(2014, 0, 1), new Date(2014, 0, 7) + * ) + * //=> true * - * R.trim(' xyz '); //=> 'xyz' - * R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z'] + * @example + * // For the date outside of the range: + * isWithinRange( + * new Date(2014, 0, 10), new Date(2014, 0, 1), new Date(2014, 0, 7) + * ) + * //=> false */ -var trim = !hasProtoTrim || /*#__PURE__*/ws.trim() || ! /*#__PURE__*/zeroWidth.trim() ? /*#__PURE__*/_curry1(function trim(str) { - var beginRx = new RegExp('^[' + ws + '][' + ws + ']*'); - var endRx = new RegExp('[' + ws + '][' + ws + ']*$'); - return str.replace(beginRx, '').replace(endRx, ''); -}) : /*#__PURE__*/_curry1(function trim(str) { - return str.trim(); -}); -module.exports = trim; +function isWithinRange (dirtyDate, dirtyStartDate, dirtyEndDate) { + var time = parse(dirtyDate).getTime() + var startTime = parse(dirtyStartDate).getTime() + var endTime = parse(dirtyEndDate).getTime() -/***/ }), -/* 357 */ -/***/ (function(module) { + if (startTime > endTime) { + throw new Error('The start of the range cannot be after the end of the range') + } + + return time >= startTime && time <= endTime +} + +module.exports = isWithinRange -module.exports = require("assert"); /***/ }), -/* 358 */, -/* 359 */, -/* 360 */ +/* 382 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var compareDesc = __webpack_require__(786) -var parse = __webpack_require__(751) -var differenceInSeconds = __webpack_require__(861) -var enLocale = __webpack_require__(366) - -var MINUTES_IN_DAY = 1440 -var MINUTES_IN_MONTH = 43200 -var MINUTES_IN_YEAR = 525600 +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** - * @category Common Helpers - * @summary Return the distance between the given dates in words. - * - * @description - * Return the distance between the given dates in words, using strict units. - * This is like `distanceInWords`, but does not use helpers like 'almost', 'over', - * 'less than' and the like. - * - * | Distance between dates | Result | - * |------------------------|---------------------| - * | 0 ... 59 secs | [0..59] seconds | - * | 1 ... 59 mins | [1..59] minutes | - * | 1 ... 23 hrs | [1..23] hours | - * | 1 ... 29 days | [1..29] days | - * | 1 ... 11 months | [1..11] months | - * | 1 ... N years | [1..N] years | - * - * @param {Date|String|Number} dateToCompare - the date to compare with - * @param {Date|String|Number} date - the other date - * @param {Object} [options] - the object with options - * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first - * @param {'s'|'m'|'h'|'d'|'M'|'Y'} [options.unit] - if specified, will force a unit - * @param {'floor'|'ceil'|'round'} [options.partialMethod='floor'] - which way to round partial units - * @param {Object} [options.locale=enLocale] - the locale object - * @returns {String} the distance in words + * Returns a single item by iterating through the list, successively calling + * the iterator function and passing it an accumulator value and the current + * value from the array, and then passing the result to the next call. * - * @example - * // What is the distance between 2 July 2014 and 1 January 2015? - * var result = distanceInWordsStrict( - * new Date(2014, 6, 2), - * new Date(2015, 0, 2) - * ) - * //=> '6 months' + * Similar to [`reduce`](#reduce), except moves through the input list from the + * right to the left. * - * @example - * // What is the distance between 1 January 2015 00:00:15 - * // and 1 January 2015 00:00:00? - * var result = distanceInWordsStrict( - * new Date(2015, 0, 1, 0, 0, 15), - * new Date(2015, 0, 1, 0, 0, 0), - * ) - * //=> '15 seconds' + * The iterator function receives two values: *(value, acc)*, while the arguments' + * order of `reduce`'s iterator function is *(acc, value)*. * - * @example - * // What is the distance from 1 January 2016 - * // to 1 January 2015, with a suffix? - * var result = distanceInWordsStrict( - * new Date(2016, 0, 1), - * new Date(2015, 0, 1), - * {addSuffix: true} - * ) - * //=> '1 year ago' + * Note: `R.reduceRight` does not skip deleted or unassigned indices (sparse + * arrays), unlike the native `Array.prototype.reduceRight` method. For more details + * on this behavior, see: + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#Description * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig ((a, b) -> b) -> b -> [a] -> b + * @param {Function} fn The iterator function. Receives two values, the current element from the array + * and the accumulator. + * @param {*} acc The accumulator value. + * @param {Array} list The list to iterate over. + * @return {*} The final, accumulated value. + * @see R.reduce, R.addIndex * @example - * // What is the distance from 1 January 2016 - * // to 1 January 2015, in minutes? - * var result = distanceInWordsStrict( - * new Date(2016, 0, 1), - * new Date(2015, 0, 1), - * {unit: 'm'} - * ) - * //=> '525600 minutes' * - * @example - * // What is the distance from 1 January 2016 - * // to 28 January 2015, in months, rounded up? - * var result = distanceInWordsStrict( - * new Date(2015, 0, 28), - * new Date(2015, 0, 1), - * {unit: 'M', partialMethod: 'ceil'} - * ) - * //=> '1 month' + * R.reduceRight(R.subtract, 0, [1, 2, 3, 4]) // => (1 - (2 - (3 - (4 - 0)))) = -2 + * // - -2 + * // / \ / \ + * // 1 - 1 3 + * // / \ / \ + * // 2 - ==> 2 -1 + * // / \ / \ + * // 3 - 3 4 + * // / \ / \ + * // 4 0 4 0 * - * @example - * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto? - * var eoLocale = require('date-fns/locale/eo') - * var result = distanceInWordsStrict( - * new Date(2016, 7, 1), - * new Date(2015, 0, 1), - * {locale: eoLocale} - * ) - * //=> '1 jaro' + * @symb R.reduceRight(f, a, [b, c, d]) = f(b, f(c, f(d, a))) */ -function distanceInWordsStrict (dirtyDateToCompare, dirtyDate, dirtyOptions) { - var options = dirtyOptions || {} - var comparison = compareDesc(dirtyDateToCompare, dirtyDate) - var locale = options.locale - var localize = enLocale.distanceInWords.localize - if (locale && locale.distanceInWords && locale.distanceInWords.localize) { - localize = locale.distanceInWords.localize +var reduceRight = /*#__PURE__*/_curry3(function reduceRight(fn, acc, list) { + var idx = list.length - 1; + while (idx >= 0) { + acc = fn(list[idx], acc); + idx -= 1; } + return acc; +}); +module.exports = reduceRight; - var localizeOptions = { - addSuffix: Boolean(options.addSuffix), - comparison: comparison - } - - var dateLeft, dateRight - if (comparison > 0) { - dateLeft = parse(dirtyDateToCompare) - dateRight = parse(dirtyDate) - } else { - dateLeft = parse(dirtyDate) - dateRight = parse(dirtyDateToCompare) - } - - var unit - var mathPartial = Math[options.partialMethod ? String(options.partialMethod) : 'floor'] - var seconds = differenceInSeconds(dateRight, dateLeft) - var offset = dateRight.getTimezoneOffset() - dateLeft.getTimezoneOffset() - var minutes = mathPartial(seconds / 60) - offset - var hours, days, months, years - - if (options.unit) { - unit = String(options.unit) - } else { - if (minutes < 1) { - unit = 's' - } else if (minutes < 60) { - unit = 'm' - } else if (minutes < MINUTES_IN_DAY) { - unit = 'h' - } else if (minutes < MINUTES_IN_MONTH) { - unit = 'd' - } else if (minutes < MINUTES_IN_YEAR) { - unit = 'M' - } else { - unit = 'Y' - } - } - - // 0 up to 60 seconds - if (unit === 's') { - return localize('xSeconds', seconds, localizeOptions) - - // 1 up to 60 mins - } else if (unit === 'm') { - return localize('xMinutes', minutes, localizeOptions) +/***/ }), +/* 383 */, +/* 384 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { - // 1 up to 24 hours - } else if (unit === 'h') { - hours = mathPartial(minutes / 60) - return localize('xHours', hours, localizeOptions) +"use strict"; - // 1 up to 30 days - } else if (unit === 'd') { - days = mathPartial(minutes / MINUTES_IN_DAY) - return localize('xDays', days, localizeOptions) - // 1 up to 12 months - } else if (unit === 'M') { - months = mathPartial(minutes / MINUTES_IN_MONTH) - return localize('xMonths', months, localizeOptions) +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; - // 1 year up to max Date - } else if (unit === 'Y') { - years = mathPartial(minutes / MINUTES_IN_YEAR) - return localize('xYears', years, localizeOptions) - } +var _v = _interopRequireDefault(__webpack_require__(212)); - throw new Error('Unknown unit: ' + unit) -} +var _sha = _interopRequireDefault(__webpack_require__(498)); -module.exports = distanceInWordsStrict +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +const v5 = (0, _v.default)('v5', 0x50, _sha.default); +var _default = v5; +exports.default = _default; /***/ }), -/* 361 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/* 385 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; -var cr = Object.create; -if (cr) { - var callerCache = cr(null); - var getterCache = cr(null); - callerCache[" size"] = getterCache[" size"] = 0; -} - -module.exports = function(Promise) { -var util = __webpack_require__(248); -var canEvaluate = util.canEvaluate; -var isIdentifier = util.isIdentifier; - -var getMethodCaller; -var getGetter; -if (true) { -var makeMethodCaller = function (methodName) { - return new Function("ensureMethod", " \n\ - return function(obj) { \n\ - 'use strict' \n\ - var len = this.length; \n\ - ensureMethod(obj, 'methodName'); \n\ - switch(len) { \n\ - case 1: return obj.methodName(this[0]); \n\ - case 2: return obj.methodName(this[0], this[1]); \n\ - case 3: return obj.methodName(this[0], this[1], this[2]); \n\ - case 0: return obj.methodName(); \n\ - default: \n\ - return obj.methodName.apply(obj, this); \n\ - } \n\ - }; \n\ - ".replace(/methodName/g, methodName))(ensureMethod); -}; -var makeGetter = function (propertyName) { - return new Function("obj", " \n\ - 'use strict'; \n\ - return obj.propertyName; \n\ - ".replace("propertyName", propertyName)); -}; +Object.defineProperty(exports, '__esModule', { value: true }); -var getCompiled = function(name, compiler, cache) { - var ret = cache[name]; - if (typeof ret !== "function") { - if (!isIdentifier(name)) { - return null; - } - ret = compiler(name); - cache[name] = ret; - cache[" size"]++; - if (cache[" size"] > 512) { - var keys = Object.keys(cache); - for (var i = 0; i < 256; ++i) delete cache[keys[i]]; - cache[" size"] = keys.length - 256; - } - } - return ret; -}; +var isPlainObject = __webpack_require__(356); +var universalUserAgent = __webpack_require__(796); -getMethodCaller = function(name) { - return getCompiled(name, makeMethodCaller, callerCache); -}; +function lowercaseKeys(object) { + if (!object) { + return {}; + } -getGetter = function(name) { - return getCompiled(name, makeGetter, getterCache); -}; + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); } -function ensureMethod(obj, methodName) { - var fn; - if (obj != null) fn = obj[methodName]; - if (typeof fn !== "function") { - var message = "Object " + util.classString(obj) + " has no method '" + - util.toString(methodName) + "'"; - throw new Promise.TypeError(message); +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach(key => { + if (isPlainObject.isPlainObject(options[key])) { + if (!(key in defaults)) Object.assign(result, { + [key]: options[key] + });else result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { + [key]: options[key] + }); } - return fn; + }); + return result; } -function caller(obj) { - var methodName = this.pop(); - var fn = ensureMethod(obj, methodName); - return fn.apply(obj, this); -} -Promise.prototype.call = function (methodName) { - var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];}; - if (true) { - if (canEvaluate) { - var maybeCaller = getMethodCaller(methodName); - if (maybeCaller !== null) { - return this._then( - maybeCaller, undefined, undefined, args, undefined); - } - } +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; } - args.push(methodName); - return this._then(caller, undefined, undefined, args, undefined); -}; + } -function namedGetter(obj) { - return obj[this]; -} -function indexedGetter(obj) { - var index = +this; - if (index < 0) index = Math.max(0, index + obj.length); - return obj[index]; + return obj; } -Promise.prototype.get = function (propertyName) { - var isIndex = (typeof propertyName === "number"); - var getter; - if (!isIndex) { - if (canEvaluate) { - var maybeGetter = getGetter(propertyName); - getter = maybeGetter !== null ? maybeGetter : namedGetter; - } else { - getter = namedGetter; - } - } else { - getter = indexedGetter; - } - return this._then(getter, undefined, undefined, propertyName, undefined); -}; -}; - -/***/ }), -/* 362 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { + method, + url + } : { + url: method + }, options); + } else { + options = Object.assign({}, route); + } // lowercase header names before merging with defaults to avoid duplicates -var _curry2 = /*#__PURE__*/__webpack_require__(830); -/** - * Similar to `pick` except that this one includes a `key: undefined` pair for - * properties that don't exist. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig [k] -> {k: v} -> {k: v} - * @param {Array} names an array of String property names to copy onto a new object - * @param {Object} obj The object to copy from - * @return {Object} A new object with only properties from `names` on it. - * @see R.pick - * @example - * - * R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4} - * R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined} - */ + options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten -var pickAll = /*#__PURE__*/_curry2(function pickAll(names, obj) { - var result = {}; - var idx = 0; - var len = names.length; - while (idx < len) { - var name = names[idx]; - result[name] = obj[name]; - idx += 1; + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); } - return result; -}); -module.exports = pickAll; -/***/ }), -/* 363 */ -/***/ (function(module) { + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); + return mergedOptions; +} -module.exports = register +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); -function register (state, name, method, options) { - if (typeof method !== 'function') { - throw new Error('method for before hook must be a function') + if (names.length === 0) { + return url; } - if (!options) { - options = {} - } + return url + separator + names.map(name => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } - if (Array.isArray(name)) { - return name.reverse().reduce(function (callback, name) { - return register.bind(null, state, name, callback, options) - }, method)() - } + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} - return Promise.resolve() - .then(function () { - if (!state.registry[name]) { - return method(options) - } +const urlVariableRegex = /\{[^}]+\}/g; - return (state.registry[name]).reduce(function (method, registered) { - return registered.hook.bind(null, method, options) - }, method)() - }) +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); } +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); -/***/ }), -/* 364 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + if (!matches) { + return []; + } -var _curry2 = /*#__PURE__*/__webpack_require__(830); + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} -var length = /*#__PURE__*/__webpack_require__(262); +function omit(object, keysToOmit) { + return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} -var slice = /*#__PURE__*/__webpack_require__(232); +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -/** - * Splits a given list or string at a given index. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig Number -> [a] -> [[a], [a]] - * @sig Number -> String -> [String, String] - * @param {Number} index The index where the array/string is split. - * @param {Array|String} array The array/string to be split. - * @return {Array} - * @example - * - * R.splitAt(1, [1, 2, 3]); //=> [[1], [2, 3]] - * R.splitAt(5, 'hello world'); //=> ['hello', ' world'] - * R.splitAt(-1, 'foobar'); //=> ['fooba', 'r'] - */ +/* istanbul ignore file */ +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }).join(""); +} -var splitAt = /*#__PURE__*/_curry2(function splitAt(index, array) { - return [slice(0, index, array), slice(index, length(array), array)]; -}); -module.exports = splitAt; +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} -/***/ }), -/* 365 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); -var _curry2 = /*#__PURE__*/__webpack_require__(830); + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} -var _dispatchable = /*#__PURE__*/__webpack_require__(968); +function isDefined(value) { + return value !== undefined && value !== null; +} -var _dropLast = /*#__PURE__*/__webpack_require__(603); +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} -var _xdropLast = /*#__PURE__*/__webpack_require__(560); +function getValues(context, operator, key, modifier) { + var value = context[key], + result = []; -/** - * Returns a list containing all but the last `n` elements of the given `list`. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig Number -> [a] -> [a] - * @sig Number -> String -> String - * @param {Number} n The number of elements of `list` to skip. - * @param {Array} list The list of elements to consider. - * @return {Array} A copy of the list with only the first `list.length - n` elements - * @see R.takeLast, R.drop, R.dropWhile, R.dropLastWhile - * @example - * - * R.dropLast(1, ['foo', 'bar', 'baz']); //=> ['foo', 'bar'] - * R.dropLast(2, ['foo', 'bar', 'baz']); //=> ['foo'] - * R.dropLast(3, ['foo', 'bar', 'baz']); //=> [] - * R.dropLast(4, ['foo', 'bar', 'baz']); //=> [] - * R.dropLast(3, 'ramda'); //=> 'ra' - */ + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } -var dropLast = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xdropLast, _dropLast)); -module.exports = dropLast; + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; -/***/ }), -/* 366 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } -var buildDistanceInWordsLocale = __webpack_require__(175) -var buildFormatLocale = __webpack_require__(288) + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } -/** - * @category Locales - * @summary English locale. - */ -module.exports = { - distanceInWords: buildDistanceInWordsLocale(), - format: buildFormatLocale() + return result; } +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} -/***/ }), -/* 367 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; -var _includesWith = /*#__PURE__*/__webpack_require__(680); + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } -var _curry3 = /*#__PURE__*/__webpack_require__(78); + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); -var _filter = /*#__PURE__*/__webpack_require__(695); - -/** - * Takes a predicate `pred`, a list `xs`, and a list `ys`, and returns a list - * `xs'` comprising each of the elements of `xs` which is equal to one or more - * elements of `ys` according to `pred`. - * - * `pred` must be a binary function expecting an element from each list. - * - * `xs`, `ys`, and `xs'` are treated as sets, semantically, so ordering should - * not be significant, but since `xs'` is ordered the implementation guarantees - * that its values are in the same order as they appear in `xs`. Duplicates are - * not removed, so `xs'` may contain duplicates if `xs` contains duplicates. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category Relation - * @sig ((a, b) -> Boolean) -> [a] -> [b] -> [a] - * @param {Function} pred - * @param {Array} xs - * @param {Array} ys - * @return {Array} - * @see R.intersection - * @example - * - * R.innerJoin( - * (record, id) => record.id === id, - * [{id: 824, name: 'Richie Furay'}, - * {id: 956, name: 'Dewey Martin'}, - * {id: 313, name: 'Bruce Palmer'}, - * {id: 456, name: 'Stephen Stills'}, - * {id: 177, name: 'Neil Young'}], - * [177, 456, 999] - * ); - * //=> [{id: 456, name: 'Stephen Stills'}, {id: 177, name: 'Neil Young'}] - */ + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } -var innerJoin = /*#__PURE__*/_curry3(function innerJoin(pred, xs, ys) { - return _filter(function (x) { - return _includesWith(pred, x, ys); - }, xs); -}); -module.exports = innerJoin; + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + }); +} -/***/ }), -/* 368 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible -var filter = /*#__PURE__*/__webpack_require__(80); + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later -var juxt = /*#__PURE__*/__webpack_require__(314); + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); -var reject = /*#__PURE__*/__webpack_require__(92); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } -/** - * Takes a predicate and a list or other `Filterable` object and returns the - * pair of filterable objects of the same type of elements which do and do not - * satisfy, the predicate, respectively. Filterable objects include plain objects or any object - * that has a filter method such as `Array`. - * - * @func - * @memberOf R - * @since v0.1.4 - * @category List - * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a] - * @param {Function} pred A predicate to determine which side the element belongs to. - * @param {Array} filterable the list (or other filterable) to partition. - * @return {Array} An array, containing first the subset of elements that satisfy the - * predicate, and second the subset of elements that do not satisfy. - * @see R.filter, R.reject - * @example - * - * R.partition(R.includes('s'), ['sss', 'ttt', 'foo', 'bars']); - * // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ] - * - * R.partition(R.includes('s'), { a: 'sss', b: 'ttt', foo: 'bars' }); - * // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ] - */ + const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); + } -var partition = /*#__PURE__*/juxt([filter, reject]); -module.exports = partition; + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters -/***/ }), -/* 369 */ -/***/ (function(module) { -module.exports = [["0","\u0000",127,"€"],["8140","丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",5,"乲乴",9,"乿",6,"亇亊"],["8180","亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂",6,"伋伌伒",4,"伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾",4,"佄佅佇",5,"佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢"],["8240","侤侫侭侰",4,"侶",8,"俀俁係俆俇俈俉俋俌俍俒",4,"俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿",11],["8280","個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯",10,"倻倽倿偀偁偂偄偅偆偉偊偋偍偐",4,"偖偗偘偙偛偝",7,"偦",5,"偭",8,"偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎",20,"傤傦傪傫傭",4,"傳",6,"傼"],["8340","傽",17,"僐",5,"僗僘僙僛",10,"僨僩僪僫僯僰僱僲僴僶",4,"僼",9,"儈"],["8380","儉儊儌",5,"儓",13,"儢",28,"兂兇兊兌兎兏児兒兓兗兘兙兛兝",4,"兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦",4,"冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒",5],["8440","凘凙凚凜凞凟凢凣凥",5,"凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄",5,"剋剎剏剒剓剕剗剘"],["8480","剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳",9,"剾劀劃",4,"劉",6,"劑劒劔",6,"劜劤劥劦劧劮劯劰労",9,"勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務",5,"勠勡勢勣勥",10,"勱",7,"勻勼勽匁匂匃匄匇匉匊匋匌匎"],["8540","匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯",9,"匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏"],["8580","厐",4,"厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯",6,"厷厸厹厺厼厽厾叀參",4,"収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝",4,"呣呥呧呩",7,"呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡"],["8640","咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠",4,"哫哬哯哰哱哴",5,"哻哾唀唂唃唄唅唈唊",4,"唒唓唕",5,"唜唝唞唟唡唥唦"],["8680","唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋",4,"啑啒啓啔啗",4,"啝啞啟啠啢啣啨啩啫啯",5,"啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠",6,"喨",8,"喲喴営喸喺喼喿",4,"嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗",4,"嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸",4,"嗿嘂嘃嘄嘅"],["8740","嘆嘇嘊嘋嘍嘐",7,"嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀",11,"噏",4,"噕噖噚噛噝",4],["8780","噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽",7,"嚇",6,"嚐嚑嚒嚔",14,"嚤",10,"嚰",6,"嚸嚹嚺嚻嚽",12,"囋",8,"囕囖囘囙囜団囥",5,"囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國",6],["8840","園",9,"圝圞圠圡圢圤圥圦圧圫圱圲圴",4,"圼圽圿坁坃坄坅坆坈坉坋坒",4,"坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀"],["8880","垁垇垈垉垊垍",4,"垔",6,"垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹",8,"埄",6,"埌埍埐埑埓埖埗埛埜埞埡埢埣埥",7,"埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥",4,"堫",4,"報堲堳場堶",7],["8940","堾",5,"塅",6,"塎塏塐塒塓塕塖塗塙",4,"塟",5,"塦",4,"塭",16,"塿墂墄墆墇墈墊墋墌"],["8980","墍",4,"墔",4,"墛墜墝墠",7,"墪",17,"墽墾墿壀壂壃壄壆",10,"壒壓壔壖",13,"壥",5,"壭壯壱売壴壵壷壸壺",7,"夃夅夆夈",4,"夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻"],["8a40","夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛",4,"奡奣奤奦",12,"奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦"],["8a80","妧妬妭妰妱妳",5,"妺妼妽妿",6,"姇姈姉姌姍姎姏姕姖姙姛姞",4,"姤姦姧姩姪姫姭",11,"姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪",6,"娳娵娷",4,"娽娾娿婁",4,"婇婈婋",9,"婖婗婘婙婛",5],["8b40","婡婣婤婥婦婨婩婫",8,"婸婹婻婼婽婾媀",17,"媓",6,"媜",13,"媫媬"],["8b80","媭",4,"媴媶媷媹",4,"媿嫀嫃",5,"嫊嫋嫍",4,"嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬",4,"嫲",22,"嬊",11,"嬘",25,"嬳嬵嬶嬸",7,"孁",6],["8c40","孈",7,"孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏"],["8c80","寑寔",8,"寠寢寣實寧審",4,"寯寱",6,"寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧",6,"屰屲",6,"屻屼屽屾岀岃",4,"岉岊岋岎岏岒岓岕岝",4,"岤",4],["8d40","岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅",5,"峌",5,"峓",5,"峚",6,"峢峣峧峩峫峬峮峯峱",9,"峼",4],["8d80","崁崄崅崈",5,"崏",4,"崕崗崘崙崚崜崝崟",4,"崥崨崪崫崬崯",4,"崵",7,"崿",7,"嵈嵉嵍",10,"嵙嵚嵜嵞",10,"嵪嵭嵮嵰嵱嵲嵳嵵",12,"嶃",21,"嶚嶛嶜嶞嶟嶠"],["8e40","嶡",21,"嶸",12,"巆",6,"巎",12,"巜巟巠巣巤巪巬巭"],["8e80","巰巵巶巸",4,"巿帀帄帇帉帊帋帍帎帒帓帗帞",7,"帨",4,"帯帰帲",4,"帹帺帾帿幀幁幃幆",5,"幍",6,"幖",4,"幜幝幟幠幣",14,"幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨",4,"庮",4,"庴庺庻庼庽庿",6],["8f40","廆廇廈廋",5,"廔廕廗廘廙廚廜",11,"廩廫",8,"廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤"],["8f80","弨弫弬弮弰弲",6,"弻弽弾弿彁",14,"彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢",5,"復徫徬徯",5,"徶徸徹徺徻徾",4,"忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇"],["9040","怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰",4,"怶",4,"怽怾恀恄",6,"恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀"],["9080","悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽",7,"惇惈惉惌",4,"惒惓惔惖惗惙惛惞惡",4,"惪惱惲惵惷惸惻",4,"愂愃愄愅愇愊愋愌愐",4,"愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬",18,"慀",6],["9140","慇慉態慍慏慐慒慓慔慖",6,"慞慟慠慡慣慤慥慦慩",6,"慱慲慳慴慶慸",18,"憌憍憏",4,"憕"],["9180","憖",6,"憞",8,"憪憫憭",9,"憸",5,"憿懀懁懃",4,"應懌",4,"懓懕",16,"懧",13,"懶",8,"戀",5,"戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸",4,"扂扄扅扆扊"],["9240","扏扐払扖扗扙扚扜",6,"扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋",5,"抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁"],["9280","拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳",5,"挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖",7,"捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙",6,"採掤掦掫掯掱掲掵掶掹掻掽掿揀"],["9340","揁揂揃揅揇揈揊揋揌揑揓揔揕揗",6,"揟揢揤",4,"揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆",4,"損搎搑搒搕",5,"搝搟搢搣搤"],["9380","搥搧搨搩搫搮",5,"搵",4,"搻搼搾摀摂摃摉摋",6,"摓摕摖摗摙",4,"摟",7,"摨摪摫摬摮",9,"摻",6,"撃撆撈",8,"撓撔撗撘撚撛撜撝撟",4,"撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆",6,"擏擑擓擔擕擖擙據"],["9440","擛擜擝擟擠擡擣擥擧",24,"攁",7,"攊",7,"攓",4,"攙",8],["9480","攢攣攤攦",4,"攬攭攰攱攲攳攷攺攼攽敀",4,"敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數",14,"斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱",7,"斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘",7,"旡旣旤旪旫"],["9540","旲旳旴旵旸旹旻",4,"昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷",4,"昽昿晀時晄",6,"晍晎晐晑晘"],["9580","晙晛晜晝晞晠晢晣晥晧晩",4,"晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘",4,"暞",8,"暩",4,"暯",4,"暵暶暷暸暺暻暼暽暿",25,"曚曞",7,"曧曨曪",5,"曱曵曶書曺曻曽朁朂會"],["9640","朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠",5,"朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗",4,"杝杢杣杤杦杧杫杬杮東杴杶"],["9680","杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹",7,"柂柅",9,"柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵",7,"柾栁栂栃栄栆栍栐栒栔栕栘",4,"栞栟栠栢",6,"栫",6,"栴栵栶栺栻栿桇桋桍桏桒桖",5],["9740","桜桝桞桟桪桬",7,"桵桸",8,"梂梄梇",7,"梐梑梒梔梕梖梘",9,"梣梤梥梩梪梫梬梮梱梲梴梶梷梸"],["9780","梹",6,"棁棃",5,"棊棌棎棏棐棑棓棔棖棗棙棛",4,"棡棢棤",9,"棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆",4,"椌椏椑椓",11,"椡椢椣椥",7,"椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃",16,"楕楖楘楙楛楜楟"],["9840","楡楢楤楥楧楨楩楪楬業楯楰楲",4,"楺楻楽楾楿榁榃榅榊榋榌榎",5,"榖榗榙榚榝",9,"榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽"],["9880","榾榿槀槂",7,"構槍槏槑槒槓槕",5,"槜槝槞槡",11,"槮槯槰槱槳",9,"槾樀",9,"樋",11,"標",5,"樠樢",5,"権樫樬樭樮樰樲樳樴樶",6,"樿",4,"橅橆橈",7,"橑",6,"橚"],["9940","橜",4,"橢橣橤橦",10,"橲",6,"橺橻橽橾橿檁檂檃檅",8,"檏檒",4,"檘",7,"檡",5],["9980","檧檨檪檭",114,"欥欦欨",6],["9a40","欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍",11,"歚",7,"歨歩歫",13,"歺歽歾歿殀殅殈"],["9a80","殌殎殏殐殑殔殕殗殘殙殜",4,"殢",7,"殫",7,"殶殸",6,"毀毃毄毆",4,"毌毎毐毑毘毚毜",4,"毢",7,"毬毭毮毰毱毲毴毶毷毸毺毻毼毾",6,"氈",4,"氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋",4,"汑汒汓汖汘"],["9b40","汙汚汢汣汥汦汧汫",4,"汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘"],["9b80","泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟",5,"洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽",4,"涃涄涆涇涊涋涍涏涐涒涖",4,"涜涢涥涬涭涰涱涳涴涶涷涹",5,"淁淂淃淈淉淊"],["9c40","淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽",7,"渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵"],["9c80","渶渷渹渻",7,"湅",7,"湏湐湑湒湕湗湙湚湜湝湞湠",10,"湬湭湯",14,"満溁溂溄溇溈溊",4,"溑",6,"溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪",5],["9d40","滰滱滲滳滵滶滷滸滺",7,"漃漄漅漇漈漊",4,"漐漑漒漖",9,"漡漢漣漥漦漧漨漬漮漰漲漴漵漷",6,"漿潀潁潂"],["9d80","潃潄潅潈潉潊潌潎",9,"潙潚潛潝潟潠潡潣潤潥潧",5,"潯潰潱潳潵潶潷潹潻潽",6,"澅澆澇澊澋澏",12,"澝澞澟澠澢",4,"澨",10,"澴澵澷澸澺",5,"濁濃",5,"濊",6,"濓",10,"濟濢濣濤濥"],["9e40","濦",7,"濰",32,"瀒",7,"瀜",6,"瀤",6],["9e80","瀫",9,"瀶瀷瀸瀺",17,"灍灎灐",13,"灟",11,"灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞",12,"炰炲炴炵炶為炾炿烄烅烆烇烉烋",12,"烚"],["9f40","烜烝烞烠烡烢烣烥烪烮烰",6,"烸烺烻烼烾",10,"焋",4,"焑焒焔焗焛",10,"焧",7,"焲焳焴"],["9f80","焵焷",13,"煆煇煈煉煋煍煏",12,"煝煟",4,"煥煩",4,"煯煰煱煴煵煶煷煹煻煼煾",5,"熅",4,"熋熌熍熎熐熑熒熓熕熖熗熚",4,"熡",6,"熩熪熫熭",5,"熴熶熷熸熺",8,"燄",9,"燏",4],["a040","燖",9,"燡燢燣燤燦燨",5,"燯",9,"燺",11,"爇",19],["a080","爛爜爞",9,"爩爫爭爮爯爲爳爴爺爼爾牀",6,"牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅",4,"犌犎犐犑犓",11,"犠",11,"犮犱犲犳犵犺",6,"狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛"],["a1a1"," 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈",7,"〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓"],["a2a1","ⅰ",9],["a2b1","⒈",19,"⑴",19,"①",9],["a2e5","㈠",9],["a2f1","Ⅰ",11],["a3a1","!"#¥%",88," ̄"],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a6e0","︵︶︹︺︿﹀︽︾﹁﹂﹃﹄"],["a6ee","︻︼︷︸︱"],["a6f4","︳︴"],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a840","ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═",35,"▁",6],["a880","█",7,"▓▔▕▼▽◢◣◤◥☉⊕〒〝〞"],["a8a1","āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ"],["a8bd","ńň"],["a8c0","ɡ"],["a8c5","ㄅ",36],["a940","〡",8,"㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦"],["a959","℡㈱"],["a95c","‐"],["a960","ー゛゜ヽヾ〆ゝゞ﹉",9,"﹔﹕﹖﹗﹙",8],["a980","﹢",4,"﹨﹩﹪﹫"],["a996","〇"],["a9a4","─",75],["aa40","狜狝狟狢",5,"狪狫狵狶狹狽狾狿猀猂猄",5,"猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀",8],["aa80","獉獊獋獌獎獏獑獓獔獕獖獘",7,"獡",10,"獮獰獱"],["ab40","獲",11,"獿",4,"玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣",5,"玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃",4],["ab80","珋珌珎珒",6,"珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳",4],["ac40","珸",10,"琄琇琈琋琌琍琎琑",8,"琜",5,"琣琤琧琩琫琭琯琱琲琷",4,"琽琾琿瑀瑂",11],["ac80","瑎",6,"瑖瑘瑝瑠",12,"瑮瑯瑱",4,"瑸瑹瑺"],["ad40","瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑",10,"璝璟",7,"璪",15,"璻",12],["ad80","瓈",9,"瓓",8,"瓝瓟瓡瓥瓧",6,"瓰瓱瓲"],["ae40","瓳瓵瓸",6,"甀甁甂甃甅",7,"甎甐甒甔甕甖甗甛甝甞甠",4,"甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘"],["ae80","畝",7,"畧畨畩畫",6,"畳畵當畷畺",4,"疀疁疂疄疅疇"],["af40","疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦",4,"疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇"],["af80","瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄"],["b040","癅",6,"癎",5,"癕癗",4,"癝癟癠癡癢癤",6,"癬癭癮癰",7,"癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛"],["b080","皜",7,"皥",8,"皯皰皳皵",9,"盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥"],["b140","盄盇盉盋盌盓盕盙盚盜盝盞盠",4,"盦",7,"盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎",10,"眛眜眝眞眡眣眤眥眧眪眫"],["b180","眬眮眰",4,"眹眻眽眾眿睂睄睅睆睈",7,"睒",7,"睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳"],["b240","睝睞睟睠睤睧睩睪睭",11,"睺睻睼瞁瞂瞃瞆",5,"瞏瞐瞓",11,"瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶",4],["b280","瞼瞾矀",12,"矎",8,"矘矙矚矝",4,"矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖"],["b340","矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃",5,"砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚"],["b380","硛硜硞",11,"硯",7,"硸硹硺硻硽",6,"场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚"],["b440","碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨",7,"碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚",9],["b480","磤磥磦磧磩磪磫磭",4,"磳磵磶磸磹磻",5,"礂礃礄礆",6,"础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮"],["b540","礍",5,"礔",9,"礟",4,"礥",14,"礵",4,"礽礿祂祃祄祅祇祊",8,"祔祕祘祙祡祣"],["b580","祤祦祩祪祫祬祮祰",6,"祹祻",4,"禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠"],["b640","禓",6,"禛",11,"禨",10,"禴",4,"禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙",5,"秠秡秢秥秨秪"],["b680","秬秮秱",6,"秹秺秼秾秿稁稄稅稇稈稉稊稌稏",4,"稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二"],["b740","稝稟稡稢稤",14,"稴稵稶稸稺稾穀",5,"穇",9,"穒",4,"穘",16],["b780","穩",6,"穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服"],["b840","窣窤窧窩窪窫窮",4,"窴",10,"竀",10,"竌",9,"竗竘竚竛竜竝竡竢竤竧",5,"竮竰竱竲竳"],["b880","竴",4,"竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹"],["b940","笯笰笲笴笵笶笷笹笻笽笿",5,"筆筈筊筍筎筓筕筗筙筜筞筟筡筣",10,"筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆",6,"箎箏"],["b980","箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹",7,"篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈"],["ba40","篅篈築篊篋篍篎篏篐篒篔",4,"篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲",4,"篸篹篺篻篽篿",7,"簈簉簊簍簎簐",5,"簗簘簙"],["ba80","簚",4,"簠",5,"簨簩簫",12,"簹",5,"籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖"],["bb40","籃",9,"籎",36,"籵",5,"籾",9],["bb80","粈粊",6,"粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴",4,"粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕"],["bc40","粿糀糂糃糄糆糉糋糎",6,"糘糚糛糝糞糡",6,"糩",5,"糰",7,"糹糺糼",13,"紋",5],["bc80","紑",14,"紡紣紤紥紦紨紩紪紬紭紮細",6,"肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件"],["bd40","紷",54,"絯",7],["bd80","絸",32,"健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸"],["be40","継",12,"綧",6,"綯",42],["be80","線",32,"尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻"],["bf40","緻",62],["bf80","縺縼",4,"繂",4,"繈",21,"俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀"],["c040","繞",35,"纃",23,"纜纝纞"],["c080","纮纴纻纼绖绤绬绹缊缐缞缷缹缻",6,"罃罆",9,"罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐"],["c140","罖罙罛罜罝罞罠罣",4,"罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂",7,"羋羍羏",4,"羕",4,"羛羜羠羢羣羥羦羨",6,"羱"],["c180","羳",4,"羺羻羾翀翂翃翄翆翇翈翉翋翍翏",4,"翖翗翙",5,"翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿"],["c240","翤翧翨翪翫翬翭翯翲翴",6,"翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫",5,"耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗"],["c280","聙聛",13,"聫",5,"聲",11,"隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫"],["c340","聾肁肂肅肈肊肍",5,"肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇",4,"胏",6,"胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋"],["c380","脌脕脗脙脛脜脝脟",12,"脭脮脰脳脴脵脷脹",4,"脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸"],["c440","腀",5,"腇腉腍腎腏腒腖腗腘腛",4,"腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃",4,"膉膋膌膍膎膐膒",5,"膙膚膞",4,"膤膥"],["c480","膧膩膫",7,"膴",5,"膼膽膾膿臄臅臇臈臉臋臍",6,"摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁"],["c540","臔",14,"臤臥臦臨臩臫臮",4,"臵",5,"臽臿舃與",4,"舎舏舑舓舕",5,"舝舠舤舥舦舧舩舮舲舺舼舽舿"],["c580","艀艁艂艃艅艆艈艊艌艍艎艐",7,"艙艛艜艝艞艠",7,"艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗"],["c640","艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸"],["c680","苺苼",4,"茊茋茍茐茒茓茖茘茙茝",9,"茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐"],["c740","茾茿荁荂荄荅荈荊",4,"荓荕",4,"荝荢荰",6,"荹荺荾",6,"莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡",6,"莬莭莮"],["c780","莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠"],["c840","菮華菳",4,"菺菻菼菾菿萀萂萅萇萈萉萊萐萒",5,"萙萚萛萞",5,"萩",7,"萲",5,"萹萺萻萾",7,"葇葈葉"],["c880","葊",6,"葒",4,"葘葝葞葟葠葢葤",4,"葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁"],["c940","葽",4,"蒃蒄蒅蒆蒊蒍蒏",7,"蒘蒚蒛蒝蒞蒟蒠蒢",12,"蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗"],["c980","蓘",4,"蓞蓡蓢蓤蓧",4,"蓭蓮蓯蓱",10,"蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳"],["ca40","蔃",8,"蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢",8,"蔭",9,"蔾",4,"蕄蕅蕆蕇蕋",10],["ca80","蕗蕘蕚蕛蕜蕝蕟",4,"蕥蕦蕧蕩",8,"蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱"],["cb40","薂薃薆薈",6,"薐",10,"薝",6,"薥薦薧薩薫薬薭薱",5,"薸薺",6,"藂",6,"藊",4,"藑藒"],["cb80","藔藖",5,"藝",6,"藥藦藧藨藪",14,"恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔"],["cc40","藹藺藼藽藾蘀",4,"蘆",10,"蘒蘓蘔蘕蘗",15,"蘨蘪",13,"蘹蘺蘻蘽蘾蘿虀"],["cc80","虁",11,"虒虓處",4,"虛虜虝號虠虡虣",7,"獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃"],["cd40","虭虯虰虲",6,"蚃",6,"蚎",4,"蚔蚖",5,"蚞",4,"蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻",4,"蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜"],["cd80","蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威"],["ce40","蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀",6,"蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚",5,"蝡蝢蝦",7,"蝯蝱蝲蝳蝵"],["ce80","蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎",4,"螔螕螖螘",6,"螠",4,"巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺"],["cf40","螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁",4,"蟇蟈蟉蟌",4,"蟔",6,"蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯",9],["cf80","蟺蟻蟼蟽蟿蠀蠁蠂蠄",5,"蠋",7,"蠔蠗蠘蠙蠚蠜",4,"蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓"],["d040","蠤",13,"蠳",5,"蠺蠻蠽蠾蠿衁衂衃衆",5,"衎",5,"衕衖衘衚",6,"衦衧衪衭衯衱衳衴衵衶衸衹衺"],["d080","衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗",4,"袝",4,"袣袥",5,"小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄"],["d140","袬袮袯袰袲",4,"袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚",4,"裠裡裦裧裩",6,"裲裵裶裷裺裻製裿褀褁褃",5],["d180","褉褋",4,"褑褔",4,"褜",4,"褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶"],["d240","褸",8,"襂襃襅",24,"襠",5,"襧",19,"襼"],["d280","襽襾覀覂覄覅覇",26,"摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐"],["d340","覢",30,"觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴",6],["d380","觻",4,"訁",5,"計",21,"印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉"],["d440","訞",31,"訿",8,"詉",21],["d480","詟",25,"詺",6,"浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧"],["d540","誁",7,"誋",7,"誔",46],["d580","諃",32,"铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政"],["d640","諤",34,"謈",27],["d680","謤謥謧",30,"帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑"],["d740","譆",31,"譧",4,"譭",25],["d780","讇",24,"讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座"],["d840","谸",8,"豂豃豄豅豈豊豋豍",7,"豖豗豘豙豛",5,"豣",6,"豬",6,"豴豵豶豷豻",6,"貃貄貆貇"],["d880","貈貋貍",6,"貕貖貗貙",20,"亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝"],["d940","貮",62],["d980","賭",32,"佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼"],["da40","贎",14,"贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸",8,"趂趃趆趇趈趉趌",4,"趒趓趕",9,"趠趡"],["da80","趢趤",12,"趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺"],["db40","跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾",6,"踆踇踈踋踍踎踐踑踒踓踕",7,"踠踡踤",4,"踫踭踰踲踳踴踶踷踸踻踼踾"],["db80","踿蹃蹅蹆蹌",4,"蹓",5,"蹚",11,"蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝"],["dc40","蹳蹵蹷",4,"蹽蹾躀躂躃躄躆躈",6,"躑躒躓躕",6,"躝躟",11,"躭躮躰躱躳",6,"躻",7],["dc80","軃",10,"軏",21,"堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥"],["dd40","軥",62],["dd80","輤",32,"荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺"],["de40","轅",32,"轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆"],["de80","迉",4,"迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖"],["df40","這逜連逤逥逧",5,"逰",4,"逷逹逺逽逿遀遃遅遆遈",4,"過達違遖遙遚遜",5,"遤遦遧適遪遫遬遯",4,"遶",6,"遾邁"],["df80","還邅邆邇邉邊邌",4,"邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼"],["e040","郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅",19,"鄚鄛鄜"],["e080","鄝鄟鄠鄡鄤",10,"鄰鄲",6,"鄺",8,"酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼"],["e140","酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀",4,"醆醈醊醎醏醓",6,"醜",5,"醤",5,"醫醬醰醱醲醳醶醷醸醹醻"],["e180","醼",10,"釈釋釐釒",9,"針",8,"帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺"],["e240","釦",62],["e280","鈥",32,"狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧",5,"饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂"],["e340","鉆",45,"鉵",16],["e380","銆",7,"銏",24,"恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾"],["e440","銨",5,"銯",24,"鋉",31],["e480","鋩",32,"洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑"],["e540","錊",51,"錿",10],["e580","鍊",31,"鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣"],["e640","鍬",34,"鎐",27],["e680","鎬",29,"鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩"],["e740","鏎",7,"鏗",54],["e780","鐎",32,"纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡",6,"缪缫缬缭缯",4,"缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬"],["e840","鐯",14,"鐿",43,"鑬鑭鑮鑯"],["e880","鑰",20,"钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹"],["e940","锧锳锽镃镈镋镕镚镠镮镴镵長",7,"門",42],["e980","閫",32,"椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋"],["ea40","闌",27,"闬闿阇阓阘阛阞阠阣",6,"阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗"],["ea80","陘陙陚陜陝陞陠陣陥陦陫陭",4,"陳陸",12,"隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰"],["eb40","隌階隑隒隓隕隖隚際隝",9,"隨",7,"隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖",9,"雡",6,"雫"],["eb80","雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗",4,"霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻"],["ec40","霡",8,"霫霬霮霯霱霳",4,"霺霻霼霽霿",18,"靔靕靗靘靚靜靝靟靣靤靦靧靨靪",7],["ec80","靲靵靷",4,"靽",7,"鞆",4,"鞌鞎鞏鞐鞓鞕鞖鞗鞙",4,"臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐"],["ed40","鞞鞟鞡鞢鞤",6,"鞬鞮鞰鞱鞳鞵",46],["ed80","韤韥韨韮",4,"韴韷",23,"怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨"],["ee40","頏",62],["ee80","顎",32,"睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶",4,"钼钽钿铄铈",6,"铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪"],["ef40","顯",5,"颋颎颒颕颙颣風",37,"飏飐飔飖飗飛飜飝飠",4],["ef80","飥飦飩",30,"铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒",4,"锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤",8,"镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔"],["f040","餈",4,"餎餏餑",28,"餯",26],["f080","饊",9,"饖",12,"饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨",4,"鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦",6,"鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙"],["f140","馌馎馚",10,"馦馧馩",47],["f180","駙",32,"瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃"],["f240","駺",62],["f280","騹",32,"颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒"],["f340","驚",17,"驲骃骉骍骎骔骕骙骦骩",6,"骲骳骴骵骹骻骽骾骿髃髄髆",4,"髍髎髏髐髒體髕髖髗髙髚髛髜"],["f380","髝髞髠髢髣髤髥髧髨髩髪髬髮髰",8,"髺髼",6,"鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋"],["f440","鬇鬉",5,"鬐鬑鬒鬔",10,"鬠鬡鬢鬤",10,"鬰鬱鬳",7,"鬽鬾鬿魀魆魊魋魌魎魐魒魓魕",5],["f480","魛",32,"簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤"],["f540","魼",62],["f580","鮻",32,"酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜"],["f640","鯜",62],["f680","鰛",32,"觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅",5,"龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞",5,"鲥",4,"鲫鲭鲮鲰",7,"鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋"],["f740","鰼",62],["f780","鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾",4,"鳈鳉鳑鳒鳚鳛鳠鳡鳌",4,"鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄"],["f840","鳣",62],["f880","鴢",32],["f940","鵃",62],["f980","鶂",32],["fa40","鶣",62],["fa80","鷢",32],["fb40","鸃",27,"鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴",9,"麀"],["fb80","麁麃麄麅麆麉麊麌",5,"麔",8,"麞麠",5,"麧麨麩麪"],["fc40","麫",8,"麵麶麷麹麺麼麿",4,"黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰",8,"黺黽黿",6],["fc80","鼆",4,"鼌鼏鼑鼒鼔鼕鼖鼘鼚",5,"鼡鼣",8,"鼭鼮鼰鼱"],["fd40","鼲",4,"鼸鼺鼼鼿",4,"齅",10,"齒",38],["fd80","齹",5,"龁龂龍",11,"龜龝龞龡",4,"郎凉秊裏隣"],["fe40","兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩"]]; + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } else { + headers["content-length"] = 0; + } + } + } // default content-type for JSON if body is set -/***/ }), -/* 370 */, -/* 371 */ -/***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string -/** - * @category Hour Helpers - * @summary Return the start of an hour for the given date. - * - * @description - * Return the start of an hour for the given date. - * The result will be in the local timezone. - * - * @param {Date|String|Number} date - the original date - * @returns {Date} the start of an hour - * - * @example - * // The start of an hour for 2 September 2014 11:55:00: - * var result = startOfHour(new Date(2014, 8, 2, 11, 55)) - * //=> Tue Sep 02 2014 11:00:00 - */ -function startOfHour (dirtyDate) { - var date = parse(dirtyDate) - date.setMinutes(0, 0, 0) - return date -} -module.exports = startOfHour + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } // Only return body/request keys if present -/***/ }), -/* 372 */, -/* 373 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + return Object.assign({ + method, + url, + headers + }, typeof body !== "undefined" ? { + body + } : null, options.request ? { + request: options.request + } : null); +} -var parse = __webpack_require__(751) +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} -/** - * @category Millisecond Helpers - * @summary Add the specified number of milliseconds to the given date. - * - * @description - * Add the specified number of milliseconds to the given date. - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of milliseconds to be added - * @returns {Date} the new date with the milliseconds added - * - * @example - * // Add 750 milliseconds to 10 July 2014 12:45:30.000: - * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750) - * //=> Thu Jul 10 2014 12:45:30.750 - */ -function addMilliseconds (dirtyDate, dirtyAmount) { - var timestamp = parse(dirtyDate).getTime() - var amount = Number(dirtyAmount) - return new Date(timestamp + amount) +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse + }); } -module.exports = addMilliseconds +const VERSION = "6.0.12"; +const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. -/***/ }), -/* 374 */, -/* 375 */, -/* 376 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "", + previews: [] + } +}; -var _map = /*#__PURE__*/__webpack_require__(392); +const endpoint = withDefaults(null, DEFAULTS); -var identity = /*#__PURE__*/__webpack_require__(332); +exports.endpoint = endpoint; +//# sourceMappingURL=index.js.map -var pickAll = /*#__PURE__*/__webpack_require__(362); -var useWith = /*#__PURE__*/__webpack_require__(467); +/***/ }), +/* 386 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -/** - * Reasonable analog to SQL `select` statement. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @category Relation - * @sig [k] -> [{k: v}] -> [{k: v}] - * @param {Array} props The property names to project - * @param {Array} objs The objects to query - * @return {Array} An array of objects with just the `props` properties. - * @example - * - * const abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2}; - * const fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7}; - * const kids = [abby, fred]; - * R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}] - */ +"use strict"; -var project = /*#__PURE__*/useWith(_map, [pickAll, identity]); // passing `identity` gives correct arity -module.exports = project; +var qs = __webpack_require__(191) + , url = __webpack_require__(835) + , xtend = __webpack_require__(940); -/***/ }), -/* 377 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +function hasRel(x) { + return x && x.rel; +} -var _curry3 = /*#__PURE__*/__webpack_require__(78); +function intoRels (acc, x) { + function splitRel (rel) { + acc[rel] = xtend(x, { rel: rel }); + } -/** - * Makes a descending comparator function out of a function that returns a value - * that can be compared with `<` and `>`. - * - * @func - * @memberOf R - * @since v0.23.0 - * @category Function - * @sig Ord b => (a -> b) -> a -> a -> Number - * @param {Function} fn A function of arity one that returns a value that can be compared - * @param {*} a The first item to be compared. - * @param {*} b The second item to be compared. - * @return {Number} `-1` if fn(a) > fn(b), `1` if fn(b) > fn(a), otherwise `0` - * @see R.ascend - * @example - * - * const byAge = R.descend(R.prop('age')); - * const people = [ - * { name: 'Emma', age: 70 }, - * { name: 'Peter', age: 78 }, - * { name: 'Mikhail', age: 62 }, - * ]; - * const peopleByOldestFirst = R.sort(byAge, people); - * //=> [{ name: 'Peter', age: 78 }, { name: 'Emma', age: 70 }, { name: 'Mikhail', age: 62 }] - */ + x.rel.split(/\s+/).forEach(splitRel); + return acc; +} -var descend = /*#__PURE__*/_curry3(function descend(fn, a, b) { - var aa = fn(a); - var bb = fn(b); - return aa > bb ? -1 : aa < bb ? 1 : 0; -}); -module.exports = descend; +function createObjects (acc, p) { + // rel="next" => 1: rel 2: next + var m = p.match(/\s*(.+)\s*=\s*"?([^"]+)"?/) + if (m) acc[m[1]] = m[2]; + return acc; +} -/***/ }), -/* 378 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +function parseLink(link) { + try { + var m = link.match(/]*)>(.*)/) + , linkUrl = m[1] + , parts = m[2].split(';') + , parsedUrl = url.parse(linkUrl) + , qry = qs.parse(parsedUrl.query); -var parse = __webpack_require__(751) + parts.shift(); -/** - * @category Common Helpers - * @summary Return the latest of the given dates. - * - * @description - * Return the latest of the given dates. - * - * @param {...(Date|String|Number)} dates - the dates to compare - * @returns {Date} the latest of the dates - * - * @example - * // Which of these dates is the latest? - * var result = max( - * new Date(1989, 6, 10), - * new Date(1987, 1, 11), - * new Date(1995, 6, 2), - * new Date(1990, 0, 1) - * ) - * //=> Sun Jul 02 1995 00:00:00 - */ -function max () { - var dirtyDates = Array.prototype.slice.call(arguments) - var dates = dirtyDates.map(function (dirtyDate) { - return parse(dirtyDate) - }) - var latestTimestamp = Math.max.apply(null, dates) - return new Date(latestTimestamp) + var info = parts + .reduce(createObjects, {}); + + info = xtend(qry, info); + info.url = linkUrl; + return info; + } catch (e) { + return null; + } } -module.exports = max +module.exports = function (linkHeader) { + if (!linkHeader) return null; + + return linkHeader.split(/,\s* b -> (a,b) - * @param {*} fst - * @param {*} snd - * @return {Array} - * @see R.objOf, R.of + * @since v0.1.0 + * @category Relation + * @sig Ord a => a -> a -> Boolean + * @param {*} a + * @param {*} b + * @return {Boolean} + * @see R.lt * @example * - * R.pair('foo', 'bar'); //=> ['foo', 'bar'] + * R.gt(2, 1); //=> true + * R.gt(2, 2); //=> false + * R.gt(2, 3); //=> false + * R.gt('a', 'z'); //=> false + * R.gt('z', 'a'); //=> true */ -var pair = /*#__PURE__*/_curry2(function pair(fst, snd) { - return [fst, snd]; +var gt = /*#__PURE__*/_curry2(function gt(a, b) { + return a > b; }); -module.exports = pair; +module.exports = gt; /***/ }), -/* 380 */, -/* 381 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/* 389 */, +/* 390 */ +/***/ (function(module) { -var parse = __webpack_require__(751) +function _has(prop, obj) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} +module.exports = _has; -/** - * @category Range Helpers - * @summary Is the given date within the range? - * - * @description - * Is the given date within the range? - * - * @param {Date|String|Number} date - the date to check - * @param {Date|String|Number} startDate - the start of range - * @param {Date|String|Number} endDate - the end of range - * @returns {Boolean} the date is within the range - * @throws {Error} startDate cannot be after endDate - * - * @example - * // For the date within the range: - * isWithinRange( - * new Date(2014, 0, 3), new Date(2014, 0, 1), new Date(2014, 0, 7) - * ) - * //=> true - * - * @example - * // For the date outside of the range: - * isWithinRange( - * new Date(2014, 0, 10), new Date(2014, 0, 1), new Date(2014, 0, 7) - * ) - * //=> false - */ -function isWithinRange (dirtyDate, dirtyStartDate, dirtyEndDate) { - var time = parse(dirtyDate).getTime() - var startTime = parse(dirtyStartDate).getTime() - var endTime = parse(dirtyEndDate).getTime() +/***/ }), +/* 391 */, +/* 392 */ +/***/ (function(module) { - if (startTime > endTime) { - throw new Error('The start of the range cannot be after the end of the range') - } +"use strict"; - return time >= startTime && time <= endTime +function arrayMove(src, srcIndex, dst, dstIndex, len) { + for (var j = 0; j < len; ++j) { + dst[j + dstIndex] = src[j + srcIndex]; + src[j + srcIndex] = void 0; + } } -module.exports = isWithinRange +function Queue(capacity) { + this._capacity = capacity; + this._length = 0; + this._front = 0; +} +Queue.prototype._willBeOverCapacity = function (size) { + return this._capacity < size; +}; -/***/ }), -/* 382 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +Queue.prototype._pushOne = function (arg) { + var length = this.length(); + this._checkCapacity(length + 1); + var i = (this._front + length) & (this._capacity - 1); + this[i] = arg; + this._length = length + 1; +}; -var _curry3 = /*#__PURE__*/__webpack_require__(78); +Queue.prototype.push = function (fn, receiver, arg) { + var length = this.length() + 3; + if (this._willBeOverCapacity(length)) { + this._pushOne(fn); + this._pushOne(receiver); + this._pushOne(arg); + return; + } + var j = this._front + length - 3; + this._checkCapacity(length); + var wrapMask = this._capacity - 1; + this[(j + 0) & wrapMask] = fn; + this[(j + 1) & wrapMask] = receiver; + this[(j + 2) & wrapMask] = arg; + this._length = length; +}; -/** - * Returns a single item by iterating through the list, successively calling - * the iterator function and passing it an accumulator value and the current - * value from the array, and then passing the result to the next call. - * - * Similar to [`reduce`](#reduce), except moves through the input list from the - * right to the left. - * - * The iterator function receives two values: *(value, acc)*, while the arguments' - * order of `reduce`'s iterator function is *(acc, value)*. - * - * Note: `R.reduceRight` does not skip deleted or unassigned indices (sparse - * arrays), unlike the native `Array.prototype.reduceRight` method. For more details - * on this behavior, see: - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#Description - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig ((a, b) -> b) -> b -> [a] -> b - * @param {Function} fn The iterator function. Receives two values, the current element from the array - * and the accumulator. - * @param {*} acc The accumulator value. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.reduce, R.addIndex - * @example - * - * R.reduceRight(R.subtract, 0, [1, 2, 3, 4]) // => (1 - (2 - (3 - (4 - 0)))) = -2 - * // - -2 - * // / \ / \ - * // 1 - 1 3 - * // / \ / \ - * // 2 - ==> 2 -1 - * // / \ / \ - * // 3 - 3 4 - * // / \ / \ - * // 4 0 4 0 - * - * @symb R.reduceRight(f, a, [b, c, d]) = f(b, f(c, f(d, a))) - */ +Queue.prototype.shift = function () { + var front = this._front, + ret = this[front]; + this[front] = undefined; + this._front = (front + 1) & (this._capacity - 1); + this._length--; + return ret; +}; -var reduceRight = /*#__PURE__*/_curry3(function reduceRight(fn, acc, list) { - var idx = list.length - 1; - while (idx >= 0) { - acc = fn(list[idx], acc); - idx -= 1; - } - return acc; -}); -module.exports = reduceRight; +Queue.prototype.length = function () { + return this._length; +}; -/***/ }), -/* 383 */, -/* 384 */, -/* 385 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { +Queue.prototype._checkCapacity = function (size) { + if (this._capacity < size) { + this._resizeTo(this._capacity << 1); + } +}; -"use strict"; +Queue.prototype._resizeTo = function (capacity) { + var oldCapacity = this._capacity; + this._capacity = capacity; + var front = this._front; + var length = this._length; + var moveItemsCount = (front + length) & (oldCapacity - 1); + arrayMove(this, 0, this, oldCapacity, moveItemsCount); +}; +module.exports = Queue; -Object.defineProperty(exports, '__esModule', { value: true }); -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } +/***/ }), +/* 393 */, +/* 394 */ +/***/ (function(__unusedmodule, exports) { -var isPlainObject = _interopDefault(__webpack_require__(626)); -var universalUserAgent = __webpack_require__(562); +"use strict"; -function lowercaseKeys(object) { - if (!object) { - return {}; - } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); +var BOMChar = '\uFEFF'; + +exports.PrependBOM = PrependBOMWrapper +function PrependBOMWrapper(encoder, options) { + this.encoder = encoder; + this.addBOM = true; } -function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach(key => { - if (isPlainObject(options[key])) { - if (!(key in defaults)) Object.assign(result, { - [key]: options[key] - });else result[key] = mergeDeep(defaults[key], options[key]); - } else { - Object.assign(result, { - [key]: options[key] - }); +PrependBOMWrapper.prototype.write = function(str) { + if (this.addBOM) { + str = BOMChar + str; + this.addBOM = false; } - }); - return result; -} -function merge(defaults, route, options) { - if (typeof route === "string") { - let [method, url] = route.split(" "); - options = Object.assign(url ? { - method, - url - } : { - url: method - }, options); - } else { - options = Object.assign({}, route); - } // lowercase header names before merging with defaults to avoid duplicates + return this.encoder.write(str); +} +PrependBOMWrapper.prototype.end = function() { + return this.encoder.end(); +} - options.headers = lowercaseKeys(options.headers); - const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten - if (defaults && defaults.mediaType.previews.length) { - mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); - } +//------------------------------------------------------------------------------ - mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); - return mergedOptions; +exports.StripBOM = StripBOMWrapper; +function StripBOMWrapper(decoder, options) { + this.decoder = decoder; + this.pass = false; + this.options = options || {}; } -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - - if (names.length === 0) { - return url; - } +StripBOMWrapper.prototype.write = function(buf) { + var res = this.decoder.write(buf); + if (this.pass || !res) + return res; - return url + separator + names.map(name => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + if (res[0] === BOMChar) { + res = res.slice(1); + if (typeof this.options.stripBOM === 'function') + this.options.stripBOM(); } - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} - -const urlVariableRegex = /\{[^}]+\}/g; - -function removeNonChars(variableName) { - return variableName.replace(/^\W+|\W+$/g, "").split(/,/); + this.pass = true; + return res; } -function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); - - if (!matches) { - return []; - } - - return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +StripBOMWrapper.prototype.end = function() { + return this.decoder.end(); } -function omit(object, keysToOmit) { - return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { - obj[key] = object[key]; - return obj; - }, {}); -} -// Based on https://github.com/bramstein/url-template, licensed under BSD -// TODO: create separate package. -// -// Copyright (c) 2012-2014, Bram Stein -// All rights reserved. -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -/* istanbul ignore file */ -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } +/***/ }), +/* 395 */, +/* 396 */, +/* 397 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - return part; - }).join(""); -} +var parse = __webpack_require__(751) -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); +/** + * @category Common Helpers + * @summary Are the given dates equal? + * + * @description + * Are the given dates equal? + * + * @param {Date|String|Number} dateLeft - the first date to compare + * @param {Date|String|Number} dateRight - the second date to compare + * @returns {Boolean} the dates are equal + * + * @example + * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal? + * var result = isEqual( + * new Date(2014, 6, 2, 6, 30, 45, 0) + * new Date(2014, 6, 2, 6, 30, 45, 500) + * ) + * //=> false + */ +function isEqual (dirtyLeftDate, dirtyRightDate) { + var dateLeft = parse(dirtyLeftDate) + var dateRight = parse(dirtyRightDate) + return dateLeft.getTime() === dateRight.getTime() } -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); +module.exports = isEqual - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; - } -} -function isDefined(value) { - return value !== undefined && value !== null; -} +/***/ }), +/* 398 */, +/* 399 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; -} +var _curry1 = /*#__PURE__*/__webpack_require__(721); -function getValues(context, operator, key, modifier) { - var value = context[key], - result = []; +var curryN = /*#__PURE__*/__webpack_require__(535); - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); +var nth = /*#__PURE__*/__webpack_require__(207); - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } +/** + * Returns a function which returns its nth argument. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Function + * @sig Number -> *... -> * + * @param {Number} n + * @return {Function} + * @example + * + * R.nthArg(1)('a', 'b', 'c'); //=> 'b' + * R.nthArg(-1)('a', 'b', 'c'); //=> 'c' + * @symb R.nthArg(-1)(a, b, c) = c + * @symb R.nthArg(0)(a, b, c) = a + * @symb R.nthArg(1)(a, b, c) = b + */ - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - tmp.push(encodeValue(operator, value)); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } +var nthArg = /*#__PURE__*/_curry1(function nthArg(n) { + var arity = n < 0 ? 1 : n + 1; + return curryN(arity, function () { + return nth(n, arguments); + }); +}); +module.exports = nthArg; - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } - } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); - } - } +/***/ }), +/* 400 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - return result; -} +var addHours = __webpack_require__(894) -function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; +/** + * @category Hour Helpers + * @summary Subtract the specified number of hours from the given date. + * + * @description + * Subtract the specified number of hours from the given date. + * + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of hours to be subtracted + * @returns {Date} the new date with the hours subtracted + * + * @example + * // Subtract 2 hours from 11 July 2014 01:00:00: + * var result = subHours(new Date(2014, 6, 11, 1, 0), 2) + * //=> Thu Jul 10 2014 23:00:00 + */ +function subHours (dirtyDate, dirtyAmount) { + var amount = Number(dirtyAmount) + return addHours(dirtyDate, -amount) } -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { - if (expression) { - let operator = ""; - const values = []; +module.exports = subHours - if (operators.indexOf(expression.charAt(0)) !== -1) { - operator = expression.charAt(0); - expression = expression.substr(1); - } - expression.split(/,/g).forEach(function (variable) { - var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); - values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); - }); +/***/ }), +/* 401 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - if (operator && operator !== "+") { - var separator = ","; +"use strict"; - if (operator === "?") { - separator = "&"; - } else if (operator !== "#") { - separator = operator; - } +module.exports = function(Promise, INTERNAL, tryConvertToPromise, + apiRejection, Proxyable) { +var util = __webpack_require__(248); +var isArray = util.isArray; - return (values.length !== 0 ? operator : "") + values.join(separator); - } else { - return values.join(","); - } - } else { - return encodeReserved(literal); +function toResolutionValue(val) { + switch(val) { + case -2: return []; + case -3: return {}; + case -6: return new Map(); } - }); } -function parse(options) { - // https://fetch.spec.whatwg.org/#methods - let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible - - let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{+$1}"); - let headers = Object.assign({}, options.headers); - let body; - let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later +function PromiseArray(values) { + var promise = this._promise = new Promise(INTERNAL); + if (values instanceof Promise) { + promise._propagateFrom(values, 3); + values.suppressUnhandledRejections(); + } + promise._setOnCancel(this); + this._values = values; + this._length = 0; + this._totalResolved = 0; + this._init(undefined, -2); +} +util.inherits(PromiseArray, Proxyable); - const urlVariableNames = extractUrlVariableNames(url); - url = parseUrl(url).expand(parameters); +PromiseArray.prototype.length = function () { + return this._length; +}; - if (!/^http/.test(url)) { - url = options.baseUrl + url; - } +PromiseArray.prototype.promise = function () { + return this._promise; +}; - const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); - const remainingParameters = omit(parameters, omittedParameters); - const isBinaryRequset = /application\/octet-stream/i.test(headers.accept); +PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) { + var values = tryConvertToPromise(this._values, this._promise); + if (values instanceof Promise) { + values = values._target(); + var bitField = values._bitField; + ; + this._values = values; - if (!isBinaryRequset) { - if (options.mediaType.format) { - // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw - headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); + if (((bitField & 50397184) === 0)) { + this._promise._setAsyncGuaranteed(); + return values._then( + init, + this._reject, + undefined, + this, + resolveValueIfEmpty + ); + } else if (((bitField & 33554432) !== 0)) { + values = values._value(); + } else if (((bitField & 16777216) !== 0)) { + return this._reject(values._reason()); + } else { + return this._cancel(); + } } - - if (options.mediaType.previews.length) { - const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { - const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; - return `application/vnd.github.${preview}-preview${format}`; - }).join(","); + values = util.asArray(values); + if (values === null) { + var err = apiRejection( + "expecting an array or an iterable object but got " + util.classString(values)).reason(); + this._promise._rejectCallback(err, false); + return; } - } // for GET/HEAD requests, set URL query parameters from remaining parameters - // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters - - if (["GET", "HEAD"].includes(method)) { - url = addQueryParameters(url, remainingParameters); - } else { - if ("data" in remainingParameters) { - body = remainingParameters.data; - } else { - if (Object.keys(remainingParameters).length) { - body = remainingParameters; - } else { - headers["content-length"] = 0; - } + if (values.length === 0) { + if (resolveValueIfEmpty === -5) { + this._resolveEmptyArray(); + } + else { + this._resolve(toResolutionValue(resolveValueIfEmpty)); + } + return; } - } // default content-type for JSON if body is set - - - if (!headers["content-type"] && typeof body !== "undefined") { - headers["content-type"] = "application/json; charset=utf-8"; - } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. - // fetch does not allow to set `content-length` header, but we can set body to an empty string + this._iterate(values); +}; - - if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { - body = ""; - } // Only return body/request keys if present - - - return Object.assign({ - method, - url, - headers - }, typeof body !== "undefined" ? { - body - } : null, options.request ? { - request: options.request - } : null); -} - -function endpointWithDefaults(defaults, route, options) { - return parse(merge(defaults, route, options)); -} - -function withDefaults(oldDefaults, newDefaults) { - const DEFAULTS = merge(oldDefaults, newDefaults); - const endpoint = endpointWithDefaults.bind(null, DEFAULTS); - return Object.assign(endpoint, { - DEFAULTS, - defaults: withDefaults.bind(null, DEFAULTS), - merge: merge.bind(null, DEFAULTS), - parse - }); -} - -const VERSION = "6.0.1"; - -const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. -// So we use RequestParameters and add method as additional required property. - -const DEFAULTS = { - method: "GET", - baseUrl: "https://api.github.com", - headers: { - accept: "application/vnd.github.v3+json", - "user-agent": userAgent - }, - mediaType: { - format: "", - previews: [] - } -}; - -const endpoint = withDefaults(null, DEFAULTS); - -exports.endpoint = endpoint; -//# sourceMappingURL=index.js.map - - -/***/ }), -/* 386 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -var qs = __webpack_require__(191) - , url = __webpack_require__(835) - , xtend = __webpack_require__(940); - -function hasRel(x) { - return x && x.rel; -} - -function intoRels (acc, x) { - function splitRel (rel) { - acc[rel] = xtend(x, { rel: rel }); - } - - x.rel.split(/\s+/).forEach(splitRel); - - return acc; -} - -function createObjects (acc, p) { - // rel="next" => 1: rel 2: next - var m = p.match(/\s*(.+)\s*=\s*"?([^"]+)"?/) - if (m) acc[m[1]] = m[2]; - return acc; -} - -function parseLink(link) { - try { - var m = link.match(/]*)>(.*)/) - , linkUrl = m[1] - , parts = m[2].split(';') - , parsedUrl = url.parse(linkUrl) - , qry = qs.parse(parsedUrl.query); - - parts.shift(); - - var info = parts - .reduce(createObjects, {}); - - info = xtend(qry, info); - info.url = linkUrl; - return info; - } catch (e) { - return null; - } -} - -module.exports = function (linkHeader) { - if (!linkHeader) return null; - - return linkHeader.split(/,\s* * - * @param {*} x The final value of the reduce. - * @return {*} The wrapped value. - * @see R.reduce, R.reduceWhile, R.transduce - * @example - * - * R.reduce( - * (acc, item) => item > 3 ? R.reduced(acc) : acc.concat(item), - * [], - * [1, 2, 3, 4, 5]) // [1, 2, 3] - */ - - -var reduced = /*#__PURE__*/_curry1(_reduced); -module.exports = reduced; - -/***/ }), -/* 388 */, -/* 389 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -const fs = __webpack_require__(747); -const shebangCommand = __webpack_require__(866); - -function readShebang(command) { - // Read the first 150 bytes from the file - const size = 150; - let buffer; - - if (Buffer.alloc) { - // Node.js v4.5+ / v5.10+ - buffer = Buffer.alloc(size); - } else { - // Old Node.js API - buffer = new Buffer(size); - buffer.fill(0); // zero-fill - } - - let fd; - - try { - fd = fs.openSync(command, 'r'); - fs.readSync(fd, buffer, 0, size, 0); - fs.closeSync(fd); - } catch (e) { /* Empty */ } - - // Attempt to extract shebang (null is returned if not a shebang) - return shebangCommand(buffer.toString()); -} - -module.exports = readShebang; - - -/***/ }), -/* 390 */ -/***/ (function(module) { - -function _has(prop, obj) { - return Object.prototype.hasOwnProperty.call(obj, prop); -} -module.exports = _has; - -/***/ }), -/* 391 */, -/* 392 */ -/***/ (function(module) { - -function _map(fn, functor) { - var idx = 0; - var len = functor.length; - var result = Array(len); - while (idx < len) { - result[idx] = fn(functor[idx]); - idx += 1; - } - return result; -} -module.exports = _map; - -/***/ }), -/* 393 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var isSameHour = __webpack_require__(119) - -/** - * @category Hour Helpers - * @summary Is the given date in the same hour as the current date? - * - * @description - * Is the given date in the same hour as the current date? - * - * @param {Date|String|Number} date - the date to check - * @returns {Boolean} the date is in this hour - * - * @example - * // If now is 25 September 2014 18:30:15.500, - * // is 25 September 2014 18:00:00 in this hour? - * var result = isThisHour(new Date(2014, 8, 25, 18)) - * //=> true - */ -function isThisHour (dirtyDate) { - return isSameHour(new Date(), dirtyDate) -} - -module.exports = isThisHour - - -/***/ }), -/* 394 */, -/* 395 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = function( - Promise, INTERNAL, tryConvertToPromise, apiRejection) { -var util = __webpack_require__(248); - -var raceLater = function (promise) { - return promise.then(function(array) { - return race(array, promise); - }); -}; - -function race(promises, parent) { - var maybePromise = tryConvertToPromise(promises); - - if (maybePromise instanceof Promise) { - return raceLater(maybePromise); - } else { - promises = util.asArray(promises); - if (promises === null) - return apiRejection("expecting an array or an iterable object but got " + util.classString(promises)); - } - - var ret = new Promise(INTERNAL); - if (parent !== undefined) { - ret._propagateFrom(parent, 3); - } - var fulfill = ret._fulfill; - var reject = ret._reject; - for (var i = 0, len = promises.length; i < len; ++i) { - var val = promises[i]; - - if (val === undefined && !(i in promises)) { - continue; - } - - Promise.cast(val)._then(fulfill, reject, undefined, ret, null); - } - return ret; -} - -Promise.race = function (promises) { - return race(promises, undefined); -}; - -Promise.prototype.race = function () { - return race(this, undefined); -}; - -}; - - -/***/ }), -/* 396 */, -/* 397 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var parse = __webpack_require__(751) - -/** - * @category Common Helpers - * @summary Are the given dates equal? - * - * @description - * Are the given dates equal? - * - * @param {Date|String|Number} dateLeft - the first date to compare - * @param {Date|String|Number} dateRight - the second date to compare - * @returns {Boolean} the dates are equal - * - * @example - * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal? - * var result = isEqual( - * new Date(2014, 6, 2, 6, 30, 45, 0) - * new Date(2014, 6, 2, 6, 30, 45, 500) - * ) - * //=> false - */ -function isEqual (dirtyLeftDate, dirtyRightDate) { - var dateLeft = parse(dirtyLeftDate) - var dateRight = parse(dirtyRightDate) - return dateLeft.getTime() === dateRight.getTime() -} - -module.exports = isEqual - - -/***/ }), -/* 398 */, -/* 399 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry1 = /*#__PURE__*/__webpack_require__(721); - -var curryN = /*#__PURE__*/__webpack_require__(535); - -var nth = /*#__PURE__*/__webpack_require__(207); - -/** - * Returns a function which returns its nth argument. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Function - * @sig Number -> *... -> * - * @param {Number} n - * @return {Function} - * @example - * - * R.nthArg(1)('a', 'b', 'c'); //=> 'b' - * R.nthArg(-1)('a', 'b', 'c'); //=> 'c' - * @symb R.nthArg(-1)(a, b, c) = c - * @symb R.nthArg(0)(a, b, c) = a - * @symb R.nthArg(1)(a, b, c) = b - */ - - -var nthArg = /*#__PURE__*/_curry1(function nthArg(n) { - var arity = n < 0 ? 1 : n + 1; - return curryN(arity, function () { - return nth(n, arguments); - }); -}); -module.exports = nthArg; - -/***/ }), -/* 400 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var addHours = __webpack_require__(894) - -/** - * @category Hour Helpers - * @summary Subtract the specified number of hours from the given date. - * - * @description - * Subtract the specified number of hours from the given date. - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of hours to be subtracted - * @returns {Date} the new date with the hours subtracted - * - * @example - * // Subtract 2 hours from 11 July 2014 01:00:00: - * var result = subHours(new Date(2014, 6, 11, 1, 0), 2) - * //=> Thu Jul 10 2014 23:00:00 - */ -function subHours (dirtyDate, dirtyAmount) { - var amount = Number(dirtyAmount) - return addHours(dirtyDate, -amount) -} - -module.exports = subHours - - -/***/ }), -/* 401 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = function(Promise, INTERNAL, tryConvertToPromise, - apiRejection, Proxyable) { -var util = __webpack_require__(248); -var isArray = util.isArray; - -function toResolutionValue(val) { - switch(val) { - case -2: return []; - case -3: return {}; - case -6: return new Map(); - } -} - -function PromiseArray(values) { - var promise = this._promise = new Promise(INTERNAL); - if (values instanceof Promise) { - promise._propagateFrom(values, 3); - values.suppressUnhandledRejections(); - } - promise._setOnCancel(this); - this._values = values; - this._length = 0; - this._totalResolved = 0; - this._init(undefined, -2); -} -util.inherits(PromiseArray, Proxyable); - -PromiseArray.prototype.length = function () { - return this._length; -}; - -PromiseArray.prototype.promise = function () { - return this._promise; -}; - -PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) { - var values = tryConvertToPromise(this._values, this._promise); - if (values instanceof Promise) { - values = values._target(); - var bitField = values._bitField; - ; - this._values = values; - - if (((bitField & 50397184) === 0)) { - this._promise._setAsyncGuaranteed(); - return values._then( - init, - this._reject, - undefined, - this, - resolveValueIfEmpty - ); - } else if (((bitField & 33554432) !== 0)) { - values = values._value(); - } else if (((bitField & 16777216) !== 0)) { - return this._reject(values._reason()); - } else { - return this._cancel(); - } - } - values = util.asArray(values); - if (values === null) { - var err = apiRejection( - "expecting an array or an iterable object but got " + util.classString(values)).reason(); - this._promise._rejectCallback(err, false); - return; - } - - if (values.length === 0) { - if (resolveValueIfEmpty === -5) { - this._resolveEmptyArray(); - } - else { - this._resolve(toResolutionValue(resolveValueIfEmpty)); - } - return; - } - this._iterate(values); -}; - -PromiseArray.prototype._iterate = function(values) { - var len = this.getActualLength(values.length); - this._length = len; - this._values = this.shouldCopyValues() ? new Array(len) : this._values; - var result = this._promise; - var isResolved = false; - var bitField = null; - for (var i = 0; i < len; ++i) { - var maybePromise = tryConvertToPromise(values[i], result); +PromiseArray.prototype._iterate = function(values) { + var len = this.getActualLength(values.length); + this._length = len; + this._values = this.shouldCopyValues() ? new Array(len) : this._values; + var result = this._promise; + var isResolved = false; + var bitField = null; + for (var i = 0; i < len; ++i) { + var maybePromise = tryConvertToPromise(values[i], result); if (maybePromise instanceof Promise) { maybePromise = maybePromise._target(); @@ -16907,39 +16357,90 @@ module.exports = isThisSecond /***/ }), -/* 403 */, -/* 404 */ +/* 403 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _arity = /*#__PURE__*/__webpack_require__(451); +var _curry2 = /*#__PURE__*/__webpack_require__(830); -var _isPlaceholder = /*#__PURE__*/__webpack_require__(953); +var _dispatchable = /*#__PURE__*/__webpack_require__(968); -/** - * Internal curryN function. - * - * @private - * @category Function - * @param {Number} length The arity of the curried function. - * @param {Array} received An array of arguments received thus far. - * @param {Function} fn The function to curry. - * @return {Function} The curried function. - */ +var _xdropRepeatsWith = /*#__PURE__*/__webpack_require__(424); +var last = /*#__PURE__*/__webpack_require__(951); -function _curryN(length, received, fn) { - return function () { - var combined = []; - var argsIdx = 0; - var left = length; - var combinedIdx = 0; - while (combinedIdx < received.length || argsIdx < arguments.length) { - var result; - if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) { - result = received[combinedIdx]; - } else { - result = arguments[argsIdx]; - argsIdx += 1; +/** + * Returns a new list without any consecutively repeating elements. Equality is + * determined by applying the supplied predicate to each pair of consecutive elements. The + * first element in a series of equal elements will be preserved. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.14.0 + * @category List + * @sig ((a, a) -> Boolean) -> [a] -> [a] + * @param {Function} pred A predicate used to test whether two items are equal. + * @param {Array} list The array to consider. + * @return {Array} `list` without repeating elements. + * @see R.transduce + * @example + * + * const l = [1, -1, 1, 3, 4, -4, -4, -5, 5, 3, 3]; + * R.dropRepeatsWith(R.eqBy(Math.abs), l); //=> [1, 3, 4, -5, 3] + */ + + +var dropRepeatsWith = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xdropRepeatsWith, function dropRepeatsWith(pred, list) { + var result = []; + var idx = 1; + var len = list.length; + if (len !== 0) { + result[0] = list[0]; + while (idx < len) { + if (!pred(last(result), list[idx])) { + result[result.length] = list[idx]; + } + idx += 1; + } + } + return result; +})); +module.exports = dropRepeatsWith; + +/***/ }), +/* 404 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _arity = /*#__PURE__*/__webpack_require__(451); + +var _isPlaceholder = /*#__PURE__*/__webpack_require__(953); + +/** + * Internal curryN function. + * + * @private + * @category Function + * @param {Number} length The arity of the curried function. + * @param {Array} received An array of arguments received thus far. + * @param {Function} fn The function to curry. + * @return {Function} The curried function. + */ + + +function _curryN(length, received, fn) { + return function () { + var combined = []; + var argsIdx = 0; + var left = length; + var combinedIdx = 0; + while (combinedIdx < received.length || argsIdx < arguments.length) { + var result; + if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) { + result = received[combinedIdx]; + } else { + result = arguments[argsIdx]; + argsIdx += 1; } combined[combinedIdx] = result; if (!_isPlaceholder(result)) { @@ -17001,187 +16502,97 @@ module.exports = splitEvery; "use strict"; -module.exports = function(Promise, - PromiseArray, - apiRejection, - tryConvertToPromise, - INTERNAL, - debug) { +module.exports = function(Promise, INTERNAL, debug) { var util = __webpack_require__(248); -var tryCatch = util.tryCatch; +var TimeoutError = Promise.TimeoutError; -function ReductionPromiseArray(promises, fn, initialValue, _each) { - this.constructor$(promises); - var context = Promise._getContext(); - this._fn = util.contextBind(context, fn); - if (initialValue !== undefined) { - initialValue = Promise.resolve(initialValue); - initialValue._attachCancellationCallback(this); - } - this._initialValue = initialValue; - this._currentCancellable = null; - if(_each === INTERNAL) { - this._eachValues = Array(this._length); - } else if (_each === 0) { - this._eachValues = null; - } else { - this._eachValues = undefined; - } - this._promise._captureStackTrace(); - this._init$(undefined, -5); +function HandleWrapper(handle) { + this.handle = handle; } -util.inherits(ReductionPromiseArray, PromiseArray); - -ReductionPromiseArray.prototype._gotAccum = function(accum) { - if (this._eachValues !== undefined && - this._eachValues !== null && - accum !== INTERNAL) { - this._eachValues.push(accum); - } -}; - -ReductionPromiseArray.prototype._eachComplete = function(value) { - if (this._eachValues !== null) { - this._eachValues.push(value); - } - return this._eachValues; -}; - -ReductionPromiseArray.prototype._init = function() {}; - -ReductionPromiseArray.prototype._resolveEmptyArray = function() { - this._resolve(this._eachValues !== undefined ? this._eachValues - : this._initialValue); -}; - -ReductionPromiseArray.prototype.shouldCopyValues = function () { - return false; -}; - -ReductionPromiseArray.prototype._resolve = function(value) { - this._promise._resolveCallback(value); - this._values = null; -}; -ReductionPromiseArray.prototype._resultCancelled = function(sender) { - if (sender === this._initialValue) return this._cancel(); - if (this._isResolved()) return; - this._resultCancelled$(); - if (this._currentCancellable instanceof Promise) { - this._currentCancellable.cancel(); - } - if (this._initialValue instanceof Promise) { - this._initialValue.cancel(); - } +HandleWrapper.prototype._resultCancelled = function() { + clearTimeout(this.handle); }; -ReductionPromiseArray.prototype._iterate = function (values) { - this._values = values; - var value; - var i; - var length = values.length; - if (this._initialValue !== undefined) { - value = this._initialValue; - i = 0; +var afterValue = function(value) { return delay(+this).thenReturn(value); }; +var delay = Promise.delay = function (ms, value) { + var ret; + var handle; + if (value !== undefined) { + ret = Promise.resolve(value) + ._then(afterValue, null, null, ms, undefined); + if (debug.cancellation() && value instanceof Promise) { + ret._setOnCancel(value); + } } else { - value = Promise.resolve(values[0]); - i = 1; - } - - this._currentCancellable = value; - - for (var j = i; j < length; ++j) { - var maybePromise = values[j]; - if (maybePromise instanceof Promise) { - maybePromise.suppressUnhandledRejections(); + ret = new Promise(INTERNAL); + handle = setTimeout(function() { ret._fulfill(); }, +ms); + if (debug.cancellation()) { + ret._setOnCancel(new HandleWrapper(handle)); } + ret._captureStackTrace(); } + ret._setAsyncGuaranteed(); + return ret; +}; - if (!value.isRejected()) { - for (; i < length; ++i) { - var ctx = { - accum: null, - value: values[i], - index: i, - length: length, - array: this - }; - - value = value._then(gotAccum, undefined, undefined, ctx, undefined); +Promise.prototype.delay = function (ms) { + return delay(ms, this); +}; - if ((i & 127) === 0) { - value._setNoAsyncGuarantee(); - } +var afterTimeout = function (promise, message, parent) { + var err; + if (typeof message !== "string") { + if (message instanceof Error) { + err = message; + } else { + err = new TimeoutError("operation timed out"); } + } else { + err = new TimeoutError(message); } + util.markAsOriginatingFromRejection(err); + promise._attachExtraTrace(err); + promise._reject(err); - if (this._eachValues !== undefined) { - value = value - ._then(this._eachComplete, undefined, undefined, this, undefined); + if (parent != null) { + parent.cancel(); } - value._then(completed, completed, undefined, value, this); -}; - -Promise.prototype.reduce = function (fn, initialValue) { - return reduce(this, fn, initialValue, null); -}; - -Promise.reduce = function (promises, fn, initialValue, _each) { - return reduce(promises, fn, initialValue, _each); }; -function completed(valueOrReason, array) { - if (this.isFulfilled()) { - array._resolve(valueOrReason); - } else { - array._reject(valueOrReason); - } +function successClear(value) { + clearTimeout(this.handle); + return value; } -function reduce(promises, fn, initialValue, _each) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var array = new ReductionPromiseArray(promises, fn, initialValue, _each); - return array.promise(); +function failureClear(reason) { + clearTimeout(this.handle); + throw reason; } -function gotAccum(accum) { - this.accum = accum; - this.array._gotAccum(accum); - var value = tryConvertToPromise(this.value, this.array._promise); - if (value instanceof Promise) { - this.array._currentCancellable = value; - return value._then(gotValue, undefined, undefined, this, undefined); - } else { - return gotValue.call(this, value); - } -} +Promise.prototype.timeout = function (ms, message) { + ms = +ms; + var ret, parent; -function gotValue(value) { - var array = this.array; - var promise = array._promise; - var fn = tryCatch(array._fn); - promise._pushContext(); - var ret; - if (array._eachValues !== undefined) { - ret = fn.call(promise._boundValue(), value, this.index, this.length); + var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() { + if (ret.isPending()) { + afterTimeout(ret, message, parent); + } + }, ms)); + + if (debug.cancellation()) { + parent = this.then(); + ret = parent._then(successClear, failureClear, + undefined, handleWrapper, undefined); + ret._setOnCancel(handleWrapper); } else { - ret = fn.call(promise._boundValue(), - this.accum, value, this.index, this.length); - } - if (ret instanceof Promise) { - array._currentCancellable = ret; + ret = this._then(successClear, failureClear, + undefined, handleWrapper, undefined); } - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, - promiseCreated, - array._eachValues !== undefined ? "Promise.each" : "Promise.reduce", - promise - ); + return ret; -} +}; + }; @@ -17189,49 +16600,95 @@ function gotValue(value) { /* 410 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _concat = /*#__PURE__*/__webpack_require__(340); - var _curry2 = /*#__PURE__*/__webpack_require__(830); -var compose = /*#__PURE__*/__webpack_require__(944); +var concat = /*#__PURE__*/__webpack_require__(818); -var uniq = /*#__PURE__*/__webpack_require__(732); +var difference = /*#__PURE__*/__webpack_require__(275); /** - * Combines two lists into a set (i.e. no duplicates) composed of the elements - * of each list. + * Finds the set (i.e. no duplicates) of all elements contained in the first or + * second list, but not both. * * @func * @memberOf R - * @since v0.1.0 + * @since v0.19.0 * @category Relation * @sig [*] -> [*] -> [*] - * @param {Array} as The first list. - * @param {Array} bs The second list. - * @return {Array} The first and second lists concatenated, with - * duplicates removed. + * @param {Array} list1 The first list. + * @param {Array} list2 The second list. + * @return {Array} The elements in `list1` or `list2`, but not both. + * @see R.symmetricDifferenceWith, R.difference, R.differenceWith * @example * - * R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4] + * R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5] + * R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2] */ -var union = /*#__PURE__*/_curry2( /*#__PURE__*/compose(uniq, _concat)); -module.exports = union; +var symmetricDifference = /*#__PURE__*/_curry2(function symmetricDifference(list1, list2) { + return concat(difference(list1, list2), difference(list2, list1)); +}); +module.exports = symmetricDifference; + +/***/ }), +/* 411 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _validate = _interopRequireDefault(__webpack_require__(78)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!(0, _validate.default)(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +var _default = stringify; +exports.default = _default; /***/ }), -/* 411 */, /* 412 */, /* 413 */ -/***/ (function(module) { +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = __webpack_require__(141); -module.exports = require("stream"); /***/ }), /* 414 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Makes a shallow clone of an object, setting or overriding the specified @@ -17308,68 +16765,17 @@ module.exports = _makeFlat; /***/ }), /* 416 */, /* 417 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _isArray = /*#__PURE__*/__webpack_require__(930); - -/** - * This checks whether a function has a [methodname] function. If it isn't an - * array it will execute that function otherwise it will default to the ramda - * implementation. - * - * @private - * @param {Function} fn ramda implemtation - * @param {String} methodname property to check for a custom implementation - * @return {Object} Whatever the return value of the method is. - */ - +/***/ (function(module) { -function _checkForMethod(methodname, fn) { - return function () { - var length = arguments.length; - if (length === 0) { - return fn(); - } - var obj = arguments[length - 1]; - return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1)); - }; -} -module.exports = _checkForMethod; +module.exports = require("crypto"); /***/ }), /* 418 */, /* 419 */, /* 420 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _has = /*#__PURE__*/__webpack_require__(390); - -// Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign - - -function _objectAssign(target) { - if (target == null) { - throw new TypeError('Cannot convert undefined or null to object'); - } - - var output = Object(target); - var idx = 1; - var length = arguments.length; - while (idx < length) { - var source = arguments[idx]; - if (source != null) { - for (var nextKey in source) { - if (_has(nextKey, source)) { - output[nextKey] = source[nextKey]; - } - } - } - idx += 1; - } - return output; -} +/***/ (function(module) { -module.exports = typeof Object.assign === 'function' ? Object.assign : _objectAssign; +module.exports = [["0","\u0000",127],["a140"," ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚"],["a1a1","﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢",4,"~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/"],["a240","\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁",7,"▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭"],["a2a1","╮╰╯═╞╪╡◢◣◥◤╱╲╳0",9,"Ⅰ",9,"〡",8,"十卄卅A",25,"a",21],["a340","wxyzΑ",16,"Σ",6,"α",16,"σ",6,"ㄅ",10],["a3a1","ㄐ",25,"˙ˉˊˇˋ"],["a3e1","€"],["a440","一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才"],["a4a1","丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙"],["a540","世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外"],["a5a1","央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全"],["a640","共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年"],["a6a1","式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣"],["a740","作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍"],["a7a1","均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠"],["a840","杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒"],["a8a1","芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵"],["a940","咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居"],["a9a1","屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊"],["aa40","昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠"],["aaa1","炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附"],["ab40","陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品"],["aba1","哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷"],["ac40","拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗"],["aca1","活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄"],["ad40","耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥"],["ada1","迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪"],["ae40","哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙"],["aea1","恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓"],["af40","浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷"],["afa1","砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃"],["b040","虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡"],["b0a1","陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀"],["b140","娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽"],["b1a1","情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺"],["b240","毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶"],["b2a1","瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼"],["b340","莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途"],["b3a1","部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠"],["b440","婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍"],["b4a1","插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋"],["b540","溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘"],["b5a1","窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁"],["b640","詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑"],["b6a1","間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼"],["b740","媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業"],["b7a1","楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督"],["b840","睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫"],["b8a1","腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊"],["b940","辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴"],["b9a1","飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇"],["ba40","愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢"],["baa1","滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬"],["bb40","罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤"],["bba1","說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜"],["bc40","劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂"],["bca1","慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃"],["bd40","瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯"],["bda1","翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞"],["be40","輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉"],["bea1","鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡"],["bf40","濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊"],["bfa1","縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚"],["c040","錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇"],["c0a1","嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬"],["c140","瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪"],["c1a1","薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁"],["c240","駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘"],["c2a1","癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦"],["c340","鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸"],["c3a1","獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類"],["c440","願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼"],["c4a1","纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴"],["c540","護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬"],["c5a1","禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒"],["c640","讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲"],["c940","乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕"],["c9a1","氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋"],["ca40","汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘"],["caa1","吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇"],["cb40","杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓"],["cba1","芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢"],["cc40","坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋"],["cca1","怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲"],["cd40","泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺"],["cda1","矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏"],["ce40","哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛"],["cea1","峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺"],["cf40","柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂"],["cfa1","洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀"],["d040","穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪"],["d0a1","苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱"],["d140","唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧"],["d1a1","恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤"],["d240","毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸"],["d2a1","牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐"],["d340","笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢"],["d3a1","荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐"],["d440","酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅"],["d4a1","唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏"],["d540","崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟"],["d5a1","捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉"],["d640","淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏"],["d6a1","痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟"],["d740","耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷"],["d7a1","蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪"],["d840","釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷"],["d8a1","堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔"],["d940","惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒"],["d9a1","晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞"],["da40","湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖"],["daa1","琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥"],["db40","罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳"],["dba1","菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺"],["dc40","軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈"],["dca1","隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆"],["dd40","媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤"],["dda1","搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼"],["de40","毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓"],["dea1","煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓"],["df40","稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯"],["dfa1","腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤"],["e040","觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿"],["e0a1","遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠"],["e140","凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠"],["e1a1","寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉"],["e240","榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊"],["e2a1","漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓"],["e340","禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞"],["e3a1","耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻"],["e440","裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍"],["e4a1","銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘"],["e540","噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉"],["e5a1","憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒"],["e640","澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙"],["e6a1","獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟"],["e740","膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢"],["e7a1","蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧"],["e840","踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓"],["e8a1","銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮"],["e940","噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺"],["e9a1","憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸"],["ea40","澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙"],["eaa1","瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘"],["eb40","蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠"],["eba1","諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌"],["ec40","錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕"],["eca1","魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎"],["ed40","檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶"],["eda1","瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞"],["ee40","蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞"],["eea1","謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜"],["ef40","鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰"],["efa1","鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶"],["f040","璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒"],["f0a1","臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧"],["f140","蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪"],["f1a1","鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰"],["f240","徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛"],["f2a1","礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕"],["f340","譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦"],["f3a1","鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲"],["f440","嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩"],["f4a1","禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿"],["f540","鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛"],["f5a1","鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥"],["f640","蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺"],["f6a1","騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚"],["f740","糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊"],["f7a1","驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾"],["f840","讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏"],["f8a1","齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚"],["f940","纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊"],["f9a1","龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓"]]; /***/ }), /* 421 */ @@ -17437,365 +16843,838 @@ var apply = /*#__PURE__*/_curry2(function apply(fn, args) { module.exports = apply; /***/ }), -/* 423 */, -/* 424 */ +/* 423 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +const R = __webpack_require__(61); +const chalk = __webpack_require__(273); +const startTimeSpan = __webpack_require__(98); +const { distanceInWords } = __webpack_require__(684); -var _xfBase = /*#__PURE__*/__webpack_require__(60); +const { + removeNewLines, + removeTabsAndSpaces, + removeEscapedCharacters, +} = __webpack_require__(783); +const log = __webpack_require__(718); -var XDropRepeatsWith = /*#__PURE__*/function () { +const removeAllExtraCharacters = R.pipe( + removeNewLines, + removeTabsAndSpaces, + removeEscapedCharacters +); - function XDropRepeatsWith(pred, xf) { - this.xf = xf; - this.pred = pred; - this.lastValue = undefined; - this.seenFirstValue = false; - } +class GraphQLError extends Error { + constructor(errors, query, variables) { + super(JSON.stringify(errors)); + this.name = 'GraphQLError'; + this.query = removeAllExtraCharacters(query && query.query); + this.variables = variables; - XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase.init; - XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase.result; - XDropRepeatsWith.prototype['@@transducer/step'] = function (result, input) { - var sameAsLast = false; - if (!this.seenFirstValue) { - this.seenFirstValue = true; - } else if (this.pred(this.lastValue, input)) { - sameAsLast = true; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, GraphQLError); } - this.lastValue = input; - return sameAsLast ? result : this.xf['@@transducer/step'](result, input); - }; + } +} - return XDropRepeatsWith; -}(); +const getQueryName = (query) => + R.path([1], query.match(/[query|mutation] \s*(\w+)/m)) || 'unknown name'; -var _xdropRepeatsWith = /*#__PURE__*/_curry2(function _xdropRepeatsWith(pred, xf) { - return new XDropRepeatsWith(pred, xf); -}); -module.exports = _xdropRepeatsWith; +const QUERY_COST_THRESHOLD = 50; -/***/ }), -/* 425 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +const logQueryInfoAndRemainingLimits = ({ org, data, query, elapsedMs }) => { + if (!data || !data.rateLimit) return; -var _curry2 = /*#__PURE__*/__webpack_require__(830); + const { remaining, cost, limit, resetAt } = data.rateLimit; + const nextResetAt = distanceInWords(new Date(), new Date(resetAt)); -/** - * Wraps a function of any arity (including nullary) in a function that accepts - * exactly `n` parameters. Any extraneous parameters will not be passed to the - * supplied function. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig Number -> (* -> a) -> (* -> a) - * @param {Number} n The desired arity of the new function. - * @param {Function} fn The function to wrap. - * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of - * arity `n`. - * @see R.binary, R.unary - * @example - * - * const takesTwoArgs = (a, b) => [a, b]; - * - * takesTwoArgs.length; //=> 2 - * takesTwoArgs(1, 2); //=> [1, 2] - * - * const takesOneArg = R.nAry(1, takesTwoArgs); - * takesOneArg.length; //=> 1 - * // Only `n` arguments are passed to the wrapped function - * takesOneArg(1, 2); //=> [1, undefined] - * @symb R.nAry(0, f)(a, b) = f() - * @symb R.nAry(1, f)(a, b) = f(a) - * @symb R.nAry(2, f)(a, b) = f(a, b) - */ + if (cost > QUERY_COST_THRESHOLD) { + log.warn( + // eslint-disable-next-line prefer-template + chalk`Expensive GraphQL query detected, cost={red ${cost}}, ` + + chalk`{white ${remaining}/${limit}} available per hour. ` + + `query="${query.slice(0, 200)}...", org=${org}` + ); + log.cyan(`Next reset in ${nextResetAt}`); + } + const remainingPercent = Math.round((remaining / limit) * 100); -var nAry = /*#__PURE__*/_curry2(function nAry(n, fn) { - switch (n) { - case 0: - return function () { - return fn.call(this); - }; - case 1: - return function (a0) { - return fn.call(this, a0); - }; - case 2: - return function (a0, a1) { - return fn.call(this, a0, a1); - }; - case 3: - return function (a0, a1, a2) { - return fn.call(this, a0, a1, a2); - }; - case 4: - return function (a0, a1, a2, a3) { - return fn.call(this, a0, a1, a2, a3); - }; - case 5: - return function (a0, a1, a2, a3, a4) { - return fn.call(this, a0, a1, a2, a3, a4); - }; - case 6: - return function (a0, a1, a2, a3, a4, a5) { - return fn.call(this, a0, a1, a2, a3, a4, a5); - }; - case 7: - return function (a0, a1, a2, a3, a4, a5, a6) { - return fn.call(this, a0, a1, a2, a3, a4, a5, a6); - }; - case 8: - return function (a0, a1, a2, a3, a4, a5, a6, a7) { - return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7); - }; - case 9: - return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) { - return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8); - }; - case 10: - return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { - return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); - }; - default: - throw new Error('First argument to nAry must be a non-negative integer no greater than ten'); + if (remainingPercent < 10) { + log.warn( + `Less than 10% of Github GraphQL API limit remaining ` + + `${chalk`{red ${remaining}}/${limit} available per hour.`}` + ); } -}); -module.exports = nAry; - -/***/ }), -/* 426 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -var Buffer = __webpack_require__(572).Buffer; - -// Note: UTF16-LE (or UCS2) codec is Node.js native. See encodings/internal.js - -// == UTF16-BE codec. ========================================================== - -exports.utf16be = Utf16BECodec; -function Utf16BECodec() { -} - -Utf16BECodec.prototype.encoder = Utf16BEEncoder; -Utf16BECodec.prototype.decoder = Utf16BEDecoder; -Utf16BECodec.prototype.bomAware = true; + const queryName = getQueryName(query); + log.info( + `${chalk`{blue GraphQl query name=${queryName}} cost=${cost}, remaining=${remaining}, limit=${limit}, `}remainingPercent=${remainingPercent}, resetAt=${resetAt}, nextResetAt=${nextResetAt}, ` + + `githubOrg=${org}, elapsedMs=${elapsedMs}ms` + ); -// -- Encoding + if (queryName === 'unknown name') { + log.info( + `Query that does not have a name: query=${removeAllExtraCharacters( + query + )}` + ); + } +}; -function Utf16BEEncoder() { -} +const logMutationInfo = ({ org, mutation, elapsedMs }) => { + const mutationName = getQueryName(mutation); -Utf16BEEncoder.prototype.write = function(str) { - var buf = Buffer.from(str, 'ucs2'); - for (var i = 0; i < buf.length; i += 2) { - var tmp = buf[i]; buf[i] = buf[i+1]; buf[i+1] = tmp; - } - return buf; -} + log.info( + chalk`{blue GraphQl mutation name=${mutationName}}, githubOrg=${org}, elapsedMs=${elapsedMs}ms` + ); -Utf16BEEncoder.prototype.end = function() { -} + if (mutationName === 'unknown name') { + log.info( + `Query that does not have a name: query=${removeAllExtraCharacters( + mutation + )}` + ); + } +}; +const graphql = (octokit, org, { operationType }) => async ( + query, + variables, + headers +) => { + // rate limit only works for queries + if (!query.query.includes('rateLimit') && operationType === 'query') { + log.warn( + 'Detected graphql query that does not include "rateLimit"' + + ' Every Github GraphQL query should include the following query: \n', + `rateLimit { + limit + cost + remaining + resetAt + }` + ); + } -// -- Decoding + const endTimeSpan = startTimeSpan(); + const resp = await octokit.request({ + headers: { + accept: + // enable isDraft preview + 'application/vnd.github.shadow-cat-preview+json, ' + + // enable and mergeStateStatus + 'application/vnd.github.merge-info-preview+json, ' + + // enable Checks (Check Suites) + 'application/vnd.github.antiope-preview+json', + 'content-type': 'application/json', + ...headers, + }, + method: 'POST', + url: '/graphql', -function Utf16BEDecoder() { - this.overflowByte = -1; -} + query: query.query, + variables: query.variables, + }); -Utf16BEDecoder.prototype.write = function(buf) { - if (buf.length == 0) - return ''; + if (resp.status !== 200) { + log.warn(`Got non 200 HTTP status from GraphQL status=${resp.status}`); + } - var buf2 = Buffer.alloc(buf.length + 1), - i = 0, j = 0; + const elapsedMs = Math.round(endTimeSpan()); + const { data, errors } = resp.data; + const cleanedUpQuery = removeAllExtraCharacters(query.query); - if (this.overflowByte !== -1) { - buf2[0] = buf[0]; - buf2[1] = this.overflowByte; - i = 1; j = 2; - } + if (operationType === 'query') { + logQueryInfoAndRemainingLimits({ + org, + data, + query: cleanedUpQuery, + elapsedMs, + }); + } else if (operationType === 'mutation') { + logMutationInfo({ org, mutation: cleanedUpQuery, elapsedMs }); + } - for (; i < buf.length-1; i += 2, j+= 2) { - buf2[j] = buf[i+1]; - buf2[j+1] = buf[i]; + if (errors) { + log.warn( + 'Graphql query returned some errors: ', + R.pipe(R.pluck('message'), R.uniq)(errors), + 'Total errors: ', + errors.length + ); + // it's "nomral" to have errors if data property is non empty + // those could be due to lack of permissions, but API would still retur + // partial results + if (!data) { + throw new GraphQLError(errors, cleanedUpQuery, variables); } + } - this.overflowByte = (i == buf.length-1) ? buf[buf.length-1] : -1; - - return buf2.slice(0, j).toString('ucs2'); -} + return data; +}; -Utf16BEDecoder.prototype.end = function() { +// eslint-disable-next-line no-unused-vars +function addGraphQL(octokit, org, user = '') { + octokit.query = graphql(octokit, org, { operationType: 'query' }); + octokit.mutation = graphql(octokit, org, { operationType: 'mutation' }); } +module.exports = addGraphQL; -// == UTF-16 codec ============================================================= -// Decoder chooses automatically from UTF-16LE and UTF-16BE using BOM and space-based heuristic. -// Defaults to UTF-16LE, as it's prevalent and default in Node. -// http://en.wikipedia.org/wiki/UTF-16 and http://encoding.spec.whatwg.org/#utf-16le -// Decoder default can be changed: iconv.decode(buf, 'utf16', {defaultEncoding: 'utf-16be'}); - -// Encoder uses UTF-16LE and prepends BOM (which can be overridden with addBOM: false). - -exports.utf16 = Utf16Codec; -function Utf16Codec(codecOptions, iconv) { - this.iconv = iconv; -} - -Utf16Codec.prototype.encoder = Utf16Encoder; -Utf16Codec.prototype.decoder = Utf16Decoder; +/***/ }), +/* 424 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -// -- Encoding (pass-through) +var _curry2 = /*#__PURE__*/__webpack_require__(830); -function Utf16Encoder(options, codec) { - options = options || {}; - if (options.addBOM === undefined) - options.addBOM = true; - this.encoder = codec.iconv.getEncoder('utf-16le', options); -} +var _xfBase = /*#__PURE__*/__webpack_require__(60); -Utf16Encoder.prototype.write = function(str) { - return this.encoder.write(str); -} +var XDropRepeatsWith = /*#__PURE__*/function () { -Utf16Encoder.prototype.end = function() { - return this.encoder.end(); -} + function XDropRepeatsWith(pred, xf) { + this.xf = xf; + this.pred = pred; + this.lastValue = undefined; + this.seenFirstValue = false; + } + XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase.init; + XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase.result; + XDropRepeatsWith.prototype['@@transducer/step'] = function (result, input) { + var sameAsLast = false; + if (!this.seenFirstValue) { + this.seenFirstValue = true; + } else if (this.pred(this.lastValue, input)) { + sameAsLast = true; + } + this.lastValue = input; + return sameAsLast ? result : this.xf['@@transducer/step'](result, input); + }; -// -- Decoding + return XDropRepeatsWith; +}(); -function Utf16Decoder(options, codec) { - this.decoder = null; - this.initialBytes = []; - this.initialBytesLen = 0; +var _xdropRepeatsWith = /*#__PURE__*/_curry2(function _xdropRepeatsWith(pred, xf) { + return new XDropRepeatsWith(pred, xf); +}); +module.exports = _xdropRepeatsWith; - this.options = options || {}; - this.iconv = codec.iconv; -} +/***/ }), +/* 425 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { -Utf16Decoder.prototype.write = function(buf) { - if (!this.decoder) { - // Codec is not chosen yet. Accumulate initial bytes. - this.initialBytes.push(buf); - this.initialBytesLen += buf.length; - - if (this.initialBytesLen < 16) // We need more bytes to use space heuristic (see below) - return ''; +"use strict"; - // We have enough bytes -> detect endianness. - var buf = Buffer.concat(this.initialBytes), - encoding = detectEncoding(buf, this.options.defaultEncoding); - this.decoder = this.iconv.getDecoder(encoding, this.options); - this.initialBytes.length = this.initialBytesLen = 0; +/* eslint-disable @typescript-eslint/no-explicit-any */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; +const http = __importStar(__webpack_require__(605)); +const https = __importStar(__webpack_require__(211)); +const pm = __importStar(__webpack_require__(177)); +const tunnel = __importStar(__webpack_require__(413)); +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers = exports.Headers || (exports.Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; } - - return this.decoder.write(buf); -} - -Utf16Decoder.prototype.end = function() { - if (!this.decoder) { - var buf = Buffer.concat(this.initialBytes), - encoding = detectEncoding(buf, this.options.defaultEncoding); - this.decoder = this.iconv.getDecoder(encoding, this.options); - - var res = this.decoder.write(buf), - trail = this.decoder.end(); - - return trail ? (res + trail) : res; + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + })); + }); } - return this.decoder.end(); } - -function detectEncoding(buf, defaultEncoding) { - var enc = defaultEncoding || 'utf-16le'; - - if (buf.length >= 2) { - // Check BOM. - if (buf[0] == 0xFE && buf[1] == 0xFF) // UTF-16BE BOM - enc = 'utf-16be'; - else if (buf[0] == 0xFF && buf[1] == 0xFE) // UTF-16LE BOM - enc = 'utf-16le'; +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + const res = yield this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + postJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + do { + response = yield this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler of this.handlers) { + if (handler.canHandleAuthentication(response)) { + authenticationHandler = handler; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + const parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol === 'https:' && + parsedUrl.protocol !== parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + yield response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || + !HttpResponseRetryCodes.includes(response.message.statusCode)) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } while (numTries < maxTries); + return response; + }); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } + else if (!res) { + // If `err` is not passed, then `res` must be passed. + reject(new Error('Unknown error')); + } + else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === 'string') { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + const req = info.httpModule.request(info.options, (msg) => { + const res = new HttpClientResponse(msg); + handleResult(undefined, res); + }); + let socket; + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error(`Request timeout: ${info.options.path}`)); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } else { - // No BOM found. Try to deduce encoding from initial content. - // Most of the time, the content has ASCII chars (U+00**), but the opposite (U+**00) is uncommon. - // So, we count ASCII as if it was LE or BE, and decide from that. - var asciiCharsLE = 0, asciiCharsBE = 0, // Counts of chars in both positions - _len = Math.min(buf.length - (buf.length % 2), 64); // Len is always even. - - for (var i = 0; i < _len; i += 2) { - if (buf[i] === 0 && buf[i+1] !== 0) asciiCharsBE++; - if (buf[i] !== 0 && buf[i+1] === 0) asciiCharsLE++; + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + const parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + for (const handler of this.handlers) { + handler.prepareRequest(info.options); } - - if (asciiCharsBE > asciiCharsLE) - enc = 'utf-16be'; - else if (asciiCharsBE < asciiCharsLE) - enc = 'utf-16le'; } + return info; + } + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. + if (proxyUrl && proxyUrl.hostname) { + const agentOptions = { + maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + })), { host: proxyUrl.hostname, port: proxyUrl.port }) + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if reusing agent across request and tunneling agent isn't assigned create a new agent + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + // if not using private agent and tunnel agent isn't setup then use global agent + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + }); + } + _processResponse(res, options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0; + const response = { + statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + // get the result from the body + function dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + const a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + let obj; + let contents; + try { + contents = yield res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + })); + }); } - - return enc; -} - - - - -/***/ }), -/* 427 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -// Older verions of Node.js might not have `util.getSystemErrorName()`. -// In that case, fall back to a deprecated internal. -const util = __webpack_require__(669); - -let uv; - -if (typeof util.getSystemErrorName === 'function') { - module.exports = util.getSystemErrorName; -} else { - try { - uv = process.binding('uv'); - - if (typeof uv.errname !== 'function') { - throw new TypeError('uv.errname is not a function'); - } - } catch (err) { - console.error('execa/lib/errname: unable to establish process.binding(\'uv\')', err); - uv = null; - } - - module.exports = code => errname(uv, code); -} - -// Used for testing the fallback behavior -module.exports.__test__ = errname; - -function errname(uv, code) { - if (uv) { - return uv.errname(code); - } - - if (!(code < 0)) { - throw new Error('err >= 0'); - } - - return `Unknown system error ${code}`; } - - +exports.HttpClient = HttpClient; +const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); +//# sourceMappingURL=index.js.map /***/ }), +/* 426 */, +/* 427 */, /* 428 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -17840,65 +17719,45 @@ module.exports = startOfWeek /***/ }), -/* 429 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var parse = __webpack_require__(751) -var startOfISOYear = __webpack_require__(712) -var differenceInCalendarDays = __webpack_require__(228) - -/** - * @category ISO Week-Numbering Year Helpers - * @summary Set the ISO week-numbering year to the given date. - * - * @description - * Set the ISO week-numbering year to the given date, - * saving the week number and the weekday number. - * - * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} isoYear - the ISO week-numbering year of the new date - * @returns {Date} the new date with the ISO week-numbering year setted - * - * @example - * // Set ISO week-numbering year 2007 to 29 December 2008: - * var result = setISOYear(new Date(2008, 11, 29), 2007) - * //=> Mon Jan 01 2007 00:00:00 - */ -function setISOYear (dirtyDate, dirtyISOYear) { - var date = parse(dirtyDate) - var isoYear = Number(dirtyISOYear) - var diff = differenceInCalendarDays(date, startOfISOYear(date)) - var fourthOfJanuary = new Date(0) - fourthOfJanuary.setFullYear(isoYear, 0, 4) - fourthOfJanuary.setHours(0, 0, 0, 0) - date = startOfISOYear(fourthOfJanuary) - date.setDate(date.getDate() + diff) - return date -} - -module.exports = setISOYear - - -/***/ }), +/* 429 */, /* 430 */, /* 431 */ /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; Object.defineProperty(exports, "__esModule", { value: true }); -const os = __webpack_require__(87); +exports.issue = exports.issueCommand = void 0; +const os = __importStar(__webpack_require__(87)); +const utils_1 = __webpack_require__(82); /** * Commands * * Command Format: - * ##[name key=value;key=value]message + * ::name key=value,key=value::message * * Examples: - * ##[warning]This is the user warning message - * ##[set-secret name=mypassword]definitelyNotAPassword! + * ::warning::This is the message + * ::set-env name=MY_VAR::some value */ function issueCommand(command, properties, message) { const cmd = new Command(command, properties, message); @@ -17923,90 +17782,148 @@ class Command { let cmdStr = CMD_STRING + this.command; if (this.properties && Object.keys(this.properties).length > 0) { cmdStr += ' '; + let first = true; for (const key in this.properties) { if (this.properties.hasOwnProperty(key)) { const val = this.properties[key]; if (val) { - // safely append the val - avoid blowing up when attempting to - // call .replace() if message is not a string for some reason - cmdStr += `${key}=${escape(`${val || ''}`)},`; + if (first) { + first = false; + } + else { + cmdStr += ','; + } + cmdStr += `${key}=${escapeProperty(val)}`; } } } } - cmdStr += CMD_STRING; - // safely append the message - avoid blowing up when attempting to - // call .replace() if message is not a string for some reason - const message = `${this.message || ''}`; - cmdStr += escapeData(message); + cmdStr += `${CMD_STRING}${escapeData(this.message)}`; return cmdStr; } } function escapeData(s) { - return s.replace(/\r/g, '%0D').replace(/\n/g, '%0A'); + return utils_1.toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A'); } -function escape(s) { - return s +function escapeProperty(s) { + return utils_1.toCommandValue(s) + .replace(/%/g, '%25') .replace(/\r/g, '%0D') .replace(/\n/g, '%0A') - .replace(/]/g, '%5D') - .replace(/;/g, '%3B'); + .replace(/:/g, '%3A') + .replace(/,/g, '%2C'); } //# sourceMappingURL=command.js.map /***/ }), /* 432 */ -/***/ (function(module) { - -module.exports = [["0","\u0000",127],["8141","갂갃갅갆갋",4,"갘갞갟갡갢갣갥",6,"갮갲갳갴"],["8161","갵갶갷갺갻갽갾갿걁",9,"걌걎",5,"걕"],["8181","걖걗걙걚걛걝",18,"걲걳걵걶걹걻",4,"겂겇겈겍겎겏겑겒겓겕",6,"겞겢",5,"겫겭겮겱",6,"겺겾겿곀곂곃곅곆곇곉곊곋곍",7,"곖곘",7,"곢곣곥곦곩곫곭곮곲곴곷",4,"곾곿괁괂괃괅괇",4,"괎괐괒괓"],["8241","괔괕괖괗괙괚괛괝괞괟괡",7,"괪괫괮",5],["8261","괶괷괹괺괻괽",6,"굆굈굊",5,"굑굒굓굕굖굗"],["8281","굙",7,"굢굤",7,"굮굯굱굲굷굸굹굺굾궀궃",4,"궊궋궍궎궏궑",10,"궞",5,"궥",17,"궸",7,"귂귃귅귆귇귉",6,"귒귔",7,"귝귞귟귡귢귣귥",18],["8341","귺귻귽귾긂",5,"긊긌긎",5,"긕",7],["8361","긝",18,"긲긳긵긶긹긻긼"],["8381","긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗",4,"깞깢깣깤깦깧깪깫깭깮깯깱",6,"깺깾",5,"꺆",5,"꺍",46,"꺿껁껂껃껅",6,"껎껒",5,"껚껛껝",8],["8441","껦껧껩껪껬껮",5,"껵껶껷껹껺껻껽",8],["8461","꼆꼉꼊꼋꼌꼎꼏꼑",18],["8481","꼤",7,"꼮꼯꼱꼳꼵",6,"꼾꽀꽄꽅꽆꽇꽊",5,"꽑",10,"꽞",5,"꽦",18,"꽺",5,"꾁꾂꾃꾅꾆꾇꾉",6,"꾒꾓꾔꾖",5,"꾝",26,"꾺꾻꾽꾾"],["8541","꾿꿁",5,"꿊꿌꿏",4,"꿕",6,"꿝",4],["8561","꿢",5,"꿪",5,"꿲꿳꿵꿶꿷꿹",6,"뀂뀃"],["8581","뀅",6,"뀍뀎뀏뀑뀒뀓뀕",6,"뀞",9,"뀩",26,"끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞",29,"끾끿낁낂낃낅",6,"낎낐낒",5,"낛낝낞낣낤"],["8641","낥낦낧낪낰낲낶낷낹낺낻낽",6,"냆냊",5,"냒"],["8661","냓냕냖냗냙",6,"냡냢냣냤냦",10],["8681","냱",22,"넊넍넎넏넑넔넕넖넗넚넞",4,"넦넧넩넪넫넭",6,"넶넺",5,"녂녃녅녆녇녉",6,"녒녓녖녗녙녚녛녝녞녟녡",22,"녺녻녽녾녿놁놃",4,"놊놌놎놏놐놑놕놖놗놙놚놛놝"],["8741","놞",9,"놩",15],["8761","놹",18,"뇍뇎뇏뇑뇒뇓뇕"],["8781","뇖",5,"뇞뇠",7,"뇪뇫뇭뇮뇯뇱",7,"뇺뇼뇾",5,"눆눇눉눊눍",6,"눖눘눚",5,"눡",18,"눵",6,"눽",26,"뉙뉚뉛뉝뉞뉟뉡",6,"뉪",4],["8841","뉯",4,"뉶",5,"뉽",6,"늆늇늈늊",4],["8861","늏늒늓늕늖늗늛",4,"늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷"],["8881","늸",15,"닊닋닍닎닏닑닓",4,"닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉",6,"댒댖",5,"댝",54,"덗덙덚덝덠덡덢덣"],["8941","덦덨덪덬덭덯덲덳덵덶덷덹",6,"뎂뎆",5,"뎍"],["8961","뎎뎏뎑뎒뎓뎕",10,"뎢",5,"뎩뎪뎫뎭"],["8981","뎮",21,"돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩",18,"돽",18,"됑",6,"됙됚됛됝됞됟됡",6,"됪됬",7,"됵",15],["8a41","둅",10,"둒둓둕둖둗둙",6,"둢둤둦"],["8a61","둧",4,"둭",18,"뒁뒂"],["8a81","뒃",4,"뒉",19,"뒞",5,"뒥뒦뒧뒩뒪뒫뒭",7,"뒶뒸뒺",5,"듁듂듃듅듆듇듉",6,"듑듒듓듔듖",5,"듞듟듡듢듥듧",4,"듮듰듲",5,"듹",26,"딖딗딙딚딝"],["8b41","딞",5,"딦딫",4,"딲딳딵딶딷딹",6,"땂땆"],["8b61","땇땈땉땊땎땏땑땒땓땕",6,"땞땢",8],["8b81","땫",52,"떢떣떥떦떧떩떬떭떮떯떲떶",4,"떾떿뗁뗂뗃뗅",6,"뗎뗒",5,"뗙",18,"뗭",18],["8c41","똀",15,"똒똓똕똖똗똙",4],["8c61","똞",6,"똦",5,"똭",6,"똵",5],["8c81","똻",12,"뙉",26,"뙥뙦뙧뙩",50,"뚞뚟뚡뚢뚣뚥",5,"뚭뚮뚯뚰뚲",16],["8d41","뛃",16,"뛕",8],["8d61","뛞",17,"뛱뛲뛳뛵뛶뛷뛹뛺"],["8d81","뛻",4,"뜂뜃뜄뜆",33,"뜪뜫뜭뜮뜱",6,"뜺뜼",7,"띅띆띇띉띊띋띍",6,"띖",9,"띡띢띣띥띦띧띩",6,"띲띴띶",5,"띾띿랁랂랃랅",6,"랎랓랔랕랚랛랝랞"],["8e41","랟랡",6,"랪랮",5,"랶랷랹",8],["8e61","럂",4,"럈럊",19],["8e81","럞",13,"럮럯럱럲럳럵",6,"럾렂",4,"렊렋렍렎렏렑",6,"렚렜렞",5,"렦렧렩렪렫렭",6,"렶렺",5,"롁롂롃롅",11,"롒롔",7,"롞롟롡롢롣롥",6,"롮롰롲",5,"롹롺롻롽",7],["8f41","뢅",7,"뢎",17],["8f61","뢠",7,"뢩",6,"뢱뢲뢳뢵뢶뢷뢹",4],["8f81","뢾뢿룂룄룆",5,"룍룎룏룑룒룓룕",7,"룞룠룢",5,"룪룫룭룮룯룱",6,"룺룼룾",5,"뤅",18,"뤙",6,"뤡",26,"뤾뤿륁륂륃륅",6,"륍륎륐륒",5],["9041","륚륛륝륞륟륡",6,"륪륬륮",5,"륶륷륹륺륻륽"],["9061","륾",5,"릆릈릋릌릏",15],["9081","릟",12,"릮릯릱릲릳릵",6,"릾맀맂",5,"맊맋맍맓",4,"맚맜맟맠맢맦맧맩맪맫맭",6,"맶맻",4,"먂",5,"먉",11,"먖",33,"먺먻먽먾먿멁멃멄멅멆"],["9141","멇멊멌멏멐멑멒멖멗멙멚멛멝",6,"멦멪",5],["9161","멲멳멵멶멷멹",9,"몆몈몉몊몋몍",5],["9181","몓",20,"몪몭몮몯몱몳",4,"몺몼몾",5,"뫅뫆뫇뫉",14,"뫚",33,"뫽뫾뫿묁묂묃묅",7,"묎묐묒",5,"묙묚묛묝묞묟묡",6],["9241","묨묪묬",7,"묷묹묺묿",4,"뭆뭈뭊뭋뭌뭎뭑뭒"],["9261","뭓뭕뭖뭗뭙",7,"뭢뭤",7,"뭭",4],["9281","뭲",21,"뮉뮊뮋뮍뮎뮏뮑",18,"뮥뮦뮧뮩뮪뮫뮭",6,"뮵뮶뮸",7,"믁믂믃믅믆믇믉",6,"믑믒믔",35,"믺믻믽믾밁"],["9341","밃",4,"밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵"],["9361","밶밷밹",6,"뱂뱆뱇뱈뱊뱋뱎뱏뱑",8],["9381","뱚뱛뱜뱞",37,"벆벇벉벊벍벏",4,"벖벘벛",4,"벢벣벥벦벩",6,"벲벶",5,"벾벿볁볂볃볅",7,"볎볒볓볔볖볗볙볚볛볝",22,"볷볹볺볻볽"],["9441","볾",5,"봆봈봊",5,"봑봒봓봕",8],["9461","봞",5,"봥",6,"봭",12],["9481","봺",5,"뵁",6,"뵊뵋뵍뵎뵏뵑",6,"뵚",9,"뵥뵦뵧뵩",22,"붂붃붅붆붋",4,"붒붔붖붗붘붛붝",6,"붥",10,"붱",6,"붹",24],["9541","뷒뷓뷖뷗뷙뷚뷛뷝",11,"뷪",5,"뷱"],["9561","뷲뷳뷵뷶뷷뷹",6,"븁븂븄븆",5,"븎븏븑븒븓"],["9581","븕",6,"븞븠",35,"빆빇빉빊빋빍빏",4,"빖빘빜빝빞빟빢빣빥빦빧빩빫",4,"빲빶",4,"빾빿뺁뺂뺃뺅",6,"뺎뺒",5,"뺚",13,"뺩",14],["9641","뺸",23,"뻒뻓"],["9661","뻕뻖뻙",6,"뻡뻢뻦",5,"뻭",8],["9681","뻶",10,"뼂",5,"뼊",13,"뼚뼞",33,"뽂뽃뽅뽆뽇뽉",6,"뽒뽓뽔뽖",44],["9741","뾃",16,"뾕",8],["9761","뾞",17,"뾱",7],["9781","뾹",11,"뿆",5,"뿎뿏뿑뿒뿓뿕",6,"뿝뿞뿠뿢",89,"쀽쀾쀿"],["9841","쁀",16,"쁒",5,"쁙쁚쁛"],["9861","쁝쁞쁟쁡",6,"쁪",15],["9881","쁺",21,"삒삓삕삖삗삙",6,"삢삤삦",5,"삮삱삲삷",4,"삾샂샃샄샆샇샊샋샍샎샏샑",6,"샚샞",5,"샦샧샩샪샫샭",6,"샶샸샺",5,"섁섂섃섅섆섇섉",6,"섑섒섓섔섖",5,"섡섢섥섨섩섪섫섮"],["9941","섲섳섴섵섷섺섻섽섾섿셁",6,"셊셎",5,"셖셗"],["9961","셙셚셛셝",6,"셦셪",5,"셱셲셳셵셶셷셹셺셻"],["9981","셼",8,"솆",5,"솏솑솒솓솕솗",4,"솞솠솢솣솤솦솧솪솫솭솮솯솱",11,"솾",5,"쇅쇆쇇쇉쇊쇋쇍",6,"쇕쇖쇙",6,"쇡쇢쇣쇥쇦쇧쇩",6,"쇲쇴",7,"쇾쇿숁숂숃숅",6,"숎숐숒",5,"숚숛숝숞숡숢숣"],["9a41","숤숥숦숧숪숬숮숰숳숵",16],["9a61","쉆쉇쉉",6,"쉒쉓쉕쉖쉗쉙",6,"쉡쉢쉣쉤쉦"],["9a81","쉧",4,"쉮쉯쉱쉲쉳쉵",6,"쉾슀슂",5,"슊",5,"슑",6,"슙슚슜슞",5,"슦슧슩슪슫슮",5,"슶슸슺",33,"싞싟싡싢싥",5,"싮싰싲싳싴싵싷싺싽싾싿쌁",6,"쌊쌋쌎쌏"],["9b41","쌐쌑쌒쌖쌗쌙쌚쌛쌝",6,"쌦쌧쌪",8],["9b61","쌳",17,"썆",7],["9b81","썎",25,"썪썫썭썮썯썱썳",4,"썺썻썾",5,"쎅쎆쎇쎉쎊쎋쎍",50,"쏁",22,"쏚"],["9c41","쏛쏝쏞쏡쏣",4,"쏪쏫쏬쏮",5,"쏶쏷쏹",5],["9c61","쏿",8,"쐉",6,"쐑",9],["9c81","쐛",8,"쐥",6,"쐭쐮쐯쐱쐲쐳쐵",6,"쐾",9,"쑉",26,"쑦쑧쑩쑪쑫쑭",6,"쑶쑷쑸쑺",5,"쒁",18,"쒕",6,"쒝",12],["9d41","쒪",13,"쒹쒺쒻쒽",8],["9d61","쓆",25],["9d81","쓠",8,"쓪",5,"쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂",9,"씍씎씏씑씒씓씕",6,"씝",10,"씪씫씭씮씯씱",6,"씺씼씾",5,"앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩",6,"앲앶",5,"앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔"],["9e41","얖얙얚얛얝얞얟얡",7,"얪",9,"얶"],["9e61","얷얺얿",4,"엋엍엏엒엓엕엖엗엙",6,"엢엤엦엧"],["9e81","엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑",6,"옚옝",6,"옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉",6,"왒왖",5,"왞왟왡",10,"왭왮왰왲",5,"왺왻왽왾왿욁",6,"욊욌욎",5,"욖욗욙욚욛욝",6,"욦"],["9f41","욨욪",5,"욲욳욵욶욷욻",4,"웂웄웆",5,"웎"],["9f61","웏웑웒웓웕",6,"웞웟웢",5,"웪웫웭웮웯웱웲"],["9f81","웳",4,"웺웻웼웾",5,"윆윇윉윊윋윍",6,"윖윘윚",5,"윢윣윥윦윧윩",6,"윲윴윶윸윹윺윻윾윿읁읂읃읅",4,"읋읎읐읙읚읛읝읞읟읡",6,"읩읪읬",7,"읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛",4,"잢잧",4,"잮잯잱잲잳잵잶잷"],["a041","잸잹잺잻잾쟂",5,"쟊쟋쟍쟏쟑",6,"쟙쟚쟛쟜"],["a061","쟞",5,"쟥쟦쟧쟩쟪쟫쟭",13],["a081","쟻",4,"젂젃젅젆젇젉젋",4,"젒젔젗",4,"젞젟젡젢젣젥",6,"젮젰젲",5,"젹젺젻젽젾젿졁",6,"졊졋졎",5,"졕",26,"졲졳졵졶졷졹졻",4,"좂좄좈좉좊좎",5,"좕",7,"좞좠좢좣좤"],["a141","좥좦좧좩",18,"좾좿죀죁"],["a161","죂죃죅죆죇죉죊죋죍",6,"죖죘죚",5,"죢죣죥"],["a181","죦",14,"죶",5,"죾죿줁줂줃줇",4,"줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈",9,"±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬"],["a241","줐줒",5,"줙",18],["a261","줭",6,"줵",18],["a281","쥈",7,"쥒쥓쥕쥖쥗쥙",6,"쥢쥤",7,"쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®"],["a341","쥱쥲쥳쥵",6,"쥽",10,"즊즋즍즎즏"],["a361","즑",6,"즚즜즞",16],["a381","즯",16,"짂짃짅짆짉짋",4,"짒짔짗짘짛!",58,"₩]",32," ̄"],["a441","짞짟짡짣짥짦짨짩짪짫짮짲",5,"짺짻짽짾짿쨁쨂쨃쨄"],["a461","쨅쨆쨇쨊쨎",5,"쨕쨖쨗쨙",12],["a481","쨦쨧쨨쨪",28,"ㄱ",93],["a541","쩇",4,"쩎쩏쩑쩒쩓쩕",6,"쩞쩢",5,"쩩쩪"],["a561","쩫",17,"쩾",5,"쪅쪆"],["a581","쪇",16,"쪙",14,"ⅰ",9],["a5b0","Ⅰ",9],["a5c1","Α",16,"Σ",6],["a5e1","α",16,"σ",6],["a641","쪨",19,"쪾쪿쫁쫂쫃쫅"],["a661","쫆",5,"쫎쫐쫒쫔쫕쫖쫗쫚",5,"쫡",6],["a681","쫨쫩쫪쫫쫭",6,"쫵",18,"쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃",7],["a741","쬋",4,"쬑쬒쬓쬕쬖쬗쬙",6,"쬢",7],["a761","쬪",22,"쭂쭃쭄"],["a781","쭅쭆쭇쭊쭋쭍쭎쭏쭑",6,"쭚쭛쭜쭞",5,"쭥",7,"㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙",9,"㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰",9,"㎀",4,"㎺",5,"㎐",4,"Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆"],["a841","쭭",10,"쭺",14],["a861","쮉",18,"쮝",6],["a881","쮤",19,"쮹",11,"ÆЪĦ"],["a8a6","IJ"],["a8a8","ĿŁØŒºÞŦŊ"],["a8b1","㉠",27,"ⓐ",25,"①",14,"½⅓⅔¼¾⅛⅜⅝⅞"],["a941","쯅",14,"쯕",10],["a961","쯠쯡쯢쯣쯥쯦쯨쯪",18],["a981","쯽",14,"찎찏찑찒찓찕",6,"찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀",27,"⒜",25,"⑴",14,"¹²³⁴ⁿ₁₂₃₄"],["aa41","찥찦찪찫찭찯찱",6,"찺찿",4,"챆챇챉챊챋챍챎"],["aa61","챏",4,"챖챚",5,"챡챢챣챥챧챩",6,"챱챲"],["aa81","챳챴챶",29,"ぁ",82],["ab41","첔첕첖첗첚첛첝첞첟첡",6,"첪첮",5,"첶첷첹"],["ab61","첺첻첽",6,"쳆쳈쳊",5,"쳑쳒쳓쳕",5],["ab81","쳛",8,"쳥",6,"쳭쳮쳯쳱",12,"ァ",85],["ac41","쳾쳿촀촂",5,"촊촋촍촎촏촑",6,"촚촜촞촟촠"],["ac61","촡촢촣촥촦촧촩촪촫촭",11,"촺",4],["ac81","촿",28,"쵝쵞쵟А",5,"ЁЖ",25],["acd1","а",5,"ёж",25],["ad41","쵡쵢쵣쵥",6,"쵮쵰쵲",5,"쵹",7],["ad61","춁",6,"춉",10,"춖춗춙춚춛춝춞춟"],["ad81","춠춡춢춣춦춨춪",5,"춱",18,"췅"],["ae41","췆",5,"췍췎췏췑",16],["ae61","췢",5,"췩췪췫췭췮췯췱",6,"췺췼췾",4],["ae81","츃츅츆츇츉츊츋츍",6,"츕츖츗츘츚",5,"츢츣츥츦츧츩츪츫"],["af41","츬츭츮츯츲츴츶",19],["af61","칊",13,"칚칛칝칞칢",5,"칪칬"],["af81","칮",5,"칶칷칹칺칻칽",6,"캆캈캊",5,"캒캓캕캖캗캙"],["b041","캚",5,"캢캦",5,"캮",12],["b061","캻",5,"컂",19],["b081","컖",13,"컦컧컩컪컭",6,"컶컺",5,"가각간갇갈갉갊감",7,"같",4,"갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆"],["b141","켂켃켅켆켇켉",6,"켒켔켖",5,"켝켞켟켡켢켣"],["b161","켥",6,"켮켲",5,"켹",11],["b181","콅",14,"콖콗콙콚콛콝",6,"콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸"],["b241","콭콮콯콲콳콵콶콷콹",6,"쾁쾂쾃쾄쾆",5,"쾍"],["b261","쾎",18,"쾢",5,"쾩"],["b281","쾪",5,"쾱",18,"쿅",6,"깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙"],["b341","쿌",19,"쿢쿣쿥쿦쿧쿩"],["b361","쿪",5,"쿲쿴쿶",5,"쿽쿾쿿퀁퀂퀃퀅",5],["b381","퀋",5,"퀒",5,"퀙",19,"끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫",4,"낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝"],["b441","퀮",5,"퀶퀷퀹퀺퀻퀽",6,"큆큈큊",5],["b461","큑큒큓큕큖큗큙",6,"큡",10,"큮큯"],["b481","큱큲큳큵",6,"큾큿킀킂",18,"뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫",4,"닳담답닷",4,"닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥"],["b541","킕",14,"킦킧킩킪킫킭",5],["b561","킳킶킸킺",5,"탂탃탅탆탇탊",5,"탒탖",4],["b581","탛탞탟탡탢탣탥",6,"탮탲",5,"탹",11,"덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸"],["b641","턅",7,"턎",17],["b661","턠",15,"턲턳턵턶턷턹턻턼턽턾"],["b681","턿텂텆",5,"텎텏텑텒텓텕",6,"텞텠텢",5,"텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗"],["b741","텮",13,"텽",6,"톅톆톇톉톊"],["b761","톋",20,"톢톣톥톦톧"],["b781","톩",6,"톲톴톶톷톸톹톻톽톾톿퇁",14,"래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩"],["b841","퇐",7,"퇙",17],["b861","퇫",8,"퇵퇶퇷퇹",13],["b881","툈툊",5,"툑",24,"륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많",4,"맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼"],["b941","툪툫툮툯툱툲툳툵",6,"툾퉀퉂",5,"퉉퉊퉋퉌"],["b961","퉍",14,"퉝",6,"퉥퉦퉧퉨"],["b981","퉩",22,"튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바",4,"받",4,"밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗"],["ba41","튍튎튏튒튓튔튖",5,"튝튞튟튡튢튣튥",6,"튭"],["ba61","튮튯튰튲",5,"튺튻튽튾틁틃",4,"틊틌",5],["ba81","틒틓틕틖틗틙틚틛틝",6,"틦",9,"틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤"],["bb41","틻",4,"팂팄팆",5,"팏팑팒팓팕팗",4,"팞팢팣"],["bb61","팤팦팧팪팫팭팮팯팱",6,"팺팾",5,"퍆퍇퍈퍉"],["bb81","퍊",31,"빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤"],["bc41","퍪",17,"퍾퍿펁펂펃펅펆펇"],["bc61","펈펉펊펋펎펒",5,"펚펛펝펞펟펡",6,"펪펬펮"],["bc81","펯",4,"펵펶펷펹펺펻펽",6,"폆폇폊",5,"폑",5,"샥샨샬샴샵샷샹섀섄섈섐섕서",4,"섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭"],["bd41","폗폙",7,"폢폤",7,"폮폯폱폲폳폵폶폷"],["bd61","폸폹폺폻폾퐀퐂",5,"퐉",13],["bd81","퐗",5,"퐞",25,"숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰"],["be41","퐸",7,"푁푂푃푅",14],["be61","푔",7,"푝푞푟푡푢푣푥",7,"푮푰푱푲"],["be81","푳",4,"푺푻푽푾풁풃",4,"풊풌풎",5,"풕",8,"쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄",6,"엌엎"],["bf41","풞",10,"풪",14],["bf61","풹",18,"퓍퓎퓏퓑퓒퓓퓕"],["bf81","퓖",5,"퓝퓞퓠",7,"퓩퓪퓫퓭퓮퓯퓱",6,"퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염",5,"옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨"],["c041","퓾",5,"픅픆픇픉픊픋픍",6,"픖픘",5],["c061","픞",25],["c081","픸픹픺픻픾픿핁핂핃핅",6,"핎핐핒",5,"핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응",7,"읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊"],["c141","핤핦핧핪핬핮",5,"핶핷핹핺핻핽",6,"햆햊햋"],["c161","햌햍햎햏햑",19,"햦햧"],["c181","햨",31,"점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓"],["c241","헊헋헍헎헏헑헓",4,"헚헜헞",5,"헦헧헩헪헫헭헮"],["c261","헯",4,"헶헸헺",5,"혂혃혅혆혇혉",6,"혒"],["c281","혖",5,"혝혞혟혡혢혣혥",7,"혮",9,"혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻"],["c341","혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝",4],["c361","홢",4,"홨홪",5,"홲홳홵",11],["c381","횁횂횄횆",5,"횎횏횑횒횓횕",7,"횞횠횢",5,"횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층"],["c441","횫횭횮횯횱",7,"횺횼",7,"훆훇훉훊훋"],["c461","훍훎훏훐훒훓훕훖훘훚",5,"훡훢훣훥훦훧훩",4],["c481","훮훯훱훲훳훴훶",5,"훾훿휁휂휃휅",11,"휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼"],["c541","휕휖휗휚휛휝휞휟휡",6,"휪휬휮",5,"휶휷휹"],["c561","휺휻휽",6,"흅흆흈흊",5,"흒흓흕흚",4],["c581","흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵",6,"흾흿힀힂",5,"힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜"],["c641","힍힎힏힑",6,"힚힜힞",5],["c6a1","퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁"],["c7a1","퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠"],["c8a1","혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝"],["caa1","伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕"],["cba1","匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢"],["cca1","瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械"],["cda1","棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜"],["cea1","科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾"],["cfa1","區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴"],["d0a1","鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣"],["d1a1","朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩",5,"那樂",4,"諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉"],["d2a1","納臘蠟衲囊娘廊",4,"乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧",5,"駑魯",10,"濃籠聾膿農惱牢磊腦賂雷尿壘",7,"嫩訥杻紐勒",5,"能菱陵尼泥匿溺多茶"],["d3a1","丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃"],["d4a1","棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅"],["d5a1","蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣"],["d6a1","煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼"],["d7a1","遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬"],["d8a1","立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅"],["d9a1","蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文"],["daa1","汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑"],["dba1","發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖"],["dca1","碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦"],["dda1","孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥"],["dea1","脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索"],["dfa1","傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署"],["e0a1","胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬"],["e1a1","聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁"],["e2a1","戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧"],["e3a1","嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁"],["e4a1","沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額"],["e5a1","櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬"],["e6a1","旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒"],["e7a1","簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳"],["e8a1","烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療"],["e9a1","窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓"],["eaa1","運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜"],["eba1","濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼"],["eca1","議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄"],["eda1","立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長"],["eea1","障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱"],["efa1","煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖"],["f0a1","靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫"],["f1a1","踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只"],["f2a1","咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯"],["f3a1","鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策"],["f4a1","責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢"],["f5a1","椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃"],["f6a1","贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託"],["f7a1","鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑"],["f8a1","阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃"],["f9a1","品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航"],["faa1","行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型"],["fba1","形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵"],["fca1","禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆"],["fda1","爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰"]]; - -/***/ }), -/* 433 */, -/* 434 */, -/* 435 */, -/* 436 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _aperture = /*#__PURE__*/__webpack_require__(294); - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var _dispatchable = /*#__PURE__*/__webpack_require__(968); +var parse = __webpack_require__(751) + +/** + * @category Millisecond Helpers + * @summary Get the milliseconds of the given date. + * + * @description + * Get the milliseconds of the given date. + * + * @param {Date|String|Number} date - the given date + * @returns {Number} the milliseconds + * + * @example + * // Get the milliseconds of 29 February 2012 11:45:05.123: + * var result = getMilliseconds(new Date(2012, 1, 29, 11, 45, 5, 123)) + * //=> 123 + */ +function getMilliseconds (dirtyDate) { + var date = parse(dirtyDate) + var milliseconds = date.getMilliseconds() + return milliseconds +} + +module.exports = getMilliseconds -var _xaperture = /*#__PURE__*/__webpack_require__(550); + +/***/ }), +/* 433 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var addISOYears = __webpack_require__(774) /** - * Returns a new list, composed of n-tuples of consecutive elements. If `n` is - * greater than the length of the list, an empty list is returned. + * @category ISO Week-Numbering Year Helpers + * @summary Subtract the specified number of ISO week-numbering years from the given date. * - * Acts as a transducer if a transformer is given in list position. + * @description + * Subtract the specified number of ISO week-numbering years from the given date. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of ISO week-numbering years to be subtracted + * @returns {Date} the new date with the ISO week-numbering years subtracted * - * @func - * @memberOf R - * @since v0.12.0 - * @category List - * @sig Number -> [a] -> [[a]] - * @param {Number} n The size of the tuples to create - * @param {Array} list The list to split into `n`-length tuples - * @return {Array} The resulting list of `n`-length tuples - * @see R.transduce * @example + * // Subtract 5 ISO week-numbering years from 1 September 2014: + * var result = subISOYears(new Date(2014, 8, 1), 5) + * //=> Mon Aug 31 2009 00:00:00 + */ +function subISOYears (dirtyDate, dirtyAmount) { + var amount = Number(dirtyAmount) + return addISOYears(dirtyDate, -amount) +} + +module.exports = subISOYears + + +/***/ }), +/* 434 */ +/***/ (function() { + +eval("require")("@octokit/plugin-throttling"); + + +/***/ }), +/* 435 */, +/* 436 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var addMonths = __webpack_require__(465) + +/** + * @category Year Helpers + * @summary Add the specified number of years to the given date. * - * R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]] - * R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]] - * R.aperture(7, [1, 2, 3, 4, 5]); //=> [] + * @description + * Add the specified number of years to the given date. + * + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of years to be added + * @returns {Date} the new date with the years added + * + * @example + * // Add 5 years to 1 September 2014: + * var result = addYears(new Date(2014, 8, 1), 5) + * //=> Sun Sep 01 2019 00:00:00 */ +function addYears (dirtyDate, dirtyAmount) { + var amount = Number(dirtyAmount) + return addMonths(dirtyDate, amount * 12) +} +module.exports = addYears -var aperture = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xaperture, _aperture)); -module.exports = aperture; /***/ }), /* 437 */, /* 438 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _objectAssign = /*#__PURE__*/__webpack_require__(420); +var _objectAssign = /*#__PURE__*/__webpack_require__(289); var _identity = /*#__PURE__*/__webpack_require__(909); @@ -18072,40 +17989,65 @@ module.exports = _forceReduced; /* 440 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _reduce = /*#__PURE__*/__webpack_require__(870); -var adjust = /*#__PURE__*/__webpack_require__(908); +var _xwrap = /*#__PURE__*/__webpack_require__(43); -var always = /*#__PURE__*/__webpack_require__(657); +var curryN = /*#__PURE__*/__webpack_require__(535); /** - * Returns a new copy of the array with the element at the provided index - * replaced with the given value. + * Initializes a transducer using supplied iterator function. Returns a single + * item by iterating through the list, successively calling the transformed + * iterator function and passing it an accumulator value and the current value + * from the array, and then passing the result to the next call. + * + * The iterator function receives two values: *(acc, value)*. It will be + * wrapped as a transformer to initialize the transducer. A transformer can be + * passed directly in place of an iterator function. In both cases, iteration + * may be stopped early with the [`R.reduced`](#reduced) function. + * + * A transducer is a function that accepts a transformer and returns a + * transformer and can be composed directly. + * + * A transformer is an an object that provides a 2-arity reducing iterator + * function, step, 0-arity initial value function, init, and 1-arity result + * extraction function, result. The step function is used as the iterator + * function in reduce. The result function is used to convert the final + * accumulator into the return type and in most cases is + * [`R.identity`](#identity). The init function can be used to provide an + * initial accumulator, but is ignored by transduce. + * + * The iteration is performed with [`R.reduce`](#reduce) after initializing the transducer. * * @func * @memberOf R - * @since v0.14.0 + * @since v0.12.0 * @category List - * @sig Number -> a -> [a] -> [a] - * @param {Number} idx The index to update. - * @param {*} x The value to exist at the given index of the returned array. - * @param {Array|Arguments} list The source array-like object to be updated. - * @return {Array} A copy of `list` with the value at index `idx` replaced with `x`. - * @see R.adjust + * @sig (c -> c) -> ((a, b) -> a) -> a -> [b] -> a + * @param {Function} xf The transducer function. Receives a transformer and returns a transformer. + * @param {Function} fn The iterator function. Receives two values, the accumulator and the + * current element from the array. Wrapped as transformer, if necessary, and used to + * initialize the transducer + * @param {*} acc The initial accumulator value. + * @param {Array} list The list to iterate over. + * @return {*} The final, accumulated value. + * @see R.reduce, R.reduced, R.into * @example * - * R.update(1, '_', ['a', 'b', 'c']); //=> ['a', '_', 'c'] - * R.update(-1, '_', ['a', 'b', 'c']); //=> ['a', 'b', '_'] - * @symb R.update(-1, a, [b, c]) = [b, a] - * @symb R.update(0, a, [b, c]) = [a, c] - * @symb R.update(1, a, [b, c]) = [b, a] + * const numbers = [1, 2, 3, 4]; + * const transducer = R.compose(R.map(R.add(1)), R.take(2)); + * R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3] + * + * const isOdd = (x) => x % 2 === 1; + * const firstOddTransducer = R.compose(R.filter(isOdd), R.take(1)); + * R.transduce(firstOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [1] */ -var update = /*#__PURE__*/_curry3(function update(idx, x, list) { - return adjust(idx, always(x), list); +var transduce = /*#__PURE__*/curryN(4, function transduce(xf, fn, acc, list) { + return _reduce(xf(typeof fn === 'function' ? _xwrap(fn) : fn), acc, list); }); -module.exports = update; +module.exports = transduce; /***/ }), /* 441 */ @@ -18115,7 +18057,7 @@ var chain = /*#__PURE__*/__webpack_require__(481); var compose = /*#__PURE__*/__webpack_require__(944); -var map = /*#__PURE__*/__webpack_require__(534); +var map = /*#__PURE__*/__webpack_require__(197); /** * Returns the right-to-left Kleisli composition of the provided functions, @@ -18198,9 +18140,54 @@ module.exports = or; /* 444 */, /* 445 */, /* 446 */ -/***/ (function(module) { +/***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = [["0","\u0000",127],["a140"," ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚"],["a1a1","﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢",4,"~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/"],["a240","\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁",7,"▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭"],["a2a1","╮╰╯═╞╪╡◢◣◥◤╱╲╳0",9,"Ⅰ",9,"〡",8,"十卄卅A",25,"a",21],["a340","wxyzΑ",16,"Σ",6,"α",16,"σ",6,"ㄅ",10],["a3a1","ㄐ",25,"˙ˉˊˇˋ"],["a3e1","€"],["a440","一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才"],["a4a1","丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙"],["a540","世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外"],["a5a1","央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全"],["a640","共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年"],["a6a1","式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣"],["a740","作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍"],["a7a1","均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠"],["a840","杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒"],["a8a1","芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵"],["a940","咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居"],["a9a1","屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊"],["aa40","昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠"],["aaa1","炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附"],["ab40","陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品"],["aba1","哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷"],["ac40","拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗"],["aca1","活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄"],["ad40","耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥"],["ada1","迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪"],["ae40","哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙"],["aea1","恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓"],["af40","浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷"],["afa1","砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃"],["b040","虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡"],["b0a1","陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀"],["b140","娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽"],["b1a1","情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺"],["b240","毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶"],["b2a1","瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼"],["b340","莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途"],["b3a1","部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠"],["b440","婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍"],["b4a1","插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋"],["b540","溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘"],["b5a1","窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁"],["b640","詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑"],["b6a1","間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼"],["b740","媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業"],["b7a1","楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督"],["b840","睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫"],["b8a1","腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊"],["b940","辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴"],["b9a1","飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇"],["ba40","愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢"],["baa1","滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬"],["bb40","罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤"],["bba1","說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜"],["bc40","劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂"],["bca1","慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃"],["bd40","瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯"],["bda1","翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞"],["be40","輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉"],["bea1","鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡"],["bf40","濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊"],["bfa1","縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚"],["c040","錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇"],["c0a1","嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬"],["c140","瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪"],["c1a1","薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁"],["c240","駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘"],["c2a1","癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦"],["c340","鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸"],["c3a1","獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類"],["c440","願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼"],["c4a1","纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴"],["c540","護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬"],["c5a1","禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒"],["c640","讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲"],["c940","乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕"],["c9a1","氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋"],["ca40","汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘"],["caa1","吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇"],["cb40","杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓"],["cba1","芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢"],["cc40","坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋"],["cca1","怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲"],["cd40","泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺"],["cda1","矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏"],["ce40","哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛"],["cea1","峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺"],["cf40","柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂"],["cfa1","洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀"],["d040","穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪"],["d0a1","苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱"],["d140","唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧"],["d1a1","恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤"],["d240","毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸"],["d2a1","牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐"],["d340","笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢"],["d3a1","荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐"],["d440","酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅"],["d4a1","唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏"],["d540","崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟"],["d5a1","捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉"],["d640","淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏"],["d6a1","痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟"],["d740","耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷"],["d7a1","蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪"],["d840","釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷"],["d8a1","堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔"],["d940","惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒"],["d9a1","晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞"],["da40","湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖"],["daa1","琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥"],["db40","罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳"],["dba1","菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺"],["dc40","軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈"],["dca1","隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆"],["dd40","媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤"],["dda1","搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼"],["de40","毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓"],["dea1","煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓"],["df40","稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯"],["dfa1","腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤"],["e040","觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿"],["e0a1","遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠"],["e140","凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠"],["e1a1","寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉"],["e240","榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊"],["e2a1","漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓"],["e340","禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞"],["e3a1","耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻"],["e440","裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍"],["e4a1","銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘"],["e540","噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉"],["e5a1","憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒"],["e640","澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙"],["e6a1","獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟"],["e740","膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢"],["e7a1","蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧"],["e840","踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓"],["e8a1","銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮"],["e940","噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺"],["e9a1","憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸"],["ea40","澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙"],["eaa1","瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘"],["eb40","蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠"],["eba1","諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌"],["ec40","錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕"],["eca1","魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎"],["ed40","檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶"],["eda1","瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞"],["ee40","蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞"],["eea1","謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜"],["ef40","鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰"],["efa1","鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶"],["f040","璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒"],["f0a1","臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧"],["f140","蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪"],["f1a1","鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰"],["f240","徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛"],["f2a1","礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕"],["f340","譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦"],["f3a1","鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲"],["f440","嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩"],["f4a1","禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿"],["f540","鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛"],["f5a1","鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥"],["f640","蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺"],["f6a1","騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚"],["f740","糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊"],["f7a1","驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾"],["f840","讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏"],["f8a1","齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚"],["f940","纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊"],["f9a1","龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓"]]; +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +var _isFunction = /*#__PURE__*/__webpack_require__(504); + +var lift = /*#__PURE__*/__webpack_require__(127); + +var or = /*#__PURE__*/__webpack_require__(443); + +/** + * A function wrapping calls to the two functions in an `||` operation, + * returning the result of the first function if it is truth-y and the result + * of the second function otherwise. Note that this is short-circuited, + * meaning that the second function will not be invoked if the first returns a + * truth-y value. + * + * In addition to functions, `R.either` also accepts any fantasy-land compatible + * applicative functor. + * + * @func + * @memberOf R + * @since v0.12.0 + * @category Logic + * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean) + * @param {Function} f a predicate + * @param {Function} g another predicate + * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together. + * @see R.or + * @example + * + * const gt10 = x => x > 10; + * const even = x => x % 2 === 0; + * const f = R.either(gt10, even); + * f(101); //=> true + * f(8); //=> true + * + * R.either(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(55) + * R.either([false, false, 'a'], [11]) // => [11, 11, "a"] + */ + + +var either = /*#__PURE__*/_curry2(function either(f, g) { + return _isFunction(f) ? function _either() { + return f.apply(this, arguments) || g.apply(this, arguments); + } : lift(or)(f, g); +}); +module.exports = either; /***/ }), /* 447 */ @@ -18267,14 +18254,51 @@ module.exports = curry; Object.defineProperty(exports, '__esModule', { value: true }); -var universalUserAgent = __webpack_require__(848); +var universalUserAgent = __webpack_require__(796); var beforeAfterHook = __webpack_require__(523); var request = __webpack_require__(753); var graphql = __webpack_require__(898); var authToken = __webpack_require__(813); -const VERSION = "2.5.0"; +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = _objectWithoutPropertiesLoose(source, excluded); + + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +const VERSION = "3.6.0"; + +const _excluded = ["authStrategy"]; class Octokit { constructor(options = {}) { const hook = new beforeAfterHook.Collection(); @@ -18282,6 +18306,7 @@ class Octokit { baseUrl: request.request.endpoint.DEFAULTS.baseUrl, headers: {}, request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type hook: hook.bind(null, "request") }), mediaType: { @@ -18313,7 +18338,7 @@ class Octokit { error: console.error.bind(console) }, options.log); this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance - // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registred. + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. // (2) If only `options.auth` is set, use the default token authentication strategy. // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. // TODO: type `options.auth` based on `options.authStrategy`. @@ -18332,8 +18357,21 @@ class Octokit { this.auth = auth; } } else { - const auth = options.authStrategy(Object.assign({ - request: this.request + const { + authStrategy + } = options, + otherOptions = _objectWithoutProperties(options, _excluded); + + const auth = authStrategy(Object.assign({ + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ hook.wrap("request", auth.hook); @@ -18352,6 +18390,12 @@ class Octokit { const OctokitWithDefaults = class extends this { constructor(...args) { const options = args[0] || {}; + + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { userAgent: `${options.userAgent} ${defaults.userAgent}` } : null)); @@ -18368,15 +18412,10 @@ class Octokit { */ - static plugin(p1, ...p2) { + static plugin(...newPlugins) { var _a; - if (p1 instanceof Array) { - console.warn(["Passing an array of plugins to Octokit.plugin() has been deprecated.", "Instead of:", " Octokit.plugin([plugin1, plugin2, ...])", "Use:", " Octokit.plugin(plugin1, plugin2, ...)"].join("\n")); - } - const currentPlugins = this.plugins; - let newPlugins = [...(p1 instanceof Array ? p1 : [p1]), ...p2]; const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); return NewOctokit; } @@ -18391,64 +18430,100 @@ exports.Octokit = Octokit; /***/ }), /* 449 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/***/ (function(__unusedmodule, exports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +"use strict"; -var equals = /*#__PURE__*/__webpack_require__(701); -var path = /*#__PURE__*/__webpack_require__(756); +// Update this array if you add/rename/remove files in this directory. +// We support Browserify by skipping automatic module discovery and requiring modules directly. +var modules = [ + __webpack_require__(594), + __webpack_require__(319), + __webpack_require__(698), + __webpack_require__(981), + __webpack_require__(785), + __webpack_require__(878), + __webpack_require__(989), + __webpack_require__(259), + __webpack_require__(660), +]; + +// Put all encoding/alias/codec definitions to single object and export it. +for (var i = 0; i < modules.length; i++) { + var module = modules[i]; + for (var enc in module) + if (Object.prototype.hasOwnProperty.call(module, enc)) + exports[enc] = module[enc]; +} + + +/***/ }), +/* 450 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var parse = __webpack_require__(751) + +var MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000 /** - * Determines whether a nested path on an object has a specific value, in - * [`R.equals`](#equals) terms. Most likely used to filter a list. + * @category Range Helpers + * @summary Get the number of days that overlap in two date ranges + * + * @description + * Get the number of days that overlap in two date ranges + * + * @param {Date|String|Number} initialRangeStartDate - the start of the initial range + * @param {Date|String|Number} initialRangeEndDate - the end of the initial range + * @param {Date|String|Number} comparedRangeStartDate - the start of the range to compare it with + * @param {Date|String|Number} comparedRangeEndDate - the end of the range to compare it with + * @returns {Number} the number of days that overlap in two date ranges + * @throws {Error} startDate of a date range cannot be after its endDate * - * @func - * @memberOf R - * @since v0.7.0 - * @category Relation - * @typedefn Idx = String | Int - * @sig [Idx] -> a -> {a} -> Boolean - * @param {Array} path The path of the nested property to use - * @param {*} val The value to compare the nested property with - * @param {Object} obj The object to check the nested property in - * @return {Boolean} `true` if the value equals the nested object property, - * `false` otherwise. * @example + * // For overlapping date ranges adds 1 for each started overlapping day: + * getOverlappingDaysInRanges( + * new Date(2014, 0, 10), new Date(2014, 0, 20), new Date(2014, 0, 17), new Date(2014, 0, 21) + * ) + * //=> 3 * - * const user1 = { address: { zipCode: 90210 } }; - * const user2 = { address: { zipCode: 55555 } }; - * const user3 = { name: 'Bob' }; - * const users = [ user1, user2, user3 ]; - * const isFamous = R.pathEq(['address', 'zipCode'], 90210); - * R.filter(isFamous, users); //=> [ user1 ] + * @example + * // For non-overlapping date ranges returns 0: + * getOverlappingDaysInRanges( + * new Date(2014, 0, 10), new Date(2014, 0, 20), new Date(2014, 0, 21), new Date(2014, 0, 22) + * ) + * //=> 0 */ +function getOverlappingDaysInRanges (dirtyInitialRangeStartDate, dirtyInitialRangeEndDate, dirtyComparedRangeStartDate, dirtyComparedRangeEndDate) { + var initialStartTime = parse(dirtyInitialRangeStartDate).getTime() + var initialEndTime = parse(dirtyInitialRangeEndDate).getTime() + var comparedStartTime = parse(dirtyComparedRangeStartDate).getTime() + var comparedEndTime = parse(dirtyComparedRangeEndDate).getTime() + if (initialStartTime > initialEndTime || comparedStartTime > comparedEndTime) { + throw new Error('The start of the range cannot be after the end of the range') + } -var pathEq = /*#__PURE__*/_curry3(function pathEq(_path, val, obj) { - return equals(path(_path, obj), val); -}); -module.exports = pathEq; + var isOverlapping = initialStartTime < comparedEndTime && comparedStartTime < initialEndTime -/***/ }), -/* 450 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + if (!isOverlapping) { + return 0 + } -"use strict"; + var overlapStartDate = comparedStartTime < initialStartTime + ? initialStartTime + : comparedStartTime + var overlapEndDate = comparedEndTime > initialEndTime + ? initialEndTime + : comparedEndTime -var iconv_package; -var Iconv; + var differenceInMs = overlapEndDate - overlapStartDate -try { - // this is to fool browserify so it doesn't try (in vain) to install iconv. - iconv_package = 'iconv'; - Iconv = __webpack_require__(256).Iconv; -} catch (E) { - // node-iconv not present + return Math.ceil(differenceInMs / MILLISECONDS_IN_DAY) } -module.exports = Iconv; +module.exports = getOverlappingDaysInRanges /***/ }), @@ -18545,94 +18620,7 @@ var is = /*#__PURE__*/_curry2(function is(Ctor, val) { module.exports = is; /***/ }), -/* 453 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var once = __webpack_require__(969) -var eos = __webpack_require__(9) -var fs = __webpack_require__(747) // we only need fs to get the ReadStream and WriteStream prototypes - -var noop = function () {} -var ancient = /^v?\.0/.test(process.version) - -var isFn = function (fn) { - return typeof fn === 'function' -} - -var isFS = function (stream) { - if (!ancient) return false // newer node version do not need to care about fs is a special way - if (!fs) return false // browser - return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close) -} - -var isRequest = function (stream) { - return stream.setHeader && isFn(stream.abort) -} - -var destroyer = function (stream, reading, writing, callback) { - callback = once(callback) - - var closed = false - stream.on('close', function () { - closed = true - }) - - eos(stream, {readable: reading, writable: writing}, function (err) { - if (err) return callback(err) - closed = true - callback() - }) - - var destroyed = false - return function (err) { - if (closed) return - if (destroyed) return - destroyed = true - - if (isFS(stream)) return stream.close(noop) // use close for fs streams to avoid fd leaks - if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want - - if (isFn(stream.destroy)) return stream.destroy() - - callback(err || new Error('stream was destroyed')) - } -} - -var call = function (fn) { - fn() -} - -var pipe = function (from, to) { - return from.pipe(to) -} - -var pump = function () { - var streams = Array.prototype.slice.call(arguments) - var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop - - if (Array.isArray(streams[0])) streams = streams[0] - if (streams.length < 2) throw new Error('pump requires two streams per minimum') - - var error - var destroys = streams.map(function (stream, i) { - var reading = i < streams.length - 1 - var writing = i > 0 - return destroyer(stream, reading, writing, function (err) { - if (!error) error = err - if (err) destroys.forEach(call) - if (reading) return - destroys.forEach(call) - callback(error) - }) - }) - - return streams.reduce(pipe) -} - -module.exports = pump - - -/***/ }), +/* 453 */, /* 454 */ /***/ (function(module, exports, __webpack_require__) { @@ -18643,10 +18631,11 @@ Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } -var Stream = _interopDefault(__webpack_require__(413)); +var Stream = _interopDefault(__webpack_require__(794)); var http = _interopDefault(__webpack_require__(605)); var Url = _interopDefault(__webpack_require__(835)); -var https = _interopDefault(__webpack_require__(34)); +var whatwgUrl = _interopDefault(__webpack_require__(70)); +var https = _interopDefault(__webpack_require__(211)); var zlib = _interopDefault(__webpack_require__(761)); // Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js @@ -19104,6 +19093,12 @@ function convertBody(buffer, headers) { // html4 if (!res && str) { res = / 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + req.on('response', function (res) { clearTimeout(reqTimeout); @@ -20106,12 +20178,24 @@ function fetch(url, opts) { const location = headers.get('Location'); // HTTP fetch step 5.3 - const locationURL = location === null ? null : resolve_url(request.url, location); + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } // HTTP fetch step 5.5 switch (request.redirect) { case 'error': - reject(new FetchError(`redirect mode is set to error: ${request.url}`, 'no-redirect')); + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); finalize(); return; case 'manual': @@ -20150,9 +20234,16 @@ function fetch(url, opts) { method: request.method, body: request.body, signal: request.signal, - timeout: request.timeout + timeout: request.timeout, + size: request.size }; + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + // HTTP-redirect fetch step 9 if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); @@ -20240,6 +20331,13 @@ function fetch(url, opts) { response = new Response(body, response_options); resolve(response); }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); return; } @@ -20259,6 +20357,41 @@ function fetch(url, opts) { writeToStream(req, request); }); } +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + /** * Redirect code matching * @@ -20314,7 +20447,20 @@ module.exports = setYear /***/ }), -/* 456 */, +/* 456 */ +/***/ (function(__unusedmodule, exports) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; +exports.default = _default; + +/***/ }), /* 457 */, /* 458 */, /* 459 */ @@ -20418,1493 +20564,248 @@ module.exports = lensProp; /***/ }), /* 462 */ -/***/ (function(module) { - -"use strict"; - - -// See http://www.robvanderwoude.com/escapechars.php -const metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g; - -function escapeCommand(arg) { - // Escape meta chars - arg = arg.replace(metaCharsRegExp, '^$1'); - - return arg; -} - -function escapeArgument(arg, doubleEscapeMetaChars) { - // Convert to string - arg = `${arg}`; - - // Algorithm below is based on https://qntm.org/cmd - - // Sequence of backslashes followed by a double quote: - // double up all the backslashes and escape the double quote - arg = arg.replace(/(\\*)"/g, '$1$1\\"'); - - // Sequence of backslashes followed by the end of the string - // (which will become a double quote later): - // double up all the backslashes - arg = arg.replace(/(\\*)$/, '$1$1'); - - // All other backslashes occur literally - - // Quote the whole thing: - arg = `"${arg}"`; - - // Escape meta chars - arg = arg.replace(metaCharsRegExp, '^$1'); - - // Double escape meta chars if necessary - if (doubleEscapeMetaChars) { - arg = arg.replace(metaCharsRegExp, '^$1'); - } - - return arg; -} - -module.exports.command = escapeCommand; -module.exports.argument = escapeArgument; - - -/***/ }), -/* 463 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var deprecation = __webpack_require__(692); -var once = _interopDefault(__webpack_require__(969)); - -const logOnce = once(deprecation => console.warn(deprecation)); -/** - * Error with extra properties to help with debugging - */ - -class RequestError extends Error { - constructor(message, statusCode, options) { - super(message); // Maintains proper stack trace (only available on V8) - - /* istanbul ignore next */ - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - - this.name = "HttpError"; - this.status = statusCode; - Object.defineProperty(this, "code", { - get() { - logOnce(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); - return statusCode; - } - - }); - this.headers = options.headers || {}; // redact request credentials without mutating original request options - - const requestCopy = Object.assign({}, options.request); - - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") - }); - } - - requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit - // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications - .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended - // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header - .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); - this.request = requestCopy; - } - -} - -exports.RequestError = RequestError; -//# sourceMappingURL=index.js.map - - -/***/ }), -/* 464 */, -/* 465 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) -var getDaysInMonth = __webpack_require__(507) - -/** - * @category Month Helpers - * @summary Add the specified number of months to the given date. - * - * @description - * Add the specified number of months to the given date. - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of months to be added - * @returns {Date} the new date with the months added - * - * @example - * // Add 5 months to 1 September 2014: - * var result = addMonths(new Date(2014, 8, 1), 5) - * //=> Sun Feb 01 2015 00:00:00 - */ -function addMonths (dirtyDate, dirtyAmount) { - var date = parse(dirtyDate) - var amount = Number(dirtyAmount) - var desiredMonth = date.getMonth() + amount - var dateWithDesiredMonth = new Date(0) - dateWithDesiredMonth.setFullYear(date.getFullYear(), desiredMonth, 1) - dateWithDesiredMonth.setHours(0, 0, 0, 0) - var daysInMonth = getDaysInMonth(dateWithDesiredMonth) - // Set the last day of the new month - // if the original date was the last day of the longer month - date.setMonth(desiredMonth, Math.min(daysInMonth, date.getDate())) - return date -} - -module.exports = addMonths - - -/***/ }), -/* 466 */, -/* 467 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var curryN = /*#__PURE__*/__webpack_require__(535); - -/** - * Accepts a function `fn` and a list of transformer functions and returns a - * new curried function. When the new function is invoked, it calls the - * function `fn` with parameters consisting of the result of calling each - * supplied handler on successive arguments to the new function. - * - * If more arguments are passed to the returned function than transformer - * functions, those arguments are passed directly to `fn` as additional - * parameters. If you expect additional arguments that don't need to be - * transformed, although you can ignore them, it's best to pass an identity - * function so that the new function reports the correct arity. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig ((x1, x2, ...) -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z) - * @param {Function} fn The function to wrap. - * @param {Array} transformers A list of transformer functions - * @return {Function} The wrapped function. - * @see R.converge - * @example - * - * R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81 - * R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81 - * R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32 - * R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32 - * @symb R.useWith(f, [g, h])(a, b) = f(g(a), h(b)) - */ - - -var useWith = /*#__PURE__*/_curry2(function useWith(fn, transformers) { - return curryN(transformers.length, function () { - var args = []; - var idx = 0; - while (idx < transformers.length) { - args.push(transformers[idx].call(this, arguments[idx])); - idx += 1; - } - return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length))); - }); -}); -module.exports = useWith; - -/***/ }), -/* 468 */ -/***/ (function(__unusedmodule, exports) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -const Endpoints = { - actions: { - cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"], - createOrUpdateSecretForRepo: ["PUT /repos/{owner}/{repo}/actions/secrets/{name}"], - createRegistrationToken: ["POST /repos/{owner}/{repo}/actions/runners/registration-token"], - createRemoveToken: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"], - deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], - deleteSecretFromRepo: ["DELETE /repos/{owner}/{repo}/actions/secrets/{name}"], - deleteWorkflowRunLogs: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], - downloadArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"], - getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], - getPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], - getSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{name}"], - getSelfHostedRunner: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"], - getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], - getWorkflowJob: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], - getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], - listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], - listDownloadsForSelfHostedRunnerApplication: ["GET /repos/{owner}/{repo}/actions/runners/downloads"], - listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"], - listRepoWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/runs"], - listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], - listSecretsForRepo: ["GET /repos/{owner}/{repo}/actions/secrets"], - listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], - listWorkflowJobLogs: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"], - listWorkflowRunArtifacts: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"], - listWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], - listWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"], - reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], - removeSelfHostedRunner: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"] - }, - activity: { - checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], - checkStarringRepo: ["GET /user/starred/{owner}/{repo}", {}, { - renamed: ["activity", "checkRepoIsStarredByAuthenticatedUser"] - }], - deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], - deleteThreadSubscription: ["DELETE /notifications/threads/{thread_id}/subscription"], - getFeeds: ["GET /feeds"], - getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], - getThread: ["GET /notifications/threads/{thread_id}"], - getThreadSubscription: ["PUT /notifications", {}, { - renamed: ["activity", "getThreadSubscriptionForAuthenticatedUser"] - }], - getThreadSubscriptionForAuthenticatedUser: ["GET /notifications/threads/{thread_id}/subscription"], - listEventsForAuthenticatedUser: ["GET /users/{username}/events"], - listEventsForOrg: ["GET /users/{username}/events/orgs/{org}", {}, { - renamed: ["activity", "listOrgEventsForAuthenticatedUser"] - }], - listEventsForUser: ["GET /users/{username}/events", {}, { - renamed: ["activity", "listEventsForAuthenticatedUser"] - }], - listFeeds: ["GET /feeds", {}, { - renamed: ["activity", "getFeeds"] - }], - listNotifications: ["GET /notifications", {}, { - renamed: ["activity", "listNotificationsForAuthenticatedUser"] - }], - listNotificationsForAuthenticatedUser: ["GET /notifications"], - listNotificationsForRepo: ["GET /repos/{owner}/{repo}/notifications", {}, { - renamed: ["activity", "listRepoNotificationsForAuthenticatedUser"] - }], - listOrgEventsForAuthenticatedUser: ["GET /users/{username}/events/orgs/{org}"], - listPublicEvents: ["GET /events"], - listPublicEventsForOrg: ["GET /orgs/{org}/events", {}, { - renamed: ["activity", "listPublicOrgEvents"] - }], - listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], - listPublicEventsForUser: ["GET /users/{username}/events/public"], - listPublicOrgEvents: ["GET /orgs/{org}/events"], - listReceivedEventsForUser: ["GET /users/{username}/received_events"], - listReceivedPublicEventsForUser: ["GET /users/{username}/received_events/public"], - listRepoEvents: ["GET /repos/{owner}/{repo}/events"], - listRepoNotificationsForAuthenticatedUser: ["GET /repos/{owner}/{repo}/notifications"], - listReposStarredByAuthenticatedUser: ["GET /user/starred"], - listReposStarredByUser: ["GET /users/{username}/starred"], - listReposWatchedByUser: ["GET /users/{username}/subscriptions"], - listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], - listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], - listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], - markAsRead: ["PUT /notifications", {}, { - renamed: ["activity", "markNotificationsAsRead"] - }], - markNotificationsAsRead: ["PUT /notifications"], - markNotificationsAsReadForRepo: ["PUT /repos/{owner}/{repo}/notifications", {}, { - renamed: ["activity", "markRepoNotificationsAsRead"] - }], - markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], - markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], - setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], - setThreadSubscription: ["PUT /notifications/threads/{thread_id}/subscription"], - starRepo: ["PUT /user/starred/{owner}/{repo}", {}, { - renamed: ["activity", "starRepoForAuthenticatedUser"] - }], - starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], - unstarRepo: ["DELETE /user/starred/{owner}/{repo}", {}, { - renamed: ["activity", "unstarRepoForAuthenticatedUser"] - }], - unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] - }, - apps: { - addRepoToInstallation: ["PUT /user/installations/{installation_id}/repositories/{repository_id}", { - mediaType: { - previews: ["machine-man"] - } - }], - checkAccountIsAssociatedWithAny: ["GET /marketplace_listing/accounts/{account_id}", {}, { - renamed: ["apps", "getSubscriptionPlanForAccount"] - }], - checkAccountIsAssociatedWithAnyStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}", {}, { - renamed: ["apps", "getSubscriptionPlanForAccountStubbed"] - }], - checkToken: ["POST /applications/{client_id}/token"], - createContentAttachment: ["POST /content_references/{content_reference_id}/attachments", { - mediaType: { - previews: ["corsair"] - } - }], - createFromManifest: ["POST /app-manifests/{code}/conversions"], - createInstallationToken: ["POST /app/installations/{installation_id}/access_tokens", { - mediaType: { - previews: ["machine-man"] - } - }], - deleteAuthorization: ["DELETE /applications/{client_id}/grant"], - deleteInstallation: ["DELETE /app/installations/{installation_id}", { - mediaType: { - previews: ["machine-man"] - } - }], - deleteToken: ["DELETE /applications/{client_id}/token"], - getAuthenticated: ["GET /app", { - mediaType: { - previews: ["machine-man"] - } - }], - getBySlug: ["GET /apps/{app_slug}", { - mediaType: { - previews: ["machine-man"] - } - }], - getInstallation: ["GET /app/installations/{installation_id}", { - mediaType: { - previews: ["machine-man"] - } - }], - getOrgInstallation: ["GET /orgs/{org}/installation", { - mediaType: { - previews: ["machine-man"] - } - }], - getRepoInstallation: ["GET /repos/{owner}/{repo}/installation", { - mediaType: { - previews: ["machine-man"] - } - }], - getSubscriptionPlanForAccount: ["GET /marketplace_listing/accounts/{account_id}"], - getSubscriptionPlanForAccountStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}"], - getUserInstallation: ["GET /users/{username}/installation", { - mediaType: { - previews: ["machine-man"] - } - }], - listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], - listAccountsForPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"], - listAccountsUserOrOrgOnPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts", {}, { - renamed: ["apps", "listAccountsForPlan"] - }], - listAccountsUserOrOrgOnPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", {}, { - renamed: ["apps", "listAccountsForPlanStubbed"] - }], - listInstallationReposForAuthenticatedUser: ["GET /user/installations/{installation_id}/repositories", { - mediaType: { - previews: ["machine-man"] - } - }], - listInstallations: ["GET /app/installations", { - mediaType: { - previews: ["machine-man"] - } - }], - listInstallationsForAuthenticatedUser: ["GET /user/installations", { - mediaType: { - previews: ["machine-man"] - } - }], - listMarketplacePurchasesForAuthenticatedUser: ["GET /user/marketplace_purchases", {}, { - renamed: ["apps", "listSubscriptionsForAuthenticatedUser"] - }], - listMarketplacePurchasesForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed", {}, { - renamed: ["apps", "listSubscriptionsForAuthenticatedUserStubbed"] - }], - listPlans: ["GET /marketplace_listing/plans"], - listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], - listRepos: ["GET /installation/repositories", { - mediaType: { - previews: ["machine-man"] - } - }], - listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], - listSubscriptionsForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed"], - removeRepoFromInstallation: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}", { - mediaType: { - previews: ["machine-man"] - } - }], - resetToken: ["PATCH /applications/{client_id}/token"], - revokeInstallationToken: ["DELETE /installation/token"] - }, - checks: { - create: ["POST /repos/{owner}/{repo}/check-runs", { - mediaType: { - previews: ["antiope"] - } - }], - createSuite: ["POST /repos/{owner}/{repo}/check-suites", { - mediaType: { - previews: ["antiope"] - } - }], - get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}", { - mediaType: { - previews: ["antiope"] - } - }], - getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}", { - mediaType: { - previews: ["antiope"] - } - }], - listAnnotations: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", { - mediaType: { - previews: ["antiope"] - } - }], - listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs", { - mediaType: { - previews: ["antiope"] - } - }], - listForSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", { - mediaType: { - previews: ["antiope"] - } - }], - listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites", { - mediaType: { - previews: ["antiope"] - } - }], - rerequestSuite: ["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", { - mediaType: { - previews: ["antiope"] - } - }], - setSuitesPreferences: ["PATCH /repos/{owner}/{repo}/check-suites/preferences", { - mediaType: { - previews: ["antiope"] - } - }], - update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}", { - mediaType: { - previews: ["antiope"] - } - }] - }, - codesOfConduct: { - getAllCodesOfConduct: ["GET /codes_of_conduct", { - mediaType: { - previews: ["scarlet-witch"] - } - }], - getConductCode: ["GET /codes_of_conduct/{key}", { - mediaType: { - previews: ["scarlet-witch"] - } - }], - getForRepo: ["GET /repos/{owner}/{repo}/community/code_of_conduct", { - mediaType: { - previews: ["scarlet-witch"] - } - }], - listConductCodes: ["GET /codes_of_conduct", { - mediaType: { - previews: ["scarlet-witch"] - } - }, { - renamed: ["codesOfConduct", "getAllCodesOfConduct"] - }] - }, - emojis: { - get: ["GET /emojis"] - }, - gists: { - checkIsStarred: ["GET /gists/{gist_id}/star"], - create: ["POST /gists"], - createComment: ["POST /gists/{gist_id}/comments"], - delete: ["DELETE /gists/{gist_id}"], - deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], - fork: ["POST /gists/{gist_id}/forks"], - get: ["GET /gists/{gist_id}"], - getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], - getRevision: ["GET /gists/{gist_id}/{sha}"], - list: ["GET /gists"], - listComments: ["GET /gists/{gist_id}/comments"], - listCommits: ["GET /gists/{gist_id}/commits"], - listForUser: ["GET /users/{username}/gists"], - listForks: ["GET /gists/{gist_id}/forks"], - listPublic: ["GET /gists/public"], - listPublicForUser: ["GET /users/{username}/gists", {}, { - renamed: ["gists", "listForUser"] - }], - listStarred: ["GET /gists/starred"], - star: ["PUT /gists/{gist_id}/star"], - unstar: ["DELETE /gists/{gist_id}/star"], - update: ["PATCH /gists/{gist_id}"], - updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] - }, - git: { - createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], - createCommit: ["POST /repos/{owner}/{repo}/git/commits"], - createRef: ["POST /repos/{owner}/{repo}/git/refs"], - createTag: ["POST /repos/{owner}/{repo}/git/tags"], - createTree: ["POST /repos/{owner}/{repo}/git/trees"], - deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], - getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], - getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], - getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], - getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], - getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], - listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], - updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] - }, - gitignore: { - getTemplate: ["GET /gitignore/templates/{name}"], - listTemplates: ["GET /gitignore/templates"] - }, - interactions: { - addOrUpdateRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits", { - mediaType: { - previews: ["sombra"] - } - }], - addOrUpdateRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits", { - mediaType: { - previews: ["sombra"] - } - }], - getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits", { - mediaType: { - previews: ["sombra"] - } - }], - getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits", { - mediaType: { - previews: ["sombra"] - } - }], - removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits", { - mediaType: { - previews: ["sombra"] - } - }], - removeRestrictionsForRepo: ["DELETE /repos/{owner}/{repo}/interaction-limits", { - mediaType: { - previews: ["sombra"] - } - }] - }, - issues: { - addAssignees: ["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"], - addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], - checkAssignee: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], - create: ["POST /repos/{owner}/{repo}/issues"], - createComment: ["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"], - createLabel: ["POST /repos/{owner}/{repo}/labels"], - createMilestone: ["POST /repos/{owner}/{repo}/milestones"], - deleteComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"], - deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], - deleteMilestone: ["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"], - get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], - getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], - getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], - getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], - getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], - list: ["GET /issues"], - listAssignees: ["GET /repos/{owner}/{repo}/assignees"], - listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], - listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], - listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], - listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], - listEventsForTimeline: ["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", { - mediaType: { - previews: ["mockingbird"] - } - }], - listForAuthenticatedUser: ["GET /user/issues"], - listForOrg: ["GET /orgs/{org}/issues"], - listForRepo: ["GET /repos/{owner}/{repo}/issues"], - listLabelsForMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"], - listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], - listLabelsOnIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"], - listMilestonesForRepo: ["GET /repos/{owner}/{repo}/milestones"], - lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], - removeAllLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"], - removeAssignees: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"], - removeLabel: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"], - removeLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels", {}, { - renamed: ["issues", "removeAllLabels"] - }], - replaceAllLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], - replaceLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels", {}, { - renamed: ["issues", "replaceAllLabels"] - }], - unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], - update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], - updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], - updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], - updateMilestone: ["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"] - }, - licenses: { - get: ["GET /licenses/{license}"], - getForRepo: ["GET /repos/{owner}/{repo}/license"], - listCommonlyUsed: ["GET /licenses"] - }, - markdown: { - render: ["POST /markdown"], - renderRaw: ["POST /markdown/raw", { - headers: { - "content-type": "text/plain; charset=utf-8" - } - }] - }, - meta: { - get: ["GET /meta"] - }, - migrations: { - cancelImport: ["DELETE /repos/{owner}/{repo}/import"], - deleteArchiveForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/archive", { - mediaType: { - previews: ["wyandotte"] - } - }], - deleteArchiveForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/archive", { - mediaType: { - previews: ["wyandotte"] - } - }], - downloadArchiveForOrg: ["GET /orgs/{org}/migrations/{migration_id}/archive", { - mediaType: { - previews: ["wyandotte"] - } - }], - getArchiveForAuthenticatedUser: ["GET /user/migrations/{migration_id}/archive", { - mediaType: { - previews: ["wyandotte"] - } - }], - getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], - getImportProgress: ["GET /repos/{owner}/{repo}/import"], - getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], - getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}", { - mediaType: { - previews: ["wyandotte"] - } - }], - getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}", { - mediaType: { - previews: ["wyandotte"] - } - }], - listForAuthenticatedUser: ["GET /user/migrations", { - mediaType: { - previews: ["wyandotte"] - } - }], - listForOrg: ["GET /orgs/{org}/migrations", { - mediaType: { - previews: ["wyandotte"] - } - }], - listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories", { - mediaType: { - previews: ["wyandotte"] - } - }], - listReposForUser: ["GET /user/{migration_id}/repositories", { - mediaType: { - previews: ["wyandotte"] - } - }], - mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], - setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], - startForAuthenticatedUser: ["POST /user/migrations"], - startForOrg: ["POST /orgs/{org}/migrations"], - startImport: ["PUT /repos/{owner}/{repo}/import"], - unlockRepoForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock", { - mediaType: { - previews: ["wyandotte"] - } - }], - unlockRepoForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", { - mediaType: { - previews: ["wyandotte"] - } - }], - updateImport: ["PATCH /repos/{owner}/{repo}/import"] - }, - orgs: { - addOrUpdateMembership: ["PUT /orgs/{org}/memberships/{username}"], - blockUser: ["PUT /orgs/{org}/blocks/{username}"], - checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], - checkMembership: ["GET /orgs/{org}/members/{username}"], - checkPublicMembership: ["GET /orgs/{org}/public_members/{username}"], - concealMembership: ["DELETE /orgs/{org}/public_members/{username}"], - convertMemberToOutsideCollaborator: ["PUT /orgs/{org}/outside_collaborators/{username}"], - createHook: ["POST /orgs/{org}/hooks"], - createInvitation: ["POST /orgs/{org}/invitations"], - deleteHook: ["DELETE /orgs/{org}/hooks/{hook_id}"], - get: ["GET /orgs/{org}"], - getHook: ["GET /orgs/{org}/hooks/{hook_id}"], - getMembership: ["GET /orgs/{org}/memberships/{username}"], - getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], - list: ["GET /organizations"], - listBlockedUsers: ["GET /orgs/{org}/blocks"], - listForAuthenticatedUser: ["GET /user/orgs"], - listForUser: ["GET /users/{username}/orgs"], - listHooks: ["GET /orgs/{org}/hooks"], - listInstallations: ["GET /orgs/{org}/installations", { - mediaType: { - previews: ["machine-man"] - } - }], - listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], - listMembers: ["GET /orgs/{org}/members"], - listMemberships: ["GET /user/memberships/orgs"], - listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], - listPendingInvitations: ["GET /orgs/{org}/invitations"], - listPublicMembers: ["GET /orgs/{org}/public_members"], - pingHook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], - publicizeMembership: ["PUT /orgs/{org}/public_members/{username}"], - removeMember: ["DELETE /orgs/{org}/members/{username}"], - removeMembership: ["DELETE /orgs/{org}/memberships/{username}"], - removeOutsideCollaborator: ["DELETE /orgs/{org}/outside_collaborators/{username}"], - unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], - update: ["PATCH /orgs/{org}"], - updateHook: ["PATCH /orgs/{org}/hooks/{hook_id}"], - updateMembership: ["PATCH /user/memberships/orgs/{org}"] - }, - projects: { - addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}", { - mediaType: { - previews: ["inertia"] - } - }], - createCard: ["POST /projects/columns/{column_id}/cards", { - mediaType: { - previews: ["inertia"] - } - }], - createColumn: ["POST /projects/{project_id}/columns", { - mediaType: { - previews: ["inertia"] - } - }], - createForAuthenticatedUser: ["POST /user/projects", { - mediaType: { - previews: ["inertia"] - } - }], - createForOrg: ["POST /orgs/{org}/projects", { - mediaType: { - previews: ["inertia"] - } - }], - createForRepo: ["POST /repos/{owner}/{repo}/projects", { - mediaType: { - previews: ["inertia"] - } - }], - delete: ["DELETE /projects/{project_id}", { - mediaType: { - previews: ["inertia"] - } - }], - deleteCard: ["DELETE /projects/columns/cards/{card_id}", { - mediaType: { - previews: ["inertia"] - } - }], - deleteColumn: ["DELETE /projects/columns/{column_id}", { - mediaType: { - previews: ["inertia"] - } - }], - get: ["GET /projects/{project_id}", { - mediaType: { - previews: ["inertia"] - } - }], - getCard: ["GET /projects/columns/cards/{card_id}", { - mediaType: { - previews: ["inertia"] - } - }], - getColumn: ["GET /projects/columns/{column_id}", { - mediaType: { - previews: ["inertia"] - } - }], - listCards: ["GET /projects/columns/{column_id}/cards", { - mediaType: { - previews: ["inertia"] - } - }], - listCollaborators: ["GET /projects/{project_id}/collaborators", { - mediaType: { - previews: ["inertia"] - } - }], - listColumns: ["GET /projects/{project_id}/columns", { - mediaType: { - previews: ["inertia"] - } - }], - listForOrg: ["GET /orgs/{org}/projects", { - mediaType: { - previews: ["inertia"] - } - }], - listForRepo: ["GET /repos/{owner}/{repo}/projects", { - mediaType: { - previews: ["inertia"] - } - }], - listForUser: ["GET /users/{username}/projects", { - mediaType: { - previews: ["inertia"] - } - }], - moveCard: ["POST /projects/columns/cards/{card_id}/moves", { - mediaType: { - previews: ["inertia"] - } - }], - moveColumn: ["POST /projects/columns/{column_id}/moves", { - mediaType: { - previews: ["inertia"] - } - }], - removeCollaborator: ["DELETE /projects/{project_id}/collaborators/{username}", { - mediaType: { - previews: ["inertia"] - } - }], - reviewUserPermissionLevel: ["GET /projects/{project_id}/collaborators/{username}/permission", { - mediaType: { - previews: ["inertia"] - } - }], - update: ["PATCH /projects/{project_id}", { - mediaType: { - previews: ["inertia"] - } - }], - updateCard: ["PATCH /projects/columns/cards/{card_id}", { - mediaType: { - previews: ["inertia"] - } - }], - updateColumn: ["PATCH /projects/columns/{column_id}", { - mediaType: { - previews: ["inertia"] - } - }] - }, - pulls: { - checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], - create: ["POST /repos/{owner}/{repo}/pulls"], - createComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"], - createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], - createReviewCommentReply: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"], - createReviewRequest: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], - deleteComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"], - deletePendingReview: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], - deleteReviewRequest: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], - dismissReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"], - get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], - getComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], - getCommentsForReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"], - getReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], - list: ["GET /repos/{owner}/{repo}/pulls"], - listComments: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"], - listCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], - listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], - listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], - listReviewRequests: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], - listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], - merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], - submitReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"], - update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], - updateBranch: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch", { - mediaType: { - previews: ["lydian"] - } - }], - updateComment: ["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"], - updateReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"] - }, - rateLimit: { - get: ["GET /rate_limit"] - }, - reactions: { - createForCommitComment: ["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - createForIssue: ["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - createForIssueComment: ["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - createForPullRequestReviewComment: ["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - createForTeamDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - createForTeamDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - delete: ["DELETE /reactions/{reaction_id}", { - mediaType: { - previews: ["squirrel-girl"] - } - }, { - renamed: ["reactions", "deleteLegacy"] - }], - deleteForCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - deleteForIssue: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - deleteForIssueComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - deleteForPullRequestComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - deleteForTeamDiscussion: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - deleteForTeamDiscussionComment: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - deleteLegacy: ["DELETE /reactions/{reaction_id}", { - mediaType: { - previews: ["squirrel-girl"] - } - }, { - deprecated: "octokit.reactions.deleteLegacy() is deprecated, see https://developer.github.com/v3/reactions/#delete-a-reaction-legacy" - }], - listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - listForIssueComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - listForPullRequestReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - listForTeamDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", { - mediaType: { - previews: ["squirrel-girl"] - } - }], - listForTeamDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", { - mediaType: { - previews: ["squirrel-girl"] - } - }] - }, - repos: { - acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}"], - addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], - addDeployKey: ["POST /repos/{owner}/{repo}/keys"], - addProtectedBranchAdminEnforcement: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], - addProtectedBranchAppRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { - mapToData: "apps" - }], - addProtectedBranchRequiredSignatures: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", { - mediaType: { - previews: ["zzzax"] - } - }], - addProtectedBranchRequiredStatusChecksContexts: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { - mapToData: "contexts" - }], - addProtectedBranchTeamRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { - mapToData: "teams" - }], - addProtectedBranchUserRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { - mapToData: "users" - }], - checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], - checkVulnerabilityAlerts: ["GET /repos/{owner}/{repo}/vulnerability-alerts", { - mediaType: { - previews: ["dorian"] - } - }], - compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], - createCommitComment: ["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"], - createDeployment: ["POST /repos/{owner}/{repo}/deployments"], - createDeploymentStatus: ["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], - createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], - createForAuthenticatedUser: ["POST /user/repos"], - createFork: ["POST /repos/{owner}/{repo}/forks"], - createHook: ["POST /repos/{owner}/{repo}/hooks"], - createInOrg: ["POST /orgs/{org}/repos"], - createOrUpdateFile: ["PUT /repos/{owner}/{repo}/contents/{path}"], - createRelease: ["POST /repos/{owner}/{repo}/releases"], - createStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], - createUsingTemplate: ["POST /repos/{template_owner}/{template_repo}/generate", { - mediaType: { - previews: ["baptiste"] - } - }], - declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}"], - delete: ["DELETE /repos/{owner}/{repo}"], - deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], - deleteDeployment: ["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"], - deleteDownload: ["DELETE /repos/{owner}/{repo}/downloads/{download_id}"], - deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], - deleteHook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], - deleteInvitation: ["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"], - deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], - deleteReleaseAsset: ["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"], - disableAutomatedSecurityFixes: ["DELETE /repos/{owner}/{repo}/automated-security-fixes", { - mediaType: { - previews: ["london"] - } - }], - disablePagesSite: ["DELETE /repos/{owner}/{repo}/pages", { - mediaType: { - previews: ["switcheroo"] - } - }], - disableVulnerabilityAlerts: ["DELETE /repos/{owner}/{repo}/vulnerability-alerts", { - mediaType: { - previews: ["dorian"] - } - }], - enableAutomatedSecurityFixes: ["PUT /repos/{owner}/{repo}/automated-security-fixes", { - mediaType: { - previews: ["london"] - } - }], - enablePagesSite: ["POST /repos/{owner}/{repo}/pages", { - mediaType: { - previews: ["switcheroo"] - } - }], - enableVulnerabilityAlerts: ["PUT /repos/{owner}/{repo}/vulnerability-alerts", { - mediaType: { - previews: ["dorian"] - } - }], - get: ["GET /repos/{owner}/{repo}"], - getAllTopics: ["GET /repos/{owner}/{repo}/topics", { - mediaType: { - previews: ["mercy"] - } - }], - getAppsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"], - getArchiveLink: ["GET /repos/{owner}/{repo}/{archive_format}/{ref}"], - getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], - getBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection"], - getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], - getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], - getCollaboratorPermissionLevel: ["GET /repos/{owner}/{repo}/collaborators/{username}/permission"], - getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], - getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], - getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], - getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], - getContents: ["GET /repos/{owner}/{repo}/contents/{path}"], - getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], - getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], - getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], - getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"], - getDownload: ["GET /repos/{owner}/{repo}/downloads/{download_id}"], - getHook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], - getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], - getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], - getPages: ["GET /repos/{owner}/{repo}/pages"], - getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], - getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], - getProtectedBranchAdminEnforcement: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], - getProtectedBranchPullRequestReviewEnforcement: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], - getProtectedBranchRequiredSignatures: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", { - mediaType: { - previews: ["zzzax"] - } - }], - getProtectedBranchRequiredStatusChecks: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], - getProtectedBranchRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], - getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], - getReadme: ["GET /repos/{owner}/{repo}/readme"], - getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], - getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], - getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], - getTeamsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"], - getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], - getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], - getUsersWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"], - getViews: ["GET /repos/{owner}/{repo}/traffic/views"], - list: ["GET /user/repos", {}, { - renamed: ["repos", "listForAuthenticatedUser"] - }], - listAssetsForRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}/assets"], - listBranches: ["GET /repos/{owner}/{repo}/branches"], - listBranchesForHeadCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", { - mediaType: { - previews: ["groot"] - } - }], - listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], - listCommentsForCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"], - listCommitComments: ["GET /repos/{owner}/{repo}/comments"], - listCommits: ["GET /repos/{owner}/{repo}/commits"], - listContributors: ["GET /repos/{owner}/{repo}/contributors"], - listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], - listDeploymentStatuses: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], - listDeployments: ["GET /repos/{owner}/{repo}/deployments"], - listDownloads: ["GET /repos/{owner}/{repo}/downloads"], - listForAuthenticatedUser: ["GET /user/repos"], - listForOrg: ["GET /orgs/{org}/repos"], - listForUser: ["GET /users/{username}/repos"], - listForks: ["GET /repos/{owner}/{repo}/forks"], - listHooks: ["GET /repos/{owner}/{repo}/hooks"], - listInvitations: ["GET /repos/{owner}/{repo}/invitations"], - listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], - listLanguages: ["GET /repos/{owner}/{repo}/languages"], - listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], - listProtectedBranchRequiredStatusChecksContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"], - listPublic: ["GET /repositories"], - listPullRequestsAssociatedWithCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", { - mediaType: { - previews: ["groot"] - } - }], - listReleases: ["GET /repos/{owner}/{repo}/releases"], - listStatusesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/statuses"], - listTags: ["GET /repos/{owner}/{repo}/tags"], - listTeams: ["GET /repos/{owner}/{repo}/teams"], - listTopics: ["GET /repos/{owner}/{repo}/topics", { - mediaType: { - previews: ["mercy"] - } - }, { - renamed: ["repos", "getAllTopics"] - }], - merge: ["POST /repos/{owner}/{repo}/merges"], - pingHook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], - removeBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"], - removeCollaborator: ["DELETE /repos/{owner}/{repo}/collaborators/{username}"], - removeDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], - removeProtectedBranchAdminEnforcement: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], - removeProtectedBranchAppRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { - mapToData: "apps" - }], - removeProtectedBranchPullRequestReviewEnforcement: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], - removeProtectedBranchRequiredSignatures: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", { - mediaType: { - previews: ["zzzax"] - } - }], - removeProtectedBranchRequiredStatusChecks: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], - removeProtectedBranchRequiredStatusChecksContexts: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { - mapToData: "contexts" - }], - removeProtectedBranchRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], - removeProtectedBranchTeamRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { - mapToData: "teams" - }], - removeProtectedBranchUserRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { - mapToData: "users" - }], - replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics", { - mediaType: { - previews: ["mercy"] - } - }], - replaceProtectedBranchAppRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { - mapToData: "apps" - }], - replaceProtectedBranchRequiredStatusChecksContexts: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { - mapToData: "contexts" - }], - replaceProtectedBranchTeamRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { - mapToData: "teams" - }], - replaceProtectedBranchUserRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { - mapToData: "users" - }], - replaceTopics: ["PUT /repos/{owner}/{repo}/topics", { - mediaType: { - previews: ["mercy"] - } - }, { - renamed: ["repos", "replaceAllTopics"] - }], - requestPageBuild: ["POST /repos/{owner}/{repo}/pages/builds"], - retrieveCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], - testPushHook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], - transfer: ["POST /repos/{owner}/{repo}/transfer"], - update: ["PATCH /repos/{owner}/{repo}"], - updateBranchProtection: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection"], - updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], - updateHook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], - updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], - updateInvitation: ["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"], - updateProtectedBranchPullRequestReviewEnforcement: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], - updateProtectedBranchRequiredStatusChecks: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], - updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], - updateReleaseAsset: ["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"], - uploadReleaseAsset: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", { - baseUrl: "https://uploads.github.com" - }] - }, - search: { - code: ["GET /search/code"], - commits: ["GET /search/commits", { - mediaType: { - previews: ["cloak"] - } - }], - issuesAndPullRequests: ["GET /search/issues"], - labels: ["GET /search/labels"], - repos: ["GET /search/repositories"], - topics: ["GET /search/topics"], - users: ["GET /search/users"] - }, - teams: { - addOrUpdateMembershipInOrg: ["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"], - addOrUpdateProjectInOrg: ["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}", { - mediaType: { - previews: ["inertia"] - } - }], - addOrUpdateRepoInOrg: ["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], - checkManagesRepoInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], - create: ["POST /orgs/{org}/teams"], - createDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], - createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], - deleteDiscussionCommentInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], - deleteDiscussionInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], - deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], - getByName: ["GET /orgs/{org}/teams/{team_slug}"], - getDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], - getDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], - getMembershipInOrg: ["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"], - list: ["GET /orgs/{org}/teams"], - listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], - listDiscussionCommentsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], - listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], - listForAuthenticatedUser: ["GET /user/teams"], - listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], - listPendingInvitationsInOrg: ["GET /orgs/{org}/teams/{team_slug}/invitations"], - listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects", { - mediaType: { - previews: ["inertia"] - } - }], - listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], - removeMembershipInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"], - removeProjectInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"], - removeRepoInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], - reviewProjectInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}", { - mediaType: { - previews: ["inertia"] - } - }], - updateDiscussionCommentInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], - updateDiscussionInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], - updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] - }, - users: { - addEmails: ["POST /user/emails"], - block: ["PUT /user/blocks/{username}"], - checkBlocked: ["GET /user/blocks/{username}"], - checkFollowing: ["GET /user/following/{username}"], - checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], - createGpgKey: ["POST /user/gpg_keys"], - createPublicKey: ["POST /user/keys"], - deleteEmails: ["DELETE /user/emails"], - deleteGpgKey: ["DELETE /user/gpg_keys/{gpg_key_id}"], - deletePublicKey: ["DELETE /user/keys/{key_id}"], - follow: ["PUT /user/following/{username}"], - getAuthenticated: ["GET /user"], - getByUsername: ["GET /users/{username}"], - getContextForUser: ["GET /users/{username}/hovercard"], - getGpgKey: ["GET /user/gpg_keys/{gpg_key_id}"], - getPublicKey: ["GET /user/keys/{key_id}"], - list: ["GET /users"], - listBlocked: ["GET /user/blocks"], - listEmails: ["GET /user/emails"], - listFollowedByAuthenticated: ["GET /user/following"], - listFollowersForAuthenticatedUser: ["GET /user/followers"], - listFollowersForUser: ["GET /users/{username}/followers"], - listFollowingForAuthenticatedUser: ["GET /user/following", {}, { - renamed: ["users", "listFollowedByAuthenticated"] - }], - listFollowingForUser: ["GET /users/{username}/following"], - listGpgKeys: ["GET /user/gpg_keys"], - listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], - listPublicEmails: ["GET /user/public_emails"], - listPublicKeys: ["GET /user/keys"], - listPublicKeysForUser: ["GET /users/{username}/keys"], - togglePrimaryEmailVisibility: ["PATCH /user/email/visibility"], - unblock: ["DELETE /user/blocks/{username}"], - unfollow: ["DELETE /user/following/{username}"], - updateAuthenticated: ["PATCH /user"] - } -}; - -const VERSION = "3.7.1"; +var _curry3 = /*#__PURE__*/__webpack_require__(687); -function endpointsToMethods(octokit, endpointsMap) { - const newMethods = {}; +var curryN = /*#__PURE__*/__webpack_require__(535); - for (const [scope, endpoints] of Object.entries(endpointsMap)) { - for (const [methodName, endpoint] of Object.entries(endpoints)) { - const [route, defaults, decorations] = endpoint; - const [method, url] = route.split(/ /); - const endpointDefaults = Object.assign({ - method, - url - }, defaults); +/** + * Creates a function that will process either the `onTrue` or the `onFalse` + * function depending upon the result of the `condition` predicate. + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Logic + * @sig (*... -> Boolean) -> (*... -> *) -> (*... -> *) -> (*... -> *) + * @param {Function} condition A predicate function + * @param {Function} onTrue A function to invoke when the `condition` evaluates to a truthy value. + * @param {Function} onFalse A function to invoke when the `condition` evaluates to a falsy value. + * @return {Function} A new function that will process either the `onTrue` or the `onFalse` + * function depending upon the result of the `condition` predicate. + * @see R.unless, R.when, R.cond + * @example + * + * const incCount = R.ifElse( + * R.has('count'), + * R.over(R.lensProp('count'), R.inc), + * R.assoc('count', 1) + * ); + * incCount({}); //=> { count: 1 } + * incCount({ count: 1 }); //=> { count: 2 } + */ - if (!newMethods[scope]) { - newMethods[scope] = {}; - } - const scopeMethods = newMethods[scope]; +var ifElse = /*#__PURE__*/_curry3(function ifElse(condition, onTrue, onFalse) { + return curryN(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() { + return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments); + }); +}); +module.exports = ifElse; - if (decorations) { - scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); - continue; - } +/***/ }), +/* 463 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { - scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var deprecation = __webpack_require__(692); +var once = _interopDefault(__webpack_require__(49)); + +const logOnceCode = once(deprecation => console.warn(deprecation)); +const logOnceHeaders = once(deprecation => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ + +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); } - } - return newMethods; -} + this.name = "HttpError"; + this.status = statusCode; + let headers; -function decorate(octokit, scope, methodName, defaults, decorations) { - const requestWithDefaults = octokit.request.defaults(defaults); + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } - function withDecorations(...args) { - // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 - let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData` + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } // redact request credentials without mutating original request options - if (decorations.mapToData) { - options = Object.assign({}, options, { - data: options[decorations.mapToData], - [decorations.mapToData]: undefined - }); - return requestWithDefaults(options); - } // NOTE: there are currently no deprecations. But we keep the code - // below for future reference + const requestCopy = Object.assign({}, options.request); - if (decorations.renamed) { - const [newScope, newMethodName] = decorations.renamed; - octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") + }); } - if (decorations.deprecated) { - octokit.log.warn(decorations.deprecated); - } // There currently are no renamed parameters - // if (decorations.renamedParameters) { - // // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 - // const options = requestWithDefaults.endpoint.merge(...args); - // for (const [name, alias] of Object.entries( - // decorations.renamedParameters - // )) { - // if (name in options) { - // octokit.log.warn( - // `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` - // ); - // if (!(alias in options)) { - // options[alias] = options[name]; - // } - // delete options[name]; - // } - // } - // return requestWithDefaults(options); - // } - // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; // deprecations + Object.defineProperty(this, "code", { + get() { + logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } - return requestWithDefaults(...args); + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + } + + }); } - return Object.assign(withDecorations, requestWithDefaults); } +exports.RequestError = RequestError; +//# sourceMappingURL=index.js.map + + +/***/ }), +/* 464 */, +/* 465 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var parse = __webpack_require__(751) +var getDaysInMonth = __webpack_require__(507) + /** - * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary - * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is - * done, we will remove the registerEndpoints methods and return the methods - * directly as with the other plugins. At that point we will also remove the - * legacy workarounds and deprecations. + * @category Month Helpers + * @summary Add the specified number of months to the given date. + * + * @description + * Add the specified number of months to the given date. + * + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of months to be added + * @returns {Date} the new date with the months added * - * See the plan at - * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 + * @example + * // Add 5 months to 1 September 2014: + * var result = addMonths(new Date(2014, 8, 1), 5) + * //=> Sun Feb 01 2015 00:00:00 */ - -function restEndpointMethods(octokit) { - return endpointsToMethods(octokit, Endpoints); +function addMonths (dirtyDate, dirtyAmount) { + var date = parse(dirtyDate) + var amount = Number(dirtyAmount) + var desiredMonth = date.getMonth() + amount + var dateWithDesiredMonth = new Date(0) + dateWithDesiredMonth.setFullYear(date.getFullYear(), desiredMonth, 1) + dateWithDesiredMonth.setHours(0, 0, 0, 0) + var daysInMonth = getDaysInMonth(dateWithDesiredMonth) + // Set the last day of the new month + // if the original date was the last day of the longer month + date.setMonth(desiredMonth, Math.min(daysInMonth, date.getDate())) + return date } -restEndpointMethods.VERSION = VERSION; -exports.restEndpointMethods = restEndpointMethods; -//# sourceMappingURL=index.js.map +module.exports = addMonths + + +/***/ }), +/* 466 */, +/* 467 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +var curryN = /*#__PURE__*/__webpack_require__(535); + +/** + * Accepts a function `fn` and a list of transformer functions and returns a + * new curried function. When the new function is invoked, it calls the + * function `fn` with parameters consisting of the result of calling each + * supplied handler on successive arguments to the new function. + * + * If more arguments are passed to the returned function than transformer + * functions, those arguments are passed directly to `fn` as additional + * parameters. If you expect additional arguments that don't need to be + * transformed, although you can ignore them, it's best to pass an identity + * function so that the new function reports the correct arity. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig ((x1, x2, ...) -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z) + * @param {Function} fn The function to wrap. + * @param {Array} transformers A list of transformer functions + * @return {Function} The wrapped function. + * @see R.converge + * @example + * + * R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81 + * R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81 + * R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32 + * R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32 + * @symb R.useWith(f, [g, h])(a, b) = f(g(a), h(b)) + */ + +var useWith = /*#__PURE__*/_curry2(function useWith(fn, transformers) { + return curryN(transformers.length, function () { + var args = []; + var idx = 0; + while (idx < transformers.length) { + args.push(transformers[idx].call(this, arguments[idx])); + idx += 1; + } + return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length))); + }); +}); +module.exports = useWith; /***/ }), +/* 468 */, /* 469 */, /* 470 */ /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -21915,9 +20816,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); +exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; const command_1 = __webpack_require__(431); -const os = __webpack_require__(87); -const path = __webpack_require__(622); +const file_command_1 = __webpack_require__(102); +const utils_1 = __webpack_require__(82); +const os = __importStar(__webpack_require__(87)); +const path = __importStar(__webpack_require__(622)); +const oidc_utils_1 = __webpack_require__(742); /** * The code to exit an action */ @@ -21936,39 +20841,48 @@ var ExitCode; // Variables //----------------------------------------------------------------------- /** - * sets env variable for this action and future actions in the job + * Sets env variable for this action and future actions in the job * @param name the name of the variable to set - * @param val the value of the variable + * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any function exportVariable(name, val) { - process.env[name] = val; - command_1.issueCommand('set-env', { name }, val); + const convertedVal = utils_1.toCommandValue(val); + process.env[name] = convertedVal; + const filePath = process.env['GITHUB_ENV'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val)); + } + command_1.issueCommand('set-env', { name }, convertedVal); } exports.exportVariable = exportVariable; /** - * exports the variable and registers a secret which will get masked from logs - * @param name the name of the variable to set - * @param val value of the secret + * Registers a secret which will get masked from logs + * @param secret value of the secret */ -function exportSecret(name, val) { - exportVariable(name, val); - // the runner will error with not implemented - // leaving the function but raising the error earlier - command_1.issueCommand('set-secret', {}, val); - throw new Error('Not implemented.'); +function setSecret(secret) { + command_1.issueCommand('add-mask', {}, secret); } -exports.exportSecret = exportSecret; +exports.setSecret = setSecret; /** * Prepends inputPath to the PATH (for this action and future actions) * @param inputPath */ function addPath(inputPath) { - command_1.issueCommand('add-path', {}, inputPath); + const filePath = process.env['GITHUB_PATH'] || ''; + if (filePath) { + file_command_1.issueFileCommand('PATH', inputPath); + } + else { + command_1.issueCommand('add-path', {}, inputPath); + } process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; } exports.addPath = addPath; /** - * Gets the value of an input. The value is also trimmed. + * Gets the value of an input. + * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. + * Returns an empty string if the value is not defined. * * @param name name of the input to get * @param options optional. See InputOptions. @@ -21979,19 +20893,77 @@ function getInput(name, options) { if (options && options.required && !val) { throw new Error(`Input required and not supplied: ${name}`); } + if (options && options.trimWhitespace === false) { + return val; + } return val.trim(); } exports.getInput = getInput; +/** + * Gets the values of an multiline input. Each value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string[] + * + */ +function getMultilineInput(name, options) { + const inputs = getInput(name, options) + .split('\n') + .filter(x => x !== ''); + if (options && options.trimWhitespace === false) { + return inputs; + } + return inputs.map(input => input.trim()); +} +exports.getMultilineInput = getMultilineInput; +/** + * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. + * Support boolean input list: `true | True | TRUE | false | False | FALSE` . + * The return value is also in boolean type. + * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns boolean + */ +function getBooleanInput(name, options) { + const trueValue = ['true', 'True', 'TRUE']; + const falseValue = ['false', 'False', 'FALSE']; + const val = getInput(name, options); + if (trueValue.includes(val)) + return true; + if (falseValue.includes(val)) + return false; + throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + + `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); +} +exports.getBooleanInput = getBooleanInput; /** * Sets the value of an output. * * @param name name of the output to set - * @param value value to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any function setOutput(name, value) { - command_1.issueCommand('set-output', { name }, value); + const filePath = process.env['GITHUB_OUTPUT'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value)); + } + process.stdout.write(os.EOL); + command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value)); } exports.setOutput = setOutput; +/** + * Enables or disables the echoing of commands into stdout for the rest of the step. + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. + * + */ +function setCommandEcho(enabled) { + command_1.issue('echo', enabled ? 'on' : 'off'); +} +exports.setCommandEcho = setCommandEcho; //----------------------------------------------------------------------- // Results //----------------------------------------------------------------------- @@ -22008,6 +20980,13 @@ exports.setFailed = setFailed; //----------------------------------------------------------------------- // Logging Commands //----------------------------------------------------------------------- +/** + * Gets whether Actions Step Debug is on or not + */ +function isDebug() { + return process.env['RUNNER_DEBUG'] === '1'; +} +exports.isDebug = isDebug; /** * Writes debug message to user log * @param message debug message @@ -22018,20 +20997,31 @@ function debug(message) { exports.debug = debug; /** * Adds an error issue - * @param message error issue message + * @param message error issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. */ -function error(message) { - command_1.issue('error', message); +function error(message, properties = {}) { + command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } exports.error = error; /** - * Adds an warning issue - * @param message warning issue message + * Adds a warning issue + * @param message warning issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. */ -function warning(message) { - command_1.issue('warning', message); +function warning(message, properties = {}) { + command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } exports.warning = warning; +/** + * Adds a notice issue + * @param message notice issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function notice(message, properties = {}) { + command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.notice = notice; /** * Writes info to log with console.log. * @param message info message @@ -22080,6 +21070,57 @@ function group(name, fn) { }); } exports.group = group; +//----------------------------------------------------------------------- +// Wrapper action state +//----------------------------------------------------------------------- +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function saveState(name, value) { + const filePath = process.env['GITHUB_STATE'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value)); + } + command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value)); +} +exports.saveState = saveState; +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +function getState(name) { + return process.env[`STATE_${name}`] || ''; +} +exports.getState = getState; +function getIDToken(aud) { + return __awaiter(this, void 0, void 0, function* () { + return yield oidc_utils_1.OidcClient.getIDToken(aud); + }); +} +exports.getIDToken = getIDToken; +/** + * Summary exports + */ +var summary_1 = __webpack_require__(665); +Object.defineProperty(exports, "summary", { enumerable: true, get: function () { return summary_1.summary; } }); +/** + * @deprecated use core.summary + */ +var summary_2 = __webpack_require__(665); +Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function () { return summary_2.markdownSummary; } }); +/** + * Path exports + */ +var path_utils_1 = __webpack_require__(573); +Object.defineProperty(exports, "toPosixPath", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } }); +Object.defineProperty(exports, "toWin32Path", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } }); +Object.defineProperty(exports, "toPlatformPath", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } }); //# sourceMappingURL=core.js.map /***/ }), @@ -22200,315 +21241,63 @@ module.exports = _cloneRegExp; var _curry2 = /*#__PURE__*/__webpack_require__(830); -var _dispatchable = /*#__PURE__*/__webpack_require__(968); - -var _makeFlat = /*#__PURE__*/__webpack_require__(415); - -var _xchain = /*#__PURE__*/__webpack_require__(542); - -var map = /*#__PURE__*/__webpack_require__(534); - -/** - * `chain` maps a function over a list and concatenates the results. `chain` - * is also known as `flatMap` in some libraries. - * - * Dispatches to the `chain` method of the second argument, if present, - * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain). - * - * If second argument is a function, `chain(f, g)(x)` is equivalent to `f(g(x), x)`. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category List - * @sig Chain m => (a -> m b) -> m a -> m b - * @param {Function} fn The function to map with - * @param {Array} list The list to map over - * @return {Array} The result of flat-mapping `list` with `fn` - * @example - * - * const duplicate = n => [n, n]; - * R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3] - * - * R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1] - */ - - -var chain = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['fantasy-land/chain', 'chain'], _xchain, function chain(fn, monad) { - if (typeof monad === 'function') { - return function (x) { - return fn(monad(x))(x); - }; - } - return _makeFlat(false)(map(fn, monad)); -})); -module.exports = chain; - -/***/ }), -/* 482 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _reduce = /*#__PURE__*/__webpack_require__(870); - -var _xwrap = /*#__PURE__*/__webpack_require__(43); - -var curryN = /*#__PURE__*/__webpack_require__(535); - -/** - * Initializes a transducer using supplied iterator function. Returns a single - * item by iterating through the list, successively calling the transformed - * iterator function and passing it an accumulator value and the current value - * from the array, and then passing the result to the next call. - * - * The iterator function receives two values: *(acc, value)*. It will be - * wrapped as a transformer to initialize the transducer. A transformer can be - * passed directly in place of an iterator function. In both cases, iteration - * may be stopped early with the [`R.reduced`](#reduced) function. - * - * A transducer is a function that accepts a transformer and returns a - * transformer and can be composed directly. - * - * A transformer is an an object that provides a 2-arity reducing iterator - * function, step, 0-arity initial value function, init, and 1-arity result - * extraction function, result. The step function is used as the iterator - * function in reduce. The result function is used to convert the final - * accumulator into the return type and in most cases is - * [`R.identity`](#identity). The init function can be used to provide an - * initial accumulator, but is ignored by transduce. - * - * The iteration is performed with [`R.reduce`](#reduce) after initializing the transducer. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category List - * @sig (c -> c) -> ((a, b) -> a) -> a -> [b] -> a - * @param {Function} xf The transducer function. Receives a transformer and returns a transformer. - * @param {Function} fn The iterator function. Receives two values, the accumulator and the - * current element from the array. Wrapped as transformer, if necessary, and used to - * initialize the transducer - * @param {*} acc The initial accumulator value. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.reduce, R.reduced, R.into - * @example - * - * const numbers = [1, 2, 3, 4]; - * const transducer = R.compose(R.map(R.add(1)), R.take(2)); - * R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3] - * - * const isOdd = (x) => x % 2 === 1; - * const firstOddTransducer = R.compose(R.filter(isOdd), R.take(1)); - * R.transduce(firstOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [1] - */ - - -var transduce = /*#__PURE__*/curryN(4, function transduce(xf, fn, acc, list) { - return _reduce(xf(typeof fn === 'function' ? _xwrap(fn) : fn), acc, list); -}); -module.exports = transduce; - -/***/ }), -/* 483 */, -/* 484 */, -/* 485 */, -/* 486 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -var Buffer = __webpack_require__(572).Buffer; - -// Export Node.js internal encodings. - -module.exports = { - // Encodings - utf8: { type: "_internal", bomAware: true}, - cesu8: { type: "_internal", bomAware: true}, - unicode11utf8: "utf8", - - ucs2: { type: "_internal", bomAware: true}, - utf16le: "ucs2", - - binary: { type: "_internal" }, - base64: { type: "_internal" }, - hex: { type: "_internal" }, - - // Codec. - _internal: InternalCodec, -}; - -//------------------------------------------------------------------------------ - -function InternalCodec(codecOptions, iconv) { - this.enc = codecOptions.encodingName; - this.bomAware = codecOptions.bomAware; - - if (this.enc === "base64") - this.encoder = InternalEncoderBase64; - else if (this.enc === "cesu8") { - this.enc = "utf8"; // Use utf8 for decoding. - this.encoder = InternalEncoderCesu8; - - // Add decoder for versions of Node not supporting CESU-8 - if (Buffer.from('eda0bdedb2a9', 'hex').toString() !== '💩') { - this.decoder = InternalDecoderCesu8; - this.defaultCharUnicode = iconv.defaultCharUnicode; - } - } -} - -InternalCodec.prototype.encoder = InternalEncoder; -InternalCodec.prototype.decoder = InternalDecoder; - -//------------------------------------------------------------------------------ - -// We use node.js internal decoder. Its signature is the same as ours. -var StringDecoder = __webpack_require__(304).StringDecoder; - -if (!StringDecoder.prototype.end) // Node v0.8 doesn't have this method. - StringDecoder.prototype.end = function() {}; - - -function InternalDecoder(options, codec) { - StringDecoder.call(this, codec.enc); -} - -InternalDecoder.prototype = StringDecoder.prototype; - - -//------------------------------------------------------------------------------ -// Encoder is mostly trivial - -function InternalEncoder(options, codec) { - this.enc = codec.enc; -} - -InternalEncoder.prototype.write = function(str) { - return Buffer.from(str, this.enc); -} - -InternalEncoder.prototype.end = function() { -} - - -//------------------------------------------------------------------------------ -// Except base64 encoder, which must keep its state. - -function InternalEncoderBase64(options, codec) { - this.prevStr = ''; -} - -InternalEncoderBase64.prototype.write = function(str) { - str = this.prevStr + str; - var completeQuads = str.length - (str.length % 4); - this.prevStr = str.slice(completeQuads); - str = str.slice(0, completeQuads); - - return Buffer.from(str, "base64"); -} - -InternalEncoderBase64.prototype.end = function() { - return Buffer.from(this.prevStr, "base64"); -} - - -//------------------------------------------------------------------------------ -// CESU-8 encoder is also special. - -function InternalEncoderCesu8(options, codec) { -} - -InternalEncoderCesu8.prototype.write = function(str) { - var buf = Buffer.alloc(str.length * 3), bufIdx = 0; - for (var i = 0; i < str.length; i++) { - var charCode = str.charCodeAt(i); - // Naive implementation, but it works because CESU-8 is especially easy - // to convert from UTF-16 (which all JS strings are encoded in). - if (charCode < 0x80) - buf[bufIdx++] = charCode; - else if (charCode < 0x800) { - buf[bufIdx++] = 0xC0 + (charCode >>> 6); - buf[bufIdx++] = 0x80 + (charCode & 0x3f); - } - else { // charCode will always be < 0x10000 in javascript. - buf[bufIdx++] = 0xE0 + (charCode >>> 12); - buf[bufIdx++] = 0x80 + ((charCode >>> 6) & 0x3f); - buf[bufIdx++] = 0x80 + (charCode & 0x3f); - } - } - return buf.slice(0, bufIdx); -} - -InternalEncoderCesu8.prototype.end = function() { -} +var _dispatchable = /*#__PURE__*/__webpack_require__(968); -//------------------------------------------------------------------------------ -// CESU-8 decoder is not implemented in Node v4.0+ +var _makeFlat = /*#__PURE__*/__webpack_require__(415); -function InternalDecoderCesu8(options, codec) { - this.acc = 0; - this.contBytes = 0; - this.accBytes = 0; - this.defaultCharUnicode = codec.defaultCharUnicode; -} +var _xchain = /*#__PURE__*/__webpack_require__(542); -InternalDecoderCesu8.prototype.write = function(buf) { - var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, - res = ''; - for (var i = 0; i < buf.length; i++) { - var curByte = buf[i]; - if ((curByte & 0xC0) !== 0x80) { // Leading byte - if (contBytes > 0) { // Previous code is invalid - res += this.defaultCharUnicode; - contBytes = 0; - } +var map = /*#__PURE__*/__webpack_require__(197); - if (curByte < 0x80) { // Single-byte code - res += String.fromCharCode(curByte); - } else if (curByte < 0xE0) { // Two-byte code - acc = curByte & 0x1F; - contBytes = 1; accBytes = 1; - } else if (curByte < 0xF0) { // Three-byte code - acc = curByte & 0x0F; - contBytes = 2; accBytes = 1; - } else { // Four or more are not supported for CESU-8. - res += this.defaultCharUnicode; - } - } else { // Continuation byte - if (contBytes > 0) { // We're waiting for it. - acc = (acc << 6) | (curByte & 0x3f); - contBytes--; accBytes++; - if (contBytes === 0) { - // Check for overlong encoding, but support Modified UTF-8 (encoding NULL as C0 80) - if (accBytes === 2 && acc < 0x80 && acc > 0) - res += this.defaultCharUnicode; - else if (accBytes === 3 && acc < 0x800) - res += this.defaultCharUnicode; - else - // Actually add character. - res += String.fromCharCode(acc); - } - } else { // Unexpected continuation byte - res += this.defaultCharUnicode; - } - } - } - this.acc = acc; this.contBytes = contBytes; this.accBytes = accBytes; - return res; -} +/** + * `chain` maps a function over a list and concatenates the results. `chain` + * is also known as `flatMap` in some libraries. + * + * Dispatches to the `chain` method of the second argument, if present, + * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain). + * + * If second argument is a function, `chain(f, g)(x)` is equivalent to `f(g(x), x)`. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.3.0 + * @category List + * @sig Chain m => (a -> m b) -> m a -> m b + * @param {Function} fn The function to map with + * @param {Array} list The list to map over + * @return {Array} The result of flat-mapping `list` with `fn` + * @example + * + * const duplicate = n => [n, n]; + * R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3] + * + * R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1] + */ -InternalDecoderCesu8.prototype.end = function() { - var res = 0; - if (this.contBytes > 0) - res += this.defaultCharUnicode; - return res; -} +var chain = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['fantasy-land/chain', 'chain'], _xchain, function chain(fn, monad) { + if (typeof monad === 'function') { + return function (x) { + return fn(monad(x))(x); + }; + } + return _makeFlat(false)(map(fn, monad)); +})); +module.exports = chain; + +/***/ }), +/* 482 */ +/***/ (function(module) { + +module.exports = [[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]; /***/ }), +/* 483 */, +/* 484 */, +/* 485 */, +/* 486 */, /* 487 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -22576,282 +21365,43 @@ module.exports = match; "use strict"; - -const path = __webpack_require__(622); -const which = __webpack_require__(814); -const pathKey = __webpack_require__(39)(); - -function resolveCommandAttempt(parsed, withoutPathExt) { - const cwd = process.cwd(); - const hasCustomCwd = parsed.options.cwd != null; - - // If a custom `cwd` was specified, we need to change the process cwd - // because `which` will do stat calls but does not support a custom cwd - if (hasCustomCwd) { - try { - process.chdir(parsed.options.cwd); - } catch (err) { - /* Empty */ - } - } - - let resolved; - - try { - resolved = which.sync(parsed.command, { - path: (parsed.options.env || process.env)[pathKey], - pathExt: withoutPathExt ? path.delimiter : undefined, - }); - } catch (e) { - /* Empty */ - } finally { - process.chdir(cwd); - } - - // If we successfully resolved, ensure that an absolute path is returned - // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it - if (resolved) { - resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved); - } - - return resolved; -} - -function resolveCommand(parsed) { - return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true); +var old; +if (typeof Promise !== "undefined") old = Promise; +function noConflict() { + try { if (Promise === bluebird) Promise = old; } + catch (e) {} + return bluebird; } - -module.exports = resolveCommand; +var bluebird = __webpack_require__(983)(); +bluebird.noConflict = noConflict; +module.exports = bluebird; /***/ }), /* 490 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; +/***/ (function(module) { -module.exports = function(Promise, - apiRejection, - INTERNAL, - tryConvertToPromise, - Proxyable, - debug) { -var errors = __webpack_require__(607); -var TypeError = errors.TypeError; -var util = __webpack_require__(248); -var errorObj = util.errorObj; -var tryCatch = util.tryCatch; -var yieldHandlers = []; +var MILLISECONDS_IN_MINUTE = 60000 -function promiseFromYieldHandler(value, yieldHandlers, traceParent) { - for (var i = 0; i < yieldHandlers.length; ++i) { - traceParent._pushContext(); - var result = tryCatch(yieldHandlers[i])(value); - traceParent._popContext(); - if (result === errorObj) { - traceParent._pushContext(); - var ret = Promise.reject(errorObj.e); - traceParent._popContext(); - return ret; - } - var maybePromise = tryConvertToPromise(result, traceParent); - if (maybePromise instanceof Promise) return maybePromise; - } - return null; -} +/** + * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds. + * They usually appear for dates that denote time before the timezones were introduced + * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891 + * and GMT+01:00:00 after that date) + * + * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above, + * which would lead to incorrect calculations. + * + * This function returns the timezone offset in milliseconds that takes seconds in account. + */ +module.exports = function getTimezoneOffsetInMilliseconds (dirtyDate) { + var date = new Date(dirtyDate.getTime()) + var baseTimezoneOffset = date.getTimezoneOffset() + date.setSeconds(0, 0) + var millisecondsPartOfTimezoneOffset = date.getTime() % MILLISECONDS_IN_MINUTE -function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) { - if (debug.cancellation()) { - var internal = new Promise(INTERNAL); - var _finallyPromise = this._finallyPromise = new Promise(INTERNAL); - this._promise = internal.lastly(function() { - return _finallyPromise; - }); - internal._captureStackTrace(); - internal._setOnCancel(this); - } else { - var promise = this._promise = new Promise(INTERNAL); - promise._captureStackTrace(); - } - this._stack = stack; - this._generatorFunction = generatorFunction; - this._receiver = receiver; - this._generator = undefined; - this._yieldHandlers = typeof yieldHandler === "function" - ? [yieldHandler].concat(yieldHandlers) - : yieldHandlers; - this._yieldedPromise = null; - this._cancellationPhase = false; + return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset } -util.inherits(PromiseSpawn, Proxyable); - -PromiseSpawn.prototype._isResolved = function() { - return this._promise === null; -}; - -PromiseSpawn.prototype._cleanup = function() { - this._promise = this._generator = null; - if (debug.cancellation() && this._finallyPromise !== null) { - this._finallyPromise._fulfill(); - this._finallyPromise = null; - } -}; - -PromiseSpawn.prototype._promiseCancelled = function() { - if (this._isResolved()) return; - var implementsReturn = typeof this._generator["return"] !== "undefined"; - - var result; - if (!implementsReturn) { - var reason = new Promise.CancellationError( - "generator .return() sentinel"); - Promise.coroutine.returnSentinel = reason; - this._promise._attachExtraTrace(reason); - this._promise._pushContext(); - result = tryCatch(this._generator["throw"]).call(this._generator, - reason); - this._promise._popContext(); - } else { - this._promise._pushContext(); - result = tryCatch(this._generator["return"]).call(this._generator, - undefined); - this._promise._popContext(); - } - this._cancellationPhase = true; - this._yieldedPromise = null; - this._continue(result); -}; - -PromiseSpawn.prototype._promiseFulfilled = function(value) { - this._yieldedPromise = null; - this._promise._pushContext(); - var result = tryCatch(this._generator.next).call(this._generator, value); - this._promise._popContext(); - this._continue(result); -}; - -PromiseSpawn.prototype._promiseRejected = function(reason) { - this._yieldedPromise = null; - this._promise._attachExtraTrace(reason); - this._promise._pushContext(); - var result = tryCatch(this._generator["throw"]) - .call(this._generator, reason); - this._promise._popContext(); - this._continue(result); -}; - -PromiseSpawn.prototype._resultCancelled = function() { - if (this._yieldedPromise instanceof Promise) { - var promise = this._yieldedPromise; - this._yieldedPromise = null; - promise.cancel(); - } -}; - -PromiseSpawn.prototype.promise = function () { - return this._promise; -}; - -PromiseSpawn.prototype._run = function () { - this._generator = this._generatorFunction.call(this._receiver); - this._receiver = - this._generatorFunction = undefined; - this._promiseFulfilled(undefined); -}; - -PromiseSpawn.prototype._continue = function (result) { - var promise = this._promise; - if (result === errorObj) { - this._cleanup(); - if (this._cancellationPhase) { - return promise.cancel(); - } else { - return promise._rejectCallback(result.e, false); - } - } - - var value = result.value; - if (result.done === true) { - this._cleanup(); - if (this._cancellationPhase) { - return promise.cancel(); - } else { - return promise._resolveCallback(value); - } - } else { - var maybePromise = tryConvertToPromise(value, this._promise); - if (!(maybePromise instanceof Promise)) { - maybePromise = - promiseFromYieldHandler(maybePromise, - this._yieldHandlers, - this._promise); - if (maybePromise === null) { - this._promiseRejected( - new TypeError( - "A value %s was yielded that could not be treated as a promise\u000a\u000a See http://goo.gl/MqrFmX\u000a\u000a".replace("%s", String(value)) + - "From coroutine:\u000a" + - this._stack.split("\n").slice(1, -7).join("\n") - ) - ); - return; - } - } - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - this._yieldedPromise = maybePromise; - maybePromise._proxy(this, null); - } else if (((bitField & 33554432) !== 0)) { - Promise._async.invoke( - this._promiseFulfilled, this, maybePromise._value() - ); - } else if (((bitField & 16777216) !== 0)) { - Promise._async.invoke( - this._promiseRejected, this, maybePromise._reason() - ); - } else { - this._promiseCancelled(); - } - } -}; - -Promise.coroutine = function (generatorFunction, options) { - if (typeof generatorFunction !== "function") { - throw new TypeError("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var yieldHandler = Object(options).yieldHandler; - var PromiseSpawn$ = PromiseSpawn; - var stack = new Error().stack; - return function () { - var generator = generatorFunction.apply(this, arguments); - var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler, - stack); - var ret = spawn.promise(); - spawn._generator = generator; - spawn._promiseFulfilled(undefined); - return ret; - }; -}; - -Promise.coroutine.addYieldHandler = function(fn) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - yieldHandlers.push(fn); -}; - -Promise.spawn = function (generatorFunction) { - debug.deprecated("Promise.spawn()", "Promise.coroutine()"); - if (typeof generatorFunction !== "function") { - return apiRejection("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var spawn = new PromiseSpawn(generatorFunction, this); - var ret = spawn.promise(); - spawn._run(Promise.spawn); - return ret; -}; -}; /***/ }), @@ -22912,7 +21462,7 @@ module.exports = mathMod; /* 492 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); var _isObject = /*#__PURE__*/__webpack_require__(662); @@ -23044,7 +21594,7 @@ function formatStats(project, stats) { // TODO filter out .gitkeep if (Array.isArray(fileNames.entries)) { - const fullPaths = fileNames.entries.map(file => { + const fullPaths = fileNames.entries.map((file) => { const dir = path.replace(':', '/'); // Replace "master:" with "master/" // const url = `https://github.com/` + project.fullName + `/blob/` + dir + file.name + '?raw=true'; const url = `https://raw.githubusercontent.com/${project.nameWithOwner}/${dir}${file.name}`; @@ -23058,13 +21608,13 @@ function formatStats(project, stats) { ); const cachedContributors = Array.isArray(contributorStats) - ? contributorStats.map(i => { + ? contributorStats.map((i) => { return { id: _.get(i, 'author.id'), login: _.get(i, 'author.login'), avatarUrl: _.get(i, 'author.avatar_url'), htmlUrl: _.get(i, 'author.html_url'), - contributions: _.get(i, 'total') + contributions: _.get(i, 'total'), }; }) : []; @@ -23072,13 +21622,13 @@ function formatStats(project, stats) { const latestReleaseName = _.get(project, 'latestTag.nodes[0].name', false); const latestRelease = { name: latestReleaseName, - date: _.get(project, 'latestTag.nodes[0].target.authoredDate', null) + date: _.get(project, 'latestTag.nodes[0].target.authoredDate', null), }; return { projectFullName: _.get(project, 'nameWithOwner'), issues: { - open: _.get(project, 'openIssues.totalCount') + open: _.get(project, 'openIssues.totalCount'), }, releases: _.get(project, 'tags.totalCount'), latestRelease: latestReleaseName ? latestRelease : null, @@ -23089,18 +21639,18 @@ function formatStats(project, stats) { ), contributors: contributorCount, pullRequests: { - open: _.get(project, 'pullRequests.totalCount') // Filtering by a status of OPEN + open: _.get(project, 'pullRequests.totalCount'), // Filtering by a status of OPEN }, searchCategory: 'good first issue', - cachedIssues: project.goodFirstIssues.nodes.map(node => ({ + cachedIssues: project.goodFirstIssues.nodes.map((node) => ({ ...node, createdBy: - _.get(node, 'author.name') || _.get(node, 'author.login') || 'Unknown' + _.get(node, 'author.name') || _.get(node, 'author.login') || 'Unknown', })), // Note: createdBy is author.login cachedContributors, languages: _.get(project, 'languages.nodes'), screenshots: screenshots, - license: project.licenseInfo ? { ...project.licenseInfo } : null + license: project.licenseInfo ? { ...project.licenseInfo } : null, }; } @@ -23124,7 +21674,7 @@ function writeProjectStatsToGatsby(project, projectStats) { } module.exports = { - calculateAndWriteProjectStats + calculateAndWriteProjectStats, }; @@ -23164,97 +21714,104 @@ module.exports = lastDayOfQuarter /***/ }), /* 497 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/***/ (function(__unusedmodule, exports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +"use strict"; -/** - * Takes a list and returns a list of lists where each sublist's elements are - * all satisfied pairwise comparison according to the provided function. - * Only adjacent elements are passed to the comparison function. - * - * @func - * @memberOf R - * @since v0.21.0 - * @category List - * @sig ((a, a) → Boolean) → [a] → [[a]] - * @param {Function} fn Function for determining whether two given (adjacent) - * elements should be in the same group - * @param {Array} list The array to group. Also accepts a string, which will be - * treated as a list of characters. - * @return {List} A list that contains sublists of elements, - * whose concatenations are equal to the original list. - * @example - * - * R.groupWith(R.equals, [0, 1, 1, 2, 3, 5, 8, 13, 21]) - * //=> [[0], [1, 1], [2], [3], [5], [8], [13], [21]] - * - * R.groupWith((a, b) => a + 1 === b, [0, 1, 1, 2, 3, 5, 8, 13, 21]) - * //=> [[0, 1], [1, 2, 3], [5], [8], [13], [21]] - * - * R.groupWith((a, b) => a % 2 === b % 2, [0, 1, 1, 2, 3, 5, 8, 13, 21]) - * //=> [[0], [1, 1], [2], [3, 5], [8], [13, 21]] - * - * R.groupWith(R.eqBy(isVowel), 'aestiou') - * //=> ['ae', 'st', 'iou'] - */ +Object.defineProperty(exports, '__esModule', { value: true }); -var groupWith = /*#__PURE__*/_curry2(function (fn, list) { - var res = []; - var idx = 0; - var len = list.length; - while (idx < len) { - var nextidx = idx + 1; - while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) { - nextidx += 1; +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var deprecation = __webpack_require__(692); +var once = _interopDefault(__webpack_require__(49)); + +const logOnceCode = once(deprecation => console.warn(deprecation)); +const logOnceHeaders = once(deprecation => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); } - res.push(list.slice(idx, nextidx)); - idx = nextidx; + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + // redact request credentials without mutating original request options + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") + }); + } + requestCopy.url = requestCopy.url + // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") + // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; + // deprecations + Object.defineProperty(this, "code", { + get() { + logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + } + }); } - return res; -}); -module.exports = groupWith; +} + +exports.RequestError = RequestError; +//# sourceMappingURL=index.js.map + /***/ }), /* 498 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/***/ (function(__unusedmodule, exports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +"use strict"; -var _reduced = /*#__PURE__*/__webpack_require__(938); -var _xfBase = /*#__PURE__*/__webpack_require__(60); +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; -var XFind = /*#__PURE__*/function () { +var _crypto = _interopRequireDefault(__webpack_require__(417)); - function XFind(f, xf) { - this.xf = xf; - this.f = f; - this.found = false; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); } - XFind.prototype['@@transducer/init'] = _xfBase.init; - XFind.prototype['@@transducer/result'] = function (result) { - if (!this.found) { - result = this.xf['@@transducer/step'](result, void 0); - } - return this.xf['@@transducer/result'](result); - }; - XFind.prototype['@@transducer/step'] = function (result, input) { - if (this.f(input)) { - this.found = true; - result = _reduced(this.xf['@@transducer/step'](result, input)); - } - return result; - }; - return XFind; -}(); + return _crypto.default.createHash('sha1').update(bytes).digest(); +} -var _xfind = /*#__PURE__*/_curry2(function _xfind(f, xf) { - return new XFind(f, xf); -}); -module.exports = _xfind; +var _default = sha1; +exports.default = _default; /***/ }), /* 499 */, @@ -23465,51 +22022,51 @@ module.exports = toPairsIn; /* 510 */ /***/ (function(module) { -module.exports = addHook +module.exports = addHook; -function addHook (state, kind, name, hook) { - var orig = hook +function addHook(state, kind, name, hook) { + var orig = hook; if (!state.registry[name]) { - state.registry[name] = [] + state.registry[name] = []; } - if (kind === 'before') { + if (kind === "before") { hook = function (method, options) { return Promise.resolve() .then(orig.bind(null, options)) - .then(method.bind(null, options)) - } + .then(method.bind(null, options)); + }; } - if (kind === 'after') { + if (kind === "after") { hook = function (method, options) { - var result + var result; return Promise.resolve() .then(method.bind(null, options)) .then(function (result_) { - result = result_ - return orig(result, options) + result = result_; + return orig(result, options); }) .then(function () { - return result - }) - } + return result; + }); + }; } - if (kind === 'error') { + if (kind === "error") { hook = function (method, options) { return Promise.resolve() .then(method.bind(null, options)) .catch(function (error) { - return orig(error, options) - }) - } + return orig(error, options); + }); + }; } state.registry[name].push({ hook: hook, - orig: orig - }) + orig: orig, + }); } @@ -23554,141 +22111,80 @@ module.exports = has; /***/ }), /* 512 */, -/* 513 */, -/* 514 */ +/* 513 */ /***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; - -module.exports = function(Promise, PromiseArray, apiRejection, debug) { -var util = __webpack_require__(248); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; - -Promise.prototype["break"] = Promise.prototype.cancel = function() { - if (!debug.cancellation()) return this._warn("cancellation is disabled"); - - var promise = this; - var child = promise; - while (promise._isCancellable()) { - if (!promise._cancelBy(child)) { - if (child._isFollowing()) { - child._followee().cancel(); - } else { - child._cancelBranched(); - } - break; - } - - var parent = promise._cancellationParent; - if (parent == null || !parent._isCancellable()) { - if (promise._isFollowing()) { - promise._followee().cancel(); - } else { - promise._cancelBranched(); - } - break; - } else { - if (promise._isFollowing()) promise._followee().cancel(); - promise._setWillBeCancelled(); - child = promise; - promise = parent; - } - } -}; - -Promise.prototype._branchHasCancelled = function() { - this._branchesRemainingToCancel--; -}; - -Promise.prototype._enoughBranchesHaveCancelled = function() { - return this._branchesRemainingToCancel === undefined || - this._branchesRemainingToCancel <= 0; -}; - -Promise.prototype._cancelBy = function(canceller) { - if (canceller === this) { - this._branchesRemainingToCancel = 0; - this._invokeOnCancel(); - return true; - } else { - this._branchHasCancelled(); - if (this._enoughBranchesHaveCancelled()) { - this._invokeOnCancel(); - return true; - } - } - return false; -}; - -Promise.prototype._cancelBranched = function() { - if (this._enoughBranchesHaveCancelled()) { - this._cancel(); - } -}; - -Promise.prototype._cancel = function() { - if (!this._isCancellable()) return; - this._setCancelled(); - async.invoke(this._cancelPromises, this, undefined); -}; +var parse = __webpack_require__(751) -Promise.prototype._cancelPromises = function() { - if (this._length() > 0) this._settlePromises(); -}; +/** + * @category Common Helpers + * @summary Return the earliest of the given dates. + * + * @description + * Return the earliest of the given dates. + * + * @param {...(Date|String|Number)} dates - the dates to compare + * @returns {Date} the earliest of the dates + * + * @example + * // Which of these dates is the earliest? + * var result = min( + * new Date(1989, 6, 10), + * new Date(1987, 1, 11), + * new Date(1995, 6, 2), + * new Date(1990, 0, 1) + * ) + * //=> Wed Feb 11 1987 00:00:00 + */ +function min () { + var dirtyDates = Array.prototype.slice.call(arguments) + var dates = dirtyDates.map(function (dirtyDate) { + return parse(dirtyDate) + }) + var earliestTimestamp = Math.min.apply(null, dates) + return new Date(earliestTimestamp) +} -Promise.prototype._unsetOnCancel = function() { - this._onCancelField = undefined; -}; +module.exports = min -Promise.prototype._isCancellable = function() { - return this.isPending() && !this._isCancelled(); -}; -Promise.prototype.isCancellable = function() { - return this.isPending() && !this.isCancelled(); -}; +/***/ }), +/* 514 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -Promise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) { - if (util.isArray(onCancelCallback)) { - for (var i = 0; i < onCancelCallback.length; ++i) { - this._doInvokeOnCancel(onCancelCallback[i], internalOnly); - } - } else if (onCancelCallback !== undefined) { - if (typeof onCancelCallback === "function") { - if (!internalOnly) { - var e = tryCatch(onCancelCallback).call(this._boundValue()); - if (e === errorObj) { - this._attachExtraTrace(e.e); - async.throwLater(e.e); - } - } - } else { - onCancelCallback._resultCancelled(this); - } - } -}; +var _curry2 = /*#__PURE__*/__webpack_require__(830); -Promise.prototype._invokeOnCancel = function() { - var onCancelCallback = this._onCancel(); - this._unsetOnCancel(); - async.invoke(this._doInvokeOnCancel, this, onCancelCallback); -}; +var _dispatchable = /*#__PURE__*/__webpack_require__(968); -Promise.prototype._invokeInternalOnCancel = function() { - if (this._isCancellable()) { - this._doInvokeOnCancel(this._onCancel(), true); - this._unsetOnCancel(); - } -}; +var _xtap = /*#__PURE__*/__webpack_require__(839); -Promise.prototype._resultCancelled = function() { - this.cancel(); -}; +/** + * Runs the given function with the supplied object, then returns the object. + * + * Acts as a transducer if a transformer is given as second parameter. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig (a -> *) -> a -> a + * @param {Function} fn The function to call with `x`. The return value of `fn` will be thrown away. + * @param {*} x + * @return {*} `x`. + * @example + * + * const sayX = x => console.log('x is ' + x); + * R.tap(sayX, 100); //=> 100 + * // logs 'x is 100' + * @symb R.tap(f, a) = a + */ -}; +var tap = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xtap, function tap(fn, x) { + fn(x); + return x; +})); +module.exports = tap; /***/ }), /* 515 */ @@ -23700,7 +22196,7 @@ var lens = /*#__PURE__*/__webpack_require__(596); var nth = /*#__PURE__*/__webpack_require__(207); -var update = /*#__PURE__*/__webpack_require__(440); +var update = /*#__PURE__*/__webpack_require__(881); /** * Returns a lens whose focus is the specified index. @@ -23766,39 +22262,7 @@ module.exports = differenceInHours /***/ }), /* 517 */, -/* 518 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -/** - * Returns a copy of the list, sorted according to the comparator function, - * which should accept two values at a time and return a negative number if the - * first value is smaller, a positive number if it's larger, and zero if they - * are equal. Please note that this is a **copy** of the list. It does not - * modify the original. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig ((a, a) -> Number) -> [a] -> [a] - * @param {Function} comparator A sorting function :: a -> b -> Int - * @param {Array} list The list to sort - * @return {Array} a new array with its elements sorted by the comparator function. - * @example - * - * const diff = function(a, b) { return a - b; }; - * R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7] - */ - - -var sort = /*#__PURE__*/_curry2(function sort(comparator, list) { - return Array.prototype.slice.call(list, 0).sort(comparator); -}); -module.exports = sort; - -/***/ }), +/* 518 */, /* 519 */ /***/ (function(module) { @@ -23875,63 +22339,67 @@ module.exports = both; /* 523 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var register = __webpack_require__(363) -var addHook = __webpack_require__(510) -var removeHook = __webpack_require__(763) +var register = __webpack_require__(280); +var addHook = __webpack_require__(510); +var removeHook = __webpack_require__(866); // bind with array of arguments: https://stackoverflow.com/a/21792913 -var bind = Function.bind -var bindable = bind.bind(bind) +var bind = Function.bind; +var bindable = bind.bind(bind); -function bindApi (hook, state, name) { - var removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state]) - hook.api = { remove: removeHookRef } - hook.remove = removeHookRef - - ;['before', 'error', 'after', 'wrap'].forEach(function (kind) { - var args = name ? [state, kind, name] : [state, kind] - hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args) - }) +function bindApi(hook, state, name) { + var removeHookRef = bindable(removeHook, null).apply( + null, + name ? [state, name] : [state] + ); + hook.api = { remove: removeHookRef }; + hook.remove = removeHookRef; + ["before", "error", "after", "wrap"].forEach(function (kind) { + var args = name ? [state, kind, name] : [state, kind]; + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); + }); } -function HookSingular () { - var singularHookName = 'h' +function HookSingular() { + var singularHookName = "h"; var singularHookState = { - registry: {} - } - var singularHook = register.bind(null, singularHookState, singularHookName) - bindApi(singularHook, singularHookState, singularHookName) - return singularHook + registry: {}, + }; + var singularHook = register.bind(null, singularHookState, singularHookName); + bindApi(singularHook, singularHookState, singularHookName); + return singularHook; } -function HookCollection () { +function HookCollection() { var state = { - registry: {} - } + registry: {}, + }; - var hook = register.bind(null, state) - bindApi(hook, state) + var hook = register.bind(null, state); + bindApi(hook, state); - return hook + return hook; } -var collectionHookDeprecationMessageDisplayed = false -function Hook () { +var collectionHookDeprecationMessageDisplayed = false; +function Hook() { if (!collectionHookDeprecationMessageDisplayed) { - console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4') - collectionHookDeprecationMessageDisplayed = true + console.warn( + '[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4' + ); + collectionHookDeprecationMessageDisplayed = true; } - return HookCollection() + return HookCollection(); } -Hook.Singular = HookSingular.bind() -Hook.Collection = HookCollection.bind() +Hook.Singular = HookSingular.bind(); +Hook.Collection = HookCollection.bind(); -module.exports = Hook +module.exports = Hook; // expose constructors as a named property for TypeScript -module.exports.Hook = Hook -module.exports.Singular = Hook.Singular -module.exports.Collection = Hook.Collection +module.exports.Hook = Hook; +module.exports.Singular = Hook.Singular; +module.exports.Collection = Hook.Collection; /***/ }), @@ -23952,7 +22420,7 @@ var dissoc = /*#__PURE__*/__webpack_require__(597); var remove = /*#__PURE__*/__webpack_require__(917); -var update = /*#__PURE__*/__webpack_require__(440); +var update = /*#__PURE__*/__webpack_require__(881); /** * Makes a shallow clone of an object, omitting the property at the given path. @@ -24250,73 +22718,33 @@ module.exports = dropLastWhile; /* 534 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var _dispatchable = /*#__PURE__*/__webpack_require__(968); - -var _map = /*#__PURE__*/__webpack_require__(392); - -var _reduce = /*#__PURE__*/__webpack_require__(870); - -var _xmap = /*#__PURE__*/__webpack_require__(271); - -var curryN = /*#__PURE__*/__webpack_require__(535); +var _curry1 = /*#__PURE__*/__webpack_require__(721); -var keys = /*#__PURE__*/__webpack_require__(89); +var _identity = /*#__PURE__*/__webpack_require__(909); /** - * Takes a function and - * a [functor](https://github.com/fantasyland/fantasy-land#functor), - * applies the function to each of the functor's values, and returns - * a functor of the same shape. - * - * Ramda provides suitable `map` implementations for `Array` and `Object`, - * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`. - * - * Dispatches to the `map` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * Also treats functions as functors and will compose them together. + * A function that does nothing but return the parameter supplied to it. Good + * as a default or placeholder function. * * @func * @memberOf R * @since v0.1.0 - * @category List - * @sig Functor f => (a -> b) -> f a -> f b - * @param {Function} fn The function to be called on every element of the input `list`. - * @param {Array} list The list to be iterated over. - * @return {Array} The new list. - * @see R.transduce, R.addIndex + * @category Function + * @sig a -> a + * @param {*} x The value to return. + * @return {*} The input value, `x`. * @example * - * const double = x => x * 2; - * - * R.map(double, [1, 2, 3]); //=> [2, 4, 6] + * R.identity(1); //=> 1 * - * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6} - * @symb R.map(f, [a, b]) = [f(a), f(b)] - * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) } - * @symb R.map(f, functor_o) = functor_o.map(f) + * const obj = {}; + * R.identity(obj) === obj; //=> true + * @symb R.identity(a) = a */ -var map = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) { - switch (Object.prototype.toString.call(functor)) { - case '[object Function]': - return curryN(functor.length, function () { - return fn.call(this, functor.apply(this, arguments)); - }); - case '[object Object]': - return _reduce(function (acc, key) { - acc[key] = fn(functor[key]); - return acc; - }, {}, keys(functor)); - default: - return _map(fn, functor); - } -})); -module.exports = map; +var identity = /*#__PURE__*/_curry1(_identity); +module.exports = identity; /***/ }), /* 535 */ @@ -24393,7 +22821,7 @@ var _curry2 = /*#__PURE__*/__webpack_require__(830); var equals = /*#__PURE__*/__webpack_require__(701); -var map = /*#__PURE__*/__webpack_require__(534); +var map = /*#__PURE__*/__webpack_require__(197); var where = /*#__PURE__*/__webpack_require__(113); @@ -24437,129 +22865,36 @@ module.exports = whereEq; /* 541 */ /***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; - - -var Buffer = __webpack_require__(293).Buffer, - Transform = __webpack_require__(413).Transform; - - -// == Exports ================================================================== -module.exports = function(iconv) { - - // Additional Public API. - iconv.encodeStream = function encodeStream(encoding, options) { - return new IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options); - } - - iconv.decodeStream = function decodeStream(encoding, options) { - return new IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options); - } - - iconv.supportsStreams = true; - - - // Not published yet. - iconv.IconvLiteEncoderStream = IconvLiteEncoderStream; - iconv.IconvLiteDecoderStream = IconvLiteDecoderStream; - iconv._collect = IconvLiteDecoderStream.prototype.collect; -}; - - -// == Encoder stream ======================================================= -function IconvLiteEncoderStream(conv, options) { - this.conv = conv; - options = options || {}; - options.decodeStrings = false; // We accept only strings, so we don't need to decode them. - Transform.call(this, options); -} - -IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, { - constructor: { value: IconvLiteEncoderStream } -}); - -IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) { - if (typeof chunk != 'string') - return done(new Error("Iconv encoding stream needs strings as its input.")); - try { - var res = this.conv.write(chunk); - if (res && res.length) this.push(res); - done(); - } - catch (e) { - done(e); - } -} - -IconvLiteEncoderStream.prototype._flush = function(done) { - try { - var res = this.conv.end(); - if (res && res.length) this.push(res); - done(); - } - catch (e) { - done(e); - } -} - -IconvLiteEncoderStream.prototype.collect = function(cb) { - var chunks = []; - this.on('error', cb); - this.on('data', function(chunk) { chunks.push(chunk); }); - this.on('end', function() { - cb(null, Buffer.concat(chunks)); - }); - return this; -} - - -// == Decoder stream ======================================================= -function IconvLiteDecoderStream(conv, options) { - this.conv = conv; - options = options || {}; - options.encoding = this.encoding = 'utf8'; // We output strings. - Transform.call(this, options); -} - -IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, { - constructor: { value: IconvLiteDecoderStream } -}); - -IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) { - if (!Buffer.isBuffer(chunk)) - return done(new Error("Iconv decoding stream needs buffers as its input.")); - try { - var res = this.conv.write(chunk); - if (res && res.length) this.push(res, this.encoding); - done(); - } - catch (e) { - done(e); - } -} +var lift = /*#__PURE__*/__webpack_require__(127); -IconvLiteDecoderStream.prototype._flush = function(done) { - try { - var res = this.conv.end(); - if (res && res.length) this.push(res, this.encoding); - done(); - } - catch (e) { - done(e); - } -} +var not = /*#__PURE__*/__webpack_require__(237); -IconvLiteDecoderStream.prototype.collect = function(cb) { - var res = ''; - this.on('error', cb); - this.on('data', function(chunk) { res += chunk; }); - this.on('end', function() { - cb(null, res); - }); - return this; -} +/** + * Takes a function `f` and returns a function `g` such that if called with the same arguments + * when `f` returns a "truthy" value, `g` returns `false` and when `f` returns a "falsy" value `g` returns `true`. + * + * `R.complement` may be applied to any functor + * + * @func + * @memberOf R + * @since v0.12.0 + * @category Logic + * @sig (*... -> *) -> (*... -> Boolean) + * @param {Function} f + * @return {Function} + * @see R.not + * @example + * + * const isNotNil = R.complement(R.isNil); + * isNil(null); //=> true + * isNotNil(null); //=> false + * isNil(7); //=> false + * isNotNil(7); //=> true + */ +var complement = /*#__PURE__*/lift(not); +module.exports = complement; /***/ }), /* 542 */ @@ -24569,7 +22904,7 @@ var _curry2 = /*#__PURE__*/__webpack_require__(830); var _flatCat = /*#__PURE__*/__webpack_require__(347); -var map = /*#__PURE__*/__webpack_require__(534); +var map = /*#__PURE__*/__webpack_require__(197); var _xchain = /*#__PURE__*/_curry2(function _xchain(f, xf) { return map(f, _flatCat(xf)); @@ -24684,7 +23019,7 @@ module.exports = lastDayOfISOYear /* 547 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Restricts a number to be within a range. @@ -24718,61 +23053,80 @@ module.exports = clamp; /***/ }), /* 548 */ -/***/ (function(module) { - -"use strict"; +/***/ (function(module, __unusedexports, __webpack_require__) { +var addWeeks = __webpack_require__(590) -/*! - * isobject +/** + * @category Week Helpers + * @summary Subtract the specified number of weeks from the given date. * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -function isObject(val) { - return val != null && typeof val === 'object' && Array.isArray(val) === false; -} - -/*! - * is-plain-object + * @description + * Subtract the specified number of weeks from the given date. * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of weeks to be subtracted + * @returns {Date} the new date with the weeks subtracted + * + * @example + * // Subtract 4 weeks from 1 September 2014: + * var result = subWeeks(new Date(2014, 8, 1), 4) + * //=> Mon Aug 04 2014 00:00:00 */ - -function isObjectObject(o) { - return isObject(o) === true - && Object.prototype.toString.call(o) === '[object Object]'; +function subWeeks (dirtyDate, dirtyAmount) { + var amount = Number(dirtyAmount) + return addWeeks(dirtyDate, -amount) } -function isPlainObject(o) { - var ctor,prot; +module.exports = subWeeks - if (isObjectObject(o) === false) return false; - // If has modified constructor - ctor = o.constructor; - if (typeof ctor !== 'function') return false; +/***/ }), +/* 549 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - // If has modified prototype - prot = ctor.prototype; - if (isObjectObject(prot) === false) return false; +var _arity = /*#__PURE__*/__webpack_require__(451); - // If constructor does not have an Object-specific method - if (prot.hasOwnProperty('isPrototypeOf') === false) { - return false; - } +var _concat = /*#__PURE__*/__webpack_require__(340); - // Most likely a plain Object - return true; -} +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +/** + * `tryCatch` takes two functions, a `tryer` and a `catcher`. The returned + * function evaluates the `tryer`; if it does not throw, it simply returns the + * result. If the `tryer` *does* throw, the returned function evaluates the + * `catcher` function and returns its result. Note that for effective + * composition with this function, both the `tryer` and `catcher` functions + * must return the same type of results. + * + * @func + * @memberOf R + * @since v0.20.0 + * @category Function + * @sig (...x -> a) -> ((e, ...x) -> a) -> (...x -> a) + * @param {Function} tryer The function that may throw. + * @param {Function} catcher The function that will be evaluated if `tryer` throws. + * @return {Function} A new function that will catch exceptions and send then to the catcher. + * @example + * + * R.tryCatch(R.prop('x'), R.F)({x: true}); //=> true + * R.tryCatch(() => { throw 'foo'}, R.always('catched'))('bar') // => 'catched' + * R.tryCatch(R.times(R.identity), R.always([]))('s') // => [] + `` */ -module.exports = isPlainObject; +var tryCatch = /*#__PURE__*/_curry2(function _tryCatch(tryer, catcher) { + return _arity(tryer.length, function () { + try { + return tryer.apply(this, arguments); + } catch (e) { + return catcher.apply(this, _concat([e], arguments)); + } + }); +}); +module.exports = tryCatch; /***/ }), -/* 549 */, /* 550 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -24895,196 +23249,155 @@ module.exports = type; /***/ }), /* 553 */, /* 554 */ +/***/ (function(__unusedmodule, exports) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Bearer ${this.token}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; +//# sourceMappingURL=auth.js.map + +/***/ }), +/* 555 */ +/***/ (function(module) { + +"use strict"; + +module.exports = function(Promise, INTERNAL) { +var PromiseReduce = Promise.reduce; +var PromiseAll = Promise.all; + +function promiseAllThis() { + return PromiseAll(this); +} + +function PromiseMapSeries(promises, fn) { + return PromiseReduce(promises, fn, INTERNAL, INTERNAL); +} + +Promise.prototype.each = function (fn) { + return PromiseReduce(this, fn, INTERNAL, 0) + ._then(promiseAllThis, undefined, undefined, this, undefined); +}; + +Promise.prototype.mapSeries = function (fn) { + return PromiseReduce(this, fn, INTERNAL, INTERNAL); +}; + +Promise.each = function (promises, fn) { + return PromiseReduce(promises, fn, INTERNAL, 0) + ._then(promiseAllThis, undefined, undefined, promises, undefined); +}; + +Promise.mapSeries = PromiseMapSeries; +}; + + + +/***/ }), +/* 556 */, +/* 557 */ /***/ (function(module, __unusedexports, __webpack_require__) { var parse = __webpack_require__(751) /** - * @category Year Helpers - * @summary Return the last day of a year for the given date. + * @category Month Helpers + * @summary Is the given date the first day of a month? * * @description - * Return the last day of a year for the given date. - * The result will be in the local timezone. + * Is the given date the first day of a month? * - * @param {Date|String|Number} date - the original date - * @returns {Date} the last day of a year + * @param {Date|String|Number} date - the date to check + * @returns {Boolean} the date is the first day of a month * * @example - * // The last day of a year for 2 September 2014 11:55:00: - * var result = lastDayOfYear(new Date(2014, 8, 2, 11, 55, 00)) - * //=> Wed Dec 31 2014 00:00:00 + * // Is 1 September 2014 the first day of a month? + * var result = isFirstDayOfMonth(new Date(2014, 8, 1)) + * //=> true */ -function lastDayOfYear (dirtyDate) { - var date = parse(dirtyDate) - var year = date.getFullYear() - date.setFullYear(year + 1, 0, 0) - date.setHours(0, 0, 0, 0) - return date +function isFirstDayOfMonth (dirtyDate) { + return parse(dirtyDate).getDate() === 1 } -module.exports = lastDayOfYear - - -/***/ }), -/* 555 */, -/* 556 */, -/* 557 */ -/***/ (function(module) { - -"use strict"; - - -module.exports = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] -}; +module.exports = isFirstDayOfMonth /***/ }), @@ -25092,7 +23405,7 @@ module.exports = { /* 559 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Scan is similar to [`reduce`](#reduce), but returns a list of successively @@ -25177,173 +23490,243 @@ module.exports = _xdropLast; /***/ }), /* 561 */, -/* 562 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var osName = _interopDefault(__webpack_require__(2)); - -function getUserAgent() { - try { - return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; - } catch (error) { - if (/wmic os get Caption/.test(error.message)) { - return "Windows "; - } - - return ""; - } -} - -exports.getUserAgent = getUserAgent; -//# sourceMappingURL=index.js.map - - -/***/ }), +/* 562 */, /* 563 */, /* 564 */, /* 565 */, /* 566 */, /* 567 */, -/* 568 */ +/* 568 */, +/* 569 */ /***/ (function(module, __unusedexports, __webpack_require__) { "use strict"; +module.exports = function(Promise, + apiRejection, + INTERNAL, + tryConvertToPromise, + Proxyable, + debug) { +var errors = __webpack_require__(607); +var TypeError = errors.TypeError; +var util = __webpack_require__(248); +var errorObj = util.errorObj; +var tryCatch = util.tryCatch; +var yieldHandlers = []; -const path = __webpack_require__(622); -const niceTry = __webpack_require__(948); -const resolveCommand = __webpack_require__(489); -const escape = __webpack_require__(462); -const readShebang = __webpack_require__(389); -const semver = __webpack_require__(280); - -const isWin = process.platform === 'win32'; -const isExecutableRegExp = /\.(?:com|exe)$/i; -const isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i; - -// `options.shell` is supported in Node ^4.8.0, ^5.7.0 and >= 6.0.0 -const supportsShellOption = niceTry(() => semver.satisfies(process.version, '^4.8.0 || ^5.7.0 || >= 6.0.0', true)) || false; - -function detectShebang(parsed) { - parsed.file = resolveCommand(parsed); - - const shebang = parsed.file && readShebang(parsed.file); - - if (shebang) { - parsed.args.unshift(parsed.file); - parsed.command = shebang; - - return resolveCommand(parsed); +function promiseFromYieldHandler(value, yieldHandlers, traceParent) { + for (var i = 0; i < yieldHandlers.length; ++i) { + traceParent._pushContext(); + var result = tryCatch(yieldHandlers[i])(value); + traceParent._popContext(); + if (result === errorObj) { + traceParent._pushContext(); + var ret = Promise.reject(errorObj.e); + traceParent._popContext(); + return ret; + } + var maybePromise = tryConvertToPromise(result, traceParent); + if (maybePromise instanceof Promise) return maybePromise; } - - return parsed.file; + return null; } -function parseNonShell(parsed) { - if (!isWin) { - return parsed; +function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) { + if (debug.cancellation()) { + var internal = new Promise(INTERNAL); + var _finallyPromise = this._finallyPromise = new Promise(INTERNAL); + this._promise = internal.lastly(function() { + return _finallyPromise; + }); + internal._captureStackTrace(); + internal._setOnCancel(this); + } else { + var promise = this._promise = new Promise(INTERNAL); + promise._captureStackTrace(); } + this._stack = stack; + this._generatorFunction = generatorFunction; + this._receiver = receiver; + this._generator = undefined; + this._yieldHandlers = typeof yieldHandler === "function" + ? [yieldHandler].concat(yieldHandlers) + : yieldHandlers; + this._yieldedPromise = null; + this._cancellationPhase = false; +} +util.inherits(PromiseSpawn, Proxyable); - // Detect & add support for shebangs - const commandFile = detectShebang(parsed); +PromiseSpawn.prototype._isResolved = function() { + return this._promise === null; +}; - // We don't need a shell if the command filename is an executable - const needsShell = !isExecutableRegExp.test(commandFile); +PromiseSpawn.prototype._cleanup = function() { + this._promise = this._generator = null; + if (debug.cancellation() && this._finallyPromise !== null) { + this._finallyPromise._fulfill(); + this._finallyPromise = null; + } +}; - // If a shell is required, use cmd.exe and take care of escaping everything correctly - // Note that `forceShell` is an hidden option used only in tests - if (parsed.options.forceShell || needsShell) { - // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/` - // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument - // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called, - // we need to double escape them - const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile); +PromiseSpawn.prototype._promiseCancelled = function() { + if (this._isResolved()) return; + var implementsReturn = typeof this._generator["return"] !== "undefined"; - // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar) - // This is necessary otherwise it will always fail with ENOENT in those cases - parsed.command = path.normalize(parsed.command); + var result; + if (!implementsReturn) { + var reason = new Promise.CancellationError( + "generator .return() sentinel"); + Promise.coroutine.returnSentinel = reason; + this._promise._attachExtraTrace(reason); + this._promise._pushContext(); + result = tryCatch(this._generator["throw"]).call(this._generator, + reason); + this._promise._popContext(); + } else { + this._promise._pushContext(); + result = tryCatch(this._generator["return"]).call(this._generator, + undefined); + this._promise._popContext(); + } + this._cancellationPhase = true; + this._yieldedPromise = null; + this._continue(result); +}; - // Escape command & arguments - parsed.command = escape.command(parsed.command); - parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars)); +PromiseSpawn.prototype._promiseFulfilled = function(value) { + this._yieldedPromise = null; + this._promise._pushContext(); + var result = tryCatch(this._generator.next).call(this._generator, value); + this._promise._popContext(); + this._continue(result); +}; - const shellCommand = [parsed.command].concat(parsed.args).join(' '); +PromiseSpawn.prototype._promiseRejected = function(reason) { + this._yieldedPromise = null; + this._promise._attachExtraTrace(reason); + this._promise._pushContext(); + var result = tryCatch(this._generator["throw"]) + .call(this._generator, reason); + this._promise._popContext(); + this._continue(result); +}; - parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; - parsed.command = process.env.comspec || 'cmd.exe'; - parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped +PromiseSpawn.prototype._resultCancelled = function() { + if (this._yieldedPromise instanceof Promise) { + var promise = this._yieldedPromise; + this._yieldedPromise = null; + promise.cancel(); } +}; - return parsed; -} +PromiseSpawn.prototype.promise = function () { + return this._promise; +}; -function parseShell(parsed) { - // If node supports the shell option, there's no need to mimic its behavior - if (supportsShellOption) { - return parsed; - } +PromiseSpawn.prototype._run = function () { + this._generator = this._generatorFunction.call(this._receiver); + this._receiver = + this._generatorFunction = undefined; + this._promiseFulfilled(undefined); +}; - // Mimic node shell option - // See https://github.com/nodejs/node/blob/b9f6a2dc059a1062776133f3d4fd848c4da7d150/lib/child_process.js#L335 - const shellCommand = [parsed.command].concat(parsed.args).join(' '); +PromiseSpawn.prototype._continue = function (result) { + var promise = this._promise; + if (result === errorObj) { + this._cleanup(); + if (this._cancellationPhase) { + return promise.cancel(); + } else { + return promise._rejectCallback(result.e, false); + } + } - if (isWin) { - parsed.command = typeof parsed.options.shell === 'string' ? parsed.options.shell : process.env.comspec || 'cmd.exe'; - parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; - parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped + var value = result.value; + if (result.done === true) { + this._cleanup(); + if (this._cancellationPhase) { + return promise.cancel(); + } else { + return promise._resolveCallback(value); + } } else { - if (typeof parsed.options.shell === 'string') { - parsed.command = parsed.options.shell; - } else if (process.platform === 'android') { - parsed.command = '/system/bin/sh'; + var maybePromise = tryConvertToPromise(value, this._promise); + if (!(maybePromise instanceof Promise)) { + maybePromise = + promiseFromYieldHandler(maybePromise, + this._yieldHandlers, + this._promise); + if (maybePromise === null) { + this._promiseRejected( + new TypeError( + "A value %s was yielded that could not be treated as a promise\u000a\u000a See http://goo.gl/MqrFmX\u000a\u000a".replace("%s", String(value)) + + "From coroutine:\u000a" + + this._stack.split("\n").slice(1, -7).join("\n") + ) + ); + return; + } + } + maybePromise = maybePromise._target(); + var bitField = maybePromise._bitField; + ; + if (((bitField & 50397184) === 0)) { + this._yieldedPromise = maybePromise; + maybePromise._proxy(this, null); + } else if (((bitField & 33554432) !== 0)) { + Promise._async.invoke( + this._promiseFulfilled, this, maybePromise._value() + ); + } else if (((bitField & 16777216) !== 0)) { + Promise._async.invoke( + this._promiseRejected, this, maybePromise._reason() + ); } else { - parsed.command = '/bin/sh'; + this._promiseCancelled(); } - - parsed.args = ['-c', shellCommand]; } +}; - return parsed; -} - -function parse(command, args, options) { - // Normalize arguments, similar to nodejs - if (args && !Array.isArray(args)) { - options = args; - args = null; +Promise.coroutine = function (generatorFunction, options) { + if (typeof generatorFunction !== "function") { + throw new TypeError("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); } - - args = args ? args.slice(0) : []; // Clone array to avoid changing the original - options = Object.assign({}, options); // Clone object to avoid changing the original - - // Build our parsed object - const parsed = { - command, - args, - options, - file: undefined, - original: { - command, - args, - }, + var yieldHandler = Object(options).yieldHandler; + var PromiseSpawn$ = PromiseSpawn; + var stack = new Error().stack; + return function () { + var generator = generatorFunction.apply(this, arguments); + var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler, + stack); + var ret = spawn.promise(); + spawn._generator = generator; + spawn._promiseFulfilled(undefined); + return ret; }; +}; - // Delegate further parsing to shell or non-shell - return options.shell ? parseShell(parsed) : parseNonShell(parsed); -} +Promise.coroutine.addYieldHandler = function(fn) { + if (typeof fn !== "function") { + throw new TypeError("expecting a function but got " + util.classString(fn)); + } + yieldHandlers.push(fn); +}; -module.exports = parse; +Promise.spawn = function (generatorFunction) { + debug.deprecated("Promise.spawn()", "Promise.coroutine()"); + if (typeof generatorFunction !== "function") { + return apiRejection("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + var spawn = new PromiseSpawn(generatorFunction, this); + var ret = spawn.promise(); + spawn._run(Promise.spawn); + return ret; +}; +}; /***/ }), -/* 569 */, /* 570 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -25466,37 +23849,67 @@ module.exports = safer /***/ }), /* 573 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/***/ (function(__unusedmodule, exports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; +const path = __importStar(__webpack_require__(622)); /** - * Returns `true` if the first argument is greater than the second; `false` - * otherwise. + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig Ord a => a -> a -> Boolean - * @param {*} a - * @param {*} b - * @return {Boolean} - * @see R.lt - * @example + * @param pth. Path to transform. + * @return string Posix path. + */ +function toPosixPath(pth) { + return pth.replace(/[\\]/g, '/'); +} +exports.toPosixPath = toPosixPath; +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. * - * R.gt(2, 1); //=> true - * R.gt(2, 2); //=> false - * R.gt(2, 3); //=> false - * R.gt('a', 'z'); //=> false - * R.gt('z', 'a'); //=> true + * @param pth. Path to transform. + * @return string Win32 path. */ - - -var gt = /*#__PURE__*/_curry2(function gt(a, b) { - return a > b; -}); -module.exports = gt; +function toWin32Path(pth) { + return pth.replace(/[/]/g, '\\'); +} +exports.toWin32Path = toWin32Path; +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +function toPlatformPath(pth) { + return pth.replace(/[/\\]/g, path.sep); +} +exports.toPlatformPath = toPlatformPath; +//# sourceMappingURL=path-utils.js.map /***/ }), /* 574 */, @@ -25552,295 +23965,764 @@ var _isString = /*#__PURE__*/__webpack_require__(285); * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise. * @example * - * _isArrayLike([]); //=> true - * _isArrayLike(true); //=> false - * _isArrayLike({}); //=> false - * _isArrayLike({length: 10}); //=> false - * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true + * _isArrayLike([]); //=> true + * _isArrayLike(true); //=> false + * _isArrayLike({}); //=> false + * _isArrayLike({length: 10}); //=> false + * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true + */ + + +var _isArrayLike = /*#__PURE__*/_curry1(function isArrayLike(x) { + if (_isArray(x)) { + return true; + } + if (!x) { + return false; + } + if (typeof x !== 'object') { + return false; + } + if (_isString(x)) { + return false; + } + if (x.nodeType === 1) { + return !!x.length; + } + if (x.length === 0) { + return true; + } + if (x.length > 0) { + return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1); + } + return false; +}); +module.exports = _isArrayLike; + +/***/ }), +/* 578 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var parse = __webpack_require__(751) + +/** + * @category Millisecond Helpers + * @summary Get the number of milliseconds between the given dates. + * + * @description + * Get the number of milliseconds between the given dates. + * + * @param {Date|String|Number} dateLeft - the later date + * @param {Date|String|Number} dateRight - the earlier date + * @returns {Number} the number of milliseconds + * + * @example + * // How many milliseconds are between + * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700? + * var result = differenceInMilliseconds( + * new Date(2014, 6, 2, 12, 30, 21, 700), + * new Date(2014, 6, 2, 12, 30, 20, 600) + * ) + * //=> 1100 + */ +function differenceInMilliseconds (dirtyDateLeft, dirtyDateRight) { + var dateLeft = parse(dirtyDateLeft) + var dateRight = parse(dirtyDateRight) + return dateLeft.getTime() - dateRight.getTime() +} + +module.exports = differenceInMilliseconds + + +/***/ }), +/* 579 */, +/* 580 */, +/* 581 */, +/* 582 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var startOfISOWeek = __webpack_require__(901) + +var MILLISECONDS_IN_MINUTE = 60000 +var MILLISECONDS_IN_WEEK = 604800000 + +/** + * @category ISO Week Helpers + * @summary Get the number of calendar ISO weeks between the given dates. + * + * @description + * Get the number of calendar ISO weeks between the given dates. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param {Date|String|Number} dateLeft - the later date + * @param {Date|String|Number} dateRight - the earlier date + * @returns {Number} the number of calendar ISO weeks + * + * @example + * // How many calendar ISO weeks are between 6 July 2014 and 21 July 2014? + * var result = differenceInCalendarISOWeeks( + * new Date(2014, 6, 21), + * new Date(2014, 6, 6) + * ) + * //=> 3 + */ +function differenceInCalendarISOWeeks (dirtyDateLeft, dirtyDateRight) { + var startOfISOWeekLeft = startOfISOWeek(dirtyDateLeft) + var startOfISOWeekRight = startOfISOWeek(dirtyDateRight) + + var timestampLeft = startOfISOWeekLeft.getTime() - + startOfISOWeekLeft.getTimezoneOffset() * MILLISECONDS_IN_MINUTE + var timestampRight = startOfISOWeekRight.getTime() - + startOfISOWeekRight.getTimezoneOffset() * MILLISECONDS_IN_MINUTE + + // Round the number of days to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK) +} + +module.exports = differenceInCalendarISOWeeks + + +/***/ }), +/* 583 */, +/* 584 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +module.exports = +function(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) { +var util = __webpack_require__(248); +var tryCatch = util.tryCatch; + +Promise.method = function (fn) { + if (typeof fn !== "function") { + throw new Promise.TypeError("expecting a function but got " + util.classString(fn)); + } + return function () { + var ret = new Promise(INTERNAL); + ret._captureStackTrace(); + ret._pushContext(); + var value = tryCatch(fn).apply(this, arguments); + var promiseCreated = ret._popContext(); + debug.checkForgottenReturns( + value, promiseCreated, "Promise.method", ret); + ret._resolveFromSyncValue(value); + return ret; + }; +}; + +Promise.attempt = Promise["try"] = function (fn) { + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + var ret = new Promise(INTERNAL); + ret._captureStackTrace(); + ret._pushContext(); + var value; + if (arguments.length > 1) { + debug.deprecated("calling Promise.try with more than 1 argument"); + var arg = arguments[1]; + var ctx = arguments[2]; + value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) + : tryCatch(fn).call(ctx, arg); + } else { + value = tryCatch(fn)(); + } + var promiseCreated = ret._popContext(); + debug.checkForgottenReturns( + value, promiseCreated, "Promise.try", ret); + ret._resolveFromSyncValue(value); + return ret; +}; + +Promise.prototype._resolveFromSyncValue = function (value) { + if (value === util.errorObj) { + this._rejectCallback(value.e, false); + } else { + this._resolveCallback(value, true); + } +}; +}; + + +/***/ }), +/* 585 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var startOfDay = __webpack_require__(68) + +/** + * @category Day Helpers + * @summary Are the given dates in the same day? + * + * @description + * Are the given dates in the same day? + * + * @param {Date|String|Number} dateLeft - the first date to check + * @param {Date|String|Number} dateRight - the second date to check + * @returns {Boolean} the dates are in the same day + * + * @example + * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day? + * var result = isSameDay( + * new Date(2014, 8, 4, 6, 0), + * new Date(2014, 8, 4, 18, 0) + * ) + * //=> true + */ +function isSameDay (dirtyDateLeft, dirtyDateRight) { + var dateLeftStartOfDay = startOfDay(dirtyDateLeft) + var dateRightStartOfDay = startOfDay(dirtyDateRight) + + return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime() +} + +module.exports = isSameDay + + +/***/ }), +/* 586 */ +/***/ (function(module) { + +module.exports = [["0","\u0000",127],["8ea1","。",62],["a1a1"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇"],["a2a1","◆□■△▲▽▼※〒→←↑↓〓"],["a2ba","∈∋⊆⊇⊂⊃∪∩"],["a2ca","∧∨¬⇒⇔∀∃"],["a2dc","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["a2f2","ʼn♯♭♪†‡¶"],["a2fe","◯"],["a3b0","0",9],["a3c1","A",25],["a3e1","a",25],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a8a1","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["ada1","①",19,"Ⅰ",9],["adc0","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["addf","㍻〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["b0a1","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["b1a1","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応"],["b2a1","押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["b3a1","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱"],["b4a1","粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["b5a1","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京"],["b6a1","供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["b7a1","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲"],["b8a1","検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["b9a1","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込"],["baa1","此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["bba1","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時"],["bca1","次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["bda1","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償"],["bea1","勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["bfa1","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾"],["c0a1","澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["c1a1","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎"],["c2a1","臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["c3a1","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵"],["c4a1","帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["c5a1","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到"],["c6a1","董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["c7a1","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦"],["c8a1","函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["c9a1","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服"],["caa1","福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["cba1","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満"],["cca1","漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["cda1","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃"],["cea1","痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["cfa1","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["d0a1","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["d1a1","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨"],["d2a1","辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["d3a1","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉"],["d4a1","圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["d5a1","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓"],["d6a1","屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["d7a1","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚"],["d8a1","悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["d9a1","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼"],["daa1","據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["dba1","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍"],["dca1","棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["dda1","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾"],["dea1","沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["dfa1","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼"],["e0a1","燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e1a1","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"],["e2a1","癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e3a1","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐"],["e4a1","筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e5a1","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺"],["e6a1","罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e7a1","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙"],["e8a1","茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e9a1","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙"],["eaa1","蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["eba1","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫"],["eca1","譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["eda1","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸"],["eea1","遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["efa1","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞"],["f0a1","陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["f1a1","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷"],["f2a1","髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["f3a1","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠"],["f4a1","堯槇遙瑤凜熙"],["f9a1","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德"],["faa1","忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["fba1","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚"],["fca1","釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["fcf1","ⅰ",9,"¬¦'""],["8fa2af","˘ˇ¸˙˝¯˛˚~΄΅"],["8fa2c2","¡¦¿"],["8fa2eb","ºª©®™¤№"],["8fa6e1","ΆΈΉΊΪ"],["8fa6e7","Ό"],["8fa6e9","ΎΫ"],["8fa6ec","Ώ"],["8fa6f1","άέήίϊΐόςύϋΰώ"],["8fa7c2","Ђ",10,"ЎЏ"],["8fa7f2","ђ",10,"ўџ"],["8fa9a1","ÆĐ"],["8fa9a4","Ħ"],["8fa9a6","IJ"],["8fa9a8","ŁĿ"],["8fa9ab","ŊØŒ"],["8fa9af","ŦÞ"],["8fa9c1","æđðħıijĸłŀʼnŋøœßŧþ"],["8faaa1","ÁÀÄÂĂǍĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"],["8faaba","ĜĞĢĠĤÍÌÏÎǏİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑŐŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴÝŸŶŹŽŻ"],["8faba1","áàäâăǎāąåãćĉčçċďéèëêěėēęǵĝğ"],["8fabbd","ġĥíìïîǐ"],["8fabc5","īįĩĵķĺľļńňņñóòöôǒőōõŕřŗśŝšşťţúùüûŭǔűūųůũǘǜǚǖŵýÿŷźžż"],["8fb0a1","丂丄丅丌丒丟丣两丨丫丮丯丰丵乀乁乄乇乑乚乜乣乨乩乴乵乹乿亍亖亗亝亯亹仃仐仚仛仠仡仢仨仯仱仳仵份仾仿伀伂伃伈伋伌伒伕伖众伙伮伱你伳伵伷伹伻伾佀佂佈佉佋佌佒佔佖佘佟佣佪佬佮佱佷佸佹佺佽佾侁侂侄"],["8fb1a1","侅侉侊侌侎侐侒侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀俁俅俆俈俉俋俌俍俏俒俜俠俢俰俲俼俽俿倀倁倄倇倊倌倎倐倓倗倘倛倜倝倞倢倧倮倰倲倳倵偀偁偂偅偆偊偌偎偑偒偓偗偙偟偠偢偣偦偧偪偭偰偱倻傁傃傄傆傊傎傏傐"],["8fb2a1","傒傓傔傖傛傜傞",4,"傪傯傰傹傺傽僀僃僄僇僌僎僐僓僔僘僜僝僟僢僤僦僨僩僯僱僶僺僾儃儆儇儈儋儌儍儎僲儐儗儙儛儜儝儞儣儧儨儬儭儯儱儳儴儵儸儹兂兊兏兓兕兗兘兟兤兦兾冃冄冋冎冘冝冡冣冭冸冺冼冾冿凂"],["8fb3a1","凈减凑凒凓凕凘凞凢凥凮凲凳凴凷刁刂刅划刓刕刖刘刢刨刱刲刵刼剅剉剕剗剘剚剜剟剠剡剦剮剷剸剹劀劂劅劊劌劓劕劖劗劘劚劜劤劥劦劧劯劰劶劷劸劺劻劽勀勄勆勈勌勏勑勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"],["8fb4a1","匌匑匓匘匛匜匞匟匥匧匨匩匫匬匭匰匲匵匼匽匾卂卌卋卙卛卡卣卥卬卭卲卹卾厃厇厈厎厓厔厙厝厡厤厪厫厯厲厴厵厷厸厺厽叀叅叏叒叓叕叚叝叞叠另叧叵吂吓吚吡吧吨吪启吱吴吵呃呄呇呍呏呞呢呤呦呧呩呫呭呮呴呿"],["8fb5a1","咁咃咅咈咉咍咑咕咖咜咟咡咦咧咩咪咭咮咱咷咹咺咻咿哆哊响哎哠哪哬哯哶哼哾哿唀唁唅唈唉唌唍唎唕唪唫唲唵唶唻唼唽啁啇啉啊啍啐啑啘啚啛啞啠啡啤啦啿喁喂喆喈喎喏喑喒喓喔喗喣喤喭喲喿嗁嗃嗆嗉嗋嗌嗎嗑嗒"],["8fb6a1","嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊嘍",5,"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀噁噃噄噆噉噋噍噏噔噞噠噡噢噣噦噩噭噯噱噲噵嚄嚅嚈嚋嚌嚕嚙嚚嚝嚞嚟嚦嚧嚨嚩嚫嚬嚭嚱嚳嚷嚾囅囉囊囋囏囐囌囍囙囜囝囟囡囤",4,"囱囫园"],["8fb7a1","囶囷圁圂圇圊圌圑圕圚圛圝圠圢圣圤圥圩圪圬圮圯圳圴圽圾圿坅坆坌坍坒坢坥坧坨坫坭",4,"坳坴坵坷坹坺坻坼坾垁垃垌垔垗垙垚垜垝垞垟垡垕垧垨垩垬垸垽埇埈埌埏埕埝埞埤埦埧埩埭埰埵埶埸埽埾埿堃堄堈堉埡"],["8fb8a1","堌堍堛堞堟堠堦堧堭堲堹堿塉塌塍塏塐塕塟塡塤塧塨塸塼塿墀墁墇墈墉墊墌墍墏墐墔墖墝墠墡墢墦墩墱墲壄墼壂壈壍壎壐壒壔壖壚壝壡壢壩壳夅夆夋夌夒夓夔虁夝夡夣夤夨夯夰夳夵夶夿奃奆奒奓奙奛奝奞奟奡奣奫奭"],["8fb9a1","奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧妭妮妯妰妳妷妺妼姁姃姄姈姊姍姒姝姞姟姣姤姧姮姯姱姲姴姷娀娄娌娍娎娒娓娞娣娤娧娨娪娭娰婄婅婇婈婌婐婕婞婣婥婧婭婷婺婻婾媋媐媓媖媙媜媞媟媠媢媧媬媱媲媳媵媸媺媻媿"],["8fbaa1","嫄嫆嫈嫏嫚嫜嫠嫥嫪嫮嫵嫶嫽嬀嬁嬈嬗嬴嬙嬛嬝嬡嬥嬭嬸孁孋孌孒孖孞孨孮孯孼孽孾孿宁宄宆宊宎宐宑宓宔宖宨宩宬宭宯宱宲宷宺宼寀寁寍寏寖",4,"寠寯寱寴寽尌尗尞尟尣尦尩尫尬尮尰尲尵尶屙屚屜屢屣屧屨屩"],["8fbba1","屭屰屴屵屺屻屼屽岇岈岊岏岒岝岟岠岢岣岦岪岲岴岵岺峉峋峒峝峗峮峱峲峴崁崆崍崒崫崣崤崦崧崱崴崹崽崿嵂嵃嵆嵈嵕嵑嵙嵊嵟嵠嵡嵢嵤嵪嵭嵰嵹嵺嵾嵿嶁嶃嶈嶊嶒嶓嶔嶕嶙嶛嶟嶠嶧嶫嶰嶴嶸嶹巃巇巋巐巎巘巙巠巤"],["8fbca1","巩巸巹帀帇帍帒帔帕帘帟帠帮帨帲帵帾幋幐幉幑幖幘幛幜幞幨幪",4,"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜弝弡弢弣弤弨弫弬弮弰弴弶弻弽弿彀彄彅彇彍彐彔彘彛彠彣彤彧"],["8fbda1","彯彲彴彵彸彺彽彾徉徍徏徖徜徝徢徧徫徤徬徯徰徱徸忄忇忈忉忋忐",4,"忞忡忢忨忩忪忬忭忮忯忲忳忶忺忼怇怊怍怓怔怗怘怚怟怤怭怳怵恀恇恈恉恌恑恔恖恗恝恡恧恱恾恿悂悆悈悊悎悑悓悕悘悝悞悢悤悥您悰悱悷"],["8fbea1","悻悾惂惄惈惉惊惋惎惏惔惕惙惛惝惞惢惥惲惵惸惼惽愂愇愊愌愐",4,"愖愗愙愜愞愢愪愫愰愱愵愶愷愹慁慅慆慉慞慠慬慲慸慻慼慿憀憁憃憄憋憍憒憓憗憘憜憝憟憠憥憨憪憭憸憹憼懀懁懂懎懏懕懜懝懞懟懡懢懧懩懥"],["8fbfa1","懬懭懯戁戃戄戇戓戕戜戠戢戣戧戩戫戹戽扂扃扄扆扌扐扑扒扔扖扚扜扤扭扯扳扺扽抍抎抏抐抦抨抳抶抷抺抾抿拄拎拕拖拚拪拲拴拼拽挃挄挊挋挍挐挓挖挘挩挪挭挵挶挹挼捁捂捃捄捆捊捋捎捒捓捔捘捛捥捦捬捭捱捴捵"],["8fc0a1","捸捼捽捿掂掄掇掊掐掔掕掙掚掞掤掦掭掮掯掽揁揅揈揎揑揓揔揕揜揠揥揪揬揲揳揵揸揹搉搊搐搒搔搘搞搠搢搤搥搩搪搯搰搵搽搿摋摏摑摒摓摔摚摛摜摝摟摠摡摣摭摳摴摻摽撅撇撏撐撑撘撙撛撝撟撡撣撦撨撬撳撽撾撿"],["8fc1a1","擄擉擊擋擌擎擐擑擕擗擤擥擩擪擭擰擵擷擻擿攁攄攈攉攊攏攓攔攖攙攛攞攟攢攦攩攮攱攺攼攽敃敇敉敐敒敔敟敠敧敫敺敽斁斅斊斒斕斘斝斠斣斦斮斲斳斴斿旂旈旉旎旐旔旖旘旟旰旲旴旵旹旾旿昀昄昈昉昍昑昒昕昖昝"],["8fc2a1","昞昡昢昣昤昦昩昪昫昬昮昰昱昳昹昷晀晅晆晊晌晑晎晗晘晙晛晜晠晡曻晪晫晬晾晳晵晿晷晸晹晻暀晼暋暌暍暐暒暙暚暛暜暟暠暤暭暱暲暵暻暿曀曂曃曈曌曎曏曔曛曟曨曫曬曮曺朅朇朎朓朙朜朠朢朳朾杅杇杈杌杔杕杝"],["8fc3a1","杦杬杮杴杶杻极构枎枏枑枓枖枘枙枛枰枱枲枵枻枼枽柹柀柂柃柅柈柉柒柗柙柜柡柦柰柲柶柷桒栔栙栝栟栨栧栬栭栯栰栱栳栻栿桄桅桊桌桕桗桘桛桫桮",4,"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌棏"],["8fc4a1","棐棑棓棖棙棜棝棥棨棪棫棬棭棰棱棵棶棻棼棽椆椉椊椐椑椓椖椗椱椳椵椸椻楂楅楉楎楗楛楣楤楥楦楨楩楬楰楱楲楺楻楿榀榍榒榖榘榡榥榦榨榫榭榯榷榸榺榼槅槈槑槖槗槢槥槮槯槱槳槵槾樀樁樃樏樑樕樚樝樠樤樨樰樲"],["8fc5a1","樴樷樻樾樿橅橆橉橊橎橐橑橒橕橖橛橤橧橪橱橳橾檁檃檆檇檉檋檑檛檝檞檟檥檫檯檰檱檴檽檾檿櫆櫉櫈櫌櫐櫔櫕櫖櫜櫝櫤櫧櫬櫰櫱櫲櫼櫽欂欃欆欇欉欏欐欑欗欛欞欤欨欫欬欯欵欶欻欿歆歊歍歒歖歘歝歠歧歫歮歰歵歽"],["8fc6a1","歾殂殅殗殛殟殠殢殣殨殩殬殭殮殰殸殹殽殾毃毄毉毌毖毚毡毣毦毧毮毱毷毹毿氂氄氅氉氍氎氐氒氙氟氦氧氨氬氮氳氵氶氺氻氿汊汋汍汏汒汔汙汛汜汫汭汯汴汶汸汹汻沅沆沇沉沔沕沗沘沜沟沰沲沴泂泆泍泏泐泑泒泔泖"],["8fc7a1","泚泜泠泧泩泫泬泮泲泴洄洇洊洎洏洑洓洚洦洧洨汧洮洯洱洹洼洿浗浞浟浡浥浧浯浰浼涂涇涑涒涔涖涗涘涪涬涴涷涹涽涿淄淈淊淎淏淖淛淝淟淠淢淥淩淯淰淴淶淼渀渄渞渢渧渲渶渹渻渼湄湅湈湉湋湏湑湒湓湔湗湜湝湞"],["8fc8a1","湢湣湨湳湻湽溍溓溙溠溧溭溮溱溳溻溿滀滁滃滇滈滊滍滎滏滫滭滮滹滻滽漄漈漊漌漍漖漘漚漛漦漩漪漯漰漳漶漻漼漭潏潑潒潓潗潙潚潝潞潡潢潨潬潽潾澃澇澈澋澌澍澐澒澓澔澖澚澟澠澥澦澧澨澮澯澰澵澶澼濅濇濈濊"],["8fc9a1","濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇瀍瀗瀠瀣瀯瀴瀷瀹瀼灃灄灈灉灊灋灔灕灝灞灎灤灥灬灮灵灶灾炁炅炆炔",4,"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",4,"焋焌焏焞焠焫焭焯焰焱焸煁煅煆煇煊煋煐煒煗煚煜煞煠"],["8fcaa1","煨煹熀熅熇熌熒熚熛熠熢熯熰熲熳熺熿燀燁燄燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚爝爟爤爫爯爴爸爹牁牂牃牅牎牏牐牓牕牖牚牜牞牠牣牨牫牮牯牱牷牸牻牼牿犄犉犍犎犓犛犨犭犮犱犴犾狁狇狉狌狕狖狘狟狥狳狴狺狻"],["8fcba1","狾猂猄猅猇猋猍猒猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽獃獍獐獒獖獘獝獞獟獠獦獧獩獫獬獮獯獱獷獹獼玀玁玃玅玆玎玐玓玕玗玘玜玞玟玠玢玥玦玪玫玭玵玷玹玼玽玿珅珆珉珋珌珏珒珓珖珙珝珡珣珦珧珩珴珵珷珹珺珻珽"],["8fcca1","珿琀琁琄琇琊琑琚琛琤琦琨",9,"琹瑀瑃瑄瑆瑇瑋瑍瑑瑒瑗瑝瑢瑦瑧瑨瑫瑭瑮瑱瑲璀璁璅璆璇璉璏璐璑璒璘璙璚璜璟璠璡璣璦璨璩璪璫璮璯璱璲璵璹璻璿瓈瓉瓌瓐瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"],["8fcda1","甒甖甗甠甡甤甧甩甪甯甶甹甽甾甿畀畃畇畈畎畐畒畗畞畟畡畯畱畹",5,"疁疅疐疒疓疕疙疜疢疤疴疺疿痀痁痄痆痌痎痏痗痜痟痠痡痤痧痬痮痯痱痹瘀瘂瘃瘄瘇瘈瘊瘌瘏瘒瘓瘕瘖瘙瘛瘜瘝瘞瘣瘥瘦瘩瘭瘲瘳瘵瘸瘹"],["8fcea1","瘺瘼癊癀癁癃癄癅癉癋癕癙癟癤癥癭癮癯癱癴皁皅皌皍皕皛皜皝皟皠皢",6,"皪皭皽盁盅盉盋盌盎盔盙盠盦盨盬盰盱盶盹盼眀眆眊眎眒眔眕眗眙眚眜眢眨眭眮眯眴眵眶眹眽眾睂睅睆睊睍睎睏睒睖睗睜睞睟睠睢"],["8fcfa1","睤睧睪睬睰睲睳睴睺睽瞀瞄瞌瞍瞔瞕瞖瞚瞟瞢瞧瞪瞮瞯瞱瞵瞾矃矉矑矒矕矙矞矟矠矤矦矪矬矰矱矴矸矻砅砆砉砍砎砑砝砡砢砣砭砮砰砵砷硃硄硇硈硌硎硒硜硞硠硡硣硤硨硪确硺硾碊碏碔碘碡碝碞碟碤碨碬碭碰碱碲碳"],["8fd0a1","碻碽碿磇磈磉磌磎磒磓磕磖磤磛磟磠磡磦磪磲磳礀磶磷磺磻磿礆礌礐礚礜礞礟礠礥礧礩礭礱礴礵礻礽礿祄祅祆祊祋祏祑祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊秏秔秖秚秝秞"],["8fd1a1","秠秢秥秪秫秭秱秸秼稂稃稇稉稊稌稑稕稛稞稡稧稫稭稯稰稴稵稸稹稺穄穅穇穈穌穕穖穙穜穝穟穠穥穧穪穭穵穸穾窀窂窅窆窊窋窐窑窔窞窠窣窬窳窵窹窻窼竆竉竌竎竑竛竨竩竫竬竱竴竻竽竾笇笔笟笣笧笩笪笫笭笮笯笰"],["8fd2a1","笱笴笽笿筀筁筇筎筕筠筤筦筩筪筭筯筲筳筷箄箉箎箐箑箖箛箞箠箥箬箯箰箲箵箶箺箻箼箽篂篅篈篊篔篖篗篙篚篛篨篪篲篴篵篸篹篺篼篾簁簂簃簄簆簉簋簌簎簏簙簛簠簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",5],["8fd3a1","籡籣籧籩籭籮籰籲籹籼籽粆粇粏粔粞粠粦粰粶粷粺粻粼粿糄糇糈糉糍糏糓糔糕糗糙糚糝糦糩糫糵紃紇紈紉紏紑紒紓紖紝紞紣紦紪紭紱紼紽紾絀絁絇絈絍絑絓絗絙絚絜絝絥絧絪絰絸絺絻絿綁綂綃綅綆綈綋綌綍綑綖綗綝"],["8fd4a1","綞綦綧綪綳綶綷綹緂",4,"緌緍緎緗緙縀緢緥緦緪緫緭緱緵緶緹緺縈縐縑縕縗縜縝縠縧縨縬縭縯縳縶縿繄繅繇繎繐繒繘繟繡繢繥繫繮繯繳繸繾纁纆纇纊纍纑纕纘纚纝纞缼缻缽缾缿罃罄罇罏罒罓罛罜罝罡罣罤罥罦罭"],["8fd5a1","罱罽罾罿羀羋羍羏羐羑羖羗羜羡羢羦羪羭羴羼羿翀翃翈翎翏翛翟翣翥翨翬翮翯翲翺翽翾翿耇耈耊耍耎耏耑耓耔耖耝耞耟耠耤耦耬耮耰耴耵耷耹耺耼耾聀聄聠聤聦聭聱聵肁肈肎肜肞肦肧肫肸肹胈胍胏胒胔胕胗胘胠胭胮"],["8fd6a1","胰胲胳胶胹胺胾脃脋脖脗脘脜脞脠脤脧脬脰脵脺脼腅腇腊腌腒腗腠腡腧腨腩腭腯腷膁膐膄膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎臏臕臗臛臝臞臡臤臫臬臰臱臲臵臶臸臹臽臿舀舃舏舓舔舙舚舝舡舢舨舲舴舺艃艄艅艆"],["8fd7a1","艋艎艏艑艖艜艠艣艧艭艴艻艽艿芀芁芃芄芇芉芊芎芑芔芖芘芚芛芠芡芣芤芧芨芩芪芮芰芲芴芷芺芼芾芿苆苐苕苚苠苢苤苨苪苭苯苶苷苽苾茀茁茇茈茊茋荔茛茝茞茟茡茢茬茭茮茰茳茷茺茼茽荂荃荄荇荍荎荑荕荖荗荰荸"],["8fd8a1","荽荿莀莂莄莆莍莒莔莕莘莙莛莜莝莦莧莩莬莾莿菀菇菉菏菐菑菔菝荓菨菪菶菸菹菼萁萆萊萏萑萕萙莭萯萹葅葇葈葊葍葏葑葒葖葘葙葚葜葠葤葥葧葪葰葳葴葶葸葼葽蒁蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌蓏蓓"],["8fd9a1","蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎蔐蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆蕏",4,"蕖蕙蕜",6,"蕤蕫蕯蕹蕺蕻蕽蕿薁薅薆薉薋薌薏薓薘薝薟薠薢薥薧薴薶薷薸薼薽薾薿藂藇藊藋藎薭藘藚藟藠藦藨藭藳藶藼"],["8fdaa1","藿蘀蘄蘅蘍蘎蘐蘑蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙虝虠",4,"虩虬虯虵虶虷虺蚍蚑蚖蚘蚚蚜蚡蚦蚧蚨蚭蚱蚳蚴蚵蚷蚸蚹蚿蛀蛁蛃蛅蛑蛒蛕蛗蛚蛜蛠蛣蛥蛧蚈蛺蛼蛽蜄蜅蜇蜋蜎蜏蜐蜓蜔蜙蜞蜟蜡蜣"],["8fdba1","蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾蝀蝃蝅蝍蝘蝝蝡蝤蝥蝯蝱蝲蝻螃",6,"螋螌螐螓螕螗螘螙螞螠螣螧螬螭螮螱螵螾螿蟁蟈蟉蟊蟎蟕蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫蟭蟱蟳蟸蟺蟿蠁蠃蠆蠉蠊蠋蠐蠙蠒蠓蠔蠘蠚蠛蠜蠞蠟蠨蠭蠮蠰蠲蠵"],["8fdca1","蠺蠼衁衃衅衈衉衊衋衎衑衕衖衘衚衜衟衠衤衩衱衹衻袀袘袚袛袜袟袠袨袪袺袽袾裀裊",4,"裑裒裓裛裞裧裯裰裱裵裷褁褆褍褎褏褕褖褘褙褚褜褠褦褧褨褰褱褲褵褹褺褾襀襂襅襆襉襏襒襗襚襛襜襡襢襣襫襮襰襳襵襺"],["8fdda1","襻襼襽覉覍覐覔覕覛覜覟覠覥覰覴覵覶覷覼觔",4,"觥觩觫觭觱觳觶觹觽觿訄訅訇訏訑訒訔訕訞訠訢訤訦訫訬訯訵訷訽訾詀詃詅詇詉詍詎詓詖詗詘詜詝詡詥詧詵詶詷詹詺詻詾詿誀誃誆誋誏誐誒誖誗誙誟誧誩誮誯誳"],["8fdea1","誶誷誻誾諃諆諈諉諊諑諓諔諕諗諝諟諬諰諴諵諶諼諿謅謆謋謑謜謞謟謊謭謰謷謼譂",4,"譈譒譓譔譙譍譞譣譭譶譸譹譼譾讁讄讅讋讍讏讔讕讜讞讟谸谹谽谾豅豇豉豋豏豑豓豔豗豘豛豝豙豣豤豦豨豩豭豳豵豶豻豾貆"],["8fdfa1","貇貋貐貒貓貙貛貜貤貹貺賅賆賉賋賏賖賕賙賝賡賨賬賯賰賲賵賷賸賾賿贁贃贉贒贗贛赥赩赬赮赿趂趄趈趍趐趑趕趞趟趠趦趫趬趯趲趵趷趹趻跀跅跆跇跈跊跎跑跔跕跗跙跤跥跧跬跰趼跱跲跴跽踁踄踅踆踋踑踔踖踠踡踢"],["8fe0a1","踣踦踧踱踳踶踷踸踹踽蹀蹁蹋蹍蹎蹏蹔蹛蹜蹝蹞蹡蹢蹩蹬蹭蹯蹰蹱蹹蹺蹻躂躃躉躐躒躕躚躛躝躞躢躧躩躭躮躳躵躺躻軀軁軃軄軇軏軑軔軜軨軮軰軱軷軹軺軭輀輂輇輈輏輐輖輗輘輞輠輡輣輥輧輨輬輭輮輴輵輶輷輺轀轁"],["8fe1a1","轃轇轏轑",4,"轘轝轞轥辝辠辡辤辥辦辵辶辸达迀迁迆迊迋迍运迒迓迕迠迣迤迨迮迱迵迶迻迾适逄逈逌逘逛逨逩逯逪逬逭逳逴逷逿遃遄遌遛遝遢遦遧遬遰遴遹邅邈邋邌邎邐邕邗邘邙邛邠邡邢邥邰邲邳邴邶邽郌邾郃"],["8fe2a1","郄郅郇郈郕郗郘郙郜郝郟郥郒郶郫郯郰郴郾郿鄀鄄鄅鄆鄈鄍鄐鄔鄖鄗鄘鄚鄜鄞鄠鄥鄢鄣鄧鄩鄮鄯鄱鄴鄶鄷鄹鄺鄼鄽酃酇酈酏酓酗酙酚酛酡酤酧酭酴酹酺酻醁醃醅醆醊醎醑醓醔醕醘醞醡醦醨醬醭醮醰醱醲醳醶醻醼醽醿"],["8fe3a1","釂釃釅釓釔釗釙釚釞釤釥釩釪釬",5,"釷釹釻釽鈀鈁鈄鈅鈆鈇鈉鈊鈌鈐鈒鈓鈖鈘鈜鈝鈣鈤鈥鈦鈨鈮鈯鈰鈳鈵鈶鈸鈹鈺鈼鈾鉀鉂鉃鉆鉇鉊鉍鉎鉏鉑鉘鉙鉜鉝鉠鉡鉥鉧鉨鉩鉮鉯鉰鉵",4,"鉻鉼鉽鉿銈銉銊銍銎銒銗"],["8fe4a1","銙銟銠銤銥銧銨銫銯銲銶銸銺銻銼銽銿",4,"鋅鋆鋇鋈鋋鋌鋍鋎鋐鋓鋕鋗鋘鋙鋜鋝鋟鋠鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈錍錑錔錕錜錝錞錟錡錤錥錧錩錪錳錴錶錷鍇鍈鍉鍐鍑鍒鍕鍗鍘鍚鍞鍤鍥鍧鍩鍪鍭鍯鍰鍱鍳鍴鍶"],["8fe5a1","鍺鍽鍿鎀鎁鎂鎈鎊鎋鎍鎏鎒鎕鎘鎛鎞鎡鎣鎤鎦鎨鎫鎴鎵鎶鎺鎩鏁鏄鏅鏆鏇鏉",4,"鏓鏙鏜鏞鏟鏢鏦鏧鏹鏷鏸鏺鏻鏽鐁鐂鐄鐈鐉鐍鐎鐏鐕鐖鐗鐟鐮鐯鐱鐲鐳鐴鐻鐿鐽鑃鑅鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫鑭鑮鑯鑱鑲钄钃镸镹"],["8fe6a1","镾閄閈閌閍閎閝閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋闐闑闒闓闙闚闝闞闟闠闤闦阝阞阢阤阥阦阬阱阳阷阸阹阺阼阽陁陒陔陖陗陘陡陮陴陻陼陾陿隁隂隃隄隉隑隖隚隝隟隤隥隦隩隮隯隳隺雊雒嶲雘雚雝雞雟雩雯雱雺霂"],["8fe7a1","霃霅霉霚霛霝霡霢霣霨霱霳靁靃靊靎靏靕靗靘靚靛靣靧靪靮靳靶靷靸靻靽靿鞀鞉鞕鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿韁韄韅韇韉韊韌韍韎韐韑韔韗韘韙韝韞韠韛韡韤韯韱韴韷韸韺頇頊頙頍頎頔頖頜頞頠頣頦"],["8fe8a1","頫頮頯頰頲頳頵頥頾顄顇顊顑顒顓顖顗顙顚顢顣顥顦顪顬颫颭颮颰颴颷颸颺颻颿飂飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",4,"餹餺餻餼饀饁饆饇饈饍饎饔饘饙饛饜饞饟饠馛馝馟馦馰馱馲馵"],["8fe9a1","馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌騐騑騖騞騠騢騣騤騧騭騮騳騵騶騸驇驁驄驊驋驌驎驑驔驖驝骪骬骮骯骲骴骵骶骹骻骾骿髁髃髆髈髎髐髒髕髖髗髛髜髠髤髥髧髩髬髲髳髵髹髺髽髿",4],["8feaa1","鬄鬅鬈鬉鬋鬌鬍鬎鬐鬒鬖鬙鬛鬜鬠鬦鬫鬭鬳鬴鬵鬷鬹鬺鬽魈魋魌魕魖魗魛魞魡魣魥魦魨魪",4,"魳魵魷魸魹魿鮀鮄鮅鮆鮇鮉鮊鮋鮍鮏鮐鮔鮚鮝鮞鮦鮧鮩鮬鮰鮱鮲鮷鮸鮻鮼鮾鮿鯁鯇鯈鯎鯐鯗鯘鯝鯟鯥鯧鯪鯫鯯鯳鯷鯸"],["8feba1","鯹鯺鯽鯿鰀鰂鰋鰏鰑鰖鰘鰙鰚鰜鰞鰢鰣鰦",4,"鰱鰵鰶鰷鰽鱁鱃鱄鱅鱉鱊鱎鱏鱐鱓鱔鱖鱘鱛鱝鱞鱟鱣鱩鱪鱜鱫鱨鱮鱰鱲鱵鱷鱻鳦鳲鳷鳹鴋鴂鴑鴗鴘鴜鴝鴞鴯鴰鴲鴳鴴鴺鴼鵅鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"],["8feca1","鵼鵾鶃鶄鶆鶊鶍鶎鶒鶓鶕鶖鶗鶘鶡鶪鶬鶮鶱鶵鶹鶼鶿鷃鷇鷉鷊鷔鷕鷖鷗鷚鷞鷟鷠鷥鷧鷩鷫鷮鷰鷳鷴鷾鸊鸂鸇鸎鸐鸑鸒鸕鸖鸙鸜鸝鹺鹻鹼麀麂麃麄麅麇麎麏麖麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬黭黮黰黱黲黵"],["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"]]; + +/***/ }), +/* 587 */, +/* 588 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +var _reduced = /*#__PURE__*/__webpack_require__(938); + +var _xfBase = /*#__PURE__*/__webpack_require__(60); + +var XAll = /*#__PURE__*/function () { + + function XAll(f, xf) { + this.xf = xf; + this.f = f; + this.all = true; + } + XAll.prototype['@@transducer/init'] = _xfBase.init; + XAll.prototype['@@transducer/result'] = function (result) { + if (this.all) { + result = this.xf['@@transducer/step'](result, true); + } + return this.xf['@@transducer/result'](result); + }; + XAll.prototype['@@transducer/step'] = function (result, input) { + if (!this.f(input)) { + this.all = false; + result = _reduced(this.xf['@@transducer/step'](result, false)); + } + return result; + }; + + return XAll; +}(); + +var _xall = /*#__PURE__*/_curry2(function _xall(f, xf) { + return new XAll(f, xf); +}); +module.exports = _xall; + +/***/ }), +/* 589 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +/** + * Returns a partial copy of an object omitting the keys specified. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig [String] -> {String: *} -> {String: *} + * @param {Array} names an array of String property names to omit from the new object + * @param {Object} obj The object to copy from + * @return {Object} A new object with properties from `names` not on it. + * @see R.pick + * @example + * + * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3} */ -var _isArrayLike = /*#__PURE__*/_curry1(function isArrayLike(x) { - if (_isArray(x)) { - return true; - } - if (!x) { - return false; - } - if (typeof x !== 'object') { - return false; - } - if (_isString(x)) { - return false; - } - if (x.nodeType === 1) { - return !!x.length; - } - if (x.length === 0) { - return true; +var omit = /*#__PURE__*/_curry2(function omit(names, obj) { + var result = {}; + var index = {}; + var idx = 0; + var len = names.length; + + while (idx < len) { + index[names[idx]] = 1; + idx += 1; } - if (x.length > 0) { - return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1); + + for (var prop in obj) { + if (!index.hasOwnProperty(prop)) { + result[prop] = obj[prop]; + } } - return false; + return result; }); -module.exports = _isArrayLike; +module.exports = omit; /***/ }), -/* 578 */ +/* 590 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) +var addDays = __webpack_require__(683) /** - * @category Millisecond Helpers - * @summary Get the number of milliseconds between the given dates. + * @category Week Helpers + * @summary Add the specified number of weeks to the given date. * * @description - * Get the number of milliseconds between the given dates. + * Add the specified number of week to the given date. * - * @param {Date|String|Number} dateLeft - the later date - * @param {Date|String|Number} dateRight - the earlier date - * @returns {Number} the number of milliseconds + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of weeks to be added + * @returns {Date} the new date with the weeks added * * @example - * // How many milliseconds are between - * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700? - * var result = differenceInMilliseconds( - * new Date(2014, 6, 2, 12, 30, 21, 700), - * new Date(2014, 6, 2, 12, 30, 20, 600) - * ) - * //=> 1100 + * // Add 4 weeks to 1 September 2014: + * var result = addWeeks(new Date(2014, 8, 1), 4) + * //=> Mon Sep 29 2014 00:00:00 */ -function differenceInMilliseconds (dirtyDateLeft, dirtyDateRight) { - var dateLeft = parse(dirtyDateLeft) - var dateRight = parse(dirtyDateRight) - return dateLeft.getTime() - dateRight.getTime() +function addWeeks (dirtyDate, dirtyAmount) { + var amount = Number(dirtyAmount) + var days = amount * 7 + return addDays(dirtyDate, days) } -module.exports = differenceInMilliseconds +module.exports = addWeeks /***/ }), -/* 579 */, -/* 580 */ +/* 591 */, +/* 592 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var curry = /*#__PURE__*/__webpack_require__(447); +var pipeP = /*#__PURE__*/__webpack_require__(984); -var nAry = /*#__PURE__*/__webpack_require__(425); +var reverse = /*#__PURE__*/__webpack_require__(528); /** - * Wraps a constructor function inside a curried function that can be called - * with the same arguments and returns the same type. The arity of the function - * returned is specified to allow using variadic constructor functions. + * Performs right-to-left composition of one or more Promise-returning + * functions. The rightmost function may have any arity; the remaining + * functions must be unary. * * @func * @memberOf R - * @since v0.4.0 + * @since v0.10.0 * @category Function - * @sig Number -> (* -> {*}) -> (* -> {*}) - * @param {Number} n The arity of the constructor function. - * @param {Function} Fn The constructor function to wrap. - * @return {Function} A wrapped, curried constructor function. + * @sig ((y -> Promise z), (x -> Promise y), ..., (a -> Promise b)) -> (a -> Promise z) + * @param {...Function} functions The functions to compose + * @return {Function} + * @see R.pipeP + * @deprecated since v0.26.0 * @example * - * // Variadic Constructor function - * function Salad() { - * this.ingredients = arguments; + * const db = { + * users: { + * JOE: { + * name: 'Joe', + * followers: ['STEVE', 'SUZY'] + * } + * } * } * - * Salad.prototype.recipe = function() { - * const instructions = R.map(ingredient => 'Add a dollop of ' + ingredient, this.ingredients); - * return R.join('\n', instructions); - * }; - * - * const ThreeLayerSalad = R.constructN(3, Salad); - * - * // Notice we no longer need the 'new' keyword, and the constructor is curried for 3 arguments. - * const salad = ThreeLayerSalad('Mayonnaise')('Potato Chips')('Ketchup'); + * // We'll pretend to do a db lookup which returns a promise + * const lookupUser = (userId) => Promise.resolve(db.users[userId]) + * const lookupFollowers = (user) => Promise.resolve(user.followers) + * lookupUser('JOE').then(lookupFollowers) * - * console.log(salad.recipe()); - * // Add a dollop of Mayonnaise - * // Add a dollop of Potato Chips - * // Add a dollop of Ketchup + * // followersForUser :: String -> Promise [UserId] + * const followersForUser = R.composeP(lookupFollowers, lookupUser); + * followersForUser('JOE').then(followers => console.log('Followers:', followers)) + * // Followers: ["STEVE","SUZY"] */ -var constructN = /*#__PURE__*/_curry2(function constructN(n, Fn) { - if (n > 10) { - throw new Error('Constructor with greater than ten arguments'); - } - if (n === 0) { - return function () { - return new Fn(); - }; +function composeP() { + if (arguments.length === 0) { + throw new Error('composeP requires at least one argument'); } - return curry(nAry(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { - switch (arguments.length) { - case 1: - return new Fn($0); - case 2: - return new Fn($0, $1); - case 3: - return new Fn($0, $1, $2); - case 4: - return new Fn($0, $1, $2, $3); - case 5: - return new Fn($0, $1, $2, $3, $4); - case 6: - return new Fn($0, $1, $2, $3, $4, $5); - case 7: - return new Fn($0, $1, $2, $3, $4, $5, $6); - case 8: - return new Fn($0, $1, $2, $3, $4, $5, $6, $7); - case 9: - return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8); - case 10: - return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9); - } - })); -}); -module.exports = constructN; + return pipeP.apply(this, reverse(arguments)); +} +module.exports = composeP; /***/ }), -/* 581 */, -/* 582 */ +/* 593 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var lift = /*#__PURE__*/__webpack_require__(127); +var _curry2 = /*#__PURE__*/__webpack_require__(830); -var not = /*#__PURE__*/__webpack_require__(237); +var _dispatchable = /*#__PURE__*/__webpack_require__(968); + +var _xfindLastIndex = /*#__PURE__*/__webpack_require__(982); /** - * Takes a function `f` and returns a function `g` such that if called with the same arguments - * when `f` returns a "truthy" value, `g` returns `false` and when `f` returns a "falsy" value `g` returns `true`. + * Returns the index of the last element of the list which matches the + * predicate, or `-1` if no element matches. * - * `R.complement` may be applied to any functor + * Acts as a transducer if a transformer is given in list position. * * @func * @memberOf R - * @since v0.12.0 - * @category Logic - * @sig (*... -> *) -> (*... -> Boolean) - * @param {Function} f - * @return {Function} - * @see R.not + * @since v0.1.1 + * @category List + * @sig (a -> Boolean) -> [a] -> Number + * @param {Function} fn The predicate function used to determine if the element is the + * desired one. + * @param {Array} list The array to consider. + * @return {Number} The index of the element found, or `-1`. + * @see R.transduce * @example * - * const isNotNil = R.complement(R.isNil); - * isNil(null); //=> true - * isNotNil(null); //=> false - * isNil(7); //=> false - * isNotNil(7); //=> true + * const xs = [{a: 1, b: 0}, {a:1, b: 1}]; + * R.findLastIndex(R.propEq('a', 1))(xs); //=> 1 + * R.findLastIndex(R.propEq('a', 4))(xs); //=> -1 */ -var complement = /*#__PURE__*/lift(not); -module.exports = complement; +var findLastIndex = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xfindLastIndex, function findLastIndex(fn, list) { + var idx = list.length - 1; + while (idx >= 0) { + if (fn(list[idx])) { + return idx; + } + idx -= 1; + } + return -1; +})); +module.exports = findLastIndex; /***/ }), -/* 583 */, -/* 584 */ +/* 594 */ /***/ (function(module, __unusedexports, __webpack_require__) { "use strict"; -module.exports = -function(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) { -var util = __webpack_require__(248); -var tryCatch = util.tryCatch; +var Buffer = __webpack_require__(572).Buffer; -Promise.method = function (fn) { - if (typeof fn !== "function") { - throw new Promise.TypeError("expecting a function but got " + util.classString(fn)); - } - return function () { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value = tryCatch(fn).apply(this, arguments); - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.method", ret); - ret._resolveFromSyncValue(value); - return ret; - }; +// Export Node.js internal encodings. + +module.exports = { + // Encodings + utf8: { type: "_internal", bomAware: true}, + cesu8: { type: "_internal", bomAware: true}, + unicode11utf8: "utf8", + + ucs2: { type: "_internal", bomAware: true}, + utf16le: "ucs2", + + binary: { type: "_internal" }, + base64: { type: "_internal" }, + hex: { type: "_internal" }, + + // Codec. + _internal: InternalCodec, }; -Promise.attempt = Promise["try"] = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); +//------------------------------------------------------------------------------ + +function InternalCodec(codecOptions, iconv) { + this.enc = codecOptions.encodingName; + this.bomAware = codecOptions.bomAware; + + if (this.enc === "base64") + this.encoder = InternalEncoderBase64; + else if (this.enc === "cesu8") { + this.enc = "utf8"; // Use utf8 for decoding. + this.encoder = InternalEncoderCesu8; + + // Add decoder for versions of Node not supporting CESU-8 + if (Buffer.from('eda0bdedb2a9', 'hex').toString() !== '💩') { + this.decoder = InternalDecoderCesu8; + this.defaultCharUnicode = iconv.defaultCharUnicode; + } } - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value; - if (arguments.length > 1) { - debug.deprecated("calling Promise.try with more than 1 argument"); - var arg = arguments[1]; - var ctx = arguments[2]; - value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) - : tryCatch(fn).call(ctx, arg); - } else { - value = tryCatch(fn)(); +} + +InternalCodec.prototype.encoder = InternalEncoder; +InternalCodec.prototype.decoder = InternalDecoder; + +//------------------------------------------------------------------------------ + +// We use node.js internal decoder. Its signature is the same as ours. +var StringDecoder = __webpack_require__(304).StringDecoder; + +if (!StringDecoder.prototype.end) // Node v0.8 doesn't have this method. + StringDecoder.prototype.end = function() {}; + + +function InternalDecoder(options, codec) { + this.decoder = new StringDecoder(codec.enc); +} + +InternalDecoder.prototype.write = function(buf) { + if (!Buffer.isBuffer(buf)) { + buf = Buffer.from(buf); } - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.try", ret); - ret._resolveFromSyncValue(value); - return ret; -}; -Promise.prototype._resolveFromSyncValue = function (value) { - if (value === util.errorObj) { - this._rejectCallback(value.e, false); - } else { - this._resolveCallback(value, true); - } -}; -}; + return this.decoder.write(buf); +} + +InternalDecoder.prototype.end = function() { + return this.decoder.end(); +} + + +//------------------------------------------------------------------------------ +// Encoder is mostly trivial + +function InternalEncoder(options, codec) { + this.enc = codec.enc; +} + +InternalEncoder.prototype.write = function(str) { + return Buffer.from(str, this.enc); +} + +InternalEncoder.prototype.end = function() { +} + + +//------------------------------------------------------------------------------ +// Except base64 encoder, which must keep its state. + +function InternalEncoderBase64(options, codec) { + this.prevStr = ''; +} + +InternalEncoderBase64.prototype.write = function(str) { + str = this.prevStr + str; + var completeQuads = str.length - (str.length % 4); + this.prevStr = str.slice(completeQuads); + str = str.slice(0, completeQuads); + + return Buffer.from(str, "base64"); +} + +InternalEncoderBase64.prototype.end = function() { + return Buffer.from(this.prevStr, "base64"); +} + + +//------------------------------------------------------------------------------ +// CESU-8 encoder is also special. + +function InternalEncoderCesu8(options, codec) { +} + +InternalEncoderCesu8.prototype.write = function(str) { + var buf = Buffer.alloc(str.length * 3), bufIdx = 0; + for (var i = 0; i < str.length; i++) { + var charCode = str.charCodeAt(i); + // Naive implementation, but it works because CESU-8 is especially easy + // to convert from UTF-16 (which all JS strings are encoded in). + if (charCode < 0x80) + buf[bufIdx++] = charCode; + else if (charCode < 0x800) { + buf[bufIdx++] = 0xC0 + (charCode >>> 6); + buf[bufIdx++] = 0x80 + (charCode & 0x3f); + } + else { // charCode will always be < 0x10000 in javascript. + buf[bufIdx++] = 0xE0 + (charCode >>> 12); + buf[bufIdx++] = 0x80 + ((charCode >>> 6) & 0x3f); + buf[bufIdx++] = 0x80 + (charCode & 0x3f); + } + } + return buf.slice(0, bufIdx); +} + +InternalEncoderCesu8.prototype.end = function() { +} + +//------------------------------------------------------------------------------ +// CESU-8 decoder is not implemented in Node v4.0+ + +function InternalDecoderCesu8(options, codec) { + this.acc = 0; + this.contBytes = 0; + this.accBytes = 0; + this.defaultCharUnicode = codec.defaultCharUnicode; +} + +InternalDecoderCesu8.prototype.write = function(buf) { + var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, + res = ''; + for (var i = 0; i < buf.length; i++) { + var curByte = buf[i]; + if ((curByte & 0xC0) !== 0x80) { // Leading byte + if (contBytes > 0) { // Previous code is invalid + res += this.defaultCharUnicode; + contBytes = 0; + } + + if (curByte < 0x80) { // Single-byte code + res += String.fromCharCode(curByte); + } else if (curByte < 0xE0) { // Two-byte code + acc = curByte & 0x1F; + contBytes = 1; accBytes = 1; + } else if (curByte < 0xF0) { // Three-byte code + acc = curByte & 0x0F; + contBytes = 2; accBytes = 1; + } else { // Four or more are not supported for CESU-8. + res += this.defaultCharUnicode; + } + } else { // Continuation byte + if (contBytes > 0) { // We're waiting for it. + acc = (acc << 6) | (curByte & 0x3f); + contBytes--; accBytes++; + if (contBytes === 0) { + // Check for overlong encoding, but support Modified UTF-8 (encoding NULL as C0 80) + if (accBytes === 2 && acc < 0x80 && acc > 0) + res += this.defaultCharUnicode; + else if (accBytes === 3 && acc < 0x800) + res += this.defaultCharUnicode; + else + // Actually add character. + res += String.fromCharCode(acc); + } + } else { // Unexpected continuation byte + res += this.defaultCharUnicode; + } + } + } + this.acc = acc; this.contBytes = contBytes; this.accBytes = accBytes; + return res; +} + +InternalDecoderCesu8.prototype.end = function() { + var res = 0; + if (this.contBytes > 0) + res += this.defaultCharUnicode; + return res; +} + + +/***/ }), +/* 595 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +/** + * Returns a copy of the list, sorted according to the comparator function, + * which should accept two values at a time and return a negative number if the + * first value is smaller, a positive number if it's larger, and zero if they + * are equal. Please note that this is a **copy** of the list. It does not + * modify the original. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig ((a, a) -> Number) -> [a] -> [a] + * @param {Function} comparator A sorting function :: a -> b -> Int + * @param {Array} list The list to sort + * @return {Array} a new array with its elements sorted by the comparator function. + * @example + * + * const diff = function(a, b) { return a - b; }; + * R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7] + */ + + +var sort = /*#__PURE__*/_curry2(function sort(comparator, list) { + return Array.prototype.slice.call(list, 0).sort(comparator); +}); +module.exports = sort; + +/***/ }), +/* 596 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +var map = /*#__PURE__*/__webpack_require__(197); + +/** + * Returns a lens for the given getter and setter functions. The getter "gets" + * the value of the focus; the setter "sets" the value of the focus. The setter + * should not mutate the data structure. + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Object + * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s + * @sig (s -> a) -> ((a, s) -> s) -> Lens s a + * @param {Function} getter + * @param {Function} setter + * @return {Lens} + * @see R.view, R.set, R.over, R.lensIndex, R.lensProp + * @example + * + * const xLens = R.lens(R.prop('x'), R.assoc('x')); + * + * R.view(xLens, {x: 1, y: 2}); //=> 1 + * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2} + * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2} + */ + +var lens = /*#__PURE__*/_curry2(function lens(getter, setter) { + return function (toFunctorFn) { + return function (target) { + return map(function (focus) { + return setter(focus, target); + }, toFunctorFn(getter(target))); + }; + }; +}); +module.exports = lens; /***/ }), -/* 585 */ +/* 597 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var startOfDay = __webpack_require__(68) +var _curry2 = /*#__PURE__*/__webpack_require__(830); /** - * @category Day Helpers - * @summary Are the given dates in the same day? - * - * @description - * Are the given dates in the same day? - * - * @param {Date|String|Number} dateLeft - the first date to check - * @param {Date|String|Number} dateRight - the second date to check - * @returns {Boolean} the dates are in the same day + * Returns a new object that does not contain a `prop` property. * + * @func + * @memberOf R + * @since v0.10.0 + * @category Object + * @sig String -> {k: v} -> {k: v} + * @param {String} prop The name of the property to dissociate + * @param {Object} obj The object to clone + * @return {Object} A new object equivalent to the original but without the specified property + * @see R.assoc, R.omit * @example - * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day? - * var result = isSameDay( - * new Date(2014, 8, 4, 6, 0), - * new Date(2014, 8, 4, 18, 0) - * ) - * //=> true + * + * R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3} */ -function isSameDay (dirtyDateLeft, dirtyDateRight) { - var dateLeftStartOfDay = startOfDay(dirtyDateLeft) - var dateRightStartOfDay = startOfDay(dirtyDateRight) - - return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime() -} -module.exports = isSameDay +var dissoc = /*#__PURE__*/_curry2(function dissoc(prop, obj) { + var result = {}; + for (var p in obj) { + result[p] = obj[p]; + } + delete result[prop]; + return result; +}); +module.exports = dissoc; /***/ }), -/* 586 */ +/* 598 */ /***/ (function(module, __unusedexports, __webpack_require__) { var _curry2 = /*#__PURE__*/__webpack_require__(830); @@ -25886,783 +24768,867 @@ var uncurryN = /*#__PURE__*/_curry2(function uncurryN(depth, fn) { module.exports = uncurryN; /***/ }), -/* 587 */, -/* 588 */ +/* 599 */ +/***/ (function(module) { + +function _filter(fn, list) { + var idx = 0; + var len = list.length; + var result = []; + + while (idx < len) { + if (fn(list[idx])) { + result[result.length] = list[idx]; + } + idx += 1; + } + return result; +} +module.exports = _filter; + +/***/ }), +/* 600 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +/* MIT license */ +/* eslint-disable no-mixed-operators */ +const cssKeywords = __webpack_require__(942); + +// NOTE: conversions should only return primitive values (i.e. arrays, or +// values that give correct `typeof` results). +// do not use box values types (i.e. Number(), String(), etc.) + +const reverseKeywords = {}; +for (const key of Object.keys(cssKeywords)) { + reverseKeywords[cssKeywords[key]] = key; +} + +const convert = { + rgb: {channels: 3, labels: 'rgb'}, + hsl: {channels: 3, labels: 'hsl'}, + hsv: {channels: 3, labels: 'hsv'}, + hwb: {channels: 3, labels: 'hwb'}, + cmyk: {channels: 4, labels: 'cmyk'}, + xyz: {channels: 3, labels: 'xyz'}, + lab: {channels: 3, labels: 'lab'}, + lch: {channels: 3, labels: 'lch'}, + hex: {channels: 1, labels: ['hex']}, + keyword: {channels: 1, labels: ['keyword']}, + ansi16: {channels: 1, labels: ['ansi16']}, + ansi256: {channels: 1, labels: ['ansi256']}, + hcg: {channels: 3, labels: ['h', 'c', 'g']}, + apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, + gray: {channels: 1, labels: ['gray']} +}; + +module.exports = convert; + +// Hide .channels and .labels properties +for (const model of Object.keys(convert)) { + if (!('channels' in convert[model])) { + throw new Error('missing channels property: ' + model); + } + + if (!('labels' in convert[model])) { + throw new Error('missing channel labels property: ' + model); + } + + if (convert[model].labels.length !== convert[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } + + const {channels, labels} = convert[model]; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], 'channels', {value: channels}); + Object.defineProperty(convert[model], 'labels', {value: labels}); +} + +convert.rgb.hsl = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const min = Math.min(r, g, b); + const max = Math.max(r, g, b); + const delta = max - min; + let h; + let s; + + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + + h = Math.min(h * 60, 360); + + if (h < 0) { + h += 360; + } + + const l = (min + max) / 2; + + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + + return [h, s * 100, l * 100]; +}; + +convert.rgb.hsv = function (rgb) { + let rdif; + let gdif; + let bdif; + let h; + let s; + + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const v = Math.max(r, g, b); + const diff = v - Math.min(r, g, b); + const diffc = function (c) { + return (v - c) / 6 / diff + 1 / 2; + }; + + if (diff === 0) { + h = 0; + s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = (1 / 3) + rdif - bdif; + } else if (b === v) { + h = (2 / 3) + gdif - rdif; + } + + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + + return [ + h * 360, + s * 100, + v * 100 + ]; +}; + +convert.rgb.hwb = function (rgb) { + const r = rgb[0]; + const g = rgb[1]; + let b = rgb[2]; + const h = convert.rgb.hsl(rgb)[0]; + const w = 1 / 255 * Math.min(r, Math.min(g, b)); + + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + + return [h, w * 100, b * 100]; +}; + +convert.rgb.cmyk = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + + const k = Math.min(1 - r, 1 - g, 1 - b); + const c = (1 - r - k) / (1 - k) || 0; + const m = (1 - g - k) / (1 - k) || 0; + const y = (1 - b - k) / (1 - k) || 0; + + return [c * 100, m * 100, y * 100, k * 100]; +}; + +function comparativeDistance(x, y) { + /* + See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + */ + return ( + ((x[0] - y[0]) ** 2) + + ((x[1] - y[1]) ** 2) + + ((x[2] - y[2]) ** 2) + ); +} + +convert.rgb.keyword = function (rgb) { + const reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } + + let currentClosestDistance = Infinity; + let currentClosestKeyword; + + for (const keyword of Object.keys(cssKeywords)) { + const value = cssKeywords[keyword]; + + // Compute comparative distance + const distance = comparativeDistance(rgb, value); + + // Check if its less, if so set as closest + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + + return currentClosestKeyword; +}; + +convert.keyword.rgb = function (keyword) { + return cssKeywords[keyword]; +}; + +convert.rgb.xyz = function (rgb) { + let r = rgb[0] / 255; + let g = rgb[1] / 255; + let b = rgb[2] / 255; + + // Assume sRGB + r = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92); + g = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92); + b = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92); + + const x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); + const y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); + const z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); + + return [x * 100, y * 100, z * 100]; +}; + +convert.rgb.lab = function (rgb) { + const xyz = convert.rgb.xyz(rgb); + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); + + const l = (116 * y) - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); + + return [l, a, b]; +}; + +convert.hsl.rgb = function (hsl) { + const h = hsl[0] / 360; + const s = hsl[1] / 100; + const l = hsl[2] / 100; + let t2; + let t3; + let val; + + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + + const t1 = 2 * l - t2; + + const rgb = [0, 0, 0]; + for (let i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; + } + + if (t3 > 1) { + t3--; + } + + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + + rgb[i] = val * 255; + } + + return rgb; +}; + +convert.hsl.hsv = function (hsl) { + const h = hsl[0]; + let s = hsl[1] / 100; + let l = hsl[2] / 100; + let smin = s; + const lmin = Math.max(l, 0.01); + + l *= 2; + s *= (l <= 1) ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + const v = (l + s) / 2; + const sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); + + return [h, sv * 100, v * 100]; +}; + +convert.hsv.rgb = function (hsv) { + const h = hsv[0] / 60; + const s = hsv[1] / 100; + let v = hsv[2] / 100; + const hi = Math.floor(h) % 6; + + const f = h - Math.floor(h); + const p = 255 * v * (1 - s); + const q = 255 * v * (1 - (s * f)); + const t = 255 * v * (1 - (s * (1 - f))); + v *= 255; + + switch (hi) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + case 5: + return [v, p, q]; + } +}; + +convert.hsv.hsl = function (hsv) { + const h = hsv[0]; + const s = hsv[1] / 100; + const v = hsv[2] / 100; + const vmin = Math.max(v, 0.01); + let sl; + let l; + + l = (2 - s) * v; + const lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= (lmin <= 1) ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + + return [h, sl * 100, l * 100]; +}; + +// http://dev.w3.org/csswg/css-color/#hwb-to-rgb +convert.hwb.rgb = function (hwb) { + const h = hwb[0] / 360; + let wh = hwb[1] / 100; + let bl = hwb[2] / 100; + const ratio = wh + bl; + let f; + + // Wh + bl cant be > 1 + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + + const i = Math.floor(6 * h); + const v = 1 - bl; + f = 6 * h - i; + + if ((i & 0x01) !== 0) { + f = 1 - f; + } + + const n = wh + f * (v - wh); // Linear interpolation + + let r; + let g; + let b; + /* eslint-disable max-statements-per-line,no-multi-spaces */ + switch (i) { + default: + case 6: + case 0: r = v; g = n; b = wh; break; + case 1: r = n; g = v; b = wh; break; + case 2: r = wh; g = v; b = n; break; + case 3: r = wh; g = n; b = v; break; + case 4: r = n; g = wh; b = v; break; + case 5: r = v; g = wh; b = n; break; + } + /* eslint-enable max-statements-per-line,no-multi-spaces */ + + return [r * 255, g * 255, b * 255]; +}; + +convert.cmyk.rgb = function (cmyk) { + const c = cmyk[0] / 100; + const m = cmyk[1] / 100; + const y = cmyk[2] / 100; + const k = cmyk[3] / 100; + + const r = 1 - Math.min(1, c * (1 - k) + k); + const g = 1 - Math.min(1, m * (1 - k) + k); + const b = 1 - Math.min(1, y * (1 - k) + k); + + return [r * 255, g * 255, b * 255]; +}; + +convert.xyz.rgb = function (xyz) { + const x = xyz[0] / 100; + const y = xyz[1] / 100; + const z = xyz[2] / 100; + let r; + let g; + let b; + + r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); + g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); + b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); -var _reduced = /*#__PURE__*/__webpack_require__(938); + // Assume sRGB + r = r > 0.0031308 + ? ((1.055 * (r ** (1.0 / 2.4))) - 0.055) + : r * 12.92; -var _xfBase = /*#__PURE__*/__webpack_require__(60); + g = g > 0.0031308 + ? ((1.055 * (g ** (1.0 / 2.4))) - 0.055) + : g * 12.92; -var XAll = /*#__PURE__*/function () { + b = b > 0.0031308 + ? ((1.055 * (b ** (1.0 / 2.4))) - 0.055) + : b * 12.92; - function XAll(f, xf) { - this.xf = xf; - this.f = f; - this.all = true; - } - XAll.prototype['@@transducer/init'] = _xfBase.init; - XAll.prototype['@@transducer/result'] = function (result) { - if (this.all) { - result = this.xf['@@transducer/step'](result, true); - } - return this.xf['@@transducer/result'](result); - }; - XAll.prototype['@@transducer/step'] = function (result, input) { - if (!this.f(input)) { - this.all = false; - result = _reduced(this.xf['@@transducer/step'](result, false)); - } - return result; - }; + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); - return XAll; -}(); + return [r * 255, g * 255, b * 255]; +}; -var _xall = /*#__PURE__*/_curry2(function _xall(f, xf) { - return new XAll(f, xf); -}); -module.exports = _xall; +convert.xyz.lab = function (xyz) { + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; -/***/ }), -/* 589 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + x /= 95.047; + y /= 100; + z /= 108.883; -var _curry2 = /*#__PURE__*/__webpack_require__(830); + x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); -/** - * Returns a partial copy of an object omitting the keys specified. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig [String] -> {String: *} -> {String: *} - * @param {Array} names an array of String property names to omit from the new object - * @param {Object} obj The object to copy from - * @return {Object} A new object with properties from `names` not on it. - * @see R.pick - * @example - * - * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3} - */ + const l = (116 * y) - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); + return [l, a, b]; +}; -var omit = /*#__PURE__*/_curry2(function omit(names, obj) { - var result = {}; - var index = {}; - var idx = 0; - var len = names.length; +convert.lab.xyz = function (lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let x; + let y; + let z; - while (idx < len) { - index[names[idx]] = 1; - idx += 1; - } + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; - for (var prop in obj) { - if (!index.hasOwnProperty(prop)) { - result[prop] = obj[prop]; - } - } - return result; -}); -module.exports = omit; + const y2 = y ** 3; + const x2 = x ** 3; + const z2 = z ** 3; + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; -/***/ }), -/* 590 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + x *= 95.047; + y *= 100; + z *= 108.883; -var addDays = __webpack_require__(683) + return [x, y, z]; +}; -/** - * @category Week Helpers - * @summary Add the specified number of weeks to the given date. - * - * @description - * Add the specified number of week to the given date. - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of weeks to be added - * @returns {Date} the new date with the weeks added - * - * @example - * // Add 4 weeks to 1 September 2014: - * var result = addWeeks(new Date(2014, 8, 1), 4) - * //=> Mon Sep 29 2014 00:00:00 - */ -function addWeeks (dirtyDate, dirtyAmount) { - var amount = Number(dirtyAmount) - var days = amount * 7 - return addDays(dirtyDate, days) -} +convert.lab.lch = function (lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let h; -module.exports = addWeeks + const hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + if (h < 0) { + h += 360; + } -/***/ }), -/* 591 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + const c = Math.sqrt(a * a + b * b); -var parse = __webpack_require__(751) + return [l, c, h]; +}; -/** - * @category Year Helpers - * @summary Get the year of the given date. - * - * @description - * Get the year of the given date. - * - * @param {Date|String|Number} date - the given date - * @returns {Number} the year - * - * @example - * // Which year is 2 July 2014? - * var result = getYear(new Date(2014, 6, 2)) - * //=> 2014 - */ -function getYear (dirtyDate) { - var date = parse(dirtyDate) - var year = date.getFullYear() - return year -} +convert.lch.lab = function (lch) { + const l = lch[0]; + const c = lch[1]; + const h = lch[2]; -module.exports = getYear + const hr = h / 360 * 2 * Math.PI; + const a = c * Math.cos(hr); + const b = c * Math.sin(hr); + return [l, a, b]; +}; -/***/ }), -/* 592 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +convert.rgb.ansi16 = function (args, saturation = null) { + const [r, g, b] = args; + let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization -var pipeP = /*#__PURE__*/__webpack_require__(954); + value = Math.round(value / 50); -var reverse = /*#__PURE__*/__webpack_require__(528); + if (value === 0) { + return 30; + } -/** - * Performs right-to-left composition of one or more Promise-returning - * functions. The rightmost function may have any arity; the remaining - * functions must be unary. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category Function - * @sig ((y -> Promise z), (x -> Promise y), ..., (a -> Promise b)) -> (a -> Promise z) - * @param {...Function} functions The functions to compose - * @return {Function} - * @see R.pipeP - * @deprecated since v0.26.0 - * @example - * - * const db = { - * users: { - * JOE: { - * name: 'Joe', - * followers: ['STEVE', 'SUZY'] - * } - * } - * } - * - * // We'll pretend to do a db lookup which returns a promise - * const lookupUser = (userId) => Promise.resolve(db.users[userId]) - * const lookupFollowers = (user) => Promise.resolve(user.followers) - * lookupUser('JOE').then(lookupFollowers) - * - * // followersForUser :: String -> Promise [UserId] - * const followersForUser = R.composeP(lookupFollowers, lookupUser); - * followersForUser('JOE').then(followers => console.log('Followers:', followers)) - * // Followers: ["STEVE","SUZY"] - */ + let ansi = 30 + + ((Math.round(b / 255) << 2) + | (Math.round(g / 255) << 1) + | Math.round(r / 255)); + if (value === 2) { + ansi += 60; + } -function composeP() { - if (arguments.length === 0) { - throw new Error('composeP requires at least one argument'); - } - return pipeP.apply(this, reverse(arguments)); -} -module.exports = composeP; + return ansi; +}; -/***/ }), -/* 593 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +convert.hsv.ansi16 = function (args) { + // Optimization here; we already know the value and don't need to get + // it converted for us. + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); +}; -var _curry2 = /*#__PURE__*/__webpack_require__(830); +convert.rgb.ansi256 = function (args) { + const r = args[0]; + const g = args[1]; + const b = args[2]; -var _dispatchable = /*#__PURE__*/__webpack_require__(968); + // We use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + if (r === g && g === b) { + if (r < 8) { + return 16; + } -var _xfindLastIndex = /*#__PURE__*/__webpack_require__(982); + if (r > 248) { + return 231; + } -/** - * Returns the index of the last element of the list which matches the - * predicate, or `-1` if no element matches. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.1 - * @category List - * @sig (a -> Boolean) -> [a] -> Number - * @param {Function} fn The predicate function used to determine if the element is the - * desired one. - * @param {Array} list The array to consider. - * @return {Number} The index of the element found, or `-1`. - * @see R.transduce - * @example - * - * const xs = [{a: 1, b: 0}, {a:1, b: 1}]; - * R.findLastIndex(R.propEq('a', 1))(xs); //=> 1 - * R.findLastIndex(R.propEq('a', 4))(xs); //=> -1 - */ + return Math.round(((r - 8) / 247) * 24) + 232; + } + const ansi = 16 + + (36 * Math.round(r / 255 * 5)) + + (6 * Math.round(g / 255 * 5)) + + Math.round(b / 255 * 5); -var findLastIndex = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xfindLastIndex, function findLastIndex(fn, list) { - var idx = list.length - 1; - while (idx >= 0) { - if (fn(list[idx])) { - return idx; - } - idx -= 1; - } - return -1; -})); -module.exports = findLastIndex; + return ansi; +}; -/***/ }), -/* 594 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +convert.ansi16.rgb = function (args) { + let color = args % 10; -var parse = __webpack_require__(751) -var addDays = __webpack_require__(683) -var getISODay = __webpack_require__(14) + // Handle greyscale + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } -/** - * @category Weekday Helpers - * @summary Set the day of the ISO week to the given date. - * - * @description - * Set the day of the ISO week to the given date. - * ISO week starts with Monday. - * 7 is the index of Sunday, 1 is the index of Monday etc. - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} day - the day of the ISO week of the new date - * @returns {Date} the new date with the day of the ISO week setted - * - * @example - * // Set Sunday to 1 September 2014: - * var result = setISODay(new Date(2014, 8, 1), 7) - * //=> Sun Sep 07 2014 00:00:00 - */ -function setISODay (dirtyDate, dirtyDay) { - var date = parse(dirtyDate) - var day = Number(dirtyDay) - var currentDay = getISODay(date) - var diff = day - currentDay - return addDays(date, diff) -} + color = color / 10.5 * 255; -module.exports = setISODay + return [color, color, color]; + } + const mult = (~~(args > 50) + 1) * 0.5; + const r = ((color & 1) * mult) * 255; + const g = (((color >> 1) & 1) * mult) * 255; + const b = (((color >> 2) & 1) * mult) * 255; -/***/ }), -/* 595 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + return [r, g, b]; +}; -"use strict"; +convert.ansi256.rgb = function (args) { + // Handle greyscale + if (args >= 232) { + const c = (args - 232) * 10 + 8; + return [c, c, c]; + } + args -= 16; -// Description of supported double byte encodings and aliases. -// Tables are not require()-d until they are needed to speed up library load. -// require()-s are direct to support Browserify. + let rem; + const r = Math.floor(args / 36) / 5 * 255; + const g = Math.floor((rem = args % 36) / 6) / 5 * 255; + const b = (rem % 6) / 5 * 255; -module.exports = { - - // == Japanese/ShiftJIS ==================================================== - // All japanese encodings are based on JIS X set of standards: - // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF. - // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. - // Has several variations in 1978, 1983, 1990 and 1997. - // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead. - // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233. - // 2 planes, first is superset of 0208, second - revised 0212. - // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx) + return [r, g, b]; +}; - // Byte encodings are: - // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte - // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC. - // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI. - // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes. - // 0x00-0x7F - lower part of 0201 - // 0x8E, 0xA1-0xDF - upper part of 0201 - // (0xA1-0xFE)x2 - 0208 plane (94x94). - // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94). - // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon. - // Used as-is in ISO2022 family. - // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, - // 0201-1976 Roman, 0208-1978, 0208-1983. - // * ISO2022-JP-1: Adds esc seq for 0212-1990. - // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7. - // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2. - // * ISO2022-JP-2004: Adds 0213-2004 Plane 1. - // - // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes. - // - // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html +convert.rgb.hex = function (args) { + const integer = ((Math.round(args[0]) & 0xFF) << 16) + + ((Math.round(args[1]) & 0xFF) << 8) + + (Math.round(args[2]) & 0xFF); - 'shiftjis': { - type: '_dbcs', - table: function() { return __webpack_require__(675) }, - encodeAdd: {'\u00a5': 0x5C, '\u203E': 0x7E}, - encodeSkipVals: [{from: 0xED40, to: 0xF940}], - }, - 'csshiftjis': 'shiftjis', - 'mskanji': 'shiftjis', - 'sjis': 'shiftjis', - 'windows31j': 'shiftjis', - 'ms31j': 'shiftjis', - 'xsjis': 'shiftjis', - 'windows932': 'shiftjis', - 'ms932': 'shiftjis', - '932': 'shiftjis', - 'cp932': 'shiftjis', + const string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; - 'eucjp': { - type: '_dbcs', - table: function() { return __webpack_require__(214) }, - encodeAdd: {'\u00a5': 0x5C, '\u203E': 0x7E}, - }, +convert.hex.rgb = function (args) { + const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match) { + return [0, 0, 0]; + } - // TODO: KDDI extension to Shift_JIS - // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes. - // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars. + let colorString = match[0]; + if (match[0].length === 3) { + colorString = colorString.split('').map(char => { + return char + char; + }).join(''); + } - // == Chinese/GBK ========================================================== - // http://en.wikipedia.org/wiki/GBK - // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder + const integer = parseInt(colorString, 16); + const r = (integer >> 16) & 0xFF; + const g = (integer >> 8) & 0xFF; + const b = integer & 0xFF; - // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936 - 'gb2312': 'cp936', - 'gb231280': 'cp936', - 'gb23121980': 'cp936', - 'csgb2312': 'cp936', - 'csiso58gb231280': 'cp936', - 'euccn': 'cp936', + return [r, g, b]; +}; - // Microsoft's CP936 is a subset and approximation of GBK. - 'windows936': 'cp936', - 'ms936': 'cp936', - '936': 'cp936', - 'cp936': { - type: '_dbcs', - table: function() { return __webpack_require__(369) }, - }, +convert.rgb.hcg = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const max = Math.max(Math.max(r, g), b); + const min = Math.min(Math.min(r, g), b); + const chroma = (max - min); + let grayscale; + let hue; - // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other. - 'gbk': { - type: '_dbcs', - table: function() { return __webpack_require__(369).concat(__webpack_require__(984)) }, - }, - 'xgbk': 'gbk', - 'isoir58': 'gbk', + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + + if (chroma <= 0) { + hue = 0; + } else + if (max === r) { + hue = ((g - b) / chroma) % 6; + } else + if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma; + } - // GB18030 is an algorithmic extension of GBK. - // Main source: https://www.w3.org/TR/encoding/#gbk-encoder - // http://icu-project.org/docs/papers/gb18030.html - // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml - // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0 - 'gb18030': { - type: '_dbcs', - table: function() { return __webpack_require__(369).concat(__webpack_require__(984)) }, - gb18030: function() { return __webpack_require__(115) }, - encodeSkipVals: [0x80], - encodeAdd: {'€': 0xA2E3}, - }, + hue /= 6; + hue %= 1; - 'chinese': 'gb18030', + return [hue * 360, chroma * 100, grayscale * 100]; +}; +convert.hsl.hcg = function (hsl) { + const s = hsl[1] / 100; + const l = hsl[2] / 100; - // == Korean =============================================================== - // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same. - 'windows949': 'cp949', - 'ms949': 'cp949', - '949': 'cp949', - 'cp949': { - type: '_dbcs', - table: function() { return __webpack_require__(432) }, - }, + const c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l)); - 'cseuckr': 'cp949', - 'csksc56011987': 'cp949', - 'euckr': 'cp949', - 'isoir149': 'cp949', - 'korean': 'cp949', - 'ksc56011987': 'cp949', - 'ksc56011989': 'cp949', - 'ksc5601': 'cp949', + let f = 0; + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); + } + return [hsl[0], c * 100, f * 100]; +}; - // == Big5/Taiwan/Hong Kong ================================================ - // There are lots of tables for Big5 and cp950. Please see the following links for history: - // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html - // Variations, in roughly number of defined chars: - // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT - // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/ - // * Big5-2003 (Taiwan standard) almost superset of cp950. - // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers. - // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. - // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years. - // Plus, it has 4 combining sequences. - // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299 - // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way. - // Implementations are not consistent within browsers; sometimes labeled as just big5. - // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied. - // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31 - // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s. - // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt - // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt - // - // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder - // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong. +convert.hsv.hcg = function (hsv) { + const s = hsv[1] / 100; + const v = hsv[2] / 100; - 'windows950': 'cp950', - 'ms950': 'cp950', - '950': 'cp950', - 'cp950': { - type: '_dbcs', - table: function() { return __webpack_require__(446) }, - }, + const c = s * v; + let f = 0; - // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus. - 'big5': 'big5hkscs', - 'big5hkscs': { - type: '_dbcs', - table: function() { return __webpack_require__(446).concat(__webpack_require__(871)) }, - encodeSkipVals: [0xa2cc], - }, + if (c < 1.0) { + f = (v - c) / (1 - c); + } - 'cnbig5': 'big5hkscs', - 'csbig5': 'big5hkscs', - 'xxbig5': 'big5hkscs', + return [hsv[0], c * 100, f * 100]; }; +convert.hcg.rgb = function (hcg) { + const h = hcg[0] / 360; + const c = hcg[1] / 100; + const g = hcg[2] / 100; -/***/ }), -/* 596 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } -var _curry2 = /*#__PURE__*/__webpack_require__(830); + const pure = [0, 0, 0]; + const hi = (h % 1) * 6; + const v = hi % 1; + const w = 1 - v; + let mg = 0; -var map = /*#__PURE__*/__webpack_require__(534); + /* eslint-disable max-statements-per-line */ + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; pure[1] = v; pure[2] = 0; break; + case 1: + pure[0] = w; pure[1] = 1; pure[2] = 0; break; + case 2: + pure[0] = 0; pure[1] = 1; pure[2] = v; break; + case 3: + pure[0] = 0; pure[1] = w; pure[2] = 1; break; + case 4: + pure[0] = v; pure[1] = 0; pure[2] = 1; break; + default: + pure[0] = 1; pure[1] = 0; pure[2] = w; + } + /* eslint-enable max-statements-per-line */ -/** - * Returns a lens for the given getter and setter functions. The getter "gets" - * the value of the focus; the setter "sets" the value of the focus. The setter - * should not mutate the data structure. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Object - * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s - * @sig (s -> a) -> ((a, s) -> s) -> Lens s a - * @param {Function} getter - * @param {Function} setter - * @return {Lens} - * @see R.view, R.set, R.over, R.lensIndex, R.lensProp - * @example - * - * const xLens = R.lens(R.prop('x'), R.assoc('x')); - * - * R.view(xLens, {x: 1, y: 2}); //=> 1 - * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2} - * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2} - */ + mg = (1.0 - c) * g; + return [ + (c * pure[0] + mg) * 255, + (c * pure[1] + mg) * 255, + (c * pure[2] + mg) * 255 + ]; +}; -var lens = /*#__PURE__*/_curry2(function lens(getter, setter) { - return function (toFunctorFn) { - return function (target) { - return map(function (focus) { - return setter(focus, target); - }, toFunctorFn(getter(target))); - }; - }; -}); -module.exports = lens; +convert.hcg.hsv = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; -/***/ }), -/* 597 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + const v = c + g * (1.0 - c); + let f = 0; -var _curry2 = /*#__PURE__*/__webpack_require__(830); + if (v > 0.0) { + f = c / v; + } -/** - * Returns a new object that does not contain a `prop` property. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category Object - * @sig String -> {k: v} -> {k: v} - * @param {String} prop The name of the property to dissociate - * @param {Object} obj The object to clone - * @return {Object} A new object equivalent to the original but without the specified property - * @see R.assoc, R.omit - * @example - * - * R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3} - */ + return [hcg[0], f * 100, v * 100]; +}; +convert.hcg.hsl = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; -var dissoc = /*#__PURE__*/_curry2(function dissoc(prop, obj) { - var result = {}; - for (var p in obj) { - result[p] = obj[p]; - } - delete result[prop]; - return result; -}); -module.exports = dissoc; + const l = g * (1.0 - c) + 0.5 * c; + let s = 0; -/***/ }), -/* 598 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else + if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); + } -const { get } = __webpack_require__(865); -const { SCREENSHOT_FOLDERS } = __webpack_require__(45); -const fetchAllPages = __webpack_require__(264); + return [hcg[0], s * 100, l * 100]; +}; -// rate limiting cost of this query is ~1 -const reposForOrgQuery = ({ - org, - paginationLimit, - timeRange, - screenshots -}) => endCursor => ({ - query: /* GraphQL */ ` - query reposForOrg($endCursor: String) { - repos: search(query: "org:${org} fork:false archived:false is:public", type: REPOSITORY, first: ${paginationLimit}, after: $endCursor) { - repositoryCount - nodes { - ... on Repository { - id - name - nameWithOwner - owner { - login - } - collaborators { - totalCount - } - releases { - totalCount - } - tags: refs(refPrefix: "refs/tags/") { - totalCount - } - latestTag: refs(refPrefix: "refs/tags/", last: 1, , orderBy: {field: TAG_COMMIT_DATE, direction: ASC}) { - nodes { - id - name - target { - ... on Commit { - id - authoredDate - } - } - } - } - openIssues: issues(filterBy: {states: OPEN}) { - totalCount - } - goodFirstIssues: issues(filterBy: {states: OPEN, labels: "good first issue"}, first: 3) { - totalCount - nodes { - id - title - url - createdAt - comments { - totalCount - } - author { - login - ... on User { - id - email - name - } - } - number - } - } - forks { - totalCount - } - pullRequests(states: OPEN) { - totalCount - } - pushedAt - totalCommits: defaultBranchRef { - target { - ... on Commit { - history { - totalCount - } - } - } - } - lastSixMonths: defaultBranchRef { - target { - ... on Commit { - history(since: "${timeRange}") { - totalCount - } - } - } - } - milestones(states: OPEN) { - totalCount - } - mentionableUsers { - totalCount - } - languages(first: 10) { - nodes { - id - name - color - } - } - isFork - deployments { - totalCount - } - commitComments { - totalCount - } - licenseInfo { - id - name - spdxId - url - featured - key - } - ${screenshots} - } - } - pageInfo { - endCursor - hasNextPage - } - } - rateLimit { - cost - limit - remaining - resetAt - } - } - `, - variables: { - endCursor - } -}); +convert.hcg.hwb = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; +}; -/** - * Gets the date one month ago, accounting for different month lengths - */ -const getDateOneMonthAgo = () => { - const d = new Date(); - // console.log(d.toLocaleDateString()); - const month = d.getMonth(); - d.setMonth(d.getMonth() - 6); - while (d.getMonth() === month) { - d.setDate(d.getDate() - 6); - } - return d.toISOString(); +convert.hwb.hcg = function (hwb) { + const w = hwb[1] / 100; + const b = hwb[2] / 100; + const v = 1 - b; + const c = v - w; + let g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); + } + + return [hwb[0], c * 100, g * 100]; }; -/** - * Builds the screenshot query fragment - */ -const screenshotsQuery = Object.entries(SCREENSHOT_FOLDERS).reduce( - (p, [key, value]) => { - const screenShotFragment = ` - ${key}: object(expression: "${value}") { - ... on Tree { - entries { - name - } - } - } - `; - return `${p} - - ${screenShotFragment}`; - }, - '' -); +convert.apple.rgb = function (apple) { + return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; +}; -const getAllReposForOrg = github => async ({ - org, - paginationLimit, - timeRange = getDateOneMonthAgo(), - screenshots = screenshotsQuery -}) => { - const { results: allRepos } = await fetchAllPages(github, { - createQuery: reposForOrgQuery({ - org, - paginationLimit, - timeRange, - screenshots - }), - resultSelector: get('repos') - }); +convert.rgb.apple = function (rgb) { + return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; +}; - const repos = allRepos.filter(repo => repo && !repo.archived && !repo.fork); +convert.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; +}; - // return just the string representing the repo name - return { repos }; +convert.gray.hsl = function (args) { + return [0, 0, args[0]]; }; -module.exports = getAllReposForOrg; +convert.gray.hsv = convert.gray.hsl; +convert.gray.hwb = function (gray) { + return [0, 100, gray[0]]; +}; -/***/ }), -/* 599 */, -/* 600 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +convert.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; +}; -var addDays = __webpack_require__(683) +convert.gray.lab = function (gray) { + return [gray[0], 0, 0]; +}; -/** - * @category Day Helpers - * @summary Subtract the specified number of days from the given date. - * - * @description - * Subtract the specified number of days from the given date. - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of days to be subtracted - * @returns {Date} the new date with the days subtracted - * - * @example - * // Subtract 10 days from 1 September 2014: - * var result = subDays(new Date(2014, 8, 1), 10) - * //=> Fri Aug 22 2014 00:00:00 - */ -function subDays (dirtyDate, dirtyAmount) { - var amount = Number(dirtyAmount) - return addDays(dirtyDate, -amount) -} +convert.gray.hex = function (gray) { + const val = Math.round(gray[0] / 100 * 255) & 0xFF; + const integer = (val << 16) + (val << 8) + val; -module.exports = subDays + const string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert.rgb.gray = function (rgb) { + const val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; +}; /***/ }), @@ -26686,7 +25652,7 @@ var _arity = /*#__PURE__*/__webpack_require__(451); var _curry1 = /*#__PURE__*/__webpack_require__(721); -var map = /*#__PURE__*/__webpack_require__(534); +var map = /*#__PURE__*/__webpack_require__(197); var max = /*#__PURE__*/__webpack_require__(793); @@ -27008,7 +25974,49 @@ module.exports = { /***/ }), -/* 608 */, +/* 608 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry3 = /*#__PURE__*/__webpack_require__(687); + +var map = /*#__PURE__*/__webpack_require__(197); + +var sequence = /*#__PURE__*/__webpack_require__(827); + +/** + * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning + * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable), + * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative + * into an Applicative of Traversable. + * + * Dispatches to the `traverse` method of the third argument, if present. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category List + * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b) + * @param {Function} of + * @param {Function} f + * @param {*} traversable + * @return {*} + * @see R.sequence + * @example + * + * // Returns `Maybe.Nothing` if the given divisor is `0` + * const safeDiv = n => d => d === 0 ? Maybe.Nothing() : Maybe.Just(n / d) + * + * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Maybe.Just([5, 2.5, 2]) + * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Maybe.Nothing + */ + + +var traverse = /*#__PURE__*/_curry3(function traverse(of, f, traversable) { + return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : sequence(of, map(f, traversable)); +}); +module.exports = traverse; + +/***/ }), /* 609 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -27057,7 +26065,7 @@ module.exports = xprod; /* 610 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Move an item, at index `from`, to index `to`, in a list of elements. @@ -27094,7 +26102,7 @@ module.exports = move; /* 611 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * The `mapAccum` function behaves like a combination of map and reduce; it @@ -27215,74 +26223,80 @@ module.exports = require("events"); /***/ }), /* 615 */, -/* 616 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _concat = /*#__PURE__*/__webpack_require__(340); - -var _createPartialApplicator = /*#__PURE__*/__webpack_require__(166); +/* 616 */, +/* 617 */ +/***/ (function(module) { -/** - * Takes a function `f` and a list of arguments, and returns a function `g`. - * When applied, `g` returns the result of applying `f` to the arguments - * provided initially followed by the arguments provided to `g`. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category Function - * @sig ((a, b, c, ..., n) -> x) -> [a, b, c, ...] -> ((d, e, f, ..., n) -> x) - * @param {Function} f - * @param {Array} args - * @return {Function} - * @see R.partialRight, R.curry - * @example - * - * const multiply2 = (a, b) => a * b; - * const double = R.partial(multiply2, [2]); - * double(2); //=> 4 - * - * const greet = (salutation, title, firstName, lastName) => - * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!'; - * - * const sayHello = R.partial(greet, ['Hello']); - * const sayHelloToMs = R.partial(sayHello, ['Ms.']); - * sayHelloToMs('Jane', 'Jones'); //=> 'Hello, Ms. Jane Jones!' - * @symb R.partial(f, [a, b])(c, d) = f(a, b, c, d) - */ +"use strict"; +module.exports = function(Promise) { +var longStackTraces = false; +var contextStack = []; -var partial = /*#__PURE__*/_createPartialApplicator(_concat); -module.exports = partial; +Promise.prototype._promiseCreated = function() {}; +Promise.prototype._pushContext = function() {}; +Promise.prototype._popContext = function() {return null;}; +Promise._peekContext = Promise.prototype._peekContext = function() {}; -/***/ }), -/* 617 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +function Context() { + this._trace = new Context.CapturedTrace(peekContext()); +} +Context.prototype._pushContext = function () { + if (this._trace !== undefined) { + this._trace._promiseCreated = null; + contextStack.push(this._trace); + } +}; -var parse = __webpack_require__(751) +Context.prototype._popContext = function () { + if (this._trace !== undefined) { + var trace = contextStack.pop(); + var ret = trace._promiseCreated; + trace._promiseCreated = null; + return ret; + } + return null; +}; -/** - * @category Weekday Helpers - * @summary Get the day of the week of the given date. - * - * @description - * Get the day of the week of the given date. - * - * @param {Date|String|Number} date - the given date - * @returns {Number} the day of week - * - * @example - * // Which day of the week is 29 February 2012? - * var result = getDay(new Date(2012, 1, 29)) - * //=> 3 - */ -function getDay (dirtyDate) { - var date = parse(dirtyDate) - var day = date.getDay() - return day +function createContext() { + if (longStackTraces) return new Context(); } -module.exports = getDay +function peekContext() { + var lastIndex = contextStack.length - 1; + if (lastIndex >= 0) { + return contextStack[lastIndex]; + } + return undefined; +} +Context.CapturedTrace = null; +Context.create = createContext; +Context.deactivateLongStackTraces = function() {}; +Context.activateLongStackTraces = function() { + var Promise_pushContext = Promise.prototype._pushContext; + var Promise_popContext = Promise.prototype._popContext; + var Promise_PeekContext = Promise._peekContext; + var Promise_peekContext = Promise.prototype._peekContext; + var Promise_promiseCreated = Promise.prototype._promiseCreated; + Context.deactivateLongStackTraces = function() { + Promise.prototype._pushContext = Promise_pushContext; + Promise.prototype._popContext = Promise_popContext; + Promise._peekContext = Promise_PeekContext; + Promise.prototype._peekContext = Promise_peekContext; + Promise.prototype._promiseCreated = Promise_promiseCreated; + longStackTraces = false; + }; + longStackTraces = true; + Promise.prototype._pushContext = Context.prototype._pushContext; + Promise.prototype._popContext = Context.prototype._popContext; + Promise._peekContext = Promise.prototype._peekContext = peekContext; + Promise.prototype._promiseCreated = function() { + var ctx = this._peekContext(); + if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this; + }; +}; +return Context; +}; /***/ }), @@ -27292,7 +26306,7 @@ module.exports = getDay module.exports = retryPlugin const wrapRequest = __webpack_require__(474) -const errorRequest = __webpack_require__(94) +const errorRequest = __webpack_require__(260) function retryPlugin (octokit, octokitOptions = {}) { const state = Object.assign({ @@ -27360,52 +26374,7 @@ var keysIn = /*#__PURE__*/_curry1(function keysIn(obj) { module.exports = keysIn; /***/ }), -/* 621 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -const path = __webpack_require__(622); -const pathKey = __webpack_require__(39); - -module.exports = opts => { - opts = Object.assign({ - cwd: process.cwd(), - path: process.env[pathKey()] - }, opts); - - let prev; - let pth = path.resolve(opts.cwd); - const ret = []; - - while (prev !== pth) { - ret.push(path.join(pth, 'node_modules/.bin')); - prev = pth; - pth = path.resolve(pth, '..'); - } - - // ensure the running `node` binary is used - ret.push(path.dirname(process.execPath)); - - return ret.concat(opts.path).join(path.delimiter); -}; - -module.exports.env = opts => { - opts = Object.assign({ - env: process.env - }, opts); - - const env = Object.assign({}, opts.env); - const path = pathKey({env}); - - opts.path = env[path]; - env[path] = module.exports(opts); - - return env; -}; - - -/***/ }), +/* 621 */, /* 622 */ /***/ (function(module) { @@ -27414,60 +26383,53 @@ module.exports = require("path"); /***/ }), /* 623 */, /* 624 */, -/* 625 */, -/* 626 */ -/***/ (function(module) { - -"use strict"; +/* 625 */ +/***/ (function(module, __unusedexports, __webpack_require__) { +var parse = __webpack_require__(751) -/*! - * isobject +/** + * @category Year Helpers + * @summary Return the last day of a year for the given date. * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -function isObject(val) { - return val != null && typeof val === 'object' && Array.isArray(val) === false; -} - -/*! - * is-plain-object + * @description + * Return the last day of a year for the given date. + * The result will be in the local timezone. * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. + * @param {Date|String|Number} date - the original date + * @returns {Date} the last day of a year + * + * @example + * // The last day of a year for 2 September 2014 11:55:00: + * var result = lastDayOfYear(new Date(2014, 8, 2, 11, 55, 00)) + * //=> Wed Dec 31 2014 00:00:00 */ - -function isObjectObject(o) { - return isObject(o) === true - && Object.prototype.toString.call(o) === '[object Object]'; +function lastDayOfYear (dirtyDate) { + var date = parse(dirtyDate) + var year = date.getFullYear() + date.setFullYear(year + 1, 0, 0) + date.setHours(0, 0, 0, 0) + return date } -function isPlainObject(o) { - var ctor,prot; - - if (isObjectObject(o) === false) return false; +module.exports = lastDayOfYear - // If has modified constructor - ctor = o.constructor; - if (typeof ctor !== 'function') return false; - // If has modified prototype - prot = ctor.prototype; - if (isObjectObject(prot) === false) return false; +/***/ }), +/* 626 */ +/***/ (function(module) { - // If constructor does not have an Object-specific method - if (prot.hasOwnProperty('isPrototypeOf') === false) { - return false; +function _map(fn, functor) { + var idx = 0; + var len = functor.length; + var result = Array(len); + while (idx < len) { + result[idx] = fn(functor[idx]); + idx += 1; } - - // Most likely a plain Object - return true; + return result; } - -module.exports = isPlainObject; - +module.exports = _map; /***/ }), /* 627 */ @@ -27537,7 +26499,7 @@ module.exports = _indexOf; var _includes = /*#__PURE__*/__webpack_require__(216); -var _map = /*#__PURE__*/__webpack_require__(392); +var _map = /*#__PURE__*/__webpack_require__(626); var _quote = /*#__PURE__*/__webpack_require__(57); @@ -27593,7 +26555,93 @@ function _toString(x, seen) { module.exports = _toString; /***/ }), -/* 629 */, +/* 629 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +const conversions = __webpack_require__(600); +const route = __webpack_require__(40); + +const convert = {}; + +const models = Object.keys(conversions); + +function wrapRaw(fn) { + const wrappedFn = function (...args) { + const arg0 = args[0]; + if (arg0 === undefined || arg0 === null) { + return arg0; + } + + if (arg0.length > 1) { + args = arg0; + } + + return fn(args); + }; + + // Preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +function wrapRounded(fn) { + const wrappedFn = function (...args) { + const arg0 = args[0]; + + if (arg0 === undefined || arg0 === null) { + return arg0; + } + + if (arg0.length > 1) { + args = arg0; + } + + const result = fn(args); + + // We're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + if (typeof result === 'object') { + for (let len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } + + return result; + }; + + // Preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +models.forEach(fromModel => { + convert[fromModel] = {}; + + Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); + Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); + + const routes = route(fromModel); + const routeModels = Object.keys(routes); + + routeModels.forEach(toModel => { + const fn = routes[toModel]; + + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); +}); + +module.exports = convert; + + +/***/ }), /* 630 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -27636,29 +26684,7 @@ module.exports = zip; /* 631 */ /***/ (function(module) { -module.exports = class HttpError extends Error { - constructor (message, statusCode, headers, request) { - super(message) - - // Maintains proper stack trace (only available on V8) - /* istanbul ignore next */ - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor) - }; - - this.name = 'HttpError' - this.status = statusCode - Object.defineProperty(this, 'code', { - get () { - console.warn('`error.code` is deprecated, use `error.status`.') - return statusCode - } - }) - this.headers = headers - this.request = request - } -} - +module.exports = require("net"); /***/ }), /* 632 */ @@ -27699,15 +26725,15 @@ const { prettyPrint, sleep } = __webpack_require__(961); const OVERWRITE_EXISTING = true; function formatRepositories(repositories) { - const humanize = slug => slug.replace('-', ' '); - return repositories.map(r => { + const humanize = (slug) => slug.replace('-', ' '); + return repositories.map((r) => { return { name: r.name, fullName: r.full_name.toLowerCase(), slug: r.full_name.replace('/', '-'), owner: { login: r.owner.login, - type: r.owner.type + type: r.owner.type, }, title: humanize(r.name), supportUrl: 'https://discuss.newrelic.com/', // TO DO @@ -27719,21 +26745,21 @@ function formatRepositories(repositories) { // "screenshots": [ "https://github.com/newrelic/nr1-workload-geoops/blob/master/assets/documentation-images/detail-panel-legend.png?raw=true", "https://github.com/newrelic/nr1-workload-geoops/blob/master/assets/documentation-images/file-upload.png?raw=true" ], ossCategory: { title: 'Lorem Ipsum', - slug: 'lorem-ipsum' + slug: 'lorem-ipsum', }, // TO DO projectTags: [], primaryLanguage: r.language, tags: ['point-of-sale', 'maps', 'infrastructure'], // TO DO website: { title: humanize(r.name), // TO DO - Can/should be different - url: r.html_url // TO DO - this won't always be the Github repo url? - } + url: r.html_url, // TO DO - this won't always be the Github repo url? + }, }; }); } function writeProjectsToGatsby(projects) { - projects.forEach(project => { + projects.forEach((project) => { const fileName = `${project.fullName.replace('/', '-')}.json`; const outputDir = path.resolve( __dirname, @@ -27758,7 +26784,7 @@ async function generateProjects({ iteratorOptions }) { if (iteratorOptions.repo) { const response = await fetchRepo({ - options: iteratorOptions + options: iteratorOptions, }); processProjects(response); @@ -27782,12 +26808,14 @@ async function generateProjects({ iteratorOptions }) { function processProjects(response) { const { /* status, url, headers, */ data } = response; const dataAsArray = Array.isArray(data) ? data : [data]; - const filteredRepos = dataAsArray.filter(r => r && !r.archived && !r.fork); + const filteredRepos = dataAsArray.filter((r) => r && !r.archived && !r.fork); prettyPrint( `After removing Archived repositories found ${filteredRepos.length} results:` ); - prettyPrint(filteredRepos.map(d => `id: ${d.id} ${d.full_name}`).join('\n')); + prettyPrint( + filteredRepos.map((d) => `id: ${d.id} ${d.full_name}`).join('\n') + ); writeProjectsToGatsby(formatRepositories(filteredRepos)); } @@ -27807,8 +26835,8 @@ async function generateData({ projects = false, project_stats = false }) { iteratorOptions: { ...defaultOptions, org, - repo - } + repo, + }, }); await sleep(2000); } @@ -27816,7 +26844,7 @@ async function generateData({ projects = false, project_stats = false }) { } module.exports = { - generateData + generateData, }; @@ -27967,7 +26995,7 @@ var _curry2 = /*#__PURE__*/__webpack_require__(830); var _reduce = /*#__PURE__*/__webpack_require__(870); -var map = /*#__PURE__*/__webpack_require__(534); +var map = /*#__PURE__*/__webpack_require__(197); /** * ap applies a list of functions to a list of values. @@ -28095,11 +27123,37 @@ var pickBy = /*#__PURE__*/_curry2(function pickBy(test, obj) { module.exports = pickBy; /***/ }), -/* 649 */, +/* 649 */ +/***/ (function(module) { + +"use strict"; + + +module.exports.mixin = function mixin(target, source) { + const keys = Object.getOwnPropertyNames(source); + for (let i = 0; i < keys.length; ++i) { + Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); + } +}; + +module.exports.wrapperSymbol = Symbol("wrapper"); +module.exports.implSymbol = Symbol("impl"); + +module.exports.wrapperForImpl = function (impl) { + return impl[module.exports.wrapperSymbol]; +}; + +module.exports.implForWrapper = function (wrapper) { + return wrapper[module.exports.implSymbol]; +}; + + + +/***/ }), /* 650 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _objectAssign = /*#__PURE__*/__webpack_require__(420); +var _objectAssign = /*#__PURE__*/__webpack_require__(289); var _curry2 = /*#__PURE__*/__webpack_require__(830); @@ -28139,63 +27193,42 @@ module.exports = merge; /* 652 */, /* 653 */, /* 654 */ -/***/ (function(module) { +/***/ (function(module, __unusedexports, __webpack_require__) { -// This is not the set of all possible signals. -// -// It IS, however, the set of all signals that trigger -// an exit on either Linux or BSD systems. Linux is a -// superset of the signal names supported on BSD, and -// the unknown signals just fail to register, so we can -// catch that easily enough. -// -// Don't bother with SIGKILL. It's uncatchable, which -// means that we can't fire any callbacks anyway. -// -// If a user does happen to register a handler on a non- -// fatal signal like SIGWINCH or something, and then -// exit, it'll end up firing `process.emit('exit')`, so -// the handler will be fired anyway. -// -// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised -// artificially, inherently leave the process in a -// state from which it is not safe to try and enter JS -// listeners. -module.exports = [ - 'SIGABRT', - 'SIGALRM', - 'SIGHUP', - 'SIGINT', - 'SIGTERM' -] +var _aperture = /*#__PURE__*/__webpack_require__(675); -if (process.platform !== 'win32') { - module.exports.push( - 'SIGVTALRM', - 'SIGXCPU', - 'SIGXFSZ', - 'SIGUSR2', - 'SIGTRAP', - 'SIGSYS', - 'SIGQUIT', - 'SIGIOT' - // should detect profiler and enable/disable accordingly. - // see #21 - // 'SIGPROF' - ) -} +var _curry2 = /*#__PURE__*/__webpack_require__(830); -if (process.platform === 'linux') { - module.exports.push( - 'SIGIO', - 'SIGPOLL', - 'SIGPWR', - 'SIGSTKFLT', - 'SIGUNUSED' - ) -} +var _dispatchable = /*#__PURE__*/__webpack_require__(968); + +var _xaperture = /*#__PURE__*/__webpack_require__(550); + +/** + * Returns a new list, composed of n-tuples of consecutive elements. If `n` is + * greater than the length of the list, an empty list is returned. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.12.0 + * @category List + * @sig Number -> [a] -> [[a]] + * @param {Number} n The size of the tuples to create + * @param {Array} list The list to split into `n`-length tuples + * @return {Array} The resulting list of `n`-length tuples + * @see R.transduce + * @example + * + * R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]] + * R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]] + * R.aperture(7, [1, 2, 3, 4, 5]); //=> [] + */ +var aperture = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xaperture, _aperture)); +module.exports = aperture; + /***/ }), /* 655 */, /* 656 */ @@ -28308,7 +27341,7 @@ Promise.prototype.any = function () { /* 659 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Tests the final argument by passing it to the given predicate function. If @@ -28349,38 +27382,195 @@ module.exports = when; /* 660 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) +"use strict"; -/** - * @category Common Helpers - * @summary Return the earliest of the given dates. - * - * @description - * Return the earliest of the given dates. - * - * @param {...(Date|String|Number)} dates - the dates to compare - * @returns {Date} the earliest of the dates - * - * @example - * // Which of these dates is the earliest? - * var result = min( - * new Date(1989, 6, 10), - * new Date(1987, 1, 11), - * new Date(1995, 6, 2), - * new Date(1990, 0, 1) - * ) - * //=> Wed Feb 11 1987 00:00:00 - */ -function min () { - var dirtyDates = Array.prototype.slice.call(arguments) - var dates = dirtyDates.map(function (dirtyDate) { - return parse(dirtyDate) - }) - var earliestTimestamp = Math.min.apply(null, dates) - return new Date(earliestTimestamp) -} -module.exports = min +// Description of supported double byte encodings and aliases. +// Tables are not require()-d until they are needed to speed up library load. +// require()-s are direct to support Browserify. + +module.exports = { + + // == Japanese/ShiftJIS ==================================================== + // All japanese encodings are based on JIS X set of standards: + // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF. + // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. + // Has several variations in 1978, 1983, 1990 and 1997. + // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead. + // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233. + // 2 planes, first is superset of 0208, second - revised 0212. + // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx) + + // Byte encodings are: + // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte + // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC. + // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI. + // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes. + // 0x00-0x7F - lower part of 0201 + // 0x8E, 0xA1-0xDF - upper part of 0201 + // (0xA1-0xFE)x2 - 0208 plane (94x94). + // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94). + // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon. + // Used as-is in ISO2022 family. + // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, + // 0201-1976 Roman, 0208-1978, 0208-1983. + // * ISO2022-JP-1: Adds esc seq for 0212-1990. + // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7. + // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2. + // * ISO2022-JP-2004: Adds 0213-2004 Plane 1. + // + // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes. + // + // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html + + 'shiftjis': { + type: '_dbcs', + table: function() { return __webpack_require__(221) }, + encodeAdd: {'\u00a5': 0x5C, '\u203E': 0x7E}, + encodeSkipVals: [{from: 0xED40, to: 0xF940}], + }, + 'csshiftjis': 'shiftjis', + 'mskanji': 'shiftjis', + 'sjis': 'shiftjis', + 'windows31j': 'shiftjis', + 'ms31j': 'shiftjis', + 'xsjis': 'shiftjis', + 'windows932': 'shiftjis', + 'ms932': 'shiftjis', + '932': 'shiftjis', + 'cp932': 'shiftjis', + + 'eucjp': { + type: '_dbcs', + table: function() { return __webpack_require__(586) }, + encodeAdd: {'\u00a5': 0x5C, '\u203E': 0x7E}, + }, + + // TODO: KDDI extension to Shift_JIS + // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes. + // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars. + + + // == Chinese/GBK ========================================================== + // http://en.wikipedia.org/wiki/GBK + // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder + + // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936 + 'gb2312': 'cp936', + 'gb231280': 'cp936', + 'gb23121980': 'cp936', + 'csgb2312': 'cp936', + 'csiso58gb231280': 'cp936', + 'euccn': 'cp936', + + // Microsoft's CP936 is a subset and approximation of GBK. + 'windows936': 'cp936', + 'ms936': 'cp936', + '936': 'cp936', + 'cp936': { + type: '_dbcs', + table: function() { return __webpack_require__(169) }, + }, + + // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other. + 'gbk': { + type: '_dbcs', + table: function() { return __webpack_require__(169).concat(__webpack_require__(151)) }, + }, + 'xgbk': 'gbk', + 'isoir58': 'gbk', + + // GB18030 is an algorithmic extension of GBK. + // Main source: https://www.w3.org/TR/encoding/#gbk-encoder + // http://icu-project.org/docs/papers/gb18030.html + // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml + // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0 + 'gb18030': { + type: '_dbcs', + table: function() { return __webpack_require__(169).concat(__webpack_require__(151)) }, + gb18030: function() { return __webpack_require__(175) }, + encodeSkipVals: [0x80], + encodeAdd: {'€': 0xA2E3}, + }, + + 'chinese': 'gb18030', + + + // == Korean =============================================================== + // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same. + 'windows949': 'cp949', + 'ms949': 'cp949', + '949': 'cp949', + 'cp949': { + type: '_dbcs', + table: function() { return __webpack_require__(349) }, + }, + + 'cseuckr': 'cp949', + 'csksc56011987': 'cp949', + 'euckr': 'cp949', + 'isoir149': 'cp949', + 'korean': 'cp949', + 'ksc56011987': 'cp949', + 'ksc56011989': 'cp949', + 'ksc5601': 'cp949', + + + // == Big5/Taiwan/Hong Kong ================================================ + // There are lots of tables for Big5 and cp950. Please see the following links for history: + // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html + // Variations, in roughly number of defined chars: + // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT + // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/ + // * Big5-2003 (Taiwan standard) almost superset of cp950. + // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers. + // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. + // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years. + // Plus, it has 4 combining sequences. + // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299 + // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way. + // Implementations are not consistent within browsers; sometimes labeled as just big5. + // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied. + // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31 + // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s. + // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt + // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt + // + // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder + // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong. + + 'windows950': 'cp950', + 'ms950': 'cp950', + '950': 'cp950', + 'cp950': { + type: '_dbcs', + table: function() { return __webpack_require__(420) }, + }, + + // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus. + 'big5': 'big5hkscs', + 'big5hkscs': { + type: '_dbcs', + table: function() { return __webpack_require__(420).concat(__webpack_require__(321)) }, + encodeSkipVals: [ + // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of + // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU. + // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter. + 0x8e69, 0x8e6f, 0x8e7e, 0x8eab, 0x8eb4, 0x8ecd, 0x8ed0, 0x8f57, 0x8f69, 0x8f6e, 0x8fcb, 0x8ffe, + 0x906d, 0x907a, 0x90c4, 0x90dc, 0x90f1, 0x91bf, 0x92af, 0x92b0, 0x92b1, 0x92b2, 0x92d1, 0x9447, 0x94ca, + 0x95d9, 0x96fc, 0x9975, 0x9b76, 0x9b78, 0x9b7b, 0x9bc6, 0x9bde, 0x9bec, 0x9bf6, 0x9c42, 0x9c53, 0x9c62, + 0x9c68, 0x9c6b, 0x9c77, 0x9cbc, 0x9cbd, 0x9cd0, 0x9d57, 0x9d5a, 0x9dc4, 0x9def, 0x9dfb, 0x9ea9, 0x9eef, + 0x9efd, 0x9f60, 0x9fcb, 0xa077, 0xa0dc, 0xa0df, 0x8fcc, 0x92c8, 0x9644, 0x96ed, + + // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345 + 0xa2a4, 0xa2a5, 0xa2a7, 0xa2a6, 0xa2cc, 0xa2ce, + ], + }, + + 'cnbig5': 'big5hkscs', + 'csbig5': 'big5hkscs', + 'xxbig5': 'big5hkscs', +}; /***/ }), @@ -28397,7 +27587,7 @@ module.exports = _isObject; /* 663 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Inserts the supplied element into the list, at the specified `index`. _Note that @@ -28430,9 +27620,329 @@ module.exports = insert; /***/ }), /* 664 */, -/* 665 */, +/* 665 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; +const os_1 = __webpack_require__(87); +const fs_1 = __webpack_require__(747); +const { access, appendFile, writeFile } = fs_1.promises; +exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; +exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; +class Summary { + constructor() { + this._buffer = ''; + } + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + filePath() { + return __awaiter(this, void 0, void 0, function* () { + if (this._filePath) { + return this._filePath; + } + const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; + if (!pathFromEnv) { + throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + } + try { + yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); + } + catch (_a) { + throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); + } + this._filePath = pathFromEnv; + return this._filePath; + }); + } + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + wrap(tag, content, attrs = {}) { + const htmlAttrs = Object.entries(attrs) + .map(([key, value]) => ` ${key}="${value}"`) + .join(''); + if (!content) { + return `<${tag}${htmlAttrs}>`; + } + return `<${tag}${htmlAttrs}>${content}`; + } + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise

} summary instance + */ + write(options) { + return __awaiter(this, void 0, void 0, function* () { + const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); + const filePath = yield this.filePath(); + const writeFunc = overwrite ? writeFile : appendFile; + yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); + return this.emptyBuffer(); + }); + } + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear() { + return __awaiter(this, void 0, void 0, function* () { + return this.emptyBuffer().write({ overwrite: true }); + }); + } + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify() { + return this._buffer; + } + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer() { + return this._buffer.length === 0; + } + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer() { + this._buffer = ''; + return this; + } + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text, addEOL = false) { + this._buffer += text; + return addEOL ? this.addEOL() : this; + } + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL() { + return this.addRaw(os_1.EOL); + } + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code, lang) { + const attrs = Object.assign({}, (lang && { lang })); + const element = this.wrap('pre', this.wrap('code', code), attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items, ordered = false) { + const tag = ordered ? 'ol' : 'ul'; + const listItems = items.map(item => this.wrap('li', item)).join(''); + const element = this.wrap(tag, listItems); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows) { + const tableBody = rows + .map(row => { + const cells = row + .map(cell => { + if (typeof cell === 'string') { + return this.wrap('td', cell); + } + const { header, data, colspan, rowspan } = cell; + const tag = header ? 'th' : 'td'; + const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); + return this.wrap(tag, data, attrs); + }) + .join(''); + return this.wrap('tr', cells); + }) + .join(''); + const element = this.wrap('table', tableBody); + return this.addRaw(element).addEOL(); + } + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label, content) { + const element = this.wrap('details', this.wrap('summary', label) + content); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src, alt, options) { + const { width, height } = options || {}; + const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); + const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text, level) { + const tag = `h${level}`; + const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) + ? tag + : 'h1'; + const element = this.wrap(allowedTag, text); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator() { + const element = this.wrap('hr', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak() { + const element = this.wrap('br', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text, cite) { + const attrs = Object.assign({}, (cite && { cite })); + const element = this.wrap('blockquote', text, attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text, href) { + const element = this.wrap('a', text, { href }); + return this.addRaw(element).addEOL(); + } +} +const _summary = new Summary(); +/** + * @deprecated use `core.summary` + */ +exports.markdownSummary = _summary; +exports.summary = _summary; +//# sourceMappingURL=summary.js.map + +/***/ }), /* 666 */, -/* 667 */, +/* 667 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry1 = /*#__PURE__*/__webpack_require__(721); + +var ws = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028' + '\u2029\uFEFF'; +var zeroWidth = '\u200b'; +var hasProtoTrim = typeof String.prototype.trim === 'function'; +/** + * Removes (strips) whitespace from both ends of the string. + * + * @func + * @memberOf R + * @since v0.6.0 + * @category String + * @sig String -> String + * @param {String} str The string to trim. + * @return {String} Trimmed version of `str`. + * @example + * + * R.trim(' xyz '); //=> 'xyz' + * R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z'] + */ +var trim = !hasProtoTrim || /*#__PURE__*/ws.trim() || ! /*#__PURE__*/zeroWidth.trim() ? /*#__PURE__*/_curry1(function trim(str) { + var beginRx = new RegExp('^[' + ws + '][' + ws + ']*'); + var endRx = new RegExp('[' + ws + '][' + ws + ']*$'); + return str.replace(beginRx, '').replace(endRx, ''); +}) : /*#__PURE__*/_curry1(function trim(str) { + return str.trim(); +}); +module.exports = trim; + +/***/ }), /* 668 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -28474,7 +27984,7 @@ module.exports = require("util"); /* 671 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * `o` is a curried composition function that returns a unary function. @@ -28512,48 +28022,22 @@ module.exports = o; /***/ }), /* 672 */, -/* 673 */ -/***/ (function(module) { - -module.exports = routeMatcher - -function routeMatcher (paths) { - // EXAMPLE. For the following paths: - /* [ - "/orgs/:org/invitations", - "/repos/:owner/:repo/collaborators/:username" - ] */ - - const regexes = paths.map(p => - p.split('/') - .map(c => c.startsWith(':') ? '(?:.+?)' : c) - .join('/') - ) - // 'regexes' would contain: - /* [ - '/orgs/(?:.+?)/invitations', - '/repos/(?:.+?)/(?:.+?)/collaborators/(?:.+?)' - ] */ - - const regex = `^(?:${regexes.map(r => `(?:${r})`).join('|')})[^/]*$` - // 'regex' would contain: - /* - ^(?:(?:\/orgs\/(?:.+?)\/invitations)|(?:\/repos\/(?:.+?)\/(?:.+?)\/collaborators\/(?:.+?)))[^\/]*$ - - It may look scary, but paste it into https://www.debuggex.com/ - and it will make a lot more sense! - */ - - return new RegExp(regex, 'i') -} - - -/***/ }), +/* 673 */, /* 674 */, /* 675 */ /***/ (function(module) { -module.exports = [["0","\u0000",128],["a1","。",62],["8140"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×"],["8180","÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓"],["81b8","∈∋⊆⊇⊂⊃∪∩"],["81c8","∧∨¬⇒⇔∀∃"],["81da","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["81f0","ʼn♯♭♪†‡¶"],["81fc","◯"],["824f","0",9],["8260","A",25],["8281","a",25],["829f","ぁ",82],["8340","ァ",62],["8380","ム",22],["839f","Α",16,"Σ",6],["83bf","α",16,"σ",6],["8440","А",5,"ЁЖ",25],["8470","а",5,"ёж",7],["8480","о",17],["849f","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["8740","①",19,"Ⅰ",9],["875f","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["877e","㍻"],["8780","〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["889f","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["8940","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円"],["8980","園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["8a40","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫"],["8a80","橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["8b40","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救"],["8b80","朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["8c40","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨"],["8c80","劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["8d40","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降"],["8d80","項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["8e40","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止"],["8e80","死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["8f40","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳"],["8f80","準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["9040","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨"],["9080","逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["9140","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻"],["9180","操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["9240","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄"],["9280","逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["9340","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬"],["9380","凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["9440","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅"],["9480","楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["9540","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷"],["9580","斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["9640","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆"],["9680","摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["9740","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲"],["9780","沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["9840","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["989f","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["9940","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭"],["9980","凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["9a40","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸"],["9a80","噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["9b40","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀"],["9b80","它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["9c40","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠"],["9c80","怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["9d40","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫"],["9d80","捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["9e40","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎"],["9e80","梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["9f40","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯"],["9f80","麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["e040","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝"],["e080","烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e140","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿"],["e180","痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e240","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰"],["e280","窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e340","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷"],["e380","縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e440","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤"],["e480","艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e540","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬"],["e580","蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["e640","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧"],["e680","諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["e740","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜"],["e780","轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["e840","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙"],["e880","閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["e940","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃"],["e980","騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["ea40","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯"],["ea80","黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙"],["ed40","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏"],["ed80","塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["ee40","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙"],["ee80","蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["eeef","ⅰ",9,"¬¦'""],["f040","",62],["f080","",124],["f140","",62],["f180","",124],["f240","",62],["f280","",124],["f340","",62],["f380","",124],["f440","",62],["f480","",124],["f540","",62],["f580","",124],["f640","",62],["f680","",124],["f740","",62],["f780","",124],["f840","",62],["f880","",124],["f940",""],["fa40","ⅰ",9,"Ⅰ",9,"¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊"],["fa80","兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯"],["fb40","涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神"],["fb80","祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙"],["fc40","髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"]]; +function _aperture(n, list) { + var idx = 0; + var limit = list.length - (n - 1); + var acc = new Array(limit >= 0 ? limit : 0); + while (idx < limit) { + acc[idx] = Array.prototype.slice.call(list, idx, idx + n); + idx += 1; + } + return acc; +} +module.exports = _aperture; /***/ }), /* 676 */ @@ -28681,7 +28165,7 @@ module.exports = _includesWith; /* 681 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); var _has = /*#__PURE__*/__webpack_require__(390); @@ -28733,39 +28217,7 @@ var mergeWithKey = /*#__PURE__*/_curry3(function mergeWithKey(fn, l, r) { module.exports = mergeWithKey; /***/ }), -/* 682 */ -/***/ (function(module) { - -/** - * A special placeholder value used to specify "gaps" within curried functions, - * allowing partial application of any combination of arguments, regardless of - * their positions. - * - * If `g` is a curried ternary function and `_` is `R.__`, the following are - * equivalent: - * - * - `g(1, 2, 3)` - * - `g(_, 2, 3)(1)` - * - `g(_, _, 3)(1)(2)` - * - `g(_, _, 3)(1, 2)` - * - `g(_, 2, _)(1, 3)` - * - `g(_, 2)(1)(3)` - * - `g(_, 2)(1, 3)` - * - `g(_, 2)(_, 3)(1)` - * - * @name __ - * @constant - * @memberOf R - * @since v0.6.0 - * @category Function - * @example - * - * const greet = R.replace('{name}', R.__, 'Hello, {name}!'); - * greet('Alice'); //=> 'Hello, Alice!' - */ -module.exports = { '@@functional/placeholder': true }; - -/***/ }), +/* 682 */, /* 683 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -28811,17 +28263,17 @@ module.exports = { addQuarters: __webpack_require__(299), addSeconds: __webpack_require__(19), addWeeks: __webpack_require__(590), - addYears: __webpack_require__(112), - areRangesOverlapping: __webpack_require__(687), + addYears: __webpack_require__(436), + areRangesOverlapping: __webpack_require__(372), closestIndexTo: __webpack_require__(920), closestTo: __webpack_require__(952), compareAsc: __webpack_require__(36), compareDesc: __webpack_require__(786), differenceInCalendarDays: __webpack_require__(228), - differenceInCalendarISOWeeks: __webpack_require__(88), + differenceInCalendarISOWeeks: __webpack_require__(582), differenceInCalendarISOYears: __webpack_require__(308), differenceInCalendarMonths: __webpack_require__(124), - differenceInCalendarQuarters: __webpack_require__(807), + differenceInCalendarQuarters: __webpack_require__(4), differenceInCalendarWeeks: __webpack_require__(324), differenceInCalendarYears: __webpack_require__(551), differenceInDays: __webpack_require__(874), @@ -28836,7 +28288,7 @@ module.exports = { differenceInYears: __webpack_require__(179), distanceInWords: __webpack_require__(153), distanceInWordsStrict: __webpack_require__(360), - distanceInWordsToNow: __webpack_require__(785), + distanceInWordsToNow: __webpack_require__(717), eachDay: __webpack_require__(851), endOfDay: __webpack_require__(668), endOfHour: __webpack_require__(637), @@ -28846,40 +28298,40 @@ module.exports = { endOfMonth: __webpack_require__(142), endOfQuarter: __webpack_require__(344), endOfSecond: __webpack_require__(722), - endOfToday: __webpack_require__(254), + endOfToday: __webpack_require__(871), endOfTomorrow: __webpack_require__(809), - endOfWeek: __webpack_require__(842), + endOfWeek: __webpack_require__(301), endOfYear: __webpack_require__(224), - endOfYesterday: __webpack_require__(976), + endOfYesterday: __webpack_require__(799), format: __webpack_require__(910), getDate: __webpack_require__(459), - getDay: __webpack_require__(617), + getDay: __webpack_require__(145), getDayOfYear: __webpack_require__(833), getDaysInMonth: __webpack_require__(507), getDaysInYear: __webpack_require__(164), getHours: __webpack_require__(225), getISODay: __webpack_require__(14), - getISOWeek: __webpack_require__(15), - getISOWeeksInYear: __webpack_require__(128), + getISOWeek: __webpack_require__(988), + getISOWeeksInYear: __webpack_require__(970), getISOYear: __webpack_require__(689), - getMilliseconds: __webpack_require__(213), + getMilliseconds: __webpack_require__(432), getMinutes: __webpack_require__(3), getMonth: __webpack_require__(845), - getOverlappingDaysInRanges: __webpack_require__(875), + getOverlappingDaysInRanges: __webpack_require__(450), getQuarter: __webpack_require__(267), getSeconds: __webpack_require__(789), getTime: __webpack_require__(10), - getYear: __webpack_require__(591), + getYear: __webpack_require__(129), isAfter: __webpack_require__(679), isBefore: __webpack_require__(190), isDate: __webpack_require__(873), isEqual: __webpack_require__(397), - isFirstDayOfMonth: __webpack_require__(239), + isFirstDayOfMonth: __webpack_require__(557), isFriday: __webpack_require__(487), isFuture: __webpack_require__(840), isLastDayOfMonth: __webpack_require__(575), isLeapYear: __webpack_require__(337), - isMonday: __webpack_require__(831), + isMonday: __webpack_require__(131), isPast: __webpack_require__(570), isSameDay: __webpack_require__(585), isSameHour: __webpack_require__(119), @@ -28893,17 +28345,17 @@ module.exports = { isSameYear: __webpack_require__(73), isSaturday: __webpack_require__(888), isSunday: __webpack_require__(5), - isThisHour: __webpack_require__(393), + isThisHour: __webpack_require__(779), isThisISOWeek: __webpack_require__(764), isThisISOYear: __webpack_require__(832), isThisMinute: __webpack_require__(205), isThisMonth: __webpack_require__(685), isThisQuarter: __webpack_require__(84), isThisSecond: __webpack_require__(402), - isThisWeek: __webpack_require__(102), + isThisWeek: __webpack_require__(331), isThisYear: __webpack_require__(300), - isThursday: __webpack_require__(717), - isToday: __webpack_require__(79), + isThursday: __webpack_require__(201), + isToday: __webpack_require__(168), isTomorrow: __webpack_require__(246), isTuesday: __webpack_require__(858), isValid: __webpack_require__(255), @@ -28911,50 +28363,50 @@ module.exports = { isWeekend: __webpack_require__(766), isWithinRange: __webpack_require__(381), isYesterday: __webpack_require__(274), - lastDayOfISOWeek: __webpack_require__(905), + lastDayOfISOWeek: __webpack_require__(965), lastDayOfISOYear: __webpack_require__(546), lastDayOfMonth: __webpack_require__(286), lastDayOfQuarter: __webpack_require__(496), lastDayOfWeek: __webpack_require__(856), - lastDayOfYear: __webpack_require__(554), + lastDayOfYear: __webpack_require__(625), max: __webpack_require__(378), - min: __webpack_require__(660), + min: __webpack_require__(513), parse: __webpack_require__(751), setDate: __webpack_require__(136), setDay: __webpack_require__(977), setDayOfYear: __webpack_require__(946), setHours: __webpack_require__(7), - setISODay: __webpack_require__(594), + setISODay: __webpack_require__(278), setISOWeek: __webpack_require__(188), - setISOYear: __webpack_require__(429), + setISOYear: __webpack_require__(118), setMilliseconds: __webpack_require__(421), setMinutes: __webpack_require__(949), setMonth: __webpack_require__(939), - setQuarter: __webpack_require__(970), - setSeconds: __webpack_require__(143), + setQuarter: __webpack_require__(99), + setSeconds: __webpack_require__(875), setYear: __webpack_require__(455), startOfDay: __webpack_require__(68), startOfHour: __webpack_require__(371), startOfISOWeek: __webpack_require__(901), startOfISOYear: __webpack_require__(712), - startOfMinute: __webpack_require__(723), - startOfMonth: __webpack_require__(799), + startOfMinute: __webpack_require__(932), + startOfMonth: __webpack_require__(94), startOfQuarter: __webpack_require__(775), - startOfSecond: __webpack_require__(350), + startOfSecond: __webpack_require__(115), startOfToday: __webpack_require__(980), startOfTomorrow: __webpack_require__(238), startOfWeek: __webpack_require__(428), startOfYear: __webpack_require__(122), startOfYesterday: __webpack_require__(48), - subDays: __webpack_require__(600), + subDays: __webpack_require__(243), subHours: __webpack_require__(400), - subISOYears: __webpack_require__(823), + subISOYears: __webpack_require__(433), subMilliseconds: __webpack_require__(992), - subMinutes: __webpack_require__(932), + subMinutes: __webpack_require__(864), subMonths: __webpack_require__(640), subQuarters: __webpack_require__(155), subSeconds: __webpack_require__(329), - subWeeks: __webpack_require__(343), + subWeeks: __webpack_require__(548), subYears: __webpack_require__(322) } @@ -29026,57 +28478,63 @@ module.exports = isSameQuarter /* 687 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) +var _curry1 = /*#__PURE__*/__webpack_require__(721); + +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +var _isPlaceholder = /*#__PURE__*/__webpack_require__(953); /** - * @category Range Helpers - * @summary Is the given date range overlapping with another date range? - * - * @description - * Is the given date range overlapping with another date range? - * - * @param {Date|String|Number} initialRangeStartDate - the start of the initial range - * @param {Date|String|Number} initialRangeEndDate - the end of the initial range - * @param {Date|String|Number} comparedRangeStartDate - the start of the range to compare it with - * @param {Date|String|Number} comparedRangeEndDate - the end of the range to compare it with - * @returns {Boolean} whether the date ranges are overlapping - * @throws {Error} startDate of a date range cannot be after its endDate - * - * @example - * // For overlapping date ranges: - * areRangesOverlapping( - * new Date(2014, 0, 10), new Date(2014, 0, 20), new Date(2014, 0, 17), new Date(2014, 0, 21) - * ) - * //=> true + * Optimized internal three-arity curry function. * - * @example - * // For non-overlapping date ranges: - * areRangesOverlapping( - * new Date(2014, 0, 10), new Date(2014, 0, 20), new Date(2014, 0, 21), new Date(2014, 0, 22) - * ) - * //=> false + * @private + * @category Function + * @param {Function} fn The function to curry. + * @return {Function} The curried function. */ -function areRangesOverlapping (dirtyInitialRangeStartDate, dirtyInitialRangeEndDate, dirtyComparedRangeStartDate, dirtyComparedRangeEndDate) { - var initialStartTime = parse(dirtyInitialRangeStartDate).getTime() - var initialEndTime = parse(dirtyInitialRangeEndDate).getTime() - var comparedStartTime = parse(dirtyComparedRangeStartDate).getTime() - var comparedEndTime = parse(dirtyComparedRangeEndDate).getTime() - if (initialStartTime > initialEndTime || comparedStartTime > comparedEndTime) { - throw new Error('The start of the range cannot be after the end of the range') - } - return initialStartTime < comparedEndTime && comparedStartTime < initialEndTime +function _curry3(fn) { + return function f3(a, b, c) { + switch (arguments.length) { + case 0: + return f3; + case 1: + return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) { + return fn(a, _b, _c); + }); + case 2: + return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) { + return fn(_a, b, _c); + }) : _isPlaceholder(b) ? _curry2(function (_b, _c) { + return fn(a, _b, _c); + }) : _curry1(function (_c) { + return fn(a, b, _c); + }); + default: + return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) { + return fn(_a, _b, c); + }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) { + return fn(_a, b, _c); + }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) { + return fn(a, _b, _c); + }) : _isPlaceholder(a) ? _curry1(function (_a) { + return fn(_a, b, c); + }) : _isPlaceholder(b) ? _curry1(function (_b) { + return fn(a, _b, c); + }) : _isPlaceholder(c) ? _curry1(function (_c) { + return fn(a, b, _c); + }) : fn(a, b, c); + } + }; } - -module.exports = areRangesOverlapping - +module.exports = _curry3; /***/ }), /* 688 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Takes a function and two values, and returns whichever value produces the @@ -29164,7 +28622,7 @@ module.exports = getISOYear /* 690 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _objectAssign = /*#__PURE__*/__webpack_require__(420); +var _objectAssign = /*#__PURE__*/__webpack_require__(289); var _curry2 = /*#__PURE__*/__webpack_require__(830); @@ -29312,48 +28770,34 @@ module.exports = _xtake; /***/ }), /* 695 */ -/***/ (function(module) { +/***/ (function(__unusedmodule, exports, __webpack_require__) { -function _filter(fn, list) { - var idx = 0; - var len = list.length; - var result = []; +"use strict"; - while (idx < len) { - if (fn(list[idx])) { - result[result.length] = list[idx]; - } - idx += 1; - } - return result; -} -module.exports = _filter; -/***/ }), -/* 696 */, -/* 697 */ -/***/ (function(module) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; -"use strict"; +var _validate = _interopRequireDefault(__webpack_require__(78)); -module.exports = (promise, onFinally) => { - onFinally = onFinally || (() => {}); - - return promise.then( - val => new Promise(resolve => { - resolve(onFinally()); - }).then(() => val), - err => new Promise(resolve => { - resolve(onFinally()); - }).then(() => { - throw err; - }) - ); -}; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function version(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} +var _default = version; +exports.default = _default; /***/ }), -/* 698 */ +/* 696 */, +/* 697 */ /***/ (function(module, __unusedexports, __webpack_require__) { "use strict"; @@ -29400,7 +28844,7 @@ const setLazyProperty = (object, property, get) => { let colorConvert; const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { if (colorConvert === undefined) { - colorConvert = __webpack_require__(150); + colorConvert = __webpack_require__(629); } const offset = isBackground ? 10 : 0; @@ -29523,48 +28967,268 @@ Object.defineProperty(module, 'exports', { }); +/***/ }), +/* 698 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +var Buffer = __webpack_require__(572).Buffer; + +// Note: UTF16-LE (or UCS2) codec is Node.js native. See encodings/internal.js + +// == UTF16-BE codec. ========================================================== + +exports.utf16be = Utf16BECodec; +function Utf16BECodec() { +} + +Utf16BECodec.prototype.encoder = Utf16BEEncoder; +Utf16BECodec.prototype.decoder = Utf16BEDecoder; +Utf16BECodec.prototype.bomAware = true; + + +// -- Encoding + +function Utf16BEEncoder() { +} + +Utf16BEEncoder.prototype.write = function(str) { + var buf = Buffer.from(str, 'ucs2'); + for (var i = 0; i < buf.length; i += 2) { + var tmp = buf[i]; buf[i] = buf[i+1]; buf[i+1] = tmp; + } + return buf; +} + +Utf16BEEncoder.prototype.end = function() { +} + + +// -- Decoding + +function Utf16BEDecoder() { + this.overflowByte = -1; +} + +Utf16BEDecoder.prototype.write = function(buf) { + if (buf.length == 0) + return ''; + + var buf2 = Buffer.alloc(buf.length + 1), + i = 0, j = 0; + + if (this.overflowByte !== -1) { + buf2[0] = buf[0]; + buf2[1] = this.overflowByte; + i = 1; j = 2; + } + + for (; i < buf.length-1; i += 2, j+= 2) { + buf2[j] = buf[i+1]; + buf2[j+1] = buf[i]; + } + + this.overflowByte = (i == buf.length-1) ? buf[buf.length-1] : -1; + + return buf2.slice(0, j).toString('ucs2'); +} + +Utf16BEDecoder.prototype.end = function() { + this.overflowByte = -1; +} + + +// == UTF-16 codec ============================================================= +// Decoder chooses automatically from UTF-16LE and UTF-16BE using BOM and space-based heuristic. +// Defaults to UTF-16LE, as it's prevalent and default in Node. +// http://en.wikipedia.org/wiki/UTF-16 and http://encoding.spec.whatwg.org/#utf-16le +// Decoder default can be changed: iconv.decode(buf, 'utf16', {defaultEncoding: 'utf-16be'}); + +// Encoder uses UTF-16LE and prepends BOM (which can be overridden with addBOM: false). + +exports.utf16 = Utf16Codec; +function Utf16Codec(codecOptions, iconv) { + this.iconv = iconv; +} + +Utf16Codec.prototype.encoder = Utf16Encoder; +Utf16Codec.prototype.decoder = Utf16Decoder; + + +// -- Encoding (pass-through) + +function Utf16Encoder(options, codec) { + options = options || {}; + if (options.addBOM === undefined) + options.addBOM = true; + this.encoder = codec.iconv.getEncoder('utf-16le', options); +} + +Utf16Encoder.prototype.write = function(str) { + return this.encoder.write(str); +} + +Utf16Encoder.prototype.end = function() { + return this.encoder.end(); +} + + +// -- Decoding + +function Utf16Decoder(options, codec) { + this.decoder = null; + this.initialBufs = []; + this.initialBufsLen = 0; + + this.options = options || {}; + this.iconv = codec.iconv; +} + +Utf16Decoder.prototype.write = function(buf) { + if (!this.decoder) { + // Codec is not chosen yet. Accumulate initial bytes. + this.initialBufs.push(buf); + this.initialBufsLen += buf.length; + + if (this.initialBufsLen < 16) // We need more bytes to use space heuristic (see below) + return ''; + + // We have enough bytes -> detect endianness. + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + + var resStr = ''; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + + return this.decoder.write(buf); +} + +Utf16Decoder.prototype.end = function() { + if (!this.decoder) { + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + + var resStr = ''; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + + var trail = this.decoder.end(); + if (trail) + resStr += trail; + + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.end(); +} + +function detectEncoding(bufs, defaultEncoding) { + var b = []; + var charsProcessed = 0; + var asciiCharsLE = 0, asciiCharsBE = 0; // Number of ASCII chars when decoded as LE or BE. + + outer_loop: + for (var i = 0; i < bufs.length; i++) { + var buf = bufs[i]; + for (var j = 0; j < buf.length; j++) { + b.push(buf[j]); + if (b.length === 2) { + if (charsProcessed === 0) { + // Check BOM first. + if (b[0] === 0xFF && b[1] === 0xFE) return 'utf-16le'; + if (b[0] === 0xFE && b[1] === 0xFF) return 'utf-16be'; + } + + if (b[0] === 0 && b[1] !== 0) asciiCharsBE++; + if (b[0] !== 0 && b[1] === 0) asciiCharsLE++; + + b.length = 0; + charsProcessed++; + + if (charsProcessed >= 100) { + break outer_loop; + } + } + } + } + + // Make decisions. + // Most of the time, the content has ASCII chars (U+00**), but the opposite (U+**00) is uncommon. + // So, we count ASCII as if it was LE or BE, and decide from that. + if (asciiCharsBE > asciiCharsLE) return 'utf-16be'; + if (asciiCharsBE < asciiCharsLE) return 'utf-16le'; + + // Couldn't decide (likely all zeros or not enough data). + return defaultEncoding || 'utf-16le'; +} + + + + /***/ }), /* 699 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/***/ (function(__unusedmodule, exports) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +"use strict"; -var map = /*#__PURE__*/__webpack_require__(534); -var sequence = /*#__PURE__*/__webpack_require__(827); +Object.defineProperty(exports, '__esModule', { value: true }); + +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token: token, + tokenType + }; +} /** - * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning - * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable), - * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative - * into an Applicative of Traversable. - * - * Dispatches to the `traverse` method of the third argument, if present. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b) - * @param {Function} of - * @param {Function} f - * @param {*} traversable - * @return {*} - * @see R.sequence - * @example - * - * // Returns `Maybe.Nothing` if the given divisor is `0` - * const safeDiv = n => d => d === 0 ? Maybe.Nothing() : Maybe.Just(n / d) + * Prefix token for usage in the Authorization header * - * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Maybe.Just([5, 2.5, 2]) - * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Maybe.Nothing + * @param token OAuth token or JSON Web Token */ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} + +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; +exports.createTokenAuth = createTokenAuth; +//# sourceMappingURL=index.js.map -var traverse = /*#__PURE__*/_curry3(function traverse(of, f, traversable) { - return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : sequence(of, map(f, traversable)); -}); -module.exports = traverse; /***/ }), /* 700 */ @@ -29837,35 +29501,7 @@ Promise.join = function () { /***/ }), /* 706 */, -/* 707 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -// Update this array if you add/rename/remove files in this directory. -// We support Browserify by skipping automatic module discovery and requiring modules directly. -var modules = [ - __webpack_require__(486), - __webpack_require__(426), - __webpack_require__(890), - __webpack_require__(289), - __webpack_require__(820), - __webpack_require__(21), - __webpack_require__(988), - __webpack_require__(595), -]; - -// Put all encoding/alias/codec definitions to single object and export it. -for (var i = 0; i < modules.length; i++) { - var module = modules[i]; - for (var enc in module) - if (Object.prototype.hasOwnProperty.call(module, enc)) - exports[enc] = module[enc]; -} - - -/***/ }), +/* 707 */, /* 708 */, /* 709 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -29879,7 +29515,7 @@ const { calculateAndWriteProjectStats } = __webpack_require__(495); const { ORG_REPOS, EXCLUDED_PROJECTS } = __webpack_require__(45); const { sleep } = __webpack_require__(961); -const getAllReposForOrg = __webpack_require__(598); +const getAllReposForOrg = __webpack_require__(9); const log = __webpack_require__(718); /** @@ -29893,7 +29529,7 @@ async function generateStatsForOrgs({ organizations, paginationLimit = 5 }) { log.info( `Generating stats for orgs: [${organizations - .map(o => `${o.org}`) + .map((o) => `${o.org}`) .join(',')}]` ); @@ -29904,7 +29540,7 @@ async function generateStatsForOrgs({ organizations, paginationLimit = 5 }) { log.magenta(`Fetching all repos for org: ${org}`); const { repos } = await getAllReposForOrg(github)({ org, - paginationLimit + paginationLimit, }); log.magenta(`Number of fetched repos: ${repos.length}`); @@ -29944,7 +29580,7 @@ async function getProjectsAndExclusions() { const projectFiles = await fsp.readdir(outputDir); const projects = await Promise.all( - projectFiles.map(file => getProjectFullName(file, outputDir)) + projectFiles.map((file) => getProjectFullName(file, outputDir)) ); log.info( @@ -29962,13 +29598,13 @@ async function getProjectsAndExclusions() { */ async function generateDiff(results) { const projectList = await getProjectsAndExclusions(); - const repos = results.map(r => r.nameWithOwner); - const missingProjects = repos.filter(r => !projectList.includes(r)); + const repos = results.map((r) => r.nameWithOwner); + const missingProjects = repos.filter((r) => !projectList.includes(r)); // also filter on EXCLUDED_PROJECTS since that's included in projectList, but // we don't want stats for those const projectsWhereNoStatsGenerated = projectList.filter( - p => !repos.includes(p) && !EXCLUDED_PROJECTS.includes(p) + (p) => !repos.includes(p) && !EXCLUDED_PROJECTS.includes(p) ); return { missingProjects, projectsWhereNoStatsGenerated }; @@ -29986,7 +29622,7 @@ async function script() { // Get all stats data for newrelic and newrelic-experimental orgs const results = await generateStatsForOrgs({ organizations: ORG_REPOS, - paginationLimit: PAGINATION_LIMIT + paginationLimit: PAGINATION_LIMIT, }); log.info(`Total fetched repos: ${results.length}`); @@ -30015,7 +29651,7 @@ async function script() { } module.exports = { - script + script, }; @@ -30117,7 +29753,7 @@ module.exports = startOfISOYear var _curry1 = /*#__PURE__*/__webpack_require__(721); -var nAry = /*#__PURE__*/__webpack_require__(425); +var nAry = /*#__PURE__*/__webpack_require__(807); /** * Wraps a function of any arity (including nullary) in a function that accepts @@ -30160,7 +29796,7 @@ module.exports = unary; var _includesWith = /*#__PURE__*/__webpack_require__(680); -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Finds the set (i.e. no duplicates) of all elements in the first list not @@ -30204,222 +29840,685 @@ module.exports = differenceWith; /* 717 */ /***/ (function(module, __unusedexports, __webpack_require__) { +var distanceInWords = __webpack_require__(153) + +/** + * @category Common Helpers + * @summary Return the distance between the given date and now in words. + * + * @description + * Return the distance between the given date and now in words. + * + * | Distance to now | Result | + * |-------------------------------------------------------------------|---------------------| + * | 0 ... 30 secs | less than a minute | + * | 30 secs ... 1 min 30 secs | 1 minute | + * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes | + * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour | + * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours | + * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day | + * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days | + * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month | + * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months | + * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months | + * | 1 yr ... 1 yr 3 months | about 1 year | + * | 1 yr 3 months ... 1 yr 9 month s | over 1 year | + * | 1 yr 9 months ... 2 yrs | almost 2 years | + * | N yrs ... N yrs 3 months | about N years | + * | N yrs 3 months ... N yrs 9 months | over N years | + * | N yrs 9 months ... N+1 yrs | almost N+1 years | + * + * With `options.includeSeconds == true`: + * | Distance to now | Result | + * |---------------------|----------------------| + * | 0 secs ... 5 secs | less than 5 seconds | + * | 5 secs ... 10 secs | less than 10 seconds | + * | 10 secs ... 20 secs | less than 20 seconds | + * | 20 secs ... 40 secs | half a minute | + * | 40 secs ... 60 secs | less than a minute | + * | 60 secs ... 90 secs | 1 minute | + * + * @param {Date|String|Number} date - the given date + * @param {Object} [options] - the object with options + * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed + * @param {Boolean} [options.addSuffix=false] - result specifies if the second date is earlier or later than the first + * @param {Object} [options.locale=enLocale] - the locale object + * @returns {String} the distance in words + * + * @example + * // If today is 1 January 2015, what is the distance to 2 July 2014? + * var result = distanceInWordsToNow( + * new Date(2014, 6, 2) + * ) + * //=> '6 months' + * + * @example + * // If now is 1 January 2015 00:00:00, + * // what is the distance to 1 January 2015 00:00:15, including seconds? + * var result = distanceInWordsToNow( + * new Date(2015, 0, 1, 0, 0, 15), + * {includeSeconds: true} + * ) + * //=> 'less than 20 seconds' + * + * @example + * // If today is 1 January 2015, + * // what is the distance to 1 January 2016, with a suffix? + * var result = distanceInWordsToNow( + * new Date(2016, 0, 1), + * {addSuffix: true} + * ) + * //=> 'in about 1 year' + * + * @example + * // If today is 1 January 2015, + * // what is the distance to 1 August 2016 in Esperanto? + * var eoLocale = require('date-fns/locale/eo') + * var result = distanceInWordsToNow( + * new Date(2016, 7, 1), + * {locale: eoLocale} + * ) + * //=> 'pli ol 1 jaro' + */ +function distanceInWordsToNow (dirtyDate, dirtyOptions) { + return distanceInWords(Date.now(), dirtyDate, dirtyOptions) +} + +module.exports = distanceInWordsToNow + + +/***/ }), +/* 718 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +const R = __webpack_require__(61); +const chalk = __webpack_require__(273); +const util = __webpack_require__(669); +const toJson = __webpack_require__(745); + +let prefix; +const coloredOutput = false; + +const createMsg = (type = '') => (color, ...args) => { + const stringifiedArgs = args.map((arg) => { + if (arg instanceof Error) { + const remainingProps = R.omit(['message', 'stack'], arg); + return R.isEmpty(remainingProps) + ? `${arg.message}\n${arg.stack}` + : `${arg.message}\n${arg.stack}\nAdditional error props: ${toJson( + remainingProps + )}`; + } + const logStr = typeof arg === 'object' ? toJson(arg) : arg; + return logStr; + }); + + const typePrefix = type ? `[${type}]` : ''; + + if (prefix) { + const formattedPrefix = `[${prefix}]`; + + return chalk[color](`${formattedPrefix}${typePrefix}`, ...stringifiedArgs); + } + + return chalk[color](typePrefix, ...stringifiedArgs); +}; + +/* eslint-disable no-console */ +const log = { + log: (...args) => console.log(createMsg('log')('white', ...args)), + error: (...args) => console.error(createMsg('error')('red', ...args)), + trace: (...args) => console.trace(createMsg('trace')('red', ...args)), + info: (...args) => console.info(createMsg('info')('gray', ...args)), + warn: (...args) => console.warn(createMsg('warn')('yellow', ...args)), + warnTrace: (...args) => console.trace(createMsg('warn')('yellow', ...args)), + warning: (...args) => console.warn(createMsg('warn')('yellow', ...args)), + debug: (...args) => console.log(createMsg('debug')('blue', ...args)), + time: (...args) => console.time(createMsg('info')('cyan', ...args)), + timeEnd: (...args) => console.timeEnd(createMsg('info')('cyan', ...args)), + // colors + cyan: (...args) => console.log(createMsg()('cyan', ...args)), + magenta: (...args) => console.log(createMsg()('magenta', ...args)), + blue: (...args) => console.log(createMsg()('blue', ...args)), + gray: (...args) => console.log(createMsg()('gray', ...args)), + white: (...args) => console.log(createMsg()('white', ...args)), + green: (...args) => console.log(createMsg()('green', ...args)), + yellow: (...args) => console.log(createMsg()('yellow', ...args)), + red: (...args) => console.log(createMsg()('red', ...args)), + + json: (x, { colors = coloredOutput, depth = 4 } = {}) => + process.env.NODE_ENV === 'production' + ? console.log(toJson(x)) + : console.log(util.inspect(x, { colors, depth })), +}; +/* eslint-enable no-console */ + +module.exports = log; + + +/***/ }), +/* 719 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +var request = __webpack_require__(298); +var universalUserAgent = __webpack_require__(796); + +const VERSION = "5.0.5"; + +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); +} +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + // Expose the errors and response data in their shorthand properties. + this.errors = response.errors; + this.data = response.data; + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +} + +const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } + } + const parsedOptions = typeof query === "string" ? Object.assign({ + query + }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request(requestOptions).then(response => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError(requestOptions, headers, response.data); + } + return response.data.data; + }); +} + +function withDefaults(request, newDefaults) { + const newRequest = request.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: newRequest.endpoint + }); +} + +const graphql$1 = withDefaults(request.request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} + +exports.GraphqlResponseError = GraphqlResponseError; +exports.graphql = graphql$1; +exports.withCustomRequest = withCustomRequest; +//# sourceMappingURL=index.js.map + + +/***/ }), +/* 720 */, +/* 721 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _isPlaceholder = /*#__PURE__*/__webpack_require__(953); + +/** + * Optimized internal one-arity curry function. + * + * @private + * @category Function + * @param {Function} fn The function to curry. + * @return {Function} The curried function. + */ + + +function _curry1(fn) { + return function f1(a) { + if (arguments.length === 0 || _isPlaceholder(a)) { + return f1; + } else { + return fn.apply(this, arguments); + } + }; +} +module.exports = _curry1; + +/***/ }), +/* 722 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + var parse = __webpack_require__(751) /** - * @category Weekday Helpers - * @summary Is the given date Thursday? + * @category Second Helpers + * @summary Return the end of a second for the given date. * * @description - * Is the given date Thursday? + * Return the end of a second for the given date. + * The result will be in the local timezone. * - * @param {Date|String|Number} date - the date to check - * @returns {Boolean} the date is Thursday + * @param {Date|String|Number} date - the original date + * @returns {Date} the end of a second * * @example - * // Is 25 September 2014 Thursday? - * var result = isThursday(new Date(2014, 8, 25)) - * //=> true + * // The end of a second for 1 December 2014 22:15:45.400: + * var result = endOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:45.999 */ -function isThursday (dirtyDate) { - return parse(dirtyDate).getDay() === 4 +function endOfSecond (dirtyDate) { + var date = parse(dirtyDate) + date.setMilliseconds(999) + return date +} + +module.exports = endOfSecond + + +/***/ }), +/* 723 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +var isPlainObject = __webpack_require__(356); +var universalUserAgent = __webpack_require__(796); + +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach(key => { + if (isPlainObject.isPlainObject(options[key])) { + if (!(key in defaults)) Object.assign(result, { + [key]: options[key] + });else result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { + [key]: options[key] + }); + } + }); + return result; +} + +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + return obj; +} + +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { + method, + url + } : { + url: method + }, options); + } else { + options = Object.assign({}, route); + } + // lowercase header names before merging with defaults to avoid duplicates + options.headers = lowercaseKeys(options.headers); + // remove properties with undefined values before merging + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + // mediaType.previews arrays are merged, instead of overwritten + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); + return mergedOptions; +} + +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return url + separator + names.map(name => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} + +const urlVariableRegex = /\{[^}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + if (!matches) { + return []; + } + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} + +function omit(object, keysToOmit) { + return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* istanbul ignore file */ +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }).join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} +function isDefined(value) { + return value !== undefined && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], + result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + return result; } - -module.exports = isThursday - - -/***/ }), -/* 718 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -const R = __webpack_require__(61); -const chalk = __webpack_require__(843); -const util = __webpack_require__(669); -const toJson = __webpack_require__(745); - -let prefix; -const coloredOutput = false; - -const createMsg = (type = '') => (color, ...args) => { - const stringifiedArgs = args.map(arg => { - if (arg instanceof Error) { - const remainingProps = R.omit(['message', 'stack'], arg); - return R.isEmpty(remainingProps) - ? `${arg.message}\n${arg.stack}` - : `${arg.message}\n${arg.stack}\nAdditional error props: ${toJson( - remainingProps - )}`; +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); } - const logStr = typeof arg === 'object' ? toJson(arg) : arg; - return logStr; }); +} - const typePrefix = type ? `[${type}]` : ''; - - if (prefix) { - const formattedPrefix = `[${prefix}]`; - - return chalk[color](`${formattedPrefix}${typePrefix}`, ...stringifiedArgs); +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); + // replace :varname with {varname} to make it RFC 6570 compatible + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); + // extract variable names from URL to calculate remaining variables later + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; } - - return chalk[color](typePrefix, ...stringifiedArgs); -}; - -/* eslint-disable no-console */ -const log = { - log: (...args) => console.log(createMsg('log')('white', ...args)), - error: (...args) => console.error(createMsg('error')('red', ...args)), - trace: (...args) => console.trace(createMsg('trace')('red', ...args)), - info: (...args) => console.info(createMsg('info')('gray', ...args)), - warn: (...args) => console.warn(createMsg('warn')('yellow', ...args)), - warnTrace: (...args) => console.trace(createMsg('warn')('yellow', ...args)), - warning: (...args) => console.warn(createMsg('warn')('yellow', ...args)), - debug: (...args) => console.log(createMsg('debug')('blue', ...args)), - time: (...args) => console.time(createMsg('info')('cyan', ...args)), - timeEnd: (...args) => console.timeEnd(createMsg('info')('cyan', ...args)), - // colors - cyan: (...args) => console.log(createMsg()('cyan', ...args)), - magenta: (...args) => console.log(createMsg()('magenta', ...args)), - blue: (...args) => console.log(createMsg()('blue', ...args)), - gray: (...args) => console.log(createMsg()('gray', ...args)), - white: (...args) => console.log(createMsg()('white', ...args)), - green: (...args) => console.log(createMsg()('green', ...args)), - yellow: (...args) => console.log(createMsg()('yellow', ...args)), - red: (...args) => console.log(createMsg()('red', ...args)), - - json: (x, { colors = coloredOutput, depth = 4 } = {}) => - process.env.NODE_ENV === 'production' - ? console.log(toJson(x)) - : console.log(util.inspect(x, { colors, depth })) -}; -/* eslint-enable no-console */ - -module.exports = log; - - -/***/ }), -/* 719 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var concat = /*#__PURE__*/__webpack_require__(779); - -var difference = /*#__PURE__*/__webpack_require__(275); - -/** - * Finds the set (i.e. no duplicates) of all elements contained in the first or - * second list, but not both. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Relation - * @sig [*] -> [*] -> [*] - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The elements in `list1` or `list2`, but not both. - * @see R.symmetricDifferenceWith, R.difference, R.differenceWith - * @example - * - * R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5] - * R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2] - */ - - -var symmetricDifference = /*#__PURE__*/_curry2(function symmetricDifference(list1, list2) { - return concat(difference(list1, list2), difference(list2, list1)); -}); -module.exports = symmetricDifference; - -/***/ }), -/* 720 */, -/* 721 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _isPlaceholder = /*#__PURE__*/__webpack_require__(953); - -/** - * Optimized internal one-arity curry function. - * - * @private - * @category Function - * @param {Function} fn The function to curry. - * @return {Function} The curried function. - */ - - -function _curry1(fn) { - return function f1(a) { - if (arguments.length === 0 || _isPlaceholder(a)) { - return f1; + const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); + } + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } + // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; } else { - return fn.apply(this, arguments); + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } } - }; + } + // default content-type for JSON if body is set + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + // Only return body/request keys if present + return Object.assign({ + method, + url, + headers + }, typeof body !== "undefined" ? { + body + } : null, options.request ? { + request: options.request + } : null); } -module.exports = _curry1; - -/***/ }), -/* 722 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var parse = __webpack_require__(751) -/** - * @category Second Helpers - * @summary Return the end of a second for the given date. - * - * @description - * Return the end of a second for the given date. - * The result will be in the local timezone. - * - * @param {Date|String|Number} date - the original date - * @returns {Date} the end of a second - * - * @example - * // The end of a second for 1 December 2014 22:15:45.400: - * var result = endOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400)) - * //=> Mon Dec 01 2014 22:15:45.999 - */ -function endOfSecond (dirtyDate) { - var date = parse(dirtyDate) - date.setMilliseconds(999) - return date +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); } -module.exports = endOfSecond - +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse + }); +} -/***/ }), -/* 723 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +const VERSION = "7.0.5"; -var parse = __webpack_require__(751) +const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; +// DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "", + previews: [] + } +}; -/** - * @category Minute Helpers - * @summary Return the start of a minute for the given date. - * - * @description - * Return the start of a minute for the given date. - * The result will be in the local timezone. - * - * @param {Date|String|Number} date - the original date - * @returns {Date} the start of a minute - * - * @example - * // The start of a minute for 1 December 2014 22:15:45.400: - * var result = startOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400)) - * //=> Mon Dec 01 2014 22:15:00 - */ -function startOfMinute (dirtyDate) { - var date = parse(dirtyDate) - date.setSeconds(0, 0) - return date -} +const endpoint = withDefaults(null, DEFAULTS); -module.exports = startOfMinute +exports.endpoint = endpoint; +//# sourceMappingURL=index.js.map /***/ }), @@ -30578,7 +30677,7 @@ return tryConvertToPromise; var firstLineError; try {throw new Error(); } catch (e) {firstLineError = e;} var schedule = __webpack_require__(476); -var Queue = __webpack_require__(825); +var Queue = __webpack_require__(392); function Async() { this._customScheduler = false; @@ -30698,7 +30797,40 @@ module.exports.firstLineError = firstLineError; /***/ }), /* 727 */, -/* 728 */, +/* 728 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _concat = /*#__PURE__*/__webpack_require__(340); + +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +var compose = /*#__PURE__*/__webpack_require__(944); + +var uniq = /*#__PURE__*/__webpack_require__(732); + +/** + * Combines two lists into a set (i.e. no duplicates) composed of the elements + * of each list. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig [*] -> [*] -> [*] + * @param {Array} as The first list. + * @param {Array} bs The second list. + * @return {Array} The first and second lists concatenated, with + * duplicates removed. + * @example + * + * R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4] + */ + + +var union = /*#__PURE__*/_curry2( /*#__PURE__*/compose(uniq, _concat)); +module.exports = union; + +/***/ }), /* 729 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -30860,7 +30992,7 @@ module.exports = addIndex; /* 732 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var identity = /*#__PURE__*/__webpack_require__(332); +var identity = /*#__PURE__*/__webpack_require__(534); var uniqBy = /*#__PURE__*/__webpack_require__(703); @@ -30887,7 +31019,49 @@ var uniq = /*#__PURE__*/uniqBy(identity); module.exports = uniq; /***/ }), -/* 733 */, +/* 733 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _rng = _interopRequireDefault(__webpack_require__(844)); + +var _stringify = _interopRequireDefault(__webpack_require__(411)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function v4(options, buf, offset) { + options = options || {}; + + const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return (0, _stringify.default)(rnds); +} + +var _default = v4; +exports.default = _default; + +/***/ }), /* 734 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -30976,86 +31150,89 @@ module.exports = _xdrop; /***/ }), /* 739 */, -/* 740 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -var old; -if (typeof Promise !== "undefined") old = Promise; -function noConflict() { - try { if (Promise === bluebird) Promise = old; } - catch (e) {} - return bluebird; -} -var bluebird = __webpack_require__(983)(); -bluebird.noConflict = noConflict; -module.exports = bluebird; - - -/***/ }), +/* 740 */, /* 741 */, /* 742 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var fs = __webpack_require__(747) -var core -if (process.platform === 'win32' || global.TESTING_WINDOWS) { - core = __webpack_require__(818) -} else { - core = __webpack_require__(197) -} - -module.exports = isexe -isexe.sync = sync - -function isexe (path, options, cb) { - if (typeof options === 'function') { - cb = options - options = {} - } - - if (!cb) { - if (typeof Promise !== 'function') { - throw new TypeError('callback not provided') - } +/***/ (function(__unusedmodule, exports, __webpack_require__) { - return new Promise(function (resolve, reject) { - isexe(path, options || {}, function (er, is) { - if (er) { - reject(er) - } else { - resolve(is) - } - }) - }) - } +"use strict"; - core(path, options || {}, function (er, is) { - // ignore EACCES because that just means we aren't allowed to run it - if (er) { - if (er.code === 'EACCES' || options && options.ignoreErrors) { - er = null - is = false - } +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OidcClient = void 0; +const http_client_1 = __webpack_require__(425); +const auth_1 = __webpack_require__(554); +const core_1 = __webpack_require__(470); +class OidcClient { + static createHttpClient(allowRetry = true, maxRetry = 10) { + const requestOptions = { + allowRetries: allowRetry, + maxRetries: maxRetry + }; + return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); + } + static getRequestToken() { + const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; + if (!token) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); + } + return token; + } + static getIDTokenUrl() { + const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; + if (!runtimeUrl) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); + } + return runtimeUrl; + } + static getCall(id_token_url) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const httpclient = OidcClient.createHttpClient(); + const res = yield httpclient + .getJson(id_token_url) + .catch(error => { + throw new Error(`Failed to get ID Token. \n + Error Code : ${error.statusCode}\n + Error Message: ${error.result.message}`); + }); + const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + if (!id_token) { + throw new Error('Response json body do not have ID Token field'); + } + return id_token; + }); } - cb(er, is) - }) -} - -function sync (path, options) { - // my kingdom for a filtered catch - try { - return core.sync(path, options || {}) - } catch (er) { - if (options && options.ignoreErrors || er.code === 'EACCES') { - return false - } else { - throw er + static getIDToken(audience) { + return __awaiter(this, void 0, void 0, function* () { + try { + // New ID Token is requested from action service + let id_token_url = OidcClient.getIDTokenUrl(); + if (audience) { + const encodedAudience = encodeURIComponent(audience); + id_token_url = `${id_token_url}&audience=${encodedAudience}`; + } + core_1.debug(`ID token url is ${id_token_url}`); + const id_token = yield OidcClient.getCall(id_token_url); + core_1.setSecret(id_token); + return id_token; + } + catch (error) { + throw new Error(`Error message: ${error.message}`); + } + }); } - } } - +exports.OidcClient = OidcClient; +//# sourceMappingURL=oidc-utils.js.map /***/ }), /* 743 */ @@ -31115,7 +31292,7 @@ function tryJSONStringify(obj) { } } -const toJson = obj => tryJSONStringify(obj) || stringify(obj); +const toJson = (obj) => tryJSONStringify(obj) || stringify(obj); module.exports = toJson; @@ -31190,7 +31367,7 @@ var ap = /*#__PURE__*/__webpack_require__(641); var curryN = /*#__PURE__*/__webpack_require__(535); -var map = /*#__PURE__*/__webpack_require__(534); +var map = /*#__PURE__*/__webpack_require__(197); /** * "lifts" a function to be the specified arity, so that it may "map over" that @@ -31225,7 +31402,7 @@ module.exports = liftN; /* 751 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var getTimezoneOffsetInMilliseconds = __webpack_require__(151) +var getTimezoneOffsetInMilliseconds = __webpack_require__(490) var isDate = __webpack_require__(873) var MILLISECONDS_IN_HOUR = 3600000 @@ -31572,19 +31749,21 @@ Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var endpoint = __webpack_require__(385); -var universalUserAgent = __webpack_require__(211); -var isPlainObject = _interopDefault(__webpack_require__(548)); +var universalUserAgent = __webpack_require__(796); +var isPlainObject = __webpack_require__(356); var nodeFetch = _interopDefault(__webpack_require__(454)); var requestError = __webpack_require__(463); -const VERSION = "5.4.2"; +const VERSION = "5.6.3"; function getBufferResponse(response) { return response.arrayBuffer(); } function fetchWrapper(requestOptions) { - if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + + if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { requestOptions.body = JSON.stringify(requestOptions.body); } @@ -31597,7 +31776,9 @@ function fetchWrapper(requestOptions) { body: requestOptions.body, headers: requestOptions.headers, redirect: requestOptions.redirect - }, requestOptions.request)).then(response => { + }, // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)).then(async response => { url = response.url; status = response.status; @@ -31605,6 +31786,12 @@ function fetchWrapper(requestOptions) { headers[keyAndValue[0]] = keyAndValue[1]; } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } + if (status === 204 || status === 205) { return; } // GitHub API returns 200 for HEAD requests @@ -31616,49 +31803,43 @@ function fetchWrapper(requestOptions) { } throw new requestError.RequestError(response.statusText, status, { - headers, + response: { + url, + status, + headers, + data: undefined + }, request: requestOptions }); } if (status === 304) { throw new requestError.RequestError("Not modified", status, { - headers, + response: { + url, + status, + headers, + data: await getResponseData(response) + }, request: requestOptions }); } if (status >= 400) { - return response.text().then(message => { - const error = new requestError.RequestError(message, status, { + const data = await getResponseData(response); + const error = new requestError.RequestError(toErrorMessage(data), status, { + response: { + url, + status, headers, - request: requestOptions - }); - - try { - let responseBody = JSON.parse(error.message); - Object.assign(error, responseBody); - let errors = responseBody.errors; // Assumption `errors` would always be in Array format - - error.message = error.message + ": " + errors.map(JSON.stringify).join(", "); - } catch (e) {// ignore, see octokit/rest.js#684 - } - - throw error; + data + }, + request: requestOptions }); + throw error; } - const contentType = response.headers.get("content-type"); - - if (/application\/json/.test(contentType)) { - return response.json(); - } - - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - - return getBufferResponse(response); + return getResponseData(response); }).then(data => { return { status, @@ -31667,17 +31848,42 @@ function fetchWrapper(requestOptions) { data }; }).catch(error => { - if (error instanceof requestError.RequestError) { - throw error; - } - + if (error instanceof requestError.RequestError) throw error; throw new requestError.RequestError(error.message, 500, { - headers, request: requestOptions }); }); } +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + + if (/application\/json/.test(contentType)) { + return response.json(); + } + + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + + return getBufferResponse(response); +} + +function toErrorMessage(data) { + if (typeof data === "string") return data; // istanbul ignore else - just in case + + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + + return data.message; + } // istanbul ignore next - just in case + + + return `Unknown error: ${JSON.stringify(data)}`; +} + function withDefaults(oldEndpoint, newDefaults) { const endpoint = oldEndpoint.defaults(newDefaults); @@ -31837,7 +32043,7 @@ module.exports = path; /* 757 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Returns `true` if the specified object property satisfies the given @@ -31869,7 +32075,7 @@ module.exports = propSatisfies; /* 758 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var startOfMinute = __webpack_require__(723) +var startOfMinute = __webpack_require__(932) /** * @category Minute Helpers @@ -31905,7 +32111,7 @@ module.exports = isSameMinute /* 759 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var startOfSecond = __webpack_require__(350) +var startOfSecond = __webpack_require__(115) /** * @category Second Helpers @@ -31941,45 +32147,29 @@ module.exports = isSameSecond /* 760 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +var multiply = /*#__PURE__*/__webpack_require__(880); -var keys = /*#__PURE__*/__webpack_require__(89); +var reduce = /*#__PURE__*/__webpack_require__(46); /** - * Iterate over an input `object`, calling a provided function `fn` for each - * key and value in the object. - * - * `fn` receives three argument: *(value, key, obj)*. + * Multiplies together all the elements of a list. * * @func * @memberOf R - * @since v0.23.0 - * @category Object - * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a - * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`. - * @param {Object} obj The object to iterate over. - * @return {Object} The original object. + * @since v0.1.0 + * @category Math + * @sig [Number] -> Number + * @param {Array} list An array of numbers + * @return {Number} The product of all the numbers in the list. + * @see R.reduce * @example * - * const printKeyConcatValue = (value, key) => console.log(key + ':' + value); - * R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2} - * // logs x:1 - * // logs y:2 - * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b} + * R.product([2,4,6,8,100,1]); //=> 38400 */ -var forEachObjIndexed = /*#__PURE__*/_curry2(function forEachObjIndexed(fn, obj) { - var keyList = keys(obj); - var idx = 0; - while (idx < keyList.length) { - var key = keyList[idx]; - fn(obj[key], key, obj); - idx += 1; - } - return obj; -}); -module.exports = forEachObjIndexed; +var product = /*#__PURE__*/reduce(multiply, 1); +module.exports = product; /***/ }), /* 761 */ @@ -31989,29 +32179,7 @@ module.exports = require("zlib"); /***/ }), /* 762 */, -/* 763 */ -/***/ (function(module) { - -module.exports = removeHook - -function removeHook (state, name, method) { - if (!state.registry[name]) { - return - } - - var index = state.registry[name] - .map(function (registered) { return registered.orig }) - .indexOf(method) - - if (index === -1) { - return - } - - state.registry[name].splice(index, 1) -} - - -/***/ }), +/* 763 */, /* 764 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -32045,7 +32213,7 @@ module.exports = isThisISOWeek /* 765 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Takes a predicate, a transformation function, and an initial value, @@ -32128,8 +32296,8 @@ const octokit = new Octokit({ // eslint-disable-next-line no-console warn: console.warn, // eslint-disable-next-line no-console - error: console.error - } + error: console.error, + }, }); /* @@ -32248,15 +32416,15 @@ const octokit = new Octokit({ * start_page - Beginning page * exclude_archived - Whether or not to filter out archived repositories (repos.listForOrg does not offer a way to exclude these from the response) */ -const organizationRepositoryIterator = function({ +const organizationRepositoryIterator = function ({ pages = 1, org = DEFAULT_ORG, type = 'public', per_page = REPOS_PER_PAGE, - start_page = 1 + start_page = 1, // excludeArchived = true }) { - return function() { + return function () { const MAX_PAGES_ALLOWED = 100; let isFirstPage = true; @@ -32268,20 +32436,20 @@ const organizationRepositoryIterator = function({ // How best do we initialize this for the first page? let pagesToGet = pages === 0 ? MAX_PAGES_ALLOWED : pages; - const hasMore = function() { + const hasMore = function () { return pagesToGet > 0; }; - const getCurrentPage = function() { + const getCurrentPage = function () { return currentPage; }; - const firstPage = async function() { + const firstPage = async function () { const firstPage = await fetchOrganizationRepositoryPage({ org, type, per_page, - page: startPage + page: startPage, }); // prettyPrintJson(Object.keys(firstPage.data)); @@ -32301,7 +32469,7 @@ const organizationRepositoryIterator = function({ return firstPage; }; - const next = function() { + const next = function () { let nextPage = false; if (hasMore()) { @@ -32318,7 +32486,7 @@ const organizationRepositoryIterator = function({ org, type, per_page, - page: currentPage + page: currentPage, }); } @@ -32334,23 +32502,23 @@ const organizationRepositoryIterator = function({ return { hasMore, next, - getCurrentPage + getCurrentPage, }; }; }; -const fetchOrganizationRepositoryPage = async function({ +const fetchOrganizationRepositoryPage = async function ({ org, type, per_page, - page + page, }) { try { const response = await octokit.repos.listForOrg({ org, type, per_page, - page + page, }); const { /* status, url, headers, */ data } = response; @@ -32366,42 +32534,103 @@ const fetchOrganizationRepositoryPage = async function({ } }; -const fetchRepo = async function({ options }) { +const fetchRepo = async function ({ options }) { const { org: owner, repo } = options; return octokit.repos.get({ owner, - repo + repo, }); }; module.exports = { organizationRepositoryIterator, - fetchRepo + fetchRepo, }; /***/ }), /* 768 */ -/***/ (function(module) { +/***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; +var _curry2 = /*#__PURE__*/__webpack_require__(830); -module.exports = function (x) { - var lf = typeof x === 'string' ? '\n' : '\n'.charCodeAt(); - var cr = typeof x === 'string' ? '\r' : '\r'.charCodeAt(); +var curry = /*#__PURE__*/__webpack_require__(447); - if (x[x.length - 1] === lf) { - x = x.slice(0, x.length - 1); - } +var nAry = /*#__PURE__*/__webpack_require__(807); - if (x[x.length - 1] === cr) { - x = x.slice(0, x.length - 1); - } +/** + * Wraps a constructor function inside a curried function that can be called + * with the same arguments and returns the same type. The arity of the function + * returned is specified to allow using variadic constructor functions. + * + * @func + * @memberOf R + * @since v0.4.0 + * @category Function + * @sig Number -> (* -> {*}) -> (* -> {*}) + * @param {Number} n The arity of the constructor function. + * @param {Function} Fn The constructor function to wrap. + * @return {Function} A wrapped, curried constructor function. + * @example + * + * // Variadic Constructor function + * function Salad() { + * this.ingredients = arguments; + * } + * + * Salad.prototype.recipe = function() { + * const instructions = R.map(ingredient => 'Add a dollop of ' + ingredient, this.ingredients); + * return R.join('\n', instructions); + * }; + * + * const ThreeLayerSalad = R.constructN(3, Salad); + * + * // Notice we no longer need the 'new' keyword, and the constructor is curried for 3 arguments. + * const salad = ThreeLayerSalad('Mayonnaise')('Potato Chips')('Ketchup'); + * + * console.log(salad.recipe()); + * // Add a dollop of Mayonnaise + * // Add a dollop of Potato Chips + * // Add a dollop of Ketchup + */ - return x; -}; +var constructN = /*#__PURE__*/_curry2(function constructN(n, Fn) { + if (n > 10) { + throw new Error('Constructor with greater than ten arguments'); + } + if (n === 0) { + return function () { + return new Fn(); + }; + } + return curry(nAry(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + switch (arguments.length) { + case 1: + return new Fn($0); + case 2: + return new Fn($0, $1); + case 3: + return new Fn($0, $1, $2); + case 4: + return new Fn($0, $1, $2, $3); + case 5: + return new Fn($0, $1, $2, $3, $4); + case 6: + return new Fn($0, $1, $2, $3, $4, $5); + case 7: + return new Fn($0, $1, $2, $3, $4, $5, $6); + case 8: + return new Fn($0, $1, $2, $3, $4, $5, $6, $7); + case 9: + return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8); + case 10: + return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9); + } + })); +}); +module.exports = constructN; /***/ }), /* 769 */ @@ -32517,7 +32746,40 @@ var partialRight = /*#__PURE__*/_createPartialApplicator( /*#__PURE__*/flip(_con module.exports = partialRight; /***/ }), -/* 772 */, +/* 772 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +/** + * Returns `true` if the first argument is less than or equal to the second; + * `false` otherwise. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig Ord a => a -> a -> Boolean + * @param {Number} a + * @param {Number} b + * @return {Boolean} + * @see R.gte + * @example + * + * R.lte(2, 1); //=> false + * R.lte(2, 2); //=> true + * R.lte(2, 3); //=> true + * R.lte('a', 'z'); //=> true + * R.lte('z', 'a'); //=> false + */ + + +var lte = /*#__PURE__*/_curry2(function lte(a, b) { + return a <= b; +}); +module.exports = lte; + +/***/ }), /* 773 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -32554,7 +32816,7 @@ module.exports = prepend; /***/ (function(module, __unusedexports, __webpack_require__) { var getISOYear = __webpack_require__(689) -var setISOYear = __webpack_require__(429) +var setISOYear = __webpack_require__(118) /** * @category ISO Week-Numbering Year Helpers @@ -32637,68 +32899,30 @@ module.exports = (flag, argv = process.argv) => { /* 779 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var _isArray = /*#__PURE__*/__webpack_require__(930); - -var _isFunction = /*#__PURE__*/__webpack_require__(504); - -var _isString = /*#__PURE__*/__webpack_require__(285); - -var toString = /*#__PURE__*/__webpack_require__(854); +var isSameHour = __webpack_require__(119) /** - * Returns the result of concatenating the given lists or strings. - * - * Note: `R.concat` expects both arguments to be of the same type, - * unlike the native `Array.prototype.concat` method. It will throw - * an error if you `concat` an Array with a non-Array value. + * @category Hour Helpers + * @summary Is the given date in the same hour as the current date? * - * Dispatches to the `concat` method of the first argument, if present. - * Can also concatenate two members of a [fantasy-land - * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup). + * @description + * Is the given date in the same hour as the current date? * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [a] -> [a] - * @sig String -> String -> String - * @param {Array|String} firstList The first list - * @param {Array|String} secondList The second list - * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of - * `secondList`. + * @param {Date|String|Number} date - the date to check + * @returns {Boolean} the date is in this hour * * @example - * - * R.concat('ABC', 'DEF'); // 'ABCDEF' - * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3] - * R.concat([], []); //=> [] + * // If now is 25 September 2014 18:30:15.500, + * // is 25 September 2014 18:00:00 in this hour? + * var result = isThisHour(new Date(2014, 8, 25, 18)) + * //=> true */ +function isThisHour (dirtyDate) { + return isSameHour(new Date(), dirtyDate) +} +module.exports = isThisHour -var concat = /*#__PURE__*/_curry2(function concat(a, b) { - if (_isArray(a)) { - if (_isArray(b)) { - return a.concat(b); - } - throw new TypeError(toString(b) + ' is not an array'); - } - if (_isString(a)) { - if (_isString(b)) { - return a + b; - } - throw new TypeError(toString(b) + ' is not a string'); - } - if (a != null && _isFunction(a['fantasy-land/concat'])) { - return a['fantasy-land/concat'](b); - } - if (a != null && _isFunction(a.concat)) { - return a.concat(b); - } - throw new TypeError(toString(a) + ' does not have a method named "concat" or "fantasy-land/concat"'); -}); -module.exports = concat; /***/ }), /* 780 */ @@ -32750,7 +32974,209 @@ module.exports = uniqWith; /***/ }), /* 781 */, -/* 782 */, +/* 782 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +const conversions = __webpack_require__(149); +const utils = __webpack_require__(649); +const Impl = __webpack_require__(256); + +const impl = utils.implSymbol; + +function URL(url) { + if (!this || this[impl] || !(this instanceof URL)) { + throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); + } + if (arguments.length < 1) { + throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); + } + const args = []; + for (let i = 0; i < arguments.length && i < 2; ++i) { + args[i] = arguments[i]; + } + args[0] = conversions["USVString"](args[0]); + if (args[1] !== undefined) { + args[1] = conversions["USVString"](args[1]); + } + + module.exports.setup(this, args); +} + +URL.prototype.toJSON = function toJSON() { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + const args = []; + for (let i = 0; i < arguments.length && i < 0; ++i) { + args[i] = arguments[i]; + } + return this[impl].toJSON.apply(this[impl], args); +}; +Object.defineProperty(URL.prototype, "href", { + get() { + return this[impl].href; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].href = V; + }, + enumerable: true, + configurable: true +}); + +URL.prototype.toString = function () { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + return this.href; +}; + +Object.defineProperty(URL.prototype, "origin", { + get() { + return this[impl].origin; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "protocol", { + get() { + return this[impl].protocol; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].protocol = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "username", { + get() { + return this[impl].username; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].username = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "password", { + get() { + return this[impl].password; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].password = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "host", { + get() { + return this[impl].host; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].host = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "hostname", { + get() { + return this[impl].hostname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hostname = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "port", { + get() { + return this[impl].port; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].port = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "pathname", { + get() { + return this[impl].pathname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].pathname = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "search", { + get() { + return this[impl].search; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].search = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "hash", { + get() { + return this[impl].hash; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hash = V; + }, + enumerable: true, + configurable: true +}); + + +module.exports = { + is(obj) { + return !!obj && obj[impl] instanceof Impl.implementation; + }, + create(constructorArgs, privateData) { + let obj = Object.create(URL.prototype); + this.setup(obj, constructorArgs, privateData); + return obj; + }, + setup(obj, constructorArgs, privateData) { + if (!privateData) privateData = {}; + privateData.wrapper = obj; + + obj[impl] = new Impl.implementation(constructorArgs, privateData); + obj[impl][utils.wrapperSymbol] = obj; + }, + interface: URL, + expose: { + Window: { URL: URL }, + Worker: { URL: URL } + } +}; + + + +/***/ }), /* 783 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -32760,7 +33186,7 @@ const R = __webpack_require__(61); // hashes string first, allows to map strings to colors // useful in certain UI aspects when color should be the same // given some string, but we don't know strings upfront to define it -const stringToColor = str => { +const stringToColor = (str) => { if (!str) { return '#000000'; } @@ -32777,9 +33203,9 @@ const stringToColor = str => { return colour; }; -const removeNewLines = x => (x ? R.replace(/(\r\n|\n|\r)/gm, '', x) : x); -const removeTabsAndSpaces = x => (x ? R.replace(/[ \t]+/g, ' ', x) : x); -const removeEscapedCharacters = x => +const removeNewLines = (x) => (x ? R.replace(/(\r\n|\n|\r)/gm, '', x) : x); +const removeTabsAndSpaces = (x) => (x ? R.replace(/[ \t]+/g, ' ', x) : x); +const removeEscapedCharacters = (x) => x ? R.replace(/( |\\t|\\n)/g, ' ', x) : x; const rnd = (min, max) => { @@ -32793,100 +33219,88 @@ module.exports = { removeNewLines, removeTabsAndSpaces, stringToColor, - rnd + rnd, }; /***/ }), /* 784 */, /* 785 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/***/ (function(__unusedmodule, exports, __webpack_require__) { -var distanceInWords = __webpack_require__(153) +"use strict"; -/** - * @category Common Helpers - * @summary Return the distance between the given date and now in words. - * - * @description - * Return the distance between the given date and now in words. - * - * | Distance to now | Result | - * |-------------------------------------------------------------------|---------------------| - * | 0 ... 30 secs | less than a minute | - * | 30 secs ... 1 min 30 secs | 1 minute | - * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes | - * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour | - * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours | - * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day | - * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days | - * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month | - * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months | - * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months | - * | 1 yr ... 1 yr 3 months | about 1 year | - * | 1 yr 3 months ... 1 yr 9 month s | over 1 year | - * | 1 yr 9 months ... 2 yrs | almost 2 years | - * | N yrs ... N yrs 3 months | about N years | - * | N yrs 3 months ... N yrs 9 months | over N years | - * | N yrs 9 months ... N+1 yrs | almost N+1 years | - * - * With `options.includeSeconds == true`: - * | Distance to now | Result | - * |---------------------|----------------------| - * | 0 secs ... 5 secs | less than 5 seconds | - * | 5 secs ... 10 secs | less than 10 seconds | - * | 10 secs ... 20 secs | less than 20 seconds | - * | 20 secs ... 40 secs | half a minute | - * | 40 secs ... 60 secs | less than a minute | - * | 60 secs ... 90 secs | 1 minute | - * - * @param {Date|String|Number} date - the given date - * @param {Object} [options] - the object with options - * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed - * @param {Boolean} [options.addSuffix=false] - result specifies if the second date is earlier or later than the first - * @param {Object} [options.locale=enLocale] - the locale object - * @returns {String} the distance in words - * - * @example - * // If today is 1 January 2015, what is the distance to 2 July 2014? - * var result = distanceInWordsToNow( - * new Date(2014, 6, 2) - * ) - * //=> '6 months' - * - * @example - * // If now is 1 January 2015 00:00:00, - * // what is the distance to 1 January 2015 00:00:15, including seconds? - * var result = distanceInWordsToNow( - * new Date(2015, 0, 1, 0, 0, 15), - * {includeSeconds: true} - * ) - * //=> 'less than 20 seconds' - * - * @example - * // If today is 1 January 2015, - * // what is the distance to 1 January 2016, with a suffix? - * var result = distanceInWordsToNow( - * new Date(2016, 0, 1), - * {addSuffix: true} - * ) - * //=> 'in about 1 year' - * - * @example - * // If today is 1 January 2015, - * // what is the distance to 1 August 2016 in Esperanto? - * var eoLocale = require('date-fns/locale/eo') - * var result = distanceInWordsToNow( - * new Date(2016, 7, 1), - * {locale: eoLocale} - * ) - * //=> 'pli ol 1 jaro' - */ -function distanceInWordsToNow (dirtyDate, dirtyOptions) { - return distanceInWords(Date.now(), dirtyDate, dirtyOptions) +var Buffer = __webpack_require__(572).Buffer; + +// Single-byte codec. Needs a 'chars' string parameter that contains 256 or 128 chars that +// correspond to encoded bytes (if 128 - then lower half is ASCII). + +exports._sbcs = SBCSCodec; +function SBCSCodec(codecOptions, iconv) { + if (!codecOptions) + throw new Error("SBCS codec is called without the data.") + + // Prepare char buffer for decoding. + if (!codecOptions.chars || (codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256)) + throw new Error("Encoding '"+codecOptions.type+"' has incorrect 'chars' (must be of len 128 or 256)"); + + if (codecOptions.chars.length === 128) { + var asciiString = ""; + for (var i = 0; i < 128; i++) + asciiString += String.fromCharCode(i); + codecOptions.chars = asciiString + codecOptions.chars; + } + + this.decodeBuf = Buffer.from(codecOptions.chars, 'ucs2'); + + // Encoding buffer. + var encodeBuf = Buffer.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0)); + + for (var i = 0; i < codecOptions.chars.length; i++) + encodeBuf[codecOptions.chars.charCodeAt(i)] = i; + + this.encodeBuf = encodeBuf; } -module.exports = distanceInWordsToNow +SBCSCodec.prototype.encoder = SBCSEncoder; +SBCSCodec.prototype.decoder = SBCSDecoder; + + +function SBCSEncoder(options, codec) { + this.encodeBuf = codec.encodeBuf; +} + +SBCSEncoder.prototype.write = function(str) { + var buf = Buffer.alloc(str.length); + for (var i = 0; i < str.length; i++) + buf[i] = this.encodeBuf[str.charCodeAt(i)]; + + return buf; +} + +SBCSEncoder.prototype.end = function() { +} + + +function SBCSDecoder(options, codec) { + this.decodeBuf = codec.decodeBuf; +} + +SBCSDecoder.prototype.write = function(buf) { + // Strings are immutable in JS -> we use ucs2 buffer to speed up computations. + var decodeBuf = this.decodeBuf; + var newBuf = Buffer.alloc(buf.length*2); + var idx1 = 0, idx2 = 0; + for (var i = 0; i < buf.length; i++) { + idx1 = buf[i]*2; idx2 = i*2; + newBuf[idx2] = decodeBuf[idx1]; + newBuf[idx2+1] = decodeBuf[idx1+1]; + } + return newBuf.toString('ucs2'); +} + +SBCSDecoder.prototype.end = function() { +} /***/ }), @@ -32947,7 +33361,36 @@ module.exports = compareDesc /***/ }), -/* 787 */, +/* 787 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _isArray = /*#__PURE__*/__webpack_require__(930); + +/** + * This checks whether a function has a [methodname] function. If it isn't an + * array it will execute that function otherwise it will default to the ramda + * implementation. + * + * @private + * @param {Function} fn ramda implemtation + * @param {String} methodname property to check for a custom implementation + * @return {Object} Whatever the return value of the method is. + */ + + +function _checkForMethod(methodname, fn) { + return function () { + var length = arguments.length; + if (length === 0) { + return fn(); + } + var obj = arguments[length - 1]; + return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1)); + }; +} +module.exports = _checkForMethod; + +/***/ }), /* 788 */, /* 789 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -32984,7 +33427,7 @@ module.exports = getSeconds var _curry1 = /*#__PURE__*/__webpack_require__(721); -var nAry = /*#__PURE__*/__webpack_require__(425); +var nAry = /*#__PURE__*/__webpack_require__(807); /** * Wraps a function of any arity (including nullary) in a function that accepts @@ -33084,55 +33527,9 @@ module.exports = max; /***/ }), /* 794 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _cloneRegExp = /*#__PURE__*/__webpack_require__(480); - -var type = /*#__PURE__*/__webpack_require__(552); - -/** - * Copies an object. - * - * @private - * @param {*} value The value to be copied - * @param {Array} refFrom Array containing the source references - * @param {Array} refTo Array containing the copied source references - * @param {Boolean} deep Whether or not to perform deep cloning. - * @return {*} The copied value. - */ - +/***/ (function(module) { -function _clone(value, refFrom, refTo, deep) { - var copy = function copy(copiedValue) { - var len = refFrom.length; - var idx = 0; - while (idx < len) { - if (value === refFrom[idx]) { - return refTo[idx]; - } - idx += 1; - } - refFrom[idx + 1] = value; - refTo[idx + 1] = copiedValue; - for (var key in value) { - copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key]; - } - return copiedValue; - }; - switch (type(value)) { - case 'Object': - return copy({}); - case 'Array': - return copy([]); - case 'Date': - return new Date(value.valueOf()); - case 'RegExp': - return _cloneRegExp(value); - default: - return value; - } -} -module.exports = _clone; +module.exports = require("stream"); /***/ }), /* 795 */ @@ -33171,27 +33568,23 @@ module.exports = fromPairs; /***/ }), /* 796 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { +/***/ (function(__unusedmodule, exports) { "use strict"; -Object.defineProperty(exports, '__esModule', { value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var osName = _interopDefault(__webpack_require__(2)); +Object.defineProperty(exports, '__esModule', { value: true }); function getUserAgent() { - try { - return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; - } catch (error) { - if (/wmic os get Caption/.test(error.message)) { - return "Windows "; - } + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } - throw error; + if (typeof process === "object" && "version" in process) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; } + + return ""; } exports.getUserAgent = getUserAgent; @@ -33202,7 +33595,7 @@ exports.getUserAgent = getUserAgent; /* 797 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _checkForMethod = /*#__PURE__*/__webpack_require__(417); +var _checkForMethod = /*#__PURE__*/__webpack_require__(787); var _curry2 = /*#__PURE__*/__webpack_require__(830); @@ -33275,34 +33668,35 @@ module.exports = _arrayFromIterator; /***/ }), /* 799 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var parse = __webpack_require__(751) +/***/ (function(module) { /** - * @category Month Helpers - * @summary Return the start of a month for the given date. + * @category Day Helpers + * @summary Return the end of yesterday. * * @description - * Return the start of a month for the given date. - * The result will be in the local timezone. + * Return the end of yesterday. * - * @param {Date|String|Number} date - the original date - * @returns {Date} the start of a month + * @returns {Date} the end of yesterday * * @example - * // The start of a month for 2 September 2014 11:55:00: - * var result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0)) - * //=> Mon Sep 01 2014 00:00:00 + * // If today is 6 October 2014: + * var result = endOfYesterday() + * //=> Sun Oct 5 2014 23:59:59.999 */ -function startOfMonth (dirtyDate) { - var date = parse(dirtyDate) - date.setDate(1) - date.setHours(0, 0, 0, 0) +function endOfYesterday () { + var now = new Date() + var year = now.getFullYear() + var month = now.getMonth() + var day = now.getDate() + + var date = new Date(0) + date.setFullYear(year, month, day - 1) + date.setHours(23, 59, 59, 999) return date } -module.exports = startOfMonth +module.exports = endOfYesterday /***/ }), @@ -33310,14 +33704,14 @@ module.exports = startOfMonth /* 801 */ /***/ (function(module, __unusedexports, __webpack_require__) { -const P = __webpack_require__(740); +const P = __webpack_require__(489); // override NODE_ENV so logger can decide what to do with colors process.env.NODE_ENV = 'script'; const log = __webpack_require__(718); -const runScript = async scriptFunc => { +const runScript = async (scriptFunc) => { try { await scriptFunc(); log.green('Script exited.'); @@ -33352,367 +33746,126 @@ module.exports = Number.isInteger || function _isInteger(n) { }; /***/ }), -/* 803 */, -/* 804 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/* 803 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; -module.exports = function(Promise, INTERNAL) { -var THIS = {}; -var util = __webpack_require__(248); -var nodebackForPromise = __webpack_require__(341); -var withAppended = util.withAppended; -var maybeWrapAsError = util.maybeWrapAsError; -var canEvaluate = util.canEvaluate; -var TypeError = __webpack_require__(607).TypeError; -var defaultSuffix = "Async"; -var defaultPromisified = {__isPromisified__: true}; -var noCopyProps = [ - "arity", "length", - "name", - "arguments", - "caller", - "callee", - "prototype", - "__isPromisified__" -]; -var noCopyPropsPattern = new RegExp("^(?:" + noCopyProps.join("|") + ")$"); - -var defaultFilter = function(name) { - return util.isIdentifier(name) && - name.charAt(0) !== "_" && - name !== "constructor"; -}; - -function propsFilter(key) { - return !noCopyPropsPattern.test(key); -} - -function isPromisified(fn) { - try { - return fn.__isPromisified__ === true; - } - catch (e) { - return false; - } -} - -function hasPromisified(obj, key, suffix) { - var val = util.getDataPropertyOrDefault(obj, key + suffix, - defaultPromisified); - return val ? isPromisified(val) : false; -} -function checkValid(ret, suffix, suffixRegexp) { - for (var i = 0; i < ret.length; i += 2) { - var key = ret[i]; - if (suffixRegexp.test(key)) { - var keyWithoutAsyncSuffix = key.replace(suffixRegexp, ""); - for (var j = 0; j < ret.length; j += 2) { - if (ret[j] === keyWithoutAsyncSuffix) { - throw new TypeError("Cannot promisify an API that has normal methods with '%s'-suffix\u000a\u000a See http://goo.gl/MqrFmX\u000a" - .replace("%s", suffix)); - } - } - } - } -} - -function promisifiableMethods(obj, suffix, suffixRegexp, filter) { - var keys = util.inheritedDataKeys(obj); - var ret = []; - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - var value = obj[key]; - var passesDefaultFilter = filter === defaultFilter - ? true : defaultFilter(key, value, obj); - if (typeof value === "function" && - !isPromisified(value) && - !hasPromisified(obj, key, suffix) && - filter(key, value, obj, passesDefaultFilter)) { - ret.push(key, value); - } - } - checkValid(ret, suffix, suffixRegexp); - return ret; -} - -var escapeIdentRegex = function(str) { - return str.replace(/([$])/, "\\$"); -}; - -var makeNodePromisifiedEval; -if (true) { -var switchCaseArgumentOrder = function(likelyArgumentCount) { - var ret = [likelyArgumentCount]; - var min = Math.max(0, likelyArgumentCount - 1 - 3); - for(var i = likelyArgumentCount - 1; i >= min; --i) { - ret.push(i); - } - for(var i = likelyArgumentCount + 1; i <= 3; ++i) { - ret.push(i); - } - return ret; -}; - -var argumentSequence = function(argumentCount) { - return util.filledRange(argumentCount, "_arg", ""); -}; - -var parameterDeclaration = function(parameterCount) { - return util.filledRange( - Math.max(parameterCount, 3), "_arg", ""); -}; - -var parameterCount = function(fn) { - if (typeof fn.length === "number") { - return Math.max(Math.min(fn.length, 1023 + 1), 0); - } - return 0; -}; - -makeNodePromisifiedEval = -function(callback, receiver, originalName, fn, _, multiArgs) { - var newParameterCount = Math.max(0, parameterCount(fn) - 1); - var argumentOrder = switchCaseArgumentOrder(newParameterCount); - var shouldProxyThis = typeof callback === "string" || receiver === THIS; - - function generateCallForArgumentCount(count) { - var args = argumentSequence(count).join(", "); - var comma = count > 0 ? ", " : ""; - var ret; - if (shouldProxyThis) { - ret = "ret = callback.call(this, {{args}}, nodeback); break;\n"; - } else { - ret = receiver === undefined - ? "ret = callback({{args}}, nodeback); break;\n" - : "ret = callback.call(receiver, {{args}}, nodeback); break;\n"; - } - return ret.replace("{{args}}", args).replace(", ", comma); - } - - function generateArgumentSwitchCase() { - var ret = ""; - for (var i = 0; i < argumentOrder.length; ++i) { - ret += "case " + argumentOrder[i] +":" + - generateCallForArgumentCount(argumentOrder[i]); - } - - ret += " \n\ - default: \n\ - var args = new Array(len + 1); \n\ - var i = 0; \n\ - for (var i = 0; i < len; ++i) { \n\ - args[i] = arguments[i]; \n\ - } \n\ - args[i] = nodeback; \n\ - [CodeForCall] \n\ - break; \n\ - ".replace("[CodeForCall]", (shouldProxyThis - ? "ret = callback.apply(this, args);\n" - : "ret = callback.apply(receiver, args);\n")); - return ret; - } - - var getFunctionCode = typeof callback === "string" - ? ("this != null ? this['"+callback+"'] : fn") - : "fn"; - var body = "'use strict'; \n\ - var ret = function (Parameters) { \n\ - 'use strict'; \n\ - var len = arguments.length; \n\ - var promise = new Promise(INTERNAL); \n\ - promise._captureStackTrace(); \n\ - var nodeback = nodebackForPromise(promise, " + multiArgs + "); \n\ - var ret; \n\ - var callback = tryCatch([GetFunctionCode]); \n\ - switch(len) { \n\ - [CodeForSwitchCase] \n\ - } \n\ - if (ret === errorObj) { \n\ - promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n\ - } \n\ - if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n\ - return promise; \n\ - }; \n\ - notEnumerableProp(ret, '__isPromisified__', true); \n\ - return ret; \n\ - ".replace("[CodeForSwitchCase]", generateArgumentSwitchCase()) - .replace("[GetFunctionCode]", getFunctionCode); - body = body.replace("Parameters", parameterDeclaration(newParameterCount)); - return new Function("Promise", - "fn", - "receiver", - "withAppended", - "maybeWrapAsError", - "nodebackForPromise", - "tryCatch", - "errorObj", - "notEnumerableProp", - "INTERNAL", - body)( - Promise, - fn, - receiver, - withAppended, - maybeWrapAsError, - nodebackForPromise, - util.tryCatch, - util.errorObj, - util.notEnumerableProp, - INTERNAL); -}; -} -function makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) { - var defaultThis = (function() {return this;})(); - var method = callback; - if (typeof method === "string") { - callback = fn; - } - function promisified() { - var _receiver = receiver; - if (receiver === THIS) _receiver = this; - var promise = new Promise(INTERNAL); - promise._captureStackTrace(); - var cb = typeof method === "string" && this !== defaultThis - ? this[method] : callback; - var fn = nodebackForPromise(promise, multiArgs); - try { - cb.apply(_receiver, withAppended(arguments, fn)); - } catch(e) { - promise._rejectCallback(maybeWrapAsError(e), true, true); - } - if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); - return promise; - } - util.notEnumerableProp(promisified, "__isPromisified__", true); - return promisified; -} +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; -var makeNodePromisified = canEvaluate - ? makeNodePromisifiedEval - : makeNodePromisifiedClosure; +var _crypto = _interopRequireDefault(__webpack_require__(417)); -function promisifyAll(obj, suffix, filter, promisifier, multiArgs) { - var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + "$"); - var methods = - promisifiableMethods(obj, suffix, suffixRegexp, filter); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - for (var i = 0, len = methods.length; i < len; i+= 2) { - var key = methods[i]; - var fn = methods[i+1]; - var promisifiedKey = key + suffix; - if (promisifier === makeNodePromisified) { - obj[promisifiedKey] = - makeNodePromisified(key, THIS, key, fn, suffix, multiArgs); - } else { - var promisified = promisifier(fn, function() { - return makeNodePromisified(key, THIS, key, - fn, suffix, multiArgs); - }); - util.notEnumerableProp(promisified, "__isPromisified__", true); - obj[promisifiedKey] = promisified; - } - } - util.toFastProperties(obj); - return obj; -} +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } -function promisify(callback, receiver, multiArgs) { - return makeNodePromisified(callback, receiver, undefined, - callback, null, multiArgs); + return _crypto.default.createHash('md5').update(bytes).digest(); } -Promise.promisify = function (fn, options) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - if (isPromisified(fn)) { - return fn; - } - options = Object(options); - var receiver = options.context === undefined ? THIS : options.context; - var multiArgs = !!options.multiArgs; - var ret = promisify(fn, receiver, multiArgs); - util.copyDescriptors(fn, ret, propsFilter); - return ret; -}; - -Promise.promisifyAll = function (target, options) { - if (typeof target !== "function" && typeof target !== "object") { - throw new TypeError("the target of promisifyAll must be an object or a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - options = Object(options); - var multiArgs = !!options.multiArgs; - var suffix = options.suffix; - if (typeof suffix !== "string") suffix = defaultSuffix; - var filter = options.filter; - if (typeof filter !== "function") filter = defaultFilter; - var promisifier = options.promisifier; - if (typeof promisifier !== "function") promisifier = makeNodePromisified; - - if (!util.isIdentifier(suffix)) { - throw new RangeError("suffix must be a valid identifier\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - - var keys = util.inheritedDataKeys(target); - for (var i = 0; i < keys.length; ++i) { - var value = target[keys[i]]; - if (keys[i] !== "constructor" && - util.isClass(value)) { - promisifyAll(value.prototype, suffix, filter, promisifier, - multiArgs); - promisifyAll(value, suffix, filter, promisifier, multiArgs); - } - } - - return promisifyAll(target, suffix, filter, promisifier, multiArgs); -}; -}; - - +var _default = md5; +exports.default = _default; /***/ }), +/* 804 */, /* 805 */, /* 806 */, /* 807 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var getQuarter = __webpack_require__(267) -var parse = __webpack_require__(751) +var _curry2 = /*#__PURE__*/__webpack_require__(830); /** - * @category Quarter Helpers - * @summary Get the number of calendar quarters between the given dates. + * Wraps a function of any arity (including nullary) in a function that accepts + * exactly `n` parameters. Any extraneous parameters will not be passed to the + * supplied function. * - * @description - * Get the number of calendar quarters between the given dates. + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig Number -> (* -> a) -> (* -> a) + * @param {Number} n The desired arity of the new function. + * @param {Function} fn The function to wrap. + * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of + * arity `n`. + * @see R.binary, R.unary + * @example * - * @param {Date|String|Number} dateLeft - the later date - * @param {Date|String|Number} dateRight - the earlier date - * @returns {Number} the number of calendar quarters + * const takesTwoArgs = (a, b) => [a, b]; * - * @example - * // How many calendar quarters are between 31 December 2013 and 2 July 2014? - * var result = differenceInCalendarQuarters( - * new Date(2014, 6, 2), - * new Date(2013, 11, 31) - * ) - * //=> 3 + * takesTwoArgs.length; //=> 2 + * takesTwoArgs(1, 2); //=> [1, 2] + * + * const takesOneArg = R.nAry(1, takesTwoArgs); + * takesOneArg.length; //=> 1 + * // Only `n` arguments are passed to the wrapped function + * takesOneArg(1, 2); //=> [1, undefined] + * @symb R.nAry(0, f)(a, b) = f() + * @symb R.nAry(1, f)(a, b) = f(a) + * @symb R.nAry(2, f)(a, b) = f(a, b) */ -function differenceInCalendarQuarters (dirtyDateLeft, dirtyDateRight) { - var dateLeft = parse(dirtyDateLeft) - var dateRight = parse(dirtyDateRight) - - var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear() - var quarterDiff = getQuarter(dateLeft) - getQuarter(dateRight) - - return yearDiff * 4 + quarterDiff -} -module.exports = differenceInCalendarQuarters +var nAry = /*#__PURE__*/_curry2(function nAry(n, fn) { + switch (n) { + case 0: + return function () { + return fn.call(this); + }; + case 1: + return function (a0) { + return fn.call(this, a0); + }; + case 2: + return function (a0, a1) { + return fn.call(this, a0, a1); + }; + case 3: + return function (a0, a1, a2) { + return fn.call(this, a0, a1, a2); + }; + case 4: + return function (a0, a1, a2, a3) { + return fn.call(this, a0, a1, a2, a3); + }; + case 5: + return function (a0, a1, a2, a3, a4) { + return fn.call(this, a0, a1, a2, a3, a4); + }; + case 6: + return function (a0, a1, a2, a3, a4, a5) { + return fn.call(this, a0, a1, a2, a3, a4, a5); + }; + case 7: + return function (a0, a1, a2, a3, a4, a5, a6) { + return fn.call(this, a0, a1, a2, a3, a4, a5, a6); + }; + case 8: + return function (a0, a1, a2, a3, a4, a5, a6, a7) { + return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7); + }; + case 9: + return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) { + return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8); + }; + case 10: + return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); + }; + default: + throw new Error('First argument to nAry must be a non-negative integer no greater than ten'); + } +}); +module.exports = nAry; /***/ }), /* 808 */ @@ -33781,7 +33934,7 @@ module.exports = endOfTomorrow /* 810 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var endOfWeek = __webpack_require__(842) +var endOfWeek = __webpack_require__(301) /** * @category ISO Week Helpers @@ -33852,8 +34005,14 @@ module.exports = _xdropWhile; Object.defineProperty(exports, '__esModule', { value: true }); +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; async function auth(token) { - const tokenType = token.split(/\./).length === 3 ? "app" : /^v\d+\./.test(token) ? "installation" : "oauth"; + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; return { type: "token", token: token, @@ -33869,235 +34028,146 @@ async function auth(token) { function withAuthorizationPrefix(token) { if (token.split(/\./).length === 3) { return `bearer ${token}`; - } - - return `token ${token}`; -} - -async function hook(token, request, route, parameters) { - const endpoint = request.endpoint.merge(route, parameters); - endpoint.headers.authorization = withAuthorizationPrefix(token); - return request(endpoint); -} - -const createTokenAuth = function createTokenAuth(token) { - if (!token) { - throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); - } - - if (typeof token !== "string") { - throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); - } - - token = token.replace(/^(token|bearer) +/i, ""); - return Object.assign(auth.bind(null, token), { - hook: hook.bind(null, token) - }); -}; - -exports.createTokenAuth = createTokenAuth; -//# sourceMappingURL=index.js.map - - -/***/ }), -/* 814 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = which -which.sync = whichSync - -var isWindows = process.platform === 'win32' || - process.env.OSTYPE === 'cygwin' || - process.env.OSTYPE === 'msys' - -var path = __webpack_require__(622) -var COLON = isWindows ? ';' : ':' -var isexe = __webpack_require__(742) - -function getNotFoundError (cmd) { - var er = new Error('not found: ' + cmd) - er.code = 'ENOENT' - - return er -} - -function getPathInfo (cmd, opt) { - var colon = opt.colon || COLON - var pathEnv = opt.path || process.env.PATH || '' - var pathExt = [''] - - pathEnv = pathEnv.split(colon) - - var pathExtExe = '' - if (isWindows) { - pathEnv.unshift(process.cwd()) - pathExtExe = (opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM') - pathExt = pathExtExe.split(colon) - - - // Always test the cmd itself first. isexe will check to make sure - // it's found in the pathExt set. - if (cmd.indexOf('.') !== -1 && pathExt[0] !== '') - pathExt.unshift('') - } - - // If it has a slash, then we don't bother searching the pathenv. - // just check the file itself, and that's it. - if (cmd.match(/\//) || isWindows && cmd.match(/\\/)) - pathEnv = [''] - - return { - env: pathEnv, - ext: pathExt, - extExe: pathExtExe - } -} - -function which (cmd, opt, cb) { - if (typeof opt === 'function') { - cb = opt - opt = {} - } - - var info = getPathInfo(cmd, opt) - var pathEnv = info.env - var pathExt = info.ext - var pathExtExe = info.extExe - var found = [] - - ;(function F (i, l) { - if (i === l) { - if (opt.all && found.length) - return cb(null, found) - else - return cb(getNotFoundError(cmd)) - } - - var pathPart = pathEnv[i] - if (pathPart.charAt(0) === '"' && pathPart.slice(-1) === '"') - pathPart = pathPart.slice(1, -1) + } - var p = path.join(pathPart, cmd) - if (!pathPart && (/^\.[\\\/]/).test(cmd)) { - p = cmd.slice(0, 2) + p - } - ;(function E (ii, ll) { - if (ii === ll) return F(i + 1, l) - var ext = pathExt[ii] - isexe(p + ext, { pathExt: pathExtExe }, function (er, is) { - if (!er && is) { - if (opt.all) - found.push(p + ext) - else - return cb(null, p + ext) - } - return E(ii + 1, ll) - }) - })(0, pathExt.length) - })(0, pathEnv.length) + return `token ${token}`; } -function whichSync (cmd, opt) { - opt = opt || {} - - var info = getPathInfo(cmd, opt) - var pathEnv = info.env - var pathExt = info.ext - var pathExtExe = info.extExe - var found = [] - - for (var i = 0, l = pathEnv.length; i < l; i ++) { - var pathPart = pathEnv[i] - if (pathPart.charAt(0) === '"' && pathPart.slice(-1) === '"') - pathPart = pathPart.slice(1, -1) +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} - var p = path.join(pathPart, cmd) - if (!pathPart && /^\.[\\\/]/.test(cmd)) { - p = cmd.slice(0, 2) + p - } - for (var j = 0, ll = pathExt.length; j < ll; j ++) { - var cur = p + pathExt[j] - var is - try { - is = isexe.sync(cur, { pathExt: pathExtExe }) - if (is) { - if (opt.all) - found.push(cur) - else - return cur - } - } catch (ex) {} - } +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); } - if (opt.all && found.length) - return found + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } - if (opt.nothrow) - return null + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; - throw getNotFoundError(cmd) -} +exports.createTokenAuth = createTokenAuth; +//# sourceMappingURL=index.js.map /***/ }), -/* 815 */, -/* 816 */ -/***/ (function(module) { +/* 814 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; +var _concat = /*#__PURE__*/__webpack_require__(340); + +var _createPartialApplicator = /*#__PURE__*/__webpack_require__(166); + +/** + * Takes a function `f` and a list of arguments, and returns a function `g`. + * When applied, `g` returns the result of applying `f` to the arguments + * provided initially followed by the arguments provided to `g`. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category Function + * @sig ((a, b, c, ..., n) -> x) -> [a, b, c, ...] -> ((d, e, f, ..., n) -> x) + * @param {Function} f + * @param {Array} args + * @return {Function} + * @see R.partialRight, R.curry + * @example + * + * const multiply2 = (a, b) => a * b; + * const double = R.partial(multiply2, [2]); + * double(2); //=> 4 + * + * const greet = (salutation, title, firstName, lastName) => + * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!'; + * + * const sayHello = R.partial(greet, ['Hello']); + * const sayHelloToMs = R.partial(sayHello, ['Ms.']); + * sayHelloToMs('Jane', 'Jones'); //=> 'Hello, Ms. Jane Jones!' + * @symb R.partial(f, [a, b])(c, d) = f(a, b, c, d) + */ -module.exports = /^#!.*/; +var partial = /*#__PURE__*/_createPartialApplicator(_concat); +module.exports = partial; /***/ }), +/* 815 */, +/* 816 */, /* 817 */, /* 818 */ /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = isexe -isexe.sync = sync +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +var _isArray = /*#__PURE__*/__webpack_require__(930); + +var _isFunction = /*#__PURE__*/__webpack_require__(504); -var fs = __webpack_require__(747) +var _isString = /*#__PURE__*/__webpack_require__(285); -function checkPathExt (path, options) { - var pathext = options.pathExt !== undefined ? - options.pathExt : process.env.PATHEXT +var toString = /*#__PURE__*/__webpack_require__(854); + +/** + * Returns the result of concatenating the given lists or strings. + * + * Note: `R.concat` expects both arguments to be of the same type, + * unlike the native `Array.prototype.concat` method. It will throw + * an error if you `concat` an Array with a non-Array value. + * + * Dispatches to the `concat` method of the first argument, if present. + * Can also concatenate two members of a [fantasy-land + * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup). + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig [a] -> [a] -> [a] + * @sig String -> String -> String + * @param {Array|String} firstList The first list + * @param {Array|String} secondList The second list + * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of + * `secondList`. + * + * @example + * + * R.concat('ABC', 'DEF'); // 'ABCDEF' + * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3] + * R.concat([], []); //=> [] + */ - if (!pathext) { - return true - } - pathext = pathext.split(';') - if (pathext.indexOf('') !== -1) { - return true +var concat = /*#__PURE__*/_curry2(function concat(a, b) { + if (_isArray(a)) { + if (_isArray(b)) { + return a.concat(b); + } + throw new TypeError(toString(b) + ' is not an array'); } - for (var i = 0; i < pathext.length; i++) { - var p = pathext[i].toLowerCase() - if (p && path.substr(-p.length).toLowerCase() === p) { - return true + if (_isString(a)) { + if (_isString(b)) { + return a + b; } + throw new TypeError(toString(b) + ' is not a string'); } - return false -} - -function checkStat (stat, path, options) { - if (!stat.isSymbolicLink() && !stat.isFile()) { - return false + if (a != null && _isFunction(a['fantasy-land/concat'])) { + return a['fantasy-land/concat'](b); } - return checkPathExt(path, options) -} - -function isexe (path, options, cb) { - fs.stat(path, function (er, stat) { - cb(er, er ? false : checkStat(stat, path, options)) - }) -} - -function sync (path, options) { - return checkStat(fs.statSync(path), path, options) -} - + if (a != null && _isFunction(a.concat)) { + return a.concat(b); + } + throw new TypeError(toString(a) + ' does not have a method named "concat" or "fantasy-land/concat"'); +}); +module.exports = concat; /***/ }), /* 819 */ @@ -34105,7 +34175,7 @@ function sync (path, options) { var _curry2 = /*#__PURE__*/__webpack_require__(830); -var map = /*#__PURE__*/__webpack_require__(534); +var map = /*#__PURE__*/__webpack_require__(197); var prop = /*#__PURE__*/__webpack_require__(196); @@ -34144,306 +34214,51 @@ var pluck = /*#__PURE__*/_curry2(function pluck(p, list) { module.exports = pluck; /***/ }), -/* 820 */ -/***/ (function(module) { - -"use strict"; - - -// Manually added data to be used by sbcs codec in addition to generated one. - -module.exports = { - // Not supported by iconv, not sure why. - "10029": "maccenteuro", - "maccenteuro": { - "type": "_sbcs", - "chars": "ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ" - }, - - "808": "cp808", - "ibm808": "cp808", - "cp808": { - "type": "_sbcs", - "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№€■ " - }, - - "mik": { - "type": "_sbcs", - "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " - }, - - // Aliases of generated encodings. - "ascii8bit": "ascii", - "usascii": "ascii", - "ansix34": "ascii", - "ansix341968": "ascii", - "ansix341986": "ascii", - "csascii": "ascii", - "cp367": "ascii", - "ibm367": "ascii", - "isoir6": "ascii", - "iso646us": "ascii", - "iso646irv": "ascii", - "us": "ascii", - - "latin1": "iso88591", - "latin2": "iso88592", - "latin3": "iso88593", - "latin4": "iso88594", - "latin5": "iso88599", - "latin6": "iso885910", - "latin7": "iso885913", - "latin8": "iso885914", - "latin9": "iso885915", - "latin10": "iso885916", - - "csisolatin1": "iso88591", - "csisolatin2": "iso88592", - "csisolatin3": "iso88593", - "csisolatin4": "iso88594", - "csisolatincyrillic": "iso88595", - "csisolatinarabic": "iso88596", - "csisolatingreek" : "iso88597", - "csisolatinhebrew": "iso88598", - "csisolatin5": "iso88599", - "csisolatin6": "iso885910", - - "l1": "iso88591", - "l2": "iso88592", - "l3": "iso88593", - "l4": "iso88594", - "l5": "iso88599", - "l6": "iso885910", - "l7": "iso885913", - "l8": "iso885914", - "l9": "iso885915", - "l10": "iso885916", - - "isoir14": "iso646jp", - "isoir57": "iso646cn", - "isoir100": "iso88591", - "isoir101": "iso88592", - "isoir109": "iso88593", - "isoir110": "iso88594", - "isoir144": "iso88595", - "isoir127": "iso88596", - "isoir126": "iso88597", - "isoir138": "iso88598", - "isoir148": "iso88599", - "isoir157": "iso885910", - "isoir166": "tis620", - "isoir179": "iso885913", - "isoir199": "iso885914", - "isoir203": "iso885915", - "isoir226": "iso885916", - - "cp819": "iso88591", - "ibm819": "iso88591", - - "cyrillic": "iso88595", - - "arabic": "iso88596", - "arabic8": "iso88596", - "ecma114": "iso88596", - "asmo708": "iso88596", - - "greek" : "iso88597", - "greek8" : "iso88597", - "ecma118" : "iso88597", - "elot928" : "iso88597", - - "hebrew": "iso88598", - "hebrew8": "iso88598", - - "turkish": "iso88599", - "turkish8": "iso88599", - - "thai": "iso885911", - "thai8": "iso885911", - - "celtic": "iso885914", - "celtic8": "iso885914", - "isoceltic": "iso885914", - - "tis6200": "tis620", - "tis62025291": "tis620", - "tis62025330": "tis620", - - "10000": "macroman", - "10006": "macgreek", - "10007": "maccyrillic", - "10079": "maciceland", - "10081": "macturkish", - - "cspc8codepage437": "cp437", - "cspc775baltic": "cp775", - "cspc850multilingual": "cp850", - "cspcp852": "cp852", - "cspc862latinhebrew": "cp862", - "cpgr": "cp869", - - "msee": "cp1250", - "mscyrl": "cp1251", - "msansi": "cp1252", - "msgreek": "cp1253", - "msturk": "cp1254", - "mshebr": "cp1255", - "msarab": "cp1256", - "winbaltrim": "cp1257", - - "cp20866": "koi8r", - "20866": "koi8r", - "ibm878": "koi8r", - "cskoi8r": "koi8r", - - "cp21866": "koi8u", - "21866": "koi8u", - "ibm1168": "koi8u", - - "strk10482002": "rk1048", - - "tcvn5712": "tcvn", - "tcvn57121": "tcvn", - - "gb198880": "iso646cn", - "cn": "iso646cn", - - "csiso14jisc6220ro": "iso646jp", - "jisc62201969ro": "iso646jp", - "jp": "iso646jp", - - "cshproman8": "hproman8", - "r8": "hproman8", - "roman8": "hproman8", - "xroman8": "hproman8", - "ibm1051": "hproman8", - - "mac": "macintosh", - "csmacintosh": "macintosh", -}; - - - -/***/ }), +/* 820 */, /* 821 */, /* 822 */, /* 823 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var addISOYears = __webpack_require__(774) +var _includes = /*#__PURE__*/__webpack_require__(216); + +var _curry2 = /*#__PURE__*/__webpack_require__(830); /** - * @category ISO Week-Numbering Year Helpers - * @summary Subtract the specified number of ISO week-numbering years from the given date. - * - * @description - * Subtract the specified number of ISO week-numbering years from the given date. - * - * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of ISO week-numbering years to be subtracted - * @returns {Date} the new date with the ISO week-numbering years subtracted + * Returns `true` if the specified value is equal, in [`R.equals`](#equals) + * terms, to at least one element of the given list; `false` otherwise. + * Works also with strings. * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig a -> [a] -> Boolean + * @param {Object} a The item to compare against. + * @param {Array} list The array to consider. + * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise. + * @see R.includes + * @deprecated since v0.26.0 * @example - * // Subtract 5 ISO week-numbering years from 1 September 2014: - * var result = subISOYears(new Date(2014, 8, 1), 5) - * //=> Mon Aug 31 2009 00:00:00 + * + * R.contains(3, [1, 2, 3]); //=> true + * R.contains(4, [1, 2, 3]); //=> false + * R.contains({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true + * R.contains([42], [[42]]); //=> true + * R.contains('ba', 'banana'); //=>true */ -function subISOYears (dirtyDate, dirtyAmount) { - var amount = Number(dirtyAmount) - return addISOYears(dirtyDate, -amount) -} -module.exports = subISOYears +var contains = /*#__PURE__*/_curry2(_includes); +module.exports = contains; /***/ }), /* 824 */, -/* 825 */ -/***/ (function(module) { - -"use strict"; - -function arrayMove(src, srcIndex, dst, dstIndex, len) { - for (var j = 0; j < len; ++j) { - dst[j + dstIndex] = src[j + srcIndex]; - src[j + srcIndex] = void 0; - } -} - -function Queue(capacity) { - this._capacity = capacity; - this._length = 0; - this._front = 0; -} - -Queue.prototype._willBeOverCapacity = function (size) { - return this._capacity < size; -}; - -Queue.prototype._pushOne = function (arg) { - var length = this.length(); - this._checkCapacity(length + 1); - var i = (this._front + length) & (this._capacity - 1); - this[i] = arg; - this._length = length + 1; -}; - -Queue.prototype.push = function (fn, receiver, arg) { - var length = this.length() + 3; - if (this._willBeOverCapacity(length)) { - this._pushOne(fn); - this._pushOne(receiver); - this._pushOne(arg); - return; - } - var j = this._front + length - 3; - this._checkCapacity(length); - var wrapMask = this._capacity - 1; - this[(j + 0) & wrapMask] = fn; - this[(j + 1) & wrapMask] = receiver; - this[(j + 2) & wrapMask] = arg; - this._length = length; -}; - -Queue.prototype.shift = function () { - var front = this._front, - ret = this[front]; - - this[front] = undefined; - this._front = (front + 1) & (this._capacity - 1); - this._length--; - return ret; -}; - -Queue.prototype.length = function () { - return this._length; -}; - -Queue.prototype._checkCapacity = function (size) { - if (this._capacity < size) { - this._resizeTo(this._capacity << 1); - } -}; - -Queue.prototype._resizeTo = function (capacity) { - var oldCapacity = this._capacity; - this._capacity = capacity; - var front = this._front; - var length = this._length; - var moveItemsCount = (front + length) & (oldCapacity - 1); - arrayMove(this, 0, this, oldCapacity, moveItemsCount); -}; - -module.exports = Queue; - - -/***/ }), +/* 825 */, /* 826 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * The `mapAccumRight` function behaves like a combination of map and reduce; it @@ -34505,7 +34320,7 @@ var _curry2 = /*#__PURE__*/__webpack_require__(830); var ap = /*#__PURE__*/__webpack_require__(641); -var map = /*#__PURE__*/__webpack_require__(534); +var map = /*#__PURE__*/__webpack_require__(197); var prepend = /*#__PURE__*/__webpack_require__(773); @@ -34588,29 +34403,42 @@ module.exports = _curry2; /* 831 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) +var _curry3 = /*#__PURE__*/__webpack_require__(687); + +var equals = /*#__PURE__*/__webpack_require__(701); + +var path = /*#__PURE__*/__webpack_require__(756); /** - * @category Weekday Helpers - * @summary Is the given date Monday? - * - * @description - * Is the given date Monday? - * - * @param {Date|String|Number} date - the date to check - * @returns {Boolean} the date is Monday + * Determines whether a nested path on an object has a specific value, in + * [`R.equals`](#equals) terms. Most likely used to filter a list. * + * @func + * @memberOf R + * @since v0.7.0 + * @category Relation + * @typedefn Idx = String | Int + * @sig [Idx] -> a -> {a} -> Boolean + * @param {Array} path The path of the nested property to use + * @param {*} val The value to compare the nested property with + * @param {Object} obj The object to check the nested property in + * @return {Boolean} `true` if the value equals the nested object property, + * `false` otherwise. * @example - * // Is 22 September 2014 Monday? - * var result = isMonday(new Date(2014, 8, 22)) - * //=> true + * + * const user1 = { address: { zipCode: 90210 } }; + * const user2 = { address: { zipCode: 55555 } }; + * const user3 = { name: 'Bob' }; + * const users = [ user1, user2, user3 ]; + * const isFamous = R.pathEq(['address', 'zipCode'], 90210); + * R.filter(isFamous, users); //=> [ user1 ] */ -function isMonday (dirtyDate) { - return parse(dirtyDate).getDay() === 1 -} -module.exports = isMonday +var pathEq = /*#__PURE__*/_curry3(function pathEq(_path, val, obj) { + return equals(path(_path, obj), val); +}); +module.exports = pathEq; /***/ }), /* 832 */ @@ -34676,19 +34504,52 @@ function getDayOfYear (dirtyDate) { module.exports = getDayOfYear -/***/ }), -/* 834 */, -/* 835 */ -/***/ (function(module) { +/***/ }), +/* 834 */, +/* 835 */ +/***/ (function(module) { + +module.exports = require("url"); + +/***/ }), +/* 836 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +/** + * Returns `true` if the first argument is greater than or equal to the second; + * `false` otherwise. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig Ord a => a -> a -> Boolean + * @param {Number} a + * @param {Number} b + * @return {Boolean} + * @see R.lte + * @example + * + * R.gte(2, 1); //=> true + * R.gte(2, 2); //=> true + * R.gte(2, 3); //=> false + * R.gte('a', 'z'); //=> false + * R.gte('z', 'a'); //=> true + */ + -module.exports = require("url"); +var gte = /*#__PURE__*/_curry2(function gte(a, b) { + return a >= b; +}); +module.exports = gte; /***/ }), -/* 836 */, /* 837 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Creates a new list out of the two supplied by applying the function to each @@ -34724,386 +34585,1271 @@ var zipWith = /*#__PURE__*/_curry3(function zipWith(fn, a, b) { rv[idx] = fn(a[idx], b[idx]); idx += 1; } - return rv; -}); -module.exports = zipWith; - -/***/ }), -/* 838 */, -/* 839 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var _xfBase = /*#__PURE__*/__webpack_require__(60); + return rv; +}); +module.exports = zipWith; + +/***/ }), +/* 838 */, +/* 839 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry2 = /*#__PURE__*/__webpack_require__(830); + +var _xfBase = /*#__PURE__*/__webpack_require__(60); + +var XTap = /*#__PURE__*/function () { + + function XTap(f, xf) { + this.xf = xf; + this.f = f; + } + XTap.prototype['@@transducer/init'] = _xfBase.init; + XTap.prototype['@@transducer/result'] = _xfBase.result; + XTap.prototype['@@transducer/step'] = function (result, input) { + this.f(input); + return this.xf['@@transducer/step'](result, input); + }; + + return XTap; +}(); + +var _xtap = /*#__PURE__*/_curry2(function _xtap(f, xf) { + return new XTap(f, xf); +}); +module.exports = _xtap; + +/***/ }), +/* 840 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var parse = __webpack_require__(751) + +/** + * @category Common Helpers + * @summary Is the given date in the future? + * + * @description + * Is the given date in the future? + * + * @param {Date|String|Number} date - the date to check + * @returns {Boolean} the date is in the future + * + * @example + * // If today is 6 October 2014, is 31 December 2014 in the future? + * var result = isFuture(new Date(2014, 11, 31)) + * //=> true + */ +function isFuture (dirtyDate) { + return parse(dirtyDate).getTime() > new Date().getTime() +} + +module.exports = isFuture + + +/***/ }), +/* 841 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _objectAssign = /*#__PURE__*/__webpack_require__(289); + +var _curry1 = /*#__PURE__*/__webpack_require__(721); + +/** + * Merges a list of objects together into one object. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category List + * @sig [{k: v}] -> {k: v} + * @param {Array} list An array of objects + * @return {Object} A merged object. + * @see R.reduce + * @example + * + * R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3} + * R.mergeAll([{foo:1},{foo:2},{bar:2}]); //=> {foo:2,bar:2} + * @symb R.mergeAll([{ x: 1 }, { y: 2 }, { z: 3 }]) = { x: 1, y: 2, z: 3 } + */ + + +var mergeAll = /*#__PURE__*/_curry1(function mergeAll(list) { + return _objectAssign.apply(null, [{}].concat(list)); +}); +module.exports = mergeAll; + +/***/ }), +/* 842 */ +/***/ (function(__unusedmodule, exports) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +const Endpoints = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: ["POST /orgs/{org}/actions/runners/{runner_id}/labels"], + addCustomLabelsToSelfHostedRunnerForRepo: ["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + addSelectedRepoToOrgVariable: ["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"], + addSelectedRepoToRequiredWorkflow: ["PUT /orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories/{repository_id}"], + approveWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"], + cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"], + createEnvironmentVariable: ["POST /repositories/{repository_id}/environments/{environment_name}/variables"], + createOrUpdateEnvironmentSecret: ["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + createOrgVariable: ["POST /orgs/{org}/actions/variables"], + createRegistrationTokenForOrg: ["POST /orgs/{org}/actions/runners/registration-token"], + createRegistrationTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/registration-token"], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"], + createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], + createRequiredWorkflow: ["POST /orgs/{org}/actions/required_workflows"], + createWorkflowDispatch: ["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"], + deleteActionsCacheById: ["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"], + deleteActionsCacheByKey: ["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"], + deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + deleteEnvironmentSecret: ["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + deleteEnvironmentVariable: ["DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + deleteRepoVariable: ["DELETE /repos/{owner}/{repo}/actions/variables/{name}"], + deleteRequiredWorkflow: ["DELETE /orgs/{org}/actions/required_workflows/{required_workflow_id}"], + deleteSelfHostedRunnerFromOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}"], + deleteSelfHostedRunnerFromRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + disableSelectedRepositoryGithubActionsOrganization: ["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"], + disableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"], + downloadArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"], + downloadJobLogsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"], + downloadWorkflowRunAttemptLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"], + downloadWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + enableSelectedRepositoryGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"], + enableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"], + getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], + getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheUsageByRepoForOrg: ["GET /orgs/{org}/actions/cache/usage-by-repository"], + getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getAllowedActionsOrganization: ["GET /orgs/{org}/actions/permissions/selected-actions"], + getAllowedActionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"], + getEnvironmentSecret: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + getEnvironmentVariable: ["GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}"], + getGithubActionsDefaultWorkflowPermissionsOrganization: ["GET /orgs/{org}/actions/permissions/workflow"], + getGithubActionsDefaultWorkflowPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/workflow"], + getGithubActionsPermissionsOrganization: ["GET /orgs/{org}/actions/permissions"], + getGithubActionsPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions"], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"], + getPendingDeploymentsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + getRepoPermissions: ["GET /repos/{owner}/{repo}/actions/permissions", {}, { + renamed: ["actions", "getGithubActionsPermissionsRepository"] + }], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoRequiredWorkflow: ["GET /repos/{org}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}"], + getRepoRequiredWorkflowUsage: ["GET /repos/{org}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}/timing"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"], + getRequiredWorkflow: ["GET /orgs/{org}/actions/required_workflows/{required_workflow_id}"], + getReviewsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowAccessToRepository: ["GET /repos/{owner}/{repo}/actions/permissions/access"], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"], + getWorkflowRunUsage: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"], + getWorkflowUsage: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets"], + listEnvironmentVariables: ["GET /repositories/{repository_id}/environments/{environment_name}/variables"], + listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"], + listJobsForWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"], + listLabelsForSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}/labels"], + listLabelsForSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listOrgVariables: ["GET /orgs/{org}/actions/variables"], + listRepoRequiredWorkflows: ["GET /repos/{org}/{repo}/actions/required_workflows"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRequiredWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}/runs"], + listRequiredWorkflows: ["GET /orgs/{org}/actions/required_workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: ["GET /repos/{owner}/{repo}/actions/runners/downloads"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"], + listSelectedReposForOrgVariable: ["GET /orgs/{org}/actions/variables/{name}/repositories"], + listSelectedRepositoriesEnabledGithubActionsOrganization: ["GET /orgs/{org}/actions/permissions/repositories"], + listSelectedRepositoriesRequiredWorkflow: ["GET /orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories"], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"], + listWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunJobForWorkflowRun: ["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + reRunWorkflowFailedJobs: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"], + removeAllCustomLabelsFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + removeCustomLabelFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"], + removeCustomLabelFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + removeSelectedRepoFromOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"], + removeSelectedRepoFromRequiredWorkflow: ["DELETE /orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories/{repository_id}"], + reviewPendingDeploymentsForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + setAllowedActionsOrganization: ["PUT /orgs/{org}/actions/permissions/selected-actions"], + setAllowedActionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"], + setCustomLabelsForSelfHostedRunnerForOrg: ["PUT /orgs/{org}/actions/runners/{runner_id}/labels"], + setCustomLabelsForSelfHostedRunnerForRepo: ["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + setGithubActionsDefaultWorkflowPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions/workflow"], + setGithubActionsDefaultWorkflowPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/workflow"], + setGithubActionsPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions"], + setGithubActionsPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"], + setSelectedReposForOrgVariable: ["PUT /orgs/{org}/actions/variables/{name}/repositories"], + setSelectedReposToRequiredWorkflow: ["PUT /orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories"], + setSelectedRepositoriesEnabledGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories"], + setWorkflowAccessToRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/access"], + updateEnvironmentVariable: ["PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}"], + updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], + updateRepoVariable: ["PATCH /repos/{owner}/{repo}/actions/variables/{name}"], + updateRequiredWorkflow: ["PATCH /orgs/{org}/actions/required_workflows/{required_workflow_id}"] + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: ["DELETE /notifications/threads/{thread_id}/subscription"], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: ["GET /notifications/threads/{thread_id}/subscription"], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: ["GET /users/{username}/events/orgs/{org}"], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: ["GET /users/{username}/received_events/public"], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: ["GET /repos/{owner}/{repo}/notifications"], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: ["PUT /notifications/threads/{thread_id}/subscription"], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + }, + apps: { + addRepoToInstallation: ["PUT /user/installations/{installation_id}/repositories/{repository_id}", {}, { + renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] + }], + addRepoToInstallationForAuthenticatedUser: ["PUT /user/installations/{installation_id}/repositories/{repository_id}"], + checkToken: ["POST /applications/{client_id}/token"], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: ["POST /app/installations/{installation_id}/access_tokens"], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: ["GET /marketplace_listing/accounts/{account_id}"], + getSubscriptionPlanForAccountStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}"], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"], + listInstallationReposForAuthenticatedUser: ["GET /user/installations/{installation_id}/repositories"], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed"], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: ["POST /app/hook/deliveries/{delivery_id}/attempts"], + removeRepoFromInstallation: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}", {}, { + renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] + }], + removeRepoFromInstallationForAuthenticatedUser: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}"], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: ["DELETE /app/installations/{installation_id}/suspended"], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: ["GET /users/{username}/settings/billing/actions"], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: ["GET /users/{username}/settings/billing/packages"], + getSharedStorageBillingOrg: ["GET /orgs/{org}/settings/billing/shared-storage"], + getSharedStorageBillingUser: ["GET /users/{username}/settings/billing/shared-storage"] + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: ["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"], + rerequestSuite: ["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"], + setSuitesPreferences: ["PATCH /repos/{owner}/{repo}/check-suites/preferences"], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + }, + codeScanning: { + deleteAnalysis: ["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"], + getAlert: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { + renamedParameters: { + alert_id: "alert_number" + } + }], + getAnalysis: ["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"], + getCodeqlDatabase: ["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"], + listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", {}, { + renamed: ["codeScanning", "listAlertInstances"] + }], + listCodeqlDatabases: ["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: ["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"] + }, + codespaces: { + addRepositoryForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + codespaceMachinesForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/machines"], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/codespaces/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + createOrUpdateSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}"], + createWithPrForAuthenticatedUser: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"], + createWithRepoForAuthenticatedUser: ["POST /repos/{owner}/{repo}/codespaces"], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: ["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + deleteSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}"], + exportForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/exports"], + getCodespacesForUserInOrg: ["GET /orgs/{org}/members/{username}/codespaces"], + getExportDetailsForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/exports/{export_id}"], + getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], + getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"], + getPublicKeyForAuthenticatedUser: ["GET /user/codespaces/secrets/public-key"], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + getSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}"], + listDevcontainersInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/devcontainers"], + listForAuthenticatedUser: ["GET /user/codespaces"], + listInOrganization: ["GET /orgs/{org}/codespaces", {}, { + renamedParameters: { + org_id: "org" + } + }], + listInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces"], + listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}/repositories"], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"], + preFlightWithRepoForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/new"], + publishForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/publish"], + removeRepositoryForSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + repoMachinesForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/machines"], + setCodespacesBilling: ["PUT /orgs/{org}/codespaces/billing"], + setRepositoriesForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: ["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] + }, + dependabot: { + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], + getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + listAlertsForEnterprise: ["GET /enterprises/{enterprise}/dependabot/alerts"], + listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"], + listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"], + updateAlert: ["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"] + }, + dependencyGraph: { + createRepositorySnapshot: ["POST /repos/{owner}/{repo}/dependency-graph/snapshots"], + diffRange: ["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"] + }, + emojis: { + get: ["GET /emojis"] + }, + enterpriseAdmin: { + addCustomLabelsToSelfHostedRunnerForEnterprise: ["POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], + enableSelectedOrganizationGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], + listLabelsForSelfHostedRunnerForEnterprise: ["GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels"] + }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: ["GET /user/interaction-limits", {}, { + renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] + }], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: ["DELETE /repos/{owner}/{repo}/interaction-limits"], + removeRestrictionsForYourPublicRepos: ["DELETE /user/interaction-limits", {}, { + renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] + }], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: ["PUT /user/interaction-limits", {}, { + renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] + }] + }, + issues: { + addAssignees: ["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + checkUserCanBeAssignedToIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: ["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: ["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: ["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"], + removeAssignees: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + removeLabel: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: ["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"] + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] + }, + markdown: { + render: ["POST /markdown"], + renderRaw: ["POST /markdown/raw", { + headers: { + "content-type": "text/plain; charset=utf-8" + } + }] + }, + meta: { + get: ["GET /meta"], + getAllVersions: ["GET /versions"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] + }, + migrations: { + cancelImport: ["DELETE /repos/{owner}/{repo}/import"], + deleteArchiveForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/archive"], + deleteArchiveForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/archive"], + downloadArchiveForOrg: ["GET /orgs/{org}/migrations/{migration_id}/archive"], + getArchiveForAuthenticatedUser: ["GET /user/migrations/{migration_id}/archive"], + getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], + getImportStatus: ["GET /repos/{owner}/{repo}/import"], + getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: ["GET /user/migrations/{migration_id}/repositories"], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: ["GET /user/migrations/{migration_id}/repositories", {}, { + renamed: ["migrations", "listReposForAuthenticatedUser"] + }], + mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], + setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: ["PUT /repos/{owner}/{repo}/import"], + unlockRepoForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"], + unlockRepoForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"], + updateImport: ["PATCH /repos/{owner}/{repo}/import"] + }, + orgs: { + addSecurityManagerTeam: ["PUT /orgs/{org}/security-managers/teams/{team_slug}"], + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: ["PUT /orgs/{org}/outside_collaborators/{username}"], + createInvitation: ["POST /orgs/{org}/invitations"], + createWebhook: ["POST /orgs/{org}/hooks"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + enableOrDisableSecurityProductOnAllOrgRepos: ["POST /orgs/{org}/{security_product}/{enablement}"], + get: ["GET /orgs/{org}"], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: ["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: ["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: ["DELETE /orgs/{org}/outside_collaborators/{username}"], + removePublicMembershipForAuthenticatedUser: ["DELETE /orgs/{org}/public_members/{username}"], + removeSecurityManagerTeam: ["DELETE /orgs/{org}/security-managers/teams/{team_slug}"], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: ["PUT /orgs/{org}/public_members/{username}"], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: ["PATCH /user/memberships/orgs/{org}"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + }, + packages: { + deletePackageForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}"], + deletePackageForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}"], + deletePackageForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}"], + deletePackageVersionForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getAllPackageVersionsForAPackageOwnedByAnOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] + }], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"] + }], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions"], + getPackageForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}"], + getPackageForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}"], + getPackageForUser: ["GET /users/{username}/packages/{package_type}/{package_name}"], + getPackageVersionForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageVersionForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: ["GET /projects/{project_id}/collaborators/{username}/permission"], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: ["DELETE /projects/{project_id}/collaborators/{username}"], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"] + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + deletePendingReview: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + deleteReviewComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + dismissReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + listReviewComments: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + requestReviewers: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + submitReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"], + updateReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + updateReviewComment: ["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"] + }, + rateLimit: { + get: ["GET /rate_limit"] + }, + reactions: { + createForCommitComment: ["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"], + createForIssue: ["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + createForIssueComment: ["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], + createForPullRequestReviewComment: ["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], + createForRelease: ["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"], + createForTeamDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], + createForTeamDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"], + deleteForCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"], + deleteForIssue: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"], + deleteForIssueComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"], + deleteForPullRequestComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"], + deleteForRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"], + deleteForTeamDiscussion: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"], + deleteForTeamDiscussionComment: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"], + listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], + listForPullRequestReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], + listForRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"], + listForTeamDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], + listForTeamDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"] + }, + repos: { + acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}", {}, { + renamed: ["repos", "acceptInvitationForAuthenticatedUser"] + }], + acceptInvitationForAuthenticatedUser: ["PATCH /user/repository_invitations/{invitation_id}"], + addAppAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + addTeamAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + addUserAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: ["GET /repos/{owner}/{repo}/vulnerability-alerts"], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: ["GET /repos/{owner}/{repo}/compare/{basehead}"], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: ["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + createCommitSignatureProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentBranchPolicy: ["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"], + createDeploymentStatus: ["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: ["PUT /repos/{owner}/{repo}/environments/{environment_name}"], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployment"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + createUsingTemplate: ["POST /repos/{template_owner}/{template_repo}/generate"], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}", {}, { + renamed: ["repos", "declineInvitationForAuthenticatedUser"] + }], + declineInvitationForAuthenticatedUser: ["DELETE /user/repository_invitations/{invitation_id}"], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + deleteAdminBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + deleteAnEnvironment: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}"], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: ["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"], + deleteDeploymentBranchPolicy: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: ["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: ["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"], + deleteTagProtection: ["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: ["DELETE /repos/{owner}/{repo}/automated-security-fixes"], + disableLfsForRepo: ["DELETE /repos/{owner}/{repo}/lfs"], + disableVulnerabilityAlerts: ["DELETE /repos/{owner}/{repo}/vulnerability-alerts"], + downloadArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}", {}, { + renamed: ["repos", "downloadZipballArchive"] + }], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: ["PUT /repos/{owner}/{repo}/automated-security-fixes"], + enableLfsForRepo: ["PUT /repos/{owner}/{repo}/lfs"], + enableVulnerabilityAlerts: ["PUT /repos/{owner}/{repo}/vulnerability-alerts"], + generateReleaseNotes: ["POST /repos/{owner}/{repo}/releases/generate-notes"], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + getAdminBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: ["GET /repos/{owner}/{repo}/collaborators/{username}/permission"], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentBranchPolicy: ["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"], + getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"], + getEnvironment: ["GET /repos/{owner}/{repo}/environments/{environment_name}"], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getStatusChecksProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + getTeamsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"], + getWebhookDelivery: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/statuses"], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentBranchPolicies: ["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"], + listDeploymentStatuses: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"], + listReleaseAssets: ["GET /repos/{owner}/{repo}/releases/{release_id}/assets"], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], + removeAppAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + removeCollaborator: ["DELETE /repos/{owner}/{repo}/collaborators/{username}"], + removeStatusCheckContexts: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + removeStatusCheckProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + removeTeamAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + removeUserAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + setAppAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + setStatusCheckContexts: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + setTeamAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + setUserAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection"], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateDeploymentBranchPolicy: ["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: ["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"], + updatePullRequestReviewProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: ["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"], + updateStatusCheckPotection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", {}, { + renamed: ["repos", "updateStatusCheckProtection"] + }], + updateStatusCheckProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"], + uploadReleaseAsset: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", { + baseUrl: "https://uploads.github.com" + }] + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics"], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"], + getSecurityAnalysisSettingsForEnterprise: ["GET /enterprises/{enterprise}/code_security_and_analysis"], + listAlertsForEnterprise: ["GET /enterprises/{enterprise}/secret-scanning/alerts"], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + listLocationsForAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"], + patchSecurityAnalysisSettingsForEnterprise: ["PATCH /enterprises/{enterprise}/code_security_and_analysis"], + postSecurityProductEnablementForEnterprise: ["POST /enterprises/{enterprise}/{security_product}/{enablement}"], + updateAlert: ["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"] + }, + teams: { + addOrUpdateMembershipForUserInOrg: ["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"], + addOrUpdateProjectPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + addOrUpdateRepoPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + checkPermissionsForProjectInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + checkPermissionsForRepoInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + deleteDiscussionInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + getDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + getMembershipForUserInOrg: ["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: ["GET /orgs/{org}/teams/{team_slug}/invitations"], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"], + removeProjectInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + removeRepoInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + updateDiscussionCommentInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + updateDiscussionInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + }, + users: { + addEmailForAuthenticated: ["POST /user/emails", {}, { + renamed: ["users", "addEmailForAuthenticatedUser"] + }], + addEmailForAuthenticatedUser: ["POST /user/emails"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: ["POST /user/gpg_keys", {}, { + renamed: ["users", "createGpgKeyForAuthenticatedUser"] + }], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: ["POST /user/keys", {}, { + renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] + }], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], + deleteEmailForAuthenticated: ["DELETE /user/emails", {}, { + renamed: ["users", "deleteEmailForAuthenticatedUser"] + }], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}", {}, { + renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] + }], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}", {}, { + renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] + }], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + deleteSshSigningKeyForAuthenticatedUser: ["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}", {}, { + renamed: ["users", "getGpgKeyForAuthenticatedUser"] + }], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}", {}, { + renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] + }], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + getSshSigningKeyForAuthenticatedUser: ["GET /user/ssh_signing_keys/{ssh_signing_key_id}"], + list: ["GET /users"], + listBlockedByAuthenticated: ["GET /user/blocks", {}, { + renamed: ["users", "listBlockedByAuthenticatedUser"] + }], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: ["GET /user/emails", {}, { + renamed: ["users", "listEmailsForAuthenticatedUser"] + }], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: ["GET /user/following", {}, { + renamed: ["users", "listFollowedByAuthenticatedUser"] + }], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: ["GET /user/gpg_keys", {}, { + renamed: ["users", "listGpgKeysForAuthenticatedUser"] + }], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: ["GET /user/public_emails", {}, { + renamed: ["users", "listPublicEmailsForAuthenticatedUser"] + }], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: ["GET /user/keys", {}, { + renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] + }], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"], + listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"], + setPrimaryEmailVisibilityForAuthenticated: ["PATCH /user/email/visibility", {}, { + renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] + }], + setPrimaryEmailVisibilityForAuthenticatedUser: ["PATCH /user/email/visibility"], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] + } +}; -var XTap = /*#__PURE__*/function () { +const VERSION = "7.0.1"; - function XTap(f, xf) { - this.xf = xf; - this.f = f; +function endpointsToMethods(octokit, endpointsMap) { + const newMethods = {}; + for (const [scope, endpoints] of Object.entries(endpointsMap)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign({ + method, + url + }, defaults); + if (!newMethods[scope]) { + newMethods[scope] = {}; + } + const scopeMethods = newMethods[scope]; + if (decorations) { + scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); + continue; + } + scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); + } } - XTap.prototype['@@transducer/init'] = _xfBase.init; - XTap.prototype['@@transducer/result'] = _xfBase.result; - XTap.prototype['@@transducer/step'] = function (result, input) { - this.f(input); - return this.xf['@@transducer/step'](result, input); - }; - - return XTap; -}(); - -var _xtap = /*#__PURE__*/_curry2(function _xtap(f, xf) { - return new XTap(f, xf); -}); -module.exports = _xtap; - -/***/ }), -/* 840 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var parse = __webpack_require__(751) + return newMethods; +} +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + /* istanbul ignore next */ + function withDecorations(...args) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + let options = requestWithDefaults.endpoint.merge(...args); + // There are currently no other decorations than `.mapToData` + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: undefined + }); + return requestWithDefaults(options); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + } + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + if (decorations.renamedParameters) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + const options = requestWithDefaults.endpoint.merge(...args); + for (const [name, alias] of Object.entries(decorations.renamedParameters)) { + if (name in options) { + octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); + if (!(alias in options)) { + options[alias] = options[name]; + } + delete options[name]; + } + } + return requestWithDefaults(options); + } + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + return requestWithDefaults(...args); + } + return Object.assign(withDecorations, requestWithDefaults); +} -/** - * @category Common Helpers - * @summary Is the given date in the future? - * - * @description - * Is the given date in the future? - * - * @param {Date|String|Number} date - the date to check - * @returns {Boolean} the date is in the future - * - * @example - * // If today is 6 October 2014, is 31 December 2014 in the future? - * var result = isFuture(new Date(2014, 11, 31)) - * //=> true - */ -function isFuture (dirtyDate) { - return parse(dirtyDate).getTime() > new Date().getTime() +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return { + rest: api + }; +} +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return { + ...api, + rest: api + }; } +legacyRestEndpointMethods.VERSION = VERSION; -module.exports = isFuture +exports.legacyRestEndpointMethods = legacyRestEndpointMethods; +exports.restEndpointMethods = restEndpointMethods; +//# sourceMappingURL=index.js.map /***/ }), -/* 841 */ +/* 843 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _objectAssign = /*#__PURE__*/__webpack_require__(420); - -var _curry1 = /*#__PURE__*/__webpack_require__(721); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** - * Merges a list of objects together into one object. + * Makes an ascending comparator function out of a function that returns a value + * that can be compared with `<` and `>`. * * @func * @memberOf R - * @since v0.10.0 - * @category List - * @sig [{k: v}] -> {k: v} - * @param {Array} list An array of objects - * @return {Object} A merged object. - * @see R.reduce + * @since v0.23.0 + * @category Function + * @sig Ord b => (a -> b) -> a -> a -> Number + * @param {Function} fn A function of arity one that returns a value that can be compared + * @param {*} a The first item to be compared. + * @param {*} b The second item to be compared. + * @return {Number} `-1` if fn(a) < fn(b), `1` if fn(b) < fn(a), otherwise `0` + * @see R.descend * @example * - * R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3} - * R.mergeAll([{foo:1},{foo:2},{bar:2}]); //=> {foo:2,bar:2} - * @symb R.mergeAll([{ x: 1 }, { y: 2 }, { z: 3 }]) = { x: 1, y: 2, z: 3 } + * const byAge = R.ascend(R.prop('age')); + * const people = [ + * { name: 'Emma', age: 70 }, + * { name: 'Peter', age: 78 }, + * { name: 'Mikhail', age: 62 }, + * ]; + * const peopleByYoungestFirst = R.sort(byAge, people); + * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }] */ -var mergeAll = /*#__PURE__*/_curry1(function mergeAll(list) { - return _objectAssign.apply(null, [{}].concat(list)); +var ascend = /*#__PURE__*/_curry3(function ascend(fn, a, b) { + var aa = fn(a); + var bb = fn(b); + return aa < bb ? -1 : aa > bb ? 1 : 0; }); -module.exports = mergeAll; - -/***/ }), -/* 842 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var parse = __webpack_require__(751) - -/** - * @category Week Helpers - * @summary Return the end of a week for the given date. - * - * @description - * Return the end of a week for the given date. - * The result will be in the local timezone. - * - * @param {Date|String|Number} date - the original date - * @param {Object} [options] - the object with options - * @param {Number} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) - * @returns {Date} the end of a week - * - * @example - * // The end of a week for 2 September 2014 11:55:00: - * var result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0)) - * //=> Sat Sep 06 2014 23:59:59.999 - * - * @example - * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00: - * var result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), {weekStartsOn: 1}) - * //=> Sun Sep 07 2014 23:59:59.999 - */ -function endOfWeek (dirtyDate, dirtyOptions) { - var weekStartsOn = dirtyOptions ? (Number(dirtyOptions.weekStartsOn) || 0) : 0 - - var date = parse(dirtyDate) - var day = date.getDay() - var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn) - - date.setDate(date.getDate() + diff) - date.setHours(23, 59, 59, 999) - return date -} - -module.exports = endOfWeek - +module.exports = ascend; /***/ }), -/* 843 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/* 844 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; -const ansiStyles = __webpack_require__(698); -const {stdout: stdoutColor, stderr: stderrColor} = __webpack_require__(247); -const { - stringReplaceAll, - stringEncaseCRLFWithFirstIndex -} = __webpack_require__(754); - -// `supportsColor.level` → `ansiStyles.color[name]` mapping -const levelMapping = [ - 'ansi', - 'ansi', - 'ansi256', - 'ansi16m' -]; - -const styles = Object.create(null); - -const applyOptions = (object, options = {}) => { - if (options.level > 3 || options.level < 0) { - throw new Error('The `level` option should be an integer from 0 to 3'); - } - - // Detect level if not set manually - const colorLevel = stdoutColor ? stdoutColor.level : 0; - object.level = options.level === undefined ? colorLevel : options.level; -}; - -class ChalkClass { - constructor(options) { - return chalkFactory(options); - } -} - -const chalkFactory = options => { - const chalk = {}; - applyOptions(chalk, options); - - chalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_); - - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); - - chalk.template.constructor = () => { - throw new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.'); - }; - - chalk.template.Instance = ChalkClass; - - return chalk.template; -}; - -function Chalk(options) { - return chalkFactory(options); -} - -for (const [styleName, style] of Object.entries(ansiStyles)) { - styles[styleName] = { - get() { - const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty); - Object.defineProperty(this, styleName, {value: builder}); - return builder; - } - }; -} - -styles.visible = { - get() { - const builder = createBuilder(this, this._styler, true); - Object.defineProperty(this, 'visible', {value: builder}); - return builder; - } -}; - -const usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256']; - -for (const model of usedModels) { - styles[model] = { - get() { - const {level} = this; - return function (...arguments_) { - const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler); - return createBuilder(this, styler, this._isEmpty); - }; - } - }; -} - -for (const model of usedModels) { - const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const {level} = this; - return function (...arguments_) { - const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler); - return createBuilder(this, styler, this._isEmpty); - }; - } - }; -} -const proto = Object.defineProperties(() => {}, { - ...styles, - level: { - enumerable: true, - get() { - return this._generator.level; - }, - set(level) { - this._generator.level = level; - } - } +Object.defineProperty(exports, "__esModule", { + value: true }); +exports.default = rng; -const createStyler = (open, close, parent) => { - let openAll; - let closeAll; - if (parent === undefined) { - openAll = open; - closeAll = close; - } else { - openAll = parent.openAll + open; - closeAll = close + parent.closeAll; - } - - return { - open, - close, - openAll, - closeAll, - parent - }; -}; - -const createBuilder = (self, _styler, _isEmpty) => { - const builder = (...arguments_) => { - // Single argument is hot path, implicit coercion is faster than anything - // eslint-disable-next-line no-implicit-coercion - return applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' ')); - }; - - // `__proto__` is used because we must return a function, but there is - // no way to create a function with a different prototype - builder.__proto__ = proto; // eslint-disable-line no-proto - - builder._generator = self; - builder._styler = _styler; - builder._isEmpty = _isEmpty; - - return builder; -}; - -const applyStyle = (self, string) => { - if (self.level <= 0 || !string) { - return self._isEmpty ? '' : string; - } - - let styler = self._styler; - - if (styler === undefined) { - return string; - } - - const {openAll, closeAll} = styler; - if (string.indexOf('\u001B') !== -1) { - while (styler !== undefined) { - // Replace any instances already present with a re-opening code - // otherwise only the part of the string until said closing code - // will be colored, and the rest will simply be 'plain'. - string = stringReplaceAll(string, styler.close, styler.open); - - styler = styler.parent; - } - } - - // We can move both next actions out of loop, because remaining actions in loop won't have - // any/visible effect on parts we add here. Close the styling before a linebreak and reopen - // after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92 - const lfIndex = string.indexOf('\n'); - if (lfIndex !== -1) { - string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex); - } - - return openAll + string + closeAll; -}; - -let template; -const chalkTag = (chalk, ...strings) => { - const [firstString] = strings; - - if (!Array.isArray(firstString)) { - // If chalk() was called by itself or with a string, - // return the string itself as a string. - return strings.join(' '); - } - - const arguments_ = strings.slice(1); - const parts = [firstString.raw[0]]; - - for (let i = 1; i < firstString.length; i++) { - parts.push( - String(arguments_[i - 1]).replace(/[{}\\]/g, '\\$&'), - String(firstString.raw[i]) - ); - } - - if (template === undefined) { - template = __webpack_require__(606); - } +var _crypto = _interopRequireDefault(__webpack_require__(417)); - return template(chalk, parts.join('')); -}; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -Object.defineProperties(Chalk.prototype, styles); +const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate -const chalk = Chalk(); // eslint-disable-line new-cap -chalk.supportsColor = stdoutColor; -chalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap -chalk.stderr.supportsColor = stderrColor; +let poolPtr = rnds8Pool.length; -// For TypeScript -chalk.Level = { - None: 0, - Basic: 1, - Ansi256: 2, - TrueColor: 3, - 0: 'None', - 1: 'Basic', - 2: 'Ansi256', - 3: 'TrueColor' -}; +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + _crypto.default.randomFillSync(rnds8Pool); -module.exports = chalk; + poolPtr = 0; + } + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} /***/ }), -/* 844 */, /* 845 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -35343,61 +36089,194 @@ module.exports = function (Promise, apiRejection, tryConvertToPromise, this._disposer = disposer; }; - Promise.prototype._isDisposable = function () { - return (this._bitField & 131072) > 0; - }; + Promise.prototype._isDisposable = function () { + return (this._bitField & 131072) > 0; + }; + + Promise.prototype._getDisposer = function () { + return this._disposer; + }; + + Promise.prototype._unsetDisposable = function () { + this._bitField = this._bitField & (~131072); + this._disposer = undefined; + }; + + Promise.prototype.disposer = function (fn) { + if (typeof fn === "function") { + return new FunctionDisposer(fn, this, createContext()); + } + throw new TypeError(); + }; + +}; + + +/***/ }), +/* 847 */, +/* 848 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var _curry1 = /*#__PURE__*/__webpack_require__(721); + +var _reduced = /*#__PURE__*/__webpack_require__(938); + +/** + * Returns a value wrapped to indicate that it is the final value of the reduce + * and transduce functions. The returned value should be considered a black + * box: the internal structure is not guaranteed to be stable. + * + * Note: this optimization is only available to the below functions: + * - [`reduce`](#reduce) + * - [`reduceWhile`](#reduceWhile) + * - [`transduce`](#transduce) + * + * @func + * @memberOf R + * @since v0.15.0 + * @category List + * @sig a -> * + * @param {*} x The final value of the reduce. + * @return {*} The wrapped value. + * @see R.reduce, R.reduceWhile, R.transduce + * @example + * + * R.reduce( + * (acc, item) => item > 3 ? R.reduced(acc) : acc.concat(item), + * [], + * [1, 2, 3, 4, 5]) // [1, 2, 3] + */ + + +var reduced = /*#__PURE__*/_curry1(_reduced); +module.exports = reduced; + +/***/ }), +/* 849 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +module.exports = function( + Promise, PromiseArray, tryConvertToPromise, apiRejection) { +var util = __webpack_require__(248); +var isObject = util.isObject; +var es5 = __webpack_require__(883); +var Es6Map; +if (typeof Map === "function") Es6Map = Map; - Promise.prototype._getDisposer = function () { - return this._disposer; - }; +var mapToEntries = (function() { + var index = 0; + var size = 0; - Promise.prototype._unsetDisposable = function () { - this._bitField = this._bitField & (~131072); - this._disposer = undefined; - }; + function extractEntry(value, key) { + this[index] = value; + this[index + size] = key; + index++; + } - Promise.prototype.disposer = function (fn) { - if (typeof fn === "function") { - return new FunctionDisposer(fn, this, createContext()); - } - throw new TypeError(); + return function mapToEntries(map) { + size = map.size; + index = 0; + var ret = new Array(map.size * 2); + map.forEach(extractEntry, ret); + return ret; }; +})(); +var entriesToMap = function(entries) { + var ret = new Es6Map(); + var length = entries.length / 2 | 0; + for (var i = 0; i < length; ++i) { + var key = entries[length + i]; + var value = entries[i]; + ret.set(key, value); + } + return ret; }; +function PropertiesPromiseArray(obj) { + var isMap = false; + var entries; + if (Es6Map !== undefined && obj instanceof Es6Map) { + entries = mapToEntries(obj); + isMap = true; + } else { + var keys = es5.keys(obj); + var len = keys.length; + entries = new Array(len * 2); + for (var i = 0; i < len; ++i) { + var key = keys[i]; + entries[i] = obj[key]; + entries[i + len] = key; + } + } + this.constructor$(entries); + this._isMap = isMap; + this._init$(undefined, isMap ? -6 : -3); +} +util.inherits(PropertiesPromiseArray, PromiseArray); -/***/ }), -/* 847 */, -/* 848 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; +PropertiesPromiseArray.prototype._init = function () {}; +PropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) { + this._values[index] = value; + var totalResolved = ++this._totalResolved; + if (totalResolved >= this._length) { + var val; + if (this._isMap) { + val = entriesToMap(this._values); + } else { + val = {}; + var keyOffset = this.length(); + for (var i = 0, len = this.length(); i < len; ++i) { + val[this._values[i + keyOffset]] = this._values[i]; + } + } + this._resolve(val); + return true; + } + return false; +}; -Object.defineProperty(exports, '__esModule', { value: true }); +PropertiesPromiseArray.prototype.shouldCopyValues = function () { + return false; +}; -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } +PropertiesPromiseArray.prototype.getActualLength = function (len) { + return len >> 1; +}; -var osName = _interopDefault(__webpack_require__(2)); +function props(promises) { + var ret; + var castValue = tryConvertToPromise(promises); -function getUserAgent() { - try { - return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; - } catch (error) { - if (/wmic os get Caption/.test(error.message)) { - return "Windows "; + if (!isObject(castValue)) { + return apiRejection("cannot await properties of a non-object\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } else if (castValue instanceof Promise) { + ret = castValue._then( + Promise.props, undefined, undefined, undefined, undefined); + } else { + ret = new PropertiesPromiseArray(castValue).promise(); } - return ""; - } + if (castValue instanceof Promise) { + ret._propagateFrom(castValue, 2); + } + return ret; } -exports.getUserAgent = getUserAgent; -//# sourceMappingURL=index.js.map +Promise.prototype.props = function () { + return props(this); +}; + +Promise.props = function (promises) { + return props(promises); +}; +}; /***/ }), -/* 849 */, /* 850 */, /* 851 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -35593,7 +36472,7 @@ var _includes = /*#__PURE__*/__webpack_require__(216); var _curry2 = /*#__PURE__*/__webpack_require__(830); -var _filter = /*#__PURE__*/__webpack_require__(695); +var _filter = /*#__PURE__*/__webpack_require__(599); var flip = /*#__PURE__*/__webpack_require__(328); @@ -35674,7 +36553,7 @@ var _curry2 = /*#__PURE__*/__webpack_require__(830); var _dispatchable = /*#__PURE__*/__webpack_require__(968); -var _xfind = /*#__PURE__*/__webpack_require__(498); +var _xfind = /*#__PURE__*/__webpack_require__(966); /** * Returns the first element of the list which matches the predicate, or @@ -35716,95 +36595,99 @@ module.exports = find; /***/ }), /* 863 */, -/* 864 */, -/* 865 */ +/* 864 */ /***/ (function(module, __unusedexports, __webpack_require__) { -const R = __webpack_require__(61); +var addMinutes = __webpack_require__(755) -const pathGetter = R.compose(R.path, R.split('.')); +/** + * @category Minute Helpers + * @summary Subtract the specified number of minutes from the given date. + * + * @description + * Subtract the specified number of minutes from the given date. + * + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of minutes to be subtracted + * @returns {Date} the new date with the mintues subtracted + * + * @example + * // Subtract 30 minutes from 10 July 2014 12:00:00: + * var result = subMinutes(new Date(2014, 6, 10, 12, 0), 30) + * //=> Thu Jul 10 2014 11:30:00 + */ +function subMinutes (dirtyDate, dirtyAmount) { + var amount = Number(dirtyAmount) + return addMinutes(dirtyDate, -amount) +} -const pathGetterOrDefault = (path, d, obj) => - R.pipe(R.split('.'), R.pathOr(d))(path)(obj); +module.exports = subMinutes -const get = R.curry((path, obj) => pathGetter(path)(obj)); -const getOrDefault = R.curryN(3, pathGetterOrDefault); -const strReplaceAll = R.curry((search, replacement, str) => - R.replace(new RegExp(search, 'g'), replacement, str) -); +/***/ }), +/* 865 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -const isNilOrEmpty = R.either(R.isNil, R.isEmpty); +var _curry2 = /*#__PURE__*/__webpack_require__(830); /** - * Like R.indexBy, but acceps extra transformer function to transform the - * value for the given key. + * Takes a list and a predicate and returns a pair of lists with the following properties: + * + * - the result of concatenating the two output lists is equivalent to the input list; + * - none of the elements of the first output list satisfies the predicate; and + * - if the second output list is non-empty, its first element satisfies the predicate. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category List + * @sig (a -> Boolean) -> [a] -> [[a], [a]] + * @param {Function} pred The predicate that determines where the array is split. + * @param {Array} list The array to be split. + * @return {Array} + * @example + * + * R.splitWhen(R.equals(2), [1, 2, 3, 1, 2, 3]); //=> [[1], [2, 3, 1, 2, 3]] */ -const indexByWith = R.curry((keygenFunc, fn, items) => - R.reduce( - (acc, item) => { - acc[keygenFunc(item)] = fn(item); - return acc; - }, - {}, - items - ) -); - -const findMaxBy = R.curry((path, arr) => - R.pipe(R.reduce((acc, x) => (path(acc) > path(x) ? acc : x), {}))(arr) -); -/* Updates item in a list found using given predicate. */ -const updateBy = R.curry((func, value, target) => - R.update(R.findIndex(func, target), value, target) -); -/* Generic memoize funciton that works for any number of arguments */ -const memoize = R.memoizeWith((...args) => R.toString(args)); - -// like R.any, but return false for empty lists -const includesAny = R.curry((predicate, list) => - !isNilOrEmpty(list) ? R.any(predicate, list) : false -); +var splitWhen = /*#__PURE__*/_curry2(function splitWhen(pred, list) { + var idx = 0; + var len = list.length; + var prefix = []; -module.exports = { - get, - getOrDefault, - strReplaceAll, - isNilOrEmpty, - indexByWith, - memoize, - findMaxBy, - updateBy, - includesAny -}; + while (idx < len && !pred(list[idx])) { + prefix.push(list[idx]); + idx += 1; + } + return [prefix, Array.prototype.slice.call(list, idx)]; +}); +module.exports = splitWhen; /***/ }), /* 866 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; +/***/ (function(module) { -var shebangRegex = __webpack_require__(816); +module.exports = removeHook; -module.exports = function (str) { - var match = str.match(shebangRegex); +function removeHook(state, name, method) { + if (!state.registry[name]) { + return; + } - if (!match) { - return null; - } + var index = state.registry[name] + .map(function (registered) { + return registered.orig; + }) + .indexOf(method); - var arr = match[0].replace(/#! ?/, '').split(' '); - var bin = arr[0].split('/').pop(); - var arg = arr[1]; + if (index === -1) { + return; + } - return (bin === 'env' ? - arg : - bin + (arg ? ' ' + arg : '') - ); -}; + state.registry[name].splice(index, 1); +} /***/ }), @@ -35914,9 +36797,30 @@ module.exports = _reduce; /***/ }), /* 871 */ -/***/ (function(module) { +/***/ (function(module, __unusedexports, __webpack_require__) { + +var endOfDay = __webpack_require__(668) + +/** + * @category Day Helpers + * @summary Return the end of today. + * + * @description + * Return the end of today. + * + * @returns {Date} the end of today + * + * @example + * // If today is 6 October 2014: + * var result = endOfToday() + * //=> Mon Oct 6 2014 23:59:59.999 + */ +function endOfToday () { + return endOfDay(new Date()) +} + +module.exports = endOfToday -module.exports = [["8740","䏰䰲䘃䖦䕸𧉧䵷䖳𧲱䳢𧳅㮕䜶䝄䱇䱀𤊿𣘗𧍒𦺋𧃒䱗𪍑䝏䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡晍囻"],["8767","綕夝𨮹㷴霴𧯯寛𡵞媤㘥𩺰嫑宷峼杮薓𩥅瑡璝㡵𡵓𣚞𦀡㻬"],["87a1","𥣞㫵竼龗𤅡𨤍𣇪𠪊𣉞䌊蒄龖鐯䤰蘓墖靊鈘秐稲晠権袝瑌篅枂稬剏遆㓦珄𥶹瓆鿇垳䤯呌䄱𣚎堘穲𧭥讏䚮𦺈䆁𥶙箮𢒼鿈𢓁𢓉𢓌鿉蔄𣖻䂴鿊䓡𪷿拁灮鿋"],["8840","㇀",4,"𠄌㇅𠃑𠃍㇆㇇𠃋𡿨㇈𠃊㇉㇊㇋㇌𠄎㇍㇎ĀÁǍÀĒÉĚÈŌÓǑÒ࿿Ê̄Ế࿿Ê̌ỀÊāáǎàɑēéěèīíǐìōóǒòūúǔùǖǘǚ"],["88a1","ǜü࿿ê̄ế࿿ê̌ềêɡ⏚⏛"],["8940","𪎩𡅅"],["8943","攊"],["8946","丽滝鵎釟"],["894c","𧜵撑会伨侨兖兴农凤务动医华发变团声处备夲头学实実岚庆总斉柾栄桥济炼电纤纬纺织经统缆缷艺苏药视设询车轧轮"],["89a1","琑糼緍楆竉刧"],["89ab","醌碸酞肼"],["89b0","贋胶𠧧"],["89b5","肟黇䳍鷉鸌䰾𩷶𧀎鸊𪄳㗁"],["89c1","溚舾甙"],["89c5","䤑马骏龙禇𨑬𡷊𠗐𢫦两亁亀亇亿仫伷㑌侽㹈倃傈㑽㒓㒥円夅凛凼刅争剹劐匧㗇厩㕑厰㕓参吣㕭㕲㚁咓咣咴咹哐哯唘唣唨㖘唿㖥㖿嗗㗅"],["8a40","𧶄唥"],["8a43","𠱂𠴕𥄫喐𢳆㧬𠍁蹆𤶸𩓥䁓𨂾睺𢰸㨴䟕𨅝𦧲𤷪擝𠵼𠾴𠳕𡃴撍蹾𠺖𠰋𠽤𢲩𨉖𤓓"],["8a64","𠵆𩩍𨃩䟴𤺧𢳂骲㩧𩗴㿭㔆𥋇𩟔𧣈𢵄鵮頕"],["8a76","䏙𦂥撴哣𢵌𢯊𡁷㧻𡁯"],["8aa1","𦛚𦜖𧦠擪𥁒𠱃蹨𢆡𨭌𠜱"],["8aac","䠋𠆩㿺塳𢶍"],["8ab2","𤗈𠓼𦂗𠽌𠶖啹䂻䎺"],["8abb","䪴𢩦𡂝膪飵𠶜捹㧾𢝵跀嚡摼㹃"],["8ac9","𪘁𠸉𢫏𢳉"],["8ace","𡃈𣧂㦒㨆𨊛㕸𥹉𢃇噒𠼱𢲲𩜠㒼氽𤸻"],["8adf","𧕴𢺋𢈈𪙛𨳍𠹺𠰴𦠜羓𡃏𢠃𢤹㗻𥇣𠺌𠾍𠺪㾓𠼰𠵇𡅏𠹌"],["8af6","𠺫𠮩𠵈𡃀𡄽㿹𢚖搲𠾭"],["8b40","𣏴𧘹𢯎𠵾𠵿𢱑𢱕㨘𠺘𡃇𠼮𪘲𦭐𨳒𨶙𨳊閪哌苄喹"],["8b55","𩻃鰦骶𧝞𢷮煀腭胬尜𦕲脴㞗卟𨂽醶𠻺𠸏𠹷𠻻㗝𤷫㘉𠳖嚯𢞵𡃉𠸐𠹸𡁸𡅈𨈇𡑕𠹹𤹐𢶤婔𡀝𡀞𡃵𡃶垜𠸑"],["8ba1","𧚔𨋍𠾵𠹻𥅾㜃𠾶𡆀𥋘𪊽𤧚𡠺𤅷𨉼墙剨㘚𥜽箲孨䠀䬬鼧䧧鰟鮍𥭴𣄽嗻㗲嚉丨夂𡯁屮靑𠂆乛亻㔾尣彑忄㣺扌攵歺氵氺灬爫丬犭𤣩罒礻糹罓𦉪㓁"],["8bde","𦍋耂肀𦘒𦥑卝衤见𧢲讠贝钅镸长门𨸏韦页风飞饣𩠐鱼鸟黄歯龜丷𠂇阝户钢"],["8c40","倻淾𩱳龦㷉袏𤅎灷峵䬠𥇍㕙𥴰愢𨨲辧釶熑朙玺𣊁𪄇㲋𡦀䬐磤琂冮𨜏䀉橣𪊺䈣蘏𠩯稪𩥇𨫪靕灍匤𢁾鏴盙𨧣龧矝亣俰傼丯众龨吴綋墒壐𡶶庒庙忂𢜒斋"],["8ca1","𣏹椙橃𣱣泿"],["8ca7","爀𤔅玌㻛𤨓嬕璹讃𥲤𥚕窓篬糃繬苸薗龩袐龪躹龫迏蕟駠鈡龬𨶹𡐿䁱䊢娚"],["8cc9","顨杫䉶圽"],["8cce","藖𤥻芿𧄍䲁𦵴嵻𦬕𦾾龭龮宖龯曧繛湗秊㶈䓃𣉖𢞖䎚䔶"],["8ce6","峕𣬚諹屸㴒𣕑嵸龲煗䕘𤃬𡸣䱷㥸㑊𠆤𦱁諌侴𠈹妿腬顖𩣺弻"],["8d40","𠮟"],["8d42","𢇁𨥭䄂䚻𩁹㼇龳𪆵䃸㟖䛷𦱆䅼𨚲𧏿䕭㣔𥒚䕡䔛䶉䱻䵶䗪㿈𤬏㙡䓞䒽䇭崾嵈嵖㷼㠏嶤嶹㠠㠸幂庽弥徃㤈㤔㤿㥍惗愽峥㦉憷憹懏㦸戬抐拥挘㧸嚱"],["8da1","㨃揢揻搇摚㩋擀崕嘡龟㪗斆㪽旿晓㫲暒㬢朖㭂枤栀㭘桊梄㭲㭱㭻椉楃牜楤榟榅㮼槖㯝橥橴橱檂㯬檙㯲檫檵櫔櫶殁毁毪汵沪㳋洂洆洦涁㳯涤涱渕渘温溆𨧀溻滢滚齿滨滩漤漴㵆𣽁澁澾㵪㵵熷岙㶊瀬㶑灐灔灯灿炉𠌥䏁㗱𠻘"],["8e40","𣻗垾𦻓焾𥟠㙎榢𨯩孴穉𥣡𩓙穥穽𥦬窻窰竂竃燑𦒍䇊竚竝竪䇯咲𥰁笋筕笩𥌎𥳾箢筯莜𥮴𦱿篐萡箒箸𥴠㶭𥱥蒒篺簆簵𥳁籄粃𤢂粦晽𤕸糉糇糦籴糳糵糎"],["8ea1","繧䔝𦹄絝𦻖璍綉綫焵綳緒𤁗𦀩緤㴓緵𡟹緥𨍭縝𦄡𦅚繮纒䌫鑬縧罀罁罇礶𦋐駡羗𦍑羣𡙡𠁨䕜𣝦䔃𨌺翺𦒉者耈耝耨耯𪂇𦳃耻耼聡𢜔䦉𦘦𣷣𦛨朥肧𨩈脇脚墰𢛶汿𦒘𤾸擧𡒊舘𡡞橓𤩥𤪕䑺舩𠬍𦩒𣵾俹𡓽蓢荢𦬊𤦧𣔰𡝳𣷸芪椛芳䇛"],["8f40","蕋苐茚𠸖𡞴㛁𣅽𣕚艻苢茘𣺋𦶣𦬅𦮗𣗎㶿茝嗬莅䔋𦶥莬菁菓㑾𦻔橗蕚㒖𦹂𢻯葘𥯤葱㷓䓤檧葊𣲵祘蒨𦮖𦹷𦹃蓞萏莑䒠蒓蓤𥲑䉀𥳀䕃蔴嫲𦺙䔧蕳䔖枿蘖"],["8fa1","𨘥𨘻藁𧂈蘂𡖂𧃍䕫䕪蘨㙈𡢢号𧎚虾蝱𪃸蟮𢰧螱蟚蠏噡虬桖䘏衅衆𧗠𣶹𧗤衞袜䙛袴袵揁装睷𧜏覇覊覦覩覧覼𨨥觧𧤤𧪽誜瞓釾誐𧩙竩𧬺𣾏䜓𧬸煼謌謟𥐰𥕥謿譌譍誩𤩺讐讛誯𡛟䘕衏貛𧵔𧶏貫㜥𧵓賖𧶘𧶽贒贃𡤐賛灜贑𤳉㻐起"],["9040","趩𨀂𡀔𤦊㭼𨆼𧄌竧躭躶軃鋔輙輭𨍥𨐒辥錃𪊟𠩐辳䤪𨧞𨔽𣶻廸𣉢迹𪀔𨚼𨔁𢌥㦀𦻗逷𨔼𧪾遡𨕬𨘋邨𨜓郄𨛦邮都酧㫰醩釄粬𨤳𡺉鈎沟鉁鉢𥖹銹𨫆𣲛𨬌𥗛"],["90a1","𠴱錬鍫𨫡𨯫炏嫃𨫢𨫥䥥鉄𨯬𨰹𨯿鍳鑛躼閅閦鐦閠濶䊹𢙺𨛘𡉼𣸮䧟氜陻隖䅬隣𦻕懚隶磵𨫠隽双䦡𦲸𠉴𦐐𩂯𩃥𤫑𡤕𣌊霱虂霶䨏䔽䖅𤫩灵孁霛靜𩇕靗孊𩇫靟鐥僐𣂷𣂼鞉鞟鞱鞾韀韒韠𥑬韮琜𩐳響韵𩐝𧥺䫑頴頳顋顦㬎𧅵㵑𠘰𤅜"],["9140","𥜆飊颷飈飇䫿𦴧𡛓喰飡飦飬鍸餹𤨩䭲𩡗𩤅駵騌騻騐驘𥜥㛄𩂱𩯕髠髢𩬅髴䰎鬔鬭𨘀倴鬴𦦨㣃𣁽魐魀𩴾婅𡡣鮎𤉋鰂鯿鰌𩹨鷔𩾷𪆒𪆫𪃡𪄣𪇟鵾鶃𪄴鸎梈"],["91a1","鷄𢅛𪆓𪈠𡤻𪈳鴹𪂹𪊴麐麕麞麢䴴麪麯𤍤黁㭠㧥㴝伲㞾𨰫鼂鼈䮖鐤𦶢鼗鼖鼹嚟嚊齅馸𩂋韲葿齢齩竜龎爖䮾𤥵𤦻煷𤧸𤍈𤩑玞𨯚𡣺禟𨥾𨸶鍩鏳𨩄鋬鎁鏋𨥬𤒹爗㻫睲穃烐𤑳𤏸煾𡟯炣𡢾𣖙㻇𡢅𥐯𡟸㜢𡛻𡠹㛡𡝴𡣑𥽋㜣𡛀坛𤨥𡏾𡊨"],["9240","𡏆𡒶蔃𣚦蔃葕𤦔𧅥𣸱𥕜𣻻𧁒䓴𣛮𩦝𦼦柹㜳㰕㷧塬𡤢栐䁗𣜿𤃡𤂋𤄏𦰡哋嚞𦚱嚒𠿟𠮨𠸍鏆𨬓鎜仸儫㠙𤐶亼𠑥𠍿佋侊𥙑婨𠆫𠏋㦙𠌊𠐔㐵伩𠋀𨺳𠉵諚𠈌亘"],["92a1","働儍侢伃𤨎𣺊佂倮偬傁俌俥偘僼兙兛兝兞湶𣖕𣸹𣺿浲𡢄𣺉冨凃𠗠䓝𠒣𠒒𠒑赺𨪜𠜎剙劤𠡳勡鍮䙺熌𤎌𠰠𤦬𡃤槑𠸝瑹㻞璙琔瑖玘䮎𤪼𤂍叐㖄爏𤃉喴𠍅响𠯆圝鉝雴鍦埝垍坿㘾壋媙𨩆𡛺𡝯𡜐娬妸銏婾嫏娒𥥆𡧳𡡡𤊕㛵洅瑃娡𥺃"],["9340","媁𨯗𠐓鏠璌𡌃焅䥲鐈𨧻鎽㞠尞岞幞幈𡦖𡥼𣫮廍孏𡤃𡤄㜁𡢠㛝𡛾㛓脪𨩇𡶺𣑲𨦨弌弎𡤧𡞫婫𡜻孄蘔𧗽衠恾𢡠𢘫忛㺸𢖯𢖾𩂈𦽳懀𠀾𠁆𢘛憙憘恵𢲛𢴇𤛔𩅍"],["93a1","摱𤙥𢭪㨩𢬢𣑐𩣪𢹸挷𪑛撶挱揑𤧣𢵧护𢲡搻敫楲㯴𣂎𣊭𤦉𣊫唍𣋠𡣙𩐿曎𣊉𣆳㫠䆐𥖄𨬢𥖏𡛼𥕛𥐥磮𣄃𡠪𣈴㑤𣈏𣆂𤋉暎𦴤晫䮓昰𧡰𡷫晣𣋒𣋡昞𥡲㣑𣠺𣞼㮙𣞢𣏾瓐㮖枏𤘪梶栞㯄檾㡣𣟕𤒇樳橒櫉欅𡤒攑梘橌㯗橺歗𣿀𣲚鎠鋲𨯪𨫋"],["9440","銉𨀞𨧜鑧涥漋𤧬浧𣽿㶏渄𤀼娽渊塇洤硂焻𤌚𤉶烱牐犇犔𤞏𤜥兹𤪤𠗫瑺𣻸𣙟𤩊𤤗𥿡㼆㺱𤫟𨰣𣼵悧㻳瓌琼鎇琷䒟𦷪䕑疃㽣𤳙𤴆㽘畕癳𪗆㬙瑨𨫌𤦫𤦎㫻"],["94a1","㷍𤩎㻿𤧅𤣳釺圲鍂𨫣𡡤僟𥈡𥇧睸𣈲眎眏睻𤚗𣞁㩞𤣰琸璛㺿𤪺𤫇䃈𤪖𦆮錇𥖁砞碍碈磒珐祙𧝁𥛣䄎禛蒖禥樭𣻺稺秴䅮𡛦䄲鈵秱𠵌𤦌𠊙𣶺𡝮㖗啫㕰㚪𠇔𠰍竢婙𢛵𥪯𥪜娍𠉛磰娪𥯆竾䇹籝籭䈑𥮳𥺼𥺦糍𤧹𡞰粎籼粮檲緜縇緓罎𦉡"],["9540","𦅜𧭈綗𥺂䉪𦭵𠤖柖𠁎𣗏埄𦐒𦏸𤥢翝笧𠠬𥫩𥵃笌𥸎駦虅驣樜𣐿㧢𤧷𦖭騟𦖠蒀𧄧𦳑䓪脷䐂胆脉腂𦞴飃𦩂艢艥𦩑葓𦶧蘐𧈛媆䅿𡡀嬫𡢡嫤𡣘蚠蜨𣶏蠭𧐢娂"],["95a1","衮佅袇袿裦襥襍𥚃襔𧞅𧞄𨯵𨯙𨮜𨧹㺭蒣䛵䛏㟲訽訜𩑈彍鈫𤊄旔焩烄𡡅鵭貟賩𧷜妚矃姰䍮㛔踪躧𤰉輰轊䋴汘澻𢌡䢛潹溋𡟚鯩㚵𤤯邻邗啱䤆醻鐄𨩋䁢𨫼鐧𨰝𨰻蓥訫閙閧閗閖𨴴瑅㻂𤣿𤩂𤏪㻧𣈥随𨻧𨹦𨹥㻌𤧭𤩸𣿮琒瑫㻼靁𩂰"],["9640","桇䨝𩂓𥟟靝鍨𨦉𨰦𨬯𦎾銺嬑譩䤼珹𤈛鞛靱餸𠼦巁𨯅𤪲頟𩓚鋶𩗗釥䓀𨭐𤩧𨭤飜𨩅㼀鈪䤥萔餻饍𧬆㷽馛䭯馪驜𨭥𥣈檏騡嫾騯𩣱䮐𩥈馼䮽䮗鍽塲𡌂堢𤦸"],["96a1","𡓨硄𢜟𣶸棅㵽鑘㤧慐𢞁𢥫愇鱏鱓鱻鰵鰐魿鯏𩸭鮟𪇵𪃾鴡䲮𤄄鸘䲰鴌𪆴𪃭𪃳𩤯鶥蒽𦸒𦿟𦮂藼䔳𦶤𦺄𦷰萠藮𦸀𣟗𦁤秢𣖜𣙀䤭𤧞㵢鏛銾鍈𠊿碹鉷鑍俤㑀遤𥕝砽硔碶硋𡝗𣇉𤥁㚚佲濚濙瀞瀞吔𤆵垻壳垊鴖埗焴㒯𤆬燫𦱀𤾗嬨𡞵𨩉"],["9740","愌嫎娋䊼𤒈㜬䭻𨧼鎻鎸𡣖𠼝葲𦳀𡐓𤋺𢰦𤏁妔𣶷𦝁綨𦅛𦂤𤦹𤦋𨧺鋥珢㻩璴𨭣𡢟㻡𤪳櫘珳珻㻖𤨾𤪔𡟙𤩦𠎧𡐤𤧥瑈𤤖炥𤥶銄珦鍟𠓾錱𨫎𨨖鎆𨯧𥗕䤵𨪂煫"],["97a1","𤥃𠳿嚤𠘚𠯫𠲸唂秄𡟺緾𡛂𤩐𡡒䔮鐁㜊𨫀𤦭妰𡢿𡢃𧒄媡㛢𣵛㚰鉟婹𨪁𡡢鍴㳍𠪴䪖㦊僴㵩㵌𡎜煵䋻𨈘渏𩃤䓫浗𧹏灧沯㳖𣿭𣸭渂漌㵯𠏵畑㚼㓈䚀㻚䡱姄鉮䤾轁𨰜𦯀堒埈㛖𡑒烾𤍢𤩱𢿣𡊰𢎽梹楧𡎘𣓥𧯴𣛟𨪃𣟖𣏺𤲟樚𣚭𦲷萾䓟䓎"],["9840","𦴦𦵑𦲂𦿞漗𧄉茽𡜺菭𦲀𧁓𡟛妉媂𡞳婡婱𡤅𤇼㜭姯𡜼㛇熎鎐暚𤊥婮娫𤊓樫𣻹𧜶𤑛𤋊焝𤉙𨧡侰𦴨峂𤓎𧹍𤎽樌𤉖𡌄炦焳𤏩㶥泟勇𤩏繥姫崯㷳彜𤩝𡟟綤萦"],["98a1","咅𣫺𣌀𠈔坾𠣕𠘙㿥𡾞𪊶瀃𩅛嵰玏糓𨩙𩐠俈翧狍猐𧫴猸猹𥛶獁獈㺩𧬘遬燵𤣲珡臶㻊県㻑沢国琙琞琟㻢㻰㻴㻺瓓㼎㽓畂畭畲疍㽼痈痜㿀癍㿗癴㿜発𤽜熈嘣覀塩䀝睃䀹条䁅㗛瞘䁪䁯属瞾矋売砘点砜䂨砹硇硑硦葈𥔵礳栃礲䄃"],["9940","䄉禑禙辻稆込䅧窑䆲窼艹䇄竏竛䇏両筢筬筻簒簛䉠䉺类粜䊌粸䊔糭输烀𠳏総緔緐緽羮羴犟䎗耠耥笹耮耱联㷌垴炠肷胩䏭脌猪脎脒畠脔䐁㬹腖腙腚"],["99a1","䐓堺腼膄䐥膓䐭膥埯臁臤艔䒏芦艶苊苘苿䒰荗险榊萅烵葤惣蒈䔄蒾蓡蓸蔐蔸蕒䔻蕯蕰藠䕷虲蚒蚲蛯际螋䘆䘗袮裿褤襇覑𧥧訩訸誔誴豑賔賲贜䞘塟跃䟭仮踺嗘坔蹱嗵躰䠷軎転軤軭軲辷迁迊迌逳駄䢭飠鈓䤞鈨鉘鉫銱銮銿"],["9a40","鋣鋫鋳鋴鋽鍃鎄鎭䥅䥑麿鐗匁鐝鐭鐾䥪鑔鑹锭関䦧间阳䧥枠䨤靀䨵鞲韂噔䫤惨颹䬙飱塄餎餙冴餜餷饂饝饢䭰駅䮝騼鬏窃魩鮁鯝鯱鯴䱭鰠㝯𡯂鵉鰺"],["9aa1","黾噐鶓鶽鷀鷼银辶鹻麬麱麽黆铜黢黱黸竈齄𠂔𠊷𠎠椚铃妬𠓗塀铁㞹𠗕𠘕𠙶𡚺块煳𠫂𠫍𠮿呪吆𠯋咞𠯻𠰻𠱓𠱥𠱼惧𠲍噺𠲵𠳝𠳭𠵯𠶲𠷈楕鰯螥𠸄𠸎𠻗𠾐𠼭𠹳尠𠾼帋𡁜𡁏𡁶朞𡁻𡂈𡂖㙇𡂿𡃓𡄯𡄻卤蒭𡋣𡍵𡌶讁𡕷𡘙𡟃𡟇乸炻𡠭𡥪"],["9b40","𡨭𡩅𡰪𡱰𡲬𡻈拃𡻕𡼕熘桕𢁅槩㛈𢉼𢏗𢏺𢜪𢡱𢥏苽𢥧𢦓𢫕覥𢫨辠𢬎鞸𢬿顇骽𢱌"],["9b62","𢲈𢲷𥯨𢴈𢴒𢶷𢶕𢹂𢽴𢿌𣀳𣁦𣌟𣏞徱晈暿𧩹𣕧𣗳爁𤦺矗𣘚𣜖纇𠍆墵朎"],["9ba1","椘𣪧𧙗𥿢𣸑𣺹𧗾𢂚䣐䪸𤄙𨪚𤋮𤌍𤀻𤌴𤎖𤩅𠗊凒𠘑妟𡺨㮾𣳿𤐄𤓖垈𤙴㦛𤜯𨗨𩧉㝢𢇃譞𨭎駖𤠒𤣻𤨕爉𤫀𠱸奥𤺥𤾆𠝹軚𥀬劏圿煱𥊙𥐙𣽊𤪧喼𥑆𥑮𦭒釔㑳𥔿𧘲𥕞䜘𥕢𥕦𥟇𤤿𥡝偦㓻𣏌惞𥤃䝼𨥈𥪮𥮉𥰆𡶐垡煑澶𦄂𧰒遖𦆲𤾚譢𦐂𦑊"],["9c40","嵛𦯷輶𦒄𡤜諪𤧶𦒈𣿯𦔒䯀𦖿𦚵𢜛鑥𥟡憕娧晉侻嚹𤔡𦛼乪𤤴陖涏𦲽㘘襷𦞙𦡮𦐑𦡞營𦣇筂𩃀𠨑𦤦鄄𦤹穅鷰𦧺騦𦨭㙟𦑩𠀡禃𦨴𦭛崬𣔙菏𦮝䛐𦲤画补𦶮墶"],["9ca1","㜜𢖍𧁋𧇍㱔𧊀𧊅銁𢅺𧊋錰𧋦𤧐氹钟𧑐𠻸蠧裵𢤦𨑳𡞱溸𤨪𡠠㦤㚹尐秣䔿暶𩲭𩢤襃𧟌𧡘囖䃟𡘊㦡𣜯𨃨𡏅熭荦𧧝𩆨婧䲷𧂯𨦫𧧽𧨊𧬋𧵦𤅺筃祾𨀉澵𪋟樃𨌘厢𦸇鎿栶靝𨅯𨀣𦦵𡏭𣈯𨁈嶅𨰰𨂃圕頣𨥉嶫𤦈斾槕叒𤪥𣾁㰑朶𨂐𨃴𨄮𡾡𨅏"],["9d40","𨆉𨆯𨈚𨌆𨌯𨎊㗊𨑨𨚪䣺揦𨥖砈鉕𨦸䏲𨧧䏟𨧨𨭆𨯔姸𨰉輋𨿅𩃬筑𩄐𩄼㷷𩅞𤫊运犏嚋𩓧𩗩𩖰𩖸𩜲𩣑𩥉𩥪𩧃𩨨𩬎𩵚𩶛纟𩻸𩼣䲤镇𪊓熢𪋿䶑递𪗋䶜𠲜达嗁"],["9da1","辺𢒰边𤪓䔉繿潖檱仪㓤𨬬𧢝㜺躀𡟵𨀤𨭬𨮙𧨾𦚯㷫𧙕𣲷𥘵𥥖亚𥺁𦉘嚿𠹭踎孭𣺈𤲞揞拐𡟶𡡻攰嘭𥱊吚𥌑㷆𩶘䱽嘢嘞罉𥻘奵𣵀蝰东𠿪𠵉𣚺脗鵞贘瘻鱅癎瞹鍅吲腈苷嘥脲萘肽嗪祢噃吖𠺝㗎嘅嗱曱𨋢㘭甴嗰喺咗啲𠱁𠲖廐𥅈𠹶𢱢"],["9e40","𠺢麫絚嗞𡁵抝靭咔賍燶酶揼掹揾啩𢭃鱲𢺳冚㓟𠶧冧呍唞唓癦踭𦢊疱肶蠄螆裇膶萜𡃁䓬猄𤜆宐茋𦢓噻𢛴𧴯𤆣𧵳𦻐𧊶酰𡇙鈈𣳼𪚩𠺬𠻹牦𡲢䝎𤿂𧿹𠿫䃺"],["9ea1","鱝攟𢶠䣳𤟠𩵼𠿬𠸊恢𧖣𠿭"],["9ead","𦁈𡆇熣纎鵐业丄㕷嬍沲卧㚬㧜卽㚥𤘘墚𤭮舭呋垪𥪕𠥹"],["9ec5","㩒𢑥獴𩺬䴉鯭𣳾𩼰䱛𤾩𩖞𩿞葜𣶶𧊲𦞳𣜠挮紥𣻷𣸬㨪逈勌㹴㙺䗩𠒎癀嫰𠺶硺𧼮墧䂿噼鮋嵴癔𪐴麅䳡痹㟻愙𣃚𤏲"],["9ef5","噝𡊩垧𤥣𩸆刴𧂮㖭汊鵼"],["9f40","籖鬹埞𡝬屓擓𩓐𦌵𧅤蚭𠴨𦴢𤫢𠵱"],["9f4f","凾𡼏嶎霃𡷑麁遌笟鬂峑箣扨挵髿篏鬪籾鬮籂粆鰕篼鬉鼗鰛𤤾齚啳寃俽麘俲剠㸆勑坧偖妷帒韈鶫轜呩鞴饀鞺匬愰"],["9fa1","椬叚鰊鴂䰻陁榀傦畆𡝭駚剳"],["9fae","酙隁酜"],["9fb2","酑𨺗捿𦴣櫊嘑醎畺抅𠏼獏籰𥰡𣳽"],["9fc1","𤤙盖鮝个𠳔莾衂"],["9fc9","届槀僭坺刟巵从氱𠇲伹咜哚劚趂㗾弌㗳"],["9fdb","歒酼龥鮗頮颴骺麨麄煺笔"],["9fe7","毺蠘罸"],["9feb","嘠𪙊蹷齓"],["9ff0","跔蹏鸜踁抂𨍽踨蹵竓𤩷稾磘泪詧瘇"],["a040","𨩚鼦泎蟖痃𪊲硓咢贌狢獱謭猂瓱賫𤪻蘯徺袠䒷"],["a055","𡠻𦸅"],["a058","詾𢔛"],["a05b","惽癧髗鵄鍮鮏蟵"],["a063","蠏賷猬霡鮰㗖犲䰇籑饊𦅙慙䰄麖慽"],["a073","坟慯抦戹拎㩜懢厪𣏵捤栂㗒"],["a0a1","嵗𨯂迚𨸹"],["a0a6","僙𡵆礆匲阸𠼻䁥"],["a0ae","矾"],["a0b0","糂𥼚糚稭聦聣絍甅瓲覔舚朌聢𧒆聛瓰脃眤覉𦟌畓𦻑螩蟎臈螌詉貭譃眫瓸蓚㘵榲趦"],["a0d4","覩瑨涹蟁𤀑瓧㷛煶悤憜㳑煢恷"],["a0e2","罱𨬭牐惩䭾删㰘𣳇𥻗𧙖𥔱𡥄𡋾𩤃𦷜𧂭峁𦆭𨨏𣙷𠃮𦡆𤼎䕢嬟𦍌齐麦𦉫"],["a3c0","␀",31,"␡"],["c6a1","①",9,"⑴",9,"ⅰ",9,"丶丿亅亠冂冖冫勹匸卩厶夊宀巛⼳广廴彐彡攴无疒癶辵隶¨ˆヽヾゝゞ〃仝々〆〇ー[]✽ぁ",23],["c740","す",58,"ァアィイ"],["c7a1","ゥ",81,"А",5,"ЁЖ",4],["c840","Л",26,"ёж",25,"⇧↸↹㇏𠃌乚𠂊刂䒑"],["c8a1","龰冈龱𧘇"],["c8cd","¬¦'"㈱№℡゛゜⺀⺄⺆⺇⺈⺊⺌⺍⺕⺜⺝⺥⺧⺪⺬⺮⺶⺼⺾⻆⻊⻌⻍⻏⻖⻗⻞⻣"],["c8f5","ʃɐɛɔɵœøŋʊɪ"],["f9fe","■"],["fa40","𠕇鋛𠗟𣿅蕌䊵珯况㙉𤥂𨧤鍄𡧛苮𣳈砼杄拟𤤳𨦪𠊠𦮳𡌅侫𢓭倈𦴩𧪄𣘀𤪱𢔓倩𠍾徤𠎀𠍇滛𠐟偽儁㑺儎顬㝃萖𤦤𠒇兠𣎴兪𠯿𢃼𠋥𢔰𠖎𣈳𡦃宂蝽𠖳𣲙冲冸"],["faa1","鴴凉减凑㳜凓𤪦决凢卂凭菍椾𣜭彻刋刦刼劵剗劔効勅簕蕂勠蘍𦬓包𨫞啉滙𣾀𠥔𣿬匳卄𠯢泋𡜦栛珕恊㺪㣌𡛨燝䒢卭却𨚫卾卿𡖖𡘓矦厓𨪛厠厫厮玧𥝲㽙玜叁叅汉义埾叙㪫𠮏叠𣿫𢶣叶𠱷吓灹唫晗浛呭𦭓𠵴啝咏咤䞦𡜍𠻝㶴𠵍"],["fb40","𨦼𢚘啇䳭启琗喆喩嘅𡣗𤀺䕒𤐵暳𡂴嘷曍𣊊暤暭噍噏磱囱鞇叾圀囯园𨭦㘣𡉏坆𤆥汮炋坂㚱𦱾埦𡐖堃𡑔𤍣堦𤯵塜墪㕡壠壜𡈼壻寿坃𪅐𤉸鏓㖡够梦㛃湙"],["fba1","𡘾娤啓𡚒蔅姉𠵎𦲁𦴪𡟜姙𡟻𡞲𦶦浱𡠨𡛕姹𦹅媫婣㛦𤦩婷㜈媖瑥嫓𦾡𢕔㶅𡤑㜲𡚸広勐孶斈孼𧨎䀄䡝𠈄寕慠𡨴𥧌𠖥寳宝䴐尅𡭄尓珎尔𡲥𦬨屉䣝岅峩峯嶋𡷹𡸷崐崘嵆𡺤岺巗苼㠭𤤁𢁉𢅳芇㠶㯂帮檊幵幺𤒼𠳓厦亷廐厨𡝱帉廴𨒂"],["fc40","廹廻㢠廼栾鐛弍𠇁弢㫞䢮𡌺强𦢈𢏐彘𢑱彣鞽𦹮彲鍀𨨶徧嶶㵟𥉐𡽪𧃸𢙨釖𠊞𨨩怱暅𡡷㥣㷇㘹垐𢞴祱㹀悞悤悳𤦂𤦏𧩓璤僡媠慤萤慂慈𦻒憁凴𠙖憇宪𣾷"],["fca1","𢡟懓𨮝𩥝懐㤲𢦀𢣁怣慜攞掋𠄘担𡝰拕𢸍捬𤧟㨗搸揸𡎎𡟼撐澊𢸶頔𤂌𥜝擡擥鑻㩦携㩗敍漖𤨨𤨣斅敭敟𣁾斵𤥀䬷旑䃘𡠩无旣忟𣐀昘𣇷𣇸晄𣆤𣆥晋𠹵晧𥇦晳晴𡸽𣈱𨗴𣇈𥌓矅𢣷馤朂𤎜𤨡㬫槺𣟂杞杧杢𤇍𩃭柗䓩栢湐鈼栁𣏦𦶠桝"],["fd40","𣑯槡樋𨫟楳棃𣗍椁椀㴲㨁𣘼㮀枬楡𨩊䋼椶榘㮡𠏉荣傐槹𣙙𢄪橅𣜃檝㯳枱櫈𩆜㰍欝𠤣惞欵歴𢟍溵𣫛𠎵𡥘㝀吡𣭚毡𣻼毜氷𢒋𤣱𦭑汚舦汹𣶼䓅𣶽𤆤𤤌𤤀"],["fda1","𣳉㛥㳫𠴲鮃𣇹𢒑羏样𦴥𦶡𦷫涖浜湼漄𤥿𤂅𦹲蔳𦽴凇沜渝萮𨬡港𣸯瑓𣾂秌湏媑𣁋濸㜍澝𣸰滺𡒗𤀽䕕鏰潄潜㵎潴𩅰㴻澟𤅄濓𤂑𤅕𤀹𣿰𣾴𤄿凟𤅖𤅗𤅀𦇝灋灾炧炁烌烕烖烟䄄㷨熴熖𤉷焫煅媈煊煮岜𤍥煏鍢𤋁焬𤑚𤨧𤨢熺𨯨炽爎"],["fe40","鑂爕夑鑃爤鍁𥘅爮牀𤥴梽牕牗㹕𣁄栍漽犂猪猫𤠣𨠫䣭𨠄猨献珏玪𠰺𦨮珉瑉𤇢𡛧𤨤昣㛅𤦷𤦍𤧻珷琕椃𤨦琹𠗃㻗瑜𢢭瑠𨺲瑇珤瑶莹瑬㜰瑴鏱樬璂䥓𤪌"],["fea1","𤅟𤩹𨮏孆𨰃𡢞瓈𡦈甎瓩甞𨻙𡩋寗𨺬鎅畍畊畧畮𤾂㼄𤴓疎瑝疞疴瘂瘬癑癏癯癶𦏵皐臯㟸𦤑𦤎皡皥皷盌𦾟葢𥂝𥅽𡸜眞眦着撯𥈠睘𣊬瞯𨥤𨥨𡛁矴砉𡍶𤨒棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗禝𧬹礼禩渪𧄦㺨秆𩄍秔"]]; /***/ }), /* 872 */ @@ -36039,144 +36943,258 @@ module.exports = differenceInDays var parse = __webpack_require__(751) -var MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000 - /** - * @category Range Helpers - * @summary Get the number of days that overlap in two date ranges + * @category Second Helpers + * @summary Set the seconds to the given date. * * @description - * Get the number of days that overlap in two date ranges - * - * @param {Date|String|Number} initialRangeStartDate - the start of the initial range - * @param {Date|String|Number} initialRangeEndDate - the end of the initial range - * @param {Date|String|Number} comparedRangeStartDate - the start of the range to compare it with - * @param {Date|String|Number} comparedRangeEndDate - the end of the range to compare it with - * @returns {Number} the number of days that overlap in two date ranges - * @throws {Error} startDate of a date range cannot be after its endDate + * Set the seconds to the given date. * - * @example - * // For overlapping date ranges adds 1 for each started overlapping day: - * getOverlappingDaysInRanges( - * new Date(2014, 0, 10), new Date(2014, 0, 20), new Date(2014, 0, 17), new Date(2014, 0, 21) - * ) - * //=> 3 + * @param {Date|String|Number} date - the date to be changed + * @param {Number} seconds - the seconds of the new date + * @returns {Date} the new date with the seconds setted * * @example - * // For non-overlapping date ranges returns 0: - * getOverlappingDaysInRanges( - * new Date(2014, 0, 10), new Date(2014, 0, 20), new Date(2014, 0, 21), new Date(2014, 0, 22) - * ) - * //=> 0 + * // Set 45 seconds to 1 September 2014 11:30:40: + * var result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45) + * //=> Mon Sep 01 2014 11:30:45 */ -function getOverlappingDaysInRanges (dirtyInitialRangeStartDate, dirtyInitialRangeEndDate, dirtyComparedRangeStartDate, dirtyComparedRangeEndDate) { - var initialStartTime = parse(dirtyInitialRangeStartDate).getTime() - var initialEndTime = parse(dirtyInitialRangeEndDate).getTime() - var comparedStartTime = parse(dirtyComparedRangeStartDate).getTime() - var comparedEndTime = parse(dirtyComparedRangeEndDate).getTime() +function setSeconds (dirtyDate, dirtySeconds) { + var date = parse(dirtyDate) + var seconds = Number(dirtySeconds) + date.setSeconds(seconds) + return date +} - if (initialStartTime > initialEndTime || comparedStartTime > comparedEndTime) { - throw new Error('The start of the range cannot be after the end of the range') - } +module.exports = setSeconds - var isOverlapping = initialStartTime < comparedEndTime && comparedStartTime < initialEndTime - if (!isOverlapping) { - return 0 - } +/***/ }), +/* 876 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - var overlapStartDate = comparedStartTime < initialStartTime - ? initialStartTime - : comparedStartTime +var _curry2 = /*#__PURE__*/__webpack_require__(830); - var overlapEndDate = comparedEndTime > initialEndTime - ? initialEndTime - : comparedEndTime +var _reduced = /*#__PURE__*/__webpack_require__(938); - var differenceInMs = overlapEndDate - overlapStartDate +var _xfBase = /*#__PURE__*/__webpack_require__(60); - return Math.ceil(differenceInMs / MILLISECONDS_IN_DAY) -} +var XAny = /*#__PURE__*/function () { -module.exports = getOverlappingDaysInRanges + function XAny(f, xf) { + this.xf = xf; + this.f = f; + this.any = false; + } + XAny.prototype['@@transducer/init'] = _xfBase.init; + XAny.prototype['@@transducer/result'] = function (result) { + if (!this.any) { + result = this.xf['@@transducer/step'](result, false); + } + return this.xf['@@transducer/result'](result); + }; + XAny.prototype['@@transducer/step'] = function (result, input) { + if (this.f(input)) { + this.any = true; + result = _reduced(this.xf['@@transducer/step'](result, true)); + } + return result; + }; + + return XAny; +}(); +var _xany = /*#__PURE__*/_curry2(function _xany(f, xf) { + return new XAny(f, xf); +}); +module.exports = _xany; /***/ }), -/* 876 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/* 877 */, +/* 878 */ +/***/ (function(module) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +"use strict"; -var _reduced = /*#__PURE__*/__webpack_require__(938); -var _xfBase = /*#__PURE__*/__webpack_require__(60); +// Manually added data to be used by sbcs codec in addition to generated one. + +module.exports = { + // Not supported by iconv, not sure why. + "10029": "maccenteuro", + "maccenteuro": { + "type": "_sbcs", + "chars": "ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ" + }, + + "808": "cp808", + "ibm808": "cp808", + "cp808": { + "type": "_sbcs", + "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№€■ " + }, + + "mik": { + "type": "_sbcs", + "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + + "cp720": { + "type": "_sbcs", + "chars": "\x80\x81éâ\x84à\x86çêëèïî\x8d\x8e\x8f\x90\u0651\u0652ô¤ـûùءآأؤ£إئابةتثجحخدذرزسشص«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ضطظعغفµقكلمنهوىي≡\u064b\u064c\u064d\u064e\u064f\u0650≈°∙·√ⁿ²■\u00a0" + }, + + // Aliases of generated encodings. + "ascii8bit": "ascii", + "usascii": "ascii", + "ansix34": "ascii", + "ansix341968": "ascii", + "ansix341986": "ascii", + "csascii": "ascii", + "cp367": "ascii", + "ibm367": "ascii", + "isoir6": "ascii", + "iso646us": "ascii", + "iso646irv": "ascii", + "us": "ascii", + + "latin1": "iso88591", + "latin2": "iso88592", + "latin3": "iso88593", + "latin4": "iso88594", + "latin5": "iso88599", + "latin6": "iso885910", + "latin7": "iso885913", + "latin8": "iso885914", + "latin9": "iso885915", + "latin10": "iso885916", + + "csisolatin1": "iso88591", + "csisolatin2": "iso88592", + "csisolatin3": "iso88593", + "csisolatin4": "iso88594", + "csisolatincyrillic": "iso88595", + "csisolatinarabic": "iso88596", + "csisolatingreek" : "iso88597", + "csisolatinhebrew": "iso88598", + "csisolatin5": "iso88599", + "csisolatin6": "iso885910", + + "l1": "iso88591", + "l2": "iso88592", + "l3": "iso88593", + "l4": "iso88594", + "l5": "iso88599", + "l6": "iso885910", + "l7": "iso885913", + "l8": "iso885914", + "l9": "iso885915", + "l10": "iso885916", + + "isoir14": "iso646jp", + "isoir57": "iso646cn", + "isoir100": "iso88591", + "isoir101": "iso88592", + "isoir109": "iso88593", + "isoir110": "iso88594", + "isoir144": "iso88595", + "isoir127": "iso88596", + "isoir126": "iso88597", + "isoir138": "iso88598", + "isoir148": "iso88599", + "isoir157": "iso885910", + "isoir166": "tis620", + "isoir179": "iso885913", + "isoir199": "iso885914", + "isoir203": "iso885915", + "isoir226": "iso885916", + + "cp819": "iso88591", + "ibm819": "iso88591", + + "cyrillic": "iso88595", + + "arabic": "iso88596", + "arabic8": "iso88596", + "ecma114": "iso88596", + "asmo708": "iso88596", + + "greek" : "iso88597", + "greek8" : "iso88597", + "ecma118" : "iso88597", + "elot928" : "iso88597", + + "hebrew": "iso88598", + "hebrew8": "iso88598", + + "turkish": "iso88599", + "turkish8": "iso88599", + + "thai": "iso885911", + "thai8": "iso885911", + + "celtic": "iso885914", + "celtic8": "iso885914", + "isoceltic": "iso885914", + + "tis6200": "tis620", + "tis62025291": "tis620", + "tis62025330": "tis620", + + "10000": "macroman", + "10006": "macgreek", + "10007": "maccyrillic", + "10079": "maciceland", + "10081": "macturkish", + + "cspc8codepage437": "cp437", + "cspc775baltic": "cp775", + "cspc850multilingual": "cp850", + "cspcp852": "cp852", + "cspc862latinhebrew": "cp862", + "cpgr": "cp869", + + "msee": "cp1250", + "mscyrl": "cp1251", + "msansi": "cp1252", + "msgreek": "cp1253", + "msturk": "cp1254", + "mshebr": "cp1255", + "msarab": "cp1256", + "winbaltrim": "cp1257", -var XAny = /*#__PURE__*/function () { + "cp20866": "koi8r", + "20866": "koi8r", + "ibm878": "koi8r", + "cskoi8r": "koi8r", - function XAny(f, xf) { - this.xf = xf; - this.f = f; - this.any = false; - } - XAny.prototype['@@transducer/init'] = _xfBase.init; - XAny.prototype['@@transducer/result'] = function (result) { - if (!this.any) { - result = this.xf['@@transducer/step'](result, false); - } - return this.xf['@@transducer/result'](result); - }; - XAny.prototype['@@transducer/step'] = function (result, input) { - if (this.f(input)) { - this.any = true; - result = _reduced(this.xf['@@transducer/step'](result, true)); - } - return result; - }; + "cp21866": "koi8u", + "21866": "koi8u", + "ibm1168": "koi8u", - return XAny; -}(); + "strk10482002": "rk1048", -var _xany = /*#__PURE__*/_curry2(function _xany(f, xf) { - return new XAny(f, xf); -}); -module.exports = _xany; + "tcvn5712": "tcvn", + "tcvn57121": "tcvn", -/***/ }), -/* 877 */, -/* 878 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + "gb198880": "iso646cn", + "cn": "iso646cn", -var _includes = /*#__PURE__*/__webpack_require__(216); + "csiso14jisc6220ro": "iso646jp", + "jisc62201969ro": "iso646jp", + "jp": "iso646jp", -var _curry2 = /*#__PURE__*/__webpack_require__(830); + "cshproman8": "hproman8", + "r8": "hproman8", + "roman8": "hproman8", + "xroman8": "hproman8", + "ibm1051": "hproman8", -/** - * Returns `true` if the specified value is equal, in [`R.equals`](#equals) - * terms, to at least one element of the given list; `false` otherwise. - * Works also with strings. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig a -> [a] -> Boolean - * @param {Object} a The item to compare against. - * @param {Array} list The array to consider. - * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise. - * @see R.includes - * @deprecated since v0.26.0 - * @example - * - * R.contains(3, [1, 2, 3]); //=> true - * R.contains(4, [1, 2, 3]); //=> false - * R.contains({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true - * R.contains([42], [[42]]); //=> true - * R.contains('ba', 'banana'); //=>true - */ + "mac": "macintosh", + "csmacintosh": "macintosh", +}; -var contains = /*#__PURE__*/_curry2(_includes); -module.exports = contains; /***/ }), /* 879 */, @@ -36214,69 +37232,42 @@ module.exports = multiply; /***/ }), /* 881 */ -/***/ (function(module) { - -"use strict"; - - -const isWin = process.platform === 'win32'; - -function notFoundError(original, syscall) { - return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), { - code: 'ENOENT', - errno: 'ENOENT', - syscall: `${syscall} ${original.command}`, - path: original.command, - spawnargs: original.args, - }); -} - -function hookChildProcess(cp, parsed) { - if (!isWin) { - return; - } - - const originalEmit = cp.emit; - - cp.emit = function (name, arg1) { - // If emitting "exit" event and exit code is 1, we need to check if - // the command exists and emit an "error" instead - // See https://github.com/IndigoUnited/node-cross-spawn/issues/16 - if (name === 'exit') { - const err = verifyENOENT(arg1, parsed, 'spawn'); - - if (err) { - return originalEmit.call(cp, 'error', err); - } - } - - return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params - }; -} +/***/ (function(module, __unusedexports, __webpack_require__) { -function verifyENOENT(status, parsed) { - if (isWin && status === 1 && !parsed.file) { - return notFoundError(parsed.original, 'spawn'); - } +var _curry3 = /*#__PURE__*/__webpack_require__(687); - return null; -} +var adjust = /*#__PURE__*/__webpack_require__(908); -function verifyENOENTSync(status, parsed) { - if (isWin && status === 1 && !parsed.file) { - return notFoundError(parsed.original, 'spawnSync'); - } +var always = /*#__PURE__*/__webpack_require__(657); - return null; -} +/** + * Returns a new copy of the array with the element at the provided index + * replaced with the given value. + * + * @func + * @memberOf R + * @since v0.14.0 + * @category List + * @sig Number -> a -> [a] -> [a] + * @param {Number} idx The index to update. + * @param {*} x The value to exist at the given index of the returned array. + * @param {Array|Arguments} list The source array-like object to be updated. + * @return {Array} A copy of `list` with the value at index `idx` replaced with `x`. + * @see R.adjust + * @example + * + * R.update(1, '_', ['a', 'b', 'c']); //=> ['a', '_', 'c'] + * R.update(-1, '_', ['a', 'b', 'c']); //=> ['a', 'b', '_'] + * @symb R.update(-1, a, [b, c]) = [b, a] + * @symb R.update(0, a, [b, c]) = [a, c] + * @symb R.update(1, a, [b, c]) = [b, a] + */ -module.exports = { - hookChildProcess, - verifyENOENT, - verifyENOENTSync, - notFoundError, -}; +var update = /*#__PURE__*/_curry3(function update(idx, x, list) { + return adjust(idx, always(x), list); +}); +module.exports = update; /***/ }), /* 882 */, @@ -36383,7 +37374,7 @@ module.exports = _functionName; var _curry2 = /*#__PURE__*/__webpack_require__(830); -var _map = /*#__PURE__*/__webpack_require__(392); +var _map = /*#__PURE__*/__webpack_require__(626); var curryN = /*#__PURE__*/__webpack_require__(535); @@ -36518,14 +37509,14 @@ module.exports = isSaturday Object.defineProperty(exports, '__esModule', { value: true }); -var core = __webpack_require__(448); +var core = __webpack_require__(152); var pluginRequestLog = __webpack_require__(916); var pluginPaginateRest = __webpack_require__(991); -var pluginRestEndpointMethods = __webpack_require__(468); +var pluginRestEndpointMethods = __webpack_require__(842); -const VERSION = "17.5.1"; +const VERSION = "19.0.7"; -const Octokit = core.Octokit.plugin(pluginRequestLog.requestLog, pluginRestEndpointMethods.restEndpointMethods, pluginPaginateRest.paginateRest).defaults({ +const Octokit = core.Octokit.plugin(pluginRequestLog.requestLog, pluginRestEndpointMethods.legacyRestEndpointMethods, pluginPaginateRest.paginateRest).defaults({ userAgent: `octokit-rest.js/${VERSION}` }); @@ -36534,340 +37525,156 @@ exports.Octokit = Octokit; /***/ }), -/* 890 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -var Buffer = __webpack_require__(572).Buffer; - -// UTF-7 codec, according to https://tools.ietf.org/html/rfc2152 -// See also below a UTF-7-IMAP codec, according to http://tools.ietf.org/html/rfc3501#section-5.1.3 - -exports.utf7 = Utf7Codec; -exports.unicode11utf7 = 'utf7'; // Alias UNICODE-1-1-UTF-7 -function Utf7Codec(codecOptions, iconv) { - this.iconv = iconv; -}; - -Utf7Codec.prototype.encoder = Utf7Encoder; -Utf7Codec.prototype.decoder = Utf7Decoder; -Utf7Codec.prototype.bomAware = true; - - -// -- Encoding - -var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g; - -function Utf7Encoder(options, codec) { - this.iconv = codec.iconv; -} - -Utf7Encoder.prototype.write = function(str) { - // Naive implementation. - // Non-direct chars are encoded as "+-"; single "+" char is encoded as "+-". - return Buffer.from(str.replace(nonDirectChars, function(chunk) { - return "+" + (chunk === '+' ? '' : - this.iconv.encode(chunk, 'utf16-be').toString('base64').replace(/=+$/, '')) - + "-"; - }.bind(this))); -} - -Utf7Encoder.prototype.end = function() { -} - - -// -- Decoding - -function Utf7Decoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = ''; -} - -var base64Regex = /[A-Za-z0-9\/+]/; -var base64Chars = []; -for (var i = 0; i < 256; i++) - base64Chars[i] = base64Regex.test(String.fromCharCode(i)); - -var plusChar = '+'.charCodeAt(0), - minusChar = '-'.charCodeAt(0), - andChar = '&'.charCodeAt(0); - -Utf7Decoder.prototype.write = function(buf) { - var res = "", lastI = 0, - inBase64 = this.inBase64, - base64Accum = this.base64Accum; - - // The decoder is more involved as we must handle chunks in stream. - - for (var i = 0; i < buf.length; i++) { - if (!inBase64) { // We're in direct mode. - // Write direct chars until '+' - if (buf[i] == plusChar) { - res += this.iconv.decode(buf.slice(lastI, i), "ascii"); // Write direct chars. - lastI = i+1; - inBase64 = true; - } - } else { // We decode base64. - if (!base64Chars[buf[i]]) { // Base64 ended. - if (i == lastI && buf[i] == minusChar) {// "+-" -> "+" - res += "+"; - } else { - var b64str = base64Accum + buf.slice(lastI, i).toString(); - res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be"); - } - - if (buf[i] != minusChar) // Minus is absorbed after base64. - i--; - - lastI = i+1; - inBase64 = false; - base64Accum = ''; - } - } - } - - if (!inBase64) { - res += this.iconv.decode(buf.slice(lastI), "ascii"); // Write direct chars. - } else { - var b64str = base64Accum + buf.slice(lastI).toString(); - - var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars. - base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future. - b64str = b64str.slice(0, canBeDecoded); - - res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be"); - } +/* 890 */, +/* 891 */, +/* 892 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - this.inBase64 = inBase64; - this.base64Accum = base64Accum; +var parse = __webpack_require__(751) - return res; +/** + * @category Month Helpers + * @summary Are the given dates in the same month? + * + * @description + * Are the given dates in the same month? + * + * @param {Date|String|Number} dateLeft - the first date to check + * @param {Date|String|Number} dateRight - the second date to check + * @returns {Boolean} the dates are in the same month + * + * @example + * // Are 2 September 2014 and 25 September 2014 in the same month? + * var result = isSameMonth( + * new Date(2014, 8, 2), + * new Date(2014, 8, 25) + * ) + * //=> true + */ +function isSameMonth (dirtyDateLeft, dirtyDateRight) { + var dateLeft = parse(dirtyDateLeft) + var dateRight = parse(dirtyDateRight) + return dateLeft.getFullYear() === dateRight.getFullYear() && + dateLeft.getMonth() === dateRight.getMonth() } -Utf7Decoder.prototype.end = function() { - var res = ""; - if (this.inBase64 && this.base64Accum.length > 0) - res = this.iconv.decode(Buffer.from(this.base64Accum, 'base64'), "utf16-be"); - - this.inBase64 = false; - this.base64Accum = ''; - return res; -} +module.exports = isSameMonth -// UTF-7-IMAP codec. -// RFC3501 Sec. 5.1.3 Modified UTF-7 (http://tools.ietf.org/html/rfc3501#section-5.1.3) -// Differences: -// * Base64 part is started by "&" instead of "+" -// * Direct characters are 0x20-0x7E, except "&" (0x26) -// * In Base64, "," is used instead of "/" -// * Base64 must not be used to represent direct characters. -// * No implicit shift back from Base64 (should always end with '-') -// * String must end in non-shifted position. -// * "-&" while in base64 is not allowed. +/***/ }), +/* 893 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { +"use strict"; -exports.utf7imap = Utf7IMAPCodec; -function Utf7IMAPCodec(codecOptions, iconv) { - this.iconv = iconv; -}; -Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder; -Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder; -Utf7IMAPCodec.prototype.bomAware = true; +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _rng = _interopRequireDefault(__webpack_require__(844)); -// -- Encoding +var _stringify = _interopRequireDefault(__webpack_require__(411)); -function Utf7IMAPEncoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = Buffer.alloc(6); - this.base64AccumIdx = 0; -} +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -Utf7IMAPEncoder.prototype.write = function(str) { - var inBase64 = this.inBase64, - base64Accum = this.base64Accum, - base64AccumIdx = this.base64AccumIdx, - buf = Buffer.alloc(str.length*5 + 10), bufIdx = 0; +// **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html +let _nodeId; - for (var i = 0; i < str.length; i++) { - var uChar = str.charCodeAt(i); - if (0x20 <= uChar && uChar <= 0x7E) { // Direct character or '&'. - if (inBase64) { - if (base64AccumIdx > 0) { - bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString('base64').replace(/\//g, ',').replace(/=+$/, ''), bufIdx); - base64AccumIdx = 0; - } +let _clockseq; // Previous uuid creation time - buf[bufIdx++] = minusChar; // Write '-', then go to direct mode. - inBase64 = false; - } - if (!inBase64) { - buf[bufIdx++] = uChar; // Write direct character +let _lastMSecs = 0; +let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details - if (uChar === andChar) // Ampersand -> '&-' - buf[bufIdx++] = minusChar; - } +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 - } else { // Non-direct character - if (!inBase64) { - buf[bufIdx++] = andChar; // Write '&', then go to base64 mode. - inBase64 = true; - } - if (inBase64) { - base64Accum[base64AccumIdx++] = uChar >> 8; - base64Accum[base64AccumIdx++] = uChar & 0xFF; + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || _rng.default)(); - if (base64AccumIdx == base64Accum.length) { - bufIdx += buf.write(base64Accum.toString('base64').replace(/\//g, ','), bufIdx); - base64AccumIdx = 0; - } - } - } + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; } - this.inBase64 = inBase64; - this.base64AccumIdx = base64AccumIdx; - - return buf.slice(0, bufIdx); -} - -Utf7IMAPEncoder.prototype.end = function() { - var buf = Buffer.alloc(10), bufIdx = 0; - if (this.inBase64) { - if (this.base64AccumIdx > 0) { - bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString('base64').replace(/\//g, ',').replace(/=+$/, ''), bufIdx); - this.base64AccumIdx = 0; - } - - buf[bufIdx++] = minusChar; // Write '-', then go to direct mode. - this.inBase64 = false; + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - return buf.slice(0, bufIdx); -} - - -// -- Decoding - -function Utf7IMAPDecoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = ''; -} - -var base64IMAPChars = base64Chars.slice(); -base64IMAPChars[','.charCodeAt(0)] = true; -Utf7IMAPDecoder.prototype.write = function(buf) { - var res = "", lastI = 0, - inBase64 = this.inBase64, - base64Accum = this.base64Accum; + let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock - // The decoder is more involved as we must handle chunks in stream. - // It is forgiving, closer to standard UTF-7 (for example, '-' is optional at the end). + let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) - for (var i = 0; i < buf.length; i++) { - if (!inBase64) { // We're in direct mode. - // Write direct chars until '&' - if (buf[i] == andChar) { - res += this.iconv.decode(buf.slice(lastI, i), "ascii"); // Write direct chars. - lastI = i+1; - inBase64 = true; - } - } else { // We decode base64. - if (!base64IMAPChars[buf[i]]) { // Base64 ended. - if (i == lastI && buf[i] == minusChar) { // "&-" -> "&" - res += "&"; - } else { - var b64str = base64Accum + buf.slice(lastI, i).toString().replace(/,/g, '/'); - res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be"); - } + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression - if (buf[i] != minusChar) // Minus may be absorbed after base64. - i--; + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval - lastI = i+1; - inBase64 = false; - base64Accum = ''; - } - } - } - if (!inBase64) { - res += this.iconv.decode(buf.slice(lastI), "ascii"); // Write direct chars. - } else { - var b64str = base64Accum + buf.slice(lastI).toString().replace(/,/g, '/'); + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested - var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars. - base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future. - b64str = b64str.slice(0, canBeDecoded); - res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be"); - } + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } - this.inBase64 = inBase64; - this.base64Accum = base64Accum; + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - return res; -} + msecs += 12219292800000; // `time_low` -Utf7IMAPDecoder.prototype.end = function() { - var res = ""; - if (this.inBase64 && this.base64Accum.length > 0) - res = this.iconv.decode(Buffer.from(this.base64Accum, 'base64'), "utf16-be"); + const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` - this.inBase64 = false; - this.base64Accum = ''; - return res; -} + const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` -/***/ }), -/* 891 */, -/* 892 */ -/***/ (function(module, __unusedexports, __webpack_require__) { + b[i++] = clockseq & 0xff; // `node` -var parse = __webpack_require__(751) + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } -/** - * @category Month Helpers - * @summary Are the given dates in the same month? - * - * @description - * Are the given dates in the same month? - * - * @param {Date|String|Number} dateLeft - the first date to check - * @param {Date|String|Number} dateRight - the second date to check - * @returns {Boolean} the dates are in the same month - * - * @example - * // Are 2 September 2014 and 25 September 2014 in the same month? - * var result = isSameMonth( - * new Date(2014, 8, 2), - * new Date(2014, 8, 25) - * ) - * //=> true - */ -function isSameMonth (dirtyDateLeft, dirtyDateRight) { - var dateLeft = parse(dirtyDateLeft) - var dateRight = parse(dirtyDateRight) - return dateLeft.getFullYear() === dateRight.getFullYear() && - dateLeft.getMonth() === dateRight.getMonth() + return buf || (0, _stringify.default)(b); } -module.exports = isSameMonth - +var _default = v1; +exports.default = _default; /***/ }), -/* 893 */, /* 894 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -36966,15 +37773,22 @@ Object.defineProperty(exports, '__esModule', { value: true }); var request = __webpack_require__(753); var universalUserAgent = __webpack_require__(796); -const VERSION = "4.3.1"; +const VERSION = "4.8.0"; -class GraphqlError extends Error { - constructor(request, response) { - const message = response.data.errors[0].message; - super(message); - Object.assign(this, response.data); - this.name = "GraphqlError"; - this.request = request; // Maintains proper stack trace (only available on V8) +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); +} + +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; // Expose the errors and response data in their shorthand properties. + + this.errors = response.errors; + this.data = response.data; // Maintains proper stack trace (only available on V8) /* istanbul ignore next */ @@ -36985,14 +37799,27 @@ class GraphqlError extends Error { } -const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query"]; +const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; function graphql(request, query, options) { - options = typeof query === "string" ? options = Object.assign({ + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } + } + + const parsedOptions = typeof query === "string" ? Object.assign({ query - }, options) : options = query; - const requestOptions = Object.keys(options).reduce((result, key) => { + }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { if (NON_VARIABLE_OPTIONS.includes(key)) { - result[key] = options[key]; + result[key] = parsedOptions[key]; return result; } @@ -37000,14 +37827,26 @@ function graphql(request, query, options) { result.variables = {}; } - result.variables[key] = options[key]; + result.variables[key] = parsedOptions[key]; return result; - }, {}); + }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request(requestOptions).then(response => { if (response.data.errors) { - throw new GraphqlError(requestOptions, { - data: response.data - }); + const headers = {}; + + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + + throw new GraphqlResponseError(requestOptions, headers, response.data); } return response.data.data; @@ -37041,6 +37880,7 @@ function withCustomRequest(customRequest) { }); } +exports.GraphqlResponseError = GraphqlResponseError; exports.graphql = graphql$1; exports.withCustomRequest = withCustomRequest; //# sourceMappingURL=index.js.map @@ -37186,37 +38026,7 @@ module.exports = isWednesday /***/ }), -/* 905 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var lastDayOfWeek = __webpack_require__(856) - -/** - * @category ISO Week Helpers - * @summary Return the last day of an ISO week for the given date. - * - * @description - * Return the last day of an ISO week for the given date. - * The result will be in the local timezone. - * - * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date - * - * @param {Date|String|Number} date - the original date - * @returns {Date} the last day of an ISO week - * - * @example - * // The last day of an ISO week for 2 September 2014 11:55:00: - * var result = lastDayOfISOWeek(new Date(2014, 8, 2, 11, 55, 0)) - * //=> Sun Sep 07 2014 00:00:00 - */ -function lastDayOfISOWeek (dirtyDate) { - return lastDayOfWeek(dirtyDate, {weekStartsOn: 1}) -} - -module.exports = lastDayOfISOWeek - - -/***/ }), +/* 905 */, /* 906 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -37263,7 +38073,7 @@ module.exports = values; var _concat = /*#__PURE__*/__webpack_require__(340); -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Applies a function to the value at the given index of an array, returning a @@ -37318,7 +38128,7 @@ module.exports = _identity; /***/ (function(module, __unusedexports, __webpack_require__) { var getDayOfYear = __webpack_require__(833) -var getISOWeek = __webpack_require__(15) +var getISOWeek = __webpack_require__(988) var getISOYear = __webpack_require__(689) var parse = __webpack_require__(751) var isValid = __webpack_require__(255) @@ -37652,7 +38462,7 @@ module.exports = format /* 912 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); var equals = /*#__PURE__*/__webpack_require__(701); @@ -37746,7 +38556,7 @@ module.exports = min; Object.defineProperty(exports, '__esModule', { value: true }); -const VERSION = "1.0.0"; +const VERSION = "1.0.4"; /** * @param octokit Octokit instance @@ -37778,7 +38588,7 @@ exports.requestLog = requestLog; /* 917 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Removes the sub-list of `list` starting at index `start` and containing @@ -37858,53 +38668,117 @@ module.exports = pipe; /* 919 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); +"use strict"; -var _dispatchable = /*#__PURE__*/__webpack_require__(968); -var _xdropRepeatsWith = /*#__PURE__*/__webpack_require__(424); +var Buffer = __webpack_require__(572).Buffer; -var last = /*#__PURE__*/__webpack_require__(951); +// NOTE: Due to 'stream' module being pretty large (~100Kb, significant in browser environments), +// we opt to dependency-inject it instead of creating a hard dependency. +module.exports = function(stream_module) { + var Transform = stream_module.Transform; -/** - * Returns a new list without any consecutively repeating elements. Equality is - * determined by applying the supplied predicate to each pair of consecutive elements. The - * first element in a series of equal elements will be preserved. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category List - * @sig ((a, a) -> Boolean) -> [a] -> [a] - * @param {Function} pred A predicate used to test whether two items are equal. - * @param {Array} list The array to consider. - * @return {Array} `list` without repeating elements. - * @see R.transduce - * @example - * - * const l = [1, -1, 1, 3, 4, -4, -4, -5, 5, 3, 3]; - * R.dropRepeatsWith(R.eqBy(Math.abs), l); //=> [1, 3, 4, -5, 3] - */ + // == Encoder stream ======================================================= + function IconvLiteEncoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.decodeStrings = false; // We accept only strings, so we don't need to decode them. + Transform.call(this, options); + } -var dropRepeatsWith = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xdropRepeatsWith, function dropRepeatsWith(pred, list) { - var result = []; - var idx = 1; - var len = list.length; - if (len !== 0) { - result[0] = list[0]; - while (idx < len) { - if (!pred(last(result), list[idx])) { - result[result.length] = list[idx]; - } - idx += 1; + IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, { + constructor: { value: IconvLiteEncoderStream } + }); + + IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) { + if (typeof chunk != 'string') + return done(new Error("Iconv encoding stream needs strings as its input.")); + try { + var res = this.conv.write(chunk); + if (res && res.length) this.push(res); + done(); + } + catch (e) { + done(e); + } + } + + IconvLiteEncoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) this.push(res); + done(); + } + catch (e) { + done(e); + } + } + + IconvLiteEncoderStream.prototype.collect = function(cb) { + var chunks = []; + this.on('error', cb); + this.on('data', function(chunk) { chunks.push(chunk); }); + this.on('end', function() { + cb(null, Buffer.concat(chunks)); + }); + return this; } - } - return result; -})); -module.exports = dropRepeatsWith; + + + // == Decoder stream ======================================================= + + function IconvLiteDecoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.encoding = this.encoding = 'utf8'; // We output strings. + Transform.call(this, options); + } + + IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, { + constructor: { value: IconvLiteDecoderStream } + }); + + IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) { + if (!Buffer.isBuffer(chunk) && !(chunk instanceof Uint8Array)) + return done(new Error("Iconv decoding stream needs buffers as its input.")); + try { + var res = this.conv.write(chunk); + if (res && res.length) this.push(res, this.encoding); + done(); + } + catch (e) { + done(e); + } + } + + IconvLiteDecoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) this.push(res, this.encoding); + done(); + } + catch (e) { + done(e); + } + } + + IconvLiteDecoderStream.prototype.collect = function(cb) { + var res = ''; + this.on('error', cb); + this.on('data', function(chunk) { res += chunk; }); + this.on('end', function() { + cb(null, res); + }); + return this; + } + + return { + IconvLiteEncoderStream: IconvLiteEncoderStream, + IconvLiteDecoderStream: IconvLiteDecoderStream, + }; +}; + /***/ }), /* 920 */ @@ -38048,7 +38922,7 @@ module.exports = unfold; /* 927 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); var mergeWithKey = /*#__PURE__*/__webpack_require__(681); @@ -38111,187 +38985,1345 @@ module.exports = Array.isArray || function _isArray(val) { /* 932 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var addMinutes = __webpack_require__(755) +var parse = __webpack_require__(751) /** * @category Minute Helpers - * @summary Subtract the specified number of minutes from the given date. + * @summary Return the start of a minute for the given date. * * @description - * Subtract the specified number of minutes from the given date. + * Return the start of a minute for the given date. + * The result will be in the local timezone. * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of minutes to be subtracted - * @returns {Date} the new date with the mintues subtracted + * @param {Date|String|Number} date - the original date + * @returns {Date} the start of a minute * * @example - * // Subtract 30 minutes from 10 July 2014 12:00:00: - * var result = subMinutes(new Date(2014, 6, 10, 12, 0), 30) - * //=> Thu Jul 10 2014 11:30:00 + * // The start of a minute for 1 December 2014 22:15:45.400: + * var result = startOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:00 */ -function subMinutes (dirtyDate, dirtyAmount) { - var amount = Number(dirtyAmount) - return addMinutes(dirtyDate, -amount) +function startOfMinute (dirtyDate) { + var date = parse(dirtyDate) + date.setSeconds(0, 0) + return date } -module.exports = subMinutes +module.exports = startOfMinute /***/ }), /* 933 */, /* 934 */, -/* 935 */ +/* 935 */, +/* 936 */ /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = throttlingPlugin - -const BottleneckLight = __webpack_require__(972) -const wrapRequest = __webpack_require__(307) -const triggersNotificationPaths = __webpack_require__(298) -const routeMatcher = __webpack_require__(673)(triggersNotificationPaths) -const HttpError = __webpack_require__(631) - -// Workaround to allow tests to directly access the triggersNotification function. -const triggersNotification = throttlingPlugin.triggersNotification = - routeMatcher.test.bind(routeMatcher) - -const groups = {} - -const createGroups = function (Bottleneck, common) { - groups.global = new Bottleneck.Group({ - id: 'octokit-global', - maxConcurrent: 1, - ...common - }) - groups.write = new Bottleneck.Group({ - id: 'octokit-write', - maxConcurrent: 1, - minTime: 1000, - ...common - }) - groups.notifications = new Bottleneck.Group({ - id: 'octokit-notifications', - maxConcurrent: 1, - minTime: 3000, - ...common - }) -} - -function throttlingPlugin (octokit, octokitOptions = {}) { - const { - enabled = true, - Bottleneck = BottleneckLight, - id = 'no-id', - timeout = 1000 * 60 * 2, // Redis TTL: 2 minutes - connection - } = octokitOptions.throttle || {} - if (!enabled) { - return - } - const common = { connection, timeout } - - if (groups.global == null) { - createGroups(Bottleneck, common) - } - - const state = Object.assign({ - clustering: connection != null, - triggersNotification, - minimumAbuseRetryAfter: 5, - retryAfterBaseValue: 1000, - retryLimiter: new Bottleneck(), - id, - ...groups - }, octokitOptions.throttle) - - if (typeof state.onAbuseLimit !== 'function' || typeof state.onRateLimit !== 'function') { - throw new Error(`octokit/plugin-throttling error: - You must pass the onAbuseLimit and onRateLimit error handlers. - See https://github.com/octokit/rest.js#throttling - - const octokit = new Octokit({ - throttle: { - onAbuseLimit: (error, options) => {/* ... */}, - onRateLimit: (error, options) => {/* ... */} - } - }) - `) - } - - const events = {} - const emitter = new Bottleneck.Events(events) - events.on('abuse-limit', state.onAbuseLimit) - events.on('rate-limit', state.onRateLimit) - events.on('error', e => console.warn('Error in throttling-plugin limit handler', e)) - - state.retryLimiter.on('failed', async function (error, info) { - const options = info.args[info.args.length - 1] - const { maxRetryAfterSeconds = Number.MAX_SAFE_INTEGER } = info.args[0] || {} - const retryCount = ~~options.request.retryCount - options.request.retryCount = retryCount - - const { wantRetry, retryAfter } = await (async function () { - if (/\babuse\b/i.test(error.message)) { - // The user has hit the abuse rate limit. - // https://developer.github.com/v3/#abuse-rate-limits - - // The Retry-After header can sometimes be blank when hitting an abuse limit, - // but is always present after 2-3s, so make sure to set `retryAfter` to at least 5s by default. - const retryAfter = Math.max(~~error.headers['retry-after'], state.minimumAbuseRetryAfter) - const wantRetry = await emitter.trigger('abuse-limit', retryAfter, options) - return { wantRetry, retryAfter } - } - if (error.headers['x-ratelimit-remaining'] === '0') { - // The user has used all their allowed calls for the current time period - // https://developer.github.com/v3/#rate-limiting - - const rateLimitReset = new Date(~~error.headers['x-ratelimit-reset'] * 1000).getTime() - const originalRetryAfter = Math.max(Math.ceil((rateLimitReset - Date.now()) / 1000), 0) - - const retryAfter = originalRetryAfter > maxRetryAfterSeconds - ? maxRetryAfterSeconds - : originalRetryAfter - - const wantRetry = await emitter.trigger('rate-limit', retryAfter, options) - return { wantRetry, retryAfter } - } - return {} - })() - - if (wantRetry) { - options.request.retryCount++ - return retryAfter * state.retryAfterBaseValue - } - }) - - // after every request check if custom condition to retry request is met - // throw if it is to kick in retry limiter - octokit.hook.after('request', (response, options) => { - if (!state.retryWhen) { - return - } - - const shouldRetry = state.retryWhen(response, options) - - if (shouldRetry) { - throw new HttpError( - response.statusText, - response.status, - response.headers, - ) - } - }) - - octokit.hook.wrap('request', wrapRequest.bind(null, state)) -} +"use strict"; + +const punycode = __webpack_require__(213); +const tr46 = __webpack_require__(976); + +const specialSchemes = { + ftp: 21, + file: null, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +const failure = Symbol("failure"); + +function countSymbols(str) { + return punycode.ucs2.decode(str).length; +} + +function at(input, idx) { + const c = input[idx]; + return isNaN(c) ? undefined : String.fromCodePoint(c); +} + +function isASCIIDigit(c) { + return c >= 0x30 && c <= 0x39; +} + +function isASCIIAlpha(c) { + return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A); +} + +function isASCIIAlphanumeric(c) { + return isASCIIAlpha(c) || isASCIIDigit(c); +} + +function isASCIIHex(c) { + return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66); +} + +function isSingleDot(buffer) { + return buffer === "." || buffer.toLowerCase() === "%2e"; +} + +function isDoubleDot(buffer) { + buffer = buffer.toLowerCase(); + return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; +} + +function isWindowsDriveLetterCodePoints(cp1, cp2) { + return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); +} + +function isWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); +} + +function isNormalizedWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; +} + +function containsForbiddenHostCodePoint(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; +} + +function containsForbiddenHostCodePointExcludingPercent(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; +} + +function isSpecialScheme(scheme) { + return specialSchemes[scheme] !== undefined; +} + +function isSpecial(url) { + return isSpecialScheme(url.scheme); +} + +function defaultPort(scheme) { + return specialSchemes[scheme]; +} + +function percentEncode(c) { + let hex = c.toString(16).toUpperCase(); + if (hex.length === 1) { + hex = "0" + hex; + } + + return "%" + hex; +} + +function utf8PercentEncode(c) { + const buf = new Buffer(c); + + let str = ""; + + for (let i = 0; i < buf.length; ++i) { + str += percentEncode(buf[i]); + } + + return str; +} + +function utf8PercentDecode(str) { + const input = new Buffer(str); + const output = []; + for (let i = 0; i < input.length; ++i) { + if (input[i] !== 37) { + output.push(input[i]); + } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { + output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); + i += 2; + } else { + output.push(input[i]); + } + } + return new Buffer(output).toString(); +} + +function isC0ControlPercentEncode(c) { + return c <= 0x1F || c > 0x7E; +} + +const extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); +function isPathPercentEncode(c) { + return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); +} + +const extraUserinfoPercentEncodeSet = + new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); +function isUserinfoPercentEncode(c) { + return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); +} + +function percentEncodeChar(c, encodeSetPredicate) { + const cStr = String.fromCodePoint(c); + + if (encodeSetPredicate(c)) { + return utf8PercentEncode(cStr); + } + + return cStr; +} + +function parseIPv4Number(input) { + let R = 10; + + if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { + input = input.substring(2); + R = 16; + } else if (input.length >= 2 && input.charAt(0) === "0") { + input = input.substring(1); + R = 8; + } + + if (input === "") { + return 0; + } + + const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/); + if (regex.test(input)) { + return failure; + } + + return parseInt(input, R); +} + +function parseIPv4(input) { + const parts = input.split("."); + if (parts[parts.length - 1] === "") { + if (parts.length > 1) { + parts.pop(); + } + } + + if (parts.length > 4) { + return input; + } + + const numbers = []; + for (const part of parts) { + if (part === "") { + return input; + } + const n = parseIPv4Number(part); + if (n === failure) { + return input; + } + + numbers.push(n); + } + + for (let i = 0; i < numbers.length - 1; ++i) { + if (numbers[i] > 255) { + return failure; + } + } + if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { + return failure; + } + + let ipv4 = numbers.pop(); + let counter = 0; + + for (const n of numbers) { + ipv4 += n * Math.pow(256, 3 - counter); + ++counter; + } + + return ipv4; +} + +function serializeIPv4(address) { + let output = ""; + let n = address; + + for (let i = 1; i <= 4; ++i) { + output = String(n % 256) + output; + if (i !== 4) { + output = "." + output; + } + n = Math.floor(n / 256); + } + + return output; +} + +function parseIPv6(input) { + const address = [0, 0, 0, 0, 0, 0, 0, 0]; + let pieceIndex = 0; + let compress = null; + let pointer = 0; + + input = punycode.ucs2.decode(input); + + if (input[pointer] === 58) { + if (input[pointer + 1] !== 58) { + return failure; + } + + pointer += 2; + ++pieceIndex; + compress = pieceIndex; + } + + while (pointer < input.length) { + if (pieceIndex === 8) { + return failure; + } + + if (input[pointer] === 58) { + if (compress !== null) { + return failure; + } + ++pointer; + ++pieceIndex; + compress = pieceIndex; + continue; + } + + let value = 0; + let length = 0; + + while (length < 4 && isASCIIHex(input[pointer])) { + value = value * 0x10 + parseInt(at(input, pointer), 16); + ++pointer; + ++length; + } + + if (input[pointer] === 46) { + if (length === 0) { + return failure; + } + + pointer -= length; + + if (pieceIndex > 6) { + return failure; + } + + let numbersSeen = 0; + + while (input[pointer] !== undefined) { + let ipv4Piece = null; + + if (numbersSeen > 0) { + if (input[pointer] === 46 && numbersSeen < 4) { + ++pointer; + } else { + return failure; + } + } + + if (!isASCIIDigit(input[pointer])) { + return failure; + } + + while (isASCIIDigit(input[pointer])) { + const number = parseInt(at(input, pointer)); + if (ipv4Piece === null) { + ipv4Piece = number; + } else if (ipv4Piece === 0) { + return failure; + } else { + ipv4Piece = ipv4Piece * 10 + number; + } + if (ipv4Piece > 255) { + return failure; + } + ++pointer; + } + + address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece; + + ++numbersSeen; + + if (numbersSeen === 2 || numbersSeen === 4) { + ++pieceIndex; + } + } + + if (numbersSeen !== 4) { + return failure; + } + + break; + } else if (input[pointer] === 58) { + ++pointer; + if (input[pointer] === undefined) { + return failure; + } + } else if (input[pointer] !== undefined) { + return failure; + } + + address[pieceIndex] = value; + ++pieceIndex; + } + + if (compress !== null) { + let swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + const temp = address[compress + swaps - 1]; + address[compress + swaps - 1] = address[pieceIndex]; + address[pieceIndex] = temp; + --pieceIndex; + --swaps; + } + } else if (compress === null && pieceIndex !== 8) { + return failure; + } + + return address; +} + +function serializeIPv6(address) { + let output = ""; + const seqResult = findLongestZeroSequence(address); + const compress = seqResult.idx; + let ignore0 = false; + + for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { + if (ignore0 && address[pieceIndex] === 0) { + continue; + } else if (ignore0) { + ignore0 = false; + } + + if (compress === pieceIndex) { + const separator = pieceIndex === 0 ? "::" : ":"; + output += separator; + ignore0 = true; + continue; + } + + output += address[pieceIndex].toString(16); + + if (pieceIndex !== 7) { + output += ":"; + } + } + + return output; +} + +function parseHost(input, isSpecialArg) { + if (input[0] === "[") { + if (input[input.length - 1] !== "]") { + return failure; + } + + return parseIPv6(input.substring(1, input.length - 1)); + } + + if (!isSpecialArg) { + return parseOpaqueHost(input); + } + + const domain = utf8PercentDecode(input); + const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); + if (asciiDomain === null) { + return failure; + } + + if (containsForbiddenHostCodePoint(asciiDomain)) { + return failure; + } + + const ipv4Host = parseIPv4(asciiDomain); + if (typeof ipv4Host === "number" || ipv4Host === failure) { + return ipv4Host; + } + + return asciiDomain; +} + +function parseOpaqueHost(input) { + if (containsForbiddenHostCodePointExcludingPercent(input)) { + return failure; + } + + let output = ""; + const decoded = punycode.ucs2.decode(input); + for (let i = 0; i < decoded.length; ++i) { + output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); + } + return output; +} + +function findLongestZeroSequence(arr) { + let maxIdx = null; + let maxLen = 1; // only find elements > 1 + let currStart = null; + let currLen = 0; + + for (let i = 0; i < arr.length; ++i) { + if (arr[i] !== 0) { + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + + currStart = null; + currLen = 0; + } else { + if (currStart === null) { + currStart = i; + } + ++currLen; + } + } + + // if trailing zeros + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + + return { + idx: maxIdx, + len: maxLen + }; +} + +function serializeHost(host) { + if (typeof host === "number") { + return serializeIPv4(host); + } + + // IPv6 serializer + if (host instanceof Array) { + return "[" + serializeIPv6(host) + "]"; + } + + return host; +} + +function trimControlChars(url) { + return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); +} + +function trimTabAndNewline(url) { + return url.replace(/\u0009|\u000A|\u000D/g, ""); +} + +function shortenPath(url) { + const path = url.path; + if (path.length === 0) { + return; + } + if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { + return; + } + + path.pop(); +} + +function includesCredentials(url) { + return url.username !== "" || url.password !== ""; +} + +function cannotHaveAUsernamePasswordPort(url) { + return url.host === null || url.host === "" || url.cannotBeABaseURL || url.scheme === "file"; +} + +function isNormalizedWindowsDriveLetter(string) { + return /^[A-Za-z]:$/.test(string); +} + +function URLStateMachine(input, base, encodingOverride, url, stateOverride) { + this.pointer = 0; + this.input = input; + this.base = base || null; + this.encodingOverride = encodingOverride || "utf-8"; + this.stateOverride = stateOverride; + this.url = url; + this.failure = false; + this.parseError = false; + + if (!this.url) { + this.url = { + scheme: "", + username: "", + password: "", + host: null, + port: null, + path: [], + query: null, + fragment: null, + + cannotBeABaseURL: false + }; + + const res = trimControlChars(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + } + + const res = trimTabAndNewline(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + + this.state = stateOverride || "scheme start"; + + this.buffer = ""; + this.atFlag = false; + this.arrFlag = false; + this.passwordTokenSeenFlag = false; + + this.input = punycode.ucs2.decode(this.input); + + for (; this.pointer <= this.input.length; ++this.pointer) { + const c = this.input[this.pointer]; + const cStr = isNaN(c) ? undefined : String.fromCodePoint(c); + + // exec state machine + const ret = this["parse " + this.state](c, cStr); + if (!ret) { + break; // terminate algorithm + } else if (ret === failure) { + this.failure = true; + break; + } + } +} + +URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { + if (isASCIIAlpha(c)) { + this.buffer += cStr.toLowerCase(); + this.state = "scheme"; + } else if (!this.stateOverride) { + this.state = "no scheme"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { + if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { + this.buffer += cStr.toLowerCase(); + } else if (c === 58) { + if (this.stateOverride) { + if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { + return false; + } + + if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { + return false; + } + + if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { + return false; + } + + if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { + return false; + } + } + this.url.scheme = this.buffer; + this.buffer = ""; + if (this.stateOverride) { + return false; + } + if (this.url.scheme === "file") { + if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { + this.parseError = true; + } + this.state = "file"; + } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { + this.state = "special relative or authority"; + } else if (isSpecial(this.url)) { + this.state = "special authority slashes"; + } else if (this.input[this.pointer + 1] === 47) { + this.state = "path or authority"; + ++this.pointer; + } else { + this.url.cannotBeABaseURL = true; + this.url.path.push(""); + this.state = "cannot-be-a-base-URL path"; + } + } else if (!this.stateOverride) { + this.buffer = ""; + this.state = "no scheme"; + this.pointer = -1; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { + if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) { + return failure; + } else if (this.base.cannotBeABaseURL && c === 35) { + this.url.scheme = this.base.scheme; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.url.cannotBeABaseURL = true; + this.state = "fragment"; + } else if (this.base.scheme === "file") { + this.state = "file"; + --this.pointer; + } else { + this.state = "relative"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "relative"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { + if (c === 47) { + this.state = "authority"; + } else { + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse relative"] = function parseRelative(c) { + this.url.scheme = this.base.scheme; + if (isNaN(c)) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 47) { + this.state = "relative slash"; + } else if (c === 63) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else if (isSpecial(this.url) && c === 92) { + this.parseError = true; + this.state = "relative slash"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(0, this.base.path.length - 1); + + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { + if (isSpecial(this.url) && (c === 47 || c === 92)) { + if (c === 92) { + this.parseError = true; + } + this.state = "special authority ignore slashes"; + } else if (c === 47) { + this.state = "authority"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "special authority ignore slashes"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { + if (c !== 47 && c !== 92) { + this.state = "authority"; + --this.pointer; + } else { + this.parseError = true; + } + + return true; +}; + +URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { + if (c === 64) { + this.parseError = true; + if (this.atFlag) { + this.buffer = "%40" + this.buffer; + } + this.atFlag = true; + + // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars + const len = countSymbols(this.buffer); + for (let pointer = 0; pointer < len; ++pointer) { + const codePoint = this.buffer.codePointAt(pointer); + + if (codePoint === 58 && !this.passwordTokenSeenFlag) { + this.passwordTokenSeenFlag = true; + continue; + } + const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); + if (this.passwordTokenSeenFlag) { + this.url.password += encodedCodePoints; + } else { + this.url.username += encodedCodePoints; + } + } + this.buffer = ""; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92)) { + if (this.atFlag && this.buffer === "") { + this.parseError = true; + return failure; + } + this.pointer -= countSymbols(this.buffer) + 1; + this.buffer = ""; + this.state = "host"; + } else { + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse hostname"] = +URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { + if (this.stateOverride && this.url.scheme === "file") { + --this.pointer; + this.state = "file host"; + } else if (c === 58 && !this.arrFlag) { + if (this.buffer === "") { + this.parseError = true; + return failure; + } + + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + + this.url.host = host; + this.buffer = ""; + this.state = "port"; + if (this.stateOverride === "hostname") { + return false; + } + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92)) { + --this.pointer; + if (isSpecial(this.url) && this.buffer === "") { + this.parseError = true; + return failure; + } else if (this.stateOverride && this.buffer === "" && + (includesCredentials(this.url) || this.url.port !== null)) { + this.parseError = true; + return false; + } + + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + + this.url.host = host; + this.buffer = ""; + this.state = "path start"; + if (this.stateOverride) { + return false; + } + } else { + if (c === 91) { + this.arrFlag = true; + } else if (c === 93) { + this.arrFlag = false; + } + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { + if (isASCIIDigit(c)) { + this.buffer += cStr; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92) || + this.stateOverride) { + if (this.buffer !== "") { + const port = parseInt(this.buffer); + if (port > Math.pow(2, 16) - 1) { + this.parseError = true; + return failure; + } + this.url.port = port === defaultPort(this.url.scheme) ? null : port; + this.buffer = ""; + } + if (this.stateOverride) { + return false; + } + this.state = "path start"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +const fileOtherwiseCodePoints = new Set([47, 92, 63, 35]); + +URLStateMachine.prototype["parse file"] = function parseFile(c) { + this.url.scheme = "file"; + + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file slash"; + } else if (this.base !== null && this.base.scheme === "file") { + if (isNaN(c)) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 63) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points + !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || + (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points + !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + shortenPath(this.url); + } else { + this.parseError = true; + } + + this.state = "path"; + --this.pointer; + } + } else { + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file host"; + } else { + if (this.base !== null && this.base.scheme === "file") { + if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { + this.url.path.push(this.base.path[0]); + } else { + this.url.host = this.base.host; + } + } + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { + if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { + --this.pointer; + if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { + this.parseError = true; + this.state = "path"; + } else if (this.buffer === "") { + this.url.host = ""; + if (this.stateOverride) { + return false; + } + this.state = "path start"; + } else { + let host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + if (host === "localhost") { + host = ""; + } + this.url.host = host; + + if (this.stateOverride) { + return false; + } + + this.buffer = ""; + this.state = "path start"; + } + } else { + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { + if (isSpecial(this.url)) { + if (c === 92) { + this.parseError = true; + } + this.state = "path"; + + if (c !== 47 && c !== 92) { + --this.pointer; + } + } else if (!this.stateOverride && c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (!this.stateOverride && c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else if (c !== undefined) { + this.state = "path"; + if (c !== 47) { + --this.pointer; + } + } + + return true; +}; + +URLStateMachine.prototype["parse path"] = function parsePath(c) { + if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) || + (!this.stateOverride && (c === 63 || c === 35))) { + if (isSpecial(this.url) && c === 92) { + this.parseError = true; + } + + if (isDoubleDot(this.buffer)) { + shortenPath(this.url); + if (c !== 47 && !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } + } else if (isSingleDot(this.buffer) && c !== 47 && + !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } else if (!isSingleDot(this.buffer)) { + if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { + if (this.url.host !== "" && this.url.host !== null) { + this.parseError = true; + this.url.host = ""; + } + this.buffer = this.buffer[0] + ":"; + } + this.url.path.push(this.buffer); + } + this.buffer = ""; + if (this.url.scheme === "file" && (c === undefined || c === 63 || c === 35)) { + while (this.url.path.length > 1 && this.url.path[0] === "") { + this.parseError = true; + this.url.path.shift(); + } + } + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + // TODO: If c is not a URL code point and not "%", parse error. + + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.buffer += percentEncodeChar(c, isPathPercentEncode); + } + + return true; +}; + +URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else { + // TODO: Add: not a URL code point + if (!isNaN(c) && c !== 37) { + this.parseError = true; + } + + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + if (!isNaN(c)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); + } + } + + return true; +}; + +URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { + if (isNaN(c) || (!this.stateOverride && c === 35)) { + if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { + this.encodingOverride = "utf-8"; + } + + const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead + for (let i = 0; i < buffer.length; ++i) { + if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 || + buffer[i] === 0x3C || buffer[i] === 0x3E) { + this.url.query += percentEncode(buffer[i]); + } else { + this.url.query += String.fromCodePoint(buffer[i]); + } + } + + this.buffer = ""; + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + // TODO: If c is not a URL code point and not "%", parse error. + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { + if (isNaN(c)) { // do nothing + } else if (c === 0x0) { + this.parseError = true; + } else { + // TODO: If c is not a URL code point and not "%", parse error. + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); + } + + return true; +}; + +function serializeURL(url, excludeFragment) { + let output = url.scheme + ":"; + if (url.host !== null) { + output += "//"; + + if (url.username !== "" || url.password !== "") { + output += url.username; + if (url.password !== "") { + output += ":" + url.password; + } + output += "@"; + } + + output += serializeHost(url.host); + + if (url.port !== null) { + output += ":" + url.port; + } + } else if (url.host === null && url.scheme === "file") { + output += "//"; + } + + if (url.cannotBeABaseURL) { + output += url.path[0]; + } else { + for (const string of url.path) { + output += "/" + string; + } + } + + if (url.query !== null) { + output += "?" + url.query; + } + + if (!excludeFragment && url.fragment !== null) { + output += "#" + url.fragment; + } + + return output; +} + +function serializeOrigin(tuple) { + let result = tuple.scheme + "://"; + result += serializeHost(tuple.host); + + if (tuple.port !== null) { + result += ":" + tuple.port; + } + + return result; +} + +module.exports.serializeURL = serializeURL; + +module.exports.serializeURLOrigin = function (url) { + // https://url.spec.whatwg.org/#concept-url-origin + switch (url.scheme) { + case "blob": + try { + return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0])); + } catch (e) { + // serializing an opaque origin returns "null" + return "null"; + } + case "ftp": + case "gopher": + case "http": + case "https": + case "ws": + case "wss": + return serializeOrigin({ + scheme: url.scheme, + host: url.host, + port: url.port + }); + case "file": + // spec says "exercise to the reader", chrome says "file://" + return "file://"; + default: + // serializing an opaque origin returns "null" + return "null"; + } +}; + +module.exports.basicURLParse = function (input, options) { + if (options === undefined) { + options = {}; + } + + const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); + if (usm.failure) { + return "failure"; + } + + return usm.url; +}; + +module.exports.setTheUsername = function (url, username) { + url.username = ""; + const decoded = punycode.ucs2.decode(username); + for (let i = 0; i < decoded.length; ++i) { + url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } +}; + +module.exports.setThePassword = function (url, password) { + url.password = ""; + const decoded = punycode.ucs2.decode(password); + for (let i = 0; i < decoded.length; ++i) { + url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } +}; + +module.exports.serializeHost = serializeHost; + +module.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; + +module.exports.serializeInteger = function (integer) { + return String(integer); +}; + +module.exports.parseURL = function (input, options) { + if (options === undefined) { + options = {}; + } + + // We don't handle blobs, so this just delegates: + return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); +}; /***/ }), -/* 936 */, /* 937 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry3 = /*#__PURE__*/__webpack_require__(78); +var _curry3 = /*#__PURE__*/__webpack_require__(687); /** * Takes a function and two values, and returns whichever value produces the @@ -38387,177 +40419,183 @@ module.exports = extend var hasOwnProperty = Object.prototype.hasOwnProperty; function extend() { - var target = {} - - for (var i = 0; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} - - -/***/ }), -/* 941 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) { -var util = __webpack_require__(248); -var CancellationError = Promise.CancellationError; -var errorObj = util.errorObj; -var catchFilter = __webpack_require__(253)(NEXT_FILTER); - -function PassThroughHandlerContext(promise, type, handler) { - this.promise = promise; - this.type = type; - this.handler = handler; - this.called = false; - this.cancelPromise = null; -} - -PassThroughHandlerContext.prototype.isFinallyHandler = function() { - return this.type === 0; -}; - -function FinallyHandlerCancelReaction(finallyHandler) { - this.finallyHandler = finallyHandler; -} - -FinallyHandlerCancelReaction.prototype._resultCancelled = function() { - checkCancel(this.finallyHandler); -}; - -function checkCancel(ctx, reason) { - if (ctx.cancelPromise != null) { - if (arguments.length > 1) { - ctx.cancelPromise._reject(reason); - } else { - ctx.cancelPromise._cancel(); - } - ctx.cancelPromise = null; - return true; - } - return false; -} - -function succeed() { - return finallyHandler.call(this, this.promise._target()._settledValue()); -} -function fail(reason) { - if (checkCancel(this, reason)) return; - errorObj.e = reason; - return errorObj; -} -function finallyHandler(reasonOrValue) { - var promise = this.promise; - var handler = this.handler; - - if (!this.called) { - this.called = true; - var ret = this.isFinallyHandler() - ? handler.call(promise._boundValue()) - : handler.call(promise._boundValue(), reasonOrValue); - if (ret === NEXT_FILTER) { - return ret; - } else if (ret !== undefined) { - promise._setReturnedNonUndefined(); - var maybePromise = tryConvertToPromise(ret, promise); - if (maybePromise instanceof Promise) { - if (this.cancelPromise != null) { - if (maybePromise._isCancelled()) { - var reason = - new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - errorObj.e = reason; - return errorObj; - } else if (maybePromise.isPending()) { - maybePromise._attachCancellationCallback( - new FinallyHandlerCancelReaction(this)); - } - } - return maybePromise._then( - succeed, fail, undefined, this, undefined); - } - } - } - - if (promise.isRejected()) { - checkCancel(this); - errorObj.e = reasonOrValue; - return errorObj; - } else { - checkCancel(this); - return reasonOrValue; - } -} - -Promise.prototype._passThrough = function(handler, type, success, fail) { - if (typeof handler !== "function") return this.then(); - return this._then(success, - fail, - undefined, - new PassThroughHandlerContext(this, type, handler), - undefined); -}; - -Promise.prototype.lastly = -Promise.prototype["finally"] = function (handler) { - return this._passThrough(handler, - 0, - finallyHandler, - finallyHandler); -}; - - -Promise.prototype.tap = function (handler) { - return this._passThrough(handler, 1, finallyHandler); -}; - -Promise.prototype.tapCatch = function (handlerOrPredicate) { - var len = arguments.length; - if(len === 1) { - return this._passThrough(handlerOrPredicate, - 1, - undefined, - finallyHandler); - } else { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return Promise.reject(new TypeError( - "tapCatch statement predicate: " - + "expecting an object but got " + util.classString(item) - )); + var target = {} + + for (var i = 0; i < arguments.length; i++) { + var source = arguments[i] + + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + target[key] = source[key] } } - catchInstances.length = j; - var handler = arguments[i]; - return this._passThrough(catchFilter(catchInstances, handler, this), - 1, - undefined, - finallyHandler); } -}; + return target +} -return PassThroughHandlerContext; -}; + +/***/ }), +/* 941 */, +/* 942 */ +/***/ (function(module) { + +"use strict"; + + +module.exports = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] +}; /***/ }), -/* 942 */, /* 943 */, /* 944 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -38718,22 +40756,325 @@ Promise.bind = function (thisArg, value) { /***/ }), /* 948 */ -/***/ (function(module) { +/***/ (function(module, __unusedexports, __webpack_require__) { "use strict"; +module.exports = function(Promise, INTERNAL) { +var THIS = {}; +var util = __webpack_require__(248); +var nodebackForPromise = __webpack_require__(341); +var withAppended = util.withAppended; +var maybeWrapAsError = util.maybeWrapAsError; +var canEvaluate = util.canEvaluate; +var TypeError = __webpack_require__(607).TypeError; +var defaultSuffix = "Async"; +var defaultPromisified = {__isPromisified__: true}; +var noCopyProps = [ + "arity", "length", + "name", + "arguments", + "caller", + "callee", + "prototype", + "__isPromisified__" +]; +var noCopyPropsPattern = new RegExp("^(?:" + noCopyProps.join("|") + ")$"); + +var defaultFilter = function(name) { + return util.isIdentifier(name) && + name.charAt(0) !== "_" && + name !== "constructor"; +}; + +function propsFilter(key) { + return !noCopyPropsPattern.test(key); +} -/** - * Tries to execute a function and discards any error that occurs. - * @param {Function} fn - Function that might or might not throw an error. - * @returns {?*} Return-value of the function when no error occurred. - */ -module.exports = function(fn) { +function isPromisified(fn) { + try { + return fn.__isPromisified__ === true; + } + catch (e) { + return false; + } +} + +function hasPromisified(obj, key, suffix) { + var val = util.getDataPropertyOrDefault(obj, key + suffix, + defaultPromisified); + return val ? isPromisified(val) : false; +} +function checkValid(ret, suffix, suffixRegexp) { + for (var i = 0; i < ret.length; i += 2) { + var key = ret[i]; + if (suffixRegexp.test(key)) { + var keyWithoutAsyncSuffix = key.replace(suffixRegexp, ""); + for (var j = 0; j < ret.length; j += 2) { + if (ret[j] === keyWithoutAsyncSuffix) { + throw new TypeError("Cannot promisify an API that has normal methods with '%s'-suffix\u000a\u000a See http://goo.gl/MqrFmX\u000a" + .replace("%s", suffix)); + } + } + } + } +} + +function promisifiableMethods(obj, suffix, suffixRegexp, filter) { + var keys = util.inheritedDataKeys(obj); + var ret = []; + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + var value = obj[key]; + var passesDefaultFilter = filter === defaultFilter + ? true : defaultFilter(key, value, obj); + if (typeof value === "function" && + !isPromisified(value) && + !hasPromisified(obj, key, suffix) && + filter(key, value, obj, passesDefaultFilter)) { + ret.push(key, value); + } + } + checkValid(ret, suffix, suffixRegexp); + return ret; +} + +var escapeIdentRegex = function(str) { + return str.replace(/([$])/, "\\$"); +}; + +var makeNodePromisifiedEval; +if (true) { +var switchCaseArgumentOrder = function(likelyArgumentCount) { + var ret = [likelyArgumentCount]; + var min = Math.max(0, likelyArgumentCount - 1 - 3); + for(var i = likelyArgumentCount - 1; i >= min; --i) { + ret.push(i); + } + for(var i = likelyArgumentCount + 1; i <= 3; ++i) { + ret.push(i); + } + return ret; +}; + +var argumentSequence = function(argumentCount) { + return util.filledRange(argumentCount, "_arg", ""); +}; + +var parameterDeclaration = function(parameterCount) { + return util.filledRange( + Math.max(parameterCount, 3), "_arg", ""); +}; + +var parameterCount = function(fn) { + if (typeof fn.length === "number") { + return Math.max(Math.min(fn.length, 1023 + 1), 0); + } + return 0; +}; + +makeNodePromisifiedEval = +function(callback, receiver, originalName, fn, _, multiArgs) { + var newParameterCount = Math.max(0, parameterCount(fn) - 1); + var argumentOrder = switchCaseArgumentOrder(newParameterCount); + var shouldProxyThis = typeof callback === "string" || receiver === THIS; + + function generateCallForArgumentCount(count) { + var args = argumentSequence(count).join(", "); + var comma = count > 0 ? ", " : ""; + var ret; + if (shouldProxyThis) { + ret = "ret = callback.call(this, {{args}}, nodeback); break;\n"; + } else { + ret = receiver === undefined + ? "ret = callback({{args}}, nodeback); break;\n" + : "ret = callback.call(receiver, {{args}}, nodeback); break;\n"; + } + return ret.replace("{{args}}", args).replace(", ", comma); + } + + function generateArgumentSwitchCase() { + var ret = ""; + for (var i = 0; i < argumentOrder.length; ++i) { + ret += "case " + argumentOrder[i] +":" + + generateCallForArgumentCount(argumentOrder[i]); + } + + ret += " \n\ + default: \n\ + var args = new Array(len + 1); \n\ + var i = 0; \n\ + for (var i = 0; i < len; ++i) { \n\ + args[i] = arguments[i]; \n\ + } \n\ + args[i] = nodeback; \n\ + [CodeForCall] \n\ + break; \n\ + ".replace("[CodeForCall]", (shouldProxyThis + ? "ret = callback.apply(this, args);\n" + : "ret = callback.apply(receiver, args);\n")); + return ret; + } + + var getFunctionCode = typeof callback === "string" + ? ("this != null ? this['"+callback+"'] : fn") + : "fn"; + var body = "'use strict'; \n\ + var ret = function (Parameters) { \n\ + 'use strict'; \n\ + var len = arguments.length; \n\ + var promise = new Promise(INTERNAL); \n\ + promise._captureStackTrace(); \n\ + var nodeback = nodebackForPromise(promise, " + multiArgs + "); \n\ + var ret; \n\ + var callback = tryCatch([GetFunctionCode]); \n\ + switch(len) { \n\ + [CodeForSwitchCase] \n\ + } \n\ + if (ret === errorObj) { \n\ + promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n\ + } \n\ + if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n\ + return promise; \n\ + }; \n\ + notEnumerableProp(ret, '__isPromisified__', true); \n\ + return ret; \n\ + ".replace("[CodeForSwitchCase]", generateArgumentSwitchCase()) + .replace("[GetFunctionCode]", getFunctionCode); + body = body.replace("Parameters", parameterDeclaration(newParameterCount)); + return new Function("Promise", + "fn", + "receiver", + "withAppended", + "maybeWrapAsError", + "nodebackForPromise", + "tryCatch", + "errorObj", + "notEnumerableProp", + "INTERNAL", + body)( + Promise, + fn, + receiver, + withAppended, + maybeWrapAsError, + nodebackForPromise, + util.tryCatch, + util.errorObj, + util.notEnumerableProp, + INTERNAL); +}; +} + +function makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) { + var defaultThis = (function() {return this;})(); + var method = callback; + if (typeof method === "string") { + callback = fn; + } + function promisified() { + var _receiver = receiver; + if (receiver === THIS) _receiver = this; + var promise = new Promise(INTERNAL); + promise._captureStackTrace(); + var cb = typeof method === "string" && this !== defaultThis + ? this[method] : callback; + var fn = nodebackForPromise(promise, multiArgs); + try { + cb.apply(_receiver, withAppended(arguments, fn)); + } catch(e) { + promise._rejectCallback(maybeWrapAsError(e), true, true); + } + if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); + return promise; + } + util.notEnumerableProp(promisified, "__isPromisified__", true); + return promisified; +} + +var makeNodePromisified = canEvaluate + ? makeNodePromisifiedEval + : makeNodePromisifiedClosure; + +function promisifyAll(obj, suffix, filter, promisifier, multiArgs) { + var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + "$"); + var methods = + promisifiableMethods(obj, suffix, suffixRegexp, filter); - try { return fn() } catch (e) {} + for (var i = 0, len = methods.length; i < len; i+= 2) { + var key = methods[i]; + var fn = methods[i+1]; + var promisifiedKey = key + suffix; + if (promisifier === makeNodePromisified) { + obj[promisifiedKey] = + makeNodePromisified(key, THIS, key, fn, suffix, multiArgs); + } else { + var promisified = promisifier(fn, function() { + return makeNodePromisified(key, THIS, key, + fn, suffix, multiArgs); + }); + util.notEnumerableProp(promisified, "__isPromisified__", true); + obj[promisifiedKey] = promisified; + } + } + util.toFastProperties(obj); + return obj; +} +function promisify(callback, receiver, multiArgs) { + return makeNodePromisified(callback, receiver, undefined, + callback, null, multiArgs); } +Promise.promisify = function (fn, options) { + if (typeof fn !== "function") { + throw new TypeError("expecting a function but got " + util.classString(fn)); + } + if (isPromisified(fn)) { + return fn; + } + options = Object(options); + var receiver = options.context === undefined ? THIS : options.context; + var multiArgs = !!options.multiArgs; + var ret = promisify(fn, receiver, multiArgs); + util.copyDescriptors(fn, ret, propsFilter); + return ret; +}; + +Promise.promisifyAll = function (target, options) { + if (typeof target !== "function" && typeof target !== "object") { + throw new TypeError("the target of promisifyAll must be an object or a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + options = Object(options); + var multiArgs = !!options.multiArgs; + var suffix = options.suffix; + if (typeof suffix !== "string") suffix = defaultSuffix; + var filter = options.filter; + if (typeof filter !== "function") filter = defaultFilter; + var promisifier = options.promisifier; + if (typeof promisifier !== "function") promisifier = makeNodePromisified; + + if (!util.isIdentifier(suffix)) { + throw new RangeError("suffix must be a valid identifier\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + + var keys = util.inheritedDataKeys(target); + for (var i = 0; i < keys.length; ++i) { + var value = target[keys[i]]; + if (keys[i] !== "constructor" && + util.isClass(value)) { + promisifyAll(value.prototype, suffix, filter, promisifier, + multiArgs); + promisifyAll(value, suffix, filter, promisifier, multiArgs); + } + } + + return promisifyAll(target, suffix, filter, promisifier, multiArgs); +}; +}; + + + /***/ }), /* 949 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -38781,10 +41122,10 @@ const GH_TOKEN = core.getInput('github-token') || process.env.GH_TOKEN; const octokit = createOctokit({ DEFAULT_ORG, accessToken: GH_TOKEN, - cacheKey: '' + cacheKey: '', }); -const fetchContributorStats = async function(owner, repo) { +const fetchContributorStats = async function (owner, repo) { // console.log("creating octokit") // const octokit = await createGithubClient(DEFAULT_ORG, '', token) // console.log("octokit created", octokit); @@ -38795,7 +41136,7 @@ const fetchContributorStats = async function(owner, repo) { 'GET /repos/:owner/:repo/stats/contributors', { owner, - repo + repo, } ); // console.log(`Result: ${contributorStats}`); @@ -38816,9 +41157,11 @@ const fetchRepoStatsByContributor_withRetry = async (owner, repo, retries) => { } catch (err) { error = err; prettyPrint( - `[WARNING] at stats-generator.github.fetchContributorStats.fetchRepoStatsByContributor_withRetry \n | Try #${i + - 1} | owner: ${owner}, repo: ${repo} | getRepoStatsByContributor failed, retrying after ${delay / - 1000}s delay\n` + `[WARNING] at stats-generator.github.fetchContributorStats.fetchRepoStatsByContributor_withRetry \n | Try #${ + i + 1 + } | owner: ${owner}, repo: ${repo} | getRepoStatsByContributor failed, retrying after ${ + delay / 1000 + }s delay\n` ); await sleep(delay); } @@ -38828,14 +41171,14 @@ const fetchRepoStatsByContributor_withRetry = async (owner, repo, retries) => { return null; }; -const getRepoStatsByContributor = async function(owner, repo) { +const getRepoStatsByContributor = async function (owner, repo) { const response = await fetchContributorStats(owner, repo); const { /* status, url, headers, */ data } = response; if (Array.isArray(data)) { const formattedContributorStats = data.map(({ total, author }) => ({ total: total, - author: author + author: author, })); return formattedContributorStats; } @@ -38846,7 +41189,7 @@ const getRepoStatsByContributor = async function(owner, repo) { ); }; -const fetchStats = async function(owner, repo) { +const fetchStats = async function (owner, repo) { const retries = 3; const contributorStats = await fetchRepoStatsByContributor_withRetry( owner, @@ -38862,7 +41205,7 @@ const fetchStats = async function(owner, repo) { // })(); module.exports = { - fetchStats + fetchStats, }; @@ -38960,415 +41303,8 @@ function _isPlaceholder(a) { module.exports = _isPlaceholder; /***/ }), -/* 954 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _arity = /*#__PURE__*/__webpack_require__(451); - -var _pipeP = /*#__PURE__*/__webpack_require__(985); - -var reduce = /*#__PURE__*/__webpack_require__(46); - -var tail = /*#__PURE__*/__webpack_require__(193); - -/** - * Performs left-to-right composition of one or more Promise-returning - * functions. The leftmost function may have any arity; the remaining functions - * must be unary. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category Function - * @sig ((a -> Promise b), (b -> Promise c), ..., (y -> Promise z)) -> (a -> Promise z) - * @param {...Function} functions - * @return {Function} - * @see R.composeP - * @deprecated since v0.26.0 - * @example - * - * // followersForUser :: String -> Promise [User] - * const followersForUser = R.pipeP(db.getUserById, db.getFollowers); - */ - - -function pipeP() { - if (arguments.length === 0) { - throw new Error('pipeP requires at least one argument'); - } - return _arity(arguments[0].length, reduce(_pipeP, arguments[0], tail(arguments))); -} -module.exports = pipeP; - -/***/ }), -/* 955 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -const path = __webpack_require__(622); -const childProcess = __webpack_require__(129); -const crossSpawn = __webpack_require__(20); -const stripEof = __webpack_require__(768); -const npmRunPath = __webpack_require__(621); -const isStream = __webpack_require__(323); -const _getStream = __webpack_require__(145); -const pFinally = __webpack_require__(697); -const onExit = __webpack_require__(260); -const errname = __webpack_require__(427); -const stdio = __webpack_require__(168); - -const TEN_MEGABYTES = 1000 * 1000 * 10; - -function handleArgs(cmd, args, opts) { - let parsed; - - opts = Object.assign({ - extendEnv: true, - env: {} - }, opts); - - if (opts.extendEnv) { - opts.env = Object.assign({}, process.env, opts.env); - } - - if (opts.__winShell === true) { - delete opts.__winShell; - parsed = { - command: cmd, - args, - options: opts, - file: cmd, - original: { - cmd, - args - } - }; - } else { - parsed = crossSpawn._parse(cmd, args, opts); - } - - opts = Object.assign({ - maxBuffer: TEN_MEGABYTES, - buffer: true, - stripEof: true, - preferLocal: true, - localDir: parsed.options.cwd || process.cwd(), - encoding: 'utf8', - reject: true, - cleanup: true - }, parsed.options); - - opts.stdio = stdio(opts); - - if (opts.preferLocal) { - opts.env = npmRunPath.env(Object.assign({}, opts, {cwd: opts.localDir})); - } - - if (opts.detached) { - // #115 - opts.cleanup = false; - } - - if (process.platform === 'win32' && path.basename(parsed.command) === 'cmd.exe') { - // #116 - parsed.args.unshift('/q'); - } - - return { - cmd: parsed.command, - args: parsed.args, - opts, - parsed - }; -} - -function handleInput(spawned, input) { - if (input === null || input === undefined) { - return; - } - - if (isStream(input)) { - input.pipe(spawned.stdin); - } else { - spawned.stdin.end(input); - } -} - -function handleOutput(opts, val) { - if (val && opts.stripEof) { - val = stripEof(val); - } - - return val; -} - -function handleShell(fn, cmd, opts) { - let file = '/bin/sh'; - let args = ['-c', cmd]; - - opts = Object.assign({}, opts); - - if (process.platform === 'win32') { - opts.__winShell = true; - file = process.env.comspec || 'cmd.exe'; - args = ['/s', '/c', `"${cmd}"`]; - opts.windowsVerbatimArguments = true; - } - - if (opts.shell) { - file = opts.shell; - delete opts.shell; - } - - return fn(file, args, opts); -} - -function getStream(process, stream, {encoding, buffer, maxBuffer}) { - if (!process[stream]) { - return null; - } - - let ret; - - if (!buffer) { - // TODO: Use `ret = util.promisify(stream.finished)(process[stream]);` when targeting Node.js 10 - ret = new Promise((resolve, reject) => { - process[stream] - .once('end', resolve) - .once('error', reject); - }); - } else if (encoding) { - ret = _getStream(process[stream], { - encoding, - maxBuffer - }); - } else { - ret = _getStream.buffer(process[stream], {maxBuffer}); - } - - return ret.catch(err => { - err.stream = stream; - err.message = `${stream} ${err.message}`; - throw err; - }); -} - -function makeError(result, options) { - const {stdout, stderr} = result; - - let err = result.error; - const {code, signal} = result; - - const {parsed, joinedCmd} = options; - const timedOut = options.timedOut || false; - - if (!err) { - let output = ''; - - if (Array.isArray(parsed.opts.stdio)) { - if (parsed.opts.stdio[2] !== 'inherit') { - output += output.length > 0 ? stderr : `\n${stderr}`; - } - - if (parsed.opts.stdio[1] !== 'inherit') { - output += `\n${stdout}`; - } - } else if (parsed.opts.stdio !== 'inherit') { - output = `\n${stderr}${stdout}`; - } - - err = new Error(`Command failed: ${joinedCmd}${output}`); - err.code = code < 0 ? errname(code) : code; - } - - err.stdout = stdout; - err.stderr = stderr; - err.failed = true; - err.signal = signal || null; - err.cmd = joinedCmd; - err.timedOut = timedOut; - - return err; -} - -function joinCmd(cmd, args) { - let joinedCmd = cmd; - - if (Array.isArray(args) && args.length > 0) { - joinedCmd += ' ' + args.join(' '); - } - - return joinedCmd; -} - -module.exports = (cmd, args, opts) => { - const parsed = handleArgs(cmd, args, opts); - const {encoding, buffer, maxBuffer} = parsed.opts; - const joinedCmd = joinCmd(cmd, args); - - let spawned; - try { - spawned = childProcess.spawn(parsed.cmd, parsed.args, parsed.opts); - } catch (err) { - return Promise.reject(err); - } - - let removeExitHandler; - if (parsed.opts.cleanup) { - removeExitHandler = onExit(() => { - spawned.kill(); - }); - } - - let timeoutId = null; - let timedOut = false; - - const cleanup = () => { - if (timeoutId) { - clearTimeout(timeoutId); - timeoutId = null; - } - - if (removeExitHandler) { - removeExitHandler(); - } - }; - - if (parsed.opts.timeout > 0) { - timeoutId = setTimeout(() => { - timeoutId = null; - timedOut = true; - spawned.kill(parsed.opts.killSignal); - }, parsed.opts.timeout); - } - - const processDone = new Promise(resolve => { - spawned.on('exit', (code, signal) => { - cleanup(); - resolve({code, signal}); - }); - - spawned.on('error', err => { - cleanup(); - resolve({error: err}); - }); - - if (spawned.stdin) { - spawned.stdin.on('error', err => { - cleanup(); - resolve({error: err}); - }); - } - }); - - function destroy() { - if (spawned.stdout) { - spawned.stdout.destroy(); - } - - if (spawned.stderr) { - spawned.stderr.destroy(); - } - } - - const handlePromise = () => pFinally(Promise.all([ - processDone, - getStream(spawned, 'stdout', {encoding, buffer, maxBuffer}), - getStream(spawned, 'stderr', {encoding, buffer, maxBuffer}) - ]).then(arr => { - const result = arr[0]; - result.stdout = arr[1]; - result.stderr = arr[2]; - - if (result.error || result.code !== 0 || result.signal !== null) { - const err = makeError(result, { - joinedCmd, - parsed, - timedOut - }); - - // TODO: missing some timeout logic for killed - // https://github.com/nodejs/node/blob/master/lib/child_process.js#L203 - // err.killed = spawned.killed || killed; - err.killed = err.killed || spawned.killed; - - if (!parsed.opts.reject) { - return err; - } - - throw err; - } - - return { - stdout: handleOutput(parsed.opts, result.stdout), - stderr: handleOutput(parsed.opts, result.stderr), - code: 0, - failed: false, - killed: false, - signal: null, - cmd: joinedCmd, - timedOut: false - }; - }), destroy); - - crossSpawn._enoent.hookChildProcess(spawned, parsed.parsed); - - handleInput(spawned, parsed.opts.input); - - spawned.then = (onfulfilled, onrejected) => handlePromise().then(onfulfilled, onrejected); - spawned.catch = onrejected => handlePromise().catch(onrejected); - - return spawned; -}; - -// TODO: set `stderr: 'ignore'` when that option is implemented -module.exports.stdout = (...args) => module.exports(...args).then(x => x.stdout); - -// TODO: set `stdout: 'ignore'` when that option is implemented -module.exports.stderr = (...args) => module.exports(...args).then(x => x.stderr); - -module.exports.shell = (cmd, opts) => handleShell(module.exports, cmd, opts); - -module.exports.sync = (cmd, args, opts) => { - const parsed = handleArgs(cmd, args, opts); - const joinedCmd = joinCmd(cmd, args); - - if (isStream(parsed.opts.input)) { - throw new TypeError('The `input` option cannot be a stream in sync mode'); - } - - const result = childProcess.spawnSync(parsed.cmd, parsed.args, parsed.opts); - result.code = result.status; - - if (result.error || result.status !== 0 || result.signal !== null) { - const err = makeError(result, { - joinedCmd, - parsed - }); - - if (!parsed.opts.reject) { - return err; - } - - throw err; - } - - return { - stdout: handleOutput(parsed.opts, result.stdout), - stderr: handleOutput(parsed.opts, result.stderr), - code: 0, - failed: false, - signal: null, - cmd: joinedCmd, - timedOut: false - }; -}; - -module.exports.shellSync = (cmd, opts) => handleShell(module.exports.sync, cmd, opts); - - -/***/ }), +/* 954 */, +/* 955 */, /* 956 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -39457,12 +41393,12 @@ module.exports = _isArguments; /***/ (function(module) { /* eslint-disable no-console */ -const prettyPrintJson = json => console.log(JSON.stringify(json, null, 2)); +const prettyPrintJson = (json) => console.log(JSON.stringify(json, null, 2)); -const prettyPrint = message => console.log(message); +const prettyPrint = (message) => console.log(message); -const sleep = delay => { - return new Promise(resolve => { +const sleep = (delay) => { + return new Promise((resolve) => { setTimeout(resolve, delay); }); }; @@ -39470,7 +41406,7 @@ const sleep = delay => { module.exports = { prettyPrintJson, prettyPrint, - sleep + sleep, }; @@ -39478,7 +41414,7 @@ module.exports = { /* 962 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _checkForMethod = /*#__PURE__*/__webpack_require__(417); +var _checkForMethod = /*#__PURE__*/__webpack_require__(787); var _curry2 = /*#__PURE__*/__webpack_require__(830); @@ -39563,112 +41499,72 @@ module.exports = _complement; /* 965 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var _dispatchable = /*#__PURE__*/__webpack_require__(968); - -var _xtakeWhile = /*#__PURE__*/__webpack_require__(808); - -var slice = /*#__PURE__*/__webpack_require__(232); +var lastDayOfWeek = __webpack_require__(856) /** - * Returns a new list containing the first `n` elements of a given list, - * passing each value to the supplied predicate function, and terminating when - * the predicate function returns `false`. Excludes the element that caused the - * predicate function to fail. The predicate function is passed one argument: - * *(value)*. - * - * Dispatches to the `takeWhile` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. + * @category ISO Week Helpers + * @summary Return the last day of an ISO week for the given date. * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig (a -> Boolean) -> [a] -> [a] - * @sig (a -> Boolean) -> String -> String - * @param {Function} fn The function called per iteration. - * @param {Array} xs The collection to iterate over. - * @return {Array} A new array. - * @see R.dropWhile, R.transduce, R.addIndex - * @example + * @description + * Return the last day of an ISO week for the given date. + * The result will be in the local timezone. * - * const isNotFour = x => x !== 4; + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date * - * R.takeWhile(isNotFour, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3] + * @param {Date|String|Number} date - the original date + * @returns {Date} the last day of an ISO week * - * R.takeWhile(x => x !== 'd' , 'Ramda'); //=> 'Ram' + * @example + * // The last day of an ISO week for 2 September 2014 11:55:00: + * var result = lastDayOfISOWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Sun Sep 07 2014 00:00:00 */ +function lastDayOfISOWeek (dirtyDate) { + return lastDayOfWeek(dirtyDate, {weekStartsOn: 1}) +} +module.exports = lastDayOfISOWeek -var takeWhile = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['takeWhile'], _xtakeWhile, function takeWhile(fn, xs) { - var idx = 0; - var len = xs.length; - while (idx < len && fn(xs[idx])) { - idx += 1; - } - return slice(0, idx, xs); -})); -module.exports = takeWhile; /***/ }), /* 966 */ /***/ (function(module, __unusedexports, __webpack_require__) { -"use strict"; - -const {PassThrough} = __webpack_require__(413); - -module.exports = options => { - options = Object.assign({}, options); - - const {array} = options; - let {encoding} = options; - const buffer = encoding === 'buffer'; - let objectMode = false; - - if (array) { - objectMode = !(encoding || buffer); - } else { - encoding = encoding || 'utf8'; - } - - if (buffer) { - encoding = null; - } - - let len = 0; - const ret = []; - const stream = new PassThrough({objectMode}); - - if (encoding) { - stream.setEncoding(encoding); - } - - stream.on('data', chunk => { - ret.push(chunk); +var _curry2 = /*#__PURE__*/__webpack_require__(830); - if (objectMode) { - len = ret.length; - } else { - len += chunk.length; - } - }); +var _reduced = /*#__PURE__*/__webpack_require__(938); - stream.getBufferedValue = () => { - if (array) { - return ret; - } +var _xfBase = /*#__PURE__*/__webpack_require__(60); - return buffer ? Buffer.concat(ret, len) : ret.join(''); - }; +var XFind = /*#__PURE__*/function () { - stream.getBufferedLength = () => len; + function XFind(f, xf) { + this.xf = xf; + this.f = f; + this.found = false; + } + XFind.prototype['@@transducer/init'] = _xfBase.init; + XFind.prototype['@@transducer/result'] = function (result) { + if (!this.found) { + result = this.xf['@@transducer/step'](result, void 0); + } + return this.xf['@@transducer/result'](result); + }; + XFind.prototype['@@transducer/step'] = function (result, input) { + if (this.f(input)) { + this.found = true; + result = _reduced(this.xf['@@transducer/step'](result, input)); + } + return result; + }; - return stream; -}; + return XFind; +}(); +var _xfind = /*#__PURE__*/_curry2(function _xfind(f, xf) { + return new XFind(f, xf); +}); +module.exports = _xfind; /***/ }), /* 967 */, @@ -39721,85 +41617,43 @@ function _dispatchable(methodNames, xf, fn) { module.exports = _dispatchable; /***/ }), -/* 969 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var wrappy = __webpack_require__(11) -module.exports = wrappy(once) -module.exports.strict = wrappy(onceStrict) - -once.proto = once(function () { - Object.defineProperty(Function.prototype, 'once', { - value: function () { - return once(this) - }, - configurable: true - }) - - Object.defineProperty(Function.prototype, 'onceStrict', { - value: function () { - return onceStrict(this) - }, - configurable: true - }) -}) - -function once (fn) { - var f = function () { - if (f.called) return f.value - f.called = true - return f.value = fn.apply(this, arguments) - } - f.called = false - return f -} - -function onceStrict (fn) { - var f = function () { - if (f.called) - throw new Error(f.onceError) - f.called = true - return f.value = fn.apply(this, arguments) - } - var name = fn.name || 'Function wrapped with `once`' - f.onceError = name + " shouldn't be called more than once" - f.called = false - return f -} - - -/***/ }), +/* 969 */, /* 970 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) -var setMonth = __webpack_require__(939) +var startOfISOYear = __webpack_require__(712) +var addWeeks = __webpack_require__(590) + +var MILLISECONDS_IN_WEEK = 604800000 /** - * @category Quarter Helpers - * @summary Set the year quarter to the given date. + * @category ISO Week-Numbering Year Helpers + * @summary Get the number of weeks in an ISO week-numbering year of the given date. * * @description - * Set the year quarter to the given date. + * Get the number of weeks in an ISO week-numbering year of the given date. * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} quarter - the quarter of the new date - * @returns {Date} the new date with the quarter setted + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param {Date|String|Number} date - the given date + * @returns {Number} the number of ISO weeks in a year * * @example - * // Set the 2nd quarter to 2 July 2014: - * var result = setQuarter(new Date(2014, 6, 2), 2) - * //=> Wed Apr 02 2014 00:00:00 + * // How many weeks are in ISO week-numbering year 2015? + * var result = getISOWeeksInYear(new Date(2015, 1, 11)) + * //=> 53 */ -function setQuarter (dirtyDate, dirtyQuarter) { - var date = parse(dirtyDate) - var quarter = Number(dirtyQuarter) - var oldQuarter = Math.floor(date.getMonth() / 3) + 1 - var diff = quarter - oldQuarter - return setMonth(date, date.getMonth() + diff * 3) +function getISOWeeksInYear (dirtyDate) { + var thisYear = startOfISOYear(dirtyDate) + var nextYear = startOfISOYear(addWeeks(thisYear, 60)) + var diff = nextYear.valueOf() - thisYear.valueOf() + // Round the number of weeks to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + return Math.round(diff / MILLISECONDS_IN_WEEK) } -module.exports = setQuarter +module.exports = getISOWeeksInYear /***/ }), @@ -39809,7 +41663,7 @@ module.exports = setQuarter var parse = __webpack_require__(751) var differenceInCalendarISOYears = __webpack_require__(308) var compareAsc = __webpack_require__(36) -var subISOYears = __webpack_require__(823) +var subISOYears = __webpack_require__(433) /** * @category ISO Week-Numbering Year Helpers @@ -41384,35 +43238,202 @@ module.exports = differenceInISOYears /* 974 */, /* 975 */, /* 976 */ -/***/ (function(module) { +/***/ (function(module, __unusedexports, __webpack_require__) { -/** - * @category Day Helpers - * @summary Return the end of yesterday. - * - * @description - * Return the end of yesterday. - * - * @returns {Date} the end of yesterday - * - * @example - * // If today is 6 October 2014: - * var result = endOfYesterday() - * //=> Sun Oct 5 2014 23:59:59.999 - */ -function endOfYesterday () { - var now = new Date() - var year = now.getFullYear() - var month = now.getMonth() - var day = now.getDate() +"use strict"; - var date = new Date(0) - date.setFullYear(year, month, day - 1) - date.setHours(23, 59, 59, 999) - return date + +var punycode = __webpack_require__(213); +var mappingTable = __webpack_require__(482); + +var PROCESSING_OPTIONS = { + TRANSITIONAL: 0, + NONTRANSITIONAL: 1 +}; + +function normalize(str) { // fix bug in v8 + return str.split('\u0000').map(function (s) { return s.normalize('NFC'); }).join('\u0000'); } -module.exports = endOfYesterday +function findStatus(val) { + var start = 0; + var end = mappingTable.length - 1; + + while (start <= end) { + var mid = Math.floor((start + end) / 2); + + var target = mappingTable[mid]; + if (target[0][0] <= val && target[0][1] >= val) { + return target; + } else if (target[0][0] > val) { + end = mid - 1; + } else { + start = mid + 1; + } + } + + return null; +} + +var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + +function countSymbols(string) { + return string + // replace every surrogate pair with a BMP symbol + .replace(regexAstralSymbols, '_') + // then get the length + .length; +} + +function mapChars(domain_name, useSTD3, processing_option) { + var hasError = false; + var processed = ""; + + var len = countSymbols(domain_name); + for (var i = 0; i < len; ++i) { + var codePoint = domain_name.codePointAt(i); + var status = findStatus(codePoint); + + switch (status[1]) { + case "disallowed": + hasError = true; + processed += String.fromCodePoint(codePoint); + break; + case "ignored": + break; + case "mapped": + processed += String.fromCodePoint.apply(String, status[2]); + break; + case "deviation": + if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { + processed += String.fromCodePoint.apply(String, status[2]); + } else { + processed += String.fromCodePoint(codePoint); + } + break; + case "valid": + processed += String.fromCodePoint(codePoint); + break; + case "disallowed_STD3_mapped": + if (useSTD3) { + hasError = true; + processed += String.fromCodePoint(codePoint); + } else { + processed += String.fromCodePoint.apply(String, status[2]); + } + break; + case "disallowed_STD3_valid": + if (useSTD3) { + hasError = true; + } + + processed += String.fromCodePoint(codePoint); + break; + } + } + + return { + string: processed, + error: hasError + }; +} + +var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; + +function validateLabel(label, processing_option) { + if (label.substr(0, 4) === "xn--") { + label = punycode.toUnicode(label); + processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; + } + + var error = false; + + if (normalize(label) !== label || + (label[3] === "-" && label[4] === "-") || + label[0] === "-" || label[label.length - 1] === "-" || + label.indexOf(".") !== -1 || + label.search(combiningMarksRegex) === 0) { + error = true; + } + + var len = countSymbols(label); + for (var i = 0; i < len; ++i) { + var status = findStatus(label.codePointAt(i)); + if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid") || + (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && + status[1] !== "valid" && status[1] !== "deviation")) { + error = true; + break; + } + } + + return { + label: label, + error: error + }; +} + +function processing(domain_name, useSTD3, processing_option) { + var result = mapChars(domain_name, useSTD3, processing_option); + result.string = normalize(result.string); + + var labels = result.string.split("."); + for (var i = 0; i < labels.length; ++i) { + try { + var validation = validateLabel(labels[i]); + labels[i] = validation.label; + result.error = result.error || validation.error; + } catch(e) { + result.error = true; + } + } + + return { + string: labels.join("."), + error: result.error + }; +} + +module.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { + var result = processing(domain_name, useSTD3, processing_option); + var labels = result.string.split("."); + labels = labels.map(function(l) { + try { + return punycode.toASCII(l); + } catch(e) { + result.error = true; + return l; + } + }); + + if (verifyDnsLength) { + var total = labels.slice(0, labels.length - 1).join(".").length; + if (total.length > 253 || total.length === 0) { + result.error = true; + } + + for (var i=0; i < labels.length; ++i) { + if (labels.length > 63 || labels.length === 0) { + result.error = true; + break; + } + } + } + + if (result.error) return null; + return labels.join("."); +}; + +module.exports.toUnicode = function(domain_name, useSTD3) { + var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); + + return { + domain: result.string, + error: result.error + }; +}; + +module.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; /***/ }), @@ -41462,59 +43483,13 @@ module.exports = setDay /***/ }), -/* 978 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var _dispatchable = /*#__PURE__*/__webpack_require__(968); - -var _xfindIndex = /*#__PURE__*/__webpack_require__(305); - -/** - * Returns the index of the first element of the list which matches the - * predicate, or `-1` if no element matches. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.1 - * @category List - * @sig (a -> Boolean) -> [a] -> Number - * @param {Function} fn The predicate function used to determine if the element is the - * desired one. - * @param {Array} list The array to consider. - * @return {Number} The index of the element found, or `-1`. - * @see R.transduce - * @example - * - * const xs = [{a: 1}, {a: 2}, {a: 3}]; - * R.findIndex(R.propEq('a', 2))(xs); //=> 1 - * R.findIndex(R.propEq('a', 4))(xs); //=> -1 - */ - - -var findIndex = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xfindIndex, function findIndex(fn, list) { - var idx = 0; - var len = list.length; - while (idx < len) { - if (fn(list[idx])) { - return idx; - } - idx += 1; - } - return -1; -})); -module.exports = findIndex; - -/***/ }), +/* 978 */, /* 979 */ /***/ (function(module, __unusedexports, __webpack_require__) { var _curry1 = /*#__PURE__*/__webpack_require__(721); -var constructN = /*#__PURE__*/__webpack_require__(580); +var constructN = /*#__PURE__*/__webpack_require__(768); /** * Wraps a constructor function inside a curried function that can be called @@ -41583,1630 +43558,1754 @@ module.exports = startOfToday /***/ }), -/* 981 */, -/* 982 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var _xfBase = /*#__PURE__*/__webpack_require__(60); - -var XFindLastIndex = /*#__PURE__*/function () { - - function XFindLastIndex(f, xf) { - this.xf = xf; - this.f = f; - this.idx = -1; - this.lastIdx = -1; - } - XFindLastIndex.prototype['@@transducer/init'] = _xfBase.init; - XFindLastIndex.prototype['@@transducer/result'] = function (result) { - return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx)); - }; - XFindLastIndex.prototype['@@transducer/step'] = function (result, input) { - this.idx += 1; - if (this.f(input)) { - this.lastIdx = this.idx; - } - return result; - }; - - return XFindLastIndex; -}(); +/* 981 */ +/***/ (function(__unusedmodule, exports, __webpack_require__) { -var _xfindLastIndex = /*#__PURE__*/_curry2(function _xfindLastIndex(f, xf) { - return new XFindLastIndex(f, xf); -}); -module.exports = _xfindLastIndex; +"use strict"; -/***/ }), -/* 983 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +var Buffer = __webpack_require__(572).Buffer; -"use strict"; +// UTF-7 codec, according to https://tools.ietf.org/html/rfc2152 +// See also below a UTF-7-IMAP codec, according to http://tools.ietf.org/html/rfc3501#section-5.1.3 -module.exports = function() { -var makeSelfResolutionError = function () { - return new TypeError("circular promise resolution chain\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var reflectHandler = function() { - return new Promise.PromiseInspection(this._target()); -}; -var apiRejection = function(msg) { - return Promise.reject(new TypeError(msg)); +exports.utf7 = Utf7Codec; +exports.unicode11utf7 = 'utf7'; // Alias UNICODE-1-1-UTF-7 +function Utf7Codec(codecOptions, iconv) { + this.iconv = iconv; }; -function Proxyable() {} -var UNDEFINED_BINDING = {}; -var util = __webpack_require__(248); -util.setReflectHandler(reflectHandler); -var getDomain = function() { - var domain = process.domain; - if (domain === undefined) { - return null; - } - return domain; -}; -var getContextDefault = function() { - return null; -}; -var getContextDomain = function() { - return { - domain: getDomain(), - async: null - }; -}; -var AsyncResource = util.isNode && util.nodeSupportsAsyncResource ? - __webpack_require__(95).AsyncResource : null; -var getContextAsyncHooks = function() { - return { - domain: getDomain(), - async: new AsyncResource("Bluebird::Promise") - }; -}; -var getContext = util.isNode ? getContextDomain : getContextDefault; -util.notEnumerableProp(Promise, "_getContext", getContext); -var enableAsyncHooks = function() { - getContext = getContextAsyncHooks; - util.notEnumerableProp(Promise, "_getContext", getContextAsyncHooks); -}; -var disableAsyncHooks = function() { - getContext = getContextDomain; - util.notEnumerableProp(Promise, "_getContext", getContextDomain); -}; +Utf7Codec.prototype.encoder = Utf7Encoder; +Utf7Codec.prototype.decoder = Utf7Decoder; +Utf7Codec.prototype.bomAware = true; -var es5 = __webpack_require__(883); -var Async = __webpack_require__(726); -var async = new Async(); -es5.defineProperty(Promise, "_async", {value: async}); -var errors = __webpack_require__(607); -var TypeError = Promise.TypeError = errors.TypeError; -Promise.RangeError = errors.RangeError; -var CancellationError = Promise.CancellationError = errors.CancellationError; -Promise.TimeoutError = errors.TimeoutError; -Promise.OperationalError = errors.OperationalError; -Promise.RejectionError = errors.OperationalError; -Promise.AggregateError = errors.AggregateError; -var INTERNAL = function(){}; -var APPLY = {}; -var NEXT_FILTER = {}; -var tryConvertToPromise = __webpack_require__(725)(Promise, INTERNAL); -var PromiseArray = - __webpack_require__(401)(Promise, INTERNAL, - tryConvertToPromise, apiRejection, Proxyable); -var Context = __webpack_require__(16)(Promise); - /*jshint unused:false*/ -var createContext = Context.create; -var debug = __webpack_require__(76)(Promise, Context, - enableAsyncHooks, disableAsyncHooks); -var CapturedTrace = debug.CapturedTrace; -var PassThroughHandlerContext = - __webpack_require__(941)(Promise, tryConvertToPromise, NEXT_FILTER); -var catchFilter = __webpack_require__(253)(NEXT_FILTER); -var nodebackForPromise = __webpack_require__(341); -var errorObj = util.errorObj; -var tryCatch = util.tryCatch; -function check(self, executor) { - if (self == null || self.constructor !== Promise) { - throw new TypeError("the promise constructor cannot be invoked directly\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (typeof executor !== "function") { - throw new TypeError("expecting a function but got " + util.classString(executor)); - } +// -- Encoding -} +var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g; -function Promise(executor) { - if (executor !== INTERNAL) { - check(this, executor); - } - this._bitField = 0; - this._fulfillmentHandler0 = undefined; - this._rejectionHandler0 = undefined; - this._promise0 = undefined; - this._receiver0 = undefined; - this._resolveFromExecutor(executor); - this._promiseCreated(); - this._fireEvent("promiseCreated", this); +function Utf7Encoder(options, codec) { + this.iconv = codec.iconv; } -Promise.prototype.toString = function () { - return "[object Promise]"; -}; - -Promise.prototype.caught = Promise.prototype["catch"] = function (fn) { - var len = arguments.length; - if (len > 1) { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return apiRejection("Catch statement predicate: " + - "expecting an object but got " + util.classString(item)); - } - } - catchInstances.length = j; - fn = arguments[i]; +Utf7Encoder.prototype.write = function(str) { + // Naive implementation. + // Non-direct chars are encoded as "+-"; single "+" char is encoded as "+-". + return Buffer.from(str.replace(nonDirectChars, function(chunk) { + return "+" + (chunk === '+' ? '' : + this.iconv.encode(chunk, 'utf16-be').toString('base64').replace(/=+$/, '')) + + "-"; + }.bind(this))); +} - if (typeof fn !== "function") { - throw new TypeError("The last argument to .catch() " + - "must be a function, got " + util.toString(fn)); - } - return this.then(undefined, catchFilter(catchInstances, fn, this)); - } - return this.then(undefined, fn); -}; +Utf7Encoder.prototype.end = function() { +} -Promise.prototype.reflect = function () { - return this._then(reflectHandler, - reflectHandler, undefined, this, undefined); -}; -Promise.prototype.then = function (didFulfill, didReject) { - if (debug.warnings() && arguments.length > 0 && - typeof didFulfill !== "function" && - typeof didReject !== "function") { - var msg = ".then() only accepts functions but was passed: " + - util.classString(didFulfill); - if (arguments.length > 1) { - msg += ", " + util.classString(didReject); - } - this._warn(msg); - } - return this._then(didFulfill, didReject, undefined, undefined, undefined); -}; +// -- Decoding -Promise.prototype.done = function (didFulfill, didReject) { - var promise = - this._then(didFulfill, didReject, undefined, undefined, undefined); - promise._setIsFinal(); -}; +function Utf7Decoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ''; +} -Promise.prototype.spread = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - return this.all()._then(fn, undefined, undefined, APPLY, undefined); -}; +var base64Regex = /[A-Za-z0-9\/+]/; +var base64Chars = []; +for (var i = 0; i < 256; i++) + base64Chars[i] = base64Regex.test(String.fromCharCode(i)); -Promise.prototype.toJSON = function () { - var ret = { - isFulfilled: false, - isRejected: false, - fulfillmentValue: undefined, - rejectionReason: undefined - }; - if (this.isFulfilled()) { - ret.fulfillmentValue = this.value(); - ret.isFulfilled = true; - } else if (this.isRejected()) { - ret.rejectionReason = this.reason(); - ret.isRejected = true; - } - return ret; -}; +var plusChar = '+'.charCodeAt(0), + minusChar = '-'.charCodeAt(0), + andChar = '&'.charCodeAt(0); -Promise.prototype.all = function () { - if (arguments.length > 0) { - this._warn(".all() was passed arguments but it does not take any"); - } - return new PromiseArray(this).promise(); -}; +Utf7Decoder.prototype.write = function(buf) { + var res = "", lastI = 0, + inBase64 = this.inBase64, + base64Accum = this.base64Accum; -Promise.prototype.error = function (fn) { - return this.caught(util.originatesFromRejection, fn); -}; + // The decoder is more involved as we must handle chunks in stream. -Promise.getNewLibraryCopy = module.exports; + for (var i = 0; i < buf.length; i++) { + if (!inBase64) { // We're in direct mode. + // Write direct chars until '+' + if (buf[i] == plusChar) { + res += this.iconv.decode(buf.slice(lastI, i), "ascii"); // Write direct chars. + lastI = i+1; + inBase64 = true; + } + } else { // We decode base64. + if (!base64Chars[buf[i]]) { // Base64 ended. + if (i == lastI && buf[i] == minusChar) {// "+-" -> "+" + res += "+"; + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), "ascii"); + res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be"); + } -Promise.is = function (val) { - return val instanceof Promise; -}; + if (buf[i] != minusChar) // Minus is absorbed after base64. + i--; -Promise.fromNode = Promise.fromCallback = function(fn) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs - : false; - var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs)); - if (result === errorObj) { - ret._rejectCallback(result.e, true); + lastI = i+1; + inBase64 = false; + base64Accum = ''; + } + } } - if (!ret._isFateSealed()) ret._setAsyncGuaranteed(); - return ret; -}; -Promise.all = function (promises) { - return new PromiseArray(promises).promise(); -}; + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); // Write direct chars. + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii"); -Promise.cast = function (obj) { - var ret = tryConvertToPromise(obj); - if (!(ret instanceof Promise)) { - ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._setFulfilled(); - ret._rejectionHandler0 = obj; + var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars. + base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future. + b64str = b64str.slice(0, canBeDecoded); + + res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be"); } - return ret; -}; -Promise.resolve = Promise.fulfilled = Promise.cast; + this.inBase64 = inBase64; + this.base64Accum = base64Accum; -Promise.reject = Promise.rejected = function (reason) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._rejectCallback(reason, true); - return ret; -}; + return res; +} -Promise.setScheduler = function(fn) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - return async.setScheduler(fn); -}; +Utf7Decoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) + res = this.iconv.decode(Buffer.from(this.base64Accum, 'base64'), "utf16-be"); -Promise.prototype._then = function ( - didFulfill, - didReject, - _, receiver, - internalData -) { - var haveInternalData = internalData !== undefined; - var promise = haveInternalData ? internalData : new Promise(INTERNAL); - var target = this._target(); - var bitField = target._bitField; + this.inBase64 = false; + this.base64Accum = ''; + return res; +} - if (!haveInternalData) { - promise._propagateFrom(this, 3); - promise._captureStackTrace(); - if (receiver === undefined && - ((this._bitField & 2097152) !== 0)) { - if (!((bitField & 50397184) === 0)) { - receiver = this._boundValue(); - } else { - receiver = target === this ? undefined : this._boundTo; - } - } - this._fireEvent("promiseChained", this, promise); - } - var context = getContext(); - if (!((bitField & 50397184) === 0)) { - var handler, value, settler = target._settlePromiseCtx; - if (((bitField & 33554432) !== 0)) { - value = target._rejectionHandler0; - handler = didFulfill; - } else if (((bitField & 16777216) !== 0)) { - value = target._fulfillmentHandler0; - handler = didReject; - target._unsetRejectionIsUnhandled(); - } else { - settler = target._settlePromiseLateCancellationObserver; - value = new CancellationError("late cancellation observer"); - target._attachExtraTrace(value); - handler = didReject; - } +// UTF-7-IMAP codec. +// RFC3501 Sec. 5.1.3 Modified UTF-7 (http://tools.ietf.org/html/rfc3501#section-5.1.3) +// Differences: +// * Base64 part is started by "&" instead of "+" +// * Direct characters are 0x20-0x7E, except "&" (0x26) +// * In Base64, "," is used instead of "/" +// * Base64 must not be used to represent direct characters. +// * No implicit shift back from Base64 (should always end with '-') +// * String must end in non-shifted position. +// * "-&" while in base64 is not allowed. - async.invoke(settler, target, { - handler: util.contextBind(context, handler), - promise: promise, - receiver: receiver, - value: value - }); - } else { - target._addCallbacks(didFulfill, didReject, promise, - receiver, context); - } - return promise; +exports.utf7imap = Utf7IMAPCodec; +function Utf7IMAPCodec(codecOptions, iconv) { + this.iconv = iconv; }; -Promise.prototype._length = function () { - return this._bitField & 65535; -}; +Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder; +Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder; +Utf7IMAPCodec.prototype.bomAware = true; -Promise.prototype._isFateSealed = function () { - return (this._bitField & 117506048) !== 0; -}; -Promise.prototype._isFollowing = function () { - return (this._bitField & 67108864) === 67108864; -}; +// -- Encoding -Promise.prototype._setLength = function (len) { - this._bitField = (this._bitField & -65536) | - (len & 65535); -}; +function Utf7IMAPEncoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = Buffer.alloc(6); + this.base64AccumIdx = 0; +} -Promise.prototype._setFulfilled = function () { - this._bitField = this._bitField | 33554432; - this._fireEvent("promiseFulfilled", this); -}; +Utf7IMAPEncoder.prototype.write = function(str) { + var inBase64 = this.inBase64, + base64Accum = this.base64Accum, + base64AccumIdx = this.base64AccumIdx, + buf = Buffer.alloc(str.length*5 + 10), bufIdx = 0; -Promise.prototype._setRejected = function () { - this._bitField = this._bitField | 16777216; - this._fireEvent("promiseRejected", this); -}; + for (var i = 0; i < str.length; i++) { + var uChar = str.charCodeAt(i); + if (0x20 <= uChar && uChar <= 0x7E) { // Direct character or '&'. + if (inBase64) { + if (base64AccumIdx > 0) { + bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString('base64').replace(/\//g, ',').replace(/=+$/, ''), bufIdx); + base64AccumIdx = 0; + } -Promise.prototype._setFollowing = function () { - this._bitField = this._bitField | 67108864; - this._fireEvent("promiseResolved", this); -}; + buf[bufIdx++] = minusChar; // Write '-', then go to direct mode. + inBase64 = false; + } -Promise.prototype._setIsFinal = function () { - this._bitField = this._bitField | 4194304; -}; + if (!inBase64) { + buf[bufIdx++] = uChar; // Write direct character -Promise.prototype._isFinal = function () { - return (this._bitField & 4194304) > 0; -}; + if (uChar === andChar) // Ampersand -> '&-' + buf[bufIdx++] = minusChar; + } -Promise.prototype._unsetCancelled = function() { - this._bitField = this._bitField & (~65536); -}; + } else { // Non-direct character + if (!inBase64) { + buf[bufIdx++] = andChar; // Write '&', then go to base64 mode. + inBase64 = true; + } + if (inBase64) { + base64Accum[base64AccumIdx++] = uChar >> 8; + base64Accum[base64AccumIdx++] = uChar & 0xFF; -Promise.prototype._setCancelled = function() { - this._bitField = this._bitField | 65536; - this._fireEvent("promiseCancelled", this); -}; + if (base64AccumIdx == base64Accum.length) { + bufIdx += buf.write(base64Accum.toString('base64').replace(/\//g, ','), bufIdx); + base64AccumIdx = 0; + } + } + } + } -Promise.prototype._setWillBeCancelled = function() { - this._bitField = this._bitField | 8388608; -}; + this.inBase64 = inBase64; + this.base64AccumIdx = base64AccumIdx; -Promise.prototype._setAsyncGuaranteed = function() { - if (async.hasCustomScheduler()) return; - var bitField = this._bitField; - this._bitField = bitField | - (((bitField & 536870912) >> 2) ^ - 134217728); -}; + return buf.slice(0, bufIdx); +} -Promise.prototype._setNoAsyncGuarantee = function() { - this._bitField = (this._bitField | 536870912) & - (~134217728); -}; +Utf7IMAPEncoder.prototype.end = function() { + var buf = Buffer.alloc(10), bufIdx = 0; + if (this.inBase64) { + if (this.base64AccumIdx > 0) { + bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString('base64').replace(/\//g, ',').replace(/=+$/, ''), bufIdx); + this.base64AccumIdx = 0; + } -Promise.prototype._receiverAt = function (index) { - var ret = index === 0 ? this._receiver0 : this[ - index * 4 - 4 + 3]; - if (ret === UNDEFINED_BINDING) { - return undefined; - } else if (ret === undefined && this._isBound()) { - return this._boundValue(); + buf[bufIdx++] = minusChar; // Write '-', then go to direct mode. + this.inBase64 = false; } - return ret; -}; -Promise.prototype._promiseAt = function (index) { - return this[ - index * 4 - 4 + 2]; -}; + return buf.slice(0, bufIdx); +} -Promise.prototype._fulfillmentHandlerAt = function (index) { - return this[ - index * 4 - 4 + 0]; -}; -Promise.prototype._rejectionHandlerAt = function (index) { - return this[ - index * 4 - 4 + 1]; -}; +// -- Decoding -Promise.prototype._boundValue = function() {}; +function Utf7IMAPDecoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ''; +} -Promise.prototype._migrateCallback0 = function (follower) { - var bitField = follower._bitField; - var fulfill = follower._fulfillmentHandler0; - var reject = follower._rejectionHandler0; - var promise = follower._promise0; - var receiver = follower._receiverAt(0); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; +var base64IMAPChars = base64Chars.slice(); +base64IMAPChars[','.charCodeAt(0)] = true; -Promise.prototype._migrateCallbackAt = function (follower, index) { - var fulfill = follower._fulfillmentHandlerAt(index); - var reject = follower._rejectionHandlerAt(index); - var promise = follower._promiseAt(index); - var receiver = follower._receiverAt(index); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; +Utf7IMAPDecoder.prototype.write = function(buf) { + var res = "", lastI = 0, + inBase64 = this.inBase64, + base64Accum = this.base64Accum; -Promise.prototype._addCallbacks = function ( - fulfill, - reject, - promise, - receiver, - context -) { - var index = this._length(); + // The decoder is more involved as we must handle chunks in stream. + // It is forgiving, closer to standard UTF-7 (for example, '-' is optional at the end). - if (index >= 65535 - 4) { - index = 0; - this._setLength(0); - } + for (var i = 0; i < buf.length; i++) { + if (!inBase64) { // We're in direct mode. + // Write direct chars until '&' + if (buf[i] == andChar) { + res += this.iconv.decode(buf.slice(lastI, i), "ascii"); // Write direct chars. + lastI = i+1; + inBase64 = true; + } + } else { // We decode base64. + if (!base64IMAPChars[buf[i]]) { // Base64 ended. + if (i == lastI && buf[i] == minusChar) { // "&-" -> "&" + res += "&"; + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), "ascii").replace(/,/g, '/'); + res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be"); + } - if (index === 0) { - this._promise0 = promise; - this._receiver0 = receiver; - if (typeof fulfill === "function") { - this._fulfillmentHandler0 = util.contextBind(context, fulfill); - } - if (typeof reject === "function") { - this._rejectionHandler0 = util.contextBind(context, reject); + if (buf[i] != minusChar) // Minus may be absorbed after base64. + i--; + + lastI = i+1; + inBase64 = false; + base64Accum = ''; + } } + } + + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); // Write direct chars. } else { - var base = index * 4 - 4; - this[base + 2] = promise; - this[base + 3] = receiver; - if (typeof fulfill === "function") { - this[base + 0] = - util.contextBind(context, fulfill); - } - if (typeof reject === "function") { - this[base + 1] = - util.contextBind(context, reject); - } + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, '/'); + + var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars. + base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future. + b64str = b64str.slice(0, canBeDecoded); + + res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be"); } - this._setLength(index + 1); - return index; -}; -Promise.prototype._proxy = function (proxyable, arg) { - this._addCallbacks(undefined, undefined, arg, proxyable, null); -}; + this.inBase64 = inBase64; + this.base64Accum = base64Accum; -Promise.prototype._resolveCallback = function(value, shouldBind) { - if (((this._bitField & 117506048) !== 0)) return; - if (value === this) - return this._rejectCallback(makeSelfResolutionError(), false); - var maybePromise = tryConvertToPromise(value, this); - if (!(maybePromise instanceof Promise)) return this._fulfill(value); + return res; +} - if (shouldBind) this._propagateFrom(maybePromise, 2); +Utf7IMAPDecoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) + res = this.iconv.decode(Buffer.from(this.base64Accum, 'base64'), "utf16-be"); + this.inBase64 = false; + this.base64Accum = ''; + return res; +} - var promise = maybePromise._target(); - if (promise === this) { - this._reject(makeSelfResolutionError()); - return; - } - var bitField = promise._bitField; - if (((bitField & 50397184) === 0)) { - var len = this._length(); - if (len > 0) promise._migrateCallback0(this); - for (var i = 1; i < len; ++i) { - promise._migrateCallbackAt(this, i); - } - this._setFollowing(); - this._setLength(0); - this._setFollowee(maybePromise); - } else if (((bitField & 33554432) !== 0)) { - this._fulfill(promise._value()); - } else if (((bitField & 16777216) !== 0)) { - this._reject(promise._reason()); - } else { - var reason = new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - this._reject(reason); - } -}; -Promise.prototype._rejectCallback = -function(reason, synchronous, ignoreNonErrorWarnings) { - var trace = util.ensureErrorObject(reason); - var hasStack = trace === reason; - if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) { - var message = "a promise was rejected with a non-error: " + - util.classString(reason); - this._warn(message, true); - } - this._attachExtraTrace(trace, synchronous ? hasStack : false); - this._reject(reason); -}; +/***/ }), +/* 982 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -Promise.prototype._resolveFromExecutor = function (executor) { - if (executor === INTERNAL) return; - var promise = this; - this._captureStackTrace(); - this._pushContext(); - var synchronous = true; - var r = this._execute(executor, function(value) { - promise._resolveCallback(value); - }, function (reason) { - promise._rejectCallback(reason, synchronous); - }); - synchronous = false; - this._popContext(); +var _curry2 = /*#__PURE__*/__webpack_require__(830); - if (r !== undefined) { - promise._rejectCallback(r, true); - } -}; +var _xfBase = /*#__PURE__*/__webpack_require__(60); -Promise.prototype._settlePromiseFromHandler = function ( - handler, receiver, value, promise -) { - var bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - promise._pushContext(); - var x; - if (receiver === APPLY) { - if (!value || typeof value.length !== "number") { - x = errorObj; - x.e = new TypeError("cannot .spread() a non-array: " + - util.classString(value)); - } else { - x = tryCatch(handler).apply(this._boundValue(), value); - } - } else { - x = tryCatch(handler).call(receiver, value); - } - var promiseCreated = promise._popContext(); - bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; +var XFindLastIndex = /*#__PURE__*/function () { - if (x === NEXT_FILTER) { - promise._reject(value); - } else if (x === errorObj) { - promise._rejectCallback(x.e, false); - } else { - debug.checkForgottenReturns(x, promiseCreated, "", promise, this); - promise._resolveCallback(x); + function XFindLastIndex(f, xf) { + this.xf = xf; + this.f = f; + this.idx = -1; + this.lastIdx = -1; + } + XFindLastIndex.prototype['@@transducer/init'] = _xfBase.init; + XFindLastIndex.prototype['@@transducer/result'] = function (result) { + return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx)); + }; + XFindLastIndex.prototype['@@transducer/step'] = function (result, input) { + this.idx += 1; + if (this.f(input)) { + this.lastIdx = this.idx; } -}; + return result; + }; -Promise.prototype._target = function() { - var ret = this; - while (ret._isFollowing()) ret = ret._followee(); - return ret; -}; + return XFindLastIndex; +}(); -Promise.prototype._followee = function() { - return this._rejectionHandler0; -}; +var _xfindLastIndex = /*#__PURE__*/_curry2(function _xfindLastIndex(f, xf) { + return new XFindLastIndex(f, xf); +}); +module.exports = _xfindLastIndex; -Promise.prototype._setFollowee = function(promise) { - this._rejectionHandler0 = promise; -}; +/***/ }), +/* 983 */ +/***/ (function(module, __unusedexports, __webpack_require__) { -Promise.prototype._settlePromise = function(promise, handler, receiver, value) { - var isPromise = promise instanceof Promise; - var bitField = this._bitField; - var asyncGuaranteed = ((bitField & 134217728) !== 0); - if (((bitField & 65536) !== 0)) { - if (isPromise) promise._invokeInternalOnCancel(); +"use strict"; - if (receiver instanceof PassThroughHandlerContext && - receiver.isFinallyHandler()) { - receiver.cancelPromise = promise; - if (tryCatch(handler).call(receiver, value) === errorObj) { - promise._reject(errorObj.e); - } - } else if (handler === reflectHandler) { - promise._fulfill(reflectHandler.call(receiver)); - } else if (receiver instanceof Proxyable) { - receiver._promiseCancelled(promise); - } else if (isPromise || promise instanceof PromiseArray) { - promise._cancel(); - } else { - receiver.cancel(); - } - } else if (typeof handler === "function") { - if (!isPromise) { - handler.call(receiver, value, promise); - } else { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (receiver instanceof Proxyable) { - if (!receiver._isResolved()) { - if (((bitField & 33554432) !== 0)) { - receiver._promiseFulfilled(value, promise); - } else { - receiver._promiseRejected(value, promise); - } - } - } else if (isPromise) { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - if (((bitField & 33554432) !== 0)) { - promise._fulfill(value); - } else { - promise._reject(value); - } - } +module.exports = function() { +var makeSelfResolutionError = function () { + return new TypeError("circular promise resolution chain\u000a\u000a See http://goo.gl/MqrFmX\u000a"); +}; +var reflectHandler = function() { + return new Promise.PromiseInspection(this._target()); +}; +var apiRejection = function(msg) { + return Promise.reject(new TypeError(msg)); }; +function Proxyable() {} +var UNDEFINED_BINDING = {}; +var util = __webpack_require__(248); +util.setReflectHandler(reflectHandler); -Promise.prototype._settlePromiseLateCancellationObserver = function(ctx) { - var handler = ctx.handler; - var promise = ctx.promise; - var receiver = ctx.receiver; - var value = ctx.value; - if (typeof handler === "function") { - if (!(promise instanceof Promise)) { - handler.call(receiver, value, promise); - } else { - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (promise instanceof Promise) { - promise._reject(value); +var getDomain = function() { + var domain = process.domain; + if (domain === undefined) { + return null; } + return domain; }; - -Promise.prototype._settlePromiseCtx = function(ctx) { - this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value); +var getContextDefault = function() { + return null; }; - -Promise.prototype._settlePromise0 = function(handler, value, bitField) { - var promise = this._promise0; - var receiver = this._receiverAt(0); - this._promise0 = undefined; - this._receiver0 = undefined; - this._settlePromise(promise, handler, receiver, value); +var getContextDomain = function() { + return { + domain: getDomain(), + async: null + }; }; - -Promise.prototype._clearCallbackDataAtIndex = function(index) { - var base = index * 4 - 4; - this[base + 2] = - this[base + 3] = - this[base + 0] = - this[base + 1] = undefined; +var AsyncResource = util.isNode && util.nodeSupportsAsyncResource ? + __webpack_require__(95).AsyncResource : null; +var getContextAsyncHooks = function() { + return { + domain: getDomain(), + async: new AsyncResource("Bluebird::Promise") + }; }; - -Promise.prototype._fulfill = function (value) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - if (value === this) { - var err = makeSelfResolutionError(); - this._attachExtraTrace(err); - return this._reject(err); - } - this._setFulfilled(); - this._rejectionHandler0 = value; - - if ((bitField & 65535) > 0) { - if (((bitField & 134217728) !== 0)) { - this._settlePromises(); - } else { - async.settlePromises(this); - } - this._dereferenceTrace(); - } +var getContext = util.isNode ? getContextDomain : getContextDefault; +util.notEnumerableProp(Promise, "_getContext", getContext); +var enableAsyncHooks = function() { + getContext = getContextAsyncHooks; + util.notEnumerableProp(Promise, "_getContext", getContextAsyncHooks); +}; +var disableAsyncHooks = function() { + getContext = getContextDomain; + util.notEnumerableProp(Promise, "_getContext", getContextDomain); }; -Promise.prototype._reject = function (reason) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - this._setRejected(); - this._fulfillmentHandler0 = reason; +var es5 = __webpack_require__(883); +var Async = __webpack_require__(726); +var async = new Async(); +es5.defineProperty(Promise, "_async", {value: async}); +var errors = __webpack_require__(607); +var TypeError = Promise.TypeError = errors.TypeError; +Promise.RangeError = errors.RangeError; +var CancellationError = Promise.CancellationError = errors.CancellationError; +Promise.TimeoutError = errors.TimeoutError; +Promise.OperationalError = errors.OperationalError; +Promise.RejectionError = errors.OperationalError; +Promise.AggregateError = errors.AggregateError; +var INTERNAL = function(){}; +var APPLY = {}; +var NEXT_FILTER = {}; +var tryConvertToPromise = __webpack_require__(725)(Promise, INTERNAL); +var PromiseArray = + __webpack_require__(401)(Promise, INTERNAL, + tryConvertToPromise, apiRejection, Proxyable); +var Context = __webpack_require__(617)(Promise); + /*jshint unused:false*/ +var createContext = Context.create; - if (this._isFinal()) { - return async.fatalError(reason, util.isNode); +var debug = __webpack_require__(76)(Promise, Context, + enableAsyncHooks, disableAsyncHooks); +var CapturedTrace = debug.CapturedTrace; +var PassThroughHandlerContext = + __webpack_require__(15)(Promise, tryConvertToPromise, NEXT_FILTER); +var catchFilter = __webpack_require__(253)(NEXT_FILTER); +var nodebackForPromise = __webpack_require__(341); +var errorObj = util.errorObj; +var tryCatch = util.tryCatch; +function check(self, executor) { + if (self == null || self.constructor !== Promise) { + throw new TypeError("the promise constructor cannot be invoked directly\u000a\u000a See http://goo.gl/MqrFmX\u000a"); } - - if ((bitField & 65535) > 0) { - async.settlePromises(this); - } else { - this._ensurePossibleRejectionHandled(); + if (typeof executor !== "function") { + throw new TypeError("expecting a function but got " + util.classString(executor)); } -}; -Promise.prototype._fulfillPromises = function (len, value) { - for (var i = 1; i < len; i++) { - var handler = this._fulfillmentHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, value); +} + +function Promise(executor) { + if (executor !== INTERNAL) { + check(this, executor); } + this._bitField = 0; + this._fulfillmentHandler0 = undefined; + this._rejectionHandler0 = undefined; + this._promise0 = undefined; + this._receiver0 = undefined; + this._resolveFromExecutor(executor); + this._promiseCreated(); + this._fireEvent("promiseCreated", this); +} + +Promise.prototype.toString = function () { + return "[object Promise]"; }; -Promise.prototype._rejectPromises = function (len, reason) { - for (var i = 1; i < len; i++) { - var handler = this._rejectionHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, reason); +Promise.prototype.caught = Promise.prototype["catch"] = function (fn) { + var len = arguments.length; + if (len > 1) { + var catchInstances = new Array(len - 1), + j = 0, i; + for (i = 0; i < len - 1; ++i) { + var item = arguments[i]; + if (util.isObject(item)) { + catchInstances[j++] = item; + } else { + return apiRejection("Catch statement predicate: " + + "expecting an object but got " + util.classString(item)); + } + } + catchInstances.length = j; + fn = arguments[i]; + + if (typeof fn !== "function") { + throw new TypeError("The last argument to .catch() " + + "must be a function, got " + util.toString(fn)); + } + return this.then(undefined, catchFilter(catchInstances, fn, this)); } + return this.then(undefined, fn); }; -Promise.prototype._settlePromises = function () { - var bitField = this._bitField; - var len = (bitField & 65535); +Promise.prototype.reflect = function () { + return this._then(reflectHandler, + reflectHandler, undefined, this, undefined); +}; - if (len > 0) { - if (((bitField & 16842752) !== 0)) { - var reason = this._fulfillmentHandler0; - this._settlePromise0(this._rejectionHandler0, reason, bitField); - this._rejectPromises(len, reason); - } else { - var value = this._rejectionHandler0; - this._settlePromise0(this._fulfillmentHandler0, value, bitField); - this._fulfillPromises(len, value); +Promise.prototype.then = function (didFulfill, didReject) { + if (debug.warnings() && arguments.length > 0 && + typeof didFulfill !== "function" && + typeof didReject !== "function") { + var msg = ".then() only accepts functions but was passed: " + + util.classString(didFulfill); + if (arguments.length > 1) { + msg += ", " + util.classString(didReject); } - this._setLength(0); + this._warn(msg); } - this._clearCancellationData(); + return this._then(didFulfill, didReject, undefined, undefined, undefined); }; -Promise.prototype._settledValue = function() { - var bitField = this._bitField; - if (((bitField & 33554432) !== 0)) { - return this._rejectionHandler0; - } else if (((bitField & 16777216) !== 0)) { - return this._fulfillmentHandler0; - } +Promise.prototype.done = function (didFulfill, didReject) { + var promise = + this._then(didFulfill, didReject, undefined, undefined, undefined); + promise._setIsFinal(); }; -if (typeof Symbol !== "undefined" && Symbol.toStringTag) { - es5.defineProperty(Promise.prototype, Symbol.toStringTag, { - get: function () { - return "Object"; - } - }); -} - -function deferResolve(v) {this.promise._resolveCallback(v);} -function deferReject(v) {this.promise._rejectCallback(v, false);} +Promise.prototype.spread = function (fn) { + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + return this.all()._then(fn, undefined, undefined, APPLY, undefined); +}; -Promise.defer = Promise.pending = function() { - debug.deprecated("Promise.defer", "new Promise"); - var promise = new Promise(INTERNAL); - return { - promise: promise, - resolve: deferResolve, - reject: deferReject +Promise.prototype.toJSON = function () { + var ret = { + isFulfilled: false, + isRejected: false, + fulfillmentValue: undefined, + rejectionReason: undefined }; + if (this.isFulfilled()) { + ret.fulfillmentValue = this.value(); + ret.isFulfilled = true; + } else if (this.isRejected()) { + ret.rejectionReason = this.reason(); + ret.isRejected = true; + } + return ret; }; -util.notEnumerableProp(Promise, - "_makeSelfResolutionError", - makeSelfResolutionError); - -__webpack_require__(584)(Promise, INTERNAL, tryConvertToPromise, apiRejection, - debug); -__webpack_require__(947)(Promise, INTERNAL, tryConvertToPromise, debug); -__webpack_require__(514)(Promise, PromiseArray, apiRejection, debug); -__webpack_require__(315)(Promise); -__webpack_require__(187)(Promise); -__webpack_require__(705)( - Promise, PromiseArray, tryConvertToPromise, INTERNAL, async); -Promise.Promise = Promise; -Promise.version = "3.7.2"; -__webpack_require__(361)(Promise); -__webpack_require__(490)(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug); -__webpack_require__(220)(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); -__webpack_require__(529)(Promise); -__webpack_require__(804)(Promise, INTERNAL); -__webpack_require__(321)(Promise, PromiseArray, tryConvertToPromise, apiRejection); -__webpack_require__(395)(Promise, INTERNAL, tryConvertToPromise, apiRejection); -__webpack_require__(409)(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); -__webpack_require__(724)(Promise, PromiseArray, debug); -__webpack_require__(8)(Promise, PromiseArray, apiRejection); -__webpack_require__(13)(Promise, INTERNAL, debug); -__webpack_require__(846)(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug); -__webpack_require__(658)(Promise); -__webpack_require__(152)(Promise, INTERNAL); -__webpack_require__(519)(Promise, INTERNAL); - - util.toFastProperties(Promise); - util.toFastProperties(Promise.prototype); - function fillTypes(value) { - var p = new Promise(INTERNAL); - p._fulfillmentHandler0 = value; - p._rejectionHandler0 = value; - p._promise0 = value; - p._receiver0 = value; - } - // Complete slack tracking, opt out of field-type tracking and - // stabilize map - fillTypes({a: 1}); - fillTypes({b: 2}); - fillTypes({c: 3}); - fillTypes(1); - fillTypes(function(){}); - fillTypes(undefined); - fillTypes(false); - fillTypes(new Promise(INTERNAL)); - debug.setBounds(Async.firstLineError, util.lastLineError); - return Promise; - +Promise.prototype.all = function () { + if (arguments.length > 0) { + this._warn(".all() was passed arguments but it does not take any"); + } + return new PromiseArray(this).promise(); }; +Promise.prototype.error = function (fn) { + return this.caught(util.originatesFromRejection, fn); +}; -/***/ }), -/* 984 */ -/***/ (function(module) { - -module.exports = [["a140","",62],["a180","",32],["a240","",62],["a280","",32],["a2ab","",5],["a2e3","€"],["a2ef",""],["a2fd",""],["a340","",62],["a380","",31," "],["a440","",62],["a480","",32],["a4f4","",10],["a540","",62],["a580","",32],["a5f7","",7],["a640","",62],["a680","",32],["a6b9","",7],["a6d9","",6],["a6ec",""],["a6f3",""],["a6f6","",8],["a740","",62],["a780","",32],["a7c2","",14],["a7f2","",12],["a896","",10],["a8bc",""],["a8bf","ǹ"],["a8c1",""],["a8ea","",20],["a958",""],["a95b",""],["a95d",""],["a989","〾⿰",11],["a997","",12],["a9f0","",14],["aaa1","",93],["aba1","",93],["aca1","",93],["ada1","",93],["aea1","",93],["afa1","",93],["d7fa","",4],["f8a1","",93],["f9a1","",93],["faa1","",93],["fba1","",93],["fca1","",93],["fda1","",93],["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"],["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93]]; - -/***/ }), -/* 985 */ -/***/ (function(module) { - -function _pipeP(f, g) { - return function () { - var ctx = this; - return f.apply(ctx, arguments).then(function (x) { - return g.call(ctx, x); - }); - }; -} -module.exports = _pipeP; - -/***/ }), -/* 986 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry3 = /*#__PURE__*/__webpack_require__(78); - -/** - * Tests the final argument by passing it to the given predicate function. If - * the predicate is not satisfied, the function will return the result of - * calling the `whenFalseFn` function with the same argument. If the predicate - * is satisfied, the argument is returned as is. - * - * @func - * @memberOf R - * @since v0.18.0 - * @category Logic - * @sig (a -> Boolean) -> (a -> a) -> a -> a - * @param {Function} pred A predicate function - * @param {Function} whenFalseFn A function to invoke when the `pred` evaluates - * to a falsy value. - * @param {*} x An object to test with the `pred` function and - * pass to `whenFalseFn` if necessary. - * @return {*} Either `x` or the result of applying `x` to `whenFalseFn`. - * @see R.ifElse, R.when, R.cond - * @example - * - * let safeInc = R.unless(R.isNil, R.inc); - * safeInc(null); //=> null - * safeInc(1); //=> 2 - */ - - -var unless = /*#__PURE__*/_curry3(function unless(pred, whenFalseFn, x) { - return pred(x) ? x : whenFalseFn(x); -}); -module.exports = unless; - -/***/ }), -/* 987 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +Promise.getNewLibraryCopy = module.exports; -const conversions = __webpack_require__(177); +Promise.is = function (val) { + return val instanceof Promise; +}; -/* - This function routes a model to all other models. +Promise.fromNode = Promise.fromCallback = function(fn) { + var ret = new Promise(INTERNAL); + ret._captureStackTrace(); + var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs + : false; + var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs)); + if (result === errorObj) { + ret._rejectCallback(result.e, true); + } + if (!ret._isFateSealed()) ret._setAsyncGuaranteed(); + return ret; +}; - all functions that are routed have a property `.conversion` attached - to the returned synthetic function. This property is an array - of strings, each with the steps in between the 'from' and 'to' - color models (inclusive). +Promise.all = function (promises) { + return new PromiseArray(promises).promise(); +}; - conversions that are not possible simply are not included. -*/ +Promise.cast = function (obj) { + var ret = tryConvertToPromise(obj); + if (!(ret instanceof Promise)) { + ret = new Promise(INTERNAL); + ret._captureStackTrace(); + ret._setFulfilled(); + ret._rejectionHandler0 = obj; + } + return ret; +}; -function buildGraph() { - const graph = {}; - // https://jsperf.com/object-keys-vs-for-in-with-closure/3 - const models = Object.keys(conversions); +Promise.resolve = Promise.fulfilled = Promise.cast; - for (let len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - // http://jsperf.com/1-vs-infinity - // micro-opt, but this is simple. - distance: -1, - parent: null - }; - } +Promise.reject = Promise.rejected = function (reason) { + var ret = new Promise(INTERNAL); + ret._captureStackTrace(); + ret._rejectCallback(reason, true); + return ret; +}; - return graph; -} +Promise.setScheduler = function(fn) { + if (typeof fn !== "function") { + throw new TypeError("expecting a function but got " + util.classString(fn)); + } + return async.setScheduler(fn); +}; -// https://en.wikipedia.org/wiki/Breadth-first_search -function deriveBFS(fromModel) { - const graph = buildGraph(); - const queue = [fromModel]; // Unshift -> queue -> pop +Promise.prototype._then = function ( + didFulfill, + didReject, + _, receiver, + internalData +) { + var haveInternalData = internalData !== undefined; + var promise = haveInternalData ? internalData : new Promise(INTERNAL); + var target = this._target(); + var bitField = target._bitField; - graph[fromModel].distance = 0; + if (!haveInternalData) { + promise._propagateFrom(this, 3); + promise._captureStackTrace(); + if (receiver === undefined && + ((this._bitField & 2097152) !== 0)) { + if (!((bitField & 50397184) === 0)) { + receiver = this._boundValue(); + } else { + receiver = target === this ? undefined : this._boundTo; + } + } + this._fireEvent("promiseChained", this, promise); + } - while (queue.length) { - const current = queue.pop(); - const adjacents = Object.keys(conversions[current]); + var context = getContext(); + if (!((bitField & 50397184) === 0)) { + var handler, value, settler = target._settlePromiseCtx; + if (((bitField & 33554432) !== 0)) { + value = target._rejectionHandler0; + handler = didFulfill; + } else if (((bitField & 16777216) !== 0)) { + value = target._fulfillmentHandler0; + handler = didReject; + target._unsetRejectionIsUnhandled(); + } else { + settler = target._settlePromiseLateCancellationObserver; + value = new CancellationError("late cancellation observer"); + target._attachExtraTrace(value); + handler = didReject; + } - for (let len = adjacents.length, i = 0; i < len; i++) { - const adjacent = adjacents[i]; - const node = graph[adjacent]; + async.invoke(settler, target, { + handler: util.contextBind(context, handler), + promise: promise, + receiver: receiver, + value: value + }); + } else { + target._addCallbacks(didFulfill, didReject, promise, + receiver, context); + } - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } + return promise; +}; - return graph; -} +Promise.prototype._length = function () { + return this._bitField & 65535; +}; -function link(from, to) { - return function (args) { - return to(from(args)); - }; -} +Promise.prototype._isFateSealed = function () { + return (this._bitField & 117506048) !== 0; +}; -function wrapConversion(toModel, graph) { - const path = [graph[toModel].parent, toModel]; - let fn = conversions[graph[toModel].parent][toModel]; +Promise.prototype._isFollowing = function () { + return (this._bitField & 67108864) === 67108864; +}; - let cur = graph[toModel].parent; - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link(conversions[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } +Promise.prototype._setLength = function (len) { + this._bitField = (this._bitField & -65536) | + (len & 65535); +}; - fn.conversion = path; - return fn; -} +Promise.prototype._setFulfilled = function () { + this._bitField = this._bitField | 33554432; + this._fireEvent("promiseFulfilled", this); +}; -module.exports = function (fromModel) { - const graph = deriveBFS(fromModel); - const conversion = {}; +Promise.prototype._setRejected = function () { + this._bitField = this._bitField | 16777216; + this._fireEvent("promiseRejected", this); +}; - const models = Object.keys(graph); - for (let len = models.length, i = 0; i < len; i++) { - const toModel = models[i]; - const node = graph[toModel]; +Promise.prototype._setFollowing = function () { + this._bitField = this._bitField | 67108864; + this._fireEvent("promiseResolved", this); +}; - if (node.parent === null) { - // No possible conversion, or this node is the source model. - continue; - } +Promise.prototype._setIsFinal = function () { + this._bitField = this._bitField | 4194304; +}; - conversion[toModel] = wrapConversion(toModel, graph); - } +Promise.prototype._isFinal = function () { + return (this._bitField & 4194304) > 0; +}; - return conversion; +Promise.prototype._unsetCancelled = function() { + this._bitField = this._bitField & (~65536); }; +Promise.prototype._setCancelled = function() { + this._bitField = this._bitField | 65536; + this._fireEvent("promiseCancelled", this); +}; +Promise.prototype._setWillBeCancelled = function() { + this._bitField = this._bitField | 8388608; +}; -/***/ }), -/* 988 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { +Promise.prototype._setAsyncGuaranteed = function() { + if (async.hasCustomScheduler()) return; + var bitField = this._bitField; + this._bitField = bitField | + (((bitField & 536870912) >> 2) ^ + 134217728); +}; -"use strict"; +Promise.prototype._setNoAsyncGuarantee = function() { + this._bitField = (this._bitField | 536870912) & + (~134217728); +}; -var Buffer = __webpack_require__(572).Buffer; +Promise.prototype._receiverAt = function (index) { + var ret = index === 0 ? this._receiver0 : this[ + index * 4 - 4 + 3]; + if (ret === UNDEFINED_BINDING) { + return undefined; + } else if (ret === undefined && this._isBound()) { + return this._boundValue(); + } + return ret; +}; -// Multibyte codec. In this scheme, a character is represented by 1 or more bytes. -// Our codec supports UTF-16 surrogates, extensions for GB18030 and unicode sequences. -// To save memory and loading time, we read table files only when requested. +Promise.prototype._promiseAt = function (index) { + return this[ + index * 4 - 4 + 2]; +}; -exports._dbcs = DBCSCodec; +Promise.prototype._fulfillmentHandlerAt = function (index) { + return this[ + index * 4 - 4 + 0]; +}; -var UNASSIGNED = -1, - GB18030_CODE = -2, - SEQ_START = -10, - NODE_START = -1000, - UNASSIGNED_NODE = new Array(0x100), - DEF_CHAR = -1; +Promise.prototype._rejectionHandlerAt = function (index) { + return this[ + index * 4 - 4 + 1]; +}; -for (var i = 0; i < 0x100; i++) - UNASSIGNED_NODE[i] = UNASSIGNED; +Promise.prototype._boundValue = function() {}; +Promise.prototype._migrateCallback0 = function (follower) { + var bitField = follower._bitField; + var fulfill = follower._fulfillmentHandler0; + var reject = follower._rejectionHandler0; + var promise = follower._promise0; + var receiver = follower._receiverAt(0); + if (receiver === undefined) receiver = UNDEFINED_BINDING; + this._addCallbacks(fulfill, reject, promise, receiver, null); +}; -// Class DBCSCodec reads and initializes mapping tables. -function DBCSCodec(codecOptions, iconv) { - this.encodingName = codecOptions.encodingName; - if (!codecOptions) - throw new Error("DBCS codec is called without the data.") - if (!codecOptions.table) - throw new Error("Encoding '" + this.encodingName + "' has no data."); +Promise.prototype._migrateCallbackAt = function (follower, index) { + var fulfill = follower._fulfillmentHandlerAt(index); + var reject = follower._rejectionHandlerAt(index); + var promise = follower._promiseAt(index); + var receiver = follower._receiverAt(index); + if (receiver === undefined) receiver = UNDEFINED_BINDING; + this._addCallbacks(fulfill, reject, promise, receiver, null); +}; - // Load tables. - var mappingTable = codecOptions.table(); +Promise.prototype._addCallbacks = function ( + fulfill, + reject, + promise, + receiver, + context +) { + var index = this._length(); + if (index >= 65535 - 4) { + index = 0; + this._setLength(0); + } - // Decode tables: MBCS -> Unicode. + if (index === 0) { + this._promise0 = promise; + this._receiver0 = receiver; + if (typeof fulfill === "function") { + this._fulfillmentHandler0 = util.contextBind(context, fulfill); + } + if (typeof reject === "function") { + this._rejectionHandler0 = util.contextBind(context, reject); + } + } else { + var base = index * 4 - 4; + this[base + 2] = promise; + this[base + 3] = receiver; + if (typeof fulfill === "function") { + this[base + 0] = + util.contextBind(context, fulfill); + } + if (typeof reject === "function") { + this[base + 1] = + util.contextBind(context, reject); + } + } + this._setLength(index + 1); + return index; +}; - // decodeTables is a trie, encoded as an array of arrays of integers. Internal arrays are trie nodes and all have len = 256. - // Trie root is decodeTables[0]. - // Values: >= 0 -> unicode character code. can be > 0xFFFF - // == UNASSIGNED -> unknown/unassigned sequence. - // == GB18030_CODE -> this is the end of a GB18030 4-byte sequence. - // <= NODE_START -> index of the next node in our trie to process next byte. - // <= SEQ_START -> index of the start of a character code sequence, in decodeTableSeq. - this.decodeTables = []; - this.decodeTables[0] = UNASSIGNED_NODE.slice(0); // Create root node. +Promise.prototype._proxy = function (proxyable, arg) { + this._addCallbacks(undefined, undefined, arg, proxyable, null); +}; - // Sometimes a MBCS char corresponds to a sequence of unicode chars. We store them as arrays of integers here. - this.decodeTableSeq = []; +Promise.prototype._resolveCallback = function(value, shouldBind) { + if (((this._bitField & 117506048) !== 0)) return; + if (value === this) + return this._rejectCallback(makeSelfResolutionError(), false); + var maybePromise = tryConvertToPromise(value, this); + if (!(maybePromise instanceof Promise)) return this._fulfill(value); - // Actual mapping tables consist of chunks. Use them to fill up decode tables. - for (var i = 0; i < mappingTable.length; i++) - this._addDecodeChunk(mappingTable[i]); + if (shouldBind) this._propagateFrom(maybePromise, 2); - this.defaultCharUnicode = iconv.defaultCharUnicode; - - // Encode tables: Unicode -> DBCS. + var promise = maybePromise._target(); - // `encodeTable` is array mapping from unicode char to encoded char. All its values are integers for performance. - // Because it can be sparse, it is represented as array of buckets by 256 chars each. Bucket can be null. - // Values: >= 0 -> it is a normal char. Write the value (if <=256 then 1 byte, if <=65536 then 2 bytes, etc.). - // == UNASSIGNED -> no conversion found. Output a default char. - // <= SEQ_START -> it's an index in encodeTableSeq, see below. The character starts a sequence. - this.encodeTable = []; - - // `encodeTableSeq` is used when a sequence of unicode characters is encoded as a single code. We use a tree of - // objects where keys correspond to characters in sequence and leafs are the encoded dbcs values. A special DEF_CHAR key - // means end of sequence (needed when one sequence is a strict subsequence of another). - // Objects are kept separately from encodeTable to increase performance. - this.encodeTableSeq = []; + if (promise === this) { + this._reject(makeSelfResolutionError()); + return; + } - // Some chars can be decoded, but need not be encoded. - var skipEncodeChars = {}; - if (codecOptions.encodeSkipVals) - for (var i = 0; i < codecOptions.encodeSkipVals.length; i++) { - var val = codecOptions.encodeSkipVals[i]; - if (typeof val === 'number') - skipEncodeChars[val] = true; - else - for (var j = val.from; j <= val.to; j++) - skipEncodeChars[j] = true; + var bitField = promise._bitField; + if (((bitField & 50397184) === 0)) { + var len = this._length(); + if (len > 0) promise._migrateCallback0(this); + for (var i = 1; i < len; ++i) { + promise._migrateCallbackAt(this, i); } - - // Use decode trie to recursively fill out encode tables. - this._fillEncodeTable(0, 0, skipEncodeChars); - - // Add more encoding pairs when needed. - if (codecOptions.encodeAdd) { - for (var uChar in codecOptions.encodeAdd) - if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) - this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]); + this._setFollowing(); + this._setLength(0); + this._setFollowee(maybePromise); + } else if (((bitField & 33554432) !== 0)) { + this._fulfill(promise._value()); + } else if (((bitField & 16777216) !== 0)) { + this._reject(promise._reason()); + } else { + var reason = new CancellationError("late cancellation observer"); + promise._attachExtraTrace(reason); + this._reject(reason); } +}; - this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)]; - if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]['?']; - if (this.defCharSB === UNASSIGNED) this.defCharSB = "?".charCodeAt(0); +Promise.prototype._rejectCallback = +function(reason, synchronous, ignoreNonErrorWarnings) { + var trace = util.ensureErrorObject(reason); + var hasStack = trace === reason; + if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) { + var message = "a promise was rejected with a non-error: " + + util.classString(reason); + this._warn(message, true); + } + this._attachExtraTrace(trace, synchronous ? hasStack : false); + this._reject(reason); +}; +Promise.prototype._resolveFromExecutor = function (executor) { + if (executor === INTERNAL) return; + var promise = this; + this._captureStackTrace(); + this._pushContext(); + var synchronous = true; + var r = this._execute(executor, function(value) { + promise._resolveCallback(value); + }, function (reason) { + promise._rejectCallback(reason, synchronous); + }); + synchronous = false; + this._popContext(); - // Load & create GB18030 tables when needed. - if (typeof codecOptions.gb18030 === 'function') { - this.gb18030 = codecOptions.gb18030(); // Load GB18030 ranges. + if (r !== undefined) { + promise._rejectCallback(r, true); + } +}; - // Add GB18030 decode tables. - var thirdByteNodeIdx = this.decodeTables.length; - var thirdByteNode = this.decodeTables[thirdByteNodeIdx] = UNASSIGNED_NODE.slice(0); +Promise.prototype._settlePromiseFromHandler = function ( + handler, receiver, value, promise +) { + var bitField = promise._bitField; + if (((bitField & 65536) !== 0)) return; + promise._pushContext(); + var x; + if (receiver === APPLY) { + if (!value || typeof value.length !== "number") { + x = errorObj; + x.e = new TypeError("cannot .spread() a non-array: " + + util.classString(value)); + } else { + x = tryCatch(handler).apply(this._boundValue(), value); + } + } else { + x = tryCatch(handler).call(receiver, value); + } + var promiseCreated = promise._popContext(); + bitField = promise._bitField; + if (((bitField & 65536) !== 0)) return; - var fourthByteNodeIdx = this.decodeTables.length; - var fourthByteNode = this.decodeTables[fourthByteNodeIdx] = UNASSIGNED_NODE.slice(0); + if (x === NEXT_FILTER) { + promise._reject(value); + } else if (x === errorObj) { + promise._rejectCallback(x.e, false); + } else { + debug.checkForgottenReturns(x, promiseCreated, "", promise, this); + promise._resolveCallback(x); + } +}; - for (var i = 0x81; i <= 0xFE; i++) { - var secondByteNodeIdx = NODE_START - this.decodeTables[0][i]; - var secondByteNode = this.decodeTables[secondByteNodeIdx]; - for (var j = 0x30; j <= 0x39; j++) - secondByteNode[j] = NODE_START - thirdByteNodeIdx; - } - for (var i = 0x81; i <= 0xFE; i++) - thirdByteNode[i] = NODE_START - fourthByteNodeIdx; - for (var i = 0x30; i <= 0x39; i++) - fourthByteNode[i] = GB18030_CODE - } -} +Promise.prototype._target = function() { + var ret = this; + while (ret._isFollowing()) ret = ret._followee(); + return ret; +}; -DBCSCodec.prototype.encoder = DBCSEncoder; -DBCSCodec.prototype.decoder = DBCSDecoder; +Promise.prototype._followee = function() { + return this._rejectionHandler0; +}; -// Decoder helpers -DBCSCodec.prototype._getDecodeTrieNode = function(addr) { - var bytes = []; - for (; addr > 0; addr >>= 8) - bytes.push(addr & 0xFF); - if (bytes.length == 0) - bytes.push(0); +Promise.prototype._setFollowee = function(promise) { + this._rejectionHandler0 = promise; +}; - var node = this.decodeTables[0]; - for (var i = bytes.length-1; i > 0; i--) { // Traverse nodes deeper into the trie. - var val = node[bytes[i]]; +Promise.prototype._settlePromise = function(promise, handler, receiver, value) { + var isPromise = promise instanceof Promise; + var bitField = this._bitField; + var asyncGuaranteed = ((bitField & 134217728) !== 0); + if (((bitField & 65536) !== 0)) { + if (isPromise) promise._invokeInternalOnCancel(); - if (val == UNASSIGNED) { // Create new node. - node[bytes[i]] = NODE_START - this.decodeTables.length; - this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)); + if (receiver instanceof PassThroughHandlerContext && + receiver.isFinallyHandler()) { + receiver.cancelPromise = promise; + if (tryCatch(handler).call(receiver, value) === errorObj) { + promise._reject(errorObj.e); + } + } else if (handler === reflectHandler) { + promise._fulfill(reflectHandler.call(receiver)); + } else if (receiver instanceof Proxyable) { + receiver._promiseCancelled(promise); + } else if (isPromise || promise instanceof PromiseArray) { + promise._cancel(); + } else { + receiver.cancel(); } - else if (val <= NODE_START) { // Existing node. - node = this.decodeTables[NODE_START - val]; + } else if (typeof handler === "function") { + if (!isPromise) { + handler.call(receiver, value, promise); + } else { + if (asyncGuaranteed) promise._setAsyncGuaranteed(); + this._settlePromiseFromHandler(handler, receiver, value, promise); + } + } else if (receiver instanceof Proxyable) { + if (!receiver._isResolved()) { + if (((bitField & 33554432) !== 0)) { + receiver._promiseFulfilled(value, promise); + } else { + receiver._promiseRejected(value, promise); + } + } + } else if (isPromise) { + if (asyncGuaranteed) promise._setAsyncGuaranteed(); + if (((bitField & 33554432) !== 0)) { + promise._fulfill(value); + } else { + promise._reject(value); } - else - throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16)); } - return node; -} - - -DBCSCodec.prototype._addDecodeChunk = function(chunk) { - // First element of chunk is the hex mbcs code where we start. - var curAddr = parseInt(chunk[0], 16); - - // Choose the decoding node where we'll write our chars. - var writeTable = this._getDecodeTrieNode(curAddr); - curAddr = curAddr & 0xFF; - - // Write all other elements of the chunk to the table. - for (var k = 1; k < chunk.length; k++) { - var part = chunk[k]; - if (typeof part === "string") { // String, write as-is. - for (var l = 0; l < part.length;) { - var code = part.charCodeAt(l++); - if (0xD800 <= code && code < 0xDC00) { // Decode surrogate - var codeTrail = part.charCodeAt(l++); - if (0xDC00 <= codeTrail && codeTrail < 0xE000) - writeTable[curAddr++] = 0x10000 + (code - 0xD800) * 0x400 + (codeTrail - 0xDC00); - else - throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]); - } - else if (0x0FF0 < code && code <= 0x0FFF) { // Character sequence (our own encoding used) - var len = 0xFFF - code + 2; - var seq = []; - for (var m = 0; m < len; m++) - seq.push(part.charCodeAt(l++)); // Simple variation: don't support surrogates or subsequences in seq. +}; - writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length; - this.decodeTableSeq.push(seq); - } - else - writeTable[curAddr++] = code; // Basic char - } - } - else if (typeof part === "number") { // Integer, meaning increasing sequence starting with prev character. - var charCode = writeTable[curAddr - 1] + 1; - for (var l = 0; l < part; l++) - writeTable[curAddr++] = charCode++; +Promise.prototype._settlePromiseLateCancellationObserver = function(ctx) { + var handler = ctx.handler; + var promise = ctx.promise; + var receiver = ctx.receiver; + var value = ctx.value; + if (typeof handler === "function") { + if (!(promise instanceof Promise)) { + handler.call(receiver, value, promise); + } else { + this._settlePromiseFromHandler(handler, receiver, value, promise); } - else - throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]); + } else if (promise instanceof Promise) { + promise._reject(value); } - if (curAddr > 0xFF) - throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr); -} +}; -// Encoder helpers -DBCSCodec.prototype._getEncodeBucket = function(uCode) { - var high = uCode >> 8; // This could be > 0xFF because of astral characters. - if (this.encodeTable[high] === undefined) - this.encodeTable[high] = UNASSIGNED_NODE.slice(0); // Create bucket on demand. - return this.encodeTable[high]; -} +Promise.prototype._settlePromiseCtx = function(ctx) { + this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value); +}; -DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) { - var bucket = this._getEncodeBucket(uCode); - var low = uCode & 0xFF; - if (bucket[low] <= SEQ_START) - this.encodeTableSeq[SEQ_START-bucket[low]][DEF_CHAR] = dbcsCode; // There's already a sequence, set a single-char subsequence of it. - else if (bucket[low] == UNASSIGNED) - bucket[low] = dbcsCode; -} +Promise.prototype._settlePromise0 = function(handler, value, bitField) { + var promise = this._promise0; + var receiver = this._receiverAt(0); + this._promise0 = undefined; + this._receiver0 = undefined; + this._settlePromise(promise, handler, receiver, value); +}; -DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) { - - // Get the root of character tree according to first character of the sequence. - var uCode = seq[0]; - var bucket = this._getEncodeBucket(uCode); - var low = uCode & 0xFF; +Promise.prototype._clearCallbackDataAtIndex = function(index) { + var base = index * 4 - 4; + this[base + 2] = + this[base + 3] = + this[base + 0] = + this[base + 1] = undefined; +}; - var node; - if (bucket[low] <= SEQ_START) { - // There's already a sequence with - use it. - node = this.encodeTableSeq[SEQ_START-bucket[low]]; - } - else { - // There was no sequence object - allocate a new one. - node = {}; - if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low]; // If a char was set before - make it a single-char subsequence. - bucket[low] = SEQ_START - this.encodeTableSeq.length; - this.encodeTableSeq.push(node); +Promise.prototype._fulfill = function (value) { + var bitField = this._bitField; + if (((bitField & 117506048) >>> 16)) return; + if (value === this) { + var err = makeSelfResolutionError(); + this._attachExtraTrace(err); + return this._reject(err); } + this._setFulfilled(); + this._rejectionHandler0 = value; - // Traverse the character tree, allocating new nodes as needed. - for (var j = 1; j < seq.length-1; j++) { - var oldVal = node[uCode]; - if (typeof oldVal === 'object') - node = oldVal; - else { - node = node[uCode] = {} - if (oldVal !== undefined) - node[DEF_CHAR] = oldVal + if ((bitField & 65535) > 0) { + if (((bitField & 134217728) !== 0)) { + this._settlePromises(); + } else { + async.settlePromises(this); } + this._dereferenceTrace(); } +}; - // Set the leaf to given dbcsCode. - uCode = seq[seq.length-1]; - node[uCode] = dbcsCode; -} +Promise.prototype._reject = function (reason) { + var bitField = this._bitField; + if (((bitField & 117506048) >>> 16)) return; + this._setRejected(); + this._fulfillmentHandler0 = reason; -DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) { - var node = this.decodeTables[nodeIdx]; - for (var i = 0; i < 0x100; i++) { - var uCode = node[i]; - var mbCode = prefix + i; - if (skipEncodeChars[mbCode]) - continue; + if (this._isFinal()) { + return async.fatalError(reason, util.isNode); + } - if (uCode >= 0) - this._setEncodeChar(uCode, mbCode); - else if (uCode <= NODE_START) - this._fillEncodeTable(NODE_START - uCode, mbCode << 8, skipEncodeChars); - else if (uCode <= SEQ_START) - this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode); + if ((bitField & 65535) > 0) { + async.settlePromises(this); + } else { + this._ensurePossibleRejectionHandled(); } -} +}; +Promise.prototype._fulfillPromises = function (len, value) { + for (var i = 1; i < len; i++) { + var handler = this._fulfillmentHandlerAt(i); + var promise = this._promiseAt(i); + var receiver = this._receiverAt(i); + this._clearCallbackDataAtIndex(i); + this._settlePromise(promise, handler, receiver, value); + } +}; +Promise.prototype._rejectPromises = function (len, reason) { + for (var i = 1; i < len; i++) { + var handler = this._rejectionHandlerAt(i); + var promise = this._promiseAt(i); + var receiver = this._receiverAt(i); + this._clearCallbackDataAtIndex(i); + this._settlePromise(promise, handler, receiver, reason); + } +}; -// == Encoder ================================================================== +Promise.prototype._settlePromises = function () { + var bitField = this._bitField; + var len = (bitField & 65535); -function DBCSEncoder(options, codec) { - // Encoder state - this.leadSurrogate = -1; - this.seqObj = undefined; - - // Static data - this.encodeTable = codec.encodeTable; - this.encodeTableSeq = codec.encodeTableSeq; - this.defaultCharSingleByte = codec.defCharSB; - this.gb18030 = codec.gb18030; -} + if (len > 0) { + if (((bitField & 16842752) !== 0)) { + var reason = this._fulfillmentHandler0; + this._settlePromise0(this._rejectionHandler0, reason, bitField); + this._rejectPromises(len, reason); + } else { + var value = this._rejectionHandler0; + this._settlePromise0(this._fulfillmentHandler0, value, bitField); + this._fulfillPromises(len, value); + } + this._setLength(0); + } + this._clearCancellationData(); +}; -DBCSEncoder.prototype.write = function(str) { - var newBuf = Buffer.alloc(str.length * (this.gb18030 ? 4 : 3)), - leadSurrogate = this.leadSurrogate, - seqObj = this.seqObj, nextChar = -1, - i = 0, j = 0; +Promise.prototype._settledValue = function() { + var bitField = this._bitField; + if (((bitField & 33554432) !== 0)) { + return this._rejectionHandler0; + } else if (((bitField & 16777216) !== 0)) { + return this._fulfillmentHandler0; + } +}; - while (true) { - // 0. Get next character. - if (nextChar === -1) { - if (i == str.length) break; - var uCode = str.charCodeAt(i++); - } - else { - var uCode = nextChar; - nextChar = -1; +if (typeof Symbol !== "undefined" && Symbol.toStringTag) { + es5.defineProperty(Promise.prototype, Symbol.toStringTag, { + get: function () { + return "Object"; } + }); +} - // 1. Handle surrogates. - if (0xD800 <= uCode && uCode < 0xE000) { // Char is one of surrogates. - if (uCode < 0xDC00) { // We've got lead surrogate. - if (leadSurrogate === -1) { - leadSurrogate = uCode; - continue; - } else { - leadSurrogate = uCode; - // Double lead surrogate found. - uCode = UNASSIGNED; - } - } else { // We've got trail surrogate. - if (leadSurrogate !== -1) { - uCode = 0x10000 + (leadSurrogate - 0xD800) * 0x400 + (uCode - 0xDC00); - leadSurrogate = -1; - } else { - // Incomplete surrogate pair - only trail surrogate found. - uCode = UNASSIGNED; - } - - } - } - else if (leadSurrogate !== -1) { - // Incomplete surrogate pair - only lead surrogate found. - nextChar = uCode; uCode = UNASSIGNED; // Write an error, then current char. - leadSurrogate = -1; - } +function deferResolve(v) {this.promise._resolveCallback(v);} +function deferReject(v) {this.promise._rejectCallback(v, false);} - // 2. Convert uCode character. - var dbcsCode = UNASSIGNED; - if (seqObj !== undefined && uCode != UNASSIGNED) { // We are in the middle of the sequence - var resCode = seqObj[uCode]; - if (typeof resCode === 'object') { // Sequence continues. - seqObj = resCode; - continue; +Promise.defer = Promise.pending = function() { + debug.deprecated("Promise.defer", "new Promise"); + var promise = new Promise(INTERNAL); + return { + promise: promise, + resolve: deferResolve, + reject: deferReject + }; +}; - } else if (typeof resCode == 'number') { // Sequence finished. Write it. - dbcsCode = resCode; +util.notEnumerableProp(Promise, + "_makeSelfResolutionError", + makeSelfResolutionError); + +__webpack_require__(584)(Promise, INTERNAL, tryConvertToPromise, apiRejection, + debug); +__webpack_require__(947)(Promise, INTERNAL, tryConvertToPromise, debug); +__webpack_require__(100)(Promise, PromiseArray, apiRejection, debug); +__webpack_require__(315)(Promise); +__webpack_require__(187)(Promise); +__webpack_require__(705)( + Promise, PromiseArray, tryConvertToPromise, INTERNAL, async); +Promise.Promise = Promise; +Promise.version = "3.7.2"; +__webpack_require__(361)(Promise); +__webpack_require__(569)(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug); +__webpack_require__(220)(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); +__webpack_require__(529)(Promise); +__webpack_require__(948)(Promise, INTERNAL); +__webpack_require__(849)(Promise, PromiseArray, tryConvertToPromise, apiRejection); +__webpack_require__(143)(Promise, INTERNAL, tryConvertToPromise, apiRejection); +__webpack_require__(363)(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); +__webpack_require__(724)(Promise, PromiseArray, debug); +__webpack_require__(323)(Promise, PromiseArray, apiRejection); +__webpack_require__(409)(Promise, INTERNAL, debug); +__webpack_require__(846)(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug); +__webpack_require__(658)(Promise); +__webpack_require__(555)(Promise, INTERNAL); +__webpack_require__(519)(Promise, INTERNAL); + + util.toFastProperties(Promise); + util.toFastProperties(Promise.prototype); + function fillTypes(value) { + var p = new Promise(INTERNAL); + p._fulfillmentHandler0 = value; + p._rejectionHandler0 = value; + p._promise0 = value; + p._receiver0 = value; + } + // Complete slack tracking, opt out of field-type tracking and + // stabilize map + fillTypes({a: 1}); + fillTypes({b: 2}); + fillTypes({c: 3}); + fillTypes(1); + fillTypes(function(){}); + fillTypes(undefined); + fillTypes(false); + fillTypes(new Promise(INTERNAL)); + debug.setBounds(Async.firstLineError, util.lastLineError); + return Promise; - } else if (resCode == undefined) { // Current character is not part of the sequence. +}; - // Try default character for this sequence - resCode = seqObj[DEF_CHAR]; - if (resCode !== undefined) { - dbcsCode = resCode; // Found. Write it. - nextChar = uCode; // Current character will be written too in the next iteration. - } else { - // TODO: What if we have no default? (resCode == undefined) - // Then, we should write first char of the sequence as-is and try the rest recursively. - // Didn't do it for now because no encoding has this situation yet. - // Currently, just skip the sequence and write current char. - } - } - seqObj = undefined; - } - else if (uCode >= 0) { // Regular character - var subtable = this.encodeTable[uCode >> 8]; - if (subtable !== undefined) - dbcsCode = subtable[uCode & 0xFF]; - - if (dbcsCode <= SEQ_START) { // Sequence start - seqObj = this.encodeTableSeq[SEQ_START-dbcsCode]; - continue; - } +/***/ }), +/* 984 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - if (dbcsCode == UNASSIGNED && this.gb18030) { - // Use GB18030 algorithm to find character(s) to write. - var idx = findIdx(this.gb18030.uChars, uCode); - if (idx != -1) { - var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]); - newBuf[j++] = 0x81 + Math.floor(dbcsCode / 12600); dbcsCode = dbcsCode % 12600; - newBuf[j++] = 0x30 + Math.floor(dbcsCode / 1260); dbcsCode = dbcsCode % 1260; - newBuf[j++] = 0x81 + Math.floor(dbcsCode / 10); dbcsCode = dbcsCode % 10; - newBuf[j++] = 0x30 + dbcsCode; - continue; - } - } - } +var _arity = /*#__PURE__*/__webpack_require__(451); - // 3. Write dbcsCode character. - if (dbcsCode === UNASSIGNED) - dbcsCode = this.defaultCharSingleByte; - - if (dbcsCode < 0x100) { - newBuf[j++] = dbcsCode; - } - else if (dbcsCode < 0x10000) { - newBuf[j++] = dbcsCode >> 8; // high byte - newBuf[j++] = dbcsCode & 0xFF; // low byte - } - else { - newBuf[j++] = dbcsCode >> 16; - newBuf[j++] = (dbcsCode >> 8) & 0xFF; - newBuf[j++] = dbcsCode & 0xFF; - } - } +var _pipeP = /*#__PURE__*/__webpack_require__(985); - this.seqObj = seqObj; - this.leadSurrogate = leadSurrogate; - return newBuf.slice(0, j); -} +var reduce = /*#__PURE__*/__webpack_require__(46); -DBCSEncoder.prototype.end = function() { - if (this.leadSurrogate === -1 && this.seqObj === undefined) - return; // All clean. Most often case. +var tail = /*#__PURE__*/__webpack_require__(193); - var newBuf = Buffer.alloc(10), j = 0; +/** + * Performs left-to-right composition of one or more Promise-returning + * functions. The leftmost function may have any arity; the remaining functions + * must be unary. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category Function + * @sig ((a -> Promise b), (b -> Promise c), ..., (y -> Promise z)) -> (a -> Promise z) + * @param {...Function} functions + * @return {Function} + * @see R.composeP + * @deprecated since v0.26.0 + * @example + * + * // followersForUser :: String -> Promise [User] + * const followersForUser = R.pipeP(db.getUserById, db.getFollowers); + */ - if (this.seqObj) { // We're in the sequence. - var dbcsCode = this.seqObj[DEF_CHAR]; - if (dbcsCode !== undefined) { // Write beginning of the sequence. - if (dbcsCode < 0x100) { - newBuf[j++] = dbcsCode; - } - else { - newBuf[j++] = dbcsCode >> 8; // high byte - newBuf[j++] = dbcsCode & 0xFF; // low byte - } - } else { - // See todo above. - } - this.seqObj = undefined; - } - if (this.leadSurrogate !== -1) { - // Incomplete surrogate pair - only lead surrogate found. - newBuf[j++] = this.defaultCharSingleByte; - this.leadSurrogate = -1; - } - - return newBuf.slice(0, j); +function pipeP() { + if (arguments.length === 0) { + throw new Error('pipeP requires at least one argument'); + } + return _arity(arguments[0].length, reduce(_pipeP, arguments[0], tail(arguments))); } +module.exports = pipeP; -// Export for testing -DBCSEncoder.prototype.findIdx = findIdx; - +/***/ }), +/* 985 */ +/***/ (function(module) { -// == Decoder ================================================================== +function _pipeP(f, g) { + return function () { + var ctx = this; + return f.apply(ctx, arguments).then(function (x) { + return g.call(ctx, x); + }); + }; +} +module.exports = _pipeP; -function DBCSDecoder(options, codec) { - // Decoder state - this.nodeIdx = 0; - this.prevBuf = Buffer.alloc(0); +/***/ }), +/* 986 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - // Static data - this.decodeTables = codec.decodeTables; - this.decodeTableSeq = codec.decodeTableSeq; - this.defaultCharUnicode = codec.defaultCharUnicode; - this.gb18030 = codec.gb18030; -} +var _curry3 = /*#__PURE__*/__webpack_require__(687); -DBCSDecoder.prototype.write = function(buf) { - var newBuf = Buffer.alloc(buf.length*2), - nodeIdx = this.nodeIdx, - prevBuf = this.prevBuf, prevBufOffset = this.prevBuf.length, - seqStart = -this.prevBuf.length, // idx of the start of current parsed sequence. - uCode; +/** + * Tests the final argument by passing it to the given predicate function. If + * the predicate is not satisfied, the function will return the result of + * calling the `whenFalseFn` function with the same argument. If the predicate + * is satisfied, the argument is returned as is. + * + * @func + * @memberOf R + * @since v0.18.0 + * @category Logic + * @sig (a -> Boolean) -> (a -> a) -> a -> a + * @param {Function} pred A predicate function + * @param {Function} whenFalseFn A function to invoke when the `pred` evaluates + * to a falsy value. + * @param {*} x An object to test with the `pred` function and + * pass to `whenFalseFn` if necessary. + * @return {*} Either `x` or the result of applying `x` to `whenFalseFn`. + * @see R.ifElse, R.when, R.cond + * @example + * + * let safeInc = R.unless(R.isNil, R.inc); + * safeInc(null); //=> null + * safeInc(1); //=> 2 + */ - if (prevBufOffset > 0) // Make prev buf overlap a little to make it easier to slice later. - prevBuf = Buffer.concat([prevBuf, buf.slice(0, 10)]); - - for (var i = 0, j = 0; i < buf.length; i++) { - var curByte = (i >= 0) ? buf[i] : prevBuf[i + prevBufOffset]; - // Lookup in current trie node. - var uCode = this.decodeTables[nodeIdx][curByte]; +var unless = /*#__PURE__*/_curry3(function unless(pred, whenFalseFn, x) { + return pred(x) ? x : whenFalseFn(x); +}); +module.exports = unless; - if (uCode >= 0) { - // Normal character, just use it. - } - else if (uCode === UNASSIGNED) { // Unknown char. - // TODO: Callback with seq. - //var curSeq = (seqStart >= 0) ? buf.slice(seqStart, i+1) : prevBuf.slice(seqStart + prevBufOffset, i+1 + prevBufOffset); - i = seqStart; // Try to parse again, after skipping first byte of the sequence ('i' will be incremented by 'for' cycle). - uCode = this.defaultCharUnicode.charCodeAt(0); - } - else if (uCode === GB18030_CODE) { - var curSeq = (seqStart >= 0) ? buf.slice(seqStart, i+1) : prevBuf.slice(seqStart + prevBufOffset, i+1 + prevBufOffset); - var ptr = (curSeq[0]-0x81)*12600 + (curSeq[1]-0x30)*1260 + (curSeq[2]-0x81)*10 + (curSeq[3]-0x30); - var idx = findIdx(this.gb18030.gbChars, ptr); - uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx]; - } - else if (uCode <= NODE_START) { // Go to next trie node. - nodeIdx = NODE_START - uCode; - continue; - } - else if (uCode <= SEQ_START) { // Output a sequence of chars. - var seq = this.decodeTableSeq[SEQ_START - uCode]; - for (var k = 0; k < seq.length - 1; k++) { - uCode = seq[k]; - newBuf[j++] = uCode & 0xFF; - newBuf[j++] = uCode >> 8; - } - uCode = seq[seq.length-1]; - } - else - throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte); +/***/ }), +/* 987 */, +/* 988 */ +/***/ (function(module, __unusedexports, __webpack_require__) { - // Write the character to buffer, handling higher planes using surrogate pair. - if (uCode > 0xFFFF) { - uCode -= 0x10000; - var uCodeLead = 0xD800 + Math.floor(uCode / 0x400); - newBuf[j++] = uCodeLead & 0xFF; - newBuf[j++] = uCodeLead >> 8; +var parse = __webpack_require__(751) +var startOfISOWeek = __webpack_require__(901) +var startOfISOYear = __webpack_require__(712) - uCode = 0xDC00 + uCode % 0x400; - } - newBuf[j++] = uCode & 0xFF; - newBuf[j++] = uCode >> 8; +var MILLISECONDS_IN_WEEK = 604800000 - // Reset trie node. - nodeIdx = 0; seqStart = i+1; - } +/** + * @category ISO Week Helpers + * @summary Get the ISO week of the given date. + * + * @description + * Get the ISO week of the given date. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param {Date|String|Number} date - the given date + * @returns {Number} the ISO week + * + * @example + * // Which week of the ISO-week numbering year is 2 January 2005? + * var result = getISOWeek(new Date(2005, 0, 2)) + * //=> 53 + */ +function getISOWeek (dirtyDate) { + var date = parse(dirtyDate) + var diff = startOfISOWeek(date).getTime() - startOfISOYear(date).getTime() - this.nodeIdx = nodeIdx; - this.prevBuf = (seqStart >= 0) ? buf.slice(seqStart) : prevBuf.slice(seqStart + prevBufOffset); - return newBuf.slice(0, j).toString('ucs2'); + // Round the number of days to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + return Math.round(diff / MILLISECONDS_IN_WEEK) + 1 } -DBCSDecoder.prototype.end = function() { - var ret = ''; +module.exports = getISOWeek - // Try to parse all remaining chars. - while (this.prevBuf.length > 0) { - // Skip 1 character in the buffer. - ret += this.defaultCharUnicode; - var buf = this.prevBuf.slice(1); - // Parse remaining as usual. - this.prevBuf = Buffer.alloc(0); - this.nodeIdx = 0; - if (buf.length > 0) - ret += this.write(buf); - } +/***/ }), +/* 989 */ +/***/ (function(module) { - this.nodeIdx = 0; - return ret; -} +"use strict"; -// Binary search for GB18030. Returns largest i such that table[i] <= val. -function findIdx(table, val) { - if (table[0] > val) - return -1; - var l = 0, r = table.length; - while (l < r-1) { // always table[l] <= val < table[r] - var mid = l + Math.floor((r-l+1)/2); - if (table[mid] <= val) - l = mid; - else - r = mid; - } - return l; +// Generated data for sbcs codec. Don't edit manually. Regenerate using generation/gen-sbcs.js script. +module.exports = { + "437": "cp437", + "737": "cp737", + "775": "cp775", + "850": "cp850", + "852": "cp852", + "855": "cp855", + "856": "cp856", + "857": "cp857", + "858": "cp858", + "860": "cp860", + "861": "cp861", + "862": "cp862", + "863": "cp863", + "864": "cp864", + "865": "cp865", + "866": "cp866", + "869": "cp869", + "874": "windows874", + "922": "cp922", + "1046": "cp1046", + "1124": "cp1124", + "1125": "cp1125", + "1129": "cp1129", + "1133": "cp1133", + "1161": "cp1161", + "1162": "cp1162", + "1163": "cp1163", + "1250": "windows1250", + "1251": "windows1251", + "1252": "windows1252", + "1253": "windows1253", + "1254": "windows1254", + "1255": "windows1255", + "1256": "windows1256", + "1257": "windows1257", + "1258": "windows1258", + "28591": "iso88591", + "28592": "iso88592", + "28593": "iso88593", + "28594": "iso88594", + "28595": "iso88595", + "28596": "iso88596", + "28597": "iso88597", + "28598": "iso88598", + "28599": "iso88599", + "28600": "iso885910", + "28601": "iso885911", + "28603": "iso885913", + "28604": "iso885914", + "28605": "iso885915", + "28606": "iso885916", + "windows874": { + "type": "_sbcs", + "chars": "€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" + }, + "win874": "windows874", + "cp874": "windows874", + "windows1250": { + "type": "_sbcs", + "chars": "€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙" + }, + "win1250": "windows1250", + "cp1250": "windows1250", + "windows1251": { + "type": "_sbcs", + "chars": "ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя" + }, + "win1251": "windows1251", + "cp1251": "windows1251", + "windows1252": { + "type": "_sbcs", + "chars": "€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" + }, + "win1252": "windows1252", + "cp1252": "windows1252", + "windows1253": { + "type": "_sbcs", + "chars": "€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�" + }, + "win1253": "windows1253", + "cp1253": "windows1253", + "windows1254": { + "type": "_sbcs", + "chars": "€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ" + }, + "win1254": "windows1254", + "cp1254": "windows1254", + "windows1255": { + "type": "_sbcs", + "chars": "€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�" + }, + "win1255": "windows1255", + "cp1255": "windows1255", + "windows1256": { + "type": "_sbcs", + "chars": "€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے" + }, + "win1256": "windows1256", + "cp1256": "windows1256", + "windows1257": { + "type": "_sbcs", + "chars": "€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙" + }, + "win1257": "windows1257", + "cp1257": "windows1257", + "windows1258": { + "type": "_sbcs", + "chars": "€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ" + }, + "win1258": "windows1258", + "cp1258": "windows1258", + "iso88591": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" + }, + "cp28591": "iso88591", + "iso88592": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙" + }, + "cp28592": "iso88592", + "iso88593": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ħ˘£¤�Ĥ§¨İŞĞĴ­�Ż°ħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙" + }, + "cp28593": "iso88593", + "iso88594": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĸŖ¤ĨĻ§¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩļˇ¸šēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖ×ØŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙" + }, + "cp28594": "iso88594", + "iso88595": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ" + }, + "cp28595": "iso88595", + "iso88596": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ�������������" + }, + "cp28596": "iso88596", + "iso88597": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�" + }, + "cp28597": "iso88597", + "iso88598": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�" + }, + "cp28598": "iso88598", + "iso88599": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ" + }, + "cp28599": "iso88599", + "iso885910": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĒĢĪĨĶ§ĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ" + }, + "cp28600": "iso885910", + "iso885911": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" + }, + "cp28601": "iso885911", + "iso885913": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’" + }, + "cp28603": "iso885913", + "iso885914": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ" + }, + "cp28604": "iso885914", + "iso885915": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" + }, + "cp28605": "iso885915", + "iso885916": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ" + }, + "cp28606": "iso885916", + "cp437": { + "type": "_sbcs", + "chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + "ibm437": "cp437", + "csibm437": "cp437", + "cp737": { + "type": "_sbcs", + "chars": "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ " + }, + "ibm737": "cp737", + "csibm737": "cp737", + "cp775": { + "type": "_sbcs", + "chars": "ĆüéāäģåćłēŖŗīŹÄÅÉæÆōöĢ¢ŚśÖÜø£ØפĀĪóŻżź”¦©®¬½¼Ł«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀ÓßŌŃõÕµńĶķĻļņĒŅ’­±“¾¶§÷„°∙·¹³²■ " + }, + "ibm775": "cp775", + "csibm775": "cp775", + "cp850": { + "type": "_sbcs", + "chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ " + }, + "ibm850": "cp850", + "csibm850": "cp850", + "cp852": { + "type": "_sbcs", + "chars": "ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ " + }, + "ibm852": "cp852", + "csibm852": "cp852", + "cp855": { + "type": "_sbcs", + "chars": "ђЂѓЃёЁєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџЏюЮъЪаАбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗╝йЙ┐└┴┬├─┼кК╚╔╩╦╠═╬¤лЛмМнНоОп┘┌█▄Пя▀ЯрРсСтТуУжЖвВьЬ№­ыЫзЗшШэЭщЩчЧ§■ " + }, + "ibm855": "cp855", + "csibm855": "cp855", + "cp856": { + "type": "_sbcs", + "chars": "אבגדהוזחטיךכלםמןנסעףפץצקרשת�£�×����������®¬½¼�«»░▒▓│┤���©╣║╗╝¢¥┐└┴┬├─┼��╚╔╩╦╠═╬¤���������┘┌█▄¦�▀������µ�������¯´­±‗¾¶§÷¸°¨·¹³²■ " + }, + "ibm856": "cp856", + "csibm856": "cp856", + "cp857": { + "type": "_sbcs", + "chars": "ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ " + }, + "ibm857": "cp857", + "csibm857": "cp857", + "cp858": { + "type": "_sbcs", + "chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ " + }, + "ibm858": "cp858", + "csibm858": "cp858", + "cp860": { + "type": "_sbcs", + "chars": "ÇüéâãàÁçêÊèÍÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáíóúñѪº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + "ibm860": "cp860", + "csibm860": "cp860", + "cp861": { + "type": "_sbcs", + "chars": "ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + "ibm861": "cp861", + "csibm861": "cp861", + "cp862": { + "type": "_sbcs", + "chars": "אבגדהוזחטיךכלםמןנסעףפץצקרשת¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + "ibm862": "cp862", + "csibm862": "cp862", + "cp863": { + "type": "_sbcs", + "chars": "ÇüéâÂà¶çêëèïî‗À§ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯Î⌐¬½¼¾«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + "ibm863": "cp863", + "csibm863": "cp863", + "cp864": { + "type": "_sbcs", + "chars": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$٪&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ­ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�" + }, + "ibm864": "cp864", + "csibm864": "cp864", + "cp865": { + "type": "_sbcs", + "chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + "ibm865": "cp865", + "csibm865": "cp865", + "cp866": { + "type": "_sbcs", + "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ " + }, + "ibm866": "cp866", + "csibm866": "cp866", + "cp869": { + "type": "_sbcs", + "chars": "������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■ " + }, + "ibm869": "cp869", + "csibm869": "cp869", + "cp922": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖ×ØÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ" + }, + "ibm922": "cp922", + "csibm922": "cp922", + "cp1046": { + "type": "_sbcs", + "chars": "ﺈ×÷ﹱˆ■│─┐┌└┘ﹹﹻﹽﹿﹷﺊﻰﻳﻲﻎﻏﻐﻶﻸﻺﻼ ¤ﺋﺑﺗﺛﺟﺣ،­ﺧﺳ٠١٢٣٤٥٦٧٨٩ﺷ؛ﺻﺿﻊ؟ﻋءآأؤإئابةتثجحخدذرزسشصضطﻇعغﻌﺂﺄﺎﻓـفقكلمنهوىيًٌٍَُِّْﻗﻛﻟﻵﻷﻹﻻﻣﻧﻬﻩ�" + }, + "ibm1046": "cp1046", + "csibm1046": "cp1046", + "cp1124": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂҐЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђґєѕіїјљњћќ§ўџ" + }, + "ibm1124": "cp1124", + "csibm1124": "cp1124", + "cp1125": { + "type": "_sbcs", + "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ " + }, + "ibm1125": "cp1125", + "csibm1125": "cp1125", + "cp1129": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ" + }, + "ibm1129": "cp1129", + "csibm1129": "cp1129", + "cp1133": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ກຂຄງຈສຊຍດຕຖທນບປຜຝພຟມຢຣລວຫອຮ���ຯະາຳິີຶືຸູຼັົຽ���ເແໂໃໄ່້໊໋໌ໍໆ�ໜໝ₭����������������໐໑໒໓໔໕໖໗໘໙��¢¬¦�" + }, + "ibm1133": "cp1133", + "csibm1133": "cp1133", + "cp1161": { + "type": "_sbcs", + "chars": "��������������������������������่กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู้๊๋€฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛¢¬¦ " + }, + "ibm1161": "cp1161", + "csibm1161": "cp1161", + "cp1162": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" + }, + "ibm1162": "cp1162", + "csibm1162": "cp1162", + "cp1163": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ" + }, + "ibm1163": "cp1163", + "csibm1163": "cp1163", + "maccroatian": { + "type": "_sbcs", + "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊�©⁄¤‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ" + }, + "maccyrillic": { + "type": "_sbcs", + "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤" + }, + "macgreek": { + "type": "_sbcs", + "chars": "Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�" + }, + "maciceland": { + "type": "_sbcs", + "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" + }, + "macroman": { + "type": "_sbcs", + "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" + }, + "macromania": { + "type": "_sbcs", + "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" + }, + "macthai": { + "type": "_sbcs", + "chars": "«»…“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����" + }, + "macturkish": { + "type": "_sbcs", + "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ" + }, + "macukraine": { + "type": "_sbcs", + "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤" + }, + "koi8r": { + "type": "_sbcs", + "chars": "─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ" + }, + "koi8u": { + "type": "_sbcs", + "chars": "─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ" + }, + "koi8ru": { + "type": "_sbcs", + "chars": "─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ" + }, + "koi8t": { + "type": "_sbcs", + "chars": "қғ‚Ғ„…†‡�‰ҳ‹ҲҷҶ�Қ‘’“”•–—�™�›�����ӯӮё¤ӣ¦§���«¬­®�°±²Ё�Ӣ¶·�№�»���©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ" + }, + "armscii8": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �և։)(»«—.՝,-֊…՜՛՞ԱաԲբԳգԴդԵեԶզԷէԸըԹթԺժԻիԼլԽխԾծԿկՀհՁձՂղՃճՄմՅյՆնՇշՈոՉչՊպՋջՌռՍսՎվՏտՐրՑցՒւՓփՔքՕօՖֆ՚�" + }, + "rk1048": { + "type": "_sbcs", + "chars": "ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬­®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя" + }, + "tcvn": { + "type": "_sbcs", + "chars": "\u0000ÚỤ\u0003ỪỬỮ\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010ỨỰỲỶỸÝỴ\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ" + }, + "georgianacademy": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ" + }, + "georgianps": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" + }, + "pt154": { + "type": "_sbcs", + "chars": "ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя" + }, + "viscii": { + "type": "_sbcs", + "chars": "\u0000\u0001Ẳ\u0003\u0004ẴẪ\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013Ỷ\u0015\u0016\u0017\u0018Ỹ\u001a\u001b\u001c\u001dỴ\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ" + }, + "iso646cn": { + "type": "_sbcs", + "chars": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������" + }, + "iso646jp": { + "type": "_sbcs", + "chars": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������" + }, + "hproman8": { + "type": "_sbcs", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�" + }, + "macintosh": { + "type": "_sbcs", + "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" + }, + "ascii": { + "type": "_sbcs", + "chars": "��������������������������������������������������������������������������������������������������������������������������������" + }, + "tis620": { + "type": "_sbcs", + "chars": "���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" + } } - - -/***/ }), -/* 989 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry3 = /*#__PURE__*/__webpack_require__(78); - -/** - * Makes an ascending comparator function out of a function that returns a value - * that can be compared with `<` and `>`. - * - * @func - * @memberOf R - * @since v0.23.0 - * @category Function - * @sig Ord b => (a -> b) -> a -> a -> Number - * @param {Function} fn A function of arity one that returns a value that can be compared - * @param {*} a The first item to be compared. - * @param {*} b The second item to be compared. - * @return {Number} `-1` if fn(a) < fn(b), `1` if fn(b) < fn(a), otherwise `0` - * @see R.descend - * @example - * - * const byAge = R.ascend(R.prop('age')); - * const people = [ - * { name: 'Emma', age: 70 }, - * { name: 'Peter', age: 78 }, - * { name: 'Mikhail', age: 62 }, - * ]; - * const peopleByYoungestFirst = R.sort(byAge, people); - * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }] - */ - - -var ascend = /*#__PURE__*/_curry3(function ascend(fn, a, b) { - var aa = fn(a); - var bb = fn(b); - return aa < bb ? -1 : aa > bb ? 1 : 0; -}); -module.exports = ascend; - /***/ }), /* 990 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -43248,7 +45347,7 @@ module.exports = and; Object.defineProperty(exports, '__esModule', { value: true }); -const VERSION = "2.1.0"; +const VERSION = "6.0.0"; /** * Some “list” response that can be paginated have a different response structure @@ -43267,10 +45366,17 @@ const VERSION = "2.1.0"; * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref */ function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return { + ...response, + data: [] + }; + } const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); - if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way + if (!responseNeedsNormalization) return response; + // keep the additional properties intact as there is currently no other way // to retrieve the same information. - const incompleteResults = response.data.incomplete_results; const repositorySelection = response.data.repository_selection; const totalCount = response.data.total_count; @@ -43280,15 +45386,12 @@ function normalizePaginatedListResponse(response) { const namespaceKey = Object.keys(response.data)[0]; const data = response.data[namespaceKey]; response.data = data; - if (typeof incompleteResults !== "undefined") { response.data.incomplete_results = incompleteResults; } - if (typeof repositorySelection !== "undefined") { response.data.repository_selection = repositorySelection; } - response.data.total_count = totalCount; return response; } @@ -43301,28 +45404,36 @@ function iterator(octokit, route, parameters) { let url = options.url; return { [Symbol.asyncIterator]: () => ({ - next() { - if (!url) { - return Promise.resolve({ - done: true + async next() { + if (!url) return { + done: true + }; + try { + const response = await requestMethod({ + method, + url, + headers }); - } - - return requestMethod({ - method, - url, - headers - }).then(normalizePaginatedListResponse).then(response => { + const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format: // '; rel="next", ; rel="last"' // sets `url` to undefined if "next" URL is not present or `link` header is not set - url = ((response.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; return { - value: response + value: normalizedResponse }; - }); + } catch (error) { + if (error.status !== 409) throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } } - }) }; } @@ -43332,37 +45443,43 @@ function paginate(octokit, route, parameters, mapFn) { mapFn = parameters; parameters = undefined; } - return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); } - function gather(octokit, results, iterator, mapFn) { return iterator.next().then(result => { if (result.done) { return results; } - let earlyExit = false; - function done() { earlyExit = true; } - results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); - if (earlyExit) { return results; } - return gather(octokit, results, iterator, mapFn); }); } +const composePaginateRest = Object.assign(paginate, { + iterator +}); + +const paginatingEndpoints = ["GET /app/hook/deliveries", "GET /app/installations", "GET /enterprises/{enterprise}/actions/runner-groups", "GET /enterprises/{enterprise}/dependabot/alerts", "GET /enterprises/{enterprise}/secret-scanning/alerts", "GET /events", "GET /gists", "GET /gists/public", "GET /gists/starred", "GET /gists/{gist_id}/comments", "GET /gists/{gist_id}/commits", "GET /gists/{gist_id}/forks", "GET /installation/repositories", "GET /issues", "GET /licenses", "GET /marketplace_listing/plans", "GET /marketplace_listing/plans/{plan_id}/accounts", "GET /marketplace_listing/stubbed/plans", "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", "GET /networks/{owner}/{repo}/events", "GET /notifications", "GET /organizations", "GET /orgs/{org}/actions/cache/usage-by-repository", "GET /orgs/{org}/actions/permissions/repositories", "GET /orgs/{org}/actions/required_workflows", "GET /orgs/{org}/actions/runner-groups", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "GET /orgs/{org}/actions/runners", "GET /orgs/{org}/actions/secrets", "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", "GET /orgs/{org}/actions/variables", "GET /orgs/{org}/actions/variables/{name}/repositories", "GET /orgs/{org}/blocks", "GET /orgs/{org}/code-scanning/alerts", "GET /orgs/{org}/codespaces", "GET /orgs/{org}/codespaces/secrets", "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", "GET /orgs/{org}/dependabot/alerts", "GET /orgs/{org}/dependabot/secrets", "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", "GET /orgs/{org}/events", "GET /orgs/{org}/failed_invitations", "GET /orgs/{org}/hooks", "GET /orgs/{org}/hooks/{hook_id}/deliveries", "GET /orgs/{org}/installations", "GET /orgs/{org}/invitations", "GET /orgs/{org}/invitations/{invitation_id}/teams", "GET /orgs/{org}/issues", "GET /orgs/{org}/members", "GET /orgs/{org}/members/{username}/codespaces", "GET /orgs/{org}/migrations", "GET /orgs/{org}/migrations/{migration_id}/repositories", "GET /orgs/{org}/outside_collaborators", "GET /orgs/{org}/packages", "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", "GET /orgs/{org}/projects", "GET /orgs/{org}/public_members", "GET /orgs/{org}/repos", "GET /orgs/{org}/secret-scanning/alerts", "GET /orgs/{org}/teams", "GET /orgs/{org}/teams/{team_slug}/discussions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/invitations", "GET /orgs/{org}/teams/{team_slug}/members", "GET /orgs/{org}/teams/{team_slug}/projects", "GET /orgs/{org}/teams/{team_slug}/repos", "GET /orgs/{org}/teams/{team_slug}/teams", "GET /projects/columns/{column_id}/cards", "GET /projects/{project_id}/collaborators", "GET /projects/{project_id}/columns", "GET /repos/{org}/{repo}/actions/required_workflows", "GET /repos/{owner}/{repo}/actions/artifacts", "GET /repos/{owner}/{repo}/actions/caches", "GET /repos/{owner}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}/runs", "GET /repos/{owner}/{repo}/actions/runners", "GET /repos/{owner}/{repo}/actions/runs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "GET /repos/{owner}/{repo}/actions/secrets", "GET /repos/{owner}/{repo}/actions/variables", "GET /repos/{owner}/{repo}/actions/workflows", "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "GET /repos/{owner}/{repo}/assignees", "GET /repos/{owner}/{repo}/branches", "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "GET /repos/{owner}/{repo}/code-scanning/alerts", "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "GET /repos/{owner}/{repo}/code-scanning/analyses", "GET /repos/{owner}/{repo}/codespaces", "GET /repos/{owner}/{repo}/codespaces/devcontainers", "GET /repos/{owner}/{repo}/codespaces/secrets", "GET /repos/{owner}/{repo}/collaborators", "GET /repos/{owner}/{repo}/comments", "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/commits", "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/status", "GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/dependabot/alerts", "GET /repos/{owner}/{repo}/dependabot/secrets", "GET /repos/{owner}/{repo}/deployments", "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "GET /repos/{owner}/{repo}/environments", "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", "GET /repos/{owner}/{repo}/events", "GET /repos/{owner}/{repo}/forks", "GET /repos/{owner}/{repo}/hooks", "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "GET /repos/{owner}/{repo}/invitations", "GET /repos/{owner}/{repo}/issues", "GET /repos/{owner}/{repo}/issues/comments", "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/issues/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", "GET /repos/{owner}/{repo}/issues/{issue_number}/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", "GET /repos/{owner}/{repo}/keys", "GET /repos/{owner}/{repo}/labels", "GET /repos/{owner}/{repo}/milestones", "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", "GET /repos/{owner}/{repo}/notifications", "GET /repos/{owner}/{repo}/pages/builds", "GET /repos/{owner}/{repo}/projects", "GET /repos/{owner}/{repo}/pulls", "GET /repos/{owner}/{repo}/pulls/comments", "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "GET /repos/{owner}/{repo}/releases", "GET /repos/{owner}/{repo}/releases/{release_id}/assets", "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", "GET /repos/{owner}/{repo}/secret-scanning/alerts", "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "GET /repos/{owner}/{repo}/stargazers", "GET /repos/{owner}/{repo}/subscribers", "GET /repos/{owner}/{repo}/tags", "GET /repos/{owner}/{repo}/teams", "GET /repos/{owner}/{repo}/topics", "GET /repositories", "GET /repositories/{repository_id}/environments/{environment_name}/secrets", "GET /repositories/{repository_id}/environments/{environment_name}/variables", "GET /search/code", "GET /search/commits", "GET /search/issues", "GET /search/labels", "GET /search/repositories", "GET /search/topics", "GET /search/users", "GET /teams/{team_id}/discussions", "GET /teams/{team_id}/discussions/{discussion_number}/comments", "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /teams/{team_id}/discussions/{discussion_number}/reactions", "GET /teams/{team_id}/invitations", "GET /teams/{team_id}/members", "GET /teams/{team_id}/projects", "GET /teams/{team_id}/repos", "GET /teams/{team_id}/teams", "GET /user/blocks", "GET /user/codespaces", "GET /user/codespaces/secrets", "GET /user/emails", "GET /user/followers", "GET /user/following", "GET /user/gpg_keys", "GET /user/installations", "GET /user/installations/{installation_id}/repositories", "GET /user/issues", "GET /user/keys", "GET /user/marketplace_purchases", "GET /user/marketplace_purchases/stubbed", "GET /user/memberships/orgs", "GET /user/migrations", "GET /user/migrations/{migration_id}/repositories", "GET /user/orgs", "GET /user/packages", "GET /user/packages/{package_type}/{package_name}/versions", "GET /user/public_emails", "GET /user/repos", "GET /user/repository_invitations", "GET /user/ssh_signing_keys", "GET /user/starred", "GET /user/subscriptions", "GET /user/teams", "GET /users", "GET /users/{username}/events", "GET /users/{username}/events/orgs/{org}", "GET /users/{username}/events/public", "GET /users/{username}/followers", "GET /users/{username}/following", "GET /users/{username}/gists", "GET /users/{username}/gpg_keys", "GET /users/{username}/keys", "GET /users/{username}/orgs", "GET /users/{username}/packages", "GET /users/{username}/projects", "GET /users/{username}/received_events", "GET /users/{username}/received_events/public", "GET /users/{username}/repos", "GET /users/{username}/ssh_signing_keys", "GET /users/{username}/starred", "GET /users/{username}/subscriptions"]; + +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} + /** * @param octokit Octokit instance * @param options Options passed to Octokit constructor */ - function paginateRest(octokit) { return { paginate: Object.assign(paginate.bind(null, octokit), { @@ -43372,7 +45489,10 @@ function paginateRest(octokit) { } paginateRest.VERSION = VERSION; +exports.composePaginateRest = composePaginateRest; +exports.isPaginatingEndpoint = isPaginatingEndpoint; exports.paginateRest = paginateRest; +exports.paginatingEndpoints = paginatingEndpoints; //# sourceMappingURL=index.js.map @@ -43454,164 +45574,7 @@ var startsWith = /*#__PURE__*/_curry2(function (prefix, list) { module.exports = startsWith; /***/ }), -/* 997 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -// Some environments don't have global Buffer (e.g. React Native). -// Solution would be installing npm modules "buffer" and "stream" explicitly. -var Buffer = __webpack_require__(572).Buffer; - -var bomHandling = __webpack_require__(4), - iconv = module.exports; - -// All codecs and aliases are kept here, keyed by encoding name/alias. -// They are lazy loaded in `iconv.getCodec` from `encodings/index.js`. -iconv.encodings = null; - -// Characters emitted in case of error. -iconv.defaultCharUnicode = '�'; -iconv.defaultCharSingleByte = '?'; - -// Public API. -iconv.encode = function encode(str, encoding, options) { - str = "" + (str || ""); // Ensure string. - - var encoder = iconv.getEncoder(encoding, options); - - var res = encoder.write(str); - var trail = encoder.end(); - - return (trail && trail.length > 0) ? Buffer.concat([res, trail]) : res; -} - -iconv.decode = function decode(buf, encoding, options) { - if (typeof buf === 'string') { - if (!iconv.skipDecodeWarning) { - console.error('Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding'); - iconv.skipDecodeWarning = true; - } - - buf = Buffer.from("" + (buf || ""), "binary"); // Ensure buffer. - } - - var decoder = iconv.getDecoder(encoding, options); - - var res = decoder.write(buf); - var trail = decoder.end(); - - return trail ? (res + trail) : res; -} - -iconv.encodingExists = function encodingExists(enc) { - try { - iconv.getCodec(enc); - return true; - } catch (e) { - return false; - } -} - -// Legacy aliases to convert functions -iconv.toEncoding = iconv.encode; -iconv.fromEncoding = iconv.decode; - -// Search for a codec in iconv.encodings. Cache codec data in iconv._codecDataCache. -iconv._codecDataCache = {}; -iconv.getCodec = function getCodec(encoding) { - if (!iconv.encodings) - iconv.encodings = __webpack_require__(707); // Lazy load all encoding definitions. - - // Canonicalize encoding name: strip all non-alphanumeric chars and appended year. - var enc = iconv._canonicalizeEncoding(encoding); - - // Traverse iconv.encodings to find actual codec. - var codecOptions = {}; - while (true) { - var codec = iconv._codecDataCache[enc]; - if (codec) - return codec; - - var codecDef = iconv.encodings[enc]; - - switch (typeof codecDef) { - case "string": // Direct alias to other encoding. - enc = codecDef; - break; - - case "object": // Alias with options. Can be layered. - for (var key in codecDef) - codecOptions[key] = codecDef[key]; - - if (!codecOptions.encodingName) - codecOptions.encodingName = enc; - - enc = codecDef.type; - break; - - case "function": // Codec itself. - if (!codecOptions.encodingName) - codecOptions.encodingName = enc; - - // The codec function must load all tables and return object with .encoder and .decoder methods. - // It'll be called only once (for each different options object). - codec = new codecDef(codecOptions, iconv); - - iconv._codecDataCache[codecOptions.encodingName] = codec; // Save it to be reused later. - return codec; - - default: - throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '"+enc+"')"); - } - } -} - -iconv._canonicalizeEncoding = function(encoding) { - // Canonicalize encoding name: strip all non-alphanumeric chars and appended year. - return (''+encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, ""); -} - -iconv.getEncoder = function getEncoder(encoding, options) { - var codec = iconv.getCodec(encoding), - encoder = new codec.encoder(options, codec); - - if (codec.bomAware && options && options.addBOM) - encoder = new bomHandling.PrependBOM(encoder, options); - - return encoder; -} - -iconv.getDecoder = function getDecoder(encoding, options) { - var codec = iconv.getCodec(encoding), - decoder = new codec.decoder(options, codec); - - if (codec.bomAware && !(options && options.stripBOM === false)) - decoder = new bomHandling.StripBOM(decoder, options); - - return decoder; -} - - -// Load extensions in Node. All of them are omitted in Browserify build via 'browser' field in package.json. -var nodeVer = typeof process !== 'undefined' && process.versions && process.versions.node; -if (nodeVer) { - - // Load streaming support in Node v0.10+ - var nodeVerArr = nodeVer.split(".").map(Number); - if (nodeVerArr[0] > 0 || nodeVerArr[1] >= 10) { - __webpack_require__(541)(iconv); - } - - // Load Node primitive extensions. - __webpack_require__(277)(iconv); -} - -if (false) {} - - -/***/ }), +/* 997 */, /* 998 */ /***/ (function(module, exports, __webpack_require__) { @@ -43630,14 +45593,15 @@ if (false) {} var undefined; /** Used as the semantic version number. */ - var VERSION = '4.17.15'; + var VERSION = '4.17.21'; /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; /** Error message constants. */ var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', - FUNC_ERROR_TEXT = 'Expected a function'; + FUNC_ERROR_TEXT = 'Expected a function', + INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`'; /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; @@ -43770,10 +45734,11 @@ if (false) {} var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, reHasRegExpChar = RegExp(reRegExpChar.source); - /** Used to match leading and trailing whitespace. */ - var reTrim = /^\s+|\s+$/g, - reTrimStart = /^\s+/, - reTrimEnd = /\s+$/; + /** Used to match leading whitespace. */ + var reTrimStart = /^\s+/; + + /** Used to match a single whitespace character. */ + var reWhitespace = /\s/; /** Used to match wrap detail comments. */ var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, @@ -43783,6 +45748,18 @@ if (false) {} /** Used to match words composed of alphanumeric characters. */ var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; + /** + * Used to validate the `validate` option in `_.template` variable. + * + * Forbids characters which could potentially change the meaning of the function argument definition: + * - "()," (modification of function parameters) + * - "=" (default value) + * - "[]{}" (destructuring of function parameters) + * - "/" (beginning of a comment) + * - whitespace + */ + var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; + /** Used to match backslashes in property paths. */ var reEscapeChar = /\\(\\)?/g; @@ -44611,6 +46588,19 @@ if (false) {} }); } + /** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ + function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; + } + /** * The base implementation of `_.unary` without support for storing metadata. * @@ -44944,6 +46934,21 @@ if (false) {} : asciiToArray(string); } + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ + function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; + } + /** * Used by `_.unescape` to convert HTML entities to characters. * @@ -47337,8 +49342,21 @@ if (false) {} * @returns {Array} Returns the new sorted array. */ function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee) { + if (isArray(iteratee)) { + return function(value) { + return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); + } + } + return iteratee; + }); + } else { + iteratees = [identity]; + } + var index = -1; - iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee())); + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); var result = baseMap(collection, function(value, key, collection) { var criteria = arrayMap(iteratees, function(iteratee) { @@ -47595,6 +49613,10 @@ if (false) {} var key = toKey(path[index]), newValue = value; + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + if (index != lastIndex) { var objValue = nested[key]; newValue = customizer ? customizer(objValue, key, nested) : undefined; @@ -47747,11 +49769,14 @@ if (false) {} * into `array`. */ function baseSortedIndexBy(array, value, iteratee, retHighest) { - value = iteratee(value); - var low = 0, - high = array == null ? 0 : array.length, - valIsNaN = value !== value, + high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + + value = iteratee(value); + var valIsNaN = value !== value, valIsNull = value === null, valIsSymbol = isSymbol(value), valIsUndefined = value === undefined; @@ -49236,10 +51261,11 @@ if (false) {} if (arrLength != othLength && !(isPartial && othLength > arrLength)) { return false; } - // Assume cyclic values are equal. - var stacked = stack.get(array); - if (stacked && stack.get(other)) { - return stacked == other; + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; } var index = -1, result = true, @@ -49401,10 +51427,11 @@ if (false) {} return false; } } - // Assume cyclic values are equal. - var stacked = stack.get(object); - if (stacked && stack.get(other)) { - return stacked == other; + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; } var result = true; stack.set(object, other); @@ -52785,6 +54812,10 @@ if (false) {} * // The `_.property` iteratee shorthand. * _.filter(users, 'active'); * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] */ function filter(collection, predicate) { var func = isArray(collection) ? arrayFilter : baseFilter; @@ -53534,15 +55565,15 @@ if (false) {} * var users = [ * { 'user': 'fred', 'age': 48 }, * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, + * { 'user': 'fred', 'age': 30 }, * { 'user': 'barney', 'age': 34 } * ]; * * _.sortBy(users, [function(o) { return o.user; }]); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] * * _.sortBy(users, ['user', 'age']); - * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]] + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] */ var sortBy = baseRest(function(collection, iteratees) { if (collection == null) { @@ -56086,7 +58117,7 @@ if (false) {} if (typeof value != 'string') { return value === 0 ? value : +value; } - value = value.replace(reTrim, ''); + value = baseTrim(value); var isBinary = reIsBinary.test(value); return (isBinary || reIsOctal.test(value)) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) @@ -58417,11 +60448,11 @@ if (false) {} // Use a sourceURL for easier debugging. // The sourceURL gets injected into the source that's eval-ed, so be careful - // with lookup (in case of e.g. prototype pollution), and strip newlines if any. - // A newline wouldn't be a valid sourceURL anyway, and it'd enable code injection. + // to normalize all kinds of whitespace, so e.g. newlines (and unicode versions of it) can't sneak in + // and escape the comment, thus injecting code that gets evaled. var sourceURL = '//# sourceURL=' + (hasOwnProperty.call(options, 'sourceURL') - ? (options.sourceURL + '').replace(/[\r\n]/g, ' ') + ? (options.sourceURL + '').replace(/\s/g, ' ') : ('lodash.templateSources[' + (++templateCounter) + ']') ) + '\n'; @@ -58454,12 +60485,16 @@ if (false) {} // If `variable` is not specified wrap a with-statement around the generated // code to add the data object to the top of the scope chain. - // Like with sourceURL, we take care to not check the option's prototype, - // as this configuration is a code injection vector. var variable = hasOwnProperty.call(options, 'variable') && options.variable; if (!variable) { source = 'with (obj) {\n' + source + '\n}\n'; } + // Throw an error if a forbidden character was found in `variable`, to prevent + // potential command injection attacks. + else if (reForbiddenIdentifierChars.test(variable)) { + throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT); + } + // Cleanup code by stripping empty strings. source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source) .replace(reEmptyStringMiddle, '$1') @@ -58573,7 +60608,7 @@ if (false) {} function trim(string, chars, guard) { string = toString(string); if (string && (guard || chars === undefined)) { - return string.replace(reTrim, ''); + return baseTrim(string); } if (!string || !(chars = baseToString(chars))) { return string; @@ -58608,7 +60643,7 @@ if (false) {} function trimEnd(string, chars, guard) { string = toString(string); if (string && (guard || chars === undefined)) { - return string.replace(reTrimEnd, ''); + return string.slice(0, trimmedEndIndex(string) + 1); } if (!string || !(chars = baseToString(chars))) { return string; @@ -59162,6 +61197,9 @@ if (false) {} * values against any array or object value, respectively. See `_.isEqual` * for a list of supported value comparisons. * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * * @static * @memberOf _ * @since 3.0.0 @@ -59177,6 +61215,10 @@ if (false) {} * * _.filter(objects, _.matches({ 'a': 4, 'c': 6 })); * // => [{ 'a': 4, 'b': 5, 'c': 6 }] + * + * // Checking for several possible values + * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] */ function matches(source) { return baseMatches(baseClone(source, CLONE_DEEP_FLAG)); @@ -59191,6 +61233,9 @@ if (false) {} * `srcValue` values against any array or object value, respectively. See * `_.isEqual` for a list of supported value comparisons. * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * * @static * @memberOf _ * @since 3.2.0 @@ -59207,6 +61252,10 @@ if (false) {} * * _.find(objects, _.matchesProperty('a', 4)); * // => { 'a': 4, 'b': 5, 'c': 6 } + * + * // Checking for several possible values + * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] */ function matchesProperty(path, srcValue) { return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG)); @@ -59430,6 +61479,10 @@ if (false) {} * Creates a function that checks if **all** of the `predicates` return * truthy when invoked with the arguments it receives. * + * Following shorthands are possible for providing predicates. + * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. + * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. + * * @static * @memberOf _ * @since 4.0.0 @@ -59456,6 +61509,10 @@ if (false) {} * Creates a function that checks if **any** of the `predicates` return * truthy when invoked with the arguments it receives. * + * Following shorthands are possible for providing predicates. + * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. + * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. + * * @static * @memberOf _ * @since 4.0.0 @@ -59475,6 +61532,9 @@ if (false) {} * * func(NaN); * // => false + * + * var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }]) + * var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]]) */ var overSome = createOver(arraySome); diff --git a/.github/actions/sync-data/package-lock.json b/.github/actions/sync-data/package-lock.json index 7522c072be..818851a425 100644 --- a/.github/actions/sync-data/package-lock.json +++ b/.github/actions/sync-data/package-lock.json @@ -1,588 +1,9697 @@ { "name": "sync-data", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, - "dependencies": { - "@actions/core": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.1.1.tgz", - "integrity": "sha512-O5G6EmlzTVsng7VSpNtszIoQq6kOgMGNTFB/hmwKNNA4V71JyxImCIrL27vVHCt2Cb3ImkaCr6o27C2MV9Ylwg==" + "packages": { + "": { + "name": "sync-data", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@actions/core": "^1.10.0", + "@actions/exec": "^1.0.3", + "@actions/io": "^1.0.2", + "@octokit/core": "3.6.0", + "@octokit/graphql": "^4.3.1", + "@octokit/plugin-retry": "^2.1.2", + "@octokit/plugin-throttling": "toast-ninja/plugin-throttling.js", + "@octokit/rest": "19.0.7", + "bluebird": "^3.7.1", + "chalk": "^3.0.0", + "date-fns": "^1.30.1", + "fast-safe-stringify": "^2.0.7", + "parse-link-header": "^1.0.1", + "ramda": "^0.26.1", + "time-span": "^3.1.0", + "write-json-file": "^4.2.0" + }, + "devDependencies": { + "@newrelic/eslint-plugin-newrelic": "^0.3.0", + "@zeit/ncc": "^0.20.5", + "eslint": "^6.8.0", + "jest": "^25.2.4", + "prettier": "^1.19.1" + } }, - "@actions/exec": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.3.tgz", - "integrity": "sha512-TogJGnueOmM7ntCi0ASTUj4LapRRtDfj57Ja4IhPmg2fls28uVOPbAn8N+JifaOumN2UG3oEO/Ixek2A4NcYSA==", - "requires": { + "node_modules/@actions/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + } + }, + "node_modules/@actions/exec": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", + "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", + "dependencies": { "@actions/io": "^1.0.1" } }, - "@actions/io": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.2.tgz", - "integrity": "sha512-J8KuFqVPr3p6U8W93DOXlXW6zFvrQAJANdS+vw0YhusLIq+bszW8zmK2Fh1C2kDPX8FMvwIl1OUcFgvJoXLbAg==" + "node_modules/@actions/http-client": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz", + "integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==", + "dependencies": { + "tunnel": "^0.0.6" + } }, - "@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==", + "node_modules/@actions/io": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz", + "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==" + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/core": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", - "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", - "dev": true, - "requires": { - "@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", + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", + "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", + "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-compilation-targets": "^7.21.4", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.4", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.4", + "@babel/types": "^7.21.4", "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@babel/generator": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz", - "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==", + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "requires": { - "@babel/types": "^7.9.5", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", + "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", + "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "dev": true, "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "@babel/compat-data": "^7.21.4", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@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==", + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.9.5" + "bin": { + "semver": "bin/semver.js" } }, - "@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==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "engines": { + "node": ">=6.9.0" } }, - "@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==", + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@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==", + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@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==", + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "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" + "dependencies": { + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" } }, - "@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==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + }, + "engines": { + "node": ">=6.9.0" } }, - "@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==", - "dev": true + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helper-replace-supers": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", - "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, - "requires": { - "@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" + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" } }, - "@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==", + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, - "requires": { - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@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==", + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "engines": { + "node": ">=6.9.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==", - "dev": true + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helpers": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.2.tgz", - "integrity": "sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA==", + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true, - "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0" + "engines": { + "node": ">=6.9.0" } }, - "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "node_modules/@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { - "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" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/parser": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", - "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "@babel/plugin-syntax-async-generators": { + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-bigint": { + "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz", - "integrity": "sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-json-strings": { + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz", - "integrity": "sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-object-rest-spread": { + "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-optional-catch-binding": { + "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-optional-chaining": { + "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/runtime-corejs3": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.9.2.tgz", - "integrity": "sha512-HHxmgxbIzOfFlZ+tdeRKtaxWOMUoCG5Mu3wKeUmOxjYrwb3AAHgnmtCUbPPK11/raIWLIBK250t8E2BPO0p7jA==", - "dev": true, - "requires": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - } + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/traverse": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", - "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", + "node_modules/@babel/traverse": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", + "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.5", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.0", - "@babel/types": "^7.9.5", + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.4", + "@babel/types": "^7.21.4", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" + "globals": "^11.1.0" }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } + "engines": { + "node": ">=6.9.0" } }, - "@babel/types": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", - "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", + "node_modules/@babel/types": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", + "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@bcoe/v8-coverage": { + "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "@cnakazawa/watch": { + "node_modules/@cnakazawa/watch": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", "dev": true, - "requires": { + "dependencies": { "exec-sh": "^0.3.2", "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" } }, - "@istanbuljs/load-nyc-config": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz", - "integrity": "sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg==", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, - "requires": { + "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", + "get-package-type": "^0.1.0", "js-yaml": "^3.13.1", "resolve-from": "^5.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/reporters": "^25.5.1", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^25.5.0", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-resolve-dependencies": "^25.5.4", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "jest-watcher": "^25.5.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "realpath-native": "^2.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/core/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", + "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^25.5.1", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^3.1.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.1.3" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "node-notifier": "^6.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@newrelic/eslint-plugin-newrelic": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@newrelic/eslint-plugin-newrelic/-/eslint-plugin-newrelic-0.3.1.tgz", + "integrity": "sha512-vz2Z3HPbIJlQaRMvzLgT6RwoRe9xUkqdKZD4sIJMPhjEeQGNmAHL3g592HJ8JHNC9JF9C8Q1MZMJ+rJbW1tXNQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "^2.4.0", + "@typescript-eslint/parser": "^2.4.0", + "babel-eslint": "^10.0.3", + "eslint-config-prettier": "^6.4.0", + "eslint-plugin-eslint-comments": "^3.1.2", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-jest": "^22.16.0", + "eslint-plugin-prettier": "^3.1.1", + "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-react": "^7.14.3" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "eslint": "^6.3.0", + "prettier": "^1.18.2" + } + }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" + }, + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.0.1.tgz", + "integrity": "sha512-pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA==", + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.3.1" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.0.0.tgz", + "integrity": "sha512-V8BVJGN0ZmMlURF55VFHFd/L92XQQ43KvFjNmY1IYbCN3V/h/uUFV6iQi19WEHM395Nn+1qhUbViCAD/1czzog==" + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.1.3.tgz", + "integrity": "sha512-fiTMrSGhqPKTDX8KY8Nlny6lBaeNgjrjAbv7fqed2OdcWwBfYFK1QAyspMIST986cKKetHMGo4pRhmbEjCKhRQ==", + "dependencies": { + "@octokit/openapi-types": "^17.0.0" + } + }, + "node_modules/@octokit/plugin-retry": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-2.2.0.tgz", + "integrity": "sha512-x5Kd8Lke+a4hTDCe5akZxpGmVwu1eeVt2FJX0jeo3CxHGbfHbXb4zhN5quKfGL9oBLV/EdHQIJ6zwIMjuzxOlw==", + "dependencies": { + "bottleneck": "^2.15.3" + } + }, + "node_modules/@octokit/plugin-throttling": { + "version": "0.0.0-development", + "resolved": "git+ssh://git@github.com/toast-ninja/plugin-throttling.js.git#746aa097bef110709eacc64ea1e30afd7921121f", + "license": "MIT", + "dependencies": { + "@octokit/types": "^6.0.1", + "bottleneck": "^2.15.3" + }, + "peerDependencies": { + "@octokit/core": "^3.0.0" + } + }, + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/rest": { + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.7.tgz", + "integrity": "sha512-HRtSfjrWmWVNp2uAkEpQnuGMJsu/+dBr47dRc5QVgsCbnIc1+GFEaoKBWkYG+zjrsHpSqcAElMio+n10c0b5JA==", + "dependencies": { + "@octokit/core": "^4.1.0", + "@octokit/plugin-paginate-rest": "^6.0.0", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^7.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/auth-token": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz", + "integrity": "sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==", + "dependencies": { + "@octokit/types": "^9.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.0.tgz", + "integrity": "sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==", + "dependencies": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/endpoint": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz", + "integrity": "sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==", + "dependencies": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/graphql": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.5.tgz", + "integrity": "sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==", + "dependencies": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/openapi-types": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.0.0.tgz", + "integrity": "sha512-V8BVJGN0ZmMlURF55VFHFd/L92XQQ43KvFjNmY1IYbCN3V/h/uUFV6iQi19WEHM395Nn+1qhUbViCAD/1czzog==" + }, + "node_modules/@octokit/rest/node_modules/@octokit/plugin-paginate-rest": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.0.0.tgz", + "integrity": "sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw==", + "dependencies": { + "@octokit/types": "^9.0.0" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=4" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/request": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.3.tgz", + "integrity": "sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==", + "dependencies": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/types": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.1.3.tgz", + "integrity": "sha512-fiTMrSGhqPKTDX8KY8Nlny6lBaeNgjrjAbv7fqed2OdcWwBfYFK1QAyspMIST986cKKetHMGo4pRhmbEjCKhRQ==", + "dependencies": { + "@octokit/openapi-types": "^17.0.0" + } + }, + "node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", + "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.5.tgz", + "integrity": "sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.16.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.1.tgz", + "integrity": "sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^2.0.0", + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "dev": true, + "dependencies": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@zeit/ncc": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/@zeit/ncc/-/ncc-0.20.5.tgz", + "integrity": "sha512-XU6uzwvv95DqxciQx+aOLhbyBx/13ky+RK1y88Age9Du3BlA4mMPCy13BGjayOrrumOzlq1XV3SD/BWiZENXlw==", + "deprecated": "@zeit/ncc is no longer maintained. Please use @vercel/ncc instead.", + "dev": true, + "bin": { + "ncc": "dist/ncc/cli.js" + } + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "node_modules/babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" + } + }, + "node_modules/babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "dev": true, + "dependencies": { + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", + "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" + }, + "engines": { + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/bottleneck": { + "version": "2.19.5", + "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", + "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "dependencies": { + "resolve": "1.1.7" + } + }, + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001481", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", + "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-hrtime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-2.0.0.tgz", + "integrity": "sha512-yDqabFVYEYlq5sSgg7bNFktjySVQjyXy1Rhv7HWyPVb+Qd/dQNev80wP1D/LkCd0gNpi3Z6GPhqsvUsNHF6sUg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.375", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.375.tgz", + "integrity": "sha512-czSmDyWG5qmb4TcwD5lhVDP6viDPtHfrIzw0CnzisRpziiUaq+ffptBHs70d9YkFtrxzaDvOmFPeVRVNwMt2rQ==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", + "dev": true, + "dependencies": { + "get-stdin": "^6.0.0" + }, + "bin": { + "eslint-config-prettier-check": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=3.14.1" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "engines": { + "node": ">=6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-eslint-comments/node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "22.21.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.21.0.tgz", + "integrity": "sha512-OaqnSS7uBgcGiqXUiEnjoqxPNKvR4JWG5mSRkzVoR6+vDwlqqp11beeql1hYs0HTbdhiwrxWLxbX0Vx7roG3Ew==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "^1.13.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/experimental-utils": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz", + "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "1.13.0", + "eslint-scope": "^4.0.0" + }, + "engines": { + "node": "^6.14.0 || ^8.10.0 || >=9.10.0" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz", + "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==", + "dev": true, + "dependencies": { + "lodash.unescape": "4.0.1", + "semver": "5.5.0" + }, + "engines": { + "node": ">=6.14.0" + } + }, + "node_modules/eslint-plugin-jest/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-plugin-jest/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-plugin-jest/node_modules/semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=5.0.0", + "prettier": ">=1.13.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-promise": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz", + "integrity": "sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.32.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", + "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/eslint/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/execa/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "dev": true, + "optional": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "optional": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", + "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", + "dev": true, + "dependencies": { + "@jest/core": "^25.5.4", + "import-local": "^3.0.2", + "jest-cli": "^25.5.4" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-changed-files": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", + "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "execa": "^3.2.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-cli": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", + "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", + "dev": true, + "dependencies": { + "@jest/core": "^25.5.4", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^25.5.4", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "prompts": "^2.0.1", + "realpath-native": "^2.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-each": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", + "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", + "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "jsdom": "^15.2.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-node/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-haste-map/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-jasmine2": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", + "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^25.5.0", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "co": "^4.6.0", + "expect": "^25.5.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^25.5.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "dev": true, + "dependencies": { + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", + "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-snapshot": "^25.5.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, + "node_modules/lodash.unescape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", + "integrity": "sha512-DhhGRshNS1aX6s5YdBE3njCCouPgnG29ebyHvImlZzXZf2SHgt+J08DHgytTPnpywNbO1Y8mNUFyQuIDBq2JZg==", + "dev": true + }, + "node_modules/lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "dev": true, + "optional": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" + } + }, + "node_modules/node-notifier/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nwsapi": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.4.tgz", + "integrity": "sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-link-header": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-link-header/-/parse-link-header-1.0.1.tgz", + "integrity": "sha512-Z0gpfHmwCIKDr5rRzjypL+p93aHVWO7e+0rFcUl9E3sC67njjs+xHFenuboSXZGlvYtmQqRzRaE3iFpTUnLmFQ==", + "dependencies": { + "xtend": "~4.0.1" + } + }, + "node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/ramda": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", + "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==" + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/realpath-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", + "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "dev": true, + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/sane/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dev": true, + "dependencies": { + "xmlchars": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", + "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", + "dependencies": { + "is-plain-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/time-span": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-3.1.0.tgz", + "integrity": "sha512-iol7ZQkkMAtlveWFZdTmphGho2RZcUrrg8E3U+YfeDCjFil0sPFU4Q+iyi21HDPwY3vieXV2bjAla75uA6WW+w==", + "dependencies": { + "convert-hrtime": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": "8.x.x || >=10.10.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dev": true, + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/write-json-file": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", + "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", + "dependencies": { + "detect-indent": "^6.0.0", + "graceful-fs": "^4.1.15", + "is-plain-obj": "^2.0.0", + "make-dir": "^3.0.0", + "sort-keys": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">=8.3" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + } + }, + "dependencies": { + "@actions/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "requires": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + } + }, + "@actions/exec": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", + "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", + "requires": { + "@actions/io": "^1.0.1" + } + }, + "@actions/http-client": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz", + "integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==", + "requires": { + "tunnel": "^0.0.6" + } + }, + "@actions/io": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz", + "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==" + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", + "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "dev": true + }, + "@babel/core": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", + "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-compilation-targets": "^7.21.4", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.4", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.4", + "@babel/types": "^7.21.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", + "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "dev": true, + "requires": { + "@babel/types": "^7.21.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", + "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.21.4", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, - "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", "dev": true }, - "@jest/console": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.4.0.tgz", - "integrity": "sha512-CfE0erx4hdJ6t7RzAcE1wLG6ZzsHSmybvIBQDoCkDM1QaSeWL9wJMzID/2BbHHa7ll9SsbbK43HjbERbBaFX2A==", + "@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, "requires": { - "@jest/types": "^25.4.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.4.0", - "jest-util": "^25.4.0", - "slash": "^3.0.0" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dev": true, + "requires": { + "@babel/types": "^7.21.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true + }, + "@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, "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": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { - "color-name": "~1.1.4" + "color-name": "1.1.3" } }, "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "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": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" } } } }, - "@jest/core": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.4.0.tgz", - "integrity": "sha512-h1x9WSVV0+TKVtATGjyQIMJENs8aF6eUjnCoi4jyRemYZmekLr8EJOGQqTWEX8W6SbZ6Skesy9pGXrKeAolUJw==", + "@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "dev": true + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { - "@jest/console": "^25.4.0", - "@jest/reporters": "^25.4.0", - "@jest/test-result": "^25.4.0", - "@jest/transform": "^25.4.0", - "@jest/types": "^25.4.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.3", - "jest-changed-files": "^25.4.0", - "jest-config": "^25.4.0", - "jest-haste-map": "^25.4.0", - "jest-message-util": "^25.4.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.4.0", - "jest-resolve-dependencies": "^25.4.0", - "jest-runner": "^25.4.0", - "jest-runtime": "^25.4.0", - "jest-snapshot": "^25.4.0", - "jest-util": "^25.4.0", - "jest-validate": "^25.4.0", - "jest-watcher": "^25.4.0", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "realpath-native": "^2.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", + "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.4", + "@babel/types": "^7.21.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", + "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true - }, + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", + "dev": true, + "requires": { + "@jest/console": "^25.5.0", + "@jest/reporters": "^25.5.1", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^25.5.0", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-resolve-dependencies": "^25.5.4", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "jest-watcher": "^25.5.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "realpath-native": "^2.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -593,312 +9702,207 @@ } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "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": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "ansi-regex": "^5.0.1" } } } }, "@jest/environment": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.4.0.tgz", - "integrity": "sha512-KDctiak4mu7b4J6BIoN/+LUL3pscBzoUCP+EtSPd2tK9fqyDY5OF+CmkBywkFWezS9tyH5ACOQNtpjtueEDH6Q==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", "dev": true, "requires": { - "@jest/fake-timers": "^25.4.0", - "@jest/types": "^25.4.0", - "jest-mock": "^25.4.0" + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" } }, "@jest/fake-timers": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.4.0.tgz", - "integrity": "sha512-lI9z+VOmVX4dPPFzyj0vm+UtaB8dCJJ852lcDnY0uCPRvZAaVGnMwBBc1wxtf+h7Vz6KszoOvKAt4QijDnHDkg==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", "dev": true, "requires": { - "@jest/types": "^25.4.0", - "jest-message-util": "^25.4.0", - "jest-mock": "^25.4.0", - "jest-util": "^25.4.0", + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", "lolex": "^5.0.0" } }, + "@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "dev": true, + "requires": { + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" + } + }, "@jest/reporters": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.4.0.tgz", - "integrity": "sha512-bhx/buYbZgLZm4JWLcRJ/q9Gvmd3oUh7k2V7gA4ZYBx6J28pIuykIouclRdiAC6eGVX1uRZT+GK4CQJLd/PwPg==", + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", + "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^25.4.0", - "@jest/test-result": "^25.4.0", - "@jest/transform": "^25.4.0", - "@jest/types": "^25.4.0", + "@jest/console": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", "chalk": "^3.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", "glob": "^7.1.2", + "graceful-fs": "^4.2.4", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-instrument": "^4.0.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.0.2", - "jest-haste-map": "^25.4.0", - "jest-resolve": "^25.4.0", - "jest-util": "^25.4.0", - "jest-worker": "^25.4.0", + "jest-haste-map": "^25.5.1", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", "node-notifier": "^6.0.0", "slash": "^3.0.0", "source-map": "^0.6.0", "string-length": "^3.1.0", "terminal-link": "^2.0.0", "v8-to-istanbul": "^4.1.3" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "@jest/source-map": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.2.6.tgz", - "integrity": "sha512-VuIRZF8M2zxYFGTEhkNSvQkUKafQro4y+mwUxy5ewRqs5N/ynSFUODYp3fy1zCnbCMy1pz3k+u57uCqx8QRSQQ==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", "dev": true, "requires": { "callsites": "^3.0.0", - "graceful-fs": "^4.2.3", + "graceful-fs": "^4.2.4", "source-map": "^0.6.0" } }, "@jest/test-result": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.4.0.tgz", - "integrity": "sha512-8BAKPaMCHlL941eyfqhWbmp3MebtzywlxzV+qtngQ3FH+RBqnoSAhNEPj4MG7d2NVUrMOVfrwuzGpVIK+QnMAA==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", "dev": true, "requires": { - "@jest/console": "^25.4.0", - "@jest/types": "^25.4.0", + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.4.0.tgz", - "integrity": "sha512-240cI+nsM3attx2bMp9uGjjHrwrpvxxrZi8Tyqp/cfOzl98oZXVakXBgxODGyBYAy/UGXPKXLvNc2GaqItrsJg==", + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", "dev": true, "requires": { - "@jest/test-result": "^25.4.0", - "jest-haste-map": "^25.4.0", - "jest-runner": "^25.4.0", - "jest-runtime": "^25.4.0" + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" } }, "@jest/transform": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.4.0.tgz", - "integrity": "sha512-t1w2S6V1sk++1HHsxboWxPEuSpN8pxEvNrZN+Ud/knkROWtf8LeUmz73A4ezE8476a5AM00IZr9a8FO9x1+j3g==", + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/types": "^25.4.0", + "@jest/types": "^25.5.0", "babel-plugin-istanbul": "^6.0.0", "chalk": "^3.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.3", - "jest-haste-map": "^25.4.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", "jest-regex-util": "^25.2.6", - "jest-util": "^25.4.0", + "jest-util": "^25.5.0", "micromatch": "^4.0.2", "pirates": "^4.0.1", "realpath-native": "^2.0.0", "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "@jest/types": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.4.0.tgz", - "integrity": "sha512-XBeaWNzw2PPnGW5aXvZt3+VO60M+34RY3XDsCK5tW7kyj3RK0XClRutCfjqcBuaR2aBQTbluEDME9b5MB9UAPw==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^1.1.1", "@types/yargs": "^15.0.0", "chalk": "^3.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" }, "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, "@newrelic/eslint-plugin-newrelic": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@newrelic/eslint-plugin-newrelic/-/eslint-plugin-newrelic-0.3.0.tgz", - "integrity": "sha512-UmMykkElKDfgLeyEbWzBasV9unOukijdiEhw/ESvIynWg8aphfHslcox9ORdH51jmNqaFb6iJvqNuOvsszUmmA==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@newrelic/eslint-plugin-newrelic/-/eslint-plugin-newrelic-0.3.1.tgz", + "integrity": "sha512-vz2Z3HPbIJlQaRMvzLgT6RwoRe9xUkqdKZD4sIJMPhjEeQGNmAHL3g592HJ8JHNC9JF9C8Q1MZMJ+rJbW1tXNQ==", "dev": true, "requires": { "@typescript-eslint/eslint-plugin": "^2.4.0", @@ -914,83 +9918,81 @@ } }, "@octokit/auth-token": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.0.tgz", - "integrity": "sha512-eoOVMjILna7FVQf96iWc3+ZtE/ZT6y8ob8ZzcqKY1ibSQCnu4O/B7pJvzMx5cyZ/RjAff6DAdEb0O0Cjcxidkg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "requires": { - "@octokit/types": "^2.0.0" + "@octokit/types": "^6.0.3" } }, "@octokit/core": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-2.5.0.tgz", - "integrity": "sha512-uvzmkemQrBgD8xuGbjhxzJN1darJk9L2cS+M99cHrDG2jlSVpxNJVhoV86cXdYBqdHCc9Z995uLCczaaHIYA6Q==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", "requires": { - "@octokit/auth-token": "^2.4.0", - "@octokit/graphql": "^4.3.1", - "@octokit/request": "^5.4.0", - "@octokit/types": "^2.0.0", - "before-after-hook": "^2.1.0", - "universal-user-agent": "^5.0.0" - }, - "dependencies": { - "universal-user-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz", - "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==", - "requires": { - "os-name": "^3.1.0" - } - } + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" } }, "@octokit/endpoint": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.1.tgz", - "integrity": "sha512-pOPHaSz57SFT/m3R5P8MUu4wLPszokn5pXcB/pzavLTQf2jbU+6iayTvzaY6/BiotuRS0qyEUkx3QglT4U958A==", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "requires": { - "@octokit/types": "^2.11.1", - "is-plain-object": "^3.0.0", - "universal-user-agent": "^5.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", - "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", - "requires": { - "isobject": "^4.0.0" - } - }, - "isobject": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", - "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" - }, - "universal-user-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz", - "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==", - "requires": { - "os-name": "^3.1.0" - } - } + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" } }, "@octokit/graphql": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.3.1.tgz", - "integrity": "sha512-hCdTjfvrK+ilU2keAdqNBWOk+gm1kai1ZcdjRfB30oA3/T6n53UVJb7w0L5cR3/rhU91xT3HSqCd+qbvH06yxA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "requires": { - "@octokit/request": "^5.3.0", - "@octokit/types": "^2.0.0", - "universal-user-agent": "^4.0.0" + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" } }, + "@octokit/openapi-types": { + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" + }, "@octokit/plugin-request-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz", - "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "requires": {} + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.0.1.tgz", + "integrity": "sha512-pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA==", + "requires": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.3.1" + }, + "dependencies": { + "@octokit/openapi-types": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.0.0.tgz", + "integrity": "sha512-V8BVJGN0ZmMlURF55VFHFd/L92XQQ43KvFjNmY1IYbCN3V/h/uUFV6iQi19WEHM395Nn+1qhUbViCAD/1czzog==" + }, + "@octokit/types": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.1.3.tgz", + "integrity": "sha512-fiTMrSGhqPKTDX8KY8Nlny6lBaeNgjrjAbv7fqed2OdcWwBfYFK1QAyspMIST986cKKetHMGo4pRhmbEjCKhRQ==", + "requires": { + "@octokit/openapi-types": "^17.0.0" + } + } + } }, "@octokit/plugin-retry": { "version": "2.2.0", @@ -1001,133 +10003,178 @@ } }, "@octokit/plugin-throttling": { - "version": "github:toast-ninja/plugin-throttling.js#b7a82f92386dc438fc4d14be061aa068caf8e62a", - "from": "github:toast-ninja/plugin-throttling.js", + "version": "git+ssh://git@github.com/toast-ninja/plugin-throttling.js.git#746aa097bef110709eacc64ea1e30afd7921121f", + "from": "@octokit/plugin-throttling@toast-ninja/plugin-throttling.js", "requires": { + "@octokit/types": "^6.0.1", "bottleneck": "^2.15.3" } }, "@octokit/request": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.2.tgz", - "integrity": "sha512-zKdnGuQ2TQ2vFk9VU8awFT4+EYf92Z/v3OlzRaSh4RIP0H6cvW1BFPXq4XYvNez+TPQjqN+0uSkCYnMFFhcFrw==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", "requires": { "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.0.0", - "@octokit/types": "^2.11.1", - "deprecation": "^2.0.0", - "is-plain-object": "^3.0.0", - "node-fetch": "^2.3.0", - "once": "^1.4.0", - "universal-user-agent": "^5.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", - "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", - "requires": { - "isobject": "^4.0.0" - } - }, - "isobject": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", - "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" - }, - "universal-user-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz", - "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==", - "requires": { - "os-name": "^3.1.0" - } - } + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" } }, "@octokit/request-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.0.tgz", - "integrity": "sha512-rtYicB4Absc60rUv74Rjpzek84UbVHGHJRu4fNVlZ1mCcyUPPuzFfG9Rn6sjHrd95DEsmjSt1Axlc699ZlbDkw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", "requires": { - "@octokit/types": "^2.0.0", + "@octokit/types": "^6.0.3", "deprecation": "^2.0.0", "once": "^1.4.0" } }, "@octokit/rest": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-17.5.1.tgz", - "integrity": "sha512-0rGY7eo0cw8FYX7jAtUgfy3j+05zhs9JvkPFegx00HAaayodM1ixlHhCOB5yirGbsVOxbRIWVkvKc2yY9367gg==", - "requires": { - "@octokit/core": "^2.4.3", - "@octokit/plugin-paginate-rest": "^2.1.0", - "@octokit/plugin-request-log": "^1.0.0", - "@octokit/plugin-rest-endpoint-methods": "3.7.1" + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.7.tgz", + "integrity": "sha512-HRtSfjrWmWVNp2uAkEpQnuGMJsu/+dBr47dRc5QVgsCbnIc1+GFEaoKBWkYG+zjrsHpSqcAElMio+n10c0b5JA==", + "requires": { + "@octokit/core": "^4.1.0", + "@octokit/plugin-paginate-rest": "^6.0.0", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^7.0.0" }, "dependencies": { + "@octokit/auth-token": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz", + "integrity": "sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==", + "requires": { + "@octokit/types": "^9.0.0" + } + }, + "@octokit/core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.0.tgz", + "integrity": "sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==", + "requires": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/endpoint": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz", + "integrity": "sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==", + "requires": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/graphql": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.5.tgz", + "integrity": "sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==", + "requires": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/openapi-types": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.0.0.tgz", + "integrity": "sha512-V8BVJGN0ZmMlURF55VFHFd/L92XQQ43KvFjNmY1IYbCN3V/h/uUFV6iQi19WEHM395Nn+1qhUbViCAD/1czzog==" + }, "@octokit/plugin-paginate-rest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.1.0.tgz", - "integrity": "sha512-7+/7urDH8cy6DmTwkewysf7/Or9dFtwZK7aQOc/IImjyeHJy+C8CEKOPo7L5Qb+66HyAr/4p/zV76LMVMuiRtA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.0.0.tgz", + "integrity": "sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw==", + "requires": { + "@octokit/types": "^9.0.0" + } + }, + "@octokit/request": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.3.tgz", + "integrity": "sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==", + "requires": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", "requires": { - "@octokit/types": "^2.9.0" + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" } }, - "@octokit/plugin-rest-endpoint-methods": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.7.1.tgz", - "integrity": "sha512-YOlcE3bbk2ohaOVdRj9ww7AUYfmnS9hwJJGSj3/rFlNfMGOId4G8dLlhghXpdNSn05H0FRoI94UlFUKnn30Cyw==", + "@octokit/types": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.1.3.tgz", + "integrity": "sha512-fiTMrSGhqPKTDX8KY8Nlny6lBaeNgjrjAbv7fqed2OdcWwBfYFK1QAyspMIST986cKKetHMGo4pRhmbEjCKhRQ==", "requires": { - "@octokit/types": "^2.11.1", - "deprecation": "^2.3.1" + "@octokit/openapi-types": "^17.0.0" } } } }, "@octokit/types": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.11.1.tgz", - "integrity": "sha512-QaLoLkmFdfoNbk3eOzPv7vKrUY0nRJIYmZDoz/pTer4ICpqu80aSQTVHnnUxEFuURCiidig76CcxUOYC/bY3RQ==", + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "requires": { - "@types/node": ">= 8" + "@octokit/openapi-types": "^12.11.0" } }, "@sinonjs/commons": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.7.2.tgz", - "integrity": "sha512-+DUO6pnp3udV/v2VfUWgaY5BIE1IfT7lLfeDzPVeMT1XKkaAp9LgSI9x5RtrFQoZ9Oi0PgXQQHPaoKu7dCjVxw==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, "requires": { "type-detect": "4.0.8" } }, "@types/babel__core": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.7.tgz", - "integrity": "sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", + "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", "dev": true, "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "requires": { "@babel/types": "^7.0.0" } }, "@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -1135,29 +10182,33 @@ } }, "@types/babel__traverse": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.10.tgz", - "integrity": "sha512-74fNdUGrWsgIB/V9kTO5FGHPWYY6Eqn+3Z7L6Hc4e/BxjYV7puvBqp5HwsVYYfLm6iURYBNCx4Ut37OF9yitCw==", + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.5.tgz", + "integrity": "sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==", "dev": true, "requires": { "@babel/types": "^7.3.0" } }, - "@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==" - }, "@types/eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", "dev": true }, + "@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/istanbul-lib-coverage": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", - "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", "dev": true }, "@types/istanbul-lib-report": { @@ -1170,9 +10221,9 @@ } }, "@types/istanbul-reports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "*", @@ -1180,20 +10231,27 @@ } }, "@types/json-schema": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", - "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, "@types/node": { - "version": "13.13.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.1.tgz", - "integrity": "sha512-uysqysLJ+As9jqI5yqjwP3QJrhOcUwBjHUlUxPxjbplwKoILvXVsmYWEhfmAQlrPfbRZmhJB007o4L9sKqtHqQ==" + "version": "18.16.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.1.tgz", + "integrity": "sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA==", + "dev": true }, "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", "dev": true }, "@types/prettier": { @@ -1209,60 +10267,60 @@ "dev": true }, "@types/yargs": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", - "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", "dev": true, "requires": { "@types/yargs-parser": "*" } }, "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.29.0.tgz", - "integrity": "sha512-X/YAY7azKirENm4QRpT7OVmzok02cSkqeIcLmdz6gXUQG4Hk0Fi9oBAynSAyNXeGdMRuZvjBa0c1Lu0dn/u6VA==", + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "2.29.0", + "@typescript-eslint/experimental-utils": "2.34.0", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.0.0", "tsutils": "^3.17.1" } }, "@typescript-eslint/experimental-utils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.29.0.tgz", - "integrity": "sha512-H/6VJr6eWYstyqjWXBP2Nn1hQJyvJoFdDtsHxGiD+lEP7piGnGpb/ZQd+z1ZSB1F7dN+WsxUDh8+S4LwI+f3jw==", + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.29.0", + "@typescript-eslint/typescript-estree": "2.34.0", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" } }, "@typescript-eslint/parser": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.29.0.tgz", - "integrity": "sha512-H78M+jcu5Tf6m/5N8iiFblUUv+HJDguMSdFfzwa6vSg9lKR8Mk9BsgeSjO8l2EshKnJKcbv0e8IDDOvSNjl0EA==", + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.29.0", - "@typescript-eslint/typescript-estree": "2.29.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", "eslint-visitor-keys": "^1.1.0" } }, "@typescript-eslint/typescript-estree": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.29.0.tgz", - "integrity": "sha512-3YGbtnWy4az16Egy5Fj5CckkVlpIh0MADtAQza+jiMADRSKkjdpzZp/5WuvwK/Qib3Z0HtzrDFeWanS99dNhnA==", + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", "dev": true, "requires": { "debug": "^4.1.1", @@ -1270,16 +10328,8 @@ "glob": "^7.1.6", "is-glob": "^4.0.1", "lodash": "^4.17.15", - "semver": "^6.3.0", + "semver": "^7.3.2", "tsutils": "^3.17.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "@zeit/ncc": { @@ -1289,15 +10339,15 @@ "dev": true }, "abab": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", - "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, "acorn": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", - "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-globals": { @@ -1311,18 +10361,19 @@ }, "dependencies": { "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true } } }, "acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} }, "acorn-walk": { "version": "6.2.0", @@ -1331,9 +10382,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", @@ -1343,41 +10394,32 @@ } }, "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } + "type-fest": "^0.21.3" } }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -1396,7 +10438,7 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true }, "arr-flatten": { @@ -1408,46 +10450,85 @@ "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, "array-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==", "dev": true }, "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" } }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true }, "array.prototype.flat": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", - "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" } }, "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "requires": { "safer-buffer": "~2.1.0" @@ -1456,13 +10537,13 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true }, "astral-regex": { @@ -1474,7 +10555,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, "atob": { @@ -1483,16 +10564,22 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true }, "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", "dev": true }, "babel-eslint": { @@ -1510,103 +10597,76 @@ } }, "babel-jest": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.4.0.tgz", - "integrity": "sha512-p+epx4K0ypmHuCnd8BapfyOwWwosNCYhedetQey1awddtfmEX0MmdxctGl956uwUmjwXR5VSS5xJcGX9DvdIog==", + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", "dev": true, "requires": { - "@jest/transform": "^25.4.0", - "@jest/types": "^25.4.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", "@types/babel__core": "^7.1.7", "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.4.0", + "babel-preset-jest": "^25.5.0", "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", "slash": "^3.0.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" + }, + "dependencies": { + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "babel-plugin-jest-hoist": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.4.0.tgz", - "integrity": "sha512-M3a10JCtTyKevb0MjuH6tU+cP/NVQZ82QPADqI1RQYY1OphztsCeIeQmTsHmF/NS6m0E51Zl4QNsI3odXSQF5w==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", "dev": true, "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", "@types/babel__traverse": "^7.0.6" } }, "babel-preset-current-node-syntax": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz", - "integrity": "sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", + "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", "dev": true, "requires": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -1617,19 +10677,19 @@ } }, "babel-preset-jest": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.4.0.tgz", - "integrity": "sha512-PwFiEWflHdu3JCeTr0Pb9NcHHE34qWFnPQRVPvqQITx4CsDCzs6o05923I10XvLvn9nNsRHuiVgB72wG/90ZHQ==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^25.4.0", + "babel-plugin-jest-hoist": "^25.5.0", "babel-preset-current-node-syntax": "^0.1.2" } }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "base": { @@ -1650,56 +10710,27 @@ "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } } } }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, "requires": { "tweetnacl": "^0.14.3" } }, "before-after-hook": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", - "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" }, "bluebird": { "version": "3.7.2", @@ -1748,11 +10779,23 @@ "resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", "dev": true } } }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, "bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -1763,9 +10806,9 @@ } }, "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "cache-base": { @@ -1785,6 +10828,16 @@ "unset-value": "^1.0.0" } }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1797,6 +10850,12 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, + "caniuse-lite": { + "version": "1.0.30001481", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", + "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", + "dev": true + }, "capture-exit": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", @@ -1809,7 +10868,7 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, "chalk": { @@ -1819,30 +10878,6 @@ "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "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==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } } }, "chardet": { @@ -1872,11 +10907,68 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, @@ -1890,9 +10982,9 @@ } }, "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true }, "cliui": { @@ -1907,12 +10999,12 @@ }, "dependencies": { "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } } } @@ -1920,7 +11012,7 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, "collect-v8-coverage": { @@ -1932,7 +11024,7 @@ "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "requires": { "map-visit": "^1.0.0", @@ -1940,19 +11032,17 @@ } }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "color-name": "1.1.3" + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "combined-stream": { "version": "1.0.8", @@ -1972,57 +11062,51 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "convert-hrtime": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-2.0.0.tgz", - "integrity": "sha1-Gb+yyRYvnhHC8Ewsed4rfoCVxic=" + "integrity": "sha512-yDqabFVYEYlq5sSgg7bNFktjySVQjyXy1Rhv7HWyPVb+Qd/dQNev80wP1D/LkCd0gNpi3Z6GPhqsvUsNHF6sUg==" }, "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-js-pure": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", - "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, "requires": { "nice-try": "^1.0.4", "path-key": "^2.0.1", "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, "cssom": { @@ -2032,9 +11116,9 @@ "dev": true }, "cssstyle": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.2.0.tgz", - "integrity": "sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "requires": { "cssom": "~0.3.6" @@ -2051,7 +11135,7 @@ "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, "requires": { "assert-plus": "^1.0.0" @@ -2074,45 +11158,46 @@ "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true }, "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true }, "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, "define-property": { @@ -2123,43 +11208,12 @@ "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } } }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true }, "deprecation": { @@ -2168,9 +11222,9 @@ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" }, "detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==" }, "detect-newline": { "version": "3.1.0", @@ -2185,13 +11239,12 @@ "dev": true }, "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "esutils": "^2.0.2" } }, "domexception": { @@ -2206,13 +11259,19 @@ "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, + "electron-to-chromium": { + "version": "1.4.375", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.375.tgz", + "integrity": "sha512-czSmDyWG5qmb4TcwD5lhVDP6viDPtHfrIzw0CnzisRpziiUaq+ffptBHs70d9YkFtrxzaDvOmFPeVRVNwMt2rQ==", + "dev": true + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -2220,9 +11279,10 @@ "dev": true }, "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, "requires": { "once": "^1.4.0" } @@ -2237,22 +11297,65 @@ } }, "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.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", "dev": true, "requires": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.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", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", "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.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" } }, "es-to-primitive": { @@ -2266,16 +11369,22 @@ "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-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=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "escodegen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", - "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", "dev": true, "requires": { "esprima": "^4.0.1", @@ -2283,6 +11392,14 @@ "esutils": "^2.0.2", "optionator": "^0.8.1", "source-map": "~0.6.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } } }, "eslint": { @@ -2330,6 +11447,15 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -2341,15 +11467,21 @@ "supports-color": "^5.3.0" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { - "esutils": "^2.0.2" + "color-name": "1.1.3" } }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, "eslint-utils": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", @@ -2359,16 +11491,19 @@ "eslint-visitor-keys": "^1.1.0" } }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "regexpp": { @@ -2391,244 +11526,130 @@ "requires": { "has-flag": "^3.0.0" } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true } } }, "eslint-config-prettier": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", - "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", "dev": true, "requires": { "get-stdin": "^6.0.0" } }, "eslint-import-resolver-node": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz", - "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==", + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", "dev": true, "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" }, "dependencies": { "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, "eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, "requires": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" + "debug": "^3.2.7" }, "dependencies": { "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "find-up": { - "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": "^2.0.0" - } - }, - "locate-path": { - "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": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "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==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "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": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "find-up": "^2.1.0" + "ms": "^2.1.1" } } } }, "eslint-plugin-eslint-comments": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.1.2.tgz", - "integrity": "sha512-QexaqrNeteFfRTad96W+Vi4Zj1KFbkHHNMMaHZEYcovKav6gdomyGzaxSDSL3GoIyUOo078wRAdYlu1caiauIQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5", "ignore": "^5.0.5" + }, + "dependencies": { + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + } } }, "eslint-plugin-import": { - "version": "2.20.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz", - "integrity": "sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg==", - "dev": true, - "requires": { - "array-includes": "^3.0.3", - "array.prototype.flat": "^1.2.1", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.4.1", + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.0", - "read-pkg-up": "^2.0.0", - "resolve": "^1.12.0" + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" }, "dependencies": { "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, - "find-up": { + "doctrine": { "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": "^2.0.0" - } - }, - "locate-path": { - "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": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "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==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "esutils": "^2.0.2" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } } } }, @@ -2672,6 +11693,12 @@ "estraverse": "^4.1.1" } }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", @@ -2681,38 +11708,41 @@ } }, "eslint-plugin-prettier": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz", - "integrity": "sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" } }, "eslint-plugin-promise": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", - "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz", + "integrity": "sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==", "dev": true }, "eslint-plugin-react": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz", - "integrity": "sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ==", + "version": "7.32.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", + "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", "dev": true, "requires": { - "array-includes": "^3.1.1", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.2.3", - "object.entries": "^1.1.1", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", - "prop-types": "^15.7.2", - "resolve": "^1.15.1", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.2", - "xregexp": "^4.3.0" + "string.prototype.matchall": "^4.0.8" }, "dependencies": { "doctrine": { @@ -2724,6 +11754,17 @@ "esutils": "^2.0.2" } }, + "resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -2733,28 +11774,36 @@ } }, "eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } } }, "eslint-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", - "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" } }, "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true }, "espree": { @@ -2775,35 +11824,27 @@ "dev": true }, "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", - "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", - "dev": true - } } }, "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "^5.2.0" } }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "esutils": { @@ -2813,35 +11854,82 @@ "dev": true }, "exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", "dev": true }, "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "requires": { "debug": "^2.3.3", @@ -2865,68 +11953,104 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, "expect": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.4.0.tgz", - "integrity": "sha512-7BDIX99BTi12/sNGJXA9KMRcby4iAmu1xccBOhyKCyEhjcVKS3hPmHdA/4nSI9QGIOkUropKqr3vv7WMDM5lvQ==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", "dev": true, "requires": { - "@jest/types": "^25.4.0", + "@jest/types": "^25.5.0", "ansi-styles": "^4.0.0", "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.4.0", - "jest-message-util": "^25.4.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", "jest-regex-util": "^25.2.6" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } } }, "extend": { @@ -2938,22 +12062,11 @@ "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "external-editor": { @@ -2986,7 +12099,7 @@ "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -2995,53 +12108,30 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true } } }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "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-diff": { @@ -3059,18 +12149,18 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "requires": { "bser": "2.1.1" @@ -3130,16 +12220,25 @@ "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true }, "form-data": { @@ -3156,7 +12255,7 @@ "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "requires": { "map-cache": "^0.2.2" @@ -3165,13 +12264,13 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "fsevents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", - "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, @@ -3181,16 +12280,34 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true }, "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-caller-file": { @@ -3199,6 +12316,23 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, "get-stdin": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", @@ -3206,85 +12340,111 @@ "dev": true }, "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, "requires": { "pump": "^3.0.0" } }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, "requires": { "assert-plus": "^1.0.0" } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "define-properties": "^1.1.3" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" } }, "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", "dev": true, "optional": true }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "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" } }, @@ -3297,21 +12457,51 @@ "function-bind": "^1.1.1" } }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "has-symbols": { + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "requires": { "get-value": "^2.0.6", @@ -3322,7 +12512,7 @@ "has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -3332,7 +12522,7 @@ "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -3341,7 +12531,7 @@ "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -3352,7 +12542,7 @@ "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -3361,9 +12551,9 @@ } }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "html-encoding-sniffer": { @@ -3384,7 +12574,7 @@ "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -3408,15 +12598,15 @@ } }, "ignore": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", - "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -3424,9 +12614,9 @@ } }, "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -3436,12 +12626,12 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -3455,130 +12645,109 @@ "dev": true }, "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, "requires": { "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", + "chalk": "^4.1.0", "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", + "cli-width": "^3.0.0", "external-editor": "^3.0.3", "figures": "^3.0.0", - "lodash": "^4.17.15", + "lodash": "^4.17.19", "mute-stream": "0.0.8", "run-async": "^2.4.0", - "rxjs": "^6.5.3", + "rxjs": "^6.6.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0", "through": "^2.3.6" }, "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "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": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "ansi-regex": "^5.0.1" } } } }, "internal-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", - "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, "requires": { - "es-abstract": "^1.17.0-next.1", + "get-intrinsic": "^1.2.0", "has": "^1.0.3", - "side-channel": "^1.0.2" + "side-channel": "^1.0.4" } }, "ip-regex": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", "dev": true }, "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "kind-of": "^6.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" } }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -3586,9 +12755,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.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true }, "is-ci": { @@ -3600,61 +12769,75 @@ "ci-info": "^2.0.0" } }, + "is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "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", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "kind-of": "^6.0.0" } }, "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "optional": true + }, "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { @@ -3670,73 +12853,114 @@ "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" }, "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "requires": { - "isobject": "^3.0.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "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==", + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, "requires": { - "has": "^1.0.3" + "call-bind": "^1.0.2" } }, "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true }, "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "dev": true, "requires": { - "has-symbols": "^1.0.1" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" } }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } }, "is-windows": { "version": "1.0.2", @@ -3745,51 +12969,52 @@ "dev": true }, "is-wsl": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", - "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, - "optional": true + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", "dev": true }, "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true }, "istanbul-lib-instrument": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz", - "integrity": "sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, "requires": { "@babel/core": "^7.7.5", - "@babel/parser": "^7.7.5", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.0.0", "semver": "^6.3.0" @@ -3812,29 +13037,12 @@ "istanbul-lib-coverage": "^3.0.0", "make-dir": "^3.0.0", "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -3843,9 +13051,9 @@ } }, "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -3853,331 +13061,86 @@ } }, "jest": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.4.0.tgz", - "integrity": "sha512-XWipOheGB4wai5JfCYXd6vwsWNwM/dirjRoZgAa7H2wd8ODWbli2AiKjqG8AYhyx+8+5FBEdpO92VhGlBydzbw==", + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", + "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", "dev": true, "requires": { - "@jest/core": "^25.4.0", + "@jest/core": "^25.5.4", "import-local": "^3.0.2", - "jest-cli": "^25.4.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-cli": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.4.0.tgz", - "integrity": "sha512-usyrj1lzCJZMRN1r3QEdnn8e6E6yCx/QN7+B1sLoA68V7f3WlsxSSQfy0+BAwRiF4Hz2eHauf11GZG3PIfWTXQ==", - "dev": true, - "requires": { - "@jest/core": "^25.4.0", - "@jest/test-result": "^25.4.0", - "@jest/types": "^25.4.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^25.4.0", - "jest-util": "^25.4.0", - "jest-validate": "^25.4.0", - "prompts": "^2.0.1", - "realpath-native": "^2.0.0", - "yargs": "^15.3.1" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "jest-cli": "^25.5.4" } }, "jest-changed-files": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.4.0.tgz", - "integrity": "sha512-VR/rfJsEs4BVMkwOTuStRyS630fidFVekdw/lBaBQjx9KK3VZFOZ2c0fsom2fRp8pMCrCTP6LGna00o/DXGlqA==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", + "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", "dev": true, "requires": { - "@jest/types": "^25.4.0", + "@jest/types": "^25.5.0", "execa": "^3.2.0", "throat": "^5.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz", - "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "jest-config": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.4.0.tgz", - "integrity": "sha512-egT9aKYxMyMSQV1aqTgam0SkI5/I2P9qrKexN5r2uuM2+68ypnc+zPGmfUxK7p1UhE7dYH9SLBS7yb+TtmT1AA==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.4.0", - "@jest/types": "^25.4.0", - "babel-jest": "^25.4.0", - "chalk": "^3.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "jest-environment-jsdom": "^25.4.0", - "jest-environment-node": "^25.4.0", - "jest-get-type": "^25.2.6", - "jest-jasmine2": "^25.4.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.4.0", - "jest-util": "^25.4.0", - "jest-validate": "^25.4.0", - "micromatch": "^4.0.2", - "pretty-format": "^25.4.0", - "realpath-native": "^2.0.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, - "jest-diff": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.4.0.tgz", - "integrity": "sha512-kklLbJVXW0y8UKOWOdYhI6TH5MG6QAxrWiBMgQaPIuhj3dNFGirKCd+/xfplBXICQ7fI+3QcqHm9p9lWu1N6ug==", + "jest-cli": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", + "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", "dev": true, "requires": { + "@jest/core": "^25.5.4", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.4.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^25.5.4", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "prompts": "^2.0.1", + "realpath-native": "^2.0.0", + "yargs": "^15.3.1" + } + }, + "jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" + } + }, + "jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" } }, "jest-docblock": { @@ -4190,95 +13153,43 @@ } }, "jest-each": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.4.0.tgz", - "integrity": "sha512-lwRIJ8/vQU/6vq3nnSSUw1Y3nz5tkYSFIywGCZpUBd6WcRgpn8NmJoQICojbpZmsJOJNHm0BKdyuJ6Xdx+eDQQ==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", + "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", "dev": true, "requires": { - "@jest/types": "^25.4.0", + "@jest/types": "^25.5.0", "chalk": "^3.0.0", "jest-get-type": "^25.2.6", - "jest-util": "^25.4.0", - "pretty-format": "^25.4.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0" } }, "jest-environment-jsdom": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.4.0.tgz", - "integrity": "sha512-KTitVGMDrn2+pt7aZ8/yUTuS333w3pWt1Mf88vMntw7ZSBNDkRS6/4XLbFpWXYfWfp1FjcjQTOKzbK20oIehWQ==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", + "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", "dev": true, "requires": { - "@jest/environment": "^25.4.0", - "@jest/fake-timers": "^25.4.0", - "@jest/types": "^25.4.0", - "jest-mock": "^25.4.0", - "jest-util": "^25.4.0", + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", "jsdom": "^15.2.1" } }, "jest-environment-node": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.4.0.tgz", - "integrity": "sha512-wryZ18vsxEAKFH7Z74zi/y/SyI1j6UkVZ6QsllBuT/bWlahNfQjLNwFsgh/5u7O957dYFoXj4yfma4n4X6kU9A==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", "dev": true, "requires": { - "@jest/environment": "^25.4.0", - "@jest/fake-timers": "^25.4.0", - "@jest/types": "^25.4.0", - "jest-mock": "^25.4.0", - "jest-util": "^25.4.0", + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", "semver": "^6.3.0" }, "dependencies": { @@ -4297,19 +13208,20 @@ "dev": true }, "jest-haste-map": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.4.0.tgz", - "integrity": "sha512-5EoCe1gXfGC7jmXbKzqxESrgRcaO3SzWXGCnvp9BcT0CFMyrB1Q6LIsjl9RmvmJGQgW297TCfrdgiy574Rl9HQ==", + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", "dev": true, "requires": { - "@jest/types": "^25.4.0", + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "fsevents": "^2.1.2", - "graceful-fs": "^4.2.3", - "jest-serializer": "^25.2.6", - "jest-util": "^25.4.0", - "jest-worker": "^25.4.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", "micromatch": "^4.0.2", "sane": "^4.0.3", "walker": "^1.0.7", @@ -4328,794 +13240,268 @@ } }, "jest-jasmine2": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.4.0.tgz", - "integrity": "sha512-QccxnozujVKYNEhMQ1vREiz859fPN/XklOzfQjm2j9IGytAkUbSwjFRBtQbHaNZ88cItMpw02JnHGsIdfdpwxQ==", + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", + "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.4.0", - "@jest/source-map": "^25.2.6", - "@jest/test-result": "^25.4.0", - "@jest/types": "^25.4.0", + "@jest/environment": "^25.5.0", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", "chalk": "^3.0.0", "co": "^4.6.0", - "expect": "^25.4.0", + "expect": "^25.5.0", "is-generator-fn": "^2.0.0", - "jest-each": "^25.4.0", - "jest-matcher-utils": "^25.4.0", - "jest-message-util": "^25.4.0", - "jest-runtime": "^25.4.0", - "jest-snapshot": "^25.4.0", - "jest-util": "^25.4.0", - "pretty-format": "^25.4.0", + "jest-each": "^25.5.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0", "throat": "^5.0.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "jest-leak-detector": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.4.0.tgz", - "integrity": "sha512-7Y6Bqfv2xWsB+7w44dvZuLs5SQ//fzhETgOGG7Gq3TTGFdYvAgXGwV8z159RFZ6fXiCPm/szQ90CyfVos9JIFQ==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", "dev": true, "requires": { "jest-get-type": "^25.2.6", - "pretty-format": "^25.4.0" + "pretty-format": "^25.5.0" } }, "jest-matcher-utils": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.4.0.tgz", - "integrity": "sha512-yPMdtj7YDgXhnGbc66bowk8AkQ0YwClbbwk3Kzhn5GVDrciiCr27U4NJRbrqXbTdtxjImONITg2LiRIw650k5A==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", "dev": true, "requires": { "chalk": "^3.0.0", - "jest-diff": "^25.4.0", + "jest-diff": "^25.5.0", "jest-get-type": "^25.2.6", - "pretty-format": "^25.4.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "pretty-format": "^25.5.0" } }, "jest-message-util": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.4.0.tgz", - "integrity": "sha512-LYY9hRcVGgMeMwmdfh9tTjeux1OjZHMusq/E5f3tJN+dAoVVkJtq5ZUEPIcB7bpxDUt2zjUsrwg0EGgPQ+OhXQ==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.4.0", + "@jest/types": "^25.5.0", "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", "micromatch": "^4.0.2", "slash": "^3.0.0", "stack-utils": "^1.0.1" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "jest-mock": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.4.0.tgz", - "integrity": "sha512-MdazSfcYAUjJjuVTTnusLPzE0pE4VXpOUzWdj8sbM+q6abUjm3bATVPXFqTXrxSieR8ocpvQ9v/QaQCftioQFg==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", "dev": true, "requires": { - "@jest/types": "^25.4.0" + "@jest/types": "^25.5.0" } }, "jest-pnp-resolver": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", - "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", - "dev": true - }, - "jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", - "dev": true - }, - "jest-resolve": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.4.0.tgz", - "integrity": "sha512-wOsKqVDFWUiv8BtLMCC6uAJ/pHZkfFgoBTgPtmYlsprAjkxrr2U++ZnB3l5ykBMd2O24lXvf30SMAjJIW6k2aA==", - "dev": true, - "requires": { - "@jest/types": "^25.4.0", - "browser-resolve": "^1.11.3", - "chalk": "^3.0.0", - "jest-pnp-resolver": "^1.2.1", - "read-pkg-up": "^7.0.1", - "realpath-native": "^2.0.0", - "resolve": "^1.15.1", - "slash": "^3.0.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.4.0.tgz", - "integrity": "sha512-A0eoZXx6kLiuG1Ui7wITQPl04HwjLErKIJTt8GR3c7UoDAtzW84JtCrgrJ6Tkw6c6MwHEyAaLk7dEPml5pf48A==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, - "requires": { - "@jest/types": "^25.4.0", - "jest-regex-util": "^25.2.6", - "jest-snapshot": "^25.4.0" - } + "requires": {} }, - "jest-runner": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.4.0.tgz", - "integrity": "sha512-wWQSbVgj2e/1chFdMRKZdvlmA6p1IPujhpLT7TKNtCSl1B0PGBGvJjCaiBal/twaU2yfk8VKezHWexM8IliBfA==", - "dev": true, - "requires": { - "@jest/console": "^25.4.0", - "@jest/environment": "^25.4.0", - "@jest/test-result": "^25.4.0", - "@jest/types": "^25.4.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.3", - "jest-config": "^25.4.0", - "jest-docblock": "^25.3.0", - "jest-haste-map": "^25.4.0", - "jest-jasmine2": "^25.4.0", - "jest-leak-detector": "^25.4.0", - "jest-message-util": "^25.4.0", - "jest-resolve": "^25.4.0", - "jest-runtime": "^25.4.0", - "jest-util": "^25.4.0", - "jest-worker": "^25.4.0", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "dev": true + }, + "jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" } }, - "jest-runtime": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.4.0.tgz", - "integrity": "sha512-lgNJlCDULtXu9FumnwCyWlOub8iytijwsPNa30BKrSNtgoT6NUMXOPrZvsH06U6v0wgD/Igwz13nKA2wEKU2VA==", + "jest-resolve-dependencies": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", + "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-snapshot": "^25.5.1" + } + }, + "jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", "dev": true, "requires": { - "@jest/console": "^25.4.0", - "@jest/environment": "^25.4.0", - "@jest/source-map": "^25.2.6", - "@jest/test-result": "^25.4.0", - "@jest/transform": "^25.4.0", - "@jest/types": "^25.4.0", + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + } + }, + "jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "dev": true, + "requires": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", "@types/yargs": "^15.0.0", "chalk": "^3.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", "glob": "^7.1.3", - "graceful-fs": "^4.2.3", - "jest-config": "^25.4.0", - "jest-haste-map": "^25.4.0", - "jest-message-util": "^25.4.0", - "jest-mock": "^25.4.0", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.4.0", - "jest-snapshot": "^25.4.0", - "jest-util": "^25.4.0", - "jest-validate": "^25.4.0", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", "realpath-native": "^2.0.0", "slash": "^3.0.0", "strip-bom": "^4.0.0", "yargs": "^15.3.1" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "jest-serializer": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.2.6.tgz", - "integrity": "sha512-RMVCfZsezQS2Ww4kB5HJTMaMJ0asmC0BHlnobQC6yEtxiFKIxohFA4QSXSabKwSggaNkqxn6Z2VwdFCjhUWuiQ==", - "dev": true + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4" + } }, "jest-snapshot": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.4.0.tgz", - "integrity": "sha512-J4CJ0X2SaGheYRZdLz9CRHn9jUknVmlks4UBeu270hPAvdsauFXOhx9SQP2JtRzhnR3cvro/9N9KP83/uvFfRg==", + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", "dev": true, "requires": { "@babel/types": "^7.0.0", - "@jest/types": "^25.4.0", + "@jest/types": "^25.5.0", "@types/prettier": "^1.19.0", "chalk": "^3.0.0", - "expect": "^25.4.0", - "jest-diff": "^25.4.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.4.0", - "jest-message-util": "^25.4.0", - "jest-resolve": "^25.4.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", "make-dir": "^3.0.0", "natural-compare": "^1.4.0", - "pretty-format": "^25.4.0", + "pretty-format": "^25.5.0", "semver": "^6.3.0" }, "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, "jest-util": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.4.0.tgz", - "integrity": "sha512-WSZD59sBtAUjLv1hMeKbNZXmMcrLRWcYqpO8Dz8b4CeCTZpfNQw2q9uwrYAD+BbJoLJlu4ezVPwtAmM/9/SlZA==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "requires": { - "@jest/types": "^25.4.0", + "@jest/types": "^25.5.0", "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", "is-ci": "^2.0.0", "make-dir": "^3.0.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "jest-validate": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.4.0.tgz", - "integrity": "sha512-hvjmes/EFVJSoeP1yOl8qR8mAtMR3ToBkZeXrD/ZS9VxRyWDqQ/E1C5ucMTeSmEOGLipvdlyipiGbHJ+R1MQ0g==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", "dev": true, "requires": { - "@jest/types": "^25.4.0", + "@jest/types": "^25.5.0", "camelcase": "^5.3.1", "chalk": "^3.0.0", "jest-get-type": "^25.2.6", "leven": "^3.1.0", - "pretty-format": "^25.4.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "pretty-format": "^25.5.0" } }, "jest-watcher": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.4.0.tgz", - "integrity": "sha512-36IUfOSRELsKLB7k25j/wutx0aVuHFN6wO94gPNjQtQqFPa2rkOymmx9rM5EzbF3XBZZ2oqD9xbRVoYa2w86gw==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", "dev": true, "requires": { - "@jest/test-result": "^25.4.0", - "@jest/types": "^25.4.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", - "jest-util": "^25.4.0", + "jest-util": "^25.5.0", "string-length": "^3.1.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "jest-worker": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.4.0.tgz", - "integrity": "sha512-ghAs/1FtfYpMmYQ0AHqxV62XPvKdUDIBBApMZfly+E9JEmYh2K45G0R5dWxx986RN12pRCxsViwQVtGl+N4whw==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", "dev": true, "requires": { "merge-stream": "^2.0.0", "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "js-tokens": { @@ -5125,9 +13511,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.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -5137,7 +13523,7 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true }, "jsdom": { @@ -5180,16 +13566,16 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, "json-schema-traverse": { @@ -5201,44 +13587,41 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, "jsx-ast-utils": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz", - "integrity": "sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", "dev": true, "requires": { - "array-includes": "^3.0.3", - "object.assign": "^4.1.0" + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" } }, "kind-of": { @@ -5262,7 +13645,7 @@ "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "requires": { "prelude-ls": "~1.1.2", @@ -5270,40 +13653,11 @@ } }, "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -5314,21 +13668,21 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", "dev": true }, "lodash.unescape": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", - "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", + "integrity": "sha512-DhhGRshNS1aX6s5YdBE3njCCouPgnG29ebyHvImlZzXZf2SHgt+J08DHgytTPnpywNbO1Y8mNUFyQuIDBq2JZg==", "dev": true }, "lolex": { @@ -5349,15 +13703,19 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, - "macos-release": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz", - "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==" + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } }, "make-dir": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz", - "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "requires": { "semver": "^6.0.0" }, @@ -5370,24 +13728,24 @@ } }, "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "requires": { - "tmpl": "1.0.x" + "tmpl": "1.0.5" } }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "requires": { "object-visit": "^1.0.0" @@ -5400,28 +13758,28 @@ "dev": true }, "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true }, "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "requires": { - "mime-db": "1.43.0" + "mime-db": "1.52.0" } }, "mimic-fn": { @@ -5431,18 +13789,18 @@ "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, "mixin-deep": { @@ -5453,26 +13811,15 @@ "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" } }, "ms": { @@ -5509,29 +13856,48 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node-notifier": { @@ -5557,6 +13923,12 @@ } } }, + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -5567,6 +13939,14 @@ "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, "normalize-path": { @@ -5576,17 +13956,26 @@ "dev": true }, "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "^3.0.0" + }, + "dependencies": { + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + } } }, "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.4.tgz", + "integrity": "sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==", "dev": true }, "oauth-sign": { @@ -5598,13 +13987,13 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -5615,16 +14004,53 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -5633,9 +14059,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.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, "object-keys": { @@ -5647,81 +14073,88 @@ "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "requires": { "isobject": "^3.0.0" } }, "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.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "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.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" } }, "object.entries": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.1.tgz", - "integrity": "sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, "object.fromentries": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", - "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "requires": { "isobject": "^3.0.1" } }, "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.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } }, "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -5741,31 +14174,23 @@ "word-wrap": "~1.2.3" } }, - "os-name": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", - "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", - "requires": { - "macos-release": "^2.2.0", - "windows-release": "^3.1.0" - } - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true }, "p-each-series": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", - "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", "dev": true }, "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true }, "p-limit": { "version": "2.3.0", @@ -5801,21 +14226,21 @@ } }, "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", + "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "parse-link-header": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-link-header/-/parse-link-header-1.0.1.tgz", - "integrity": "sha1-vt/g0hGK64S+deewJUGeyKYRQKc=", + "integrity": "sha512-Z0gpfHmwCIKDr5rRzjypL+p93aHVWO7e+0rFcUl9E3sC67njjs+xHFenuboSXZGlvYtmQqRzRaE3iFpTUnLmFQ==", "requires": { "xtend": "~4.0.1" } @@ -5829,7 +14254,7 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true }, "path-exists": { @@ -5841,55 +14266,44 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "dev": true }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true }, "pkg-dir": { "version": "4.2.0", @@ -5909,13 +14323,13 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true }, "prettier": { @@ -5934,42 +14348,15 @@ } }, "pretty-format": { - "version": "25.4.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.4.0.tgz", - "integrity": "sha512-PI/2dpGjXK5HyXexLPZU/jw5T9Q6S1YVXxxVxco+LIqzUFHXIbKZKdUVt7GcX7QUCr31+3fzhi4gN4/wUYPVxQ==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "dev": true, "requires": { - "@jest/types": "^25.4.0", + "@jest/types": "^25.5.0", "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^16.12.0" - }, - "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } } }, "progress": { @@ -5979,51 +14366,52 @@ "dev": true }, "prompts": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", - "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { "kleur": "^3.0.3", - "sisteransi": "^1.0.4" + "sisteransi": "^1.0.5" } }, "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "dev": true, "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", - "react-is": "^16.8.1" + "react-is": "^16.13.1" } }, "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true }, "ramda": { @@ -6066,6 +14454,14 @@ "find-up": "^4.1.0", "read-pkg": "^5.2.0", "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } } }, "realpath-native": { @@ -6085,37 +14481,38 @@ } }, "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" } }, "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true }, "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true }, "request": { @@ -6155,25 +14552,31 @@ "psl": "^1.1.28", "punycode": "^2.1.1" } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true } } }, "request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "dev": true, "requires": { - "lodash": "^4.17.15" + "lodash": "^4.17.19" } }, "request-promise-native": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", "dev": true, "requires": { - "request-promise-core": "1.1.3", + "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" }, @@ -6193,7 +14596,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "require-main-filename": { @@ -6203,12 +14606,14 @@ "dev": true }, "resolve": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.16.1.tgz", - "integrity": "sha512-rmAglCSqWWMrrBv/XM6sW0NuRFiKViw/W4d9EbC4pt+49H8JwHy+mcGmALTEg504AUDcLTvb1T2q3E9AnmY+ig==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "requires": { - "path-parse": "^1.0.6" + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-cwd": { @@ -6237,7 +14642,7 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "dev": true }, "restore-cursor": { @@ -6272,38 +14677,46 @@ "dev": true }, "run-async": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", - "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "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.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "requires": { "ret": "~0.1.10" } }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -6358,7 +14771,7 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -6366,10 +14779,25 @@ } } }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -6381,7 +14809,7 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -6389,10 +14817,25 @@ } } }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -6401,7 +14844,7 @@ "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -6409,6 +14852,12 @@ } } }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -6433,16 +14882,31 @@ "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -6461,14 +14925,35 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "set-value": { @@ -6486,18 +14971,34 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } } } }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, "requires": { "shebang-regex": "^1.0.0" } @@ -6505,7 +15006,8 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true }, "shellwords": { "version": "0.1.1", @@ -6515,19 +15017,20 @@ "optional": true }, "side-channel": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz", - "integrity": "sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "requires": { - "es-abstract": "^1.17.0-next.1", - "object-inspect": "^1.7.0" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" } }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "sisteransi": { "version": "1.0.5", @@ -6552,10 +15055,34 @@ "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true } } @@ -6585,34 +15112,97 @@ "ms": "2.0.0" } }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true } } @@ -6631,40 +15221,11 @@ "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } } } }, @@ -6680,7 +15241,7 @@ "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -6689,9 +15250,9 @@ } }, "sort-keys": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.0.0.tgz", - "integrity": "sha512-hlJLzrn/VN49uyNkZ8+9b+0q9DjmmYcYOnbMQtpkLrYpPwRApDPZfmqbUfJnAA3sb/nRib+nDot7Zi/1ER1fuA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", + "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", "requires": { "is-plain-obj": "^2.0.0" } @@ -6716,9 +15277,9 @@ } }, "source-map-support": { - "version": "0.5.17", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.17.tgz", - "integrity": "sha512-bwdKOBZ5L0gFRh4KOxNap/J/MpvX9Yxsq9lFDx65s3o7F/NiHy7JRaGIS8MwW6tZPAq9UXE207Il0cfcb5yu/Q==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -6726,15 +15287,15 @@ } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "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.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -6742,15 +15303,15 @@ } }, "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -6758,9 +15319,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.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", "dev": true }, "split-string": { @@ -6775,13 +15336,13 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, "requires": { "asn1": "~0.2.3", @@ -6796,15 +15357,26 @@ } }, "stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", - "dev": true + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "requires": { "define-property": "^0.2.5", @@ -6814,18 +15386,75 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, "stealthy-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", "dev": true }, "string-length": { @@ -6839,81 +15468,74 @@ } }, "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "dependencies": { "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } } } }, "string.prototype.matchall": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", - "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "has-symbols": "^1.0.1", - "internal-slot": "^1.0.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.2" - } - }, - "string.prototype.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==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" } }, - "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==", + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, - "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==", + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, "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.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, "strip-ansi": { @@ -6926,9 +15548,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true } } @@ -6942,7 +15564,8 @@ "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true }, "strip-final-newline": { "version": "2.0.0", @@ -6951,46 +15574,35 @@ "dev": true }, "strip-json-comments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", - "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "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==", "requires": { "has-flag": "^4.0.0" } }, "supports-hyperlinks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", - "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dev": true, "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, "symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -7018,7 +15630,7 @@ "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true }, "string-width": { @@ -7058,7 +15670,7 @@ "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "throat": { @@ -7070,7 +15682,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "time-span": { @@ -7091,21 +15703,21 @@ } }, "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -7114,7 +15726,7 @@ "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -7157,31 +15769,65 @@ "tr46": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", "dev": true, "requires": { "punycode": "^2.1.0" } }, + "tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + } + } + }, "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "requires": { "tslib": "^1.8.1" } }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, "requires": { "safe-buffer": "^5.0.1" @@ -7190,13 +15836,13 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, "requires": { "prelude-ls": "~1.1.2" @@ -7209,11 +15855,22 @@ "dev": true }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, "typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -7222,6 +15879,25 @@ "is-typedarray": "^1.0.0" } }, + "typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "peer": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -7232,20 +15908,25 @@ "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } } }, "universal-user-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz", - "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==", - "requires": { - "os-name": "^3.1.0" - } + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "requires": { "has-value": "^0.3.1", @@ -7255,7 +15936,7 @@ "has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "requires": { "get-value": "^2.0.3", @@ -7266,7 +15947,7 @@ "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "requires": { "isarray": "1.0.0" @@ -7277,15 +15958,25 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true } } }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, "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.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -7294,7 +15985,7 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "dev": true }, "use": { @@ -7304,21 +15995,20 @@ "dev": true }, "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v8-compile-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "v8-to-istanbul": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.3.tgz", - "integrity": "sha512-sAjOC+Kki6aJVbUOXJbcR0MnbfjvBzwKZazEJymA2IX49uoOdEdk+4fBq5cXgYgiyKtAyrrJNtBZdOeDIF+Fng==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -7327,9 +16017,9 @@ }, "dependencies": { "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true } } @@ -7347,7 +16037,7 @@ "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -7376,12 +16066,12 @@ } }, "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "requires": { - "makeerror": "1.0.x" + "makeerror": "1.0.12" } }, "webidl-conversions": { @@ -7420,22 +16110,42 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, "requires": { "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "dev": true }, - "windows-release": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.0.tgz", - "integrity": "sha512-2HetyTg1Y+R+rUgrKeUEhAG/ZuOmTrI1NBb3ZyAGQMYmOJjBBPe4MTodghRkmLJZHwkuPi02anbeGP+Zf401LQ==", + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, "requires": { - "execa": "^1.0.0" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" } }, "word-wrap": { @@ -7455,38 +16165,13 @@ "strip-ansi": "^6.0.0" }, "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==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } } } @@ -7494,7 +16179,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "write": { "version": "1.0.3", @@ -7530,10 +16215,11 @@ } }, "ws": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", - "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", - "dev": true + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} }, "xml-name-validator": { "version": "3.0.0", @@ -7547,30 +16233,27 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, - "xregexp": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", - "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", - "dev": true, - "requires": { - "@babel/runtime-corejs3": "^7.8.3" - } - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, "yargs": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", - "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "requires": { "cliui": "^6.0.0", @@ -7583,7 +16266,7 @@ "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^18.1.1" + "yargs-parser": "^18.1.2" } }, "yargs-parser": { diff --git a/.github/actions/sync-data/package.json b/.github/actions/sync-data/package.json index dff7e41c6a..75f2125995 100644 --- a/.github/actions/sync-data/package.json +++ b/.github/actions/sync-data/package.json @@ -27,14 +27,14 @@ }, "homepage": "https://github.com/actions/javascript-action#readme", "dependencies": { - "@actions/core": "^1.1.1", + "@actions/core": "^1.10.0", "@actions/exec": "^1.0.3", "@actions/io": "^1.0.2", - "@octokit/core": "^2.5.0", + "@octokit/core": "3.6.0", "@octokit/graphql": "^4.3.1", "@octokit/plugin-retry": "^2.1.2", "@octokit/plugin-throttling": "toast-ninja/plugin-throttling.js", - "@octokit/rest": "^17.2.1", + "@octokit/rest": "19.0.7", "bluebird": "^3.7.1", "chalk": "^3.0.0", "date-fns": "^1.30.1", From a80e135705bd727256d039928375ca6e7eea7957 Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Thu, 27 Apr 2023 13:51:11 -0700 Subject: [PATCH 28/55] chore: temporarily add workflow dispatch for testing --- .github/workflows/project-stats.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/project-stats.yml b/.github/workflows/project-stats.yml index 9265e57f59..af21e7cc17 100644 --- a/.github/workflows/project-stats.yml +++ b/.github/workflows/project-stats.yml @@ -1,8 +1,9 @@ name: Project-Stats CI on: + workflow_dispatch: schedule: - - cron: "0 */4 * * *" # every 4 hours + - cron: '0 */4 * * *' # every 4 hours repository_dispatch: types: [sync-project-data] From 1b41ce5b3df6981db07537fe1f16f222375146ff Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Thu, 27 Apr 2023 13:57:03 -0700 Subject: [PATCH 29/55] chore: add workflow dispatch --- .github/workflows/project-stats.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/project-stats.yml b/.github/workflows/project-stats.yml index 75cd654efb..f6c6a5556e 100644 --- a/.github/workflows/project-stats.yml +++ b/.github/workflows/project-stats.yml @@ -1,6 +1,7 @@ name: Project-Stats CI on: + workflow_dispatch: schedule: - cron: '0 */4 * * *' # every 4 hours repository_dispatch: From f78f6d407cf6579d8c32ddd8a6ac6834fd116592 Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Thu, 27 Apr 2023 16:11:37 -0700 Subject: [PATCH 30/55] chore: Update GH actions to use env files to manage state --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bedaed84e4..d09d223817 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,7 +70,7 @@ jobs: git add THIRD_PARTY_NOTICES.md git commit -m 'chore: update third-party manifest and notices [skip-cd]' - echo "::set-output name=commit::true" + echo "commit=true" >> $GITHUB_OUTPUT else echo "No change in package.json, not regenerating third-party notices" fi From 30ee210d1205558adbb5f0424bee162e4f967bda Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Fri, 28 Apr 2023 14:07:21 -0700 Subject: [PATCH 31/55] chore: remove wiki-sync workflow --- .github/workflows/docs.yml | 50 -------------------------------------- 1 file changed, 50 deletions(-) delete mode 100644 .github/workflows/docs.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml deleted file mode 100644 index ac4daf915e..0000000000 --- a/.github/workflows/docs.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Docs/Wiki Sync - -on: - push: - branches: - - develop - paths: - - 'docs/**' - repository_dispatch: - types: [docs] - gollum: - -env: - GIT_AUTHOR_EMAIL: opensource+bot@newrelic.com - GIT_AUTHOR_NAME: nr-opensource-bot - -jobs: - job-sync-docs-to-wiki: - runs-on: ubuntu-latest - if: github.rest.event_name != 'gollum' - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Sync docs to wiki - uses: newrelic/wiki-sync-action@master - with: - source: docs - destination: wiki - token: ${{ secrets.GITHUB_TOKEN }} - gitAuthorName: ${{ env.GIT_AUTHOR_NAME }} - gitAuthorEmail: ${{ env.GIT_AUTHOR_EMAIL }} - - job-sync-wiki-to-docs: - runs-on: ubuntu-latest - if: github.rest.event_name == 'gollum' - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - with: - token: ${{ secrets.GITHUB_TOKEN }} # allows us to push back to repo - ref: develop - - name: Sync Wiki to Docs - uses: newrelic/wiki-sync-action@master - with: - source: wiki - destination: docs - token: ${{ secrets.GITHUB_TOKEN }} - gitAuthorName: ${{ env.GIT_AUTHOR_NAME }} - gitAuthorEmail: ${{ env.GIT_AUTHOR_EMAIL }} - branch: develop From 4ce0a55bac371c98ba78d53cf883308727459668 Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Fri, 28 Apr 2023 14:08:14 -0700 Subject: [PATCH 32/55] chore: remove workflow dispatch trigger enabled for testing --- .github/workflows/project-stats.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/project-stats.yml b/.github/workflows/project-stats.yml index f6c6a5556e..75cd654efb 100644 --- a/.github/workflows/project-stats.yml +++ b/.github/workflows/project-stats.yml @@ -1,7 +1,6 @@ name: Project-Stats CI on: - workflow_dispatch: schedule: - cron: '0 */4 * * *' # every 4 hours repository_dispatch: From a0759bfb68ba991b7d92a681ea86622bcc24733e Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Fri, 28 Apr 2023 14:13:27 -0700 Subject: [PATCH 33/55] chore: delete docs directory --- docs/Architecture.md | 18 --- docs/Build-and-Deploy.md | 61 ---------- docs/Contributing-Project-Data.md | 32 ----- docs/Emergency-Runbook.md | 78 ------------- docs/Home.md | 1 - docs/Open-Source-Category-Snippets.md | 110 ------------------ docs/Project-Structure.md | 12 -- .../opensource-website_architecture.png | Bin 173800 -> 0 bytes docs/images/screenshot_01.png | Bin 110776 -> 0 bytes docs/images/screenshot_02.png | Bin 168851 -> 0 bytes docs/images/screenshot_05.png | Bin 31881 -> 0 bytes docs/images/screenshot_06.png | Bin 75900 -> 0 bytes docs/images/screenshot_07.png | Bin 24553 -> 0 bytes 13 files changed, 312 deletions(-) delete mode 100644 docs/Architecture.md delete mode 100644 docs/Build-and-Deploy.md delete mode 100644 docs/Contributing-Project-Data.md delete mode 100644 docs/Emergency-Runbook.md delete mode 100644 docs/Home.md delete mode 100644 docs/Open-Source-Category-Snippets.md delete mode 100644 docs/Project-Structure.md delete mode 100644 docs/images/opensource-website_architecture.png delete mode 100644 docs/images/screenshot_01.png delete mode 100644 docs/images/screenshot_02.png delete mode 100644 docs/images/screenshot_05.png delete mode 100644 docs/images/screenshot_06.png delete mode 100644 docs/images/screenshot_07.png diff --git a/docs/Architecture.md b/docs/Architecture.md deleted file mode 100644 index 53407e701e..0000000000 --- a/docs/Architecture.md +++ /dev/null @@ -1,18 +0,0 @@ -![Architecture](./images/opensource-website_architecture.png) - -## Design Choice: Project stats automation commits will appear out of sync - -Every few hours as based on [this configuration](https://github.com/newrelic/opensource-website/blob/develop/.github/workflows/project-stats.yml#L4), a GitHub Action executes some automation to rebuild the [stats content](https://github.com/newrelic/opensource-website/tree/develop/src/data/project-stats) of this site for each project in the [src/data/projects](https://github.com/newrelic/opensource-website/tree/develop/src/data/projects) directory. - -[That automation](https://github.com/newrelic/opensource-website/tree/develop/.github/actions/sync-data) does a few things: - -1. Retrieve the latest stats from GitHub for each [newrelic](https://github.com/newrelic) and [newrelic-experimental](https://github.com/newrelic-experimental) project registered in the [projects](https://github.com/newrelic/opensource-website/tree/develop/src/data/projects) directory using the GitHub v3 and v4 API's -2. Write that data to the [staging/develop branch](https://github.com/newrelic/opensource-website/tree/develop/) -3. Selectively write the [develop](https://github.com/newrelic/opensource-website/tree/develop/) commit to the [production/main branch](https://github.com/newrelic/opensource-website/tree/main) -4. Kick off builds to both the [staging](https://staging-opensource.newrelic.com) and [production](https://opensource.newrelic.com) environments **without** revisioning the sites - -This was chosen so that functional changes in the [develop](https://github.com/newrelic/opensource-website/tree/develop/) branch could be tested, reviewed, and merged intentionally while automated content updates would be kept up-to-date in both branches. - -The consequence of this choice is that the commit to the [develop](https://github.com/newrelic/opensource-website/tree/develop/) branch is not the same identifier as the commit to the [main](https://github.com/newrelic/opensource-website/tree/main) branch for precisely the same change. In the case of a PR, from [staging](https://github.com/newrelic/opensource-website/tree/develop/) to [production](https://github.com/newrelic/opensource-website/tree/main), the commit histories will appear (in those areas) out of sync, without generating a merge conflict. - -Two commits for the same change isn't optimal, but it's the choice the original maintainers made. Feel free to criticize (and suggest a better solution) in an [issue](https://github.com/newrelic/opensource-website/issues). diff --git a/docs/Build-and-Deploy.md b/docs/Build-and-Deploy.md deleted file mode 100644 index 8fd0f86c69..0000000000 --- a/docs/Build-and-Deploy.md +++ /dev/null @@ -1,61 +0,0 @@ -# Overview - -This site is deployed utilizing Github Actions for continuous integration (CI) combined with AWS Amplify's branch-based continuous deployment (CD). - -* [GitHub Actions (CI)](https://github.com/newrelic/opensource-website/wiki/Build-and-Deploy#github-actions-ci) - * [Project Stats Generation](https://github.com/newrelic/opensource-website/wiki/Build-and-Deploy#project-stats-generation) -* [Staging/Production Deployment (CD)](https://github.com/newrelic/opensource-website/wiki/Build-and-Deploy#stagingproduction-deployment-cd) - * [Production Deployment](https://github.com/newrelic/opensource-website/wiki/Build-and-Deploy#production-deployment) - * [Staging Deployment](https://github.com/newrelic/opensource-website/wiki/Build-and-Deploy#staging-deployment) - -## Github Actions (CI) - -* Generation of project-stats data - * Triggered every 4 hours -* Docs/Wiki Sync - * Triggered on pushes to `develop` branch when the `docs` directory changes - * Triggered when wiki is edited (though this is discouraged - all changes _should_ happen in the docs directory via pull request) -* Pull Request build/test/lint checking - * Triggered on pull requests being opened -* Release management - * Triggered on pushes to `develop` following the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) standard. - -### Project-Stats Generation - -Every 4 hours, the project-stats workflow kicks off. After running this Action, it will commit and push to both the `develop` and `main` branch. Then, this will trigger builds on Amplify. - -## Staging/Production Deployment (CD) - -Amplify is connected to the `main` and `deploy` branches, and has webhooks set on the repo that listen for pushes to those branches. On push, an atomic deploy is triggered. If the build/deploy fails, the site will continue to run with the existing version. - -> Note: Any commit with `[skip-cd]` will bypass the build process in Amplify. - -### Production Deployment - -**Production** deployments are exclusively handled through merging a Pull Request into the `main` branch. If an ad-hoc deployment is required, please reach out to a project maintainer. - -**Opening a Pull Request**: the direction should be `develop` -> `main`. Once all checks have passed, merge via `Merge Pull Request` option (using `Create a merge commit` as the strategy). This will merge the commits in from develop (effectively "catching" `main` up with `develop`), plus issue the merge commit on top. - -**Merging**: use a [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/) message indicating this is a release: - -```sh -chore(release): updating production to vX.X.X -``` - -The intent is: semantic-release issued a new tag/release on the `develop` branch, so we are now promoting that to production. If for whatever reason there wasn't a release, include what the update is and provide the release at the end of the message: - -```sh -chore(release): content updates but no new site features [vX.X.X] -``` - -> Note: Since semantic-release is only running on the `develop` branch, there won't be a new tag/release cut from the main branch. We might revisit this idea in the future if the tooling evolves. - -### Staging Deployment - -**Staging** deployments will happen frequently, and should be used to QA changes prior to opening a Pull Request to `main`. - -These deployments happen automagically every time a commit is made to `develop`. This is handled via Amplify's Git-based continuous deployment. - -If it seems like builds/deploys should be occurring but aren't, please contact a project maintainer. - -> Final Note: PRs that are opened from a branch in this repo (not forks) will generate preview links on Amplify automatically. diff --git a/docs/Contributing-Project-Data.md b/docs/Contributing-Project-Data.md deleted file mode 100644 index 1ebf463977..0000000000 --- a/docs/Contributing-Project-Data.md +++ /dev/null @@ -1,32 +0,0 @@ -The process to contribute new data or update existing data to `opensource.newrelic.com` is the same. - -1. `Fork` this repository. -2. Add/update the two project metadata files (described below) to your forked `opensource-website` repository. -3. Submit a `Pull Request` back to this project containing your new or updated files. -4. If/when your `PR` is accepted, the automation in this project will populate a related file in the `src/data/project-stats` directory, build the site, and deploy a new version of the code (including your project's new data) to `opensource.newrelic.com`. - -To add your project to `opensource.newrelic.com`, you must include **the following two metadata files**. To accept and merge a PR, we check that these files are present, and if you're submitting an update, that at least one of these files has been changed. - -## 1. Project metadata (JSON) - -The JSON file contains the base information about the project detail pages, as well as the project search/exploration page. - -**File format:** `src/data/projects/[GITHUB_ORG_NAME]-[GITHUB_REPO_NAME].json` - -**Example:** [src/data/projects/newrelic-nr1-github.json](https://github.com/newrelic/opensource-website/blob/develop/src/data/projects/newrelic-nr1-github.json) - -**Template:** [examples/projects.json](https://github.com/newrelic/opensource-website/blob/develop/examples/projects.json) - -### Note about projectTags - -The Project metadata file contains a `projectTags` field that _must_ match the available Project Tags located in [src/data/project-tags/project-tags.json](https://github.com/newrelic/opensource-website/blob/develop/src/data/project-tags/project-tags.json). Also, don't include your project `language` as a tag; filtering on languages isn't meant to be facilitated by the `projectTags` field. If your project should warrant a new `tag`, please include an update to [src/data/project-tags/project-tags.json](https://github.com/newrelic/opensource-website/blob/develop/src/data/project-tags/project-tags.json) in your Pull Request. - -## 2. Project metadata (MDX) - -This MDX file contains the markdown and optional React components that populate the left-hand column of a project detail page. - -**File format:** `src/data/project-main-content/[GITHUB_ORG_NAME]-[GITHUB_REPO_NAME].mdx` - -**Example:** [src/data/project-main-content/newrelic-nr1-github.mdx](https://github.com/newrelic/opensource-website/blob/develop/src/data/project-main-content/newrelic-nr1-github.mdx) - -**Template:** [examples/project-main-content.mdx](https://github.com/newrelic/opensource-website/blob/develop/examples/project-main-content.mdx) diff --git a/docs/Emergency-Runbook.md b/docs/Emergency-Runbook.md deleted file mode 100644 index 788f8afb86..0000000000 --- a/docs/Emergency-Runbook.md +++ /dev/null @@ -1,78 +0,0 @@ -# Emergency Runbook -- opensource.newrelic.com - -This site is hosted on [Gatsby Cloud](https://www.gatsbyjs.com/products/cloud/). It is maintained and supported by New Relic's Docs Engineering team. If you have any questions or comments, please reach out to . - -## Alerts - -[Alerts](https://staging-one.newrelic.com/launcher/nrai.launcher?launcher=eyJhY2NvdW50SWQiOjEwMTc1MTA2fQ==&pane=eyJuZXJkbGV0SWQiOiJhbGVydGluZy11aS1jbGFzc2ljLnBvbGljaWVzIiwibmF2IjoiUG9saWNpZXMiLCJwb2xpY3lJZCI6IjUzNjE3In0=&sidebars[0]=eyJuZXJkbGV0SWQiOiJucmFpLm5hdmlnYXRpb24tYmFyIiwibmF2IjoiUG9saWNpZXMifQ==) - -To diagnose a particular alert, we've started a [Common Issues](#Common-Issues) - -## Rollback a release - -Use the Gatsby Cloud UI to select a previous build and redeploy that build. - -First, determine the desired previous build: - -1. Navigate to the [Releases](https://github.com/newrelic/opensource-website/releases) tab in the opensource-website repo. -2. Determine which release to rollback to. Typically, this should be `latest_release - 1`. However, you might need to go back further. Click the commit hash (in this case, `12f5187`). - ![Releases](./images/screenshot_01.png) -3. Use this commit message/hash value to locate the corresponding build in the Gatsby Cloud UI. - ![Commits](./images/screenshot_02.png) - -Steps to redeploy in Gatsby Cloud: - -1. Log into Gatsby Cloud using your GitHub login. -2. Select the `opensource-website` site, main branch. - ![Opensource Sites](./images/screenshot_05.png) -3. Click the `View production history` button to see all the previous builds that have run. -4. Find the appropriate build corresponding to the release you located from the repo releases. This is the build to roll back to. Click `Publish` to select that build for deployment. - ![Builds](./images/screenshot_06.png) -5. That should produce a pop up. Uncheck `Disable automatic deploys` and click `Publish`. ![Publish Pop Up](./images/screenshot_07.png) -6. Notify the hero in [#help-deven-websites](https://newrelic.slack.com/archives/C01R2TB8BUZ) of the rollback so we can address the underlying issue. - -## Environments - -This project supports three environments, local development, staging (a.ka. development), and production. - -Note: When building the site, Gatsby coerces anything you've set in `NODE_ENV` to `production` - -### Production - -Corresponds to the [`main`](https://github.com/newrelic/opensource-website/main/develop) branch - -New Relic Domains: [https://opensource.newrelic.com](https://opensource.newrelic.com) - -[New Relic Browser monitoring](https://staging-one.newrelic.com/launcher/nr1-core.explorer?launcher=eyJVTlNUQUJMRV9maWx0ZXJzIjpbeyJ0eXBlIjoic2VhcmNoUXVlcnkiLCJ2YWx1ZSI6Im9wZW5zb3VyY2UifV0sInRhZ3MiOnt9LCJ0aW1lUmFuZ2UiOnsiYmVnaW5fdGltZSI6bnVsbCwiZW5kX3RpbWUiOm51bGwsImR1cmF0aW9uIjoxODAwMDAwfSwiJGlzRmFsbGJhY2tUaW1lUmFuZ2UiOnRydWV9&pane=eyJuZXJkbGV0SWQiOiJicm93c2VyLWVudGl0eS1wcmV2aWV3LmJyb3dzZXItYXBwbGljYXRpb24tcHJldmlldyIsImlzT3ZlcnZpZXciOnRydWUsImVudGl0eUlkIjoiTVRBeE56VXhNRFo4UWxKUFYxTkZVbnhCVUZCTVNVTkJWRWxQVG53eU1UVTBOemsyTkEifQ==&sidebars[0]=eyJuZXJkbGV0SWQiOiJucjEtY29yZS5hY3Rpb25zIiwiZW50aXR5SWQiOiJNVEF4TnpVeE1EWjhRbEpQVjFORlVueEJVRkJNU1VOQlZFbFBUbnd5TVRVME56azJOQSIsInNlbGVjdGVkTmVyZGxldCI6eyJuZXJkbGV0SWQiOiJicm93c2VyLWVudGl0eS1wcmV2aWV3LmJyb3dzZXItYXBwbGljYXRpb24tcHJldmlldyIsImlzT3ZlcnZpZXciOnRydWV9fQ==) - -### Staging (Development) - -Corresponds to the [`develop`](https://github.com/newrelic/opensource-website/tree/develop) branch - -Gatsby Cloud Domain: [https://opensourcewebsitedevelop.gatsbyjs.io/](https://opensourcewebsitedevelop.gatsbyjs.io/) -New Relic Domains: - -- [https://beta-opensource.newrelic-external.com](https://beta-opensource.newrelic-external.com) -- [https://staging-opensource.newrelic.com](https://staging-opensource.newrelic.com) - -[New Relic Browser monitoring](https://staging-one.newrelic.com/launcher/nr1-core.explorer?launcher=eyJVTlNUQUJMRV9maWx0ZXJzIjpbeyJ0eXBlIjoic2VhcmNoUXVlcnkiLCJ2YWx1ZSI6Im9wZW5zb3VyY2UifV0sInRhZ3MiOnt9LCJ0aW1lUmFuZ2UiOnsiYmVnaW5fdGltZSI6bnVsbCwiZW5kX3RpbWUiOm51bGwsImR1cmF0aW9uIjoxODAwMDAwfSwiJGlzRmFsbGJhY2tUaW1lUmFuZ2UiOnRydWV9&pane=eyJuZXJkbGV0SWQiOiJicm93c2VyLWVudGl0eS1wcmV2aWV3LmJyb3dzZXItYXBwbGljYXRpb24tcHJldmlldyIsImlzT3ZlcnZpZXciOnRydWUsImVudGl0eUlkIjoiTVRBeE56VXhNRFo4UWxKUFYxTkZVbnhCVUZCTVNVTkJWRWxQVG53eU1UVTBPREl3TWciLCJhZ2dyZWdhdG9yIjoiQXZlcmFnZSJ9&sidebars[0]=eyJuZXJkbGV0SWQiOiJucjEtY29yZS5hY3Rpb25zIiwiZW50aXR5SWQiOiJNVEF4TnpVeE1EWjhRbEpQVjFORlVueEJVRkJNU1VOQlZFbFBUbnd5TVRVME9ESXdNZyIsInNlbGVjdGVkTmVyZGxldCI6eyJuZXJkbGV0SWQiOiJicm93c2VyLWVudGl0eS1wcmV2aWV3LmJyb3dzZXItYXBwbGljYXRpb24tcHJldmlldyIsImlzT3ZlcnZpZXciOnRydWV9fQ==) - -### Local Development - -To run, execute `yarn start` from the root of this repository. - -Should you want Tessen instrumentation while developing locally, you will need to add an additional configuration option to `gatsby-config.js` for the `gatsby-plugin-newrelic` plugin. - -## Architecture - -The site is a combination of [template-generated pages](https://github.com/newrelic/opensource-website/tree/develop/src/templates) and [single pages](https://github.com/newrelic/opensource-website/tree/develop/src/pages) built using React, markup, and [MDX](https://mdxjs.com/). - -Beyond the CI/CD automation, GitHub Actions are used to keep the [stats data](https://github.com/newrelic/opensource-website/tree/develop/src/data/project-stats) related to each [project](https://github.com/newrelic/opensource-website/tree/develop/src/data/projects) updated on a [scheduled basis](https://github.com/newrelic/opensource-website/blob/develop/.github/workflows/ci.yml#L4). Some of the architecture consequences of that change are described [here](https://github.com/newrelic/opensource-website#design-choice-project-stats-automation-commits-will-appear-out-of-sync). - -## Common Issues - -No issues yet! - -## Help/Support Channels - -- [@hero in #help-deven-websites](https://newrelic.slack.com/archives/C01R2TB8BUZ) diff --git a/docs/Home.md b/docs/Home.md deleted file mode 100644 index 3f24ed6532..0000000000 --- a/docs/Home.md +++ /dev/null @@ -1 +0,0 @@ -Welcome to the opensource-website wiki! diff --git a/docs/Open-Source-Category-Snippets.md b/docs/Open-Source-Category-Snippets.md deleted file mode 100644 index 4b453f6294..0000000000 --- a/docs/Open-Source-Category-Snippets.md +++ /dev/null @@ -1,110 +0,0 @@ -# Open Source `Category` README Requirements - -This document provides the code snippets for New Relic open source README files. You can find the details on meaning of these category [here](https://opensource.newrelic.com/oss-category/). - -## Category Headers - -Every public repository in the `newrelic` and `newrelic-experimental` GitHub organizations must leverage one of the following categories. - -- New Relic Experimental -- Community Project -- Community Plus -- New Relic One Catalog Project -- Example Code -- Archived - -## Category: [New Relic Experimental](#category-new-relic-experimental) - -
New Relic Open Source experimental project banner. - -### Category Description and Requirements - -See [here](https://opensource.newrelic.com/oss-category/#new-relic-experimental). - -### Code snippet - -**Required:** Copy and paste the following into the **top** of your project's README. - -```html -New Relic Open Source experimental project banner. -``` - -## Category: [Community Project](#category-community-project) - -New Relic Open Source community project banner. - -### Category Description and Requirements - -See [here](https://opensource.newrelic.com/oss-category/#community-project). - -### Code snippet - -**Required:** Copy and paste the following into the **top** of your project's README. - -```html -New Relic Open Source community project banner. -``` - -## Category: [Community Plus](#category-community-plus) - -New Relic Open Source community plus project banner. - -### Category Description and Requirements - -See [here](https://opensource.newrelic.com/oss-category/#community-plus). - -### Code snippet - -**Required:** Copy and paste the following into the **top** of your project's README. - -```html -New Relic Open Source community plus project banner. -``` - -## Category: [New Relic One Catalog Project](#category-new-relic-one-catalog-project) - -New Relic Open Source catalog project banner. - -### Category Description and Requirements - -See [here](https://opensource.newrelic.com/oss-category/#new-relic-one-catalog-project). - -### Code snippet - -**Required:** Copy and paste the following into the **top** of your project's README. - -```html -New Relic Open Source catalog project banner. -``` - -## Category: [Example Code](#category-example-code) - -New Relic Open Source example project banner. - -### Category Description and Requirements - -See [here](https://opensource.newrelic.com/oss-category/#example-code). - -### Code snippet - -**Required:** Copy and paste the following into the **top** of your project's README. - -```html -New Relic Open Source example project banner. -``` - -## Category: [Archived](#category-archived) - -New Relic Open Source archived project banner. - -### Category Description and Requirements - -See [here](https://opensource.newrelic.com/oss-category/#archived). - -### Code snippet - -**Required:** Copy and paste the following into the **top** of your project's README. - -```html -New Relic Open Source archived project banner. -``` diff --git a/docs/Project-Structure.md b/docs/Project-Structure.md deleted file mode 100644 index b9258db7ad..0000000000 --- a/docs/Project-Structure.md +++ /dev/null @@ -1,12 +0,0 @@ -This project is made up of a few components: - -- React code, components, and page templates built primarily in [MDX](https://mdxjs.com/) -- Static [data](https://github.com/newrelic/opensource-website/tree/main/src/data) for each open source project listed and promoted on the site, including: - - `project metadata` in the data/projects directory - - `project stats` in the data/project-stats directory - - `markdown content` in the data/project-main-content directory -- Static pages that promote New Relic's engagement in open standards and highlight specific features and collections in New Relic's open source capabilities. -- Automation to handle: - - updating dynamic data in the `project stats` and `project metadata` directories - - building the static pages - - deploying the site to a static hosting platform diff --git a/docs/images/opensource-website_architecture.png b/docs/images/opensource-website_architecture.png deleted file mode 100644 index 0387ef1a233eb61102523b65707ab71cfee25ecc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173800 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�Yi2D+)4fX?`3`6S^BaA@I4z|IZQ(}` zH;n$w%Wiy>a(6&}#)7Eo4E^Apvy(kxGcNMWw}~-13Jp!nge(GsDj2Ln$`77g*#Yn62ye_|XI%eKEiqthfI>emF{c-UI&d{R6h=WH#~zvlh`_F94q`t2fmzY4?9p6IQIOw zQ42{v!zbde4yY))ioy3s3lz+c7kCu;pfSG~pgk)0`|O@+$Uf}<{Yk-0x-FqnGCjX;$y{rO>#m1vhL0D;;i3=+kX`_9M&SrwSQm#REJ7^8j}mj-9PZ zo+@#ygJSn=tk9>$SYhleg)_}}>VTD2Q^V`#mMb%0DixlvNOIZrv-%(=g_{FeFl_Ve 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%0DL~YR{PQqH;<09;cQX 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
y^pAeSM%VKt!h=jq#RkazT5Ul~ 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

6DQ(%dhO^!EGB0QfRq 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 Nxnyy%`26jk{s%`Rt}Xxo diff --git a/docs/images/screenshot_02.png b/docs/images/screenshot_02.png deleted file mode 100644 index 7a55273c9fb0f3a4c55225193acedd73617400c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168851 zcmbTd1yo(VwkV8CaVb*VwYa;xQ{16=ad)@k?pi4B?ry~$iaTuFVPkLiJLk%~=Z^pU z-&(s3@_Lqn(-MH&ZY$sfc6^SWVSYtQ;K`X^Q|jDfrF^Qg;6&RBb5m(!i2n@;D`9 zIXGHZXD#R@h62qQH8gPz4WY%raBDqGF9Z4#>XRK>jxQU9{#DPv9uA%lCUaTM-&9$g zF7Ux_c^+A`1jeu4;z!XP4o^a}{Mx;UF)_b(Y5 zv!$)_n|xm~qsF9x0wcynHHZHg2oatM-Xjae;z0s7z(n1gtxc_J#5^G3ctkwFs>UT5 zlv-+^0%NCoLQY{%VhiOjw|leC4R+Kd!d)&E2kGHVBz(&7QKk^=2v-=N9Q7syl}ebe zBG0hy!&JyJJYbA?1D=`pgl;mc`^p^Y`sRr{NE0KqExw=pgO-3F@I5`_ef`6AG9(AS zVR6L1GJM&i5whK$e2lu$r-Aj^ie)afDiU8RG^=Z5Fqw~ZKN8r1C9OieAy1HU;p-tU zH5TC$Br$OZ!$TJPS}O@~gah{Gd2{3;9pq=fLrBHl3sRgqy&Xl?z$R0ixPLdgc(?wp zlId1UPaU7R-b9UbhkU7y9F#6aRR!-U5l=|c40j>nP}!r9uy$t3G-l>>6_TuyQ+l$4 zW!52&MqIcw!CkoyhpOzV5MoAURHse3G;VCEQ_8|D8bxW6?a_F)gK+4S`Xx=cg+?

DRW1AoY#nX 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

All Categories @@ -291,6 +292,7 @@ exports[`ProjectSearchInput Renders correctly 1`] = ` >
All Project Tags @@ -324,6 +326,7 @@ exports[`ProjectSearchInput Renders correctly 1`] = ` >
All Language Types From 8d79c8a48ea8f73f4ddf61797faf5cb72505394a Mon Sep 17 00:00:00 2001 From: nr-opensource-bot Date: Mon, 22 May 2023 19:57:51 +0000 Subject: [PATCH 37/55] chore(release): 1.24.6 ## [1.24.6](https://github.com/newrelic/opensource-website/compare/v1.24.5...v1.24.6) (2023-05-22) ### Bug Fixes * Search input no longer sets darkMode to undefined ([56a1a67](https://github.com/newrelic/opensource-website/commit/56a1a676b14b9c60aa75dbda5516392d029f3c04)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72a3cbcbff..af2c0afd17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [1.24.6](https://github.com/newrelic/opensource-website/compare/v1.24.5...v1.24.6) (2023-05-22) + + +### Bug Fixes + +* Search input no longer sets darkMode to undefined ([56a1a67](https://github.com/newrelic/opensource-website/commit/56a1a676b14b9c60aa75dbda5516392d029f3c04)) + ## [1.24.5](https://github.com/newrelic/opensource-website/compare/v1.24.4...v1.24.5) (2023-04-18) diff --git a/package.json b/package.json index d1e86df58a..d8e78e0d71 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "opensource-website", "private": true, "description": "Data, code, and automation for opensource.newrelic.com", - "version": "1.24.5", + "version": "1.24.6", "author": "Open Source Team at New Relic ", "dependencies": { "@emotion/react": "^11.1.5", From 8d6f25b0b2d3705d08393e9642d7a2a6678a9294 Mon Sep 17 00:00:00 2001 From: Sunny Zanchi Date: Fri, 26 May 2023 12:28:30 -0400 Subject: [PATCH 38/55] bump theme to 7.1.0 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d8e78e0d71..c00fd3daba 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "@emotion/styled": "^11.3.0", "@mdx-js/mdx": "^1.6.22", "@mdx-js/react": "^1.6.22", - "@newrelic/gatsby-theme-newrelic": "^7.0.4", + "@newrelic/gatsby-theme-newrelic": "7.1.0", "@splitsoftware/splitio-react": "^1.2.4", "date-fns": "^2.17.0", "feather-icons": "^4.28.0", diff --git a/yarn.lock b/yarn.lock index 7af9eb3c34..3812bdd8ad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2647,10 +2647,10 @@ eslint-plugin-promise "^4.2.1" eslint-plugin-react "^7.14.3" -"@newrelic/gatsby-theme-newrelic@^7.0.4": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-7.0.4.tgz#771be9c145345e0257b2fd7431094a41b17261e7" - integrity sha512-SHiXc0u6Wn1YPDYQg874iJI0zhLyWCYUT0fku02RWkM1j7yAiP/oR0hRlkcJn6nrLuztNeZsQZ8q9fmAZHZARA== +"@newrelic/gatsby-theme-newrelic@7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-7.1.0.tgz#4676d6535a41ef92d078c034048879975ececcde" + integrity sha512-CiNjExC3p+Ot0zEjunUVusiFqNiiv3LrGsoHCbkJ7tQd3/nAxyVA4xjGNgvFvXittLip7FWrFR0+vhULmbrSEg== dependencies: "@wry/equality" "^0.4.0" "@xstate/react" "^1.3.1" From ad8e5a2920a99008e51c5de1740ecf35e6894674 Mon Sep 17 00:00:00 2001 From: ndesai-newrelic <89222514+ndesai-newrelic@users.noreply.github.com> Date: Wed, 31 May 2023 09:54:54 -0500 Subject: [PATCH 39/55] chore: add newrelic hybrid mobile agents/plugins --- .../newrelic-newrelic-capacitor-plugin.mdx | 11 +++++++++ .../newrelic-newrelic-flutter-agent.mdx | 11 +++++++++ .../newrelic-newrelic-react-native-agent.mdx | 10 ++++++++ .../newrelic--newrelic-capacitor-plugin.json | 24 +++++++++++++++++++ .../newrelic--newrelic-cordova-plugin.json | 24 +++++++++++++++++++ .../newrelic--newrelic-flutter-agent.json | 24 +++++++++++++++++++ .../projects/newrelic-react-native-agent.json | 24 +++++++++++++++++++ 7 files changed, 128 insertions(+) create mode 100644 src/data/project-main-content/newrelic-newrelic-capacitor-plugin.mdx create mode 100644 src/data/project-main-content/newrelic-newrelic-flutter-agent.mdx create mode 100644 src/data/project-main-content/newrelic-newrelic-react-native-agent.mdx create mode 100644 src/data/projects/newrelic--newrelic-capacitor-plugin.json create mode 100644 src/data/projects/newrelic--newrelic-cordova-plugin.json create mode 100644 src/data/projects/newrelic--newrelic-flutter-agent.json create mode 100644 src/data/projects/newrelic-react-native-agent.json diff --git a/src/data/project-main-content/newrelic-newrelic-capacitor-plugin.mdx b/src/data/project-main-content/newrelic-newrelic-capacitor-plugin.mdx new file mode 100644 index 0000000000..f679541109 --- /dev/null +++ b/src/data/project-main-content/newrelic-newrelic-capacitor-plugin.mdx @@ -0,0 +1,11 @@ +--- +path: "/projects/newrelic/newrelic-capacitor-plugin" +date: "05/31/2023" +title: "New Relic plugin for Capacitor" +projectConfig: "src/data/projects/newrelic-newrelic-capacitor-plugin.json" +--- + +## Getting Started + +Go to the project's [README](https://github.com/newrelic/newrelic-capacitor-plugin#readme) for setup and usage details. + diff --git a/src/data/project-main-content/newrelic-newrelic-flutter-agent.mdx b/src/data/project-main-content/newrelic-newrelic-flutter-agent.mdx new file mode 100644 index 0000000000..1d1c717b89 --- /dev/null +++ b/src/data/project-main-content/newrelic-newrelic-flutter-agent.mdx @@ -0,0 +1,11 @@ +--- +path: "/projects/newrelic/newrelic-flutter-agent" +date: "05/31/2023" +title: "New Relic Agent for Flutter" +projectConfig: "src/data/projects/newrelic-newrelic-flutter-agent.json" +--- + +## Getting Started + +Go to the project's [README](https://github.com/newrelic/newrelic-flutter-agent#readme) for setup and usage details. + diff --git a/src/data/project-main-content/newrelic-newrelic-react-native-agent.mdx b/src/data/project-main-content/newrelic-newrelic-react-native-agent.mdx new file mode 100644 index 0000000000..8715dc3e86 --- /dev/null +++ b/src/data/project-main-content/newrelic-newrelic-react-native-agent.mdx @@ -0,0 +1,10 @@ +--- +path: "/projects/newrelic/newrelic-react-native-agent" +date: "05/31/2023" +title: "New Relic React Native Agent" +projectConfig: "src/data/projects/newrelic-react-native-agent.json" +--- + +## Getting Started + +Go to the project's [README](https://github.com/newrelic/newrelic-react-native-agent) for setup and usage details. \ No newline at end of file diff --git a/src/data/projects/newrelic--newrelic-capacitor-plugin.json b/src/data/projects/newrelic--newrelic-capacitor-plugin.json new file mode 100644 index 0000000000..8a232efad1 --- /dev/null +++ b/src/data/projects/newrelic--newrelic-capacitor-plugin.json @@ -0,0 +1,24 @@ +{ + "name": "newrelic-capacitor-plugin", + "fullName": "newrelic/newrelic-capacitor-plugin", + "slug": "newrelic-capacitor-plugin", + "owner": { + "login": "newrelic", + "type": "Organization" + }, + "title": "New Relic Capacitor Plugin", + "supportUrl": null, + "githubUrl": "https://github.com/newrelic/newrelic-capacitor-plugin", + "permalink": "https://opensource.newrelic.com/projects/newrelic/newrelic-capacitor-plugin", + "iconUrl": null, + "shortDescription": "Automated instrumentation for Capacitor Framework", + "description": "The official New Relic plugin for Capacitor", + "ossCategory": "community-project", + "primaryLanguage": "TypeScript,Java,Swift", + "projectTags": [ "agent","mobile"], + "acceptsContributions": true, + "website": { + "title": "New Relic Capacitor Plugin", + "url": "https://github.com/newrelic/newrelic-capacitor-plugin" + } +} \ No newline at end of file diff --git a/src/data/projects/newrelic--newrelic-cordova-plugin.json b/src/data/projects/newrelic--newrelic-cordova-plugin.json new file mode 100644 index 0000000000..d32db97352 --- /dev/null +++ b/src/data/projects/newrelic--newrelic-cordova-plugin.json @@ -0,0 +1,24 @@ +{ + "name": "newrelic-cordova-plugin", + "fullName": "newrelic/newrelic-cordova-plugin", + "slug": "newrelic-cordova-plugin", + "owner": { + "login": "newrelic", + "type": "Organization" + }, + "title": "New Relic Cordova Plugin", + "supportUrl": null, + "githubUrl": "https://github.com/newrelic/newrelic-cordova-plugin", + "permalink": "https://opensource.newrelic.com/projects/newrelic/newrelic-cordova-plugin", + "iconUrl": null, + "shortDescription": "Automated instrumentation for Cordova Framework", + "description": "The official New Relic plugin for Cordova", + "ossCategory": "community-project", + "primaryLanguage": "JavaScript,Java,Objective-C", + "projectTags": [ "agent","mobile"], + "acceptsContributions": true, + "website": { + "title": "New Relic Cordova Plugin", + "url": "https://github.com/newrelic/newrelic-cordova-plugin" + } +} \ No newline at end of file diff --git a/src/data/projects/newrelic--newrelic-flutter-agent.json b/src/data/projects/newrelic--newrelic-flutter-agent.json new file mode 100644 index 0000000000..0fae44125d --- /dev/null +++ b/src/data/projects/newrelic--newrelic-flutter-agent.json @@ -0,0 +1,24 @@ +{ + "name": "newrelic-flutter-agent", + "fullName": "newrelic/newrelic-flutter-agent", + "slug": "newrelic-flutter-agent", + "owner": { + "login": "newrelic", + "type": "Organization" + }, + "title": "New Relic Flutter Agent", + "supportUrl": null, + "githubUrl": "https://github.com/newrelic/newrelic-flutter-agent", + "permalink": "https://opensource.newrelic.com/projects/newrelic/newrelic-flutter-agent", + "iconUrl": null, + "shortDescription": "Automated instrumentation for Flutter", + "description": "The official New Relic agent for Flutter", + "ossCategory": "community-project", + "primaryLanguage": "Dart,Kotlin,Swift", + "projectTags": [ "agent","mobile"], + "acceptsContributions": true, + "website": { + "title": "New Relic Flutter Agent", + "url": "https://github.com/newrelic/newrelic-flutter-agent" + } +} \ No newline at end of file diff --git a/src/data/projects/newrelic-react-native-agent.json b/src/data/projects/newrelic-react-native-agent.json new file mode 100644 index 0000000000..f9263ed133 --- /dev/null +++ b/src/data/projects/newrelic-react-native-agent.json @@ -0,0 +1,24 @@ +{ + "name": "newrelic-react-native-agent", + "fullName": "newrelic/newrelic-react-native-agent", + "slug": "newrelic-react-native-agent", + "owner": { + "login": "newrelic", + "type": "Organization" + }, + "title": "New Relic React Native Agent", + "supportUrl": null, + "githubUrl": "https://github.com/newrelic/newrelic-react-native-agent", + "permalink": "https://opensource.newrelic.com/projects/newrelic/newrelic-react-native-agent", + "iconUrl": null, + "shortDescription": "Automated instrumentation for React Native", + "description": "The official New Relic agent for React Native", + "ossCategory": "community-project", + "primaryLanguage": "JavaScript,Java,Objective-C", + "projectTags": [ "agent" ], + "acceptsContributions": true, + "website": { + "title": "New Relic React Native Agent", + "url": "https://github.com/newrelic/newrelic-react-native-agent" + } +} \ No newline at end of file From 73b5b624f3c74d21978ceee6bd66507a2fa2bd93 Mon Sep 17 00:00:00 2001 From: ndesai-newrelic <89222514+ndesai-newrelic@users.noreply.github.com> Date: Wed, 31 May 2023 13:59:15 -0500 Subject: [PATCH 40/55] Update newrelic-react-native-agent.json with Mobile Tag --- src/data/projects/newrelic-react-native-agent.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/projects/newrelic-react-native-agent.json b/src/data/projects/newrelic-react-native-agent.json index f9263ed133..510bc692d4 100644 --- a/src/data/projects/newrelic-react-native-agent.json +++ b/src/data/projects/newrelic-react-native-agent.json @@ -15,10 +15,10 @@ "description": "The official New Relic agent for React Native", "ossCategory": "community-project", "primaryLanguage": "JavaScript,Java,Objective-C", - "projectTags": [ "agent" ], + "projectTags": [ "agent","mobile"], "acceptsContributions": true, "website": { "title": "New Relic React Native Agent", "url": "https://github.com/newrelic/newrelic-react-native-agent" } -} \ No newline at end of file +} From 3ca4340abc6ee7551905b54f9e9e9ef21afb0097 Mon Sep 17 00:00:00 2001 From: Clinton Date: Fri, 2 Jun 2023 10:04:27 -0700 Subject: [PATCH 41/55] fix: remove lorem ipsum from collection page --- src/pages/collection.js | 32 +------------------------------- 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/src/pages/collection.js b/src/pages/collection.js index 299f445902..fd4d0bf87f 100644 --- a/src/pages/collection.js +++ b/src/pages/collection.js @@ -35,37 +35,7 @@ const CollectionPage = ({ data, pageContext }) => { editLink={pageContext.fileRelativePath} > - -
-
- -
- -Install - -## [Optional] Features - -### [Optional] Feature 1 - -### [Optional] Feature 2 - -## [Required] Getting Started - -### [Optional] Code example highlighting an extension or customization point - -This is how you extend New Relic React Native Module in following way. - -```js -import React, { useState } from 'react'; -import PropTypes from 'prop-types'; - -// I'm a comment; -const aMadeUpFunction = () => { -if (myArray.length !== 100) { - myArray.map((item, i) => item * i); -} else { - return null -} -}; -``` -### [Optional] More details about the project - -## [Optional] What people are saying - -Praesent commodo cursus magna, vel scelerisque nisl consectetur et. -Maecenas faucibus mollis interdum. Lorem ipsum dolor sit amet, -consectetur adipiscing elit. - -> [name="Leslie Webb"] Vitae enim egestas egestas at gravida arcu, amet in. Facilisis at -massa amet, aliquet dui semper. Sit placerat sed et ornare faucibus -egestas sit nisl, diam. - -> [name="Bildad the Shuhite"] Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis -vestibulum. Maecenas faucibus mollis interdum. Maecenas sed diam -eget risus varius blandit sit amet non magna. ---> diff --git a/src/data/project-main-content/newrelic-experimental-newrelic-xamarin-binding.mdx b/src/data/project-main-content/newrelic-experimental-newrelic-xamarin-binding.mdx deleted file mode 100644 index af4776cf14..0000000000 --- a/src/data/project-main-content/newrelic-experimental-newrelic-xamarin-binding.mdx +++ /dev/null @@ -1,21 +0,0 @@ ---- -path: "/projects/newrelic-experimental/newrelic-xamarin-binding" -date: "01/29/2021" -title: "New Relic Mobile Agent - Xamarin Bindings" -projectConfig: "src/data/projects/newrelic-experimental-newrelic-xamarin-binding.json" ---- - - -import { Link } from 'gatsby'; - -Xamarin bindings for both the Android and iOS version of the New Relic Mobile agent/SDK. - -Installation Instructions - -## Features - -Xamarin bindings for both the Android and iOS version of the New Relic Mobile agent/SDK. - -## Getting Started - -Please visit the [README](https://github.com/newrelic-experimental/newrelic-xamarin-binding#readme) for setup and usage details. diff --git a/src/data/projects/newrelic-experimental-NewRelicReactNativeModule.json b/src/data/projects/newrelic-experimental-NewRelicReactNativeModule.json deleted file mode 100644 index cb7f490d3d..0000000000 --- a/src/data/projects/newrelic-experimental-NewRelicReactNativeModule.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "NewRelicReactNativeModule", - "fullName": "newrelic-experimental/NewRelicReactNativeModule", - "slug": "newrelic-experimental-NewRelicReactNativeModule", - "owner": { - "login": "newrelic-experimental", - "type": "Organization" - }, - "title": "New Relic React Native Module", - "supportUrl": null, - "githubUrl": "https://github.com/newrelic-experimental/NewRelicReactNativeModule", - "permalink": "https://opensource.newrelic.com/projects/newrelic-experimental/NewRelicReactNativeModule", - "defaultBranch": "main", - "contributingGuideUrl": null, - "iconUrl": "https://github.com/newrelic-experimental/NewRelicReactNativeModule/blob/main/icon.png?raw=true", - "shortDescription": "Experimental module for mobile applications built with React Native.", - "description": "Experimental module for mobile applications built with React Native.", - "ossCategory": "new-relic-experimental", - "primaryLanguage": "Java", - "projectTags": ["agent"], - "acceptsContributions": true, - "website": { - "title": "New Relic React Native Module", - "url": "https://github.com/newrelic-experimental/NewRelicReactNativeModule" - } -} diff --git a/src/data/projects/newrelic-experimental-newrelic-xamarin-binding.json b/src/data/projects/newrelic-experimental-newrelic-xamarin-binding.json deleted file mode 100644 index 840c0518cf..0000000000 --- a/src/data/projects/newrelic-experimental-newrelic-xamarin-binding.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "newrelic-xamarin-binding", - "fullName": "newrelic-experimental/newrelic-xamarin-binding", - "slug": "newrelic-experimental-newrelic-xamarin-binding", - "owner": { - "login": "newrelic-experimental", - "type": "Organization" - }, - "title": "New Relic Mobile Agent - Xamarin Bindings", - "supportUrl": null, - "githubUrl": "https://github.com/newrelic-experimental/newrelic-xamarin-binding", - "permalink": "https://opensource.newrelic.com/projects/newrelic-experimental/newrelic-xamarin-binding", - "iconUrl": null, - "shortDescription": "Xamarin bindings for both the Android and iOS version of the New Relic Mobile agent/SDK.", - "description": "Xamarin bindings for both the Android and iOS version of the New Relic Mobile agent/SDK.", - "ossCategory": "new-relic-experimental", - "primaryLanguage": "C#", - "projectTags": [ - "nrlabs", - "mobile" - ], - "acceptsContributions": true, - "website": { - "title": "New Relic Mobile Agent - Xamarin Bindings", - "url": "https://github.com/newrelic-experimental/newrelic-xamarin-binding" - } -} From 0c0cc731ee87172d60df582829dedc539066f6ae Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Mon, 12 Jun 2023 12:01:10 -0700 Subject: [PATCH 45/55] chore: Update action node version --- .github/actions/sync-data/action.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/actions/sync-data/action.yml b/.github/actions/sync-data/action.yml index 59cd2d1f05..3a15d0230f 100644 --- a/.github/actions/sync-data/action.yml +++ b/.github/actions/sync-data/action.yml @@ -1,13 +1,13 @@ -name: "sync-data" -description: "Sync project and project-stats data" +name: 'sync-data' +description: 'Sync project and project-stats data' inputs: github-token: - description: "Token to use for authentication to GitHub APIs" + description: 'Token to use for authentication to GitHub APIs' required: true projects: - description: "true/false - determines whether to fetch and sync the project data" + description: 'true/false - determines whether to fetch and sync the project data' project-stats: - description: "true/false - determines whether to fetch and sync the project-stats data" + description: 'true/false - determines whether to fetch and sync the project-stats data' runs: - using: "node12" - main: "dist/index.js" + using: 'node16' + main: 'dist/index.js' From e8a3febd6ad22ff1a314dc52699bb16b55e23bda Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Mon, 12 Jun 2023 12:01:25 -0700 Subject: [PATCH 46/55] chore: Add workflow dispatch option --- .github/workflows/project-stats.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/project-stats.yml b/.github/workflows/project-stats.yml index 75cd654efb..f6c6a5556e 100644 --- a/.github/workflows/project-stats.yml +++ b/.github/workflows/project-stats.yml @@ -1,6 +1,7 @@ name: Project-Stats CI on: + workflow_dispatch: schedule: - cron: '0 */4 * * *' # every 4 hours repository_dispatch: From d1d849d91f01a3b06a9aababda83fdd8b1d9af7b Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Mon, 12 Jun 2023 12:01:50 -0700 Subject: [PATCH 47/55] fix: Update octokit packages --- .github/actions/sync-data/package-lock.json | 384 ++++++++++---------- .github/actions/sync-data/package.json | 6 +- 2 files changed, 200 insertions(+), 190 deletions(-) diff --git a/.github/actions/sync-data/package-lock.json b/.github/actions/sync-data/package-lock.json index 818851a425..48eaeda859 100644 --- a/.github/actions/sync-data/package-lock.json +++ b/.github/actions/sync-data/package-lock.json @@ -12,10 +12,10 @@ "@actions/core": "^1.10.0", "@actions/exec": "^1.0.3", "@actions/io": "^1.0.2", - "@octokit/core": "3.6.0", + "@octokit/core": "^4.0.0", "@octokit/graphql": "^4.3.1", "@octokit/plugin-retry": "^2.1.2", - "@octokit/plugin-throttling": "toast-ninja/plugin-throttling.js", + "@octokit/plugin-throttling": "5.2.3", "@octokit/rest": "19.0.7", "bluebird": "^3.7.1", "chalk": "^3.0.0", @@ -975,25 +975,96 @@ } }, "node_modules/@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "dependencies": { - "@octokit/types": "^6.0.3" + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", + "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==", + "engines": { + "node": ">= 14" } }, "node_modules/@octokit/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", - "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.1.tgz", + "integrity": "sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==", + "dependencies": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/core/node_modules/@octokit/endpoint": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", + "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", + "dependencies": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/core/node_modules/@octokit/graphql": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", + "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", + "dependencies": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/core/node_modules/@octokit/openapi-types": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", + "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==" + }, + "node_modules/@octokit/core/node_modules/@octokit/request": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.5.tgz", + "integrity": "sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ==", + "dependencies": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/core/node_modules/@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/core/node_modules/@octokit/types": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.1.tgz", + "integrity": "sha512-zfJzyXLHC42sWcn2kS+oZ/DRvFZBYCCbfInZtwp1Uopl1qh6pRg4NSP/wFX1xCOpXvEkctiG1sxlSlkZmzvxdw==", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" } }, "node_modules/@octokit/endpoint": { @@ -1066,15 +1137,31 @@ } }, "node_modules/@octokit/plugin-throttling": { - "version": "0.0.0-development", - "resolved": "git+ssh://git@github.com/toast-ninja/plugin-throttling.js.git#746aa097bef110709eacc64ea1e30afd7921121f", - "license": "MIT", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-5.2.3.tgz", + "integrity": "sha512-C9CFg9mrf6cugneKiaI841iG8DOv6P5XXkjmiNNut+swePxQ7RWEdAZRp5rJoE1hjsIqiYcKa/ZkOQ+ujPI39Q==", "dependencies": { - "@octokit/types": "^6.0.1", + "@octokit/types": "^9.0.0", "bottleneck": "^2.15.3" }, + "engines": { + "node": ">= 14" + }, "peerDependencies": { - "@octokit/core": "^3.0.0" + "@octokit/core": "^4.0.0" + } + }, + "node_modules/@octokit/plugin-throttling/node_modules/@octokit/openapi-types": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", + "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==" + }, + "node_modules/@octokit/plugin-throttling/node_modules/@octokit/types": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.1.tgz", + "integrity": "sha512-zfJzyXLHC42sWcn2kS+oZ/DRvFZBYCCbfInZtwp1Uopl1qh6pRg4NSP/wFX1xCOpXvEkctiG1sxlSlkZmzvxdw==", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" } }, "node_modules/@octokit/request": { @@ -1114,60 +1201,6 @@ "node": ">= 14" } }, - "node_modules/@octokit/rest/node_modules/@octokit/auth-token": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz", - "integrity": "sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==", - "dependencies": { - "@octokit/types": "^9.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@octokit/rest/node_modules/@octokit/core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.0.tgz", - "integrity": "sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==", - "dependencies": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@octokit/rest/node_modules/@octokit/endpoint": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz", - "integrity": "sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==", - "dependencies": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@octokit/rest/node_modules/@octokit/graphql": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.5.tgz", - "integrity": "sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==", - "dependencies": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/@octokit/rest/node_modules/@octokit/openapi-types": { "version": "17.0.0", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.0.0.tgz", @@ -1187,35 +1220,6 @@ "@octokit/core": ">=4" } }, - "node_modules/@octokit/rest/node_modules/@octokit/request": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.3.tgz", - "integrity": "sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==", - "dependencies": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@octokit/rest/node_modules/@octokit/request-error": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", - "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", - "dependencies": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/@octokit/rest/node_modules/@octokit/types": { "version": "9.1.3", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.1.3.tgz", @@ -9918,25 +9922,80 @@ } }, "@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "requires": { - "@octokit/types": "^6.0.3" - } + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", + "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==" }, "@octokit/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", - "requires": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.1.tgz", + "integrity": "sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==", + "requires": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/endpoint": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", + "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", + "requires": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/graphql": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", + "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", + "requires": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/openapi-types": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", + "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==" + }, + "@octokit/request": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.5.tgz", + "integrity": "sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ==", + "requires": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "requires": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/types": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.1.tgz", + "integrity": "sha512-zfJzyXLHC42sWcn2kS+oZ/DRvFZBYCCbfInZtwp1Uopl1qh6pRg4NSP/wFX1xCOpXvEkctiG1sxlSlkZmzvxdw==", + "requires": { + "@octokit/openapi-types": "^18.0.0" + } + } } }, "@octokit/endpoint": { @@ -10003,11 +10062,27 @@ } }, "@octokit/plugin-throttling": { - "version": "git+ssh://git@github.com/toast-ninja/plugin-throttling.js.git#746aa097bef110709eacc64ea1e30afd7921121f", - "from": "@octokit/plugin-throttling@toast-ninja/plugin-throttling.js", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-5.2.3.tgz", + "integrity": "sha512-C9CFg9mrf6cugneKiaI841iG8DOv6P5XXkjmiNNut+swePxQ7RWEdAZRp5rJoE1hjsIqiYcKa/ZkOQ+ujPI39Q==", "requires": { - "@octokit/types": "^6.0.1", + "@octokit/types": "^9.0.0", "bottleneck": "^2.15.3" + }, + "dependencies": { + "@octokit/openapi-types": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", + "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==" + }, + "@octokit/types": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.1.tgz", + "integrity": "sha512-zfJzyXLHC42sWcn2kS+oZ/DRvFZBYCCbfInZtwp1Uopl1qh6pRg4NSP/wFX1xCOpXvEkctiG1sxlSlkZmzvxdw==", + "requires": { + "@octokit/openapi-types": "^18.0.0" + } + } } }, "@octokit/request": { @@ -10044,48 +10119,6 @@ "@octokit/plugin-rest-endpoint-methods": "^7.0.0" }, "dependencies": { - "@octokit/auth-token": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz", - "integrity": "sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==", - "requires": { - "@octokit/types": "^9.0.0" - } - }, - "@octokit/core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.0.tgz", - "integrity": "sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==", - "requires": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/endpoint": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz", - "integrity": "sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==", - "requires": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/graphql": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.5.tgz", - "integrity": "sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==", - "requires": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "universal-user-agent": "^6.0.0" - } - }, "@octokit/openapi-types": { "version": "17.0.0", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.0.0.tgz", @@ -10099,29 +10132,6 @@ "@octokit/types": "^9.0.0" } }, - "@octokit/request": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.3.tgz", - "integrity": "sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==", - "requires": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/request-error": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", - "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", - "requires": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, "@octokit/types": { "version": "9.1.3", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.1.3.tgz", diff --git a/.github/actions/sync-data/package.json b/.github/actions/sync-data/package.json index 75f2125995..a5f1a3cd19 100644 --- a/.github/actions/sync-data/package.json +++ b/.github/actions/sync-data/package.json @@ -30,10 +30,10 @@ "@actions/core": "^1.10.0", "@actions/exec": "^1.0.3", "@actions/io": "^1.0.2", - "@octokit/core": "3.6.0", + "@octokit/core": "^4.0.0", "@octokit/graphql": "^4.3.1", "@octokit/plugin-retry": "^2.1.2", - "@octokit/plugin-throttling": "toast-ninja/plugin-throttling.js", + "@octokit/plugin-throttling": "5.2.3", "@octokit/rest": "19.0.7", "bluebird": "^3.7.1", "chalk": "^3.0.0", @@ -51,4 +51,4 @@ "jest": "^25.2.4", "prettier": "^1.19.1" } -} +} \ No newline at end of file From 7328810c77b190b60060ea11f118f8d16b68efca Mon Sep 17 00:00:00 2001 From: nr-opensource-bot Date: Mon, 12 Jun 2023 19:41:28 +0000 Subject: [PATCH 48/55] chore(release): 1.24.8 ## [1.24.8](https://github.com/newrelic/opensource-website/compare/v1.24.7...v1.24.8) (2023-06-12) ### Bug Fixes * Update octokit packages ([d1d849d](https://github.com/newrelic/opensource-website/commit/d1d849d91f01a3b06a9aababda83fdd8b1d9af7b)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6db544f025..8a149bd6fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [1.24.8](https://github.com/newrelic/opensource-website/compare/v1.24.7...v1.24.8) (2023-06-12) + + +### Bug Fixes + +* Update octokit packages ([d1d849d](https://github.com/newrelic/opensource-website/commit/d1d849d91f01a3b06a9aababda83fdd8b1d9af7b)) + ## [1.24.7](https://github.com/newrelic/opensource-website/compare/v1.24.6...v1.24.7) (2023-06-05) diff --git a/package.json b/package.json index 02add9ecba..2a886ffffb 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "opensource-website", "private": true, "description": "Data, code, and automation for opensource.newrelic.com", - "version": "1.24.7", + "version": "1.24.8", "author": "Open Source Team at New Relic ", "dependencies": { "@emotion/react": "^11.1.5", From f4a996eb5bbca53f7674edc0a695133d05baa114 Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Mon, 12 Jun 2023 13:19:12 -0700 Subject: [PATCH 49/55] chore: Update dist --- .github/actions/sync-data/dist/index.js | 4266 ++++++++++------------- 1 file changed, 1805 insertions(+), 2461 deletions(-) diff --git a/.github/actions/sync-data/dist/index.js b/.github/actions/sync-data/dist/index.js index 5e71ff9091..3f3a3220ba 100644 --- a/.github/actions/sync-data/dist/index.js +++ b/.github/actions/sync-data/dist/index.js @@ -1839,51 +1839,9 @@ module.exports = flatten; /* 52 */, /* 53 */, /* 54 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -/** - * Calls an input function `n` times, returning an array containing the results - * of those function calls. - * - * `fn` is passed one argument: The current value of `n`, which begins at `0` - * and is gradually incremented to `n - 1`. - * - * @func - * @memberOf R - * @since v0.2.3 - * @category List - * @sig (Number -> a) -> Number -> [a] - * @param {Function} fn The function to invoke. Passed one argument, the current value of `n`. - * @param {Number} n A value between `0` and `n - 1`. Increments after each function call. - * @return {Array} An array containing the return values of all calls to `fn`. - * @see R.repeat - * @example - * - * R.times(R.identity, 5); //=> [0, 1, 2, 3, 4] - * @symb R.times(f, 0) = [] - * @symb R.times(f, 1) = [f(0)] - * @symb R.times(f, 2) = [f(0), f(1)] - */ - - -var times = /*#__PURE__*/_curry2(function times(fn, n) { - var len = Number(n); - var idx = 0; - var list; +/***/ (function(module) { - if (len < 0 || isNaN(len)) { - throw new RangeError('n must be a non-negative number'); - } - list = new Array(len); - while (idx < len) { - list[idx] = fn(idx); - idx += 1; - } - return list; -}); -module.exports = times; +module.exports = [["0","\u0000",127],["8ea1","。",62],["a1a1"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇"],["a2a1","◆□■△▲▽▼※〒→←↑↓〓"],["a2ba","∈∋⊆⊇⊂⊃∪∩"],["a2ca","∧∨¬⇒⇔∀∃"],["a2dc","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["a2f2","ʼn♯♭♪†‡¶"],["a2fe","◯"],["a3b0","0",9],["a3c1","A",25],["a3e1","a",25],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a8a1","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["ada1","①",19,"Ⅰ",9],["adc0","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["addf","㍻〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["b0a1","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["b1a1","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応"],["b2a1","押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["b3a1","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱"],["b4a1","粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["b5a1","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京"],["b6a1","供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["b7a1","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲"],["b8a1","検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["b9a1","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込"],["baa1","此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["bba1","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時"],["bca1","次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["bda1","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償"],["bea1","勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["bfa1","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾"],["c0a1","澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["c1a1","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎"],["c2a1","臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["c3a1","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵"],["c4a1","帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["c5a1","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到"],["c6a1","董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["c7a1","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦"],["c8a1","函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["c9a1","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服"],["caa1","福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["cba1","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満"],["cca1","漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["cda1","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃"],["cea1","痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["cfa1","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["d0a1","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["d1a1","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨"],["d2a1","辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["d3a1","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉"],["d4a1","圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["d5a1","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓"],["d6a1","屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["d7a1","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚"],["d8a1","悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["d9a1","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼"],["daa1","據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["dba1","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍"],["dca1","棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["dda1","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾"],["dea1","沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["dfa1","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼"],["e0a1","燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e1a1","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"],["e2a1","癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e3a1","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐"],["e4a1","筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e5a1","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺"],["e6a1","罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e7a1","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙"],["e8a1","茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e9a1","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙"],["eaa1","蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["eba1","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫"],["eca1","譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["eda1","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸"],["eea1","遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["efa1","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞"],["f0a1","陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["f1a1","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷"],["f2a1","髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["f3a1","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠"],["f4a1","堯槇遙瑤凜熙"],["f9a1","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德"],["faa1","忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["fba1","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚"],["fca1","釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["fcf1","ⅰ",9,"¬¦'""],["8fa2af","˘ˇ¸˙˝¯˛˚~΄΅"],["8fa2c2","¡¦¿"],["8fa2eb","ºª©®™¤№"],["8fa6e1","ΆΈΉΊΪ"],["8fa6e7","Ό"],["8fa6e9","ΎΫ"],["8fa6ec","Ώ"],["8fa6f1","άέήίϊΐόςύϋΰώ"],["8fa7c2","Ђ",10,"ЎЏ"],["8fa7f2","ђ",10,"ўџ"],["8fa9a1","ÆĐ"],["8fa9a4","Ħ"],["8fa9a6","IJ"],["8fa9a8","ŁĿ"],["8fa9ab","ŊØŒ"],["8fa9af","ŦÞ"],["8fa9c1","æđðħıijĸłŀʼnŋøœßŧþ"],["8faaa1","ÁÀÄÂĂǍĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"],["8faaba","ĜĞĢĠĤÍÌÏÎǏİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑŐŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴÝŸŶŹŽŻ"],["8faba1","áàäâăǎāąåãćĉčçċďéèëêěėēęǵĝğ"],["8fabbd","ġĥíìïîǐ"],["8fabc5","īįĩĵķĺľļńňņñóòöôǒőōõŕřŗśŝšşťţúùüûŭǔűūųůũǘǜǚǖŵýÿŷźžż"],["8fb0a1","丂丄丅丌丒丟丣两丨丫丮丯丰丵乀乁乄乇乑乚乜乣乨乩乴乵乹乿亍亖亗亝亯亹仃仐仚仛仠仡仢仨仯仱仳仵份仾仿伀伂伃伈伋伌伒伕伖众伙伮伱你伳伵伷伹伻伾佀佂佈佉佋佌佒佔佖佘佟佣佪佬佮佱佷佸佹佺佽佾侁侂侄"],["8fb1a1","侅侉侊侌侎侐侒侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀俁俅俆俈俉俋俌俍俏俒俜俠俢俰俲俼俽俿倀倁倄倇倊倌倎倐倓倗倘倛倜倝倞倢倧倮倰倲倳倵偀偁偂偅偆偊偌偎偑偒偓偗偙偟偠偢偣偦偧偪偭偰偱倻傁傃傄傆傊傎傏傐"],["8fb2a1","傒傓傔傖傛傜傞",4,"傪傯傰傹傺傽僀僃僄僇僌僎僐僓僔僘僜僝僟僢僤僦僨僩僯僱僶僺僾儃儆儇儈儋儌儍儎僲儐儗儙儛儜儝儞儣儧儨儬儭儯儱儳儴儵儸儹兂兊兏兓兕兗兘兟兤兦兾冃冄冋冎冘冝冡冣冭冸冺冼冾冿凂"],["8fb3a1","凈减凑凒凓凕凘凞凢凥凮凲凳凴凷刁刂刅划刓刕刖刘刢刨刱刲刵刼剅剉剕剗剘剚剜剟剠剡剦剮剷剸剹劀劂劅劊劌劓劕劖劗劘劚劜劤劥劦劧劯劰劶劷劸劺劻劽勀勄勆勈勌勏勑勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"],["8fb4a1","匌匑匓匘匛匜匞匟匥匧匨匩匫匬匭匰匲匵匼匽匾卂卌卋卙卛卡卣卥卬卭卲卹卾厃厇厈厎厓厔厙厝厡厤厪厫厯厲厴厵厷厸厺厽叀叅叏叒叓叕叚叝叞叠另叧叵吂吓吚吡吧吨吪启吱吴吵呃呄呇呍呏呞呢呤呦呧呩呫呭呮呴呿"],["8fb5a1","咁咃咅咈咉咍咑咕咖咜咟咡咦咧咩咪咭咮咱咷咹咺咻咿哆哊响哎哠哪哬哯哶哼哾哿唀唁唅唈唉唌唍唎唕唪唫唲唵唶唻唼唽啁啇啉啊啍啐啑啘啚啛啞啠啡啤啦啿喁喂喆喈喎喏喑喒喓喔喗喣喤喭喲喿嗁嗃嗆嗉嗋嗌嗎嗑嗒"],["8fb6a1","嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊嘍",5,"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀噁噃噄噆噉噋噍噏噔噞噠噡噢噣噦噩噭噯噱噲噵嚄嚅嚈嚋嚌嚕嚙嚚嚝嚞嚟嚦嚧嚨嚩嚫嚬嚭嚱嚳嚷嚾囅囉囊囋囏囐囌囍囙囜囝囟囡囤",4,"囱囫园"],["8fb7a1","囶囷圁圂圇圊圌圑圕圚圛圝圠圢圣圤圥圩圪圬圮圯圳圴圽圾圿坅坆坌坍坒坢坥坧坨坫坭",4,"坳坴坵坷坹坺坻坼坾垁垃垌垔垗垙垚垜垝垞垟垡垕垧垨垩垬垸垽埇埈埌埏埕埝埞埤埦埧埩埭埰埵埶埸埽埾埿堃堄堈堉埡"],["8fb8a1","堌堍堛堞堟堠堦堧堭堲堹堿塉塌塍塏塐塕塟塡塤塧塨塸塼塿墀墁墇墈墉墊墌墍墏墐墔墖墝墠墡墢墦墩墱墲壄墼壂壈壍壎壐壒壔壖壚壝壡壢壩壳夅夆夋夌夒夓夔虁夝夡夣夤夨夯夰夳夵夶夿奃奆奒奓奙奛奝奞奟奡奣奫奭"],["8fb9a1","奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧妭妮妯妰妳妷妺妼姁姃姄姈姊姍姒姝姞姟姣姤姧姮姯姱姲姴姷娀娄娌娍娎娒娓娞娣娤娧娨娪娭娰婄婅婇婈婌婐婕婞婣婥婧婭婷婺婻婾媋媐媓媖媙媜媞媟媠媢媧媬媱媲媳媵媸媺媻媿"],["8fbaa1","嫄嫆嫈嫏嫚嫜嫠嫥嫪嫮嫵嫶嫽嬀嬁嬈嬗嬴嬙嬛嬝嬡嬥嬭嬸孁孋孌孒孖孞孨孮孯孼孽孾孿宁宄宆宊宎宐宑宓宔宖宨宩宬宭宯宱宲宷宺宼寀寁寍寏寖",4,"寠寯寱寴寽尌尗尞尟尣尦尩尫尬尮尰尲尵尶屙屚屜屢屣屧屨屩"],["8fbba1","屭屰屴屵屺屻屼屽岇岈岊岏岒岝岟岠岢岣岦岪岲岴岵岺峉峋峒峝峗峮峱峲峴崁崆崍崒崫崣崤崦崧崱崴崹崽崿嵂嵃嵆嵈嵕嵑嵙嵊嵟嵠嵡嵢嵤嵪嵭嵰嵹嵺嵾嵿嶁嶃嶈嶊嶒嶓嶔嶕嶙嶛嶟嶠嶧嶫嶰嶴嶸嶹巃巇巋巐巎巘巙巠巤"],["8fbca1","巩巸巹帀帇帍帒帔帕帘帟帠帮帨帲帵帾幋幐幉幑幖幘幛幜幞幨幪",4,"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜弝弡弢弣弤弨弫弬弮弰弴弶弻弽弿彀彄彅彇彍彐彔彘彛彠彣彤彧"],["8fbda1","彯彲彴彵彸彺彽彾徉徍徏徖徜徝徢徧徫徤徬徯徰徱徸忄忇忈忉忋忐",4,"忞忡忢忨忩忪忬忭忮忯忲忳忶忺忼怇怊怍怓怔怗怘怚怟怤怭怳怵恀恇恈恉恌恑恔恖恗恝恡恧恱恾恿悂悆悈悊悎悑悓悕悘悝悞悢悤悥您悰悱悷"],["8fbea1","悻悾惂惄惈惉惊惋惎惏惔惕惙惛惝惞惢惥惲惵惸惼惽愂愇愊愌愐",4,"愖愗愙愜愞愢愪愫愰愱愵愶愷愹慁慅慆慉慞慠慬慲慸慻慼慿憀憁憃憄憋憍憒憓憗憘憜憝憟憠憥憨憪憭憸憹憼懀懁懂懎懏懕懜懝懞懟懡懢懧懩懥"],["8fbfa1","懬懭懯戁戃戄戇戓戕戜戠戢戣戧戩戫戹戽扂扃扄扆扌扐扑扒扔扖扚扜扤扭扯扳扺扽抍抎抏抐抦抨抳抶抷抺抾抿拄拎拕拖拚拪拲拴拼拽挃挄挊挋挍挐挓挖挘挩挪挭挵挶挹挼捁捂捃捄捆捊捋捎捒捓捔捘捛捥捦捬捭捱捴捵"],["8fc0a1","捸捼捽捿掂掄掇掊掐掔掕掙掚掞掤掦掭掮掯掽揁揅揈揎揑揓揔揕揜揠揥揪揬揲揳揵揸揹搉搊搐搒搔搘搞搠搢搤搥搩搪搯搰搵搽搿摋摏摑摒摓摔摚摛摜摝摟摠摡摣摭摳摴摻摽撅撇撏撐撑撘撙撛撝撟撡撣撦撨撬撳撽撾撿"],["8fc1a1","擄擉擊擋擌擎擐擑擕擗擤擥擩擪擭擰擵擷擻擿攁攄攈攉攊攏攓攔攖攙攛攞攟攢攦攩攮攱攺攼攽敃敇敉敐敒敔敟敠敧敫敺敽斁斅斊斒斕斘斝斠斣斦斮斲斳斴斿旂旈旉旎旐旔旖旘旟旰旲旴旵旹旾旿昀昄昈昉昍昑昒昕昖昝"],["8fc2a1","昞昡昢昣昤昦昩昪昫昬昮昰昱昳昹昷晀晅晆晊晌晑晎晗晘晙晛晜晠晡曻晪晫晬晾晳晵晿晷晸晹晻暀晼暋暌暍暐暒暙暚暛暜暟暠暤暭暱暲暵暻暿曀曂曃曈曌曎曏曔曛曟曨曫曬曮曺朅朇朎朓朙朜朠朢朳朾杅杇杈杌杔杕杝"],["8fc3a1","杦杬杮杴杶杻极构枎枏枑枓枖枘枙枛枰枱枲枵枻枼枽柹柀柂柃柅柈柉柒柗柙柜柡柦柰柲柶柷桒栔栙栝栟栨栧栬栭栯栰栱栳栻栿桄桅桊桌桕桗桘桛桫桮",4,"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌棏"],["8fc4a1","棐棑棓棖棙棜棝棥棨棪棫棬棭棰棱棵棶棻棼棽椆椉椊椐椑椓椖椗椱椳椵椸椻楂楅楉楎楗楛楣楤楥楦楨楩楬楰楱楲楺楻楿榀榍榒榖榘榡榥榦榨榫榭榯榷榸榺榼槅槈槑槖槗槢槥槮槯槱槳槵槾樀樁樃樏樑樕樚樝樠樤樨樰樲"],["8fc5a1","樴樷樻樾樿橅橆橉橊橎橐橑橒橕橖橛橤橧橪橱橳橾檁檃檆檇檉檋檑檛檝檞檟檥檫檯檰檱檴檽檾檿櫆櫉櫈櫌櫐櫔櫕櫖櫜櫝櫤櫧櫬櫰櫱櫲櫼櫽欂欃欆欇欉欏欐欑欗欛欞欤欨欫欬欯欵欶欻欿歆歊歍歒歖歘歝歠歧歫歮歰歵歽"],["8fc6a1","歾殂殅殗殛殟殠殢殣殨殩殬殭殮殰殸殹殽殾毃毄毉毌毖毚毡毣毦毧毮毱毷毹毿氂氄氅氉氍氎氐氒氙氟氦氧氨氬氮氳氵氶氺氻氿汊汋汍汏汒汔汙汛汜汫汭汯汴汶汸汹汻沅沆沇沉沔沕沗沘沜沟沰沲沴泂泆泍泏泐泑泒泔泖"],["8fc7a1","泚泜泠泧泩泫泬泮泲泴洄洇洊洎洏洑洓洚洦洧洨汧洮洯洱洹洼洿浗浞浟浡浥浧浯浰浼涂涇涑涒涔涖涗涘涪涬涴涷涹涽涿淄淈淊淎淏淖淛淝淟淠淢淥淩淯淰淴淶淼渀渄渞渢渧渲渶渹渻渼湄湅湈湉湋湏湑湒湓湔湗湜湝湞"],["8fc8a1","湢湣湨湳湻湽溍溓溙溠溧溭溮溱溳溻溿滀滁滃滇滈滊滍滎滏滫滭滮滹滻滽漄漈漊漌漍漖漘漚漛漦漩漪漯漰漳漶漻漼漭潏潑潒潓潗潙潚潝潞潡潢潨潬潽潾澃澇澈澋澌澍澐澒澓澔澖澚澟澠澥澦澧澨澮澯澰澵澶澼濅濇濈濊"],["8fc9a1","濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇瀍瀗瀠瀣瀯瀴瀷瀹瀼灃灄灈灉灊灋灔灕灝灞灎灤灥灬灮灵灶灾炁炅炆炔",4,"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",4,"焋焌焏焞焠焫焭焯焰焱焸煁煅煆煇煊煋煐煒煗煚煜煞煠"],["8fcaa1","煨煹熀熅熇熌熒熚熛熠熢熯熰熲熳熺熿燀燁燄燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚爝爟爤爫爯爴爸爹牁牂牃牅牎牏牐牓牕牖牚牜牞牠牣牨牫牮牯牱牷牸牻牼牿犄犉犍犎犓犛犨犭犮犱犴犾狁狇狉狌狕狖狘狟狥狳狴狺狻"],["8fcba1","狾猂猄猅猇猋猍猒猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽獃獍獐獒獖獘獝獞獟獠獦獧獩獫獬獮獯獱獷獹獼玀玁玃玅玆玎玐玓玕玗玘玜玞玟玠玢玥玦玪玫玭玵玷玹玼玽玿珅珆珉珋珌珏珒珓珖珙珝珡珣珦珧珩珴珵珷珹珺珻珽"],["8fcca1","珿琀琁琄琇琊琑琚琛琤琦琨",9,"琹瑀瑃瑄瑆瑇瑋瑍瑑瑒瑗瑝瑢瑦瑧瑨瑫瑭瑮瑱瑲璀璁璅璆璇璉璏璐璑璒璘璙璚璜璟璠璡璣璦璨璩璪璫璮璯璱璲璵璹璻璿瓈瓉瓌瓐瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"],["8fcda1","甒甖甗甠甡甤甧甩甪甯甶甹甽甾甿畀畃畇畈畎畐畒畗畞畟畡畯畱畹",5,"疁疅疐疒疓疕疙疜疢疤疴疺疿痀痁痄痆痌痎痏痗痜痟痠痡痤痧痬痮痯痱痹瘀瘂瘃瘄瘇瘈瘊瘌瘏瘒瘓瘕瘖瘙瘛瘜瘝瘞瘣瘥瘦瘩瘭瘲瘳瘵瘸瘹"],["8fcea1","瘺瘼癊癀癁癃癄癅癉癋癕癙癟癤癥癭癮癯癱癴皁皅皌皍皕皛皜皝皟皠皢",6,"皪皭皽盁盅盉盋盌盎盔盙盠盦盨盬盰盱盶盹盼眀眆眊眎眒眔眕眗眙眚眜眢眨眭眮眯眴眵眶眹眽眾睂睅睆睊睍睎睏睒睖睗睜睞睟睠睢"],["8fcfa1","睤睧睪睬睰睲睳睴睺睽瞀瞄瞌瞍瞔瞕瞖瞚瞟瞢瞧瞪瞮瞯瞱瞵瞾矃矉矑矒矕矙矞矟矠矤矦矪矬矰矱矴矸矻砅砆砉砍砎砑砝砡砢砣砭砮砰砵砷硃硄硇硈硌硎硒硜硞硠硡硣硤硨硪确硺硾碊碏碔碘碡碝碞碟碤碨碬碭碰碱碲碳"],["8fd0a1","碻碽碿磇磈磉磌磎磒磓磕磖磤磛磟磠磡磦磪磲磳礀磶磷磺磻磿礆礌礐礚礜礞礟礠礥礧礩礭礱礴礵礻礽礿祄祅祆祊祋祏祑祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊秏秔秖秚秝秞"],["8fd1a1","秠秢秥秪秫秭秱秸秼稂稃稇稉稊稌稑稕稛稞稡稧稫稭稯稰稴稵稸稹稺穄穅穇穈穌穕穖穙穜穝穟穠穥穧穪穭穵穸穾窀窂窅窆窊窋窐窑窔窞窠窣窬窳窵窹窻窼竆竉竌竎竑竛竨竩竫竬竱竴竻竽竾笇笔笟笣笧笩笪笫笭笮笯笰"],["8fd2a1","笱笴笽笿筀筁筇筎筕筠筤筦筩筪筭筯筲筳筷箄箉箎箐箑箖箛箞箠箥箬箯箰箲箵箶箺箻箼箽篂篅篈篊篔篖篗篙篚篛篨篪篲篴篵篸篹篺篼篾簁簂簃簄簆簉簋簌簎簏簙簛簠簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",5],["8fd3a1","籡籣籧籩籭籮籰籲籹籼籽粆粇粏粔粞粠粦粰粶粷粺粻粼粿糄糇糈糉糍糏糓糔糕糗糙糚糝糦糩糫糵紃紇紈紉紏紑紒紓紖紝紞紣紦紪紭紱紼紽紾絀絁絇絈絍絑絓絗絙絚絜絝絥絧絪絰絸絺絻絿綁綂綃綅綆綈綋綌綍綑綖綗綝"],["8fd4a1","綞綦綧綪綳綶綷綹緂",4,"緌緍緎緗緙縀緢緥緦緪緫緭緱緵緶緹緺縈縐縑縕縗縜縝縠縧縨縬縭縯縳縶縿繄繅繇繎繐繒繘繟繡繢繥繫繮繯繳繸繾纁纆纇纊纍纑纕纘纚纝纞缼缻缽缾缿罃罄罇罏罒罓罛罜罝罡罣罤罥罦罭"],["8fd5a1","罱罽罾罿羀羋羍羏羐羑羖羗羜羡羢羦羪羭羴羼羿翀翃翈翎翏翛翟翣翥翨翬翮翯翲翺翽翾翿耇耈耊耍耎耏耑耓耔耖耝耞耟耠耤耦耬耮耰耴耵耷耹耺耼耾聀聄聠聤聦聭聱聵肁肈肎肜肞肦肧肫肸肹胈胍胏胒胔胕胗胘胠胭胮"],["8fd6a1","胰胲胳胶胹胺胾脃脋脖脗脘脜脞脠脤脧脬脰脵脺脼腅腇腊腌腒腗腠腡腧腨腩腭腯腷膁膐膄膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎臏臕臗臛臝臞臡臤臫臬臰臱臲臵臶臸臹臽臿舀舃舏舓舔舙舚舝舡舢舨舲舴舺艃艄艅艆"],["8fd7a1","艋艎艏艑艖艜艠艣艧艭艴艻艽艿芀芁芃芄芇芉芊芎芑芔芖芘芚芛芠芡芣芤芧芨芩芪芮芰芲芴芷芺芼芾芿苆苐苕苚苠苢苤苨苪苭苯苶苷苽苾茀茁茇茈茊茋荔茛茝茞茟茡茢茬茭茮茰茳茷茺茼茽荂荃荄荇荍荎荑荕荖荗荰荸"],["8fd8a1","荽荿莀莂莄莆莍莒莔莕莘莙莛莜莝莦莧莩莬莾莿菀菇菉菏菐菑菔菝荓菨菪菶菸菹菼萁萆萊萏萑萕萙莭萯萹葅葇葈葊葍葏葑葒葖葘葙葚葜葠葤葥葧葪葰葳葴葶葸葼葽蒁蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌蓏蓓"],["8fd9a1","蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎蔐蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆蕏",4,"蕖蕙蕜",6,"蕤蕫蕯蕹蕺蕻蕽蕿薁薅薆薉薋薌薏薓薘薝薟薠薢薥薧薴薶薷薸薼薽薾薿藂藇藊藋藎薭藘藚藟藠藦藨藭藳藶藼"],["8fdaa1","藿蘀蘄蘅蘍蘎蘐蘑蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙虝虠",4,"虩虬虯虵虶虷虺蚍蚑蚖蚘蚚蚜蚡蚦蚧蚨蚭蚱蚳蚴蚵蚷蚸蚹蚿蛀蛁蛃蛅蛑蛒蛕蛗蛚蛜蛠蛣蛥蛧蚈蛺蛼蛽蜄蜅蜇蜋蜎蜏蜐蜓蜔蜙蜞蜟蜡蜣"],["8fdba1","蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾蝀蝃蝅蝍蝘蝝蝡蝤蝥蝯蝱蝲蝻螃",6,"螋螌螐螓螕螗螘螙螞螠螣螧螬螭螮螱螵螾螿蟁蟈蟉蟊蟎蟕蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫蟭蟱蟳蟸蟺蟿蠁蠃蠆蠉蠊蠋蠐蠙蠒蠓蠔蠘蠚蠛蠜蠞蠟蠨蠭蠮蠰蠲蠵"],["8fdca1","蠺蠼衁衃衅衈衉衊衋衎衑衕衖衘衚衜衟衠衤衩衱衹衻袀袘袚袛袜袟袠袨袪袺袽袾裀裊",4,"裑裒裓裛裞裧裯裰裱裵裷褁褆褍褎褏褕褖褘褙褚褜褠褦褧褨褰褱褲褵褹褺褾襀襂襅襆襉襏襒襗襚襛襜襡襢襣襫襮襰襳襵襺"],["8fdda1","襻襼襽覉覍覐覔覕覛覜覟覠覥覰覴覵覶覷覼觔",4,"觥觩觫觭觱觳觶觹觽觿訄訅訇訏訑訒訔訕訞訠訢訤訦訫訬訯訵訷訽訾詀詃詅詇詉詍詎詓詖詗詘詜詝詡詥詧詵詶詷詹詺詻詾詿誀誃誆誋誏誐誒誖誗誙誟誧誩誮誯誳"],["8fdea1","誶誷誻誾諃諆諈諉諊諑諓諔諕諗諝諟諬諰諴諵諶諼諿謅謆謋謑謜謞謟謊謭謰謷謼譂",4,"譈譒譓譔譙譍譞譣譭譶譸譹譼譾讁讄讅讋讍讏讔讕讜讞讟谸谹谽谾豅豇豉豋豏豑豓豔豗豘豛豝豙豣豤豦豨豩豭豳豵豶豻豾貆"],["8fdfa1","貇貋貐貒貓貙貛貜貤貹貺賅賆賉賋賏賖賕賙賝賡賨賬賯賰賲賵賷賸賾賿贁贃贉贒贗贛赥赩赬赮赿趂趄趈趍趐趑趕趞趟趠趦趫趬趯趲趵趷趹趻跀跅跆跇跈跊跎跑跔跕跗跙跤跥跧跬跰趼跱跲跴跽踁踄踅踆踋踑踔踖踠踡踢"],["8fe0a1","踣踦踧踱踳踶踷踸踹踽蹀蹁蹋蹍蹎蹏蹔蹛蹜蹝蹞蹡蹢蹩蹬蹭蹯蹰蹱蹹蹺蹻躂躃躉躐躒躕躚躛躝躞躢躧躩躭躮躳躵躺躻軀軁軃軄軇軏軑軔軜軨軮軰軱軷軹軺軭輀輂輇輈輏輐輖輗輘輞輠輡輣輥輧輨輬輭輮輴輵輶輷輺轀轁"],["8fe1a1","轃轇轏轑",4,"轘轝轞轥辝辠辡辤辥辦辵辶辸达迀迁迆迊迋迍运迒迓迕迠迣迤迨迮迱迵迶迻迾适逄逈逌逘逛逨逩逯逪逬逭逳逴逷逿遃遄遌遛遝遢遦遧遬遰遴遹邅邈邋邌邎邐邕邗邘邙邛邠邡邢邥邰邲邳邴邶邽郌邾郃"],["8fe2a1","郄郅郇郈郕郗郘郙郜郝郟郥郒郶郫郯郰郴郾郿鄀鄄鄅鄆鄈鄍鄐鄔鄖鄗鄘鄚鄜鄞鄠鄥鄢鄣鄧鄩鄮鄯鄱鄴鄶鄷鄹鄺鄼鄽酃酇酈酏酓酗酙酚酛酡酤酧酭酴酹酺酻醁醃醅醆醊醎醑醓醔醕醘醞醡醦醨醬醭醮醰醱醲醳醶醻醼醽醿"],["8fe3a1","釂釃釅釓釔釗釙釚釞釤釥釩釪釬",5,"釷釹釻釽鈀鈁鈄鈅鈆鈇鈉鈊鈌鈐鈒鈓鈖鈘鈜鈝鈣鈤鈥鈦鈨鈮鈯鈰鈳鈵鈶鈸鈹鈺鈼鈾鉀鉂鉃鉆鉇鉊鉍鉎鉏鉑鉘鉙鉜鉝鉠鉡鉥鉧鉨鉩鉮鉯鉰鉵",4,"鉻鉼鉽鉿銈銉銊銍銎銒銗"],["8fe4a1","銙銟銠銤銥銧銨銫銯銲銶銸銺銻銼銽銿",4,"鋅鋆鋇鋈鋋鋌鋍鋎鋐鋓鋕鋗鋘鋙鋜鋝鋟鋠鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈錍錑錔錕錜錝錞錟錡錤錥錧錩錪錳錴錶錷鍇鍈鍉鍐鍑鍒鍕鍗鍘鍚鍞鍤鍥鍧鍩鍪鍭鍯鍰鍱鍳鍴鍶"],["8fe5a1","鍺鍽鍿鎀鎁鎂鎈鎊鎋鎍鎏鎒鎕鎘鎛鎞鎡鎣鎤鎦鎨鎫鎴鎵鎶鎺鎩鏁鏄鏅鏆鏇鏉",4,"鏓鏙鏜鏞鏟鏢鏦鏧鏹鏷鏸鏺鏻鏽鐁鐂鐄鐈鐉鐍鐎鐏鐕鐖鐗鐟鐮鐯鐱鐲鐳鐴鐻鐿鐽鑃鑅鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫鑭鑮鑯鑱鑲钄钃镸镹"],["8fe6a1","镾閄閈閌閍閎閝閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋闐闑闒闓闙闚闝闞闟闠闤闦阝阞阢阤阥阦阬阱阳阷阸阹阺阼阽陁陒陔陖陗陘陡陮陴陻陼陾陿隁隂隃隄隉隑隖隚隝隟隤隥隦隩隮隯隳隺雊雒嶲雘雚雝雞雟雩雯雱雺霂"],["8fe7a1","霃霅霉霚霛霝霡霢霣霨霱霳靁靃靊靎靏靕靗靘靚靛靣靧靪靮靳靶靷靸靻靽靿鞀鞉鞕鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿韁韄韅韇韉韊韌韍韎韐韑韔韗韘韙韝韞韠韛韡韤韯韱韴韷韸韺頇頊頙頍頎頔頖頜頞頠頣頦"],["8fe8a1","頫頮頯頰頲頳頵頥頾顄顇顊顑顒顓顖顗顙顚顢顣顥顦顪顬颫颭颮颰颴颷颸颺颻颿飂飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",4,"餹餺餻餼饀饁饆饇饈饍饎饔饘饙饛饜饞饟饠馛馝馟馦馰馱馲馵"],["8fe9a1","馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌騐騑騖騞騠騢騣騤騧騭騮騳騵騶騸驇驁驄驊驋驌驎驑驔驖驝骪骬骮骯骲骴骵骶骹骻骾骿髁髃髆髈髎髐髒髕髖髗髛髜髠髤髥髧髩髬髲髳髵髹髺髽髿",4],["8feaa1","鬄鬅鬈鬉鬋鬌鬍鬎鬐鬒鬖鬙鬛鬜鬠鬦鬫鬭鬳鬴鬵鬷鬹鬺鬽魈魋魌魕魖魗魛魞魡魣魥魦魨魪",4,"魳魵魷魸魹魿鮀鮄鮅鮆鮇鮉鮊鮋鮍鮏鮐鮔鮚鮝鮞鮦鮧鮩鮬鮰鮱鮲鮷鮸鮻鮼鮾鮿鯁鯇鯈鯎鯐鯗鯘鯝鯟鯥鯧鯪鯫鯯鯳鯷鯸"],["8feba1","鯹鯺鯽鯿鰀鰂鰋鰏鰑鰖鰘鰙鰚鰜鰞鰢鰣鰦",4,"鰱鰵鰶鰷鰽鱁鱃鱄鱅鱉鱊鱎鱏鱐鱓鱔鱖鱘鱛鱝鱞鱟鱣鱩鱪鱜鱫鱨鱮鱰鱲鱵鱷鱻鳦鳲鳷鳹鴋鴂鴑鴗鴘鴜鴝鴞鴯鴰鴲鴳鴴鴺鴼鵅鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"],["8feca1","鵼鵾鶃鶄鶆鶊鶍鶎鶒鶓鶕鶖鶗鶘鶡鶪鶬鶮鶱鶵鶹鶼鶿鷃鷇鷉鷊鷔鷕鷖鷗鷚鷞鷟鷠鷥鷧鷩鷫鷮鷰鷳鷴鷾鸊鸂鸇鸎鸐鸑鸒鸕鸖鸙鸜鸝鹺鹻鹼麀麂麃麄麅麇麎麏麖麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬黭黮黰黱黲黵"],["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"]]; /***/ }), /* 55 */ @@ -1891,7 +1849,7 @@ module.exports = times; var _curry2 = /*#__PURE__*/__webpack_require__(830); -var _assertPromise = /*#__PURE__*/__webpack_require__(737); +var _assertPromise = /*#__PURE__*/__webpack_require__(385); /** * Returns the result of applying the onSuccess function to the value inside @@ -2009,7 +1967,7 @@ module.exports.and = /*#__PURE__*/__webpack_require__(990); module.exports.any = /*#__PURE__*/__webpack_require__(137); module.exports.anyPass = /*#__PURE__*/__webpack_require__(81); module.exports.ap = /*#__PURE__*/__webpack_require__(641); -module.exports.aperture = /*#__PURE__*/__webpack_require__(654); +module.exports.aperture = /*#__PURE__*/__webpack_require__(898); module.exports.append = /*#__PURE__*/__webpack_require__(612); module.exports.apply = /*#__PURE__*/__webpack_require__(422); module.exports.applySpec = /*#__PURE__*/__webpack_require__(185); @@ -2071,7 +2029,7 @@ module.exports.forEach = /*#__PURE__*/__webpack_require__(962); module.exports.forEachObjIndexed = /*#__PURE__*/__webpack_require__(294); module.exports.fromPairs = /*#__PURE__*/__webpack_require__(795); module.exports.groupBy = /*#__PURE__*/__webpack_require__(797); -module.exports.groupWith = /*#__PURE__*/__webpack_require__(165); +module.exports.groupWith = /*#__PURE__*/__webpack_require__(497); module.exports.gt = /*#__PURE__*/__webpack_require__(388); module.exports.gte = /*#__PURE__*/__webpack_require__(836); module.exports.has = /*#__PURE__*/__webpack_require__(511); @@ -2203,7 +2161,7 @@ module.exports.splitWhen = /*#__PURE__*/__webpack_require__(865); module.exports.startsWith = /*#__PURE__*/__webpack_require__(996); module.exports.subtract = /*#__PURE__*/__webpack_require__(743); module.exports.sum = /*#__PURE__*/__webpack_require__(218); -module.exports.symmetricDifference = /*#__PURE__*/__webpack_require__(410); +module.exports.symmetricDifference = /*#__PURE__*/__webpack_require__(719); module.exports.symmetricDifferenceWith = /*#__PURE__*/__webpack_require__(63); module.exports.tail = /*#__PURE__*/__webpack_require__(193); module.exports.take = /*#__PURE__*/__webpack_require__(198); @@ -2213,15 +2171,15 @@ module.exports.takeWhile = /*#__PURE__*/__webpack_require__(39); module.exports.tap = /*#__PURE__*/__webpack_require__(514); module.exports.test = /*#__PURE__*/__webpack_require__(140); module.exports.then = /*#__PURE__*/__webpack_require__(55); -module.exports.times = /*#__PURE__*/__webpack_require__(54); -module.exports.toLower = /*#__PURE__*/__webpack_require__(160); +module.exports.times = /*#__PURE__*/__webpack_require__(225); +module.exports.toLower = /*#__PURE__*/__webpack_require__(655); module.exports.toPairs = /*#__PURE__*/__webpack_require__(902); module.exports.toPairsIn = /*#__PURE__*/__webpack_require__(509); module.exports.toString = /*#__PURE__*/__webpack_require__(854); module.exports.toUpper = /*#__PURE__*/__webpack_require__(770); module.exports.transduce = /*#__PURE__*/__webpack_require__(440); module.exports.transpose = /*#__PURE__*/__webpack_require__(93); -module.exports.traverse = /*#__PURE__*/__webpack_require__(608); +module.exports.traverse = /*#__PURE__*/__webpack_require__(699); module.exports.trim = /*#__PURE__*/__webpack_require__(667); module.exports.tryCatch = /*#__PURE__*/__webpack_require__(549); module.exports.type = /*#__PURE__*/__webpack_require__(552); @@ -2229,7 +2187,7 @@ module.exports.unapply = /*#__PURE__*/__webpack_require__(64); module.exports.unary = /*#__PURE__*/__webpack_require__(715); module.exports.uncurryN = /*#__PURE__*/__webpack_require__(598); module.exports.unfold = /*#__PURE__*/__webpack_require__(923); -module.exports.union = /*#__PURE__*/__webpack_require__(728); +module.exports.union = /*#__PURE__*/__webpack_require__(410); module.exports.unionWith = /*#__PURE__*/__webpack_require__(163); module.exports.uniq = /*#__PURE__*/__webpack_require__(732); module.exports.uniqBy = /*#__PURE__*/__webpack_require__(703); @@ -2422,7 +2380,7 @@ module.exports = unapply; var _curry2 = /*#__PURE__*/__webpack_require__(830); -var _assertPromise = /*#__PURE__*/__webpack_require__(737); +var _assertPromise = /*#__PURE__*/__webpack_require__(385); /** * Returns the result of applying the onFailure function to the value inside @@ -3649,7 +3607,7 @@ return { /***/ (function(module, __unusedexports, __webpack_require__) { const { Octokit } = __webpack_require__(448); -const throttlingPlugin = __webpack_require__(434); +const throttlingPlugin = __webpack_require__(617); const retryPlugin = __webpack_require__(618); const MyOctokit = Octokit.plugin(throttlingPlugin, retryPlugin); @@ -4350,9 +4308,152 @@ module.exports = startOfMonth /***/ }), /* 95 */ -/***/ (function(module) { +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + GraphqlResponseError: () => GraphqlResponseError, + graphql: () => graphql2, + withCustomRequest: () => withCustomRequest +}); +module.exports = __toCommonJS(dist_src_exports); +var import_request = __webpack_require__(586); +var import_universal_user_agent = __webpack_require__(796); + +// pkg/dist-src/version.js +var VERSION = "5.0.6"; + +// pkg/dist-src/error.js +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors: +` + data.errors.map((e) => ` - ${e.message}`).join("\n"); +} +var GraphqlResponseError = class extends Error { + constructor(request2, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request2; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + this.errors = response.errors; + this.data = response.data; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +}; + +// pkg/dist-src/graphql.js +var NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType" +]; +var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request2, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject( + new Error(`[@octokit/graphql] "query" cannot be used as variable name`) + ); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) + continue; + return Promise.reject( + new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`) + ); + } + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys( + parsedOptions + ).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request2(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError( + requestOptions, + headers, + response.data + ); + } + return response.data.data; + }); +} + +// pkg/dist-src/with-defaults.js +function withDefaults(request2, newDefaults) { + const newRequest = request2.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: newRequest.endpoint + }); +} + +// pkg/dist-src/index.js +var graphql2 = withDefaults(import_request.request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} +// Annotate the CommonJS export names for ESM import in node: +0 && (false); -module.exports = require("async_hooks"); /***/ }), /* 96 */ @@ -4965,31 +5066,30 @@ module.exports = where; /* 115 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) +var startOfDay = __webpack_require__(68) /** - * @category Second Helpers - * @summary Return the start of a second for the given date. + * @category Day Helpers + * @summary Is the given date tomorrow? * * @description - * Return the start of a second for the given date. - * The result will be in the local timezone. + * Is the given date tomorrow? * - * @param {Date|String|Number} date - the original date - * @returns {Date} the start of a second + * @param {Date|String|Number} date - the date to check + * @returns {Boolean} the date is tomorrow * * @example - * // The start of a second for 1 December 2014 22:15:45.400: - * var result = startOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400)) - * //=> Mon Dec 01 2014 22:15:45.000 + * // If today is 6 October 2014, is 7 October 14:00:00 tomorrow? + * var result = isTomorrow(new Date(2014, 9, 7, 14, 0)) + * //=> true */ -function startOfSecond (dirtyDate) { - var date = parse(dirtyDate) - date.setMilliseconds(0) - return date +function isTomorrow (dirtyDate) { + var tomorrow = new Date() + tomorrow.setDate(tomorrow.getDate() + 1) + return startOfDay(dirtyDate).getTime() === startOfDay(tomorrow).getTime() } -module.exports = startOfSecond +module.exports = isTomorrow /***/ }), @@ -6429,147 +6529,39 @@ module.exports = [["a140","",62],["a180","",32],["a240","",62],["a280", /***/ }), /* 152 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { +/***/ (function(module) { "use strict"; +module.exports = function(Promise, INTERNAL) { +var PromiseReduce = Promise.reduce; +var PromiseAll = Promise.all; -Object.defineProperty(exports, '__esModule', { value: true }); - -var universalUserAgent = __webpack_require__(796); -var beforeAfterHook = __webpack_require__(523); -var request = __webpack_require__(298); -var graphql = __webpack_require__(719); -var authToken = __webpack_require__(699); - -const VERSION = "4.2.0"; - -class Octokit { - constructor(options = {}) { - const hook = new beforeAfterHook.Collection(); - const requestDefaults = { - baseUrl: request.request.endpoint.DEFAULTS.baseUrl, - headers: {}, - request: Object.assign({}, options.request, { - // @ts-ignore internal usage only, no need to type - hook: hook.bind(null, "request") - }), - mediaType: { - previews: [], - format: "" - } - }; // prepend default user agent with `options.userAgent` if set - - requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); - - if (options.baseUrl) { - requestDefaults.baseUrl = options.baseUrl; - } - - if (options.previews) { - requestDefaults.mediaType.previews = options.previews; - } - - if (options.timeZone) { - requestDefaults.headers["time-zone"] = options.timeZone; - } - - this.request = request.request.defaults(requestDefaults); - this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); - this.log = Object.assign({ - debug: () => {}, - info: () => {}, - warn: console.warn.bind(console), - error: console.error.bind(console) - }, options.log); - this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance - // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. - // (2) If only `options.auth` is set, use the default token authentication strategy. - // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. - // TODO: type `options.auth` based on `options.authStrategy`. - - if (!options.authStrategy) { - if (!options.auth) { - // (1) - this.auth = async () => ({ - type: "unauthenticated" - }); - } else { - // (2) - const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ - - hook.wrap("request", auth.hook); - this.auth = auth; - } - } else { - const { - authStrategy, - ...otherOptions - } = options; - const auth = authStrategy(Object.assign({ - request: this.request, - log: this.log, - // we pass the current octokit instance as well as its constructor options - // to allow for authentication strategies that return a new octokit instance - // that shares the same internal state as the current one. The original - // requirement for this was the "event-octokit" authentication strategy - // of https://github.com/probot/octokit-auth-probot. - octokit: this, - octokitOptions: otherOptions - }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ - - hook.wrap("request", auth.hook); - this.auth = auth; - } // apply plugins - // https://stackoverflow.com/a/16345172 - - - const classConstructor = this.constructor; - classConstructor.plugins.forEach(plugin => { - Object.assign(this, plugin(this, options)); - }); - } - - static defaults(defaults) { - const OctokitWithDefaults = class extends this { - constructor(...args) { - const options = args[0] || {}; - - if (typeof defaults === "function") { - super(defaults(options)); - return; - } - - super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { - userAgent: `${options.userAgent} ${defaults.userAgent}` - } : null)); - } +function promiseAllThis() { + return PromiseAll(this); +} - }; - return OctokitWithDefaults; - } - /** - * Attach a plugin (or many) to your Octokit instance. - * - * @example - * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) - */ +function PromiseMapSeries(promises, fn) { + return PromiseReduce(promises, fn, INTERNAL, INTERNAL); +} +Promise.prototype.each = function (fn) { + return PromiseReduce(this, fn, INTERNAL, 0) + ._then(promiseAllThis, undefined, undefined, this, undefined); +}; - static plugin(...newPlugins) { - var _a; +Promise.prototype.mapSeries = function (fn) { + return PromiseReduce(this, fn, INTERNAL, INTERNAL); +}; - const currentPlugins = this.plugins; - const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); - return NewOctokit; - } +Promise.each = function (promises, fn) { + return PromiseReduce(promises, fn, INTERNAL, 0) + ._then(promiseAllThis, undefined, undefined, promises, undefined); +}; -} -Octokit.VERSION = VERSION; -Octokit.plugins = []; +Promise.mapSeries = PromiseMapSeries; +}; -exports.Octokit = Octokit; -//# sourceMappingURL=index.js.map /***/ }), @@ -6959,29 +6951,75 @@ module.exports = thunkify; /***/ }), /* 160 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/***/ (function(__unusedmodule, exports, __webpack_require__) { -var invoker = /*#__PURE__*/__webpack_require__(691); +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } +var deprecation = __webpack_require__(692); +var once = _interopDefault(__webpack_require__(49)); + +const logOnceCode = once(deprecation => console.warn(deprecation)); +const logOnceHeaders = once(deprecation => console.warn(deprecation)); /** - * The lower case version of a string. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category String - * @sig String -> String - * @param {String} str The string to lower case. - * @return {String} The lower case version of `str`. - * @see R.toUpper - * @example - * - * R.toLower('XYZ'); //=> 'xyz' + * Error with extra properties to help with debugging */ +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + // redact request credentials without mutating original request options + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") + }); + } + requestCopy.url = requestCopy.url + // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") + // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; + // deprecations + Object.defineProperty(this, "code", { + get() { + logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + } + }); + } +} +exports.RequestError = RequestError; +//# sourceMappingURL=index.js.map -var toLower = /*#__PURE__*/invoker(0, 'toLowerCase'); -module.exports = toLower; /***/ }), /* 161 */ @@ -7283,60 +7321,7 @@ module.exports = getDaysInYear /***/ }), -/* 165 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -/** - * Takes a list and returns a list of lists where each sublist's elements are - * all satisfied pairwise comparison according to the provided function. - * Only adjacent elements are passed to the comparison function. - * - * @func - * @memberOf R - * @since v0.21.0 - * @category List - * @sig ((a, a) → Boolean) → [a] → [[a]] - * @param {Function} fn Function for determining whether two given (adjacent) - * elements should be in the same group - * @param {Array} list The array to group. Also accepts a string, which will be - * treated as a list of characters. - * @return {List} A list that contains sublists of elements, - * whose concatenations are equal to the original list. - * @example - * - * R.groupWith(R.equals, [0, 1, 1, 2, 3, 5, 8, 13, 21]) - * //=> [[0], [1, 1], [2], [3], [5], [8], [13], [21]] - * - * R.groupWith((a, b) => a + 1 === b, [0, 1, 1, 2, 3, 5, 8, 13, 21]) - * //=> [[0, 1], [1, 2, 3], [5], [8], [13], [21]] - * - * R.groupWith((a, b) => a % 2 === b % 2, [0, 1, 1, 2, 3, 5, 8, 13, 21]) - * //=> [[0], [1, 1], [2], [3, 5], [8], [13, 21]] - * - * R.groupWith(R.eqBy(isVowel), 'aestiou') - * //=> ['ae', 'st', 'iou'] - */ - - -var groupWith = /*#__PURE__*/_curry2(function (fn, list) { - var res = []; - var idx = 0; - var len = list.length; - while (idx < len) { - var nextidx = idx + 1; - while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) { - nextidx += 1; - } - res.push(list.slice(idx, nextidx)); - idx = nextidx; - } - return res; -}); -module.exports = groupWith; - -/***/ }), +/* 165 */, /* 166 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -8246,34 +8231,7 @@ var eqProps = /*#__PURE__*/_curry3(function eqProps(prop, obj1, obj2) { module.exports = eqProps; /***/ }), -/* 201 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var parse = __webpack_require__(751) - -/** - * @category Weekday Helpers - * @summary Is the given date Thursday? - * - * @description - * Is the given date Thursday? - * - * @param {Date|String|Number} date - the date to check - * @returns {Boolean} the date is Thursday - * - * @example - * // Is 25 September 2014 Thursday? - * var result = isThursday(new Date(2014, 8, 25)) - * //=> true - */ -function isThursday (dirtyDate) { - return parse(dirtyDate).getDay() === 4 -} - -module.exports = isThursday - - -/***/ }), +/* 201 */, /* 202 */, /* 203 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -9050,31 +9008,49 @@ module.exports = endOfYear /* 225 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) +var _curry2 = /*#__PURE__*/__webpack_require__(830); /** - * @category Hour Helpers - * @summary Get the hours of the given date. - * - * @description - * Get the hours of the given date. + * Calls an input function `n` times, returning an array containing the results + * of those function calls. * - * @param {Date|String|Number} date - the given date - * @returns {Number} the hours + * `fn` is passed one argument: The current value of `n`, which begins at `0` + * and is gradually incremented to `n - 1`. * + * @func + * @memberOf R + * @since v0.2.3 + * @category List + * @sig (Number -> a) -> Number -> [a] + * @param {Function} fn The function to invoke. Passed one argument, the current value of `n`. + * @param {Number} n A value between `0` and `n - 1`. Increments after each function call. + * @return {Array} An array containing the return values of all calls to `fn`. + * @see R.repeat * @example - * // Get the hours of 29 February 2012 11:45:00: - * var result = getHours(new Date(2012, 1, 29, 11, 45)) - * //=> 11 + * + * R.times(R.identity, 5); //=> [0, 1, 2, 3, 4] + * @symb R.times(f, 0) = [] + * @symb R.times(f, 1) = [f(0)] + * @symb R.times(f, 2) = [f(0), f(1)] */ -function getHours (dirtyDate) { - var date = parse(dirtyDate) - var hours = date.getHours() - return hours -} -module.exports = getHours +var times = /*#__PURE__*/_curry2(function times(fn, n) { + var len = Number(n); + var idx = 0; + var list; + + if (len < 0 || isNaN(len)) { + throw new RangeError('n must be a non-negative number'); + } + list = new Array(len); + while (idx < len) { + list[idx] = fn(idx); + idx += 1; + } + return list; +}); +module.exports = times; /***/ }), /* 226 */, @@ -9398,30 +9374,193 @@ module.exports = endOfISOYear /* 246 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var startOfDay = __webpack_require__(68) +"use strict"; -/** - * @category Day Helpers - * @summary Is the given date tomorrow? - * - * @description - * Is the given date tomorrow? - * - * @param {Date|String|Number} date - the date to check - * @returns {Boolean} the date is tomorrow - * - * @example - * // If today is 6 October 2014, is 7 October 14:00:00 tomorrow? - * var result = isTomorrow(new Date(2014, 9, 7, 14, 0)) - * //=> true - */ -function isTomorrow (dirtyDate) { - var tomorrow = new Date() - tomorrow.setDate(tomorrow.getDate() + 1) - return startOfDay(dirtyDate).getTime() === startOfDay(tomorrow).getTime() +module.exports = function(Promise, INTERNAL, tryConvertToPromise, + apiRejection, Proxyable) { +var util = __webpack_require__(248); +var isArray = util.isArray; + +function toResolutionValue(val) { + switch(val) { + case -2: return []; + case -3: return {}; + case -6: return new Map(); + } } -module.exports = isTomorrow +function PromiseArray(values) { + var promise = this._promise = new Promise(INTERNAL); + if (values instanceof Promise) { + promise._propagateFrom(values, 3); + values.suppressUnhandledRejections(); + } + promise._setOnCancel(this); + this._values = values; + this._length = 0; + this._totalResolved = 0; + this._init(undefined, -2); +} +util.inherits(PromiseArray, Proxyable); + +PromiseArray.prototype.length = function () { + return this._length; +}; + +PromiseArray.prototype.promise = function () { + return this._promise; +}; + +PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) { + var values = tryConvertToPromise(this._values, this._promise); + if (values instanceof Promise) { + values = values._target(); + var bitField = values._bitField; + ; + this._values = values; + + if (((bitField & 50397184) === 0)) { + this._promise._setAsyncGuaranteed(); + return values._then( + init, + this._reject, + undefined, + this, + resolveValueIfEmpty + ); + } else if (((bitField & 33554432) !== 0)) { + values = values._value(); + } else if (((bitField & 16777216) !== 0)) { + return this._reject(values._reason()); + } else { + return this._cancel(); + } + } + values = util.asArray(values); + if (values === null) { + var err = apiRejection( + "expecting an array or an iterable object but got " + util.classString(values)).reason(); + this._promise._rejectCallback(err, false); + return; + } + + if (values.length === 0) { + if (resolveValueIfEmpty === -5) { + this._resolveEmptyArray(); + } + else { + this._resolve(toResolutionValue(resolveValueIfEmpty)); + } + return; + } + this._iterate(values); +}; + +PromiseArray.prototype._iterate = function(values) { + var len = this.getActualLength(values.length); + this._length = len; + this._values = this.shouldCopyValues() ? new Array(len) : this._values; + var result = this._promise; + var isResolved = false; + var bitField = null; + for (var i = 0; i < len; ++i) { + var maybePromise = tryConvertToPromise(values[i], result); + + if (maybePromise instanceof Promise) { + maybePromise = maybePromise._target(); + bitField = maybePromise._bitField; + } else { + bitField = null; + } + + if (isResolved) { + if (bitField !== null) { + maybePromise.suppressUnhandledRejections(); + } + } else if (bitField !== null) { + if (((bitField & 50397184) === 0)) { + maybePromise._proxy(this, i); + this._values[i] = maybePromise; + } else if (((bitField & 33554432) !== 0)) { + isResolved = this._promiseFulfilled(maybePromise._value(), i); + } else if (((bitField & 16777216) !== 0)) { + isResolved = this._promiseRejected(maybePromise._reason(), i); + } else { + isResolved = this._promiseCancelled(i); + } + } else { + isResolved = this._promiseFulfilled(maybePromise, i); + } + } + if (!isResolved) result._setAsyncGuaranteed(); +}; + +PromiseArray.prototype._isResolved = function () { + return this._values === null; +}; + +PromiseArray.prototype._resolve = function (value) { + this._values = null; + this._promise._fulfill(value); +}; + +PromiseArray.prototype._cancel = function() { + if (this._isResolved() || !this._promise._isCancellable()) return; + this._values = null; + this._promise._cancel(); +}; + +PromiseArray.prototype._reject = function (reason) { + this._values = null; + this._promise._rejectCallback(reason, false); +}; + +PromiseArray.prototype._promiseFulfilled = function (value, index) { + this._values[index] = value; + var totalResolved = ++this._totalResolved; + if (totalResolved >= this._length) { + this._resolve(this._values); + return true; + } + return false; +}; + +PromiseArray.prototype._promiseCancelled = function() { + this._cancel(); + return true; +}; + +PromiseArray.prototype._promiseRejected = function (reason) { + this._totalResolved++; + this._reject(reason); + return true; +}; + +PromiseArray.prototype._resultCancelled = function() { + if (this._isResolved()) return; + var values = this._values; + this._cancel(); + if (values instanceof Promise) { + values.cancel(); + } else { + for (var i = 0; i < values.length; ++i) { + if (values[i] instanceof Promise) { + values[i].cancel(); + } + } + } +}; + +PromiseArray.prototype.shouldCopyValues = function () { + return true; +}; + +PromiseArray.prototype.getActualLength = function (len) { + return len; +}; + +return PromiseArray; +}; /***/ }), @@ -9980,7 +10119,7 @@ ret.isRecentNode = ret.isNode && (function() { ret.nodeSupportsAsyncResource = ret.isNode && (function() { var supportsAsync = false; try { - var res = __webpack_require__(95).AsyncResource; + var res = __webpack_require__(395).AsyncResource; supportsAsync = typeof res.prototype.runInAsyncScope === "function"; } catch (e) { supportsAsync = false; @@ -10348,7 +10487,7 @@ var _curry2 = /*#__PURE__*/__webpack_require__(830); var always = /*#__PURE__*/__webpack_require__(657); -var times = /*#__PURE__*/__webpack_require__(54); +var times = /*#__PURE__*/__webpack_require__(225); /** * Returns a fixed list of size `n` containing a specified identical value. @@ -12201,169 +12340,7 @@ module.exports = once; /***/ }), /* 296 */, /* 297 */, -/* 298 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var endpoint = __webpack_require__(723); -var universalUserAgent = __webpack_require__(796); -var isPlainObject = __webpack_require__(356); -var nodeFetch = _interopDefault(__webpack_require__(454)); -var requestError = __webpack_require__(497); - -const VERSION = "6.2.3"; - -function getBufferResponse(response) { - return response.arrayBuffer(); -} - -function fetchWrapper(requestOptions) { - const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { - requestOptions.body = JSON.stringify(requestOptions.body); - } - let headers = {}; - let status; - let url; - const fetch = requestOptions.request && requestOptions.request.fetch || globalThis.fetch || /* istanbul ignore next */nodeFetch; - return fetch(requestOptions.url, Object.assign({ - method: requestOptions.method, - body: requestOptions.body, - headers: requestOptions.headers, - redirect: requestOptions.redirect - }, - // `requestOptions.request.agent` type is incompatible - // see https://github.com/octokit/types.ts/pull/264 - requestOptions.request)).then(async response => { - url = response.url; - status = response.status; - for (const keyAndValue of response.headers) { - headers[keyAndValue[0]] = keyAndValue[1]; - } - if ("deprecation" in headers) { - const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); - const deprecationLink = matches && matches.pop(); - log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); - } - if (status === 204 || status === 205) { - return; - } - // GitHub API returns 200 for HEAD requests - if (requestOptions.method === "HEAD") { - if (status < 400) { - return; - } - throw new requestError.RequestError(response.statusText, status, { - response: { - url, - status, - headers, - data: undefined - }, - request: requestOptions - }); - } - if (status === 304) { - throw new requestError.RequestError("Not modified", status, { - response: { - url, - status, - headers, - data: await getResponseData(response) - }, - request: requestOptions - }); - } - if (status >= 400) { - const data = await getResponseData(response); - const error = new requestError.RequestError(toErrorMessage(data), status, { - response: { - url, - status, - headers, - data - }, - request: requestOptions - }); - throw error; - } - return getResponseData(response); - }).then(data => { - return { - status, - url, - headers, - data - }; - }).catch(error => { - if (error instanceof requestError.RequestError) throw error;else if (error.name === "AbortError") throw error; - throw new requestError.RequestError(error.message, 500, { - request: requestOptions - }); - }); -} -async function getResponseData(response) { - const contentType = response.headers.get("content-type"); - if (/application\/json/.test(contentType)) { - return response.json(); - } - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - return getBufferResponse(response); -} -function toErrorMessage(data) { - if (typeof data === "string") return data; - // istanbul ignore else - just in case - if ("message" in data) { - if (Array.isArray(data.errors)) { - return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; - } - return data.message; - } - // istanbul ignore next - just in case - return `Unknown error: ${JSON.stringify(data)}`; -} - -function withDefaults(oldEndpoint, newDefaults) { - const endpoint = oldEndpoint.defaults(newDefaults); - const newApi = function (route, parameters) { - const endpointOptions = endpoint.merge(route, parameters); - if (!endpointOptions.request || !endpointOptions.request.hook) { - return fetchWrapper(endpoint.parse(endpointOptions)); - } - const request = (route, parameters) => { - return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); - }; - Object.assign(request, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); - return endpointOptions.request.hook(request, endpointOptions); - }; - return Object.assign(newApi, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); -} - -const request = withDefaults(endpoint.endpoint, { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` - } -}); - -exports.request = request; -//# sourceMappingURL=index.js.map - - -/***/ }), +/* 298 */, /* 299 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -15385,400 +15362,18 @@ exports.default = _default; /***/ }), /* 385 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -var isPlainObject = __webpack_require__(356); -var universalUserAgent = __webpack_require__(796); - -function lowercaseKeys(object) { - if (!object) { - return {}; - } - - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} - -function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach(key => { - if (isPlainObject.isPlainObject(options[key])) { - if (!(key in defaults)) Object.assign(result, { - [key]: options[key] - });else result[key] = mergeDeep(defaults[key], options[key]); - } else { - Object.assign(result, { - [key]: options[key] - }); - } - }); - return result; -} - -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === undefined) { - delete obj[key]; - } - } - - return obj; -} - -function merge(defaults, route, options) { - if (typeof route === "string") { - let [method, url] = route.split(" "); - options = Object.assign(url ? { - method, - url - } : { - url: method - }, options); - } else { - options = Object.assign({}, route); - } // lowercase header names before merging with defaults to avoid duplicates - - - options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging - - removeUndefinedProperties(options); - removeUndefinedProperties(options.headers); - const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten - - if (defaults && defaults.mediaType.previews.length) { - mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); - } - - mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); - return mergedOptions; -} - -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - - if (names.length === 0) { - return url; - } - - return url + separator + names.map(name => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); - } - - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} - -const urlVariableRegex = /\{[^}]+\}/g; - -function removeNonChars(variableName) { - return variableName.replace(/^\W+|\W+$/g, "").split(/,/); -} - -function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); - - if (!matches) { - return []; - } - - return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); -} - -function omit(object, keysToOmit) { - return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { - obj[key] = object[key]; - return obj; - }, {}); -} - -// Based on https://github.com/bramstein/url-template, licensed under BSD -// TODO: create separate package. -// -// Copyright (c) 2012-2014, Bram Stein -// All rights reserved. -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -/* istanbul ignore file */ -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } - - return part; - }).join(""); -} - -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); -} - -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); - - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; - } -} - -function isDefined(value) { - return value !== undefined && value !== null; -} - -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; -} - -function getValues(context, operator, key, modifier) { - var value = context[key], - result = []; - - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - tmp.push(encodeValue(operator, value)); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } - } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); - } - } - - return result; -} - -function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; -} - -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { - if (expression) { - let operator = ""; - const values = []; - - if (operators.indexOf(expression.charAt(0)) !== -1) { - operator = expression.charAt(0); - expression = expression.substr(1); - } - - expression.split(/,/g).forEach(function (variable) { - var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); - values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); - }); - - if (operator && operator !== "+") { - var separator = ","; - - if (operator === "?") { - separator = "&"; - } else if (operator !== "#") { - separator = operator; - } - - return (values.length !== 0 ? operator : "") + values.join(separator); - } else { - return values.join(","); - } - } else { - return encodeReserved(literal); - } - }); -} - -function parse(options) { - // https://fetch.spec.whatwg.org/#methods - let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible +/***/ (function(module, __unusedexports, __webpack_require__) { - let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); - let headers = Object.assign({}, options.headers); - let body; - let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later +var _isFunction = /*#__PURE__*/__webpack_require__(504); - const urlVariableNames = extractUrlVariableNames(url); - url = parseUrl(url).expand(parameters); +var _toString = /*#__PURE__*/__webpack_require__(628); - if (!/^http/.test(url)) { - url = options.baseUrl + url; +function _assertPromise(name, p) { + if (p == null || !_isFunction(p.then)) { + throw new TypeError('`' + name + '` expected a Promise, received ' + _toString(p, [])); } - - const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); - const remainingParameters = omit(parameters, omittedParameters); - const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); - - if (!isBinaryRequest) { - if (options.mediaType.format) { - // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw - headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); - } - - if (options.mediaType.previews.length) { - const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { - const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; - return `application/vnd.github.${preview}-preview${format}`; - }).join(","); - } - } // for GET/HEAD requests, set URL query parameters from remaining parameters - // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters - - - if (["GET", "HEAD"].includes(method)) { - url = addQueryParameters(url, remainingParameters); - } else { - if ("data" in remainingParameters) { - body = remainingParameters.data; - } else { - if (Object.keys(remainingParameters).length) { - body = remainingParameters; - } else { - headers["content-length"] = 0; - } - } - } // default content-type for JSON if body is set - - - if (!headers["content-type"] && typeof body !== "undefined") { - headers["content-type"] = "application/json; charset=utf-8"; - } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. - // fetch does not allow to set `content-length` header, but we can set body to an empty string - - - if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { - body = ""; - } // Only return body/request keys if present - - - return Object.assign({ - method, - url, - headers - }, typeof body !== "undefined" ? { - body - } : null, options.request ? { - request: options.request - } : null); -} - -function endpointWithDefaults(defaults, route, options) { - return parse(merge(defaults, route, options)); } - -function withDefaults(oldDefaults, newDefaults) { - const DEFAULTS = merge(oldDefaults, newDefaults); - const endpoint = endpointWithDefaults.bind(null, DEFAULTS); - return Object.assign(endpoint, { - DEFAULTS, - defaults: withDefaults.bind(null, DEFAULTS), - merge: merge.bind(null, DEFAULTS), - parse - }); -} - -const VERSION = "6.0.12"; - -const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. -// So we use RequestParameters and add method as additional required property. - -const DEFAULTS = { - method: "GET", - baseUrl: "https://api.github.com", - headers: { - accept: "application/vnd.github.v3+json", - "user-agent": userAgent - }, - mediaType: { - format: "", - previews: [] - } -}; - -const endpoint = withDefaults(null, DEFAULTS); - -exports.endpoint = endpoint; -//# sourceMappingURL=index.js.map - +module.exports = _assertPromise; /***/ }), /* 386 */ @@ -15844,7 +15439,36 @@ module.exports = function (linkHeader) { /***/ }), -/* 387 */, +/* 387 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var parse = __webpack_require__(751) + +/** + * @category Hour Helpers + * @summary Get the hours of the given date. + * + * @description + * Get the hours of the given date. + * + * @param {Date|String|Number} date - the given date + * @returns {Number} the hours + * + * @example + * // Get the hours of 29 February 2012 11:45:00: + * var result = getHours(new Date(2012, 1, 29, 11, 45)) + * //=> 11 + */ +function getHours (dirtyDate) { + var date = parse(dirtyDate) + var hours = date.getHours() + return hours +} + +module.exports = getHours + + +/***/ }), /* 388 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -16030,7 +15654,12 @@ StripBOMWrapper.prototype.end = function() { /***/ }), -/* 395 */, +/* 395 */ +/***/ (function(module) { + +module.exports = require("async_hooks"); + +/***/ }), /* 396 */, /* 397 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -16135,199 +15764,7 @@ module.exports = subHours /***/ }), -/* 401 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = function(Promise, INTERNAL, tryConvertToPromise, - apiRejection, Proxyable) { -var util = __webpack_require__(248); -var isArray = util.isArray; - -function toResolutionValue(val) { - switch(val) { - case -2: return []; - case -3: return {}; - case -6: return new Map(); - } -} - -function PromiseArray(values) { - var promise = this._promise = new Promise(INTERNAL); - if (values instanceof Promise) { - promise._propagateFrom(values, 3); - values.suppressUnhandledRejections(); - } - promise._setOnCancel(this); - this._values = values; - this._length = 0; - this._totalResolved = 0; - this._init(undefined, -2); -} -util.inherits(PromiseArray, Proxyable); - -PromiseArray.prototype.length = function () { - return this._length; -}; - -PromiseArray.prototype.promise = function () { - return this._promise; -}; - -PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) { - var values = tryConvertToPromise(this._values, this._promise); - if (values instanceof Promise) { - values = values._target(); - var bitField = values._bitField; - ; - this._values = values; - - if (((bitField & 50397184) === 0)) { - this._promise._setAsyncGuaranteed(); - return values._then( - init, - this._reject, - undefined, - this, - resolveValueIfEmpty - ); - } else if (((bitField & 33554432) !== 0)) { - values = values._value(); - } else if (((bitField & 16777216) !== 0)) { - return this._reject(values._reason()); - } else { - return this._cancel(); - } - } - values = util.asArray(values); - if (values === null) { - var err = apiRejection( - "expecting an array or an iterable object but got " + util.classString(values)).reason(); - this._promise._rejectCallback(err, false); - return; - } - - if (values.length === 0) { - if (resolveValueIfEmpty === -5) { - this._resolveEmptyArray(); - } - else { - this._resolve(toResolutionValue(resolveValueIfEmpty)); - } - return; - } - this._iterate(values); -}; - -PromiseArray.prototype._iterate = function(values) { - var len = this.getActualLength(values.length); - this._length = len; - this._values = this.shouldCopyValues() ? new Array(len) : this._values; - var result = this._promise; - var isResolved = false; - var bitField = null; - for (var i = 0; i < len; ++i) { - var maybePromise = tryConvertToPromise(values[i], result); - - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - bitField = maybePromise._bitField; - } else { - bitField = null; - } - - if (isResolved) { - if (bitField !== null) { - maybePromise.suppressUnhandledRejections(); - } - } else if (bitField !== null) { - if (((bitField & 50397184) === 0)) { - maybePromise._proxy(this, i); - this._values[i] = maybePromise; - } else if (((bitField & 33554432) !== 0)) { - isResolved = this._promiseFulfilled(maybePromise._value(), i); - } else if (((bitField & 16777216) !== 0)) { - isResolved = this._promiseRejected(maybePromise._reason(), i); - } else { - isResolved = this._promiseCancelled(i); - } - } else { - isResolved = this._promiseFulfilled(maybePromise, i); - } - } - if (!isResolved) result._setAsyncGuaranteed(); -}; - -PromiseArray.prototype._isResolved = function () { - return this._values === null; -}; - -PromiseArray.prototype._resolve = function (value) { - this._values = null; - this._promise._fulfill(value); -}; - -PromiseArray.prototype._cancel = function() { - if (this._isResolved() || !this._promise._isCancellable()) return; - this._values = null; - this._promise._cancel(); -}; - -PromiseArray.prototype._reject = function (reason) { - this._values = null; - this._promise._rejectCallback(reason, false); -}; - -PromiseArray.prototype._promiseFulfilled = function (value, index) { - this._values[index] = value; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - this._resolve(this._values); - return true; - } - return false; -}; - -PromiseArray.prototype._promiseCancelled = function() { - this._cancel(); - return true; -}; - -PromiseArray.prototype._promiseRejected = function (reason) { - this._totalResolved++; - this._reject(reason); - return true; -}; - -PromiseArray.prototype._resultCancelled = function() { - if (this._isResolved()) return; - var values = this._values; - this._cancel(); - if (values instanceof Promise) { - values.cancel(); - } else { - for (var i = 0; i < values.length; ++i) { - if (values[i] instanceof Promise) { - values[i].cancel(); - } - } - } -}; - -PromiseArray.prototype.shouldCopyValues = function () { - return true; -}; - -PromiseArray.prototype.getActualLength = function (len) { - return len; -}; - -return PromiseArray; -}; - - -/***/ }), +/* 401 */, /* 402 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -16600,36 +16037,35 @@ Promise.prototype.timeout = function (ms, message) { /* 410 */ /***/ (function(module, __unusedexports, __webpack_require__) { +var _concat = /*#__PURE__*/__webpack_require__(340); + var _curry2 = /*#__PURE__*/__webpack_require__(830); -var concat = /*#__PURE__*/__webpack_require__(818); +var compose = /*#__PURE__*/__webpack_require__(944); -var difference = /*#__PURE__*/__webpack_require__(275); +var uniq = /*#__PURE__*/__webpack_require__(732); /** - * Finds the set (i.e. no duplicates) of all elements contained in the first or - * second list, but not both. + * Combines two lists into a set (i.e. no duplicates) composed of the elements + * of each list. * * @func * @memberOf R - * @since v0.19.0 + * @since v0.1.0 * @category Relation * @sig [*] -> [*] -> [*] - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The elements in `list1` or `list2`, but not both. - * @see R.symmetricDifferenceWith, R.difference, R.differenceWith + * @param {Array} as The first list. + * @param {Array} bs The second list. + * @return {Array} The first and second lists concatenated, with + * duplicates removed. * @example * - * R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5] - * R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2] + * R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4] */ -var symmetricDifference = /*#__PURE__*/_curry2(function symmetricDifference(list1, list2) { - return concat(difference(list1, list2), difference(list2, list1)); -}); -module.exports = symmetricDifference; +var union = /*#__PURE__*/_curry2( /*#__PURE__*/compose(uniq, _concat)); +module.exports = union; /***/ }), /* 411 */ @@ -17881,13 +17317,7 @@ module.exports = subISOYears /***/ }), -/* 434 */ -/***/ (function() { - -eval("require")("@octokit/plugin-throttling"); - - -/***/ }), +/* 434 */, /* 435 */, /* 436 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -18247,63 +17677,86 @@ module.exports = curry; /***/ }), /* 448 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { +/***/ (function(module, __unusedexports, __webpack_require__) { "use strict"; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var universalUserAgent = __webpack_require__(796); -var beforeAfterHook = __webpack_require__(523); -var request = __webpack_require__(753); -var graphql = __webpack_require__(898); -var authToken = __webpack_require__(813); - -function _objectWithoutPropertiesLoose(source, excluded) { - if (source == null) return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key, i; - - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - target[key] = source[key]; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + Octokit: () => Octokit +}); +module.exports = __toCommonJS(dist_src_exports); +var import_universal_user_agent = __webpack_require__(796); +var import_before_after_hook = __webpack_require__(523); +var import_request = __webpack_require__(586); +var import_graphql = __webpack_require__(95); +var import_auth_token = __webpack_require__(813); + +// pkg/dist-src/version.js +var VERSION = "4.2.1"; + +// pkg/dist-src/index.js +var Octokit = class { + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + super( + Object.assign( + {}, + defaults, + options, + options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null + ) + ); + } + }; + return OctokitWithDefaults; } - - return target; -} - -function _objectWithoutProperties(source, excluded) { - if (source == null) return {}; - - var target = _objectWithoutPropertiesLoose(source, excluded); - - var key, i; - - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; - } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + var _a; + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this { + }, _a.plugins = currentPlugins.concat( + newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) + ), _a); + return NewOctokit; } - - return target; -} - -const VERSION = "3.6.0"; - -const _excluded = ["authStrategy"]; -class Octokit { constructor(options = {}) { - const hook = new beforeAfterHook.Collection(); + const hook = new import_before_after_hook.Collection(); const requestDefaults = { - baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + baseUrl: import_request.request.endpoint.DEFAULTS.baseUrl, headers: {}, request: Object.assign({}, options.request, { // @ts-ignore internal usage only, no need to type @@ -18313,119 +17766,75 @@ class Octokit { previews: [], format: "" } - }; // prepend default user agent with `options.userAgent` if set - - requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); - + }; + requestDefaults.headers["user-agent"] = [ + options.userAgent, + `octokit-core.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` + ].filter(Boolean).join(" "); if (options.baseUrl) { requestDefaults.baseUrl = options.baseUrl; } - if (options.previews) { requestDefaults.mediaType.previews = options.previews; } - if (options.timeZone) { requestDefaults.headers["time-zone"] = options.timeZone; } - - this.request = request.request.defaults(requestDefaults); - this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); - this.log = Object.assign({ - debug: () => {}, - info: () => {}, - warn: console.warn.bind(console), - error: console.error.bind(console) - }, options.log); - this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance - // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. - // (2) If only `options.auth` is set, use the default token authentication strategy. - // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. - // TODO: type `options.auth` based on `options.authStrategy`. - + this.request = import_request.request.defaults(requestDefaults); + this.graphql = (0, import_graphql.withCustomRequest)(this.request).defaults(requestDefaults); + this.log = Object.assign( + { + debug: () => { + }, + info: () => { + }, + warn: console.warn.bind(console), + error: console.error.bind(console) + }, + options.log + ); + this.hook = hook; if (!options.authStrategy) { if (!options.auth) { - // (1) this.auth = async () => ({ type: "unauthenticated" }); } else { - // (2) - const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ - + const auth = (0, import_auth_token.createTokenAuth)(options.auth); hook.wrap("request", auth.hook); this.auth = auth; } } else { - const { - authStrategy - } = options, - otherOptions = _objectWithoutProperties(options, _excluded); - - const auth = authStrategy(Object.assign({ - request: this.request, - log: this.log, - // we pass the current octokit instance as well as its constructor options - // to allow for authentication strategies that return a new octokit instance - // that shares the same internal state as the current one. The original - // requirement for this was the "event-octokit" authentication strategy - // of https://github.com/probot/octokit-auth-probot. - octokit: this, - octokitOptions: otherOptions - }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ - + const { authStrategy, ...otherOptions } = options; + const auth = authStrategy( + Object.assign( + { + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, + options.auth + ) + ); hook.wrap("request", auth.hook); this.auth = auth; - } // apply plugins - // https://stackoverflow.com/a/16345172 - - + } const classConstructor = this.constructor; - classConstructor.plugins.forEach(plugin => { + classConstructor.plugins.forEach((plugin) => { Object.assign(this, plugin(this, options)); }); } - - static defaults(defaults) { - const OctokitWithDefaults = class extends this { - constructor(...args) { - const options = args[0] || {}; - - if (typeof defaults === "function") { - super(defaults(options)); - return; - } - - super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { - userAgent: `${options.userAgent} ${defaults.userAgent}` - } : null)); - } - - }; - return OctokitWithDefaults; - } - /** - * Attach a plugin (or many) to your Octokit instance. - * - * @example - * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) - */ - - - static plugin(...newPlugins) { - var _a; - - const currentPlugins = this.plugins; - const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); - return NewOctokit; - } - -} +}; Octokit.VERSION = VERSION; Octokit.plugins = []; - -exports.Octokit = Octokit; -//# sourceMappingURL=index.js.map +// Annotate the CommonJS export names for ESM import in node: +0 && (false); /***/ }), @@ -20605,87 +20014,7 @@ var ifElse = /*#__PURE__*/_curry3(function ifElse(condition, onTrue, onFalse) { module.exports = ifElse; /***/ }), -/* 463 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var deprecation = __webpack_require__(692); -var once = _interopDefault(__webpack_require__(49)); - -const logOnceCode = once(deprecation => console.warn(deprecation)); -const logOnceHeaders = once(deprecation => console.warn(deprecation)); -/** - * Error with extra properties to help with debugging - */ - -class RequestError extends Error { - constructor(message, statusCode, options) { - super(message); // Maintains proper stack trace (only available on V8) - - /* istanbul ignore next */ - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - - this.name = "HttpError"; - this.status = statusCode; - let headers; - - if ("headers" in options && typeof options.headers !== "undefined") { - headers = options.headers; - } - - if ("response" in options) { - this.response = options.response; - headers = options.response.headers; - } // redact request credentials without mutating original request options - - - const requestCopy = Object.assign({}, options.request); - - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") - }); - } - - requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit - // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications - .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended - // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header - .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); - this.request = requestCopy; // deprecations - - Object.defineProperty(this, "code", { - get() { - logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); - return statusCode; - } - - }); - Object.defineProperty(this, "headers", { - get() { - logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); - return headers || {}; - } - - }); - } - -} - -exports.RequestError = RequestError; -//# sourceMappingURL=index.js.map - - -/***/ }), +/* 463 */, /* 464 */, /* 465 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -21154,7 +20483,366 @@ async function wrapRequest (state, request, options) { /***/ }), -/* 475 */, +/* 475 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + endpoint: () => endpoint +}); +module.exports = __toCommonJS(dist_src_exports); + +// pkg/dist-src/util/lowercase-keys.js +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +// pkg/dist-src/util/merge-deep.js +var import_is_plain_object = __webpack_require__(356); +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if ((0, import_is_plain_object.isPlainObject)(options[key])) { + if (!(key in defaults)) + Object.assign(result, { [key]: options[key] }); + else + result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} + +// pkg/dist-src/util/remove-undefined-properties.js +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === void 0) { + delete obj[key]; + } + } + return obj; +} + +// pkg/dist-src/merge.js +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { method, url } : { url: method }, options); + } else { + options = Object.assign({}, route); + } + options.headers = lowercaseKeys(options.headers); + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter((preview) => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map( + (preview) => preview.replace(/-preview/, "") + ); + return mergedOptions; +} + +// pkg/dist-src/util/add-query-parameters.js +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return url + separator + names.map((name) => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} + +// pkg/dist-src/util/extract-url-variable-names.js +var urlVariableRegex = /\{[^}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + if (!matches) { + return []; + } + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} + +// pkg/dist-src/util/omit.js +function omit(object, keysToOmit) { + return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +// pkg/dist-src/util/url-template.js +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }).join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} +function isDefined(value) { + return value !== void 0 && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push( + encodeValue(operator, value, isKeyOperator(operator) ? key : "") + ); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + result.push( + encodeValue(operator, value2, isKeyOperator(operator) ? key : "") + ); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + tmp.push(encodeValue(operator, value2)); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + return result; +} +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace( + /\{([^\{\}]+)\}|([^\{\}]+)/g, + function(_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function(variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + } + ); +} + +// pkg/dist-src/parse.js +function parse(options) { + let method = options.method.toUpperCase(); + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, [ + "method", + "baseUrl", + "url", + "headers", + "request", + "mediaType" + ]); + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + headers.accept = headers.accept.split(/,/).map( + (preview) => preview.replace( + /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, + `application/vnd$1$2.${options.mediaType.format}` + ) + ).join(","); + } + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + } + } + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + return Object.assign( + { method, url, headers }, + typeof body !== "undefined" ? { body } : null, + options.request ? { request: options.request } : null + ); +} + +// pkg/dist-src/endpoint-with-defaults.js +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +// pkg/dist-src/with-defaults.js +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS2 = merge(oldDefaults, newDefaults); + const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2); + return Object.assign(endpoint2, { + DEFAULTS: DEFAULTS2, + defaults: withDefaults.bind(null, DEFAULTS2), + merge: merge.bind(null, DEFAULTS2), + parse + }); +} + +// pkg/dist-src/defaults.js +var import_universal_user_agent = __webpack_require__(796); + +// pkg/dist-src/version.js +var VERSION = "7.0.6"; + +// pkg/dist-src/defaults.js +var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`; +var DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "", + previews: [] + } +}; + +// pkg/dist-src/index.js +var endpoint = withDefaults(null, DEFAULTS); +// Annotate the CommonJS export names for ESM import in node: +0 && (false); + + +/***/ }), /* 476 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -21714,75 +21402,57 @@ module.exports = lastDayOfQuarter /***/ }), /* 497 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } +/***/ (function(module, __unusedexports, __webpack_require__) { -var deprecation = __webpack_require__(692); -var once = _interopDefault(__webpack_require__(49)); +var _curry2 = /*#__PURE__*/__webpack_require__(830); -const logOnceCode = once(deprecation => console.warn(deprecation)); -const logOnceHeaders = once(deprecation => console.warn(deprecation)); /** - * Error with extra properties to help with debugging + * Takes a list and returns a list of lists where each sublist's elements are + * all satisfied pairwise comparison according to the provided function. + * Only adjacent elements are passed to the comparison function. + * + * @func + * @memberOf R + * @since v0.21.0 + * @category List + * @sig ((a, a) → Boolean) → [a] → [[a]] + * @param {Function} fn Function for determining whether two given (adjacent) + * elements should be in the same group + * @param {Array} list The array to group. Also accepts a string, which will be + * treated as a list of characters. + * @return {List} A list that contains sublists of elements, + * whose concatenations are equal to the original list. + * @example + * + * R.groupWith(R.equals, [0, 1, 1, 2, 3, 5, 8, 13, 21]) + * //=> [[0], [1, 1], [2], [3], [5], [8], [13], [21]] + * + * R.groupWith((a, b) => a + 1 === b, [0, 1, 1, 2, 3, 5, 8, 13, 21]) + * //=> [[0, 1], [1, 2, 3], [5], [8], [13], [21]] + * + * R.groupWith((a, b) => a % 2 === b % 2, [0, 1, 1, 2, 3, 5, 8, 13, 21]) + * //=> [[0], [1, 1], [2], [3, 5], [8], [13, 21]] + * + * R.groupWith(R.eqBy(isVowel), 'aestiou') + * //=> ['ae', 'st', 'iou'] */ -class RequestError extends Error { - constructor(message, statusCode, options) { - super(message); - // Maintains proper stack trace (only available on V8) - /* istanbul ignore next */ - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - this.name = "HttpError"; - this.status = statusCode; - let headers; - if ("headers" in options && typeof options.headers !== "undefined") { - headers = options.headers; - } - if ("response" in options) { - this.response = options.response; - headers = options.response.headers; - } - // redact request credentials without mutating original request options - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") - }); - } - requestCopy.url = requestCopy.url - // client_id & client_secret can be passed as URL query parameters to increase rate limit - // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications - .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") - // OAuth tokens can be passed as URL query parameters, although it is not recommended - // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header - .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); - this.request = requestCopy; - // deprecations - Object.defineProperty(this, "code", { - get() { - logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); - return statusCode; - } - }); - Object.defineProperty(this, "headers", { - get() { - logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); - return headers || {}; - } - }); - } -} -exports.RequestError = RequestError; -//# sourceMappingURL=index.js.map +var groupWith = /*#__PURE__*/_curry2(function (fn, list) { + var res = []; + var idx = 0; + var len = list.length; + while (idx < len) { + var nextidx = idx + 1; + while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) { + nextidx += 1; + } + res.push(list.slice(idx, nextidx)); + idx = nextidx; + } + return res; +}); +module.exports = groupWith; /***/ }), /* 498 */ @@ -23335,43 +23005,7 @@ exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHand //# sourceMappingURL=auth.js.map /***/ }), -/* 555 */ -/***/ (function(module) { - -"use strict"; - -module.exports = function(Promise, INTERNAL) { -var PromiseReduce = Promise.reduce; -var PromiseAll = Promise.all; - -function promiseAllThis() { - return PromiseAll(this); -} - -function PromiseMapSeries(promises, fn) { - return PromiseReduce(promises, fn, INTERNAL, INTERNAL); -} - -Promise.prototype.each = function (fn) { - return PromiseReduce(this, fn, INTERNAL, 0) - ._then(promiseAllThis, undefined, undefined, this, undefined); -}; - -Promise.prototype.mapSeries = function (fn) { - return PromiseReduce(this, fn, INTERNAL, INTERNAL); -}; - -Promise.each = function (promises, fn) { - return PromiseReduce(promises, fn, INTERNAL, 0) - ._then(promiseAllThis, undefined, undefined, promises, undefined); -}; - -Promise.mapSeries = PromiseMapSeries; -}; - - - -/***/ }), +/* 555 */, /* 556 */, /* 557 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -24185,9 +23819,215 @@ module.exports = isSameDay /***/ }), /* 586 */ -/***/ (function(module) { +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + request: () => request +}); +module.exports = __toCommonJS(dist_src_exports); +var import_endpoint = __webpack_require__(475); +var import_universal_user_agent = __webpack_require__(796); + +// pkg/dist-src/version.js +var VERSION = "6.2.5"; + +// pkg/dist-src/fetch-wrapper.js +var import_is_plain_object = __webpack_require__(356); +var import_node_fetch = __toESM(__webpack_require__(454)); +var import_request_error = __webpack_require__(160); + +// pkg/dist-src/get-buffer-response.js +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +// pkg/dist-src/fetch-wrapper.js +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + if ((0, import_is_plain_object.isPlainObject)(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + const fetch = requestOptions.request && requestOptions.request.fetch || globalThis.fetch || /* istanbul ignore next */ + import_node_fetch.default; + return fetch( + requestOptions.url, + Object.assign( + { + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect, + // duplex must be set if request.body is ReadableStream or Async Iterables. + // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. + ...requestOptions.body && { duplex: "half" } + }, + // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request + ) + ).then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new import_request_error.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: void 0 + }, + request: requestOptions + }); + } + if (status === 304) { + throw new import_request_error.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new import_request_error.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return getResponseData(response); + }).then((data) => { + return { + status, + url, + headers, + data + }; + }).catch((error) => { + if (error instanceof import_request_error.RequestError) + throw error; + else if (error.name === "AbortError") + throw error; + throw new import_request_error.RequestError(error.message, 500, { + request: requestOptions + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json(); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + return data.message; + } + return `Unknown error: ${JSON.stringify(data)}`; +} + +// pkg/dist-src/with-defaults.js +function withDefaults(oldEndpoint, newDefaults) { + const endpoint2 = oldEndpoint.defaults(newDefaults); + const newApi = function(route, parameters) { + const endpointOptions = endpoint2.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint2.parse(endpointOptions)); + } + const request2 = (route2, parameters2) => { + return fetchWrapper( + endpoint2.parse(endpoint2.merge(route2, parameters2)) + ); + }; + Object.assign(request2, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); + return endpointOptions.request.hook(request2, endpointOptions); + }; + return Object.assign(newApi, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); +} + +// pkg/dist-src/index.js +var request = withDefaults(import_endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` + } +}); +// Annotate the CommonJS export names for ESM import in node: +0 && (false); -module.exports = [["0","\u0000",127],["8ea1","。",62],["a1a1"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇"],["a2a1","◆□■△▲▽▼※〒→←↑↓〓"],["a2ba","∈∋⊆⊇⊂⊃∪∩"],["a2ca","∧∨¬⇒⇔∀∃"],["a2dc","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["a2f2","ʼn♯♭♪†‡¶"],["a2fe","◯"],["a3b0","0",9],["a3c1","A",25],["a3e1","a",25],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a8a1","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["ada1","①",19,"Ⅰ",9],["adc0","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["addf","㍻〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["b0a1","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["b1a1","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応"],["b2a1","押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["b3a1","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱"],["b4a1","粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["b5a1","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京"],["b6a1","供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["b7a1","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲"],["b8a1","検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["b9a1","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込"],["baa1","此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["bba1","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時"],["bca1","次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["bda1","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償"],["bea1","勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["bfa1","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾"],["c0a1","澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["c1a1","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎"],["c2a1","臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["c3a1","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵"],["c4a1","帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["c5a1","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到"],["c6a1","董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["c7a1","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦"],["c8a1","函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["c9a1","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服"],["caa1","福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["cba1","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満"],["cca1","漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["cda1","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃"],["cea1","痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["cfa1","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["d0a1","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["d1a1","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨"],["d2a1","辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["d3a1","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉"],["d4a1","圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["d5a1","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓"],["d6a1","屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["d7a1","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚"],["d8a1","悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["d9a1","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼"],["daa1","據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["dba1","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍"],["dca1","棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["dda1","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾"],["dea1","沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["dfa1","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼"],["e0a1","燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e1a1","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"],["e2a1","癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e3a1","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐"],["e4a1","筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e5a1","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺"],["e6a1","罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e7a1","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙"],["e8a1","茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e9a1","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙"],["eaa1","蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["eba1","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫"],["eca1","譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["eda1","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸"],["eea1","遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["efa1","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞"],["f0a1","陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["f1a1","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷"],["f2a1","髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["f3a1","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠"],["f4a1","堯槇遙瑤凜熙"],["f9a1","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德"],["faa1","忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["fba1","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚"],["fca1","釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["fcf1","ⅰ",9,"¬¦'""],["8fa2af","˘ˇ¸˙˝¯˛˚~΄΅"],["8fa2c2","¡¦¿"],["8fa2eb","ºª©®™¤№"],["8fa6e1","ΆΈΉΊΪ"],["8fa6e7","Ό"],["8fa6e9","ΎΫ"],["8fa6ec","Ώ"],["8fa6f1","άέήίϊΐόςύϋΰώ"],["8fa7c2","Ђ",10,"ЎЏ"],["8fa7f2","ђ",10,"ўџ"],["8fa9a1","ÆĐ"],["8fa9a4","Ħ"],["8fa9a6","IJ"],["8fa9a8","ŁĿ"],["8fa9ab","ŊØŒ"],["8fa9af","ŦÞ"],["8fa9c1","æđðħıijĸłŀʼnŋøœßŧþ"],["8faaa1","ÁÀÄÂĂǍĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"],["8faaba","ĜĞĢĠĤÍÌÏÎǏİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑŐŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴÝŸŶŹŽŻ"],["8faba1","áàäâăǎāąåãćĉčçċďéèëêěėēęǵĝğ"],["8fabbd","ġĥíìïîǐ"],["8fabc5","īįĩĵķĺľļńňņñóòöôǒőōõŕřŗśŝšşťţúùüûŭǔűūųůũǘǜǚǖŵýÿŷźžż"],["8fb0a1","丂丄丅丌丒丟丣两丨丫丮丯丰丵乀乁乄乇乑乚乜乣乨乩乴乵乹乿亍亖亗亝亯亹仃仐仚仛仠仡仢仨仯仱仳仵份仾仿伀伂伃伈伋伌伒伕伖众伙伮伱你伳伵伷伹伻伾佀佂佈佉佋佌佒佔佖佘佟佣佪佬佮佱佷佸佹佺佽佾侁侂侄"],["8fb1a1","侅侉侊侌侎侐侒侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀俁俅俆俈俉俋俌俍俏俒俜俠俢俰俲俼俽俿倀倁倄倇倊倌倎倐倓倗倘倛倜倝倞倢倧倮倰倲倳倵偀偁偂偅偆偊偌偎偑偒偓偗偙偟偠偢偣偦偧偪偭偰偱倻傁傃傄傆傊傎傏傐"],["8fb2a1","傒傓傔傖傛傜傞",4,"傪傯傰傹傺傽僀僃僄僇僌僎僐僓僔僘僜僝僟僢僤僦僨僩僯僱僶僺僾儃儆儇儈儋儌儍儎僲儐儗儙儛儜儝儞儣儧儨儬儭儯儱儳儴儵儸儹兂兊兏兓兕兗兘兟兤兦兾冃冄冋冎冘冝冡冣冭冸冺冼冾冿凂"],["8fb3a1","凈减凑凒凓凕凘凞凢凥凮凲凳凴凷刁刂刅划刓刕刖刘刢刨刱刲刵刼剅剉剕剗剘剚剜剟剠剡剦剮剷剸剹劀劂劅劊劌劓劕劖劗劘劚劜劤劥劦劧劯劰劶劷劸劺劻劽勀勄勆勈勌勏勑勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"],["8fb4a1","匌匑匓匘匛匜匞匟匥匧匨匩匫匬匭匰匲匵匼匽匾卂卌卋卙卛卡卣卥卬卭卲卹卾厃厇厈厎厓厔厙厝厡厤厪厫厯厲厴厵厷厸厺厽叀叅叏叒叓叕叚叝叞叠另叧叵吂吓吚吡吧吨吪启吱吴吵呃呄呇呍呏呞呢呤呦呧呩呫呭呮呴呿"],["8fb5a1","咁咃咅咈咉咍咑咕咖咜咟咡咦咧咩咪咭咮咱咷咹咺咻咿哆哊响哎哠哪哬哯哶哼哾哿唀唁唅唈唉唌唍唎唕唪唫唲唵唶唻唼唽啁啇啉啊啍啐啑啘啚啛啞啠啡啤啦啿喁喂喆喈喎喏喑喒喓喔喗喣喤喭喲喿嗁嗃嗆嗉嗋嗌嗎嗑嗒"],["8fb6a1","嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊嘍",5,"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀噁噃噄噆噉噋噍噏噔噞噠噡噢噣噦噩噭噯噱噲噵嚄嚅嚈嚋嚌嚕嚙嚚嚝嚞嚟嚦嚧嚨嚩嚫嚬嚭嚱嚳嚷嚾囅囉囊囋囏囐囌囍囙囜囝囟囡囤",4,"囱囫园"],["8fb7a1","囶囷圁圂圇圊圌圑圕圚圛圝圠圢圣圤圥圩圪圬圮圯圳圴圽圾圿坅坆坌坍坒坢坥坧坨坫坭",4,"坳坴坵坷坹坺坻坼坾垁垃垌垔垗垙垚垜垝垞垟垡垕垧垨垩垬垸垽埇埈埌埏埕埝埞埤埦埧埩埭埰埵埶埸埽埾埿堃堄堈堉埡"],["8fb8a1","堌堍堛堞堟堠堦堧堭堲堹堿塉塌塍塏塐塕塟塡塤塧塨塸塼塿墀墁墇墈墉墊墌墍墏墐墔墖墝墠墡墢墦墩墱墲壄墼壂壈壍壎壐壒壔壖壚壝壡壢壩壳夅夆夋夌夒夓夔虁夝夡夣夤夨夯夰夳夵夶夿奃奆奒奓奙奛奝奞奟奡奣奫奭"],["8fb9a1","奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧妭妮妯妰妳妷妺妼姁姃姄姈姊姍姒姝姞姟姣姤姧姮姯姱姲姴姷娀娄娌娍娎娒娓娞娣娤娧娨娪娭娰婄婅婇婈婌婐婕婞婣婥婧婭婷婺婻婾媋媐媓媖媙媜媞媟媠媢媧媬媱媲媳媵媸媺媻媿"],["8fbaa1","嫄嫆嫈嫏嫚嫜嫠嫥嫪嫮嫵嫶嫽嬀嬁嬈嬗嬴嬙嬛嬝嬡嬥嬭嬸孁孋孌孒孖孞孨孮孯孼孽孾孿宁宄宆宊宎宐宑宓宔宖宨宩宬宭宯宱宲宷宺宼寀寁寍寏寖",4,"寠寯寱寴寽尌尗尞尟尣尦尩尫尬尮尰尲尵尶屙屚屜屢屣屧屨屩"],["8fbba1","屭屰屴屵屺屻屼屽岇岈岊岏岒岝岟岠岢岣岦岪岲岴岵岺峉峋峒峝峗峮峱峲峴崁崆崍崒崫崣崤崦崧崱崴崹崽崿嵂嵃嵆嵈嵕嵑嵙嵊嵟嵠嵡嵢嵤嵪嵭嵰嵹嵺嵾嵿嶁嶃嶈嶊嶒嶓嶔嶕嶙嶛嶟嶠嶧嶫嶰嶴嶸嶹巃巇巋巐巎巘巙巠巤"],["8fbca1","巩巸巹帀帇帍帒帔帕帘帟帠帮帨帲帵帾幋幐幉幑幖幘幛幜幞幨幪",4,"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜弝弡弢弣弤弨弫弬弮弰弴弶弻弽弿彀彄彅彇彍彐彔彘彛彠彣彤彧"],["8fbda1","彯彲彴彵彸彺彽彾徉徍徏徖徜徝徢徧徫徤徬徯徰徱徸忄忇忈忉忋忐",4,"忞忡忢忨忩忪忬忭忮忯忲忳忶忺忼怇怊怍怓怔怗怘怚怟怤怭怳怵恀恇恈恉恌恑恔恖恗恝恡恧恱恾恿悂悆悈悊悎悑悓悕悘悝悞悢悤悥您悰悱悷"],["8fbea1","悻悾惂惄惈惉惊惋惎惏惔惕惙惛惝惞惢惥惲惵惸惼惽愂愇愊愌愐",4,"愖愗愙愜愞愢愪愫愰愱愵愶愷愹慁慅慆慉慞慠慬慲慸慻慼慿憀憁憃憄憋憍憒憓憗憘憜憝憟憠憥憨憪憭憸憹憼懀懁懂懎懏懕懜懝懞懟懡懢懧懩懥"],["8fbfa1","懬懭懯戁戃戄戇戓戕戜戠戢戣戧戩戫戹戽扂扃扄扆扌扐扑扒扔扖扚扜扤扭扯扳扺扽抍抎抏抐抦抨抳抶抷抺抾抿拄拎拕拖拚拪拲拴拼拽挃挄挊挋挍挐挓挖挘挩挪挭挵挶挹挼捁捂捃捄捆捊捋捎捒捓捔捘捛捥捦捬捭捱捴捵"],["8fc0a1","捸捼捽捿掂掄掇掊掐掔掕掙掚掞掤掦掭掮掯掽揁揅揈揎揑揓揔揕揜揠揥揪揬揲揳揵揸揹搉搊搐搒搔搘搞搠搢搤搥搩搪搯搰搵搽搿摋摏摑摒摓摔摚摛摜摝摟摠摡摣摭摳摴摻摽撅撇撏撐撑撘撙撛撝撟撡撣撦撨撬撳撽撾撿"],["8fc1a1","擄擉擊擋擌擎擐擑擕擗擤擥擩擪擭擰擵擷擻擿攁攄攈攉攊攏攓攔攖攙攛攞攟攢攦攩攮攱攺攼攽敃敇敉敐敒敔敟敠敧敫敺敽斁斅斊斒斕斘斝斠斣斦斮斲斳斴斿旂旈旉旎旐旔旖旘旟旰旲旴旵旹旾旿昀昄昈昉昍昑昒昕昖昝"],["8fc2a1","昞昡昢昣昤昦昩昪昫昬昮昰昱昳昹昷晀晅晆晊晌晑晎晗晘晙晛晜晠晡曻晪晫晬晾晳晵晿晷晸晹晻暀晼暋暌暍暐暒暙暚暛暜暟暠暤暭暱暲暵暻暿曀曂曃曈曌曎曏曔曛曟曨曫曬曮曺朅朇朎朓朙朜朠朢朳朾杅杇杈杌杔杕杝"],["8fc3a1","杦杬杮杴杶杻极构枎枏枑枓枖枘枙枛枰枱枲枵枻枼枽柹柀柂柃柅柈柉柒柗柙柜柡柦柰柲柶柷桒栔栙栝栟栨栧栬栭栯栰栱栳栻栿桄桅桊桌桕桗桘桛桫桮",4,"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌棏"],["8fc4a1","棐棑棓棖棙棜棝棥棨棪棫棬棭棰棱棵棶棻棼棽椆椉椊椐椑椓椖椗椱椳椵椸椻楂楅楉楎楗楛楣楤楥楦楨楩楬楰楱楲楺楻楿榀榍榒榖榘榡榥榦榨榫榭榯榷榸榺榼槅槈槑槖槗槢槥槮槯槱槳槵槾樀樁樃樏樑樕樚樝樠樤樨樰樲"],["8fc5a1","樴樷樻樾樿橅橆橉橊橎橐橑橒橕橖橛橤橧橪橱橳橾檁檃檆檇檉檋檑檛檝檞檟檥檫檯檰檱檴檽檾檿櫆櫉櫈櫌櫐櫔櫕櫖櫜櫝櫤櫧櫬櫰櫱櫲櫼櫽欂欃欆欇欉欏欐欑欗欛欞欤欨欫欬欯欵欶欻欿歆歊歍歒歖歘歝歠歧歫歮歰歵歽"],["8fc6a1","歾殂殅殗殛殟殠殢殣殨殩殬殭殮殰殸殹殽殾毃毄毉毌毖毚毡毣毦毧毮毱毷毹毿氂氄氅氉氍氎氐氒氙氟氦氧氨氬氮氳氵氶氺氻氿汊汋汍汏汒汔汙汛汜汫汭汯汴汶汸汹汻沅沆沇沉沔沕沗沘沜沟沰沲沴泂泆泍泏泐泑泒泔泖"],["8fc7a1","泚泜泠泧泩泫泬泮泲泴洄洇洊洎洏洑洓洚洦洧洨汧洮洯洱洹洼洿浗浞浟浡浥浧浯浰浼涂涇涑涒涔涖涗涘涪涬涴涷涹涽涿淄淈淊淎淏淖淛淝淟淠淢淥淩淯淰淴淶淼渀渄渞渢渧渲渶渹渻渼湄湅湈湉湋湏湑湒湓湔湗湜湝湞"],["8fc8a1","湢湣湨湳湻湽溍溓溙溠溧溭溮溱溳溻溿滀滁滃滇滈滊滍滎滏滫滭滮滹滻滽漄漈漊漌漍漖漘漚漛漦漩漪漯漰漳漶漻漼漭潏潑潒潓潗潙潚潝潞潡潢潨潬潽潾澃澇澈澋澌澍澐澒澓澔澖澚澟澠澥澦澧澨澮澯澰澵澶澼濅濇濈濊"],["8fc9a1","濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇瀍瀗瀠瀣瀯瀴瀷瀹瀼灃灄灈灉灊灋灔灕灝灞灎灤灥灬灮灵灶灾炁炅炆炔",4,"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",4,"焋焌焏焞焠焫焭焯焰焱焸煁煅煆煇煊煋煐煒煗煚煜煞煠"],["8fcaa1","煨煹熀熅熇熌熒熚熛熠熢熯熰熲熳熺熿燀燁燄燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚爝爟爤爫爯爴爸爹牁牂牃牅牎牏牐牓牕牖牚牜牞牠牣牨牫牮牯牱牷牸牻牼牿犄犉犍犎犓犛犨犭犮犱犴犾狁狇狉狌狕狖狘狟狥狳狴狺狻"],["8fcba1","狾猂猄猅猇猋猍猒猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽獃獍獐獒獖獘獝獞獟獠獦獧獩獫獬獮獯獱獷獹獼玀玁玃玅玆玎玐玓玕玗玘玜玞玟玠玢玥玦玪玫玭玵玷玹玼玽玿珅珆珉珋珌珏珒珓珖珙珝珡珣珦珧珩珴珵珷珹珺珻珽"],["8fcca1","珿琀琁琄琇琊琑琚琛琤琦琨",9,"琹瑀瑃瑄瑆瑇瑋瑍瑑瑒瑗瑝瑢瑦瑧瑨瑫瑭瑮瑱瑲璀璁璅璆璇璉璏璐璑璒璘璙璚璜璟璠璡璣璦璨璩璪璫璮璯璱璲璵璹璻璿瓈瓉瓌瓐瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"],["8fcda1","甒甖甗甠甡甤甧甩甪甯甶甹甽甾甿畀畃畇畈畎畐畒畗畞畟畡畯畱畹",5,"疁疅疐疒疓疕疙疜疢疤疴疺疿痀痁痄痆痌痎痏痗痜痟痠痡痤痧痬痮痯痱痹瘀瘂瘃瘄瘇瘈瘊瘌瘏瘒瘓瘕瘖瘙瘛瘜瘝瘞瘣瘥瘦瘩瘭瘲瘳瘵瘸瘹"],["8fcea1","瘺瘼癊癀癁癃癄癅癉癋癕癙癟癤癥癭癮癯癱癴皁皅皌皍皕皛皜皝皟皠皢",6,"皪皭皽盁盅盉盋盌盎盔盙盠盦盨盬盰盱盶盹盼眀眆眊眎眒眔眕眗眙眚眜眢眨眭眮眯眴眵眶眹眽眾睂睅睆睊睍睎睏睒睖睗睜睞睟睠睢"],["8fcfa1","睤睧睪睬睰睲睳睴睺睽瞀瞄瞌瞍瞔瞕瞖瞚瞟瞢瞧瞪瞮瞯瞱瞵瞾矃矉矑矒矕矙矞矟矠矤矦矪矬矰矱矴矸矻砅砆砉砍砎砑砝砡砢砣砭砮砰砵砷硃硄硇硈硌硎硒硜硞硠硡硣硤硨硪确硺硾碊碏碔碘碡碝碞碟碤碨碬碭碰碱碲碳"],["8fd0a1","碻碽碿磇磈磉磌磎磒磓磕磖磤磛磟磠磡磦磪磲磳礀磶磷磺磻磿礆礌礐礚礜礞礟礠礥礧礩礭礱礴礵礻礽礿祄祅祆祊祋祏祑祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊秏秔秖秚秝秞"],["8fd1a1","秠秢秥秪秫秭秱秸秼稂稃稇稉稊稌稑稕稛稞稡稧稫稭稯稰稴稵稸稹稺穄穅穇穈穌穕穖穙穜穝穟穠穥穧穪穭穵穸穾窀窂窅窆窊窋窐窑窔窞窠窣窬窳窵窹窻窼竆竉竌竎竑竛竨竩竫竬竱竴竻竽竾笇笔笟笣笧笩笪笫笭笮笯笰"],["8fd2a1","笱笴笽笿筀筁筇筎筕筠筤筦筩筪筭筯筲筳筷箄箉箎箐箑箖箛箞箠箥箬箯箰箲箵箶箺箻箼箽篂篅篈篊篔篖篗篙篚篛篨篪篲篴篵篸篹篺篼篾簁簂簃簄簆簉簋簌簎簏簙簛簠簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",5],["8fd3a1","籡籣籧籩籭籮籰籲籹籼籽粆粇粏粔粞粠粦粰粶粷粺粻粼粿糄糇糈糉糍糏糓糔糕糗糙糚糝糦糩糫糵紃紇紈紉紏紑紒紓紖紝紞紣紦紪紭紱紼紽紾絀絁絇絈絍絑絓絗絙絚絜絝絥絧絪絰絸絺絻絿綁綂綃綅綆綈綋綌綍綑綖綗綝"],["8fd4a1","綞綦綧綪綳綶綷綹緂",4,"緌緍緎緗緙縀緢緥緦緪緫緭緱緵緶緹緺縈縐縑縕縗縜縝縠縧縨縬縭縯縳縶縿繄繅繇繎繐繒繘繟繡繢繥繫繮繯繳繸繾纁纆纇纊纍纑纕纘纚纝纞缼缻缽缾缿罃罄罇罏罒罓罛罜罝罡罣罤罥罦罭"],["8fd5a1","罱罽罾罿羀羋羍羏羐羑羖羗羜羡羢羦羪羭羴羼羿翀翃翈翎翏翛翟翣翥翨翬翮翯翲翺翽翾翿耇耈耊耍耎耏耑耓耔耖耝耞耟耠耤耦耬耮耰耴耵耷耹耺耼耾聀聄聠聤聦聭聱聵肁肈肎肜肞肦肧肫肸肹胈胍胏胒胔胕胗胘胠胭胮"],["8fd6a1","胰胲胳胶胹胺胾脃脋脖脗脘脜脞脠脤脧脬脰脵脺脼腅腇腊腌腒腗腠腡腧腨腩腭腯腷膁膐膄膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎臏臕臗臛臝臞臡臤臫臬臰臱臲臵臶臸臹臽臿舀舃舏舓舔舙舚舝舡舢舨舲舴舺艃艄艅艆"],["8fd7a1","艋艎艏艑艖艜艠艣艧艭艴艻艽艿芀芁芃芄芇芉芊芎芑芔芖芘芚芛芠芡芣芤芧芨芩芪芮芰芲芴芷芺芼芾芿苆苐苕苚苠苢苤苨苪苭苯苶苷苽苾茀茁茇茈茊茋荔茛茝茞茟茡茢茬茭茮茰茳茷茺茼茽荂荃荄荇荍荎荑荕荖荗荰荸"],["8fd8a1","荽荿莀莂莄莆莍莒莔莕莘莙莛莜莝莦莧莩莬莾莿菀菇菉菏菐菑菔菝荓菨菪菶菸菹菼萁萆萊萏萑萕萙莭萯萹葅葇葈葊葍葏葑葒葖葘葙葚葜葠葤葥葧葪葰葳葴葶葸葼葽蒁蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌蓏蓓"],["8fd9a1","蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎蔐蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆蕏",4,"蕖蕙蕜",6,"蕤蕫蕯蕹蕺蕻蕽蕿薁薅薆薉薋薌薏薓薘薝薟薠薢薥薧薴薶薷薸薼薽薾薿藂藇藊藋藎薭藘藚藟藠藦藨藭藳藶藼"],["8fdaa1","藿蘀蘄蘅蘍蘎蘐蘑蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙虝虠",4,"虩虬虯虵虶虷虺蚍蚑蚖蚘蚚蚜蚡蚦蚧蚨蚭蚱蚳蚴蚵蚷蚸蚹蚿蛀蛁蛃蛅蛑蛒蛕蛗蛚蛜蛠蛣蛥蛧蚈蛺蛼蛽蜄蜅蜇蜋蜎蜏蜐蜓蜔蜙蜞蜟蜡蜣"],["8fdba1","蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾蝀蝃蝅蝍蝘蝝蝡蝤蝥蝯蝱蝲蝻螃",6,"螋螌螐螓螕螗螘螙螞螠螣螧螬螭螮螱螵螾螿蟁蟈蟉蟊蟎蟕蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫蟭蟱蟳蟸蟺蟿蠁蠃蠆蠉蠊蠋蠐蠙蠒蠓蠔蠘蠚蠛蠜蠞蠟蠨蠭蠮蠰蠲蠵"],["8fdca1","蠺蠼衁衃衅衈衉衊衋衎衑衕衖衘衚衜衟衠衤衩衱衹衻袀袘袚袛袜袟袠袨袪袺袽袾裀裊",4,"裑裒裓裛裞裧裯裰裱裵裷褁褆褍褎褏褕褖褘褙褚褜褠褦褧褨褰褱褲褵褹褺褾襀襂襅襆襉襏襒襗襚襛襜襡襢襣襫襮襰襳襵襺"],["8fdda1","襻襼襽覉覍覐覔覕覛覜覟覠覥覰覴覵覶覷覼觔",4,"觥觩觫觭觱觳觶觹觽觿訄訅訇訏訑訒訔訕訞訠訢訤訦訫訬訯訵訷訽訾詀詃詅詇詉詍詎詓詖詗詘詜詝詡詥詧詵詶詷詹詺詻詾詿誀誃誆誋誏誐誒誖誗誙誟誧誩誮誯誳"],["8fdea1","誶誷誻誾諃諆諈諉諊諑諓諔諕諗諝諟諬諰諴諵諶諼諿謅謆謋謑謜謞謟謊謭謰謷謼譂",4,"譈譒譓譔譙譍譞譣譭譶譸譹譼譾讁讄讅讋讍讏讔讕讜讞讟谸谹谽谾豅豇豉豋豏豑豓豔豗豘豛豝豙豣豤豦豨豩豭豳豵豶豻豾貆"],["8fdfa1","貇貋貐貒貓貙貛貜貤貹貺賅賆賉賋賏賖賕賙賝賡賨賬賯賰賲賵賷賸賾賿贁贃贉贒贗贛赥赩赬赮赿趂趄趈趍趐趑趕趞趟趠趦趫趬趯趲趵趷趹趻跀跅跆跇跈跊跎跑跔跕跗跙跤跥跧跬跰趼跱跲跴跽踁踄踅踆踋踑踔踖踠踡踢"],["8fe0a1","踣踦踧踱踳踶踷踸踹踽蹀蹁蹋蹍蹎蹏蹔蹛蹜蹝蹞蹡蹢蹩蹬蹭蹯蹰蹱蹹蹺蹻躂躃躉躐躒躕躚躛躝躞躢躧躩躭躮躳躵躺躻軀軁軃軄軇軏軑軔軜軨軮軰軱軷軹軺軭輀輂輇輈輏輐輖輗輘輞輠輡輣輥輧輨輬輭輮輴輵輶輷輺轀轁"],["8fe1a1","轃轇轏轑",4,"轘轝轞轥辝辠辡辤辥辦辵辶辸达迀迁迆迊迋迍运迒迓迕迠迣迤迨迮迱迵迶迻迾适逄逈逌逘逛逨逩逯逪逬逭逳逴逷逿遃遄遌遛遝遢遦遧遬遰遴遹邅邈邋邌邎邐邕邗邘邙邛邠邡邢邥邰邲邳邴邶邽郌邾郃"],["8fe2a1","郄郅郇郈郕郗郘郙郜郝郟郥郒郶郫郯郰郴郾郿鄀鄄鄅鄆鄈鄍鄐鄔鄖鄗鄘鄚鄜鄞鄠鄥鄢鄣鄧鄩鄮鄯鄱鄴鄶鄷鄹鄺鄼鄽酃酇酈酏酓酗酙酚酛酡酤酧酭酴酹酺酻醁醃醅醆醊醎醑醓醔醕醘醞醡醦醨醬醭醮醰醱醲醳醶醻醼醽醿"],["8fe3a1","釂釃釅釓釔釗釙釚釞釤釥釩釪釬",5,"釷釹釻釽鈀鈁鈄鈅鈆鈇鈉鈊鈌鈐鈒鈓鈖鈘鈜鈝鈣鈤鈥鈦鈨鈮鈯鈰鈳鈵鈶鈸鈹鈺鈼鈾鉀鉂鉃鉆鉇鉊鉍鉎鉏鉑鉘鉙鉜鉝鉠鉡鉥鉧鉨鉩鉮鉯鉰鉵",4,"鉻鉼鉽鉿銈銉銊銍銎銒銗"],["8fe4a1","銙銟銠銤銥銧銨銫銯銲銶銸銺銻銼銽銿",4,"鋅鋆鋇鋈鋋鋌鋍鋎鋐鋓鋕鋗鋘鋙鋜鋝鋟鋠鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈錍錑錔錕錜錝錞錟錡錤錥錧錩錪錳錴錶錷鍇鍈鍉鍐鍑鍒鍕鍗鍘鍚鍞鍤鍥鍧鍩鍪鍭鍯鍰鍱鍳鍴鍶"],["8fe5a1","鍺鍽鍿鎀鎁鎂鎈鎊鎋鎍鎏鎒鎕鎘鎛鎞鎡鎣鎤鎦鎨鎫鎴鎵鎶鎺鎩鏁鏄鏅鏆鏇鏉",4,"鏓鏙鏜鏞鏟鏢鏦鏧鏹鏷鏸鏺鏻鏽鐁鐂鐄鐈鐉鐍鐎鐏鐕鐖鐗鐟鐮鐯鐱鐲鐳鐴鐻鐿鐽鑃鑅鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫鑭鑮鑯鑱鑲钄钃镸镹"],["8fe6a1","镾閄閈閌閍閎閝閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋闐闑闒闓闙闚闝闞闟闠闤闦阝阞阢阤阥阦阬阱阳阷阸阹阺阼阽陁陒陔陖陗陘陡陮陴陻陼陾陿隁隂隃隄隉隑隖隚隝隟隤隥隦隩隮隯隳隺雊雒嶲雘雚雝雞雟雩雯雱雺霂"],["8fe7a1","霃霅霉霚霛霝霡霢霣霨霱霳靁靃靊靎靏靕靗靘靚靛靣靧靪靮靳靶靷靸靻靽靿鞀鞉鞕鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿韁韄韅韇韉韊韌韍韎韐韑韔韗韘韙韝韞韠韛韡韤韯韱韴韷韸韺頇頊頙頍頎頔頖頜頞頠頣頦"],["8fe8a1","頫頮頯頰頲頳頵頥頾顄顇顊顑顒顓顖顗顙顚顢顣顥顦顪顬颫颭颮颰颴颷颸颺颻颿飂飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",4,"餹餺餻餼饀饁饆饇饈饍饎饔饘饙饛饜饞饟饠馛馝馟馦馰馱馲馵"],["8fe9a1","馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌騐騑騖騞騠騢騣騤騧騭騮騳騵騶騸驇驁驄驊驋驌驎驑驔驖驝骪骬骮骯骲骴骵骶骹骻骾骿髁髃髆髈髎髐髒髕髖髗髛髜髠髤髥髧髩髬髲髳髵髹髺髽髿",4],["8feaa1","鬄鬅鬈鬉鬋鬌鬍鬎鬐鬒鬖鬙鬛鬜鬠鬦鬫鬭鬳鬴鬵鬷鬹鬺鬽魈魋魌魕魖魗魛魞魡魣魥魦魨魪",4,"魳魵魷魸魹魿鮀鮄鮅鮆鮇鮉鮊鮋鮍鮏鮐鮔鮚鮝鮞鮦鮧鮩鮬鮰鮱鮲鮷鮸鮻鮼鮾鮿鯁鯇鯈鯎鯐鯗鯘鯝鯟鯥鯧鯪鯫鯯鯳鯷鯸"],["8feba1","鯹鯺鯽鯿鰀鰂鰋鰏鰑鰖鰘鰙鰚鰜鰞鰢鰣鰦",4,"鰱鰵鰶鰷鰽鱁鱃鱄鱅鱉鱊鱎鱏鱐鱓鱔鱖鱘鱛鱝鱞鱟鱣鱩鱪鱜鱫鱨鱮鱰鱲鱵鱷鱻鳦鳲鳷鳹鴋鴂鴑鴗鴘鴜鴝鴞鴯鴰鴲鴳鴴鴺鴼鵅鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"],["8feca1","鵼鵾鶃鶄鶆鶊鶍鶎鶒鶓鶕鶖鶗鶘鶡鶪鶬鶮鶱鶵鶹鶼鶿鷃鷇鷉鷊鷔鷕鷖鷗鷚鷞鷟鷠鷥鷧鷩鷫鷮鷰鷳鷴鷾鸊鸂鸇鸎鸐鸑鸒鸕鸖鸙鸜鸝鹺鹻鹼麀麂麃麄麅麇麎麏麖麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬黭黮黰黱黲黵"],["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"]]; /***/ }), /* 587 */, @@ -25974,49 +25814,7 @@ module.exports = { /***/ }), -/* 608 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _curry3 = /*#__PURE__*/__webpack_require__(687); - -var map = /*#__PURE__*/__webpack_require__(197); - -var sequence = /*#__PURE__*/__webpack_require__(827); - -/** - * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning - * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable), - * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative - * into an Applicative of Traversable. - * - * Dispatches to the `traverse` method of the third argument, if present. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b) - * @param {Function} of - * @param {Function} f - * @param {*} traversable - * @return {*} - * @see R.sequence - * @example - * - * // Returns `Maybe.Nothing` if the given divisor is `0` - * const safeDiv = n => d => d === 0 ? Maybe.Nothing() : Maybe.Just(n / d) - * - * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Maybe.Just([5, 2.5, 2]) - * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Maybe.Nothing - */ - - -var traverse = /*#__PURE__*/_curry3(function traverse(of, f, traversable) { - return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : sequence(of, map(f, traversable)); -}); -module.exports = traverse; - -/***/ }), +/* 608 */, /* 609 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -26225,78 +26023,245 @@ module.exports = require("events"); /* 615 */, /* 616 */, /* 617 */ -/***/ (function(module) { +/***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; -module.exports = function(Promise) { -var longStackTraces = false; -var contextStack = []; -Promise.prototype._promiseCreated = function() {}; -Promise.prototype._pushContext = function() {}; -Promise.prototype._popContext = function() {return null;}; -Promise._peekContext = Promise.prototype._peekContext = function() {}; +Object.defineProperty(exports, '__esModule', { value: true }); -function Context() { - this._trace = new Context.CapturedTrace(peekContext()); -} -Context.prototype._pushContext = function () { - if (this._trace !== undefined) { - this._trace._promiseCreated = null; - contextStack.push(this._trace); - } -}; +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } -Context.prototype._popContext = function () { - if (this._trace !== undefined) { - var trace = contextStack.pop(); - var ret = trace._promiseCreated; - trace._promiseCreated = null; - return ret; +var BottleneckLight = _interopDefault(__webpack_require__(972)); + +const VERSION = "5.2.3"; + +const noop = () => Promise.resolve(); +// @ts-expect-error +function wrapRequest(state, request, options) { + return state.retryLimiter.schedule(doRequest, state, request, options); +} +// @ts-expect-error +async function doRequest(state, request, options) { + const isWrite = options.method !== "GET" && options.method !== "HEAD"; + const { + pathname + } = new URL(options.url, "http://github.test"); + const isSearch = options.method === "GET" && pathname.startsWith("/search/"); + const isGraphQL = pathname.startsWith("/graphql"); + const retryCount = ~~request.retryCount; + const jobOptions = retryCount > 0 ? { + priority: 0, + weight: 0 + } : {}; + if (state.clustering) { + // Remove a job from Redis if it has not completed or failed within 60s + // Examples: Node process terminated, client disconnected, etc. + // @ts-expect-error + jobOptions.expiration = 1000 * 60; + } + // Guarantee at least 1000ms between writes + // GraphQL can also trigger writes + if (isWrite || isGraphQL) { + await state.write.key(state.id).schedule(jobOptions, noop); + } + // Guarantee at least 3000ms between requests that trigger notifications + if (isWrite && state.triggersNotification(pathname)) { + await state.notifications.key(state.id).schedule(jobOptions, noop); + } + // Guarantee at least 2000ms between search requests + if (isSearch) { + await state.search.key(state.id).schedule(jobOptions, noop); + } + const req = state.global.key(state.id).schedule(jobOptions, request, options); + if (isGraphQL) { + const res = await req; + if (res.data.errors != null && + // @ts-expect-error + res.data.errors.some(error => error.type === "RATE_LIMITED")) { + const error = Object.assign(new Error("GraphQL Rate Limit Exceeded"), { + response: res, + data: res.data + }); + throw error; } - return null; + } + return req; +} + +var triggersNotificationPaths = ["/orgs/{org}/invitations", "/orgs/{org}/invitations/{invitation_id}", "/orgs/{org}/teams/{team_slug}/discussions", "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "/repos/{owner}/{repo}/collaborators/{username}", "/repos/{owner}/{repo}/commits/{commit_sha}/comments", "/repos/{owner}/{repo}/issues", "/repos/{owner}/{repo}/issues/{issue_number}/comments", "/repos/{owner}/{repo}/pulls", "/repos/{owner}/{repo}/pulls/{pull_number}/comments", "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", "/repos/{owner}/{repo}/pulls/{pull_number}/merge", "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "/repos/{owner}/{repo}/releases", "/teams/{team_id}/discussions", "/teams/{team_id}/discussions/{discussion_number}/comments"]; + +function routeMatcher(paths) { + // EXAMPLE. For the following paths: + /* [ + "/orgs/{org}/invitations", + "/repos/{owner}/{repo}/collaborators/{username}" + ] */ + const regexes = paths.map(path => path.split("/").map(c => c.startsWith("{") ? "(?:.+?)" : c).join("/")); + // 'regexes' would contain: + /* [ + '/orgs/(?:.+?)/invitations', + '/repos/(?:.+?)/(?:.+?)/collaborators/(?:.+?)' + ] */ + const regex = `^(?:${regexes.map(r => `(?:${r})`).join("|")})[^/]*$`; + // 'regex' would contain: + /* + ^(?:(?:\/orgs\/(?:.+?)\/invitations)|(?:\/repos\/(?:.+?)\/(?:.+?)\/collaborators\/(?:.+?)))[^\/]*$ + It may look scary, but paste it into https://www.debuggex.com/ + and it will make a lot more sense! + */ + return new RegExp(regex, "i"); +} + +// @ts-expect-error +// Workaround to allow tests to directly access the triggersNotification function. +const regex = routeMatcher(triggersNotificationPaths); +const triggersNotification = regex.test.bind(regex); +const groups = {}; +// @ts-expect-error +const createGroups = function (Bottleneck, common) { + groups.global = new Bottleneck.Group({ + id: "octokit-global", + maxConcurrent: 10, + ...common + }); + groups.search = new Bottleneck.Group({ + id: "octokit-search", + maxConcurrent: 1, + minTime: 2000, + ...common + }); + groups.write = new Bottleneck.Group({ + id: "octokit-write", + maxConcurrent: 1, + minTime: 1000, + ...common + }); + groups.notifications = new Bottleneck.Group({ + id: "octokit-notifications", + maxConcurrent: 1, + minTime: 3000, + ...common + }); }; - -function createContext() { - if (longStackTraces) return new Context(); -} - -function peekContext() { - var lastIndex = contextStack.length - 1; - if (lastIndex >= 0) { - return contextStack[lastIndex]; +function throttling(octokit, octokitOptions) { + const { + enabled = true, + Bottleneck = BottleneckLight, + id = "no-id", + timeout = 1000 * 60 * 2, + // Redis TTL: 2 minutes + connection + } = octokitOptions.throttle || {}; + if (!enabled) { + return {}; + } + const common = { + connection, + timeout + }; + if (groups.global == null) { + createGroups(Bottleneck, common); + } + if (octokitOptions.throttle && octokitOptions.throttle.minimalSecondaryRateRetryAfter) { + octokit.log.warn("[@octokit/plugin-throttling] `options.throttle.minimalSecondaryRateRetryAfter` is deprecated, please use `options.throttle.fallbackSecondaryRateRetryAfter` instead"); + octokitOptions.throttle.fallbackSecondaryRateRetryAfter = octokitOptions.throttle.minimalSecondaryRateRetryAfter; + delete octokitOptions.throttle.minimalSecondaryRateRetryAfter; + } + if (octokitOptions.throttle && octokitOptions.throttle.onAbuseLimit) { + octokit.log.warn("[@octokit/plugin-throttling] `onAbuseLimit()` is deprecated and will be removed in a future release of `@octokit/plugin-throttling`, please use the `onSecondaryRateLimit` handler instead"); + // @ts-ignore types don't allow for both properties to be set + octokitOptions.throttle.onSecondaryRateLimit = octokitOptions.throttle.onAbuseLimit; + // @ts-ignore + delete octokitOptions.throttle.onAbuseLimit; + } + const state = Object.assign({ + clustering: connection != null, + triggersNotification, + fallbackSecondaryRateRetryAfter: 60, + retryAfterBaseValue: 1000, + retryLimiter: new Bottleneck(), + id, + ...groups + }, octokitOptions.throttle); + if (typeof state.onSecondaryRateLimit !== "function" || typeof state.onRateLimit !== "function") { + throw new Error(`octokit/plugin-throttling error: + You must pass the onSecondaryRateLimit and onRateLimit error handlers. + See https://octokit.github.io/rest.js/#throttling + + const octokit = new Octokit({ + throttle: { + onSecondaryRateLimit: (retryAfter, options) => {/* ... */}, + onRateLimit: (retryAfter, options) => {/* ... */} + } + }) + `); + } + const events = {}; + const emitter = new Bottleneck.Events(events); + // @ts-expect-error + events.on("secondary-limit", state.onSecondaryRateLimit); + // @ts-expect-error + events.on("rate-limit", state.onRateLimit); + // @ts-expect-error + events.on("error", e => octokit.log.warn("Error in throttling-plugin limit handler", e)); + // @ts-expect-error + state.retryLimiter.on("failed", async function (error, info) { + const [state, request, options] = info.args; + const { + pathname + } = new URL(options.url, "http://github.test"); + const shouldRetryGraphQL = pathname.startsWith("/graphql") && error.status !== 401; + if (!(shouldRetryGraphQL || error.status === 403)) { + return; } - return undefined; + const retryCount = ~~request.retryCount; + request.retryCount = retryCount; + // backward compatibility + options.request.retryCount = retryCount; + const { + wantRetry, + retryAfter = 0 + } = await async function () { + if (/\bsecondary rate\b/i.test(error.message)) { + // The user has hit the secondary rate limit. (REST and GraphQL) + // https://docs.github.com/en/rest/overview/resources-in-the-rest-api#secondary-rate-limits + // The Retry-After header can sometimes be blank when hitting a secondary rate limit, + // but is always present after 2-3s, so make sure to set `retryAfter` to at least 5s by default. + const retryAfter = Number(error.response.headers["retry-after"]) || state.fallbackSecondaryRateRetryAfter; + const wantRetry = await emitter.trigger("secondary-limit", retryAfter, options, octokit, retryCount); + return { + wantRetry, + retryAfter + }; + } + if (error.response.headers != null && error.response.headers["x-ratelimit-remaining"] === "0") { + // The user has used all their allowed calls for the current time period (REST and GraphQL) + // https://docs.github.com/en/rest/reference/rate-limit (REST) + // https://docs.github.com/en/graphql/overview/resource-limitations#rate-limit (GraphQL) + const rateLimitReset = new Date(~~error.response.headers["x-ratelimit-reset"] * 1000).getTime(); + const retryAfter = Math.max(Math.ceil((rateLimitReset - Date.now()) / 1000), 0); + const wantRetry = await emitter.trigger("rate-limit", retryAfter, options, octokit, retryCount); + return { + wantRetry, + retryAfter + }; + } + return {}; + }(); + if (wantRetry) { + request.retryCount++; + return retryAfter * state.retryAfterBaseValue; + } + }); + octokit.hook.wrap("request", wrapRequest.bind(null, state)); + return {}; } -Context.CapturedTrace = null; -Context.create = createContext; -Context.deactivateLongStackTraces = function() {}; -Context.activateLongStackTraces = function() { - var Promise_pushContext = Promise.prototype._pushContext; - var Promise_popContext = Promise.prototype._popContext; - var Promise_PeekContext = Promise._peekContext; - var Promise_peekContext = Promise.prototype._peekContext; - var Promise_promiseCreated = Promise.prototype._promiseCreated; - Context.deactivateLongStackTraces = function() { - Promise.prototype._pushContext = Promise_pushContext; - Promise.prototype._popContext = Promise_popContext; - Promise._peekContext = Promise_PeekContext; - Promise.prototype._peekContext = Promise_peekContext; - Promise.prototype._promiseCreated = Promise_promiseCreated; - longStackTraces = false; - }; - longStackTraces = true; - Promise.prototype._pushContext = Context.prototype._pushContext; - Promise.prototype._popContext = Context.prototype._popContext; - Promise._peekContext = Promise.prototype._peekContext = peekContext; - Promise.prototype._promiseCreated = function() { - var ctx = this._peekContext(); - if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this; - }; -}; -return Context; -}; +throttling.VERSION = VERSION; +throttling.triggersNotification = triggersNotification; + +exports.throttling = throttling; +//# sourceMappingURL=index.js.map /***/ }), @@ -27195,42 +27160,60 @@ module.exports = merge; /* 654 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var _aperture = /*#__PURE__*/__webpack_require__(675); +var parse = __webpack_require__(751) -var _curry2 = /*#__PURE__*/__webpack_require__(830); +/** + * @category Second Helpers + * @summary Return the start of a second for the given date. + * + * @description + * Return the start of a second for the given date. + * The result will be in the local timezone. + * + * @param {Date|String|Number} date - the original date + * @returns {Date} the start of a second + * + * @example + * // The start of a second for 1 December 2014 22:15:45.400: + * var result = startOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:45.000 + */ +function startOfSecond (dirtyDate) { + var date = parse(dirtyDate) + date.setMilliseconds(0) + return date +} -var _dispatchable = /*#__PURE__*/__webpack_require__(968); +module.exports = startOfSecond -var _xaperture = /*#__PURE__*/__webpack_require__(550); + +/***/ }), +/* 655 */ +/***/ (function(module, __unusedexports, __webpack_require__) { + +var invoker = /*#__PURE__*/__webpack_require__(691); /** - * Returns a new list, composed of n-tuples of consecutive elements. If `n` is - * greater than the length of the list, an empty list is returned. - * - * Acts as a transducer if a transformer is given in list position. + * The lower case version of a string. * * @func * @memberOf R - * @since v0.12.0 - * @category List - * @sig Number -> [a] -> [[a]] - * @param {Number} n The size of the tuples to create - * @param {Array} list The list to split into `n`-length tuples - * @return {Array} The resulting list of `n`-length tuples - * @see R.transduce + * @since v0.9.0 + * @category String + * @sig String -> String + * @param {String} str The string to lower case. + * @return {String} The lower case version of `str`. + * @see R.toUpper * @example * - * R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]] - * R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]] - * R.aperture(7, [1, 2, 3, 4, 5]); //=> [] + * R.toLower('XYZ'); //=> 'xyz' */ -var aperture = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xaperture, _aperture)); -module.exports = aperture; +var toLower = /*#__PURE__*/invoker(0, 'toLowerCase'); +module.exports = toLower; /***/ }), -/* 655 */, /* 656 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -27442,7 +27425,7 @@ module.exports = { 'eucjp': { type: '_dbcs', - table: function() { return __webpack_require__(586) }, + table: function() { return __webpack_require__(54) }, encodeAdd: {'\u00a5': 0x5C, '\u203E': 0x7E}, }, @@ -28309,7 +28292,7 @@ module.exports = { getDayOfYear: __webpack_require__(833), getDaysInMonth: __webpack_require__(507), getDaysInYear: __webpack_require__(164), - getHours: __webpack_require__(225), + getHours: __webpack_require__(387), getISODay: __webpack_require__(14), getISOWeek: __webpack_require__(988), getISOWeeksInYear: __webpack_require__(970), @@ -28354,9 +28337,9 @@ module.exports = { isThisSecond: __webpack_require__(402), isThisWeek: __webpack_require__(331), isThisYear: __webpack_require__(300), - isThursday: __webpack_require__(201), + isThursday: __webpack_require__(753), isToday: __webpack_require__(168), - isTomorrow: __webpack_require__(246), + isTomorrow: __webpack_require__(115), isTuesday: __webpack_require__(858), isValid: __webpack_require__(255), isWednesday: __webpack_require__(904), @@ -28389,10 +28372,10 @@ module.exports = { startOfHour: __webpack_require__(371), startOfISOWeek: __webpack_require__(901), startOfISOYear: __webpack_require__(712), - startOfMinute: __webpack_require__(932), + startOfMinute: __webpack_require__(723), startOfMonth: __webpack_require__(94), startOfQuarter: __webpack_require__(775), - startOfSecond: __webpack_require__(115), + startOfSecond: __webpack_require__(654), startOfToday: __webpack_require__(980), startOfTomorrow: __webpack_require__(238), startOfWeek: __webpack_require__(428), @@ -28402,7 +28385,7 @@ module.exports = { subHours: __webpack_require__(400), subISOYears: __webpack_require__(433), subMilliseconds: __webpack_require__(992), - subMinutes: __webpack_require__(864), + subMinutes: __webpack_require__(932), subMonths: __webpack_require__(640), subQuarters: __webpack_require__(155), subSeconds: __webpack_require__(329), @@ -29173,62 +29156,46 @@ function detectEncoding(bufs, defaultEncoding) { /***/ }), /* 699 */ -/***/ (function(__unusedmodule, exports) { - -"use strict"; +/***/ (function(module, __unusedexports, __webpack_require__) { +var _curry3 = /*#__PURE__*/__webpack_require__(687); -Object.defineProperty(exports, '__esModule', { value: true }); +var map = /*#__PURE__*/__webpack_require__(197); -const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; -const REGEX_IS_INSTALLATION = /^ghs_/; -const REGEX_IS_USER_TO_SERVER = /^ghu_/; -async function auth(token) { - const isApp = token.split(/\./).length === 3; - const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); - const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); - const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; - return { - type: "token", - token: token, - tokenType - }; -} +var sequence = /*#__PURE__*/__webpack_require__(827); /** - * Prefix token for usage in the Authorization header + * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning + * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable), + * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative + * into an Applicative of Traversable. + * + * Dispatches to the `traverse` method of the third argument, if present. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category List + * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b) + * @param {Function} of + * @param {Function} f + * @param {*} traversable + * @return {*} + * @see R.sequence + * @example * - * @param token OAuth token or JSON Web Token + * // Returns `Maybe.Nothing` if the given divisor is `0` + * const safeDiv = n => d => d === 0 ? Maybe.Nothing() : Maybe.Just(n / d) + * + * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Maybe.Just([5, 2.5, 2]) + * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Maybe.Nothing */ -function withAuthorizationPrefix(token) { - if (token.split(/\./).length === 3) { - return `bearer ${token}`; - } - return `token ${token}`; -} - -async function hook(token, request, route, parameters) { - const endpoint = request.endpoint.merge(route, parameters); - endpoint.headers.authorization = withAuthorizationPrefix(token); - return request(endpoint); -} - -const createTokenAuth = function createTokenAuth(token) { - if (!token) { - throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); - } - if (typeof token !== "string") { - throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); - } - token = token.replace(/^(token|bearer) +/i, ""); - return Object.assign(auth.bind(null, token), { - hook: hook.bind(null, token) - }); -}; -exports.createTokenAuth = createTokenAuth; -//# sourceMappingURL=index.js.map +var traverse = /*#__PURE__*/_curry3(function traverse(of, f, traversable) { + return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : sequence(of, map(f, traversable)); +}); +module.exports = traverse; /***/ }), /* 700 */ @@ -29998,114 +29965,38 @@ module.exports = log; /***/ }), /* 719 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); +/***/ (function(module, __unusedexports, __webpack_require__) { -var request = __webpack_require__(298); -var universalUserAgent = __webpack_require__(796); +var _curry2 = /*#__PURE__*/__webpack_require__(830); -const VERSION = "5.0.5"; +var concat = /*#__PURE__*/__webpack_require__(818); -function _buildMessageForResponseErrors(data) { - return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); -} -class GraphqlResponseError extends Error { - constructor(request, headers, response) { - super(_buildMessageForResponseErrors(response)); - this.request = request; - this.headers = headers; - this.response = response; - this.name = "GraphqlResponseError"; - // Expose the errors and response data in their shorthand properties. - this.errors = response.errors; - this.data = response.data; - // Maintains proper stack trace (only available on V8) - /* istanbul ignore next */ - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - } -} +var difference = /*#__PURE__*/__webpack_require__(275); -const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; -const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; -const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; -function graphql(request, query, options) { - if (options) { - if (typeof query === "string" && "query" in options) { - return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); - } - for (const key in options) { - if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; - return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); - } - } - const parsedOptions = typeof query === "string" ? Object.assign({ - query - }, options) : query; - const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { - if (NON_VARIABLE_OPTIONS.includes(key)) { - result[key] = parsedOptions[key]; - return result; - } - if (!result.variables) { - result.variables = {}; - } - result.variables[key] = parsedOptions[key]; - return result; - }, {}); - // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix - // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 - const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; - if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { - requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); - } - return request(requestOptions).then(response => { - if (response.data.errors) { - const headers = {}; - for (const key of Object.keys(response.headers)) { - headers[key] = response.headers[key]; - } - throw new GraphqlResponseError(requestOptions, headers, response.data); - } - return response.data.data; - }); -} +/** + * Finds the set (i.e. no duplicates) of all elements contained in the first or + * second list, but not both. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category Relation + * @sig [*] -> [*] -> [*] + * @param {Array} list1 The first list. + * @param {Array} list2 The second list. + * @return {Array} The elements in `list1` or `list2`, but not both. + * @see R.symmetricDifferenceWith, R.difference, R.differenceWith + * @example + * + * R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5] + * R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2] + */ -function withDefaults(request, newDefaults) { - const newRequest = request.defaults(newDefaults); - const newApi = (query, options) => { - return graphql(newRequest, query, options); - }; - return Object.assign(newApi, { - defaults: withDefaults.bind(null, newRequest), - endpoint: newRequest.endpoint - }); -} -const graphql$1 = withDefaults(request.request, { - headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` - }, - method: "POST", - url: "/graphql" +var symmetricDifference = /*#__PURE__*/_curry2(function symmetricDifference(list1, list2) { + return concat(difference(list1, list2), difference(list2, list1)); }); -function withCustomRequest(customRequest) { - return withDefaults(customRequest, { - method: "POST", - url: "/graphql" - }); -} - -exports.GraphqlResponseError = GraphqlResponseError; -exports.graphql = graphql$1; -exports.withCustomRequest = withCustomRequest; -//# sourceMappingURL=index.js.map - +module.exports = symmetricDifference; /***/ }), /* 720 */, @@ -30168,357 +30059,33 @@ module.exports = endOfSecond /***/ }), /* 723 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -var isPlainObject = __webpack_require__(356); -var universalUserAgent = __webpack_require__(796); - -function lowercaseKeys(object) { - if (!object) { - return {}; - } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} - -function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach(key => { - if (isPlainObject.isPlainObject(options[key])) { - if (!(key in defaults)) Object.assign(result, { - [key]: options[key] - });else result[key] = mergeDeep(defaults[key], options[key]); - } else { - Object.assign(result, { - [key]: options[key] - }); - } - }); - return result; -} - -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === undefined) { - delete obj[key]; - } - } - return obj; -} - -function merge(defaults, route, options) { - if (typeof route === "string") { - let [method, url] = route.split(" "); - options = Object.assign(url ? { - method, - url - } : { - url: method - }, options); - } else { - options = Object.assign({}, route); - } - // lowercase header names before merging with defaults to avoid duplicates - options.headers = lowercaseKeys(options.headers); - // remove properties with undefined values before merging - removeUndefinedProperties(options); - removeUndefinedProperties(options.headers); - const mergedOptions = mergeDeep(defaults || {}, options); - // mediaType.previews arrays are merged, instead of overwritten - if (defaults && defaults.mediaType.previews.length) { - mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); - } - mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); - return mergedOptions; -} - -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - if (names.length === 0) { - return url; - } - return url + separator + names.map(name => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); - } - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} - -const urlVariableRegex = /\{[^}]+\}/g; -function removeNonChars(variableName) { - return variableName.replace(/^\W+|\W+$/g, "").split(/,/); -} -function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); - if (!matches) { - return []; - } - return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); -} - -function omit(object, keysToOmit) { - return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { - obj[key] = object[key]; - return obj; - }, {}); -} - -// Based on https://github.com/bramstein/url-template, licensed under BSD -// TODO: create separate package. -// -// Copyright (c) 2012-2014, Bram Stein -// All rights reserved. -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -/* istanbul ignore file */ -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } - return part; - }).join(""); -} -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); -} -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; - } -} -function isDefined(value) { - return value !== undefined && value !== null; -} -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; -} -function getValues(context, operator, key, modifier) { - var value = context[key], - result = []; - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - tmp.push(encodeValue(operator, value)); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } - } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); - } - } - return result; -} -function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; -} -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { - if (expression) { - let operator = ""; - const values = []; - if (operators.indexOf(expression.charAt(0)) !== -1) { - operator = expression.charAt(0); - expression = expression.substr(1); - } - expression.split(/,/g).forEach(function (variable) { - var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); - values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); - }); - if (operator && operator !== "+") { - var separator = ","; - if (operator === "?") { - separator = "&"; - } else if (operator !== "#") { - separator = operator; - } - return (values.length !== 0 ? operator : "") + values.join(separator); - } else { - return values.join(","); - } - } else { - return encodeReserved(literal); - } - }); -} - -function parse(options) { - // https://fetch.spec.whatwg.org/#methods - let method = options.method.toUpperCase(); - // replace :varname with {varname} to make it RFC 6570 compatible - let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); - let headers = Object.assign({}, options.headers); - let body; - let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); - // extract variable names from URL to calculate remaining variables later - const urlVariableNames = extractUrlVariableNames(url); - url = parseUrl(url).expand(parameters); - if (!/^http/.test(url)) { - url = options.baseUrl + url; - } - const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); - const remainingParameters = omit(parameters, omittedParameters); - const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); - if (!isBinaryRequest) { - if (options.mediaType.format) { - // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw - headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); - } - if (options.mediaType.previews.length) { - const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { - const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; - return `application/vnd.github.${preview}-preview${format}`; - }).join(","); - } - } - // for GET/HEAD requests, set URL query parameters from remaining parameters - // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters - if (["GET", "HEAD"].includes(method)) { - url = addQueryParameters(url, remainingParameters); - } else { - if ("data" in remainingParameters) { - body = remainingParameters.data; - } else { - if (Object.keys(remainingParameters).length) { - body = remainingParameters; - } - } - } - // default content-type for JSON if body is set - if (!headers["content-type"] && typeof body !== "undefined") { - headers["content-type"] = "application/json; charset=utf-8"; - } - // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. - // fetch does not allow to set `content-length` header, but we can set body to an empty string - if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { - body = ""; - } - // Only return body/request keys if present - return Object.assign({ - method, - url, - headers - }, typeof body !== "undefined" ? { - body - } : null, options.request ? { - request: options.request - } : null); -} +/***/ (function(module, __unusedexports, __webpack_require__) { -function endpointWithDefaults(defaults, route, options) { - return parse(merge(defaults, route, options)); -} +var parse = __webpack_require__(751) -function withDefaults(oldDefaults, newDefaults) { - const DEFAULTS = merge(oldDefaults, newDefaults); - const endpoint = endpointWithDefaults.bind(null, DEFAULTS); - return Object.assign(endpoint, { - DEFAULTS, - defaults: withDefaults.bind(null, DEFAULTS), - merge: merge.bind(null, DEFAULTS), - parse - }); +/** + * @category Minute Helpers + * @summary Return the start of a minute for the given date. + * + * @description + * Return the start of a minute for the given date. + * The result will be in the local timezone. + * + * @param {Date|String|Number} date - the original date + * @returns {Date} the start of a minute + * + * @example + * // The start of a minute for 1 December 2014 22:15:45.400: + * var result = startOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:00 + */ +function startOfMinute (dirtyDate) { + var date = parse(dirtyDate) + date.setSeconds(0, 0) + return date } -const VERSION = "7.0.5"; - -const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; -// DEFAULTS has all properties set that EndpointOptions has, except url. -// So we use RequestParameters and add method as additional required property. -const DEFAULTS = { - method: "GET", - baseUrl: "https://api.github.com", - headers: { - accept: "application/vnd.github.v3+json", - "user-agent": userAgent - }, - mediaType: { - format: "", - previews: [] - } -}; - -const endpoint = withDefaults(null, DEFAULTS); - -exports.endpoint = endpoint; -//# sourceMappingURL=index.js.map +module.exports = startOfMinute /***/ }), @@ -30797,40 +30364,7 @@ module.exports.firstLineError = firstLineError; /***/ }), /* 727 */, -/* 728 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _concat = /*#__PURE__*/__webpack_require__(340); - -var _curry2 = /*#__PURE__*/__webpack_require__(830); - -var compose = /*#__PURE__*/__webpack_require__(944); - -var uniq = /*#__PURE__*/__webpack_require__(732); - -/** - * Combines two lists into a set (i.e. no duplicates) composed of the elements - * of each list. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig [*] -> [*] -> [*] - * @param {Array} as The first list. - * @param {Array} bs The second list. - * @return {Array} The first and second lists concatenated, with - * duplicates removed. - * @example - * - * R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4] - */ - - -var union = /*#__PURE__*/_curry2( /*#__PURE__*/compose(uniq, _concat)); -module.exports = union; - -/***/ }), +/* 728 */, /* 729 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -31102,21 +30636,7 @@ module.exports = mergeDeepLeft; /***/ }), /* 735 */, /* 736 */, -/* 737 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var _isFunction = /*#__PURE__*/__webpack_require__(504); - -var _toString = /*#__PURE__*/__webpack_require__(628); - -function _assertPromise(name, p) { - if (p == null || !_isFunction(p.then)) { - throw new TypeError('`' + name + '` expected a Promise, received ' + _toString(p, [])); - } -} -module.exports = _assertPromise; - -/***/ }), +/* 737 */, /* 738 */ /***/ (function(module, __unusedexports, __webpack_require__) { @@ -31739,186 +31259,30 @@ module.exports = parse /***/ }), /* 752 */, /* 753 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var endpoint = __webpack_require__(385); -var universalUserAgent = __webpack_require__(796); -var isPlainObject = __webpack_require__(356); -var nodeFetch = _interopDefault(__webpack_require__(454)); -var requestError = __webpack_require__(463); - -const VERSION = "5.6.3"; - -function getBufferResponse(response) { - return response.arrayBuffer(); -} - -function fetchWrapper(requestOptions) { - const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - - if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { - requestOptions.body = JSON.stringify(requestOptions.body); - } - - let headers = {}; - let status; - let url; - const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; - return fetch(requestOptions.url, Object.assign({ - method: requestOptions.method, - body: requestOptions.body, - headers: requestOptions.headers, - redirect: requestOptions.redirect - }, // `requestOptions.request.agent` type is incompatible - // see https://github.com/octokit/types.ts/pull/264 - requestOptions.request)).then(async response => { - url = response.url; - status = response.status; - - for (const keyAndValue of response.headers) { - headers[keyAndValue[0]] = keyAndValue[1]; - } - - if ("deprecation" in headers) { - const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); - const deprecationLink = matches && matches.pop(); - log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); - } - - if (status === 204 || status === 205) { - return; - } // GitHub API returns 200 for HEAD requests - - - if (requestOptions.method === "HEAD") { - if (status < 400) { - return; - } - - throw new requestError.RequestError(response.statusText, status, { - response: { - url, - status, - headers, - data: undefined - }, - request: requestOptions - }); - } - - if (status === 304) { - throw new requestError.RequestError("Not modified", status, { - response: { - url, - status, - headers, - data: await getResponseData(response) - }, - request: requestOptions - }); - } - - if (status >= 400) { - const data = await getResponseData(response); - const error = new requestError.RequestError(toErrorMessage(data), status, { - response: { - url, - status, - headers, - data - }, - request: requestOptions - }); - throw error; - } - - return getResponseData(response); - }).then(data => { - return { - status, - url, - headers, - data - }; - }).catch(error => { - if (error instanceof requestError.RequestError) throw error; - throw new requestError.RequestError(error.message, 500, { - request: requestOptions - }); - }); -} - -async function getResponseData(response) { - const contentType = response.headers.get("content-type"); - - if (/application\/json/.test(contentType)) { - return response.json(); - } - - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - - return getBufferResponse(response); -} - -function toErrorMessage(data) { - if (typeof data === "string") return data; // istanbul ignore else - just in case - - if ("message" in data) { - if (Array.isArray(data.errors)) { - return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; - } - - return data.message; - } // istanbul ignore next - just in case - - - return `Unknown error: ${JSON.stringify(data)}`; -} - -function withDefaults(oldEndpoint, newDefaults) { - const endpoint = oldEndpoint.defaults(newDefaults); - - const newApi = function (route, parameters) { - const endpointOptions = endpoint.merge(route, parameters); - - if (!endpointOptions.request || !endpointOptions.request.hook) { - return fetchWrapper(endpoint.parse(endpointOptions)); - } - - const request = (route, parameters) => { - return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); - }; +/***/ (function(module, __unusedexports, __webpack_require__) { - Object.assign(request, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); - return endpointOptions.request.hook(request, endpointOptions); - }; +var parse = __webpack_require__(751) - return Object.assign(newApi, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); +/** + * @category Weekday Helpers + * @summary Is the given date Thursday? + * + * @description + * Is the given date Thursday? + * + * @param {Date|String|Number} date - the date to check + * @returns {Boolean} the date is Thursday + * + * @example + * // Is 25 September 2014 Thursday? + * var result = isThursday(new Date(2014, 8, 25)) + * //=> true + */ +function isThursday (dirtyDate) { + return parse(dirtyDate).getDay() === 4 } -const request = withDefaults(endpoint.endpoint, { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` - } -}); - -exports.request = request; -//# sourceMappingURL=index.js.map +module.exports = isThursday /***/ }), @@ -32075,7 +31439,7 @@ module.exports = propSatisfies; /* 758 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var startOfMinute = __webpack_require__(932) +var startOfMinute = __webpack_require__(723) /** * @category Minute Helpers @@ -32111,7 +31475,7 @@ module.exports = isSameMinute /* 759 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var startOfSecond = __webpack_require__(115) +var startOfSecond = __webpack_require__(654) /** * @category Second Helpers @@ -33998,16 +33362,39 @@ module.exports = _xdropWhile; /***/ }), /* 812 */, /* 813 */ -/***/ (function(__unusedmodule, exports) { +/***/ (function(module) { "use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -Object.defineProperty(exports, '__esModule', { value: true }); +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + createTokenAuth: () => createTokenAuth +}); +module.exports = __toCommonJS(dist_src_exports); -const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; -const REGEX_IS_INSTALLATION = /^ghs_/; -const REGEX_IS_USER_TO_SERVER = /^ghu_/; +// pkg/dist-src/auth.js +var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +var REGEX_IS_INSTALLATION = /^ghs_/; +var REGEX_IS_USER_TO_SERVER = /^ghu_/; async function auth(token) { const isApp = token.split(/\./).length === 3; const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); @@ -34015,47 +33402,46 @@ async function auth(token) { const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; return { type: "token", - token: token, + token, tokenType }; } -/** - * Prefix token for usage in the Authorization header - * - * @param token OAuth token or JSON Web Token - */ +// pkg/dist-src/with-authorization-prefix.js function withAuthorizationPrefix(token) { if (token.split(/\./).length === 3) { return `bearer ${token}`; } - return `token ${token}`; } +// pkg/dist-src/hook.js async function hook(token, request, route, parameters) { - const endpoint = request.endpoint.merge(route, parameters); + const endpoint = request.endpoint.merge( + route, + parameters + ); endpoint.headers.authorization = withAuthorizationPrefix(token); return request(endpoint); } -const createTokenAuth = function createTokenAuth(token) { +// pkg/dist-src/index.js +var createTokenAuth = function createTokenAuth2(token) { if (!token) { throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); } - if (typeof token !== "string") { - throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + throw new Error( + "[@octokit/auth-token] Token passed to createTokenAuth is not a string" + ); } - token = token.replace(/^(token|bearer) +/i, ""); return Object.assign(auth.bind(null, token), { hook: hook.bind(null, token) }); }; - -exports.createTokenAuth = createTokenAuth; -//# sourceMappingURL=index.js.map +// Annotate the CommonJS export names for ESM import in node: +0 && (false); /***/ }), @@ -36596,32 +35982,78 @@ module.exports = find; /***/ }), /* 863 */, /* 864 */ -/***/ (function(module, __unusedexports, __webpack_require__) { +/***/ (function(module) { -var addMinutes = __webpack_require__(755) +"use strict"; -/** - * @category Minute Helpers - * @summary Subtract the specified number of minutes from the given date. - * - * @description - * Subtract the specified number of minutes from the given date. - * - * @param {Date|String|Number} date - the date to be changed - * @param {Number} amount - the amount of minutes to be subtracted - * @returns {Date} the new date with the mintues subtracted - * - * @example - * // Subtract 30 minutes from 10 July 2014 12:00:00: - * var result = subMinutes(new Date(2014, 6, 10, 12, 0), 30) - * //=> Thu Jul 10 2014 11:30:00 - */ -function subMinutes (dirtyDate, dirtyAmount) { - var amount = Number(dirtyAmount) - return addMinutes(dirtyDate, -amount) +module.exports = function(Promise) { +var longStackTraces = false; +var contextStack = []; + +Promise.prototype._promiseCreated = function() {}; +Promise.prototype._pushContext = function() {}; +Promise.prototype._popContext = function() {return null;}; +Promise._peekContext = Promise.prototype._peekContext = function() {}; + +function Context() { + this._trace = new Context.CapturedTrace(peekContext()); } +Context.prototype._pushContext = function () { + if (this._trace !== undefined) { + this._trace._promiseCreated = null; + contextStack.push(this._trace); + } +}; -module.exports = subMinutes +Context.prototype._popContext = function () { + if (this._trace !== undefined) { + var trace = contextStack.pop(); + var ret = trace._promiseCreated; + trace._promiseCreated = null; + return ret; + } + return null; +}; + +function createContext() { + if (longStackTraces) return new Context(); +} + +function peekContext() { + var lastIndex = contextStack.length - 1; + if (lastIndex >= 0) { + return contextStack[lastIndex]; + } + return undefined; +} +Context.CapturedTrace = null; +Context.create = createContext; +Context.deactivateLongStackTraces = function() {}; +Context.activateLongStackTraces = function() { + var Promise_pushContext = Promise.prototype._pushContext; + var Promise_popContext = Promise.prototype._popContext; + var Promise_PeekContext = Promise._peekContext; + var Promise_peekContext = Promise.prototype._peekContext; + var Promise_promiseCreated = Promise.prototype._promiseCreated; + Context.deactivateLongStackTraces = function() { + Promise.prototype._pushContext = Promise_pushContext; + Promise.prototype._popContext = Promise_popContext; + Promise._peekContext = Promise_PeekContext; + Promise.prototype._peekContext = Promise_peekContext; + Promise.prototype._promiseCreated = Promise_promiseCreated; + longStackTraces = false; + }; + longStackTraces = true; + Promise.prototype._pushContext = Context.prototype._pushContext; + Promise.prototype._popContext = Context.prototype._popContext; + Promise._peekContext = Promise.prototype._peekContext = peekContext; + Promise.prototype._promiseCreated = function() { + var ctx = this._peekContext(); + if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this; + }; +}; +return Context; +}; /***/ }), @@ -37509,7 +36941,7 @@ module.exports = isSaturday Object.defineProperty(exports, '__esModule', { value: true }); -var core = __webpack_require__(152); +var core = __webpack_require__(448); var pluginRequestLog = __webpack_require__(916); var pluginPaginateRest = __webpack_require__(991); var pluginRestEndpointMethods = __webpack_require__(842); @@ -37763,128 +37195,41 @@ module.exports = sortWith; /* 896 */, /* 897 */, /* 898 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -var request = __webpack_require__(753); -var universalUserAgent = __webpack_require__(796); - -const VERSION = "4.8.0"; - -function _buildMessageForResponseErrors(data) { - return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); -} - -class GraphqlResponseError extends Error { - constructor(request, headers, response) { - super(_buildMessageForResponseErrors(response)); - this.request = request; - this.headers = headers; - this.response = response; - this.name = "GraphqlResponseError"; // Expose the errors and response data in their shorthand properties. - - this.errors = response.errors; - this.data = response.data; // Maintains proper stack trace (only available on V8) - - /* istanbul ignore next */ - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - } - -} - -const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; -const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; -const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; -function graphql(request, query, options) { - if (options) { - if (typeof query === "string" && "query" in options) { - return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); - } - - for (const key in options) { - if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; - return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); - } - } - - const parsedOptions = typeof query === "string" ? Object.assign({ - query - }, options) : query; - const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { - if (NON_VARIABLE_OPTIONS.includes(key)) { - result[key] = parsedOptions[key]; - return result; - } - - if (!result.variables) { - result.variables = {}; - } - - result.variables[key] = parsedOptions[key]; - return result; - }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix - // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 - - const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; - - if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { - requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); - } - - return request(requestOptions).then(response => { - if (response.data.errors) { - const headers = {}; - - for (const key of Object.keys(response.headers)) { - headers[key] = response.headers[key]; - } - - throw new GraphqlResponseError(requestOptions, headers, response.data); - } +/***/ (function(module, __unusedexports, __webpack_require__) { - return response.data.data; - }); -} +var _aperture = /*#__PURE__*/__webpack_require__(675); -function withDefaults(request$1, newDefaults) { - const newRequest = request$1.defaults(newDefaults); +var _curry2 = /*#__PURE__*/__webpack_require__(830); - const newApi = (query, options) => { - return graphql(newRequest, query, options); - }; +var _dispatchable = /*#__PURE__*/__webpack_require__(968); - return Object.assign(newApi, { - defaults: withDefaults.bind(null, newRequest), - endpoint: request.request.endpoint - }); -} +var _xaperture = /*#__PURE__*/__webpack_require__(550); -const graphql$1 = withDefaults(request.request, { - headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` - }, - method: "POST", - url: "/graphql" -}); -function withCustomRequest(customRequest) { - return withDefaults(customRequest, { - method: "POST", - url: "/graphql" - }); -} +/** + * Returns a new list, composed of n-tuples of consecutive elements. If `n` is + * greater than the length of the list, an empty list is returned. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.12.0 + * @category List + * @sig Number -> [a] -> [[a]] + * @param {Number} n The size of the tuples to create + * @param {Array} list The list to split into `n`-length tuples + * @return {Array} The resulting list of `n`-length tuples + * @see R.transduce + * @example + * + * R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]] + * R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]] + * R.aperture(7, [1, 2, 3, 4, 5]); //=> [] + */ -exports.GraphqlResponseError = GraphqlResponseError; -exports.graphql = graphql$1; -exports.withCustomRequest = withCustomRequest; -//# sourceMappingURL=index.js.map +var aperture = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xaperture, _aperture)); +module.exports = aperture; /***/ }), /* 899 */, @@ -38985,31 +38330,30 @@ module.exports = Array.isArray || function _isArray(val) { /* 932 */ /***/ (function(module, __unusedexports, __webpack_require__) { -var parse = __webpack_require__(751) +var addMinutes = __webpack_require__(755) /** * @category Minute Helpers - * @summary Return the start of a minute for the given date. + * @summary Subtract the specified number of minutes from the given date. * * @description - * Return the start of a minute for the given date. - * The result will be in the local timezone. + * Subtract the specified number of minutes from the given date. * - * @param {Date|String|Number} date - the original date - * @returns {Date} the start of a minute + * @param {Date|String|Number} date - the date to be changed + * @param {Number} amount - the amount of minutes to be subtracted + * @returns {Date} the new date with the mintues subtracted * * @example - * // The start of a minute for 1 December 2014 22:15:45.400: - * var result = startOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400)) - * //=> Mon Dec 01 2014 22:15:00 + * // Subtract 30 minutes from 10 July 2014 12:00:00: + * var result = subMinutes(new Date(2014, 6, 10, 12, 0), 30) + * //=> Thu Jul 10 2014 11:30:00 */ -function startOfMinute (dirtyDate) { - var date = parse(dirtyDate) - date.setSeconds(0, 0) - return date +function subMinutes (dirtyDate, dirtyAmount) { + var amount = Number(dirtyAmount) + return addMinutes(dirtyDate, -amount) } -module.exports = startOfMinute +module.exports = subMinutes /***/ }), @@ -43928,7 +43272,7 @@ var getContextDomain = function() { }; }; var AsyncResource = util.isNode && util.nodeSupportsAsyncResource ? - __webpack_require__(95).AsyncResource : null; + __webpack_require__(395).AsyncResource : null; var getContextAsyncHooks = function() { return { domain: getDomain(), @@ -43963,9 +43307,9 @@ var APPLY = {}; var NEXT_FILTER = {}; var tryConvertToPromise = __webpack_require__(725)(Promise, INTERNAL); var PromiseArray = - __webpack_require__(401)(Promise, INTERNAL, + __webpack_require__(246)(Promise, INTERNAL, tryConvertToPromise, apiRejection, Proxyable); -var Context = __webpack_require__(617)(Promise); +var Context = __webpack_require__(864)(Promise); /*jshint unused:false*/ var createContext = Context.create; @@ -44688,7 +44032,7 @@ __webpack_require__(323)(Promise, PromiseArray, apiRejection); __webpack_require__(409)(Promise, INTERNAL, debug); __webpack_require__(846)(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug); __webpack_require__(658)(Promise); -__webpack_require__(555)(Promise, INTERNAL); +__webpack_require__(152)(Promise, INTERNAL); __webpack_require__(519)(Promise, INTERNAL); util.toFastProperties(Promise); From adfd145a69ee606e6f3a597ffc0a4b7efa9538b7 Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Mon, 12 Jun 2023 13:57:02 -0700 Subject: [PATCH 50/55] chore: Update plugin-throttling syntax --- .github/actions/sync-data/dist/index.js | 27 +++++++++++-------- .../stats-generator/github/github-client.js | 27 +++++++++++-------- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/.github/actions/sync-data/dist/index.js b/.github/actions/sync-data/dist/index.js index 3f3a3220ba..a11518b84e 100644 --- a/.github/actions/sync-data/dist/index.js +++ b/.github/actions/sync-data/dist/index.js @@ -3607,10 +3607,10 @@ return { /***/ (function(module, __unusedexports, __webpack_require__) { const { Octokit } = __webpack_require__(448); -const throttlingPlugin = __webpack_require__(617); +const { throttling } = __webpack_require__(617); const retryPlugin = __webpack_require__(618); -const MyOctokit = Octokit.plugin(throttlingPlugin, retryPlugin); +const MyOctokit = Octokit.plugin(throttling, retryPlugin); const log = __webpack_require__(718); const addGraphQL = __webpack_require__(423); @@ -3666,9 +3666,8 @@ const createOctokit = ({ org, accessToken, tokenType = 'token', cacheKey }) => { // retry twice if (options.request.retryCount < 2) { log.warn( - `Retrying after ${retryAfter} seconds, retry attempt=${ - options.request.retryCount + 1 - }` + `Retrying after ${retryAfter} seconds, retry attempt=${options + .request.retryCount + 1}` ); // Return true to automatically retry the request after retryAfter seconds return true; @@ -3676,20 +3675,26 @@ const createOctokit = ({ org, accessToken, tokenType = 'token', cacheKey }) => { return undefined; }, + onSecondaryRateLimit: (retryAfter, options, octokit) => { + // does not retry, only logs a warning + log.warn( + `SecondaryRateLimit detected for request ${options.method} ${options.url}` + ); + }, onAbuseLimit: (retryAfter, options) => { // does not retry, only logs a warning log.warn(`Abuse detected for request ${options.method} ${options.url}`); log.json(options); return true; - }, + } }, log: { // eslint-disable-next-line no-unused-vars debug: (operation, payload) => {}, info: log.info, warn: log.warn, - error: log.error, - }, + error: log.error + } }); }; @@ -3714,7 +3719,7 @@ async function createGithubClient(org, cacheKey, accessToken) { const octokit = createOctokit({ org, accessToken: githubAccessToken, - cacheKey, + cacheKey }); addGraphQL(octokit, org); @@ -3727,7 +3732,7 @@ function createGithubUserClient(org, userAccessToken) { org, accessToken: userAccessToken, // it makes sense to set locks on token level, so we control concurrency per user - cacheKey: userAccessToken, + cacheKey: userAccessToken }); addGraphQL(octokit, org); @@ -3737,7 +3742,7 @@ function createGithubUserClient(org, userAccessToken) { module.exports = { createGithubClient, createGithubUserClient, - createOctokit, + createOctokit }; diff --git a/.github/actions/sync-data/src/stats-generator/github/github-client.js b/.github/actions/sync-data/src/stats-generator/github/github-client.js index 6f7cef586e..2270318148 100644 --- a/.github/actions/sync-data/src/stats-generator/github/github-client.js +++ b/.github/actions/sync-data/src/stats-generator/github/github-client.js @@ -1,8 +1,8 @@ const { Octokit } = require('@octokit/core'); -const throttlingPlugin = require('@octokit/plugin-throttling'); +const { throttling } = require('@octokit/plugin-throttling'); const retryPlugin = require('@octokit/plugin-retry'); -const MyOctokit = Octokit.plugin(throttlingPlugin, retryPlugin); +const MyOctokit = Octokit.plugin(throttling, retryPlugin); const log = require('../lib/log'); const addGraphQL = require('./graphql'); @@ -58,9 +58,8 @@ const createOctokit = ({ org, accessToken, tokenType = 'token', cacheKey }) => { // retry twice if (options.request.retryCount < 2) { log.warn( - `Retrying after ${retryAfter} seconds, retry attempt=${ - options.request.retryCount + 1 - }` + `Retrying after ${retryAfter} seconds, retry attempt=${options + .request.retryCount + 1}` ); // Return true to automatically retry the request after retryAfter seconds return true; @@ -68,20 +67,26 @@ const createOctokit = ({ org, accessToken, tokenType = 'token', cacheKey }) => { return undefined; }, + onSecondaryRateLimit: (retryAfter, options, octokit) => { + // does not retry, only logs a warning + log.warn( + `SecondaryRateLimit detected for request ${options.method} ${options.url}` + ); + }, onAbuseLimit: (retryAfter, options) => { // does not retry, only logs a warning log.warn(`Abuse detected for request ${options.method} ${options.url}`); log.json(options); return true; - }, + } }, log: { // eslint-disable-next-line no-unused-vars debug: (operation, payload) => {}, info: log.info, warn: log.warn, - error: log.error, - }, + error: log.error + } }); }; @@ -106,7 +111,7 @@ async function createGithubClient(org, cacheKey, accessToken) { const octokit = createOctokit({ org, accessToken: githubAccessToken, - cacheKey, + cacheKey }); addGraphQL(octokit, org); @@ -119,7 +124,7 @@ function createGithubUserClient(org, userAccessToken) { org, accessToken: userAccessToken, // it makes sense to set locks on token level, so we control concurrency per user - cacheKey: userAccessToken, + cacheKey: userAccessToken }); addGraphQL(octokit, org); @@ -129,5 +134,5 @@ function createGithubUserClient(org, userAccessToken) { module.exports = { createGithubClient, createGithubUserClient, - createOctokit, + createOctokit }; From 2437feace7a66726878b4b31e5f03ecfd45e2470 Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Mon, 12 Jun 2023 16:47:31 -0700 Subject: [PATCH 51/55] chore: Remove deprecated option --- .../sync-data/src/stats-generator/github/github-client.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/actions/sync-data/src/stats-generator/github/github-client.js b/.github/actions/sync-data/src/stats-generator/github/github-client.js index 2270318148..4bf153f4f9 100644 --- a/.github/actions/sync-data/src/stats-generator/github/github-client.js +++ b/.github/actions/sync-data/src/stats-generator/github/github-client.js @@ -72,12 +72,6 @@ const createOctokit = ({ org, accessToken, tokenType = 'token', cacheKey }) => { log.warn( `SecondaryRateLimit detected for request ${options.method} ${options.url}` ); - }, - onAbuseLimit: (retryAfter, options) => { - // does not retry, only logs a warning - log.warn(`Abuse detected for request ${options.method} ${options.url}`); - log.json(options); - return true; } }, log: { From 6e822fad8495b056707168dd74e59c14b5ae98b1 Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Mon, 12 Jun 2023 16:48:22 -0700 Subject: [PATCH 52/55] chore: Try running without dist file --- .github/actions/sync-data/action.yml | 2 +- .github/workflows/project-stats.yml | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/actions/sync-data/action.yml b/.github/actions/sync-data/action.yml index 3a15d0230f..dddc0c28c3 100644 --- a/.github/actions/sync-data/action.yml +++ b/.github/actions/sync-data/action.yml @@ -10,4 +10,4 @@ inputs: description: 'true/false - determines whether to fetch and sync the project-stats data' runs: using: 'node16' - main: 'dist/index.js' + main: 'src/index.js' diff --git a/.github/workflows/project-stats.yml b/.github/workflows/project-stats.yml index f6c6a5556e..5f2b1fc7ea 100644 --- a/.github/workflows/project-stats.yml +++ b/.github/workflows/project-stats.yml @@ -22,6 +22,9 @@ jobs: fetch-depth: 0 token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} + - name: Install dependencies + run: cd .github/actions/sync-data && npm install + - name: Sync Data uses: ./.github/actions/sync-data with: From 2ae024cb88fce924667867f3a67f614aca2ba5d1 Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Tue, 13 Jun 2023 12:51:23 -0700 Subject: [PATCH 53/55] fix: Revert back to using dist --- .github/actions/sync-data/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/sync-data/action.yml b/.github/actions/sync-data/action.yml index dddc0c28c3..3a15d0230f 100644 --- a/.github/actions/sync-data/action.yml +++ b/.github/actions/sync-data/action.yml @@ -10,4 +10,4 @@ inputs: description: 'true/false - determines whether to fetch and sync the project-stats data' runs: using: 'node16' - main: 'src/index.js' + main: 'dist/index.js' From e760e0dd25495cea58e25bc29464e0780e632614 Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Tue, 13 Jun 2023 12:52:20 -0700 Subject: [PATCH 54/55] fix: Revert github query syntax --- .github/actions/sync-data/dist/index.js | 8 +------- .../src/stats-generator/github/fetch-all-pages.js | 2 +- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/actions/sync-data/dist/index.js b/.github/actions/sync-data/dist/index.js index a11518b84e..bfa8a6267b 100644 --- a/.github/actions/sync-data/dist/index.js +++ b/.github/actions/sync-data/dist/index.js @@ -3680,12 +3680,6 @@ const createOctokit = ({ org, accessToken, tokenType = 'token', cacheKey }) => { log.warn( `SecondaryRateLimit detected for request ${options.method} ${options.url}` ); - }, - onAbuseLimit: (retryAfter, options) => { - // does not retry, only logs a warning - log.warn(`Abuse detected for request ${options.method} ${options.url}`); - log.json(options); - return true; } }, log: { @@ -11280,7 +11274,7 @@ async function fetchAllPages( const query = createQuery(endCursor); // log.json(query) // append new results to the collection array - apiResponse = await github.rest.query(query); + apiResponse = await github.query(query); const { nodes, pageInfo } = resultSelector(apiResponse) || {}; if (!nodes || !pageInfo) { diff --git a/.github/actions/sync-data/src/stats-generator/github/fetch-all-pages.js b/.github/actions/sync-data/src/stats-generator/github/fetch-all-pages.js index 5e011bb016..f960a7747d 100644 --- a/.github/actions/sync-data/src/stats-generator/github/fetch-all-pages.js +++ b/.github/actions/sync-data/src/stats-generator/github/fetch-all-pages.js @@ -24,7 +24,7 @@ async function fetchAllPages( const query = createQuery(endCursor); // log.json(query) // append new results to the collection array - apiResponse = await github.rest.query(query); + apiResponse = await github.query(query); const { nodes, pageInfo } = resultSelector(apiResponse) || {}; if (!nodes || !pageInfo) { From ba466ed9d8fbd3676ec5a39a786822f1b5eb5bec Mon Sep 17 00:00:00 2001 From: nr-opensource-bot Date: Tue, 13 Jun 2023 20:46:30 +0000 Subject: [PATCH 55/55] chore(release): 1.24.9 ## [1.24.9](https://github.com/newrelic/opensource-website/compare/v1.24.8...v1.24.9) (2023-06-13) ### Bug Fixes * Revert back to using dist ([2ae024c](https://github.com/newrelic/opensource-website/commit/2ae024cb88fce924667867f3a67f614aca2ba5d1)) * Revert github query syntax ([e760e0d](https://github.com/newrelic/opensource-website/commit/e760e0dd25495cea58e25bc29464e0780e632614)) --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a149bd6fa..8dd2c2beb7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## [1.24.9](https://github.com/newrelic/opensource-website/compare/v1.24.8...v1.24.9) (2023-06-13) + + +### Bug Fixes + +* Revert back to using dist ([2ae024c](https://github.com/newrelic/opensource-website/commit/2ae024cb88fce924667867f3a67f614aca2ba5d1)) +* Revert github query syntax ([e760e0d](https://github.com/newrelic/opensource-website/commit/e760e0dd25495cea58e25bc29464e0780e632614)) + ## [1.24.8](https://github.com/newrelic/opensource-website/compare/v1.24.7...v1.24.8) (2023-06-12) diff --git a/package.json b/package.json index 2a886ffffb..f3b60536ef 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "opensource-website", "private": true, "description": "Data, code, and automation for opensource.newrelic.com", - "version": "1.24.8", + "version": "1.24.9", "author": "Open Source Team at New Relic ", "dependencies": { "@emotion/react": "^11.1.5",

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 z∓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 z z8Ip_P?7`wlx=vt*rP0(hW}(bu(}Nd1zLN^lkbN$!c)-If_wFX{s9kQ^tI0%H%IigK zqdoL#O|MIl41TT{vEgosVs0ACGU+-g{Rh6ge){QQ`*pdTI-RdR=|PMxt+@7kb3`fXGL5xz7G zH};tkD<70B5al7)y&%Iu!R`&VZ=Z1?pn?}bJirUC$j3+&ejk88@#USWUS*}&Y=Ua` zF2VLM1cXjWX6>h8U!!maz|BYF*3QZGoxTOOFdjrGB>^Y?Qy9(~o4$CvA>uYOG5+95 zH!Rrr+Z-XibD9!ZeQ$ZgoPEHJl5Q%SRv{(Kd@brx!|%oo&zXc_tbrfyu2XS|Z3D(n z5Uc^cx5e4q_Ql^;y)Od0y)3Jzo*SIVAac@W^l9ruGs1TK`x-I@c!g_Fo?eF$d?&-c zBSpjxyw9Vzw<~ccG8~)gatWaU?;uH5Xb2XBC0G)U2G706kH=pBEK7jhCDd7`(36+# zQvH^yE=F!!u*p7?$7zjBQyDrYW4lm*22k9D(2`fNc=j$r1ttx=U} z?8|AheH7ss_-i?Kk(Ypyw;Y;~j|>8{M3Z4!*dArH0`=ss+^dP1pSZUf}81JiUklJ4Enq zu6#@QdXO*^pg-tz9v1YVF1nO#w5F*JPNbHUBM`F+<7-#e-6!vSM`ooud2I=QdTWsif%1@r+A9%md& z%9z z;2|Oxc36^$)m07;bKP)S`|<;#I%$j+jV~@6>2-7(A$#l|F~Wgh!(#Zt%6QbQ@0b3A zE&PkP=xVBhZFNJ5AE2R3{8Ir9oj_;(V~if7GZ*_j8EXSC6$t*+(r#n>Ftg#Y#>5|fzn4V5wWnZBd;_$WIoRZ1efRvSy_TKtmxK(VSJq6da5gE<)Sbqt zjO+WCdZO*5n@IoB^c<*H%XyYD0nzaj`!9uYi7Yuho8PJF_Sq~lKhWQ? zdB%{%pvq())u3$e6fAK$%<}?AtmVjP(W?J}Y_OA(16(mjzP68S>AQA|!{L7{M)Wrs>;z)j z9D>2}1nkkXi{PRf_<*Dl@5Sv3|M^zV6^``0fp;=BqW-AbKx9KPi23c$R!%gY^(2au z&Dn4QxAXIJZY8u9H@54dyhAK=Hc?XP4hPX+!5CwesS#+dB)qmZ9Ux@yzJ{j};AbzD z$-BSCm}XFum2Y7y#JP>r9e=jRc-z&z?B4Rarh?oy!cvIzoo4gbuM|pI3CvY7t1K9W z=TEQSBxU^)fo-CtPa48(f-yMW^~bmA75ZMU#O z!*H2C=UBYoIq~wG=){2IH^O9CX$e$5OQkQ{Ubzefb2S9AIa}NA;Sa92_>8Rc(e#1@ z$!8BWJvGIDk>Ln#e>lr0UQ`#sUrW2a+fI7ecf@2-`?)vM97nd`t#SE7 zRA9>(LxN~LvaP^e`Hz85N&P|>|AT}T;9FfI_Y30ho|$F`nCga$s^S5@$uAjk6R6tk zYf*ps+y%F~)vhwS%*Jp})yX^m@=>5!-k)y;hWS!(p>!>Y+xp+$YTyTayrXVQkjuKM zz==Ta3S(o|=&T(5_@IQxu}uGY8ZCZ!^Ou#PQHsm)q|#2eTPj}G z61q`cirI&7!tekJSdT~Yt-zPwDU%~4a!dsO3XJ~Rh#aLC!QQg^&43$SWR6UbceB{@Tra* zvr8qEFTMPe2g-K+c2E|K3LwY|j3ZUeF_S`uj5y$5yf&c@N@C;72d5J{8zEFXH z+X_=_xDHhphJzsu4*4l6RJ!$<8&q$TQbM_yD~Q(cUZPAV#KI=r+iCNq3u3vvJ%>X* z-m5o#C0+7U_8Y%lh*hm5V1?cs8;J1DmgW`bnLn6|v0WibVPxk|&-*HtOOsjROIblp zReUtoYA5c~a?7&Y`b_D5;yMFv%)x#aEzODis(Rv`AT{Q<86&K#G0C}~X|WVrmwyR}SS)ZZ<~`^b{^T0}$wJe$!|OAys>=t> zIc9)rdD)jToI_7fBE{e-tMrU5wZ5l{{j6mP9nS|tjys_Ww;OZs&Fok^N~^$4(}nua z^~x{Cw?YuSH*btFIgY_^37+7yH=;0qMUXkggQCa`0lIV6O~kSZNG2nZQl|KHwKe+rNsziU3OCz^{NM`pY7Q(?t2sxZ``X11bk|y(=GozR$ITY)m`8FH zN=>fWY3ixg2&gSz$GFE4xS6$Q$NkZK2vvS|Df%wgnKbl^P&r_h_xQfIVMPJYDp#0j z%c)u#%FF>0(h?N)H!EJSsgxch_iJwdN;|CN#(UV$p{r+C!Rqf*j-}K|OgZKw{AH9h zcKiXJB)P+-GuU+}3Q=xOei1ov5=2FF|4T`4ga`hAc4p>|z`BcHS0&Dv+?#Xf+s@PJ zp(4%>(bv8#(<+*-$CxI0ZJyjOM}NunGminw_yf0e%X!~FxZ_vuoG&JPX`O%4{e9of zgJtIZ6`Q5P+ZOQM-Tkr5XP-@`n}h!+oHYD%+Yjla!hFsrmsq0GlH{Cp6FIzHIo6p! zJbrK9k=aEPrH<`+Tr%U#wWlT5WbBtFS$RfH*HerIF4UEB<@OFRi~PibVUVQ(`6TjBbmU-oE8oT>t%q&mufA^gktmG1 z=U*{Ra8hsaq1&;`{bVQq{r&d4+sv{H$L06`KdCdjZAtpI!-B;IKlvxkb@W-xEAhIoeZyWVL?mCO(sQ@+#5UOYc36tF78~ zrFpsR>E5sJZhKGuZEA43G4Tz@(qsFBffFyWTCeu=^V`(yU&;QkS9SNl{2!n7-o~8e z|DpHaq-;;;oQ}ROL6uv(qr}$5rE|oz1jT1|L)UCSxwx&}=6cxm?Rv9bRT`|9%yxUu zduHwF7AXVJ^IOxV=QlKuSLl6bwP z$CgGXw58-RuGCrBnz~oXFFxR*{DiET-qBCxV2!{=;30;~4k;u6rZiAHj+8a z+)%Uf%-?ncv3xWLvrTy*JD4-oAYlyKmm{ z6G)p;9kN)~RU6K|bzsx)Iu)VlO$9UCTESvSeW_nvkJb!YcJfb0UAR4&)>fWRzOQ9Wo9B2Oh zmjC$q>*O#ia|_e;-%3qn%BI4G6Tn;CHpv2~$aBg)Zz#e-61L4wq4AC1gQ6oP-{$qq zx!bw99xTT);-3AhlTZ_gVU%mXbQ(m*FGx5>Rm*`o&DXZXYe=swF&n~E=Bnm7}5 zV54N!8gHb90ub9KD1)}loj85Y5qUu%@2np&t9V`oKgRg9OvF&g0E9J7T%<73T zb~{z{^v><;zKt1>z+DG|4c}VX&aD8REs+j9fq7?77>*(|>vdXQq@xn+R1#<;AxR{veZ_zg~*izu8 z6Arx6y12+h>WH?crl*jQkgB3x+#_Kj72rZJJ++q`d$yd}glWCXgtHtH@>{slfxDDX zzJ0D+Jd!i)(9-TvvbWB*k1Ncv+0GBg>@A^M96(Dn=V+3ip`?=#n&t4kB>pl*g28bC(l>+S>pnL`BZy1Sp{?`8l3Pgg&e IbxsLQ0M#d5RR910 diff --git a/docs/images/screenshot_07.png b/docs/images/screenshot_07.png deleted file mode 100644 index 316902ac91a6696921753fe9bc287bc987302930..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24553 zcmeFZ1#=ur5-lvWm@Q_u#mvksS@U|?WK(o$l|U|t zSc-}&NsEe-C^^}iS=yL_fk{QAq`{~r{Y3Y_crWGDCV@~Ex#)t9M;AdLAt4l_qzDK` z7ZpLRqm80%#Znam6ex@JEn=eLlSPJz*9Eu+(a{_`*BOfLzxI-!p7UOG-B6i3^{{5} zx*g>59?F5`|8^eSq0@x+xA{^-K{Fbc8=o#Vf&_s$3*~NzLdUIJo{o!)`vEmW`<;gP z9Kyo8%aoPqWYh1xwqSTywhc^Z47T*TXx%1w4b^8HQ`QMwXp!t&p?KSlN&yEK@j364&6;Az;G&>H!snNSl zx*iB{{dV8)_(o{tJZOLj781=wey7O1@QyC1hL$%Vt#N6hhY|RIEi4fP~67@+R1ETZL{a z8ae0Q=<_MMRx+7i_oq?&r*$Fmv!C;Vi?k-R_XqG_12LPNOKuLM(ifPE;Ud@Fz2E&U z^E5+xxRwBm!o4B8*2pDtT8hT`8G)gFf^^M?zV%0Ag5i+zt?9-1O{Nv< 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 *cgekhKU9KE-bp`;MwbrWf$w(=yGv6JO4T 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 WrTc2;2FY=KQS}Ep%EgM1!2bd(G-;y% From 56a1a676b14b9c60aa75dbda5516392d029f3c04 Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Thu, 18 May 2023 16:03:36 -0700 Subject: [PATCH 34/55] fix: Search input no longer sets darkMode to undefined --- src/components/withDarkMode.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/withDarkMode.js b/src/components/withDarkMode.js index 7990746131..bd187d1985 100644 --- a/src/components/withDarkMode.js +++ b/src/components/withDarkMode.js @@ -9,8 +9,16 @@ const withDarkMode = (ComponentToWrap) => (props) => { }, []); const isDarkDefault = false; const checkLocalStorage = isLocalStorageAvailable(); - const darkModeOptions = checkLocalStorage ? {} : { storageProvider: false }; - const darkMode = useDarkMode(isDarkDefault, darkModeOptions); + const darkMode = () => { + if (checkLocalStorage) { + const localStorageTheme = localStorage.getItem('darkMode'); + if (localStorageTheme === 'true' || localStorageTheme === 'false') { + return JSON.parse(localStorageTheme); + } + } else { + return useDarkMode(isDarkDefault, { storageProvider: false }); + } + }; if (!isClient) { return null; From 82febfbd05e27fa4f9fd8a6bdf68e498a40a1405 Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Mon, 22 May 2023 11:08:44 -0700 Subject: [PATCH 35/55] chore: use theme's darkmode hook --- package.json | 2 +- src/components/withDarkMode.js | 14 +++----------- yarn.lock | 8 ++++---- 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 826368886f..d1e86df58a 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "@emotion/styled": "^11.3.0", "@mdx-js/mdx": "^1.6.22", "@mdx-js/react": "^1.6.22", - "@newrelic/gatsby-theme-newrelic": "^6.19.1", + "@newrelic/gatsby-theme-newrelic": "^7.0.4", "@splitsoftware/splitio-react": "^1.2.4", "date-fns": "^2.17.0", "feather-icons": "^4.28.0", diff --git a/src/components/withDarkMode.js b/src/components/withDarkMode.js index bd187d1985..e54a741d68 100644 --- a/src/components/withDarkMode.js +++ b/src/components/withDarkMode.js @@ -1,5 +1,5 @@ import React, { useState } from 'react'; -import useDarkMode from 'use-dark-mode'; +import { useDarkMode } from '@newrelic/gatsby-theme-newrelic'; import isLocalStorageAvailable from '../utils/isLocalStorageAvailable'; const withDarkMode = (ComponentToWrap) => (props) => { @@ -9,16 +9,8 @@ const withDarkMode = (ComponentToWrap) => (props) => { }, []); const isDarkDefault = false; const checkLocalStorage = isLocalStorageAvailable(); - const darkMode = () => { - if (checkLocalStorage) { - const localStorageTheme = localStorage.getItem('darkMode'); - if (localStorageTheme === 'true' || localStorageTheme === 'false') { - return JSON.parse(localStorageTheme); - } - } else { - return useDarkMode(isDarkDefault, { storageProvider: false }); - } - }; + const darkModeOptions = checkLocalStorage ? {} : { storageProvider: false }; + const darkMode = useDarkMode(isDarkDefault, darkModeOptions); if (!isClient) { return null; diff --git a/yarn.lock b/yarn.lock index b5071ccbef..7af9eb3c34 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2647,10 +2647,10 @@ eslint-plugin-promise "^4.2.1" eslint-plugin-react "^7.14.3" -"@newrelic/gatsby-theme-newrelic@^6.19.1": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-6.19.2.tgz#14e07a23ecbf4ca65a0709895630066232f29e29" - integrity sha512-wZvZ28zic/OOkVJwGvA0I7u8lOqMgBju1KagSNN+5T7xATbpfoCeA5n8P2vI5l9G4skJZLiNY3W/CYKwyQWvzA== +"@newrelic/gatsby-theme-newrelic@^7.0.4": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-7.0.4.tgz#771be9c145345e0257b2fd7431094a41b17261e7" + integrity sha512-SHiXc0u6Wn1YPDYQg874iJI0zhLyWCYUT0fku02RWkM1j7yAiP/oR0hRlkcJn6nrLuztNeZsQZ8q9fmAZHZARA== dependencies: "@wry/equality" "^0.4.0" "@xstate/react" "^1.3.1" From 77abd6c816f0718e8671ebc48c5c43773265aeb6 Mon Sep 17 00:00:00 2001 From: Tabatha Zeitke Date: Mon, 22 May 2023 11:12:57 -0700 Subject: [PATCH 36/55] chore: update snapshot --- .../__tests__/__snapshots__/ProjectSearchInput.spec.js.snap | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/__tests__/__snapshots__/ProjectSearchInput.spec.js.snap b/src/components/__tests__/__snapshots__/ProjectSearchInput.spec.js.snap index ac7d119a07..bd6f45b115 100644 --- a/src/components/__tests__/__snapshots__/ProjectSearchInput.spec.js.snap +++ b/src/components/__tests__/__snapshots__/ProjectSearchInput.spec.js.snap @@ -258,6 +258,7 @@ exports[`ProjectSearchInput Renders correctly 1`] = ` >

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 v8TL=ufmguO#b%+H%tsvERD#{V8hAeXE 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%0D-zBx~_Z(&@`T6 z3Z9A|lnD6wg^nXf|ImICG3ZAuq!F%6hftD;)2<3xK}38YNxCkP*39Q=S#zm=Bc0Jq zGhoTMAIw8e2yNr*#@?@FKQrvAhXCdAFT@ncJ+*JN3ebQ-cxLeYP`p$6n8bg-9mVnu z^I^ouIa!dr(Rub0)rKdJ@ZBVhJfrM#%_PAMmaXsE8jO296nW%}0{YJP7$R;=UZfeV zE_+kd3-+LAjNy1hcV|s=W6(_SlF)T7;Zi-?l1Kqo(AGOQIo;i?mvOi++>N+ngS1_0 zrZgYiR*$!TkXZ%J8exGx&=d1?is@+(cpCyl*vuWf$J{GqsoWz~n1a?715S#gM$tGr z@9Iy=rat}+VgG2S7(%XH`yYJYT5J92^?J4NdA!%e#BC|$JY7V1&jy+bl`$M`k z!Z?I4HR_t5GAfgfk2fwG{Y@SiA}F2GTA@ zXuewvUdfNN$&0j2@@Zpn5~`aelTk|iKhBluh{rVM*VPDJ4W~`yH?21 zE5Or!0nyV=JvZ+3=hGK1$%TFF;VQV2fXSj95?L)+5@Ut}!|C zV}Q2&^K>cls5x!ahF~K4dYL_rFpLW6zcb&8_VJRY5)!8it1d9a587g>v&73I}0PN2@%+&e*8)n>30nA@4as_{C2<#6Hzm)Z zqX@++WyHwuScAC=hHHt|8eFi1Yc;1*w`YIVDC@{nt{ff0_V5!`{npWew`$63km1M= zd9TVLy*w_O5%$X-2mLkIow4=eB}c--{sHp4b|JsrEZY(2+N(aLG3za9|AV#XD6b}8 zYaTuZ(j)VSquI|GGqSYtewEpCu0aH72*; zjy1Q3&iE!{!CC!M=S#-91F?S2TkJBm_J=s6do&ZhG3y{E(nz_!abc}t<`3>|N91^YI2o`8RHvhD!E z$)c@8bRi3w{Zek9P*F|7$uu1Yi6Ecsq8cEYl+-rNkr#B3Z4S~c(wiu>7#vZZRIoT^ zAvC0UI(Euo*gx(yl4sV?`)Ne-<1^ioA}Mqi!nxk(Xyzp!REveF;3tSilQunSzi}Yc;G+p}&$MxR zZ_K$jAVP$yJbHfJa^4Jmq^_wO=I{E@-t0Sbo9jjm`qDsCH?KmX(+zSb3$|z05Nwf4 z6huI<7@OvGz%H}yl_XQuEF9-i?bt{zT^~{W32x#;t@RMnBNjO|h_aA@J{|8R(lNSB zw5j4LTv|x=9|KMoU&G&db@uTBDArY#D-gEbzV4?KkOJh+#JGRP#HpSU3-XTE{uroa zbmT{9vhu6$`pg3seH+0nGQPVbkuG!|lG+-oZUQeQo zkHNL1Y__xa9oZSLt~*2qud!@_c80BFiVCHoeT^@tSR*`ZCU+Ny%8uJ$?IXTY7IXT(fbqdTnx5 z3>%pWs? zsVJOJ*zfFk$V#bbNhffltKhXy0$@WR%E&E(usj4*QV?jgVZ{zA43pxZ zq?xNetu*CeXA=52ae1o6HZ5&?eK6<1OwxBtZ^K{`+e0=mX?I#{u`(o~zK|3t(re1MB0#(c!y-^F&Ivb90e3LBUP z6j!S+01J>z#mvnL+Fa}Jcl4G{Kfnj#qL&~{BNr~-X$^lGI9PcA|0bq>FtL%1&v0rL zfKjnUY8*(Yz!{H;-a=7{^nu8%tf>QmEU%Q~R+8dvW2~@0jxLu0CZb1b#VS6Cx+VNC-)jGTofQ)xPNx zhxGOh3iUa~RJDzTp7epJTI#JlBqd;!0EI6Rdtz~Td+LC$!VrAT(=6ucVmDQR<}KJ1 z$;=0s1cuxH+x~eMHnWb=+`qQT?0*_QdX6Qi>q^||3T;OP&;PcazL5qcef_-ER+Rg_ zV?kbvH$CHoGTz)vJvFB*v!17MF>+=IdQ8G*hvlIC?8V8bj2hkFcBH~LX^SgD5l{Ae z-L^(0o$;6c)?kQk7A1n@T~z}#Y}sjd%*VeZOboag)quY_H5%o$XwTx10xS?HEe(`_ zsS?QKy|kk1@YcUpGm)Jfc&zz7CtX`UcH0p?!xE!1GJQ3@0Ug1nGp#+k8G?7#>C~`V zDEK!UoDUC{%%xnX#d*q5nzGlM2CATzf! zq#4c$t(Po6S`Wj78y(N(7@sn>F zJlt%dN+egtW>vd=w2KB3Wn_QdVB`lXz{Gu!4IPre?SAl+;M{TMtl$^x`JZ6t`?P{g z5%?0klh@tn1L$Tb7SqNNHn0Rf&y<72&j&iZK+V&Zw29kl{^wb*0Akr@FL1WKh)fe1 z6>;cE(z8@Jx*WYy+xeT6JNo`6$(AqO*K(i)n?9FIMJUQZ#wt7wq<4YpWi}I^0n|I= zs8`W5}EkrJYWN5SWSy08aWcSG1bJvj5vH@*yxRyZJ_2DsDbSwQ}n!bMe`ySeXz2~{zwZA0755%M> zFxy<-xb@=buyRk#pNY<839=(i1L=CwZ*h=*!U`Asa>h6RAY#74`@ftKKqtSuV%cGe|oS+Lej-{1|KXs979UJZI_Y+@W*0M zv3pCAb>%zbqbe!x&zO6kM|_ro^!@rpVw&!X=GZ$fsU*D`by6T_BZB{CmC#N$r$iJ(UltdQ?T%_mj`CV+yuU>0HH1UjtY@T)hIAxl19I@gO)`0?js#yd4{0AnP~y3I8gQWN zu-DZMFNG}q{4$ZK)_j)G;qNrNySv3kn=LyF^GQd$T@2pQjA?|pCn|u?HtTz}dIW5e zw9&}*)*AG-o!8*_6>_~@z@wh4<|x&^yIJj@D+zAOevjH$BWd|ZR%K2Zb1!Fv>QBy7I)QbI^38AEF~Q0wmVws!A? z;>-5sOL7@6xZiHP`)BUqbQm{XtR^2%dXAggBCJI9;+Qaor`AY7Oqgyi{_BJ9T7laF zeKr&RDpet7OXVvErwLWjrjBgBc8L3sF>wH4@ZhCgMd89Jr zOSjpQf@YArnWN<1rkf3V_$p1{hz)&RqS4Y1Ornxo0QlVh5L#Y&ZSM_SLDdA|!S#L9 z-s&sIhy^-Cp<}lH0LhCP*i0|0CC_iJlmdsQiRs! z5GTiZz~MDly{rC8N4=Ppt}QY?jm80~Wg)pYH)DwhL=6%|J$eR&ST$h8n;-7C9Y$SyYXLa!yPtb5%RjD2ZeCOC_H@eB~%?<8YYPy-0b$cjz= z=enJ2x)W(vI!zVv99H#w|0{>=1aUB0E!C(YWPuYGhgNz!qFTkA)&YJ!3#|zAPvw1} zj@HGHeJpBuC77bUrd%18mHOe*!Lg^pV*3$mVX90?gmG?ao{AI?cDERB&~NGp@%`RN zd_w~j`2SQMnbii#M(3Q`rRiGYZRC{>zB(*vPM6G9Sdu!4vL1d$p# zgdT-ZLzNNPcWbQc-Yu_0usdF<3nv6$^@rGcvCUZec2#r(D~R_|ljcMJ6}yVIzL!QyL~79l@7 zab$MIT1xnIy#i-Kj9EoZOAz@f?hPs34xYvH^IMN;hnF1SLtfF(O`=^QvXim z{cvL{{mOn1Cjm-%Pvc@0rJUFZ8^Id!XZ!pAX0hw?>UdofDpExsbQ~VW zV+HQbs(*G>3ir6`0q*bJ(kvB|qi?UNyE|4Vk8bRh@M3Yl)MtW4ncZETZJ26j&nN_~ ze4&Hs5ud!PTflG9zyD0$f9&^|l1uMlZ>9aYsJtr8WewGHq^<^0%$aSen)W*J^K7w1j@??pI_m z5Bl@6l3=Mj*z=y)+GfURK+EpJgb^R9e9gS^2gLC0@y{KSu(!(OLt8^Pna+};I6?Yv zH`hA*#Pz`rj%?Q)EZlm)qBr;|zlhICWKxdH;`yM>K=a<s*9?`s!0B$! z(++6_!rcxEb_cpS`C4rU7dh8$a8mhnwBvf6n%7nfH~r}!g_P6Me_$}*n!m3O3!5Zi zLZ4>*)#}x8%;9?PH=Qh_xmCkjxj`3I=}Ot@ih;RL@s~O^CjGvYLUwA_>qLg?y4dpZ zF0dxFQ9Bv`XzzFTn07SH6W^)F*^c%V8%j+V)r1iE5JMp959H(9*RNY)yBX6i%0Jx= zA>W-AF6E1S`78JGo5zC!T~ajnhxX$K1C$M?6mEi)r-og;=aSqpY;hiW_R|Ge3?AlR z?wQ{G%i#;m)FYni15UW6`{H}IU>f}<)Vqpy;BZtgo{w@IIczwEne^P}O?bOuudtfC zOT_Zn3GJPz)5!}iH_tmdf4>xEoJ3IK3p_M0{l!NKd~3dyUE5*!pjqZ8lwCPD%onSf zObf*O9l&)Pdf+yib`=L*ntz5`Je4_OJp4&Swcwz86SL}Lb=a*(v)7aPZi%?~rz`WV zJ6Kp^W9JEEgza@-0Fr(^y&Ld6KyHeZh2LEE|f3f4Aa=V{?+--)+6G<0H{>v`L_rRL_7 z_^XE%{(!cnJOAsFdo=QqYOkS32r8?NW-jMj)c@T3uVu=3B&yh+Lk%35Ye?-7dsai_ zf1G*he}nQK)61R*82r#3vdjOj=f7DfxFtucisMZa{-4ioYkn6LJegGahg7_rs#Q*Ge^#2!ba{I%h@ln#_E}{m$1i|#^ ziFCquPrfXxSLfd$gOIVMZo9mz_7wUeAe1ahMvD zj3&(BRPDox-aNEW-I+franlkv<>eE#6YBX~=E#=d#p-C2P#S0)+BWPVIupux3lg{S z|L9*@0Lhrfb0>X5J$fg`mpxc2)}>7yw*n>_=2*LP7$fb%oOOQqv2tQbL${nmx$-9U zlkTCO3gT8KjTx%w-ZW7UE42xo^q~E&ZnP~B?>Pj-6f=t@NQ({yMS=_(Jnh-n9aPgl zh~6q|Z7g#R6}EzhAR*NgO%*kp*QjX}of-s=qqT^%txnx09F;C=fsP9a>0Q zA=oxi`q#Pks52;uq1H;*PQ=0Pf3pOhzPDcifF&%nwF>ip`ji5WX$Yza^=H z5*zb{FB=)^g^W2Hu%i$K`9p_Upj{bVg&be*WI6z1x~xmo*Ba5Dk`OI{nK6V&f8|Ug zX2SeorZysEdap);ElHy|Oaigg(g^K-zD=r!a5fX~;b$j(G|$@G(oUXvdY{54(_u|4 zUWX=H;88^M>k={vVTTL8;DE1l&!Ez}Nz+5}l_&fVr?540&rha#H-)*Hp#wx{RTCsu zz;$EN&uKhT>}1lbqaD|NPQRw~w_fD#Our7=qkySj!vTh+k1viDDEu8;9J8naEs5Vg zmh`W#So3kvGoJ@*2c8VXr*iYuXa?HTA)RF6>#w zka5Y8y(yVO&i!vL_%!;LZm@|vzC_@CdsupU9f`O-pERsuHG3Bjjjrl)@Zs+M;`I}c zm`Y!|J!=4X`9vXE^yWvbcGFIla4K7|W@(6J=Mn>Sp5~SI+JK3}YscS{ZwTC+Gw0oO z^B4D7r^ejV4%;{yrusrB_E{F|N6<@S=CJuh;6Ss= zUw`?jofXVEB;YzJ*+JjbyL0LayL?+zd9kk2d32x~JViQ{X8h`MWzKVq`n{b~GjMJ`PI-Im6$_n8C73C57JjXI9!a&@#Ipn=3K|)pW(U4?Tjitj zOw!SMw+#QqL7~4-S=o>dHkUD4i@2Sqvu^a{O!WHa>hG^6y2GQjnDKwQXgXL1H9HWMfjet4H>ctIcrVKZKA0Rhcey(Z~FNjipf+_$@Xe!uG0z zaNJle!8Tuv{u17*Ut~usEC<~8*gtTY0qd{q#&5#C-|q~&u6HLEfk)~QFvJCcAdw%2 zBf@Y6d+Ie?hd6>=Q)rE+c0Y%=Sp6DHJ}AIWClo#e6T)Q&msjQ}JKa@cw4ni*e{gp^ zZ7aCSo4MN}OH#{NaS*ZgnG(LzhIzIOGtiBwd-hGm$BImA!<2%{dh{qsTfGU;Zt8M; zHXGomS}d0!uMZx{$os&lpuqC1GnhzH+R7Q;_-AY3INDW*nDX4pCLi}|`%P4M*Xk#D zLuq+5cU#CJU;Ip|?!;hS1M*a47&@UI+QITls}F_H^5;SDm3lX^4~tg@$+RL&i!Z85 z+tSN%yz&U*---5@a$U>DnlM6L1#}nS$<6a`a~H~jd!?f!7$=+7Buse0A%}}EQ}?*3 z%T9=mUsl7vovZMJ&^A0PSXESRbZ~d;1R(=*n_=w=_S-hgZ+6}Nv0m^GXkb31?t)=( zsP}4e(^fh+9X9w|%N7Mk9XlG(PAU5U3{bI1D>wf$O&Rsv>W6vo*xpKO8a7~k7H@?% zNXvbp+g}LTw1sKMK|7$2abD4beb8PKj47wd`UedjPuTAYbNFP9fVZR8|jM+FO2(ugRd&u=_>=n9x7O{F*K!>ppAF7^pP?S<74s z!i=C)$0q2H8%8v`j+`G~b$OTS5{{|H+=G!a9uIr{ag2ucn7B%!Coca2!N*S(w! z?mXxH?S9BkJBGO#$L0AW6%nnhN>I5%syS_XO&_YSQ&P_`7+2MYSdyJkux%@iepUFu zwX@oAptsgoY>k-<^<4!ZtP`d)8qWGkdSAj(W7eT(rzz8eJ2MIIyeY^MRihAOAUWhM zl2BMBk7)3Xb`N-x-m-ZahQi-nvd<<~v+c|^WpjsGTl369{zKqz7) ztHL)ntz+%bC&)4G9{HRVn|sRE+45|6Xk9m4mur8$)P7-=mp79zVXRF_;MS~j^RYp( zB#uZW3QY)a_%c5k>G99RC{|&js-@DXlUZC8t;hou7;3^Sj1e0B9Ub6MsfByvh+61# z&@?k>G!!ynThR!ig<8kg2Y0S>KQ(Pl(Q?XDsucCOIeK+oVIQh6^J8ozQBK> zUXrew-Vr&sw9ruB-Dkmndve?D)%JmDs1M$EwO9Jh)jBurG^4A>VB_~p>YwjiplsL= z8N|(o$83$KZ9EiDP5DqY5n5Gc(+bXmK9&MWPw{@I%M2S$B{91@>molKdV@tk54uY? zOFP}o@ZoOTMxr~Ske`6BS5J8*Gw0v3YByHSXgStZJW>l=HWq|?PSZN5x8Nt29#1sB zg5kBuis0PQ>HO4=;WLe@6>p~PIUOq>VCWcGP_~ypfYk)0bqyGk=5Gn%yQse zsApGiFxvR`HA1G*2iL#L%p$z*9Uq6Lxu*_A0u*J-gq*!9__{^rYw*gO%TA?<`>b7^ zTSDY$&UM1%NAKNjZ4S>`P+`6S<(C0E>%14Xo~KUJBm?dIy)=Ed9)E7hCJrJNXv8b~ z9Q5MwvIr_tg6*u?iBY)`4^g>3N_-*9`j$E{p72vfHD7I#+2#Ce_-??Mb#wPui& zXft6SPqF4yOfx;6Yy>azCNe5Q%qZwE?ae~sDMX^BX}e&JuWXJEp9*2A7;O%-yFVI2dz{3Y=_<%-hdDmZTnScDq9zEDUF~lOHZ+Zny1!V zS_%l^(rYH5zw9iBcieU;CCn~RwI1FrDPnr@-yPdMd|%F~Yk7F^`jlfERM#}Wl>${q zYi@`_A5&7bsR!r=_;M2=#=$Wt3=M7bpw>kibou+X;76Z*78*@0(FQ?J&hM0=?S}&) zM!e4NGe*etMY!4pcas+~(%I<0!ZbKTF6ZE$Ii4pdHvp`kE2Bu`cA}BruAbVL{=r?C zM3v7qwcJdcZ+FlXDHJwx+*@ntTd6hqn>G3aA%b!I!9i!}qTO}l)>DXSpIw(;-ZWUt zXZ{Y#NzL`qlS2(0BTPa3*X_5fiOg?{{`2RkhO~r0(v3V|o|9P9HyH01{T*eo+zx$z zl-TcU2pR!eFB;HFvX~)^_nd~oJx|gI@x7%UQUuufD3CST8ce+c+DBbB*RY`7-?Ec= zS_r8HUaFWkij?{+k{K+wys>!A1rP;{NPg63tBf_btB)Rr&SJE7UD5W|tMG(jc%wee zt0)I1X#k~EYP);ADZaFr^-@VxpU*M7|ACwNC81T+k;b_m^jw*Frxy&YM=9z4=^Wv( zwKpQ0^Ltxj^TmP(v#{A(kCeWyl3n0g17wCw`?yk+N!~M++TKZ~)#6aAt1(fwCjDPi z3>G)9XyI>_#%pR>=aDO&uYLltEQg|${Oi~JULD&A4j!v`-Pg%cci4?X;hvw&IV3_R z6)2$wm!}g_s7~6vYM;@RCnjUMLNaPLEpOL#k1dDFm?JG5So6PvK3Q1kPw|D?5OV@E z{>!W2U)xJK5J3_ug$-1>}8Tyy}hSA^Bh(v4e%yO=q)i*1`C092#%3z2SIj z(N=r{_IQ*T==Eh$e_-*@6xbBMnDKi<(Y$eL!rktRt(7PdhjiyzN#L$Sd3GDMMfRMP zGRr_NrJ>PEusHnBviG0t=5Crv)535VPEL`k-i}{T^mD*fSgF-^5{J*g1zu+xr#8uR zvEVHOBWQQ7z+X`F$+`SGdWvHjTTMWM+VjraJHDmBt>#Yf;4~uRJnRJrUIF>5@TR?* zbf?$}svJV)(?(pbSm`?Kvd>j2tY!l3rH>w~?T2ZlD(&oAv&f>fbr&$2 z%Hvk3VP#CZZid&fKS6&FZ_FV>SBFBfPuk(l!2_tAnLl3b^`oZ-%eFd{a8m7~xz*Jq z1TFn8+(bn9h}wB)a;+cbcX`8<9l#f0<_^6J9!{umwr9Pq>KAx!C*>gu=^dWP7rvCs zS@;CYA5w`7Dn;tS)5g;dH`dn1w}mdIe4dQpgTh56=wk^+?kE=}MceAB{1!+ONo+3+ z-K_nP{uRb77h6=c8J~h)_V|gD>oO6TAqejV=5Dt&rb`p!hST+I?lb+Gu3pJJ6Sn7K zu_mNdijh{Y0sc{VYw@h5=+A8;OdA^gLq=@37NG2#dmR1?@ih+--ydI&fQVY4Rp`1e1 z8)hbB@Row@?!zB&hJ7=-0Ik^{38djj4P4!1qki7-39mP{Xd-t7%lc!8}!>JNSsBY24s9%95Z784#SY3$q8`s#)%O0{Xht^+H=vA@H$2CD&Iij~4Yz?JWMkl_~G z&;dbP`*1B2Ciuzq-q1#|2X*tnFR-*}X5!^)MMNn9H(^D&Wyn_}{Fgd%-0V)wB{f9x?VOu5>8M5`Ty z?fQ()&30mW-%@O%7Y$aK0Tdm3MG=}}gOn-V46OjxZ=RyT!foF!=*ifqeRIs0?}PPpwaC4X!LDulbvn1}rz{TjYSz+v z0MlKv(#6Xf<12H(L0=N|f<}qQ2{rgXQqXb1yadv-1Zxa8l$&tDmF8()QX%K#fLp)* z!l$mgN%y+AU7u;CWnb0&`5F65Q;a9+%iCGqLFK*dou5naM&XDy%&s1OYmx&;J8y8j zh!S#VSAzQ5y5J+rLpS=lRjv;YR#_sT)LxLoB2KToyDeh4{&LNGkiBa;u}2mv$KvTI z(x3QA57kJKXB8AParINdh3crT`r5b95bE(S4`qOfPtfAPZeIEfIr5tjW`Cevp!D+y z`=_R0_2Of-&+ZT2<&v1eE#-TI;Tfr*3h~Vae_jZydbhA^a_Y?A{~^!m`@Km# zl-7;S_3_bEU25~z3Z|jDTq=S(NYvAfs5SmEV+!;JiFYP-;Uis(+A@0mA?ockg{~>2 z&N*(f9%a(IYKk&04`;K&cj%U?31U`xNA&RHJrwh+NmEGQTR%P}4iCsGJT+G~G*#BO z<&Bk$Wl-xzT0I^K8rWqZX0k>w9Z5uP+sgeXyt zy97I>KvY{9RUz1uE{OnPqU=mDhQVhu;(Ne{N8|}FF_MFozk^m@ zpYvVTI3Ir;92B#mmy&3XBClSX1&8no?$bPj( zE~TGacA?H{?c|@>x;>e&psAsr_S_4ps{=+oJDk2dLBNK1&o|!TLQ$^CB1T)x^uwAH z~LU~S4b4qhx%Fe{R^0Y&a1i_rLZ=q@*ue9*p@@93}Sp7 zN?jXgrS_Q4HzEsmb}^tP|K|?bGxZ@hc49X{5ylApNLimwrJ@pN&9-0Rk0Ah_$M|)S ze*)QrWRNR#v9evyH!@wiAJ;y5Ebher3f}$0(cxVS0XB z2KGEb?=z551CwmVPV5pU)}G!sdn%*#ycwr#vT~#80xFarHC;j3tCdh&#P#hfFkT?D z8YAXKni4-8`i`4zG#OfMpu$o7_L{=g@XBC6r-Lhz&{LAX``=tMD3kA7%6rZwRB5BW z#3+$)&;B&)pD2nwL%lr{nW_5ln}uSM4R-nZ$`NA|pEJ;geBR@m6se^VfHKw7n$K()nt>ddiRqb2*hCd&?ki|Y>tPJSkwt1rsd$N|n?Eimyzf$DUc zX3G5_nnRt?eD3r2-8#pGe}As+#3<>u^aRcjqQc+G9PzL9n=opCiJJ7EfA5nd_@h=X zH9+;V(!!XMg8E!)gX!JY=qnM@1FjQGpC+OZ9MP(xMAS|1f|>v;>jaKAd)qAx*m=ty zAod)q(1@?|Otwg+E+AYNhE*t@cb!m0HpG9r~^43bFvDl);6bGy^ z7<}zy`QpdslUE3)+Js;L>4xLOFLEClR*L_|G~70+*{Hj#=1A`w9&BH{`cUn}rkaly zMh?~OWUBg}=KXRi*}z?=PEL!mZVj8rkUuNbR#;wP!^=Y6XejTEPA81i|J|s3H{tb} zMfR`;I`f{ASoxW~wO2%64f2_8c8H$IS&A5W`kPc~juh;Wv?R#@*4qca(@sw#WD?E0 zA3<;513%XBNQmTj0NuHpyMuU0A{-L^dBNY9G8f7ex~}FN%Wy*;I-qhYQE5Q|DL+jv zVGYM#pefm5#fP)j)84tCTII?|P!FcY+)eiNDe!u41FhGe{k2wsuQA;A8!aMQr6o^R zwLpK4=(Og^JNjB;Szz(>NMhI8&mjv>?=I`I6J&1zojB5A`1V4_ChThDJX<341x)j~ zew|HBFow9MUCg#>jaN{6llqA&KP*x?>Md9_IF_ww^)|O&=?ym;!7x6fANNnv&?#f6M?~_`!{@na5Fn(%c z_(M$<8I82)qyep5zy2QD=Gz($W%q6v@ zD|}v`8B1(pdIc6ob}-;mCdPQsWk>F&+6*E*m3=Lmf_(T7!@!)>V>MnI30F=0E2M5i zWc4oGN*`>gn^Bt;R9@pGL3|L&f{ZL#`0WV1fjZS_VcQbw>DO?Q%*>bMXTxp4-N+|PP1>9 z`e-Le&|bgwPF=AG9G^n%1md-{giVsASkpYF5-!Rud5tx8d^;`S)nN2GO{CHWCGNqj zX2^w-<`@lH`n=FU+@%|$%@7pq$V+GYON0=KAC!ZEA|m2sX}Bu?{! z=paMht3ZVyOr3ju+Gb3vXiJc?=~_4{Kto>d>@UXWR8%Z)@%I zJNw+)apfLlFl?RM-?ZoJ@mko6R$B$N=FEXacFfMCYq!4kT5`8o=ep@laC#iPHMjQJ zlk$R!fY4whmJf{8EE3y*wec<)ztWlajmEEcfUH#P>_&`!Y`zw9Jae2t5$Yer*uuw7 z2(m2%yy8J>HVhQR`@yXf^mOqa+znpshj6P%?cvl@+MMNPTP21}wAP@eieqIvpcns3 z=}Z)1%kmqutd6a1WZ$|USXNdyXN=nsZAYGqYT|<=m@6EnggqPs8n&{iK*^H^=41P>1nFa{&qxmxPdSh^3<^%-B z0tuiF#)KKs&N~pm)Dym}5vVh+F&u1(rRA3sI5Sv%?&s_bTG+bI0CMk_DX$8u=1a0rITafs`D}6_AF?*&V;A;f$USshz~z z?HLR`F3rexmXIft(t9I7e*^b`i~ z6IGe89CSYHy|j%FwYFsQnN&5ZLRdVvT7(qP{poR4bV`NbH`epTV5nVr*#gJ}6EX79 z5kIgv?2jsBx71*RV`jKA_7%eiIl=UI&u(0Y{P0>I<>#tuElJR}7Maxu@~x%y_(q8n z(EBn!PH^iccHSo=o~`2#E_OsWt+H}{S&9aun|#CrrVJpwu#Jdx32kU>7z>htV&j;O z6ff^eMSZ}0^<~b&J<1Jg3{zfr)*O@lu@NV}j-I#7-%>mP^p@$;!<*oH0IlzSYl#&^ z9vYQm`r7zVhTlonvhC$ON_}D{=5A>XcrB(U7`{o*Fy(3~bo@wh{qAYD?VLfa% z%dxc)g0iX^_pPOz#U~(nN-2pNA{p%a1L;ff)}^}MDJ5``7;uE%XPhcrWGGg=lH!>I z%A201msJ^Iu+!s4!E_+n&K0t{q;s$8gP3v2pav$S;8?9kDI*gCz8F{n^#q~@i2y~? z1#XuH0NcMd;Q$&S6a(88-H8&b49+=aP}@R_2BfOUa7N&~-R;|8t?`|$ekm;&J!p0= z)c@53QZJq~=nlfH@Qiv7d{scWGi)uD@Z zc}`y};r`oU@%vVp>=g);1@2_sEbHF%Tf0yB8+>eZdiz1dj;AQR_1UH~^4c2`3LeUF z(r9gQZ#cI@9xlcD&6Ke$mkTd7g1MN+C08>^DU9FJc(i!-quLjEnZ}qh1wp4~Ne2#lF>g%MI%Sovi1}%=_aHN4B?>jJAM$ESR7SymwBB3Kn7Ht;CIm z&!`!DCk;a@*{^VHL3GhPTI+Glu1;Gji% zXvB#BE0Dk;1g#7sw+=Mrth;M8oJv|pHElg`e2q1$awtiAE_V26;!J%6spq?t>N67R?-`-+J z0q;-+>%8UcU`AW{L|4k{M%}WBZPWN}VpZ$+o(u7Ml&rscFz#?kJWYl_LxdJ=-ZNDr z(d#XwqDK;8-i!P&nndyRc4!-J`W#EyA8?SIA>%D>*_iFw=7CtoLNL&pETj0L6HB$W z)%rFsJK6c{?IOC<++Yu4!pM zwAa?ZY=z*KMlVA8I#d-YnNx2p497k&>(Id|;Ig`=XpIHYrN#Agm0gwz32y6;g1aky z$||&ado1&iYYzVV^pl%8KWX+vpgS>sFkL+ut<=gR9Hv*&kfOg5moR=@d zZ$&G@ziFOPkYtvXx|3?w`NY)eTBr224Xrg>hBd5!js&GYad=gk&8_o1TWYJVZEN<$ zee4a>>jl){Lzyj{+#JFOF(XzyY_J|BPHy5{=dUBg-d|xKLJ#$~UeUvAI5<=g%o6r$ zRQI~&MsT>_odL_+;?P^mFYb=AYHhH9O(9Wj63St^E-N#dCxqJSy;g({y6%xw0T=gl zO~W;tj|N}M2rA*Mrf^JqI~fr;mpMT_%3o&=!!BvHkqUt#n(B|g_F_Y2K~Hp7a8E)& zt9zpE*%Z>VvdYJxhBmRCym^^2r$(*B0;k2Z?UWq2582aH&TWef%@W;nMCgq$kiLP^Bg3u9Hr&`yZ2Scf1F6Um~6c3SD4Gn5Nxx<$G zCDL!S@<9X*OdB&tSo)qcX5>AKC-`5lk-C5ztyW2#!x9qd#!){Auz%Y5;dCzyn3U%&2-(P^3hX zw+=gXV4+>LO)7>(LnMCk%piR3-^iArm0IJerTRgZ!sVCwiy?25YMy<&%6Ig3Bu1YZ zGCbRCuj?A&Sju51B;?iQG`~*mQmpj`ePFy!*yf)5Om$OXA(W(zTWUINxmqQc(kKECIk76aEI(FH#8kld(~X&6q}BE zz2hUXv}X=bMdf{xCzS#0=3BA<1l(=?F%;l5*b{BwFlV4RB0*yO)tXlZG3RQ;Fji|c zDG{mUq7f1%bvajtZX&u}aEW^EGi2CgTiu7Rm+{6Q5o{xYqq1bmPH6FLxs?TjMC%US z{^Qy7ki<)egk8#TXMh?cXhJK(et*ygDjx|Q88sHXBleTQy13ov6(|klKPlX@wBm!3 z`j3g>&HkO-WEQltc*x>kp3e?Dil^uR;gUoO;pG&VPw5CKTt zuA(%*t=Ji*@d4)qF}2l&Okow^JX4ZSVZQV~hcIq!buVbwR|?l1oS062%1_P+Q0YEy zdi#=>`op2=SDde~&ZnP%rJ=N?*OB3W86AxGH%#!&nN%AruRQhi(VQcBDf3*4_XR+h zfd0U1U!Yddl{dcGnNd4mP6rGwGh7bqb~~1h<$_0HpfN@Mzuc4C|H3gv%y7J6A&6bp zL&``Q?CiHDN{yBnVf;g{r<%l7Vf06^1m6FCLyg4eEGPg#&%uO2~gTLNN zn=VxJoa-=Y#axZa=FN166#IJl(9sq0U)6w0Sy zfwIo92Z9f*vXHyQ=6lAZs`6fqLZ|r$ z0_xsaKml4%Hem6$c3F-&>btwmL;87=(sFa`KC|S#8kETZ`v;j`U-)lZC98Op2q4Fq4S&6=*$j5*1ioH-xr;Bea*Ks;iX=aP&9QI^ZtIk)>t z(_dxCxsTe%3+zqG#r}F(WxtD(+u!sLs3M**SZC2_a@6w*XP9eOAXg+bH!LE69yV*- zF2>}%P5tb?UQ{T(Ra4tlPAIgE zp~vmhIftk!QZ>scRx$?z`Vk&AePSnRckFPP)7i}lJ0RxSH5o~?5^wd@8yC5eUOk8h znfbv-*G~*h*^9@)PGrwyIl@-Y!5nCW~Ez&B~# zly|%6j>BGqJNkRtkx;Kw?APQSAn0 ztxtBn6;JH>U~XejS2^Rlu#N^_lj-V0-vp|hP0S3nI6nCyh8h>#XvvC8M%fH4lc8-Yb}L0p(%>5{veBIIEkRa3GLJIkrv?~iAG%yx_V)B!NulM;1o#ts}Eq=%hmqn z126X`=o6Ql`#t{xQwZLa>>1j|7mN~P#E-wdemPOcS}$4PWrW10)#|=IPk;Iv@g+o_ zot@X1`E2(2eD)&%t~wCrGG`Xy_C)Gi`1gSzDf4}fPqa!et-Zn5+{kbXHS zg_B+>uH#%fq1K!WPPmeyw3Y1;%4I2%mrSeV(t^KTk3r;N@9orEe<8 zo<$R*!d$F4OOon-%G&qQ-48Q102Sm13v=qcA4fZCq38s5HnceOKFEh0Q}WTfT3$=| z{-2?eZ|wGFVVgps)kw7-6u+mcQ@i!@dt03kWrw@gZz$4wSqZAx#PP&5w!9ap48a!T zD~tYMe6_r1ro=GF_%zgYtQKqh6Z=dq9?)&(GGGnQsL}@dEI%y*IzdAQ=k6BA0TJ;- z8zoPpLFwev0(o(xZjPJ3!jx%tyE^7pN{4TZP6j>%sIF#Dy-bt!@Ybf%?8xbOxzTHw zK+NL0;_izlv|2*2Ux5y^T(%~mL^fs}Kt zua^C!t~n#*&mtI-22~iLeO|*pGlu?-gWSs(uqyK=s*v0}+{rik5Y&{jK^85^&H%G* z6R`*CM^^K(7lI0Ii&}fz+TT|8QouSubY(lP?2mA_3xwK~F2iOQe)<|5?br~fc}I8} z_tqv?E@CH@E4>r+GB`T^h-s$5lVqsyzM5|9Z3e>13hbvoMcU@*|1UT1diOz~Zttik zs3sop%0|>gD{k~U{kOTPwCHcYCX<7DaezE>)l9I+T|)xH)3__>0pgw&=kBn-oln;f zNkiB=THr+4?svyrp~8ZRE3^O{@P@G6@Bn`%frL(lFlvf!swaOcbTWhS29!(@{@4ok zT)E+tLq#`cOm=CKGbkXkS`i*+h;Sh<6~tLtkGKvcIBv&-jCrAGQIpO(ds-h%VURdn zDxDN-hKLs}0+KAj8}%Is<693q1+?O!8ky?he zF^SCm*QI_MUE_WFvKMuaNnmJgeKLQAXqeiIE$5G6@`Ntuo_JNY3@vRhsxWpxetE*R z6vWIDOc3@8+uAOp-ak73Z%PqASGnEvz|2r!@yB9y==JC7*zzIw&?kGY^jUWB(ys;7l9~G7#<&_3&t{g@#=o@Q#l=F?H7A$anX$udMA+SMv(-p;xKLK3)bn z54WVL2@e6TWth3%R`B{^AaJ1ka)n;*2PQ*LQe^?Yvm#sAM5@XKm)d_WI76s;Fd_oQ z(gg5v5Tm@|>WdBH9mZ>pE&ITC=y~1ga^}}W-JH6LMjeI)z3?IuP3<4+;pV5*dsh4j z8uR|3f!7xU*=z2g!F{rwY%7>}Gq#Q-yLjR4&_^v|Aakf}#w+Z}Qqk|_dF7XDVv*bh z2%At#UuQ=0^%KZC!wjs4#mLqd_Y52GZN7%UA3N*6U)wn^$G9w+N$OR*-CKd?I?11b{!f_C!{=TUP-;y zN^;)V%N;#Iluxaj(j3;SwB|pd}HpM+U7==uD{W2{1 zalWI@%V)%$h6Si*&C zRMs?#NME`o68rE#+)yBSVat^I2*2!;?|dR((6`{i#DJ31R2)r`2`P&G5;_Sv#yBhf zEmbboc`lx~lxTV2L_FAv))Zg&NL5#%R6&vT?6lG6jX|Nz7>wNs!7GJI!Tp4BK06_a zn7-_#a2;IVMza0w#h0RDJK&BmS2wo)+g4hhggnrs8IcA83L7P4~H4`supR z_r5KXcsUP`J@elWxxFiBf7=+r$FE6$#siv={YJ}f60qL-1oZp(j^j?&Z^|Q(XHMqm zp}8Gn6r;13-6@rx#;!P8HzQbR1wHgl>2_R3A=9w;n|~Kh^&T%_#318~SAOsBa-I0P z@{vsqZff{tBcTPZtm=!c#4EH%54-LUzIfG;$v#Vjm6VsAGTSg55ddSZ#oC3JyT-rj zV>q=QFLKBin8wzJn`}v_t`~m10XWLU|6y`_tZb#|OK4JqV&x8wKTSsw12-Cop(8^r zQUU&EElTcCqEzfg%DIRG!@hQ53^f1z3}z`rx_#*5cOh=&2bdAqom<_dJ+tiZsXc(S zmJ$a1R|$WH(}OcZlkn{`I~VEq;UTm`K=~g}L2CSi@MvD7{gJm{myatvIJWl;5jIF% zZtlrrZe&lLN}Jb{qU~o&+K2FlH87HQ$u}M_oJV%X*v#h@8^ASx0w=HM!sCdUzyu@J zOpB|MXs3*Gv5fwuJa=$eQQf1R|I7a#a!HT0jy^u82?*RM&dpggGreO7r-q5!I5lBw0UZK*L%E^4LR(LVO_D6~D0{ z#JR9x`hJehs8T==3v1d9#7rjqH)p(j)^}a^fldZx*JHyIRe1L_3V5yf{A-2LNlfjp ztN-jR3kZ*@DLJFx>U;IgJxgKhWY^#aQl)bh4?y?mXN_Tmx@T&KURBAD?!_==ffHd| zoZ7wQ*NX|qN;dj5w7jTQ=Ra?hXm3YzQ5+Chk|SgKxm$frFvxoH)#qcz!^5R44$&BQ z6tYK%M*zH zu)O^Bf#PE-21gH^5jbICJ=D2K|6mgMBkuJ1#%1kwLDAaEhDCL?Rj2f9j&pX@?T(eS z=~z_>Cx>5o1jBMHFwXiO6seYbKq(%tAfK5^8lk84(0&<~Yb^xK^n?~UeX2j*Mw5_t zQo2%Of9lp?RV^c(pzCKValdnHq*W}CW(rjrucB}M#FXeAYizGV+WC!w`x#Se^)3JT z_Ay-6`SO9t@UpEb$23)zO@DA)t5Q+CBl~V1c&u>H0u`5d71->^rAQbE4%HYFN+j<- zx&5O0|Eli0-YGQ z!Um$F&@bo%$qjOHlpmCI4ayo1Y7ClG}p2PoJrO*ZhE^XTz-M6mUB-R#lB1fySX!<9{oFi_FCA?A9b@f$adKVtngjp4R{}^Sw z^2|5euQS%*erz<@mQv;RXOv> z;|L-fpS8Ijw=@^4E%fXe-@wcTWLvJka&TafXY3(PdFL>nkpoYdfN0=qvF%VYEBY^; z6#d0DX!sebL&RCcpmT={w-j{pwd*FkON8VTx2mj^7YEnvTElL6s`$D3dE`t|HhJf} zJ|oX`v`j$Q)BP3nz6#S(FpA1G!1xe*&2-r<zdZF7>RVB-&QKHw!>` z(<*(;Tf`;I|FXCoP!Cm{kF()5@xj4P4i3+@=+T657ib?VgzzUyg?6XQvQ-&Als333 ztOKVx;eS8pAu)nF`_}5M?+(yu>l}bE=KD_to{{8>f~Pjxd{C+cXB{@|e+F6Np`RhH zJGEz$wln+F*x;)OCJ{SC2=;0KUhGeJO1BxBQ_=T6Hx(FtPp^Apc?>C0?x~ZTxOvAQ zrdZZ%iIpVH6~)v4H1pBE z)Yf`6Xn+e+Z<0J*U@#gAjh;C=qQm5raf2Hc}_~$2;KirBg9f=fG2c0LhTN->s2ewNidS zJ9hl}9`UiK=?~4u+I`%b>fN|gk&Om@Y9xQteyG!XX@l-ph$?6JLCwR3Oo2$J@`-t^ zplg=n*1?wXQT8m8mV_HqPI9{SpbzpKK0GU7dMbnHiT%Y9+^nO~pb@$3&qU96#;Ks3 zpmjsno6TKuIBl+Gi;KYk62!M7RgRB0J-{CGa^_4|+y@@b@%TqBC?|EgtkR4vBN3h} z|MmNmX;0CfqU_)Qvc5;W#bPCBO;k?Ds&AC;dEk3hd5x@cAvTVdz&EoEurv83=){>e z;V7_q3OY2k(t(DJ)*2{Cx#Q zMNQ1+wgGt7ZW!Gc7_#2+cV=w>u)(!PkUu$-HDCU+<@F)?w}?w;gy46+PPd9KTz{>p zfhjH)fd8Ze{P4pd%FLt z*rVon1@aYwwE>t-<9QSnatj+|yQ18pxz(Cu^z zimun%9nRvew9k}Dy9-zecJutkDnvLL{Z2i=wPjE<7rVeH3-kv9x*9{nvoT!pu&6Nx z$D%vR9!41(EX1&m_SNXgIHpNm+H5AVtA?QPB%n=Gp;Fju14u)~Hiu#M%&mB!4DYYx z^im1)soQCRv>YxDcQ(2^A;mTPp+|076Mr=2h?NV2pP!wvpPk-BTPvxpl@N;TEM+fM z0$iIn<&JDdezb#fN@BiwALqDgS;%xO`-F^n3)b+X+ObTdvZcuT%2^V}RMOLP*M7`? zKNoYh2;N^@P5Jm=BpIiUo^>$A2Sae0*Y=AH7k`s6yQixsG$uxGJvR%(B3V^4UOA^i zLnV?2oB-fj6?p+|M8&h(W>*<$PI58-P^b~k8T+2l3 zku1WHwcdrwTYu`E+y6l^038GgFUqwIOf7YO7y4UtcxXqLsz>3(sHKE-E`1PCEGfZI zR>LKsLN_lU9%;%5tS=!mhCc|3jy{^?{|pqgG^K@+5IbZwhFa4B2*H7P9!9iQ3FzY3 zd_EDuwJsguDA4>Eu@e>zj4u)kiejvpjNv&_GX7-TiDX5Pu;0b}iR!ije#F zi!5?nUeRCzGp>p?1Gn|$Tne?d4CdtNCd!x;EpH_pM7bP^1sB8<^SXCaqhCY)ADL>Z z-JrJJC%QKOnb4gEZ|do?x7>Tun-rK?3$cxGV7i*JD-ziNbR91uANo%#W=wxu5<@W& zMAV0*_D|P3dNBgcsDrxbUP?qOq0W#e$*jW!u3evNOk*>6KQ-TMD;@>6Oq|e*s`+#c zm)`4Z$1cCmyK>7W88BUhy_*~Z)77M1=y(-dq8|YB7IG#(WGd$_Z?5yvy&D70o)Xw2 zr9f}|=3L07j%_ym6A$Z_^^dhYu8gv@C3rV|;qGtg(h4L`}Wc+P-I)Q2q)AR+x~l z8J#DinV+rCi^SXtVXQ+<=8xGT;Jn>wG$k`4@2EI54ysvd0@Ev5c99zmO(Exjqq&s_ z)pyeFX{b>D${6AJKCJW1%0<$*rT??BDk{VX<}18wf4K;cmRU_MKcdy z0emUt#g3t=<(Y7&NS=ADXU&a8hXk}s2YxWxwBS=*Yj^VF{>FVJ6TILQK@z>ufW)+;I{dzuq^zK! zCYPQKum*(eZI$$z&>Zzy4z7OfIRyOvL}}mhUWe4+`0q}tMjS+9&c|H8ar(+B) z?K;#UFg^L{EACILw2BK6gXrDn`qqQy9x!~AjQwjv&!>>G3lr@apGA?iYIB?uPu)e? zr|uO*$rZ@+?&_%I@?t)+xp8OG4pJKAS%E4gYpU$p2)dP`NPvrbZvFo4D`=aTe_`s8 zeb6l2MmB#UxW=~Q+jdaAQgd~)=+iYhZnL#Nrjf^v0-DZ!b~T^5FwM$fy57^Olz5!+ zKF|DOUKgR=$T#79rJi0|biSo(WHz{i`PXZI{EKT?AEb~vXO}OytI#IqT4;q#r9}=vv)|wgs?mG{@8q^tXKi`C^>L>5W&y8ViE|PZwJm?u!Ia|0$ z8sKqMrCTPKU>U^vq|5Oiv3`&T_}0sIIWBxm_jd2#7+Fv3FPoNJ_brCdB%n$h(4Yq* zQ%gApR6YiFahEtd2HtpS;A+M`U?ACBx;kd`+YK%#N8?VXw~O8#Se+V0S?q%{F z$H+D|8NHxbB22V435fmHEH9s5 z6sk6#)S?MzSiLP1%ip@SST*fI6%A%El}(P2!GJ|c_NPk~I1@!*n+2X%DHRC%tb9k* z$UoAVLT#;VO=c*@^c}vg(=+=#&iEB9j&>L9P8SRv-xJ<1ta$1A6`3Vq)REo78QieD zKIAK{eRHegB1U(NcI@z0P6?I#tA67LN6!uQ$?hA^_0euU-NL0H(vcA1+K|4=q2&e0 zPdpEogVU;V@k!X+Hqxd`)J`01&i6(`EU%?H0TvJ#oGS*#-d3)rymvwFPoQ3^CBuy0 zqxBZ;R>yUF=Gk%^I;#j4mfGK-ng9vh#x57h2hh(Ioep52#KQ@w=j8_4CJVQa*LjYy z2OAy1)2>{Cj%sqz%J@$ai20r0X}PJ=0BcdK*1R7T@MkM5|F*PCO*+QqBMa!&!mZ9x z*+b%83Azc6Hh`aV=&>fSblYz-xI^Umcfh1z7t)13xp9#%1aff}RS&Bk!_YYA-{U3^ z*)p!g#oN@`?USMq0EsHU?z&%ZhA1*r$zVet!Y7uWEEUly&bHnVPt z(U|f9oKGZCILGqnNS+R|1+Ab7(9W$?gPB8lQ^K%5{L<>MVLqj5XZ?_FT^IhdN!Sm* z{M>IRVDYGMy(9N{3pQ3pj*o%JRxqq1Z_Z<67(lliM*pCp4&}k&g=?ljS%=A#HL2RX zH)dBFw_J2oEmEQ$+U0eARj&I1b@m74tob4XCoLH}JTuWX?pDls_jxq}pqQJ%7qW~i ze^I;=xDql?cU4trXG%{~tI0*a>%RdFZ;)utS)B%J%o`Y(Pr_P^YoTk)iiDbg#8o>? znyNW5|BIF|$T!CD&DHkWr7sAKq{~8{U#AIRn2Tlzy8*htnoMq3w$WHU_L%Q+t_jOc z;xX)na_wgOiXB_fuaa-Q)jGCMI)q;f^y@3Sn>pZ;ypb}g*;8L*pL0-rdfR_k6rEW{ zexLnOq$-~Yw>*`CJXH%JuY4L^$J>8M`Rb&lEIQJ7|JpzJ+4vld z754IfoK_{n@A*j>K&&6*;puAEJ2^@0@klY1KRXMw5OuoGPW-`e<-~0#>ynm<;f3qc z8e2a73u6K_)jIcmG7&SqKYKwkXX`7hK=9get|I_L zR(%N8Vh&0^8^qSu-kIWF%*~^ciPHI4bUosI&~vTjz0K2hOpjs+hBvby?gZUj240F3 zzP@XQ?*mf+Gux4D$xfX-WEA6fqBpN$NbsrW1gOZc4n@b~(a!6Ac$XoF=nRTT6KMTw@DqkCQBds6;gV@va7Riv)O^UV`FLE zxE*=GL+V-affkqr{lKCtzX93&+)nv3k#}Ev-Q!Nk;v3i*TT$7?lMu-o>Ac#+AI*O* zH`6o76X0j0f z?6#H!fGc@a5SfJdwWIDr0#+>ktdNh0%FIs8Fjve5x~|1@H}Kay-N8fQz+(iHu+s#% z)=5Qp>UE5nAKbLrgIs#`k-1aLjc_UcU0{6HNZouNia(K^G0e*$i6IRwuc{1(x? znJgYYr(YyI!dufx^SC(2O(sg~w6+aC@a7;0w2sO4^Vz0IO#v;@cLmaLRb`{K6ioS3 zADt6IjrBJg{f5(*bJlRLUV&rI^YkgsQp0yQTt`%EZhmWBm-{b)k^ za(3uUXI-*ABedzEF0hCkcGLcp9ak-m#fz4s-rOQ2#2c93gR`scbjUIw04h}la>z;( z6zGx0tEcwlMpW|@@q||W$kSCFKsKYy-(g>B{Dl6p>z3s6*1EGu#s5eOx6YC_ALhxs zXPTcTpbycpy*N*(#e|}bGO16pAhBbG)Pr`Q z)rogMl3NLJu&^MIaAE^4Oq~4a2sd~cJ}_gTv?azs&?fVOg`6!ONGRTCnl&eo-NtAAPiijh7Dw;Fza4`39{O;lK!f&7BP4Svp@G5ywtH9Ms&F=ECfI6eQIk-?di&u+P{NH6&{yR zOYWOC@7+t9{w1RVlUXl?OCG`~ zqonVg^M}YHbeN9AJa$DKQ+vYFbNjlYp3DN#%-ndQrbsZ)kJ&Tn#&_LVu`*`_NOiJM&>B)>t+*-zWQ|IX{-D}_$wvb_sKz{w{66#JYc3;G6 z)(!YsAqD;ss_^~y!M=Yx?J9w-=Q9HWqBVQk$SYc@j0e4lNK2Af51!7t3zaua&s;S~ zow|Qe#!ic;RIxY#5u}e|G3*`Y4>Ho0yXBl3T2EB2{YMq>*Rp?SGK>16Ode1Qk~(FX zj*#p1r?3l<EJsU0CvdIQNC>zuGPlo3{}2&XFhy7c283=!l>2D#I`3)O2o8(`UQz|AdGWpW`__qu`rRKh^lpI1A{l4w&|)CO zL3K{ORC1So(^U_)tSf4>wkW;qmriUtlMk$@Q15!oWlkN;j~#2~Yb)4>h%dJabTdBS zAk-9ZyWug$i4%GTR>kQ-2jae-YE%L2dECifTq0K5md9d(#wyLtB$T1QR67;b%nra> z37I2J&eLlqpU)C;{bX$hj|#%(Zqu0GNRfhw+TK*06<@z+tJ$fol5lA$YA+ozuJjBcaoqnFxFI>Xyx_!~QrBcJmPt93t!m^G30uXBT zOXs4e!9uR2oNspPSM}}E?KMpZ{sIItr4Gc1b{;_y8?_xL$!pwNCHC%u=CcIJ6vCSw zly~muBbOian2=?>BF$GX^r%piA>>N6Vpkq^sxL45)*?yeB2)ZXSQ+ao zKnmk8S0;>JpmOlI}?f6RGC2<`w3UAL?TrOSuJ8_QfAUrQVc#Y_98FGCzdq4H30|G1-1x(OiiN# zVd`c<%&cYlQ`Akd)h#$tGs6vWP#U(I%P^5Ce$0=DrRKpM@HuXE`$h?; zJQ5N0c2N^?;V&c~e6pF6bB`%$0 z3d&)~%^!<<`-|46eMNo2;ZC009?z=<@DWM{*!iR{-o>uT_y7b?ssD{t_43b9rmx>9O$9xStc82zkPhD66zWb z&RB%(7lK?5JM783{XT2SuO7$Z0Ar$ogv8q4pA`udjW9>EMJlk|g^-hG9lj&(5pnUK zfIy|hiJiK5bkxSX<75`n2^DCo(cPY-FWMfp5%?3owiN^L5ntfC{vR~VLftt-q?a#$nM6UT~G4F2pDX(xz z4Y#llC0~X+146l;rw*oK?w@<_y`Lt+*!-t9g``d zl@<3DJA3o|=X0d}OW~Jk+G=sx0k{hycE+*A48Tlsj1p@jHIg^8d=%2j@@-sXUO z=xYU~J5L-$C@<2bw#@_)xo{Jgo zmWXnSoyOYX+8Vx*Zl{#JwQL-ouI!o0U~*}NWme>?I3neridE6u-nyi3GCM3Y!Bh5x z#m-lF&MS2ZTlCQdgA5E z24QFHe41&(zxc%Wbo`3<+F6Wl(L0XCoh-1(6lXe2Vr^Ior(*>!&Gn+$(J%f zKQNkrQFwjON%3jbyYKQ3fw8tMjp_*Uk2tf#hGwG|>{$vkL$59$?; zVP;=!Vl2$m&T$&%J9^^xLFknJvu|%@eb$o4h*Vuw=$kW@4Wk2{w(jT=`Svq=v4*-| zKENcUmTr7)Aa1^fZmagszakK4zV&53Qjt=Hj|k}MSBAQ&&swAjth+~m{DV6cO6T{0 zO71s<@&Z%P&-lpQ&6tk2FnB1a5UNHHeQ5>#(s$4wp&2 zV(mr;v0|LX_OHjQP(rTr6>?0`$pp?`{lakI&ZF>UI6vkkr%;U&LVo{f-uGWx{VBWb z{tR8J(8k|^8aYNSGXCUSJps_weXC4e6XWU3Q0#;%!+~Hrij9qr(^EE^u5n=8_x*h` z$C0on5rRn|3`_I1#1_(@uuQB=Go;R6hGj%{#5}t5Z3iwe-;wGUaiB#G9)Ifc(tR>d zeYoYyj|6&Fq70%41~kWEP`*2Xpsg6ZBq(zr3*sSO`wpq7MTqG=`q0NHnr3vN8zD46 zI%E7)C6yfO8~5X>ZkDKd3}L~Y#TZK|ZN{gw3r*_AjxZ>YyN!>^F=OZz(cfXHGTa`( zqc3=>CFe9uMX~xiSXu;Hr#stP<`llE9Xi>52SgE&Xb3QhvU`0u+CTF{Yg;|Djn&&6 zUQu^K&(a~UU za-nJxSK(H<2yxa|+F9glo|NZ(T635Y&6l0al2ZNVgGt8J*&W1K-^xMNPdJzH9I|-_ zQI1l3eh!JuJLFX(4aF*Bw0Yfx{GEexi!VJcXU9wUd{6P7Oj~AoBedMeVV=!9cRVS2 zg?Mf5e;y*|QYrjd#m$#^314OfntaeANY9FaMyfmnxC}{kI6^&O*q8p1-I8uWqL;Z} z%w3s?YUe1v`ZYZwDJPB~0BYw-JdFXFJpLN3*fby#$8_8IZZ(B=&&9kfE{`d=$qvP9 zoGH>pyebY-_h*oYi2b(q*S26sGz)Zz#ShZG?4#Dz`imhrAfQH)rHTwF>xh=Kg6Ak* zr-gYVU8ah=Y|c=FZr1=asBEo@Gv`mDt)|W z{h%vx`tG@9_KtFY9RSWd5*z8Ee#Efo6XIeK!_48$aW60C&JnW3hkE$wcg0Y*F#C?# z%g-mI3lV3OJ&V%UZjE(qHxsX~#iF&HpY!=8j(Ca}y?!Ozj@b`^o&O-oL!nKK@kdCu zCF=z25p%+wv%-qMJ~BXY2GR96NicZ(Yma}9M$-?N;RiVvi%X*wFv%7x+LG=)d*dyv zl`TR_jwEqQ@QfD<_4v(55LmvvT;oobj}kqm(A(CMr)?vD)75n4llgEt^EaeQq3qb8WbM0$&boNg-1}C zzyi`v34Osq4M9XFbp?r2a^`o^Y$+sOm+Sd8_UkC8Msxd4n)KFjZq$jq826o0-ah_x zeZ8eKQp+gJg4soivUJbJIJzighMFnTx^Zv3f4dXrOs<44%@QE;-RsBcXdN5y5 z^r#=4tr;+92D$b+iWjxJ*_C+pe7+=Z**kF~K*sv<;2mk5j7U>KLwrh{d#>+IW{XL| zm?D0liqxcV0{_UPABB@V%}mYHE@Gi!7X@k+<|nV3a|8Ck5OAT9j9Xslq&DvkoojKBQxf`+3 z&)y}gHzU{9KN*V292F6p@3vhd=V{%McOKxu-Q0JxZ;ixzf-YCe1f2p2TT68SlztGn;2%HdF(M zBx2xjb$+wAMsEA0P62z^XoIq@0L1p4qKg^WTt5o5 z-`1uD;wb?uN1i-Qo2{GdQztFa%gBM7$K=QiuhH*gvKhID@$r<6cQ@}HMMwC7j$_s`Txn}w+y~2?f36MmldYx1lRWQJU7Y4zQ_Od@ zF$JDu25Q>qr!%^yw1&2$Nnktmh~iw7Ux+#FzBJs8BoTPX*GLYJ!gF1gmt701n$xe? zjzTUyC5xvFJvpJJI^JCbn40&`xRVOJw*|mO`R5Oo9>Q7IB|$U3FW=UapKpFqcC0D= z`qXYo;PYM`ha`p`83H%IQmTJv$=fn}H}0FDqq&W#6u;(2$pgwrNC0^%f{ zsdWznpbV;Ys)?6}2NFm*K{oVj_=;xzamrGeM>=X&H$bVzXg((mCnlFi+qG z|Mi#%W8|VtPTW1H95m4UY+RX{_Lp$PSU^p+u;Tb-Le~W;*E$pb`TSOTmC%HUjQ*|t zuWZGA1hCxMiEn?Z} zG0K_Jtl=B)EK%rv>EuoR4g{u?`7pg#H5yxnJe0e;Wr-!B>XghM-jSIzHI~b3YHM}_ z+Sp64WXCwkhJe>10DjIn?k4MrGE4deFZ#`CIz?-I{jCHnn7GRn zx$`v5s+l`!jG!~qMe0PUcS~EII7&YQl;jLkJI#<7EAlazZf>6Sj(N0kT4z1v5aS$o zu97+ABMAkC+2y>!Iw~4@<0I;JPnqy%p31YLS~J?5k^69!j`#p@ZECPQs}x6a7AcU( zg0um8DS`du{!mf2^M!kD^HxPw=Y5b35oXcd-k>IT6WT2^Lke1ZS)(ZP^6>GmsHSJA zPm+mx&iR5{-$iEJgA`X*-x{*C9yZCCSL=N-`c5ecKWS^Oc#oYiHmj2PH@(OlSuxZ~ zw>l%JBp&c|;_;H+p9);jgIn__8A<9FzjG{Pu5~BGq6{%KtQqir`lxeG~a}Ex;^D zT=&`YmyZ<@BWA&C{B@URDUNb~Z7#Q(dQeSr=c{Y_sFAF7cwPc{`uK1>Br^u z>N%hV$bQ{|Iy_qP`7*^YG#qssgftE8pCsxhXLRWPjmZBtiy2e9MECo!{(I#jLCk1K z(#QSfkl^En)g@%ucIxdy6gN4n888oMTQ7 za)o@kycrA0i@P_Z`fs>1&M)A%6HoH#->X!N3@Cd3XY=2E3Z;MZ3IAGx|Ni(0`xnjo z@7=#$qVVzIm%j+#|7YK2sj(%WJo=yi`WB|#Qu}8JX;aU?@A3S9+|b`q$kk+LL$k@| zzBYUNzmHMu2z}Z9s+M=vlQ Date: Thu, 9 Feb 2023 13:25:31 -0800 Subject: [PATCH 02/55] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b1dfcf7dd9..a765a95f1f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -35,4 +35,4 @@ For more information about CLAs, please check out Alex Russell’s excellent pos ## Slack -We host a public Slack with a dedicated channel for contributors and maintainers of open source projects hosted by New Relic. If you are contributing to this project, you're welcome to request access to the #oss-contributors channel in the newrelicusers.slack.com workspace. To request access, see https://newrelicusers-signup.herokuapp.com/. +We host a public Slack with a dedicated channel for contributors and maintainers of open source projects hosted by New Relic. If you are contributing to this project, you're welcome to request access to the #oss-contributors channel in the newrelicusers.slack.com workspace. To request access, please use this [link](https://join.slack.com/t/newrelicusers/shared_invite/zt-1ayj69rzm-~go~Eo1whIQGYnu3qi15ng). From 5e4285ab66d66f6e2341d532474b2ed97c71b004 Mon Sep 17 00:00:00 2001 From: Justin Eveland Date: Mon, 20 Feb 2023 18:12:56 -0500 Subject: [PATCH 03/55] chore(docs): update copy snippets to reflect light/dark mode versions --- docs/Open-Source-Category-Snippets.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/Open-Source-Category-Snippets.md b/docs/Open-Source-Category-Snippets.md index decad37379..407133563e 100644 --- a/docs/Open-Source-Category-Snippets.md +++ b/docs/Open-Source-Category-Snippets.md @@ -15,7 +15,7 @@ Every public repository in the `newrelic` and `newrelic-experimental` GitHub org ## Category: [New Relic Experimental](#category-new-relic-experimental) -[![New Relic Experimental header](https://github.com/newrelic/opensource-website/raw/main/src/images/categories/Experimental.png)](https://opensource.newrelic.com/oss-category/#new-relic-experimental) +New Relic Open Source experimental project banner. ### Category Description and Requirements @@ -26,12 +26,12 @@ See [here](https://opensource.newrelic.com/oss-category/#new-relic-experimental) **Required:** Copy and paste the following into the **top** of your project's README. ```markdown -[![New Relic Experimental header](https://github.com/newrelic/opensource-website/raw/main/src/images/categories/Experimental.png)](https://opensource.newrelic.com/oss-category/#new-relic-experimental) +New Relic Open Source experimental project banner. ``` ## Category: [Community Project](#category-community-project) -[![Community Project header](https://github.com/newrelic/opensource-website/raw/main/src/images/categories/Community_Project.png)](https://opensource.newrelic.com/oss-category/#community-project) +New Relic Open Source community project banner. ### Category Description and Requirements @@ -42,12 +42,12 @@ See [here](https://opensource.newrelic.com/oss-category/#community-project). **Required:** Copy and paste the following into the **top** of your project's README. ```markdown -[![Community Project header](https://github.com/newrelic/opensource-website/raw/main/src/images/categories/Community_Project.png)](https://opensource.newrelic.com/oss-category/#community-project) +New Relic Open Source community project banner. ``` ## Category: [Community Plus](#category-community-plus) -[![Community Plus header](https://github.com/newrelic/opensource-website/raw/main/src/images/categories/Community_Plus.png)](https://opensource.newrelic.com/oss-category/#community-plus) +New Relic Open Source community plus project banner. ### Category Description and Requirements @@ -58,12 +58,12 @@ See [here](https://opensource.newrelic.com/oss-category/#community-plus). **Required:** Copy and paste the following into the **top** of your project's README. ```markdown -[![Community Plus header](https://github.com/newrelic/opensource-website/raw/main/src/images/categories/Community_Plus.png)](https://opensource.newrelic.com/oss-category/#community-plus) +New Relic Open Source community plus project banner. ``` ## Category: [New Relic One Catalog Project](#category-new-relic-one-catalog-project) -[![New Relic One Catalog Project header](https://github.com/newrelic/opensource-website/raw/main/src/images/categories/New_Relic_One_Catalog_Project.png)](https://opensource.newrelic.com/oss-category/#new-relic-one-catalog-project) +New Relic Open Source catalog project banner. ### Category Description and Requirements @@ -74,12 +74,12 @@ See [here](https://opensource.newrelic.com/oss-category/#new-relic-one-catalog-p **Required:** Copy and paste the following into the **top** of your project's README. ```markdown -[![New Relic One Catalog Project header](https://github.com/newrelic/opensource-website/raw/main/src/images/categories/New_Relic_One_Catalog_Project.png)](https://opensource.newrelic.com/oss-category/#new-relic-one-catalog-project) +New Relic Open Source catalog project banner. ``` ## Category: [Example Code](#category-example-code) -[![Example Code header](https://github.com/newrelic/opensource-website/raw/main/src/images/categories/Example_Code.png)](https://opensource.newrelic.com/oss-category/#example-code) +New Relic Open Source example project banner. ### Category Description and Requirements @@ -90,12 +90,12 @@ See [here](https://opensource.newrelic.com/oss-category/#example-code). **Required:** Copy and paste the following into the **top** of your project's README. ```markdown -[![Example Code header](https://github.com/newrelic/opensource-website/raw/main/src/images/categories/Example_Code.png)](https://opensource.newrelic.com/oss-category/#example-code) +New Relic Open Source example project banner. ``` ## Category: [Archived](#category-archived) -[![Archived header](https://github.com/newrelic/opensource-website/raw/main/src/images/categories/Archived.png)](https://opensource.newrelic.com/oss-category/#archived) +New Relic Open Source archived project banner. ### Category Description and Requirements @@ -106,5 +106,5 @@ See [here](https://opensource.newrelic.com/oss-category/#archived). **Required:** Copy and paste the following into the **top** of your project's README. ```markdown -[![Archived header](https://github.com/newrelic/opensource-website/raw/main/src/images/categories/Archived.png)](https://opensource.newrelic.com/oss-category/#archived) +New Relic Open Source archived project banner. ``` From 4fbb5e297b9d1cf989b8ad247b0f4e6a37217497 Mon Sep 17 00:00:00 2001 From: Justin Eveland Date: Tue, 21 Feb 2023 11:09:25 -0500 Subject: [PATCH 04/55] fix: use html code fence --- docs/Open-Source-Category-Snippets.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/Open-Source-Category-Snippets.md b/docs/Open-Source-Category-Snippets.md index 407133563e..4b453f6294 100644 --- a/docs/Open-Source-Category-Snippets.md +++ b/docs/Open-Source-Category-Snippets.md @@ -25,7 +25,7 @@ See [here](https://opensource.newrelic.com/oss-category/#new-relic-experimental) **Required:** Copy and paste the following into the **top** of your project's README. -```markdown +```html New Relic Open Source experimental project banner. ``` @@ -41,7 +41,7 @@ See [here](https://opensource.newrelic.com/oss-category/#community-project). **Required:** Copy and paste the following into the **top** of your project's README. -```markdown +```html New Relic Open Source community project banner. ``` @@ -57,7 +57,7 @@ See [here](https://opensource.newrelic.com/oss-category/#community-plus). **Required:** Copy and paste the following into the **top** of your project's README. -```markdown +```html New Relic Open Source community plus project banner. ``` @@ -73,7 +73,7 @@ See [here](https://opensource.newrelic.com/oss-category/#new-relic-one-catalog-p **Required:** Copy and paste the following into the **top** of your project's README. -```markdown +```html New Relic Open Source catalog project banner. ``` @@ -89,7 +89,7 @@ See [here](https://opensource.newrelic.com/oss-category/#example-code). **Required:** Copy and paste the following into the **top** of your project's README. -```markdown +```html New Relic Open Source example project banner. ``` @@ -105,6 +105,6 @@ See [here](https://opensource.newrelic.com/oss-category/#archived). **Required:** Copy and paste the following into the **top** of your project's README. -```markdown +```html New Relic Open Source archived project banner. ``` From 3e765b223b18abdf896f8a3ac8d6aff8a22f86c6 Mon Sep 17 00:00:00 2001 From: nr-opensource-bot Date: Tue, 21 Feb 2023 16:16:19 +0000 Subject: [PATCH 05/55] chore(release): 1.24.0 # [1.24.0](https://github.com/newrelic/opensource-website/compare/v1.23.0...v1.24.0) (2023-02-21) ### Bug Fixes * use html code fence ([4fbb5e2](https://github.com/newrelic/opensource-website/commit/4fbb5e297b9d1cf989b8ad247b0f4e6a37217497)) ### Features * add light and dark mode repo banner images ([dfb7884](https://github.com/newrelic/opensource-website/commit/dfb7884a19524c405393df24a5286f885b05c2e2)) --- CHANGELOG.md | 12 ++++++++++++ package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c584b2a896..41048379d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +# [1.24.0](https://github.com/newrelic/opensource-website/compare/v1.23.0...v1.24.0) (2023-02-21) + + +### Bug Fixes + +* use html code fence ([4fbb5e2](https://github.com/newrelic/opensource-website/commit/4fbb5e297b9d1cf989b8ad247b0f4e6a37217497)) + + +### Features + +* add light and dark mode repo banner images ([dfb7884](https://github.com/newrelic/opensource-website/commit/dfb7884a19524c405393df24a5286f885b05c2e2)) + # [1.23.0](https://github.com/newrelic/opensource-website/compare/v1.22.3...v1.23.0) (2023-01-31) diff --git a/package.json b/package.json index 17464f1d8b..577aae62c6 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "opensource-website", "private": true, "description": "Data, code, and automation for opensource.newrelic.com", - "version": "1.23.0", + "version": "1.24.0", "author": "Open Source Team at New Relic ", "dependencies": { "@emotion/react": "^11.1.5", From 03e019ad455090ce3da72f1eca3dbccddb90074f Mon Sep 17 00:00:00 2001 From: Justin Eveland Date: Tue, 28 Feb 2023 16:15:20 -0500 Subject: [PATCH 06/55] chore: use GITHUB_TOKEN for docs workflow --- .github/workflows/docs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 28290dd0c4..ab864650c2 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -26,7 +26,7 @@ jobs: with: source: docs destination: wiki - token: ${{ secrets.NEWRELIC_BOT_TOKEN }} + token: ${{ secrets.GITHUB_TOKEN }} gitAuthorName: ${{ env.GIT_AUTHOR_NAME }} gitAuthorEmail: ${{ env.GIT_AUTHOR_EMAIL }} @@ -37,14 +37,14 @@ jobs: - name: Checkout Repo uses: actions/checkout@v2 with: - token: ${{ secrets.NEWRELIC_BOT_TOKEN }} # allows us to push back to repo + token: ${{ secrets.GITHUB_TOKEN }} # allows us to push back to repo ref: develop - name: Sync Wiki to Docs uses: newrelic/wiki-sync-action@master with: source: wiki destination: docs - token: ${{ secrets.NEWRELIC_BOT_TOKEN }} + token: ${{ secrets.GITHUB_TOKEN }} gitAuthorName: ${{ env.GIT_AUTHOR_NAME }} gitAuthorEmail: ${{ env.GIT_AUTHOR_EMAIL }} branch: develop From 1e4d06602a1f5721df6f37cda87db0f2f24af124 Mon Sep 17 00:00:00 2001 From: Justin Eveland Date: Tue, 28 Feb 2023 16:15:45 -0500 Subject: [PATCH 07/55] fix: use single token for running GH action --- .github/workflows/project-stats.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/project-stats.yml b/.github/workflows/project-stats.yml index 2555e5e6d9..98f80fbced 100644 --- a/.github/workflows/project-stats.yml +++ b/.github/workflows/project-stats.yml @@ -24,7 +24,7 @@ jobs: - name: Sync Data uses: ./.github/actions/sync-data with: - github-token: ${{ secrets.NEWRELIC_BOT_TOKEN }} # must have push access to repos for stats queries to work + github-token: ${{ secrets.OPENSOURCE_BOT_TOKEN }} # must have push access to repos for stats queries to work project-stats: true - name: Commit data files From 3ff0721ae12a0028489c56fc341c3f61f1054aed Mon Sep 17 00:00:00 2001 From: Justin Eveland Date: Tue, 28 Feb 2023 16:17:40 -0500 Subject: [PATCH 08/55] fix: use specific token --- .github/workflows/project-stats.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/project-stats.yml b/.github/workflows/project-stats.yml index 98f80fbced..502acb58a3 100644 --- a/.github/workflows/project-stats.yml +++ b/.github/workflows/project-stats.yml @@ -24,7 +24,9 @@ jobs: - name: Sync Data uses: ./.github/actions/sync-data with: - github-token: ${{ secrets.OPENSOURCE_BOT_TOKEN }} # must have push access to repos for stats queries to work + # runs queries against GitHub API; must have push access to repos for stats queries to work + # this token is _only_ used for this GH action + github-token: ${{ secrets.OPENSOURCE_STATS_TOKEN }} project-stats: true - name: Commit data files From a5d04ddc29cdc2634433d4aebc589bb9a2a47ba1 Mon Sep 17 00:00:00 2001 From: Justin Eveland Date: Tue, 28 Feb 2023 16:19:15 -0500 Subject: [PATCH 09/55] fix: consolidate on using devex token --- .github/workflows/project-stats.yml | 2 +- .github/workflows/release.yml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/project-stats.yml b/.github/workflows/project-stats.yml index 502acb58a3..9265e57f59 100644 --- a/.github/workflows/project-stats.yml +++ b/.github/workflows/project-stats.yml @@ -19,7 +19,7 @@ jobs: with: ref: main fetch-depth: 0 - token: ${{ secrets.OPENSOURCE_BOT_TOKEN }} + token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} - name: Sync Data uses: ./.github/actions/sync-data diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 333610830c..c3ff79d5ac 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -78,7 +78,7 @@ jobs: id: disable-branch-protection uses: actions/github-script@v1 with: - github-token: ${{ secrets.OPENSOURCE_BOT_TOKEN }} + github-token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} previews: luke-cage-preview script: | const result = await github.repos.updateBranchProtection({ @@ -96,7 +96,7 @@ jobs: if: steps.generate-notices.outputs.commit == 'true' uses: ad-m/github-push-action@v0.6.0 with: - github_token: ${{ secrets.OPENSOURCE_BOT_TOKEN }} + github_token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} branch: develop - name: Re-enable branch protection @@ -104,7 +104,7 @@ jobs: if: always() uses: actions/github-script@v1 with: - github-token: ${{ secrets.OPENSOURCE_BOT_TOKEN }} + github-token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} previews: luke-cage-preview script: | const result = await github.repos.updateBranchProtection({ @@ -147,7 +147,7 @@ jobs: id: disable-branch-protection uses: actions/github-script@v1 with: - github-token: ${{ secrets.OPENSOURCE_BOT_TOKEN }} + github-token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} previews: luke-cage-preview script: | const result = await github.repos.updateBranchProtection({ @@ -169,7 +169,7 @@ jobs: GIT_AUTHOR_EMAIL: 'opensource+bot@newrelic.com' GIT_COMMITTER_NAME: 'nr-opensource-bot' GIT_COMMITTER_EMAIL: 'opensource+bot@newrelic.com' - GITHUB_TOKEN: ${{ secrets.OPENSOURCE_BOT_TOKEN }} + GITHUB_TOKEN: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} run: npx semantic-release@^18.0.0 - name: Re-enable branch protection @@ -177,7 +177,7 @@ jobs: if: always() uses: actions/github-script@v1 with: - github-token: ${{ secrets.OPENSOURCE_BOT_TOKEN }} + github-token: ${{ secrets.DEVEX_OPENSOURCE_BOT_TOKEN }} previews: luke-cage-preview script: | const result = await github.repos.updateBranchProtection({ From 7e0fe52ab4e20785d775ea2fb158f5e60877314f Mon Sep 17 00:00:00 2001 From: nr-opensource-bot Date: Tue, 28 Feb 2023 21:26:13 +0000 Subject: [PATCH 10/55] chore(release): 1.24.1 ## [1.24.1](https://github.com/newrelic/opensource-website/compare/v1.24.0...v1.24.1) (2023-02-28) ### Bug Fixes * consolidate on using devex token ([a5d04dd](https://github.com/newrelic/opensource-website/commit/a5d04ddc29cdc2634433d4aebc589bb9a2a47ba1)) * use single token for running GH action ([1e4d066](https://github.com/newrelic/opensource-website/commit/1e4d06602a1f5721df6f37cda87db0f2f24af124)) * use specific token ([3ff0721](https://github.com/newrelic/opensource-website/commit/3ff0721ae12a0028489c56fc341c3f61f1054aed)) --- CHANGELOG.md | 9 +++++++++ package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 41048379d7..5c2f18a9e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## [1.24.1](https://github.com/newrelic/opensource-website/compare/v1.24.0...v1.24.1) (2023-02-28) + + +### Bug Fixes + +* consolidate on using devex token ([a5d04dd](https://github.com/newrelic/opensource-website/commit/a5d04ddc29cdc2634433d4aebc589bb9a2a47ba1)) +* use single token for running GH action ([1e4d066](https://github.com/newrelic/opensource-website/commit/1e4d06602a1f5721df6f37cda87db0f2f24af124)) +* use specific token ([3ff0721](https://github.com/newrelic/opensource-website/commit/3ff0721ae12a0028489c56fc341c3f61f1054aed)) + # [1.24.0](https://github.com/newrelic/opensource-website/compare/v1.23.0...v1.24.0) (2023-02-21) diff --git a/package.json b/package.json index 577aae62c6..db637a708b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "opensource-website", "private": true, "description": "Data, code, and automation for opensource.newrelic.com", - "version": "1.24.0", + "version": "1.24.1", "author": "Open Source Team at New Relic ", "dependencies": { "@emotion/react": "^11.1.5", From cfc1c34696f70153b4a9893624a29df193373c21 Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Wed, 1 Mar 2023 08:13:41 -0800 Subject: [PATCH 11/55] chore: Remove split --- gatsby-config.js | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/gatsby-config.js b/gatsby-config.js index 4f84d6ff7f..a363224fd8 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -82,19 +82,6 @@ module.exports = { category: 'OssPageView', }, }, - splitio: { - // Mocked features only used when in localhost mode - // https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK#localhost-mode - features: { - free_account_button_color: { - treatment: 'off', - }, - }, - core: { - authorizationKey: process.env.SPLITIO_AUTH_KEY || 'localhost', - }, - debug: false, - }, }, }, { From aab1f1ba3e5eb98c62bb068598571ec971ebe7b6 Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Mon, 27 Mar 2023 13:33:33 -0700 Subject: [PATCH 12/55] chore: Remove OneTrust in favor of Osano --- gatsby-config.js | 1 - package.json | 4 +- yarn.lock | 378 ++++++++++++++++++++++++++++++----------------- 3 files changed, 248 insertions(+), 135 deletions(-) diff --git a/gatsby-config.js b/gatsby-config.js index a363224fd8..e432c819df 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -20,7 +20,6 @@ module.exports = { { resolve: '@newrelic/gatsby-theme-newrelic', options: { - oneTrustID: '971b8f59-9199-438a-b638-763f94671811', layout: { maxWidth: '1236px', contentPadding: '28px', diff --git a/package.json b/package.json index db637a708b..ba7d873b20 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "@emotion/styled": "^11.3.0", "@mdx-js/mdx": "^1.6.22", "@mdx-js/react": "^1.6.22", - "@newrelic/gatsby-theme-newrelic": "^6.13.6", + "@newrelic/gatsby-theme-newrelic": "^6.18.9", "@splitsoftware/splitio-react": "^1.2.4", "date-fns": "^2.17.0", "feather-icons": "^4.28.0", @@ -86,4 +86,4 @@ "bugs": { "url": "https://github.com/newrelic/opensource-website/issues" } -} +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index cbdef83287..632022df26 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2038,6 +2038,36 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@lmdb/lmdb-darwin-arm64@2.5.3": + version "2.5.3" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.5.3.tgz#c423b068165df18da57a81dce5c95f98c6ab9265" + integrity sha512-RXwGZ/0eCqtCY8FLTM/koR60w+MXyvBUpToXiIyjOcBnC81tAlTUHrRUavCEWPI9zc9VgvpK3+cbumPyR8BSuA== + +"@lmdb/lmdb-darwin-x64@2.5.3": + version "2.5.3" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.5.3.tgz#dde76e65595b34a17289a63f770a8aee13a85a9b" + integrity sha512-337dNzh5yCdNCTk8kPfoU7jR3otibSlPDGW0vKZT97rKnQMb9tNdto3RtWoGPsQ8hKmlRZpojOJtmwjncq1MoA== + +"@lmdb/lmdb-linux-arm64@2.5.3": + version "2.5.3" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.5.3.tgz#d98f32383d37a058e6c51b7ffd665c2c2f91c285" + integrity sha512-VJw60Mdgb4n+L0fO1PqfB0C7TyEQolJAC8qpqvG3JoQwvyOv6LH7Ib/WE3wxEW9nuHmVz9jkK7lk5HfWWgoO1Q== + +"@lmdb/lmdb-linux-arm@2.5.3": + version "2.5.3" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.5.3.tgz#6251143d7b470e126b0b0fc17ae64c6680e268b2" + integrity sha512-mU2HFJDGwECkoD9dHQEfeTG5mp8hNS2BCfwoiOpVPMeapjYpQz9Uw3FkUjRZ4dGHWKbin40oWHuL0bk2bCx+Sg== + +"@lmdb/lmdb-linux-x64@2.5.3": + version "2.5.3" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.5.3.tgz#ef3a9793391ab4a68379e753943c9055fd0f5bf3" + integrity sha512-qaReO5aV8griBDsBr8uBF/faO3ieGjY1RY4p8JvTL6Mu1ylLrTVvOONqKFlNaCwrmUjWw5jnf7VafxDAeQHTow== + +"@lmdb/lmdb-win32-x64@2.5.3": + version "2.5.3" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.5.3.tgz#c72e8b6faae31d925d23a6db0379cc3fe0216fdd" + integrity sha512-cK+Elf3RjEzrm3SerAhrFWL5oQAsZSJ/LmjL1joIpTfEP1etJJ9CTRvdaV6XLYAxaEkfdhk/9hOvHLbR9yIhCA== + "@mdx-js/mdx@^1.6.22": version "1.6.22" resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" @@ -2099,26 +2129,27 @@ eslint-plugin-promise "^4.2.1" eslint-plugin-react "^7.14.3" -"@newrelic/gatsby-theme-newrelic@^6.13.6": - version "6.13.6" - resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-6.13.6.tgz#1e17b056a4b4a413bcc8c1e8df45530076141bde" - integrity sha512-IlACMJBbZqgKhkwJ9aYEY+MomxlhQEiFMd3jsk/Eci4Go2TepQb8NSJ9oN3fSYKINzKlYopI3YoKZxwvxJV3sw== +"@newrelic/gatsby-theme-newrelic@^6.18.9": + version "6.18.9" + resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-6.18.9.tgz#bfaa7e1b1c6aafad69c5120e9d9b57c73b70a830" + integrity sha512-0EblKLhrxD8cpa/4BDtxqJmhIdg86MeDM2/XNjaa3ETYuwDUQudwR9wQ2S+vB6KIeP4dFbg7Qb8KJGp/egR1EA== dependencies: "@wry/equality" "^0.4.0" "@xstate/react" "^1.3.1" babel-plugin-prismjs "^2.0.1" + classnames "^2.3.2" date-fns "^2.21.0" file-saver "^2.0.5" gatsby-plugin-emotion "^6.10.0" gatsby-plugin-layout "^2.10.0" gatsby-plugin-newrelic "^2.0.0" - gatsby-plugin-react-helmet "^4.10.0" + gatsby-plugin-react-helmet "^5.4.0" gatsby-plugin-robots-txt "^1.6.8" - gatsby-plugin-sharp "4.4.0" + gatsby-plugin-sharp "4.25.0" gatsby-plugin-sitemap "^4.6.0" gatsby-plugin-use-dark-mode "^1.3.0" - gatsby-source-filesystem "^3.10.0" - gatsby-transformer-sharp "4.6.0" + gatsby-source-filesystem "^4.25.0" + gatsby-transformer-sharp "4.25.0" html-react-parser "^1.2.5" i18next "^20.2.1" js-cookie "^2.2.1" @@ -2126,7 +2157,7 @@ path-browserify "^1.0.1" polished "^4.1.1" prism-react-renderer "^1.2.0" - prismjs "^1.28.0" + prismjs "^1.29.0" prop-types "^15.5.7" react-i18next "^11.8.13" react-live "^2.2.3" @@ -2855,6 +2886,13 @@ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== +"@types/sharp@^0.30.5": + version "0.30.5" + resolved "https://registry.yarnpkg.com/@types/sharp/-/sharp-0.30.5.tgz#d75d91f7acf5260525aeae229845046dcff6d17a" + integrity sha512-EhO29617AIBqxoVtpd1qdBanWpspk/kD2B6qTFRJ31Q23Rdf+DNU1xlHSwtqvwq1vgOqBwq1i38SX+HGCymIQg== + dependencies: + "@types/node" "*" + "@types/stack-utils@^2.0.0": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" @@ -3606,11 +3644,16 @@ async@1.5.2: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^3.2.1, async@^3.2.2: +async@^3.2.1: version "3.2.3" resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== +async@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -4470,7 +4513,7 @@ cheerio@^1.0.0-rc.10: parse5-htmlparser2-tree-adapter "^6.0.1" tslib "^2.2.0" -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.2: +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.2, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -4520,6 +4563,11 @@ classnames@^2.2.5: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== +classnames@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -4645,7 +4693,7 @@ color-string@^1.9.0: color-name "^1.0.0" simple-swizzle "^0.2.2" -color@^4.0.1: +color@^4.0.1, color@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== @@ -5291,7 +5339,7 @@ debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@~4.3.1: +debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@~4.3.1: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -5460,7 +5508,7 @@ detect-libc@^1.0.3: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= -detect-libc@^2.0.0: +detect-libc@^2.0.0, detect-libc@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd" integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== @@ -6656,6 +6704,15 @@ file-type@^16.5.3: strtok3 "^6.2.4" token-types "^4.1.1" +file-type@^16.5.4: + version "16.5.4" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.4.tgz#474fb4f704bee427681f98dd390058a172a6c2fd" + integrity sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw== + dependencies: + readable-web-to-node-stream "^3.0.0" + strtok3 "^6.2.4" + token-types "^4.1.1" + file-type@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/file-type/-/file-type-9.0.0.tgz#a68d5ad07f486414dfb2c8866f73161946714a18" @@ -7005,10 +7062,10 @@ gatsby-core-utils@^2.14.0: tmp "^0.2.1" xdg-basedir "^4.0.0" -gatsby-core-utils@^3.14.0, gatsby-core-utils@^3.4.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-3.14.0.tgz#75d30a4a91701315674a798896a5fcdf4b31c72e" - integrity sha512-JavHwcX5L+ZRoL5FKhYex3JfbwwS0273YTpf8y8SRKsObD8H+bbLOUlbOjASpqy+IU3dW+r76gT1dQdaqeH9Og== +gatsby-core-utils@^3.25.0: + version "3.25.0" + resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-3.25.0.tgz#6ebfd2b8c95f3bbc3b52a9619a1ff26c68109c25" + integrity sha512-lmMDwbnKpqAi+8WWd7MvCTCx3E0u7j8sbVgydERNCYVxKVpzD/aLCH4WPb4EE9m1H1rSm76w0Z+MaentyB/c/Q== dependencies: "@babel/runtime" "^7.15.4" ci-info "2.0.0" @@ -7016,9 +7073,9 @@ gatsby-core-utils@^3.14.0, gatsby-core-utils@^3.4.0: fastq "^1.13.0" file-type "^16.5.3" fs-extra "^10.1.0" - got "^11.8.3" + got "^11.8.5" import-from "^4.0.0" - lmdb "^2.2.6" + lmdb "2.5.3" lock "^1.1.0" node-object-hash "^2.3.10" proper-lockfile "^4.1.2" @@ -7193,10 +7250,10 @@ gatsby-plugin-page-creator@^3.14.0: globby "^11.0.4" lodash "^4.17.21" -gatsby-plugin-react-helmet@^4.10.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-4.14.0.tgz#69fe0bd90d65356a0aa144d4e8d75d2559638514" - integrity sha512-IpLC0mWRNP+E0ezDBXHciVATW+mv2MCvCP3lEYtFQ8mfcm3K//MpeynouNQSPCXn9cH7fr5w0Y355Wl5w1kw1A== +gatsby-plugin-react-helmet@^5.4.0: + version "5.25.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-5.25.0.tgz#6849d405bfbc0846e73449d4425b45f84ec58fbb" + integrity sha512-sU/xae/sGuYFcFDpqUxwXnaOmx8xrU2Q+XSULqAapji0uTBhW6al6CJsaPFigi8IOG2bQX8ano2iWWcGF3/GHw== dependencies: "@babel/runtime" "^7.15.4" @@ -7217,29 +7274,23 @@ gatsby-plugin-sass@^5.9.0: resolve-url-loader "^3.1.4" sass-loader "^10.1.1" -gatsby-plugin-sharp@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-4.4.0.tgz#d3d182f1397011aeb969f4300022ff13df81e720" - integrity sha512-X2Syc6YfOD2O+5A2Lrd/l/HXHIAIjcbRfP38uJPbG0cZg3xRd3T7RaDEcDrFylHvpYZfcqjzumfwPeQuhhxUUQ== +gatsby-plugin-sharp@4.25.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-4.25.0.tgz#9af5e1be2b82c67aa64711675850f0ba4e7e3b0e" + integrity sha512-8XiSKibQyp6pOFHEkEdRCpoDA3Ywcq5PKftNMExZ51MormT0+WqRC7ynuU+0fzktDTbbSyREvblKa+21Id+rRA== dependencies: "@babel/runtime" "^7.15.4" - async "^3.2.2" + async "^3.2.4" bluebird "^3.7.2" + debug "^4.3.4" filenamify "^4.3.0" - fs-extra "^10.0.0" - gatsby-core-utils "^3.4.0" - gatsby-plugin-utils "^2.4.0" - gatsby-telemetry "^3.4.0" - got "^11.8.3" + fs-extra "^10.1.0" + gatsby-core-utils "^3.25.0" + gatsby-plugin-utils "^3.19.0" lodash "^4.17.21" - mini-svg-data-uri "^1.4.3" - potrace "^2.1.8" - probe-image-size "^6.0.0" - progress "^2.0.3" - semver "^7.3.5" - sharp "^0.29.3" - svgo "1.3.2" - uuid "3.4.0" + probe-image-size "^7.2.3" + semver "^7.3.7" + sharp "^0.30.7" gatsby-plugin-sharp@^3.8.0: version "3.14.3" @@ -7304,13 +7355,20 @@ gatsby-plugin-utils@^1.14.0: "@babel/runtime" "^7.15.4" joi "^17.4.2" -gatsby-plugin-utils@^2.4.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-utils/-/gatsby-plugin-utils-2.5.0.tgz#33c343faa01577df032d4cf53c7c2b04b0b19248" - integrity sha512-B/JpKTQJQNRVo3b3rRbOgHKV3/i3V5fYLPOGvBU6qHxBtQ9I5YYwXrsLJYX5vl4bEtLtrkiQG9zQyvSSXzJ9Sw== +gatsby-plugin-utils@^3.19.0: + version "3.19.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-utils/-/gatsby-plugin-utils-3.19.0.tgz#f464b02cc51dcdc0c0e094b7352ee4bf660126ea" + integrity sha512-EZtvgHSU5NPbEn6a4cfSpEGCQ09SfwbhoybHTJKj1clop86HSwOCV2iH8RbCc+X6jbdgHaSZsfsl7zG1h7DBUw== dependencies: "@babel/runtime" "^7.15.4" + fastq "^1.13.0" + fs-extra "^10.1.0" + gatsby-core-utils "^3.25.0" + gatsby-sharp "^0.19.0" + graphql-compose "^9.0.7" + import-from "^4.0.0" joi "^17.4.2" + mime "^3.0.0" gatsby-react-router-scroll@^4.14.0: version "4.14.0" @@ -7415,7 +7473,15 @@ gatsby-remark-images@^5.5.0: unist-util-select "^3.0.4" unist-util-visit-parents "^3.1.1" -gatsby-source-filesystem@^3.10.0, gatsby-source-filesystem@^3.8.0: +gatsby-sharp@^0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/gatsby-sharp/-/gatsby-sharp-0.19.0.tgz#c2c35d885103ebf9d2733737db798312897a716c" + integrity sha512-EbI3RNBu2+aaxuMUP/INmoj8vcNAG6BgpFvi1tLeU7/gVTNVQ+7pC/ZYtlVCzSw+faaw7r1ZBMi6F66mNIIz5A== + dependencies: + "@types/sharp" "^0.30.5" + sharp "^0.30.7" + +gatsby-source-filesystem@^3.8.0: version "3.14.0" resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-3.14.0.tgz#ae2b930091a932b33270cb9cc2d9caaf0abc1742" integrity sha512-Gg5GGxiWXhjapWMYdXOGk7zp+ajYowS+xNmaDUkL1gH+IQLvE18XbvKh00B/HiFaHm4azJfS2QRrRI/mPTZX+w== @@ -7434,6 +7500,22 @@ gatsby-source-filesystem@^3.10.0, gatsby-source-filesystem@^3.8.0: valid-url "^1.0.9" xstate "^4.14.0" +gatsby-source-filesystem@^4.25.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-4.25.0.tgz#2748b0abd37abea0fbf70f33fb544debee3280ff" + integrity sha512-gja4++bPkYpnum4/TxFicr3zRHBArnM2HjT77EE4EuDhdl6qlJYr/heD09LIPN2jdR5gmPwMDjIZnuYZ/6j/aQ== + dependencies: + "@babel/runtime" "^7.15.4" + chokidar "^3.5.3" + file-type "^16.5.4" + fs-extra "^10.1.0" + gatsby-core-utils "^3.25.0" + md5-file "^5.0.0" + mime "^2.5.2" + pretty-bytes "^5.4.1" + valid-url "^1.0.9" + xstate "4.32.1" + gatsby-telemetry@^2.14.0: version "2.14.0" resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-2.14.0.tgz#d4f9ec0623bac509999586e2e9f4a211661d43e7" @@ -7454,25 +7536,6 @@ gatsby-telemetry@^2.14.0: node-fetch "^2.6.1" uuid "3.4.0" -gatsby-telemetry@^3.4.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-3.14.0.tgz#6f3903a60c0918b98b3a9d2645a464be1b642489" - integrity sha512-QnlN3nvb+1gYsY6cIQKAuvkhx9uoOg71yuEYB0EFQdgcnyIbWlBVRHId8wOXoQHwRYFmatvxBmcKlVF8FCs61A== - dependencies: - "@babel/code-frame" "^7.14.0" - "@babel/runtime" "^7.15.4" - "@turist/fetch" "^7.1.7" - "@turist/time" "^0.0.2" - async-retry-ng "^2.0.1" - boxen "^4.2.0" - configstore "^5.0.1" - fs-extra "^10.1.0" - gatsby-core-utils "^3.14.0" - git-up "^4.0.5" - is-docker "^2.2.1" - lodash "^4.17.21" - node-fetch "^2.6.7" - gatsby-transformer-json@^3.8.0: version "3.14.0" resolved "https://registry.yarnpkg.com/gatsby-transformer-json/-/gatsby-transformer-json-3.14.0.tgz#b1624a25e20f6bbf70181f5c1284e67abfac7c7a" @@ -7481,19 +7544,19 @@ gatsby-transformer-json@^3.8.0: "@babel/runtime" "^7.15.4" bluebird "^3.7.2" -gatsby-transformer-sharp@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/gatsby-transformer-sharp/-/gatsby-transformer-sharp-4.6.0.tgz#a9c2ee2007df2ffb6a941c736588295bca26c10a" - integrity sha512-hf1GohwPhjKg1tRFI3GfJS3SxVoXI+j7MqwPsWetzRvaFy+3kecmU/azklnTfT7/2LexfDxtso9/lCHgFl5fIQ== +gatsby-transformer-sharp@4.25.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/gatsby-transformer-sharp/-/gatsby-transformer-sharp-4.25.0.tgz#978e15c20111f4616dec599809daa1678de79881" + integrity sha512-7aqecTvOUFiNB96ij77UnAGJs7Un0TlkpamG//dSl6Nru9EylGz/NW/Eg0vioQyHLCYdMvd5xO8V3BOHJADsnw== dependencies: "@babel/runtime" "^7.15.4" bluebird "^3.7.2" common-tags "^1.8.2" - fs-extra "^10.0.0" - potrace "^2.1.8" - probe-image-size "^6.0.0" - semver "^7.3.5" - sharp "^0.29.3" + fs-extra "^10.1.0" + gatsby-plugin-utils "^3.19.0" + probe-image-size "^7.2.3" + semver "^7.3.7" + sharp "^0.30.7" gatsby-worker@^0.5.0: version "0.5.0" @@ -7919,7 +7982,7 @@ globby@^11.0.3, globby@^11.0.4: merge2 "^1.4.1" slash "^3.0.0" -got@^11.8.2, got@^11.8.3: +got@^11.8.2: version "11.8.3" resolved "https://registry.yarnpkg.com/got/-/got-11.8.3.tgz#f496c8fdda5d729a90b4905d2b07dbd148170770" integrity sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg== @@ -7936,6 +7999,23 @@ got@^11.8.2, got@^11.8.3: p-cancelable "^2.0.0" responselike "^2.0.0" +got@^11.8.5: + version "11.8.6" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -7958,6 +8038,13 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +graphql-compose@^9.0.7: + version "9.0.10" + resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-9.0.10.tgz#1e870166deb1785761865fe742dea0601d2c77f2" + integrity sha512-UsVoxfi2+c8WbHl2pEB+teoRRZoY4mbWBoijeLDGpAZBSPChnqtSRjp+T9UcouLCwGr5ooNyOQLoI3OVzU1bPQ== + dependencies: + graphql-type-json "0.3.2" + graphql-compose@~7.25.0: version "7.25.1" resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-7.25.1.tgz#9d89f72781931590d4dfca6a709f381f2f76b873" @@ -9936,54 +10023,23 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lmdb-darwin-arm64@2.3.10: - version "2.3.10" - resolved "https://registry.yarnpkg.com/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.3.10.tgz#4e20f75770eeedc60af3d4630975fd105a89ffe8" - integrity sha512-LVXbH2MYu7/ZuQ8+P9rv+SwNyBKltxo7vHAGJS94HWyfwnCbKEYER9PImBvNBwzvgtaYk6x0RMX3oor6e6KdDQ== - -lmdb-darwin-x64@2.3.10: - version "2.3.10" - resolved "https://registry.yarnpkg.com/lmdb-darwin-x64/-/lmdb-darwin-x64-2.3.10.tgz#e53637a6735488eaa15feb7c0e9da142015b9476" - integrity sha512-gAc/1b/FZOb9yVOT+o0huA+hdW82oxLo5r22dFTLoRUFG1JMzxdTjmnW6ONVOHdqC9a5bt3vBCEY3jmXNqV26A== - -lmdb-linux-arm64@2.3.10: - version "2.3.10" - resolved "https://registry.yarnpkg.com/lmdb-linux-arm64/-/lmdb-linux-arm64-2.3.10.tgz#ac7db8bdfe0e9dbf2be1cc3362d6f2b79e2a9722" - integrity sha512-Ihr8mdICTK3jA4GXHxrXGK2oekn0mY6zuDSXQDNtyRSH19j3D2Y04A7SEI9S0EP/t5sjKSudYgZbiHDxRCsI5A== - -lmdb-linux-arm@2.3.10: - version "2.3.10" - resolved "https://registry.yarnpkg.com/lmdb-linux-arm/-/lmdb-linux-arm-2.3.10.tgz#74235418bbe7bf41e8ea5c9d52365c4ff5ca4b49" - integrity sha512-Rb8+4JjsThuEcJ7GLLwFkCFnoiwv/3hAAbELWITz70buQFF+dCZvCWWgEgmDTxwn5r+wIkdUjmFv4dqqiKQFmQ== - -lmdb-linux-x64@2.3.10: - version "2.3.10" - resolved "https://registry.yarnpkg.com/lmdb-linux-x64/-/lmdb-linux-x64-2.3.10.tgz#d790b95061d03c5c99a57b3ad5126f7723c60a2f" - integrity sha512-E3l3pDiCA9uvnLf+t3qkmBGRO01dp1EHD0x0g0iRnfpAhV7wYbayJGfG93BUt22Tj3fnq4HDo4dQ6ZWaDI1nuw== - -lmdb-win32-x64@2.3.10: - version "2.3.10" - resolved "https://registry.yarnpkg.com/lmdb-win32-x64/-/lmdb-win32-x64-2.3.10.tgz#bff73d12d94084343c569b16069d8d38626eb2d6" - integrity sha512-gspWk34tDANhjn+brdqZstJMptGiwj4qFNVg0Zey9ds+BUlif+Lgf5szrfOVzZ8gVRkk1Lgbz7i78+V7YK7SCA== - -lmdb@^2.2.6: - version "2.3.10" - resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.3.10.tgz#640fc60815846babcbe088d7f8ed0a51da857f6a" - integrity sha512-GtH+nStn9V59CfYeQ5ddx6YTfuFCmu86UJojIjJAweG+/Fm0PDknuk3ovgYDtY/foMeMdZa8/P7oSljW/d5UPw== +lmdb@2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.5.3.tgz#cac845a8576ef0fd2dcc279faab6fdb383f07463" + integrity sha512-iBA0cb13CobBSoGJLfZgnrykLlfJipDAnvtf+YwIqqzBEsTeQYsXrHaSBkaHd5wCWeabwrNvhjZoFMUrlo+eLw== dependencies: msgpackr "^1.5.4" - nan "^2.14.2" node-addon-api "^4.3.0" - node-gyp-build-optional-packages "^4.3.2" + node-gyp-build-optional-packages "5.0.3" ordered-binary "^1.2.4" weak-lru-cache "^1.2.2" optionalDependencies: - lmdb-darwin-arm64 "2.3.10" - lmdb-darwin-x64 "2.3.10" - lmdb-linux-arm "2.3.10" - lmdb-linux-arm64 "2.3.10" - lmdb-linux-x64 "2.3.10" - lmdb-win32-x64 "2.3.10" + "@lmdb/lmdb-darwin-arm64" "2.5.3" + "@lmdb/lmdb-darwin-x64" "2.5.3" + "@lmdb/lmdb-linux-arm" "2.5.3" + "@lmdb/lmdb-linux-arm64" "2.5.3" + "@lmdb/lmdb-linux-x64" "2.5.3" + "@lmdb/lmdb-win32-x64" "2.5.3" load-bmfont@^1.3.1, load-bmfont@^1.4.0: version "1.4.1" @@ -11016,6 +11072,11 @@ mime@^2.4.4, mime@^2.4.6, mime@^2.5.2: resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -11057,7 +11118,7 @@ mini-css-extract-plugin@1.6.2: schema-utils "^3.0.0" webpack-sources "^1.1.0" -mini-svg-data-uri@^1.3.3, mini-svg-data-uri@^1.4.3: +mini-svg-data-uri@^1.3.3: version "1.4.4" resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939" integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg== @@ -11215,11 +11276,6 @@ mute-stream@0.0.8, mute-stream@~0.0.4: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -nan@^2.14.2: - version "2.15.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== - nano-css@^5.3.1: version "5.3.4" resolved "https://registry.yarnpkg.com/nano-css/-/nano-css-5.3.4.tgz#40af6a83a76f84204f346e8ccaa9169cdae9167b" @@ -11341,6 +11397,11 @@ node-addon-api@^4.2.0, node-addon-api@^4.3.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + node-eta@^0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/node-eta/-/node-eta-0.9.0.tgz#9fb0b099bcd2a021940e603c64254dc003d9a7a8" @@ -11359,13 +11420,18 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -node-fetch@^2.5.0, node-fetch@^2.6.1, node-fetch@^2.6.7: +node-fetch@^2.5.0, node-fetch@^2.6.1: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== dependencies: whatwg-url "^5.0.0" +node-gyp-build-optional-packages@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz#92a89d400352c44ad3975010368072b41ad66c17" + integrity sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA== + node-gyp-build-optional-packages@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-4.3.2.tgz#82de9bdf9b1ad042457533afb2f67469dc2264bb" @@ -12440,6 +12506,24 @@ prebuild-install@^7.0.0: tar-fs "^2.0.0" tunnel-agent "^0.6.0" +prebuild-install@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45" + integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== + dependencies: + detect-libc "^2.0.0" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^3.3.0" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^4.0.0" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -12514,10 +12598,10 @@ prism-react-renderer@^1.2.0, prism-react-renderer@^1.2.1: resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.3.1.tgz#88fc9d0df6bed06ca2b9097421349f8c2f24e30d" integrity sha512-xUeDMEz074d0zc5y6rxiMp/dlC7C+5IDDlaEUlcBOFE2wddz7hz5PNupb087mPwTt7T9BrFmewObfCBuf/LKwQ== -prismjs@^1.28.0: - version "1.28.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.28.0.tgz#0d8f561fa0f7cf6ebca901747828b149147044b6" - integrity sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw== +prismjs@^1.29.0: + version "1.29.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" + integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== probe-image-size@^6.0.0: version "6.0.0" @@ -12528,6 +12612,15 @@ probe-image-size@^6.0.0: needle "^2.5.2" stream-parser "~0.3.1" +probe-image-size@^7.2.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/probe-image-size/-/probe-image-size-7.2.3.tgz#d49c64be540ec8edea538f6f585f65a9b3ab4309" + integrity sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w== + dependencies: + lodash.merge "^4.6.2" + needle "^2.5.2" + stream-parser "~0.3.1" + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -13833,6 +13926,13 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: dependencies: lru-cache "^6.0.0" +semver@^7.3.7: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + send@0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" @@ -13931,7 +14031,7 @@ shallowequal@^1.1.0: resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== -sharp@^0.29.0, sharp@^0.29.3: +sharp@^0.29.0: version "0.29.3" resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.29.3.tgz#0da183d626094c974516a48fab9b3e4ba92eb5c2" integrity sha512-fKWUuOw77E4nhpyzCCJR1ayrttHoFHBT2U/kR/qEMRhvPEcluG4BKj324+SCO1e84+knXHwhJ1HHJGnUt4ElGA== @@ -13945,6 +14045,20 @@ sharp@^0.29.0, sharp@^0.29.3: tar-fs "^2.1.1" tunnel-agent "^0.6.0" +sharp@^0.30.7: + version "0.30.7" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.30.7.tgz#7862bda98804fdd1f0d5659c85e3324b90d94c7c" + integrity sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig== + dependencies: + color "^4.2.3" + detect-libc "^2.0.1" + node-addon-api "^5.0.0" + prebuild-install "^7.1.1" + semver "^7.3.7" + simple-get "^4.0.1" + tar-fs "^2.1.1" + tunnel-agent "^0.6.0" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -13998,7 +14112,7 @@ simple-concat@^1.0.0: resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== -simple-get@^4.0.0: +simple-get@^4.0.0, simple-get@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== @@ -16388,7 +16502,7 @@ xss@^1.0.6: commander "^2.20.3" cssfilter "0.0.10" -xstate@^4.11.0, xstate@^4.14.0, xstate@^4.17.1, xstate@^4.9.1: +xstate@4.32.1, xstate@^4.11.0, xstate@^4.14.0, xstate@^4.17.1, xstate@^4.9.1: version "4.32.1" resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.32.1.tgz#1a09c808a66072938861a3b4acc5b38460244b70" integrity sha512-QYUd+3GkXZ8i6qdixnOn28bL3EvA++LONYL/EMWwKlFSh/hiLndJ8YTnz77FDs+JUXcwU7NZJg7qoezoRHc4GQ== From f205b6fecd201e9ae8ee2f133a34df9bac5438c0 Mon Sep 17 00:00:00 2001 From: Liz Baker Date: Tue, 28 Mar 2023 09:28:20 -0700 Subject: [PATCH 13/55] fix: Update test snapshots --- .../__snapshots__/Header.spec.js.snap | 22 ++-- .../ProjectSearchInput.spec.js.snap | 5 +- .../__snapshots__/collection.spec.js.snap | 26 +++-- .../external-projects.spec.js.snap | 26 +++-- .../__snapshots__/index.spec.js.snap | 31 ++--- .../__snapshots__/oss-category.spec.js.snap | 26 +++-- .../external-project-page.spec.js.snap | 108 ++++++++++-------- 7 files changed, 142 insertions(+), 102 deletions(-) diff --git a/src/components/__tests__/__snapshots__/Header.spec.js.snap b/src/components/__tests__/__snapshots__/Header.spec.js.snap index 4da5ac2b7b..ea854e96cb 100644 --- a/src/components/__tests__/__snapshots__/Header.spec.js.snap +++ b/src/components/__tests__/__snapshots__/Header.spec.js.snap @@ -134,8 +134,9 @@ Array [ line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -476,8 +477,9 @@ Array [ line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -580,8 +582,9 @@ Array [ line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -623,8 +626,9 @@ Array [ line-height: 1; cursor: pointer; border: 1px solid transparent; - -webkit-transition: all 0.15s ease-out; - transition: all 0.15s ease-out; + transition-duration: 0.15s; + transition-property: color,background; + transition-timing-function: ease-out; white-space: nowrap; -webkit-text-decoration: none; text-decoration: none; @@ -1018,7 +1022,7 @@ Array [ > - DCMA Policy + DMCA Policy