From 1caa294a1d58b803972d7a9fe25660f1f008759f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guillaume=20Perr=C3=A9al?= <guillaume.perreal@irstea.fr>
Date: Tue, 16 Feb 2021 16:03:27 +0100
Subject: [PATCH] Mise en place d'eslint et prettier pour typescript.

---
 .eslintrc.js      |  15 +++++++++++++++
 .gitignore        |   1 +
 .prettierrc.js    |   7 +++++++
 package-lock.json | Bin 77923 -> 0 bytes
 package.json      |  17 +++++++++--------
 tslint.json       |  15 ---------------
 6 files changed, 32 insertions(+), 23 deletions(-)
 create mode 100644 .eslintrc.js
 create mode 100644 .prettierrc.js
 delete mode 100644 package-lock.json
 delete mode 100644 tslint.json

diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..e80a21f
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,15 @@
+module.exports = {
+  parser: "@typescript-eslint/parser",
+  parserOptions: {
+    ecmaVersion: 2020,
+    sourceType: "module",
+  },
+  extends: [
+    "plugin:@typescript-eslint/recommended",
+    "prettier/@typescript-eslint",
+    // Doit rester en dernier :
+    "plugin:prettier/recommended"
+  ],
+  rules: {
+  }
+};
diff --git a/.gitignore b/.gitignore
index 89abeef..1b6c338 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
 .php_cs.*cache
 .idea
 composer.lock
+package-lock.json
diff --git a/.prettierrc.js b/.prettierrc.js
new file mode 100644
index 0000000..2c66e64
--- /dev/null
+++ b/.prettierrc.js
@@ -0,0 +1,7 @@
+module.exports = {
+  semi: true,
+  trailingComma: "all",
+  singleQuote: true,
+  printWidth: 120,
+  tabWidth: 4
+};
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index ee4bffe1a55452f7d45f736724a4cd590bb70b0a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 77923
zcmeEv*{<qJvfz7vMQOj%Y%q8%=}N_5W-w+jn1>^I!WfTuV7j{Z+dDIj!Dg9-7j>#{
zb?Y4MqXo8!bVSCSk&*xTzy9{OUyfvJzyAKWUxpuqnpAf5vhAvx_3MAbn@7zL4A+78
zvES9-)%dFAD(2R(G~s?1Lr?qKAu@a|0FQ@$q@io7=4p<qIf{X<|0jS7;Qm8$^vII@
zisITff*;?=4oUs4{l*A1Ci)cs?OI1og|D*<LofJyrQ&P45rqEbx8vFS;J54Rl_%hp
z@@<rI4DWZSUmq|HC)9M`2rm$5u#*U^R<6m!K&<svLa(*0x3TVKZ>t)$R~zg3Vr`0{
zy&r`QCgjaM$1Qxis`b3dJlgXI=PEOlYBIut;r848VZp1^u<o5VS9*W?kN<d#s%pm+
zk#5M{iI>m<P$LX1Lx!*R2lkr*^hf0T+u!~R{rxXU;Vd<MIG4%q)6@6Q)6&-vC4H?h
z9oIo5+SNU~tk~S))aJ}u6fSm0dcc_M+-zw6Hfr@+7R&g}+9K>Nxo&H#nH|a+tPcDA
z#f!+wfVt@IwBu4cwZT>idehbag>;l9S+fAQs9JgJ$8wQROXBwjZ21fwkuw<z5ETF|
zz?+ncTN~H4g^NpIf~KGQwd#2@jpn^5ILN%DSFWMoY*8moU%5QyjAraqm=EVGTE6TS
z)^#zwOjz95N{a?*wLEID_d1{P=09SDc80#Q!2cm)Qwphxd^Y|1{446lisnZ`{{$Qm
z_x@stw$=BvrBngeB1UhX-EmcIIQvSo)oHJoQD<4b9v8lOs7Csj@|+&4>k-Fl+!YJl
z+D6~8>h)-dSDt0tRUc;?x)(HCyWs^}%=nM^RoO|Fi3nP|>s?3=AnjTZg@y%{?5{uI
z&Dve9fSdcE9J;3F#JBOcli^2BXxLg=aeZwc)LtqNpg!)y{3@!4<0*L>0!+-)6)-(e
zJH1uQ-L2sClpWVR_Q%0V<FUGh?^VWH;IeOOM@Kq30;lZ>y>_9d-eM+}X1J&DR%^c+
zZ``FN5&n48xk~fO$f^YdqcpL_;lt?x<SOrzIUrNo0L%d}Nt&biQt0~S8>(oss=u*1
zAY;C4*uHH!3NUAqsv3S-b9R!WAXAqoBQ<Cle?B2E27y!ZG;SG<@P1C@Y0o1E1})=Q
za9wbUG$reT<;XHeOfIB)YBUz1NDdbJ9WkkKBVQ(Xv$EI`%FLYcJ9E_vOY9&J{YkSr
zHb$kc=a5?cGZn8$mQ@C<Y)cmzc{IRe0+QdU1ZGCJTp7qm8P3qzyG=^{rCD{LBV@>x
zZSXq?C8*!><^ubT{jT3fDJ&dMz`-2chAAU}?@1r*8g~04@h!Z^)EdA>_9da+Yn=&s
z9`;>DKguWma-Pn7c`4Sa0>+99dEQobD>*t@<8EERD8=(Py9QaJ=)tyGs<#)@7nUIF
zZg@M*aqak@;Yd~`3=WazLl-KKK(Q8zeHA1g#k{yzqX0_X#w#Pp1t?V$wXia7?U})j
zbY^6CYpMQnx*)}pG{*M*hH4BIZpdD3ZP*wsstbjhclxF{tq+ga{Z%%HLt;fWjX_;m
zU202C!ut#P1*KAG=J|8lol?-FgY22B4kRZqVlI6_Qy~5+)-K9)53qoUk1s&jA<uoQ
zfU)w48k3=h*V>}26UP2DbA5-pY*)gB&h>0FJc9-c!i$xP0st?h;tQY}KgB49o1heb
zD<gQ{;{<(uVNu=mNpmw(7du+K3{Lg=SQhO{RGJ*NLF3GNE3P`-GQokaXbiqOpE++j
zJTsjc*0C<FkQ3SyjxW(pXdOCdW2TgR;?Vfa=DQZK7>ervs>IIJH$K1Q>z?EXuiSma
zTR-=r5~z@tw*i1U0&H5qdvb}Hdm+O~7oU$R9nNeuCgkk8Hzad2uMxA6*zuKd7!D4y
zs?yDs?=(u=?v<d72{Dzcq<3s~j~1cx)h14>11qrBM|bg=DF{3t#C6-7h5m1d!3(=9
z`F>e7w%ZqC_L=HRfFdf!@QbJ_tc;l=uTIGd)$2L9(8tuBd$Fy0?>ui55HWzt){??d
zgYkNvB8Ec#2~XVN-VnNtf(%sw#u(LiLxGr8Ji?{18O2p={jPKJ+P3MDEJN4UyAYV9
zxmM@!0~e0R<Iq(Nr7>?{EeELElGIu&6VJ9vHm**CV=$=irSJt~WR(t}NaV!%i#&SN
zKc)wQdZPyV4Ac$evNtLeCxU^0aI{iaa%o*Qj3Ki(H&MhXe4+W3F5lu4^Lfew6*9Dd
zTNAi3M#(oM`EUGktZeUR&9=#KQ>o98dsQZ6;zXM&PPNTkoKmlsXCUuya{x^Iy^T!X
z8$Ovgy^tI~cg!9ykfz1~5u^TYg8iD`SIL2LuBcp7G?u`qh;=3~E3%kNjAwR@Ne`T<
z7bpRQJ_y7fC`B-blm1#p5Z|G77|iSI<&k9q%yEumbM93{rt2G6OD}|$v3=zm!Z~`l
z=!N|l-v=OLRKSPWM7=}85SRU$(YI;5y){|Iovn6*lhBanr)mKtg22$7a&WO_7scMM
z814i8ngI=w%3MImz11wM)uzI4eRXkZkB_a0kZ^3et?z?IO(}p}=)xRh9!k(N{CVUL
zLSGpo0{$T1@{JOKe%Q(;Bh!_*?!c%}b+4jWweE4WU-XH=7&9vzh8sbfs*B?hJrDg}
zg{oMyj&AF;({F9`c3s|Vj{8%qdk)83yM9_t8WF7&F%q(5p-3CVjiIu8K?caCKcCqw
zXh4wcg<>;n$cvdR1wLguTE`^yA?|Q913QOBW>%J7dWb;oKABnw5n&Q&KzBe8-^(4G
zTVg>@@$*#oysFsl9OtVOyTK<eTbIT--{jZrt1ZaB)G|AJ`q~?pY+0h`mqU|i%bV3@
zM%iM|B}J;K@@{?XHgLPT(D)Z~`^LN|lCsmvH?kz=CHV~qNE8c5U-^+>gX-~->V*%u
zw&yyU6P7jG0KS$FI0nK=2QT0;RofblR`z_?1I|2JTtM;OgNeXHM&QbOO^JPdkcLQU
zLU7kM&W2M~H7!n5z#%ff_M`x$Jd}8bfBgY|4St_QlL<=TMRL|(P#*E?D<%p6-A;vO
zS?))73#I^{#sG}-bR|ay5d7z58LX^&B<Ww7p-B1*pCBh=_97o0yAp6I(|SYfd2!|T
z$~pc<JXiq894Nlwft1~CKB2tdhzXyG7hKS%gtTY^%aWpKK>*^m41_<Ql17j>6d-8+
zjiPjg;%O5*r?)T_A((Ct=XzskUBa+Gm8n5#eKC8-!L-(7<V|~T?M8i<J>YA1NaBJ{
z$?nDyR^pHxEky=b#VN~Dqg{1lZic|2eb^mD<gZI!=yGb!FikW-T+?vWvI`@#Uw@ED
z{}!1KRSKp53v=-_Ogs-y7k@GbdwI6LU>!SbxUD^J3U*%*Pf>Jecb2lmY3;qOsaVK$
zr+zTrg@Xp}x0%q?8`TbW7}WJyXSP;)qF}0;G$pD$;j@+f=znYu(!!LU)pWiGDwT(4
zapQ$T0Sn;xhp^o!e;*MMJ!_K?>}Q1n8Na3(0kJypU4im6*KJ=$_Jo}-eJ@~2^Yxlg
z7;jWRv&|B&F+HanwI#}KQfBYmJK-()FlS6`QQL97x^0YThhBw-C}aZD&lo>nqEmY5
zp@Cx506o5NeQev(1_M3&EL8Wj2)vt8a)}*5f0K1)V51eS3^M01oA+|n9%dP^pZoMr
zz`?veT>&!-0l#-Qj8-)5wL7}sTT{K-k?mKAvv;jh*Lkm5tuDMsKkRHV6znla5*Tf_
zqS@Hx#Ezx1O{=P7G!<>#t19*M)ld;TGKn3!#%C$LtizW(g}|e56e$GmC$jUv?xf84
zSMtL(r$nUE;#B)6GDIW}5?TkqS%+!UZ?hOsaHNSUJ9}nIPxtD2iC<)CH5%6Xo%&v>
zur5dtx2T46U6G+%U(AB-`Wz@NX1V5?gwZxw-Zw9OdF9pSBVLv865o(0N2!07PzS+m
zD(eNg9w?UkY78(V>1Y>CKsJU3PiSY5GE>W-_`|Z?6M6=&t3Fs5JOj#Itg;WPR^pYV
zY+exD|K64JffEL%ShF-6c#bzVNPFJ^Lf}ZA>PvcDZ3EmnI{OBX`(?Ovl>eH6XBlA`
z)WaB#j-G&CWm?PrN>;z_cYowFej!!Dib%PnT*hYt0t5@XjM*UoYi2J17KNT}nnlsr
z&-xuJFC~T%m;UCk6?t+O9V5a}rSo}Z@Tv6*^xGf1CO|{SZzaiAJQMJpUO9~Ux->GZ
z5cv0?*eZIxD1ubpotul2P|m`J;+?$`tI`Y+e|;t3;6(T2j(0h=fcGcOn9}mR#mNC~
z%u@se0Y>6&XOvYY&`P)@t+1f|e~4I7)E-~~R*x^p>Swv)3qnwFHHM11a60o<W1$k2
zZfiO_`?c2Y)F049OS|~&Wk2g#!!u8iD!v|!yBE6}HH@KCJ<B7m%USi(W#(}U1E+CS
zXt4^>SYFd^R*D>nl?JHg1Rg-`TNa4@fE_I#jlf8>LORa?gr;D)scT{RC|M|P7*~am
zcdh|Yc2bbK4Jn^dk>4w?;0x@`kAXsoqu8=1g)n~tLs7V<p5PD0k5lB27yR-Dk&_)I
zejrzHo|pOmOx{Wr5FqwSeJ{dcSa}fk`=smaHSEF=`ha%@y4`C^CT0hZa45wiPa<P$
zNj#s26`nC|#U<tj6=8Jy43?uHiPKv2i@bp4sHL!9m3sSWhqvd71lBg!niQ0x$)rHW
zG^t?9!=&~bPg$kHn82DShz0x$>;QoAJqA$X$DvW$GL|=(D5nk{t^~Tm`HMx^!SoHd
zLw63=rJ=f!4^k<eRfk`7YNd(Z>dkk1vn7}Mo#yDk$kFD+VrRwVm$;|Rqt7Hhy9WO2
zkL-#!5EBr@NS<~x-{~S1I9Hi0R1kTd>xThYEe31GNazS8bonBaNowUy2$a}|#wa`?
z54dnz9^cTa0{MP&4%}`kRXTerAQvLtqqU$L5&Xm(kNNYJVs@p-zxoq#LfTG=X*y@C
z-Q5!W2C!kP9h~R;=^>cU2y)GBxPk3yk?)Mg+GmMD=tm}Ng>Y&B$<rF_DQ$IAbG7WO
ze9@yB5U_;EP;QRH4FIt3NtWprWC1q#Gg5ZI>&v_w09(-idcqV;?9&x6xd3)%a$k60
zCoIrPvwbifm{Z$2cC=D+=yPX9pZyC`c0cyO6w8PVFb{e1@S&=O5RoK+zeQ9mR8V-Q
zTbj+gOnXE{>}j^#tT#@5KCk0#qdnbTr&WP7*i*P%S!}5>tFe8(w3}a!eqUcMw>wpz
zRhFQXdR60lx;8ECR{lDm_Ma)JIBqDP4E1KnQC(144B!)987eZwz+b|klP{%iLs$Lo
z6c^!dq#;ppUTR*RLkk$vqy?)uYd^q)NqT$%Yxe+R5r(Gt@%nV>cNcZ5D>sHKiK*3^
zQcwpazz_5O6jIzYGRUr^9HI;z69#-n^qIQF5q*FMh(5mL6rsG3+ykre{V0%5HN#aF
zhAd(O<IJz4iJNl$pAdbZhh8+t=S4qw&>gW*JezkSy-z}+>U_@y;Y#`2lFSE-6xDng
z$WV+ym|adrLLpO@Npd`<Hm{5pJWsAl?$teZ&9*_w(~UR2)(b4d=0pSuYdi-|pCFeF
zHxPc=OUT82i{hMa)ThnO=yWmV#X=hE-t~NFc$@k#zeXux3or{gEb$AZy}pZoZlT3<
zgp}{*Jk`(T6OZ|zCIop|No8J4xksfQARB<0Q6FD811frc+gOHb>DW;lVTV^*bgOj{
zLu@Oq&hrC^F>A`aO<vngdQw-sfNeI8v$MxsxvoxjEAw7&AT|~>U6HPpe$?(ZM!`go
zKimxy<CE<Cf=Pz@-3>vcO)|cj2lMIqN%8Xo?46kKWsr=$p(IxJn5JMbhQc2;p}y>2
z_I18LR=mZrwR|YymoXODZzh5LXwYZQ!v~bT17G-V@`|gD8(4(T?K22bAh7qG(e(t=
z9@EE8?Z_|9eQk8y*zGzoIBNrL)H)3qWobtG#jH8ePCnL4_TcD^L@_K?OUwEA%$D4J
zNxM|60qg8GCyF>%xN&9y?i*@+S<KF(N_Khs2Smw2kBO7L2Id@k8E+y{wr+}8sI~OU
zcB|PTy|Sk}o|BdXE#*nR#xj*)&qEJd{|{18_q;vAD;Wd0$IumhgHUZ~`B=TO+HX~Y
zbH;6HAL-b#sm|&}5(TbzNiBiBU}g9gpJ0`NjZn*6fmI*x@!QmxD4@BGMUSFxz<Gly
zwj1>3QvolMI=Jty$(ya(ZxYlae;}f0%ML;aeFEYM0ewGHP;vL`Oi1A+JS<(Mh{V|m
zwq=Q9ZB@q_YN%9Z?C!dnl=RhXw${m250rlg8=I`PdmfLK#GQs$acV&j`{VUWjhBZ`
zMQt{%7wbt`?d!Xs7$xwe)2oVJ0?fn*q<FxE<am55BY59a1S^xHDp!eC(`!Y>OUoti
z4uxe@arXlIQN^d_M`e`BMgAakdLLX1Jjr0E$za_DSYM=8(L-NqVNN>()o#U=I844V
zQ#Cn)t0J$Miuo~5A&7v4=r7_Y=6m8nb^?oItmUf%Y2Zxd#<Ya7ZYUlPn?SB>ibb3Z
zvbhES4;D*h;+{NGIR>6y-LJ3CY%v6d02P*MsCuU<XpN~bo+!g^&>O#Cr+3a5+QF6$
z(=r^WY6`H+mT`SmkeZ!|qL$$S77;HQ1KEN%0*RFwYclD~<}FF?x0jJt!fl4{5$=Zd
z@*U7;grHX+`37XD*c82B37F>ixoiQ{z6=l}`Q<W7q`XC!yqb&gbtbCV1z$|MASc!|
z*lvWY%L4AsQ|jggrjP+1i-g4|F;n7(kjz{G0s(3GttEs4u|ExKO95A$sV6I4swB)B
zv*BVhU9Q~IY2BdZYmb;r$w;lbTH|~Xr%`vaY_zD|IMThAdc~XCd}Gzx7GsiRt2e0N
z<VO4~1Cl8%xv82oZGb-dlH~hQ2JdBUN1~LTlK?RF``|)!w_qYKe<(0b`8R;@70QCZ
z8T+eZ3{C|2uc)j*zRH&9#PjfU@h5ZeSH;-R$bYX8yHWoB9T7dNrqI+rFNj0N|EppQ
z7z$)i5&OTb7<;p|?&0Va6(k4{S{m>NWi#IdT5!&ST4}8wcheTvsbZrU-)zylEq>g|
zpvbb;>dpyi<D5qWYe95E6+G7N9O&wyRJsmfkS4gk&{ju8lk09O!gk~fp*ZQ3UYM7x
zuL1V)!yV_}Slx$aFHV3MC?Z1q5!u-{egq^$ojMqPr+uZB2C+44kJ)N2Uf<56nOoC)
zC#mm{>Uu;sH6K&Er==UT{q9C<wbloMS~>j#i%Wbds%!k_8kpFHyYAGJ^zmw2yeB9w
zQ+)6NkZD*(P!2C%Tv(II4`<unyjU(xEa`L3^s#_il-79z0J`U0MoJ{RDE1`@h?Tpw
zUPCat{9#h5`TOW{J@p%x-FUPM3+(^XKr0}S^!BVs2X#Z9uZ5xUO&$w0V)=1AlRpGP
zId5#hc(C2eTL-T-4|#E*H%2bsJk>iv^V$QeT0(o~3@RJLURvJBuGPpTeb5i$U_0f+
zN^3eKPnTKW8J~Aly*D4~1o(PV=Xg^P#ooy^KZ|&_QV=E^e&b@n4DanVc-vKE*y0NL
zf3?^FyXm}V1_b+zZRv%4XCv9-JcnQ+nxjue)tuIiI-L`>^i-*&<6epH9i3Hmc3G?|
zb3q$4+vAGf3dfBZS5-#QqSjN`p|hACcYA@9y4t~SH7kKUalPs=xPq=tfwWrUFNmB`
zbB~q=uO#n5;^I_54J8m2&?h8c1(f~VHZB|D+F$h;VO*NemNRWMCwN+-z|OFl3W~Xf
zjb}5oKNwSUxzu3VLd#LtTT|;S)w+BEnPI)e%58J&Xvb~qba7VF<OLPp1lNF-d<m9B
z#)>Rn&3nN|sVDP@h@;w$)OdyJ<R349=$MQF7z!%Yw^CbY9A~)QuCDZXf;E?wnnE!S
z<20FG`|4I5u$}U7CeN3{(z&<|hre7_pfFC|u$s|Qc675D5f~BTCy&|Ky08^?4#PIR
z7e&5L43+G^%A*AgDu14!zco!lgh0@d(JYXgH-$hstWBJ2c_cmGR8>=Fhk`*?Xk%Zm
zR)@{iVsNO}rWIAxR*U&*h-0hE;w)JcOq<yaV#6$#mC>4MQ=Qe^7MOWMJd-bsW|j(P
zkb8NdTB=a*{#?65h>!yCFGxPT)!kUxVvj+!dS!dj_#l!FNjtvaS(T3UVm&j(qIrvb
zsZ=9Ut^}CNhjIY6AJ#DfvC$+O-H(lb0u<Z_aa8Iy%tJrO0B(aGfUx7zqY@D^OXdl$
z3{n)J&iloVJh;hMvOtZ_tse8s3xLr<0fctjmh_!%fV(8rGAyt+weWS-KK2{`U?MZH
z(UfMc0Okg8zZY?=9M%;KKd-s*RH{*xHqM=Rp=%6S%joAWq$TqJlz86cCh1jJe_Bt8
zD43V8X((7EnypYOREF=lfpIQ_0zg1ku=lczYR*tgnRo+aX0A~o2`H9-QCj;bs7Ji^
zrQrUbtCatWa-z&oaG5HVe<lQ=SHTR=(-?pcp01z_W7aFp4Q)YlpMRH9t%S({6|#l@
zDOLDPK`7;EHBy{{*&&c1rT2m$Ba!twUeNE~d$U0n%@ifmF%r~uKhFYZL4Tzng8EJq
z4GxOrpA?GQ2D`yoab~-*GC1+Ay_~A6N-gguO!7h#Wg93U>5esZ@;ksFz>>tTe&50Y
zANgr6Hv{68fX9FzV;5)7%u52=X1?dR#JS7~Lx0J4*5mU6+wI(;3$`teHmYq+E(5jQ
z-d<|Q>UO>FShj28C4-Kv3c0dmLDv|0H>PmTn@suXxVv1q?eJO}t|e^hXoEACc8k%-
zkF6k2$mW=f_*DZC&PpJfP3?n+!i@hU#{}l!O_t>o3yWaJ?2NhwqSyMKk0GHawoLMC
zlN|+7)34#J!Q3<~mt6LGx~!Q)VrgvjEepQ4>#SU(#1`qcOY%-xl)?e2ShQ*fy2_uO
zm8JL>+6<cg=IE8voDlhy6x{pc+_r_lT9k)?11@~B7WsmLwtHqA8ED|sZVP~v)dC36
zvr_&AI_m0h`&(+U7n;7b;s%(2#*F{|Ci_{N6qo2Hk^=^Nx`L!S8=d7!^}lCBgfD#X
zN+&*ZM{x>fhxlr65af)YzM$W~jmb{r7|;MH_`e!T{MAsx^<!iI*YaR26OVQeDc==|
zbt;a6N;z%bimMbLb&nBll>cja@TrYTyi$`6u+aqkQw=53+4#g#q(hR=s*CPW!BpNq
z1G@?>!`rOqc@Vh^qBLTdwY8zclcq|uE!jBN7CJASkNSoa-RbbKiMIB@kgMUS2F{O|
zHo1+AdBQ~R@2o@HYE(6lWv`!_M_#e7XS_((6TK-&tVq`DWKlYqRWwPEf}7AI9t8!r
z1t=1cv!+Tbb7M3*H;h&lKMBD|AiK>@n_DZ3mcBC8`iXTrYu!+%bGI>ICx;eeQv<nn
z)K2r`zS-Zd1=3K4+OFPR47Yu0osJz+fn6p8ir)NN*B(@G{y2Gdhni61=HA0<(6`)C
zZ63$cM!`&`QyOcl)mWpw5h+?>=eiLU(8zpAwei8F-5{q8<tnX@=L64It|hzOp(^<J
zRK?obQYjhr)?z5_9kVepg;(5>xCJlV`+vM>=6-X&pB(FdJhdCY`T9U8?gRw-5|IM5
z6;7H|eAxyGH05nVe*N*hJ?WPX)=sqA4Km09rXkw~$o(cA_Tv4OpoTYhH6+t&BTp-2
z2QDlJ_YNL#;_qK__C)0@++xdlv$q^hZ7%3~`#ReIEtsb5;h3A|@9TLpcUd3yHe=Zw
z7IX!j$d+#n=DsANZ!JY&KKj<`1B2zvX__Yq%v9eJ7`Q#iet*l?J5Im6X)+<t*7q-m
z{>IFY9c<afVzBO@mLu5XCm~_l(!~>VpOAtH;2TWD&<Hw8{J+uZSb3&)>jW?NI!t}3
zJE}CSYxCCrG#1E@xEZXKOCi`Pm$ZL?tngs6tV##lri@p`>{$n{uv{aMkOb%hil4L9
zTsiWr^U`D}9GZM|8lEq57dIN?@iYwAZh;!&FNuu23C*T93L}%rkwBy}7f?Pwn~%;x
zj`!MR)u9*U;ONj-ZFBa|Qp>MY+Ov=9^WhG?M}0oT>s|u(#NokjuySYJ_#lrc*}O?%
zqCDV2iafsM<VteL(c$OeU_KW1L$6V*y3URcn*7XOl4fcz>nk4wE=a<TBVerwo_O{`
zdLdp9b5|6vC)fbDrz;4*0&CRuko1LxtGS!4IPa>o=#DzGT6<s`yx%vLeplHaJL{U=
zKGkK1G;3UV>P@PPNoyoGxzdR~ERKe~Yn#W?XdWo?K*WwLS;S|}EZ62uc-CzFgfQ_k
z?~Nw$mz;gtIn%xOc!tIH$^;X5fxDDOVbD43RIa`&P-6uVO4`)q;R99M&t1+t)Ehcz
z1mu3daXGPay}2It!2IoKuXbE$L2GZxuFfAuMLKVP<2zHp5%_>(K{X@90Uo1+AiVdO
zkIFVO`e#=k33%J;HhcXgcj{OBvOl1EtEqyImsAfNp4HVRJGZhNwBg<t!m9^8ZPn+i
z!)||B9e8Jh*!0et&2LAh**LwZzD$|VoE3*(Da~<nQq%Di%rrRL$3bRLrXLFj=<ZGf
z2L;AkX3~C^Z8)F`EN&hRUE8PMfo+0u1rVV4Q!xUpbc88C8PxMcVe-^V>zQ@W^Y}CC
zuosp$IG?fGpUiIjt=Opsj_ucmo7#k9h78Y+`(wX4n{LhSS;9Z5BS^;>S$x1GpyE()
zKvuGM`PNi92_)_u@Y<t&fKLec?8-h53WhD{kKJGcBHljb5D<;_Tw9KnHF6aVS{=MO
zJfD<av@#9BnRl;kl64<MM8ExHl?}M@_qZ(+13-we6;FT4+I7TsNigxsfrX1pkK|BM
zf@MJ`%y%CP_&ZRXz75N<^1cHOcboLPaz`1TsERpXbufRt5E_R9duibt$gfT(puyme
z0Qo0K$?$Z77<L&!`5p<lba+`@$M*1|k34#|^tza6M>SzRoe%iUe$v=X+xX?Ai>%b8
zG(2n$v?br<XwF;vTWr>vC~QE0)R8+7r;V}E?@g<Ut$|Y@Q*D@2KF(cE@=JN{Ju`33
zD4{OQgqHA#I*1+Aqp`c6Km@{a&#)jZ3vWMY2yQ38`vY2#%pFjC1$O?TUx5OmO#h-^
zUQ#a(8REfc0A2w4PQ`uaV)ru91)0DDcEAJ2*1X#OnFU&Oq7$HCs*{h!e3Vd~E$glB
z#y18ldpiN=k-0sZvV`bZV0U!7nO~y9(xGHbg=9W{f(!CXZpg$w3WD`L>w>EG(Xd&w
zb|9WS&+5m)*gR2lTR+;t`lE32?k(Nf=izaI>As_n3~_;``Y%G!44i)f9bs49#~8&z
z6-#c_rlr$vW_KmIBvc4YbTQEWyYeDbNlkK|!vl=acPXTF>ONbYe24qmj6Qyx&<+`=
z)Ot)dO^5ClG^01zfPlA8IY~MM@2eT@_rZx$j50UfKv(KJuWK&5GD%$OLW&pBZ$B}k
zas=8>Bqs!5KtbJf4Fvekir$r5La(&ULUs2+PlFgHpi}$-C?5#sdwGSXW~v7aftk|S
zCc5h>HRg_IcGjPOlQ#oN*e_QdyR_U)=LhC2`Uc-HgUe2@DuFYv4%hR^tW8Ypi7I((
z*4v-EI8$m2ca^9}QFF?}&Laa<HxFSis=5-OkPbHw9*NuA;A$>o`?0#^NBn7U9I!*S
zw<7h`3X``VB}!g9`mimUhf0ng1!fuZWH|TOB9AW6hW<QSOMoJ}#PCtj`6i=)mBs5R
z&`VQ^KP+3!98|Fz^9IvuwL~@Fp?^XJ=zy?n!mhx1xO`@w40I?WfQpd0jZjRfvh0DI
zA3!5tW<Tky4_s+f@<(g8Qs_)B!w*7DLfg^e143XIsIBqJkATQg_t>y71HTvq;`-ti
zLY;aq>8s-&yGH(Dg9Qu43)^bf)bVI4k64qQ`_8ypm03Ysjwk^epBy402(mQOMX{mP
zXr?VzmOaU-PZpQikuEKmS%Vm#hD0Gre^<$pR)4^|{6y|^hk!)Oy#ay=xJ2?Mm^f%`
z5Rl|#S5q7+qH!MRR%0D1_9Va4(A`w#d(sax8D|C_snh!p{}~$#TgaweXy6}xY-16u
z40&GI*s<pByz88dz^RS&WoFj~T;$D&;k28|u>H^2*r0qj(fPXPLq3b4#;g^81_Jn&
zn@~ZhqBce+Z*4AYVskvoCgq;E<@_ido5Qv~oDvo7v|Y1T$L2fR0N;SKz8p>)HW&Mu
zus5YT-*G48dQf6I_2vAq?Hv}<l6Vo-W%clvmIE&oG8BtPqN^zX02zC#PKv4XbP);N
z+np#ajI!r#gB$h5mL6#fS`>~{n?8Xc_>uf59=`r1bbtR_=to+jVvsE6>Ze%3Q&JP}
ziT#;lo35VvhQ~f|?9z~L?DeS2Dxl7x07}QU=vU{>di%sN*I?`(tNO6T&O73v<*@kf
zP{FVDg}SsNlf4ij)2fQI1JxV(!Gx$y8esF^Py)wywAxjt)U1L+dZAnIy|91@!GRFH
zh{y7)JLAnu4*~%-{#CwEIGhz$@LZbL;dZ)5w0nP<f5yOM8;so;snG7z+lzr|yM4-O
zE*7(&11hLMVjcO%;1Cw1HM=b9J3SI~L|jJe_O8TPvNBvzl@q6I)mcy4P{Jxaw65W{
z=Npw$NgUc!0^`(`)}2O&7AH%j2^P8*8lhHeg1u<c)y&!UXyiu-c#q?fC@z};1(OjM
zLfkfs<k=QDGmjkE57g)ba?Ik7??`#RUG5cqmd9P&RF++C8cYu28taYr4YktGk7Ay!
z#3MJHhZf8he~K2&^xbiSUr>3%TZ9h%Q)>x!&(bYwvF%B_NIR?*TECXY`TG)|5!yzU
zg?d;6Up?vI`$8{ebC*Auw7fB5RP*kju<K1+j+I?%JY2K%#uUdZ?QkHt5=G)no!Tr5
zEK~y)y(L!jW-*(K`2n7fDMa&!;ADKnoE2CLG^>@^^?0yrxl4Vj(*2gV8jmUmI={H$
zuBcvW%?FFddrw|P(W!h_9u+>z@&d}nS+sb5<IlzNyrAo)(U4~NXu9l(ip~#eKE0id
z*6b#~ciS6Eq;);S<*#4@#XC8s_D}L_o;IiD@f6e`A9>Gd*fD3NuON-_#&3p(az{)(
zeQmCcP^p8S3u93_Er9wM^g5e?;4}|Whb5?U$J;k)Z_qJ1q`oQ1%hKx7uUrmmqcbCH
zbrk60M4D=JB!Qi3M~3^<yGiZhgY5ZQO5=Kt7dkn+tN#bO>RvJeB=%M@f?&PVS8O=n
z*O!Egk2HnEYxJ(EkYuAayO^nXHWht5+nW=p>~l}As<vTD=n<m-0G%7ym^W@;P}=8B
zbsJ<0Z9T-6edkb<r}qA`CbhcI>tDwsS61)=gBy5b<&=8fq0TLdq3O?B49PW=S$#Si
zRJ?9P+Vo=PG<#D<HP^flEGjKd=ohKkHUhME_;PB~Yj?$IfnXv+#4D31hxl$<BVwY?
zJ9-f9q;b=o3<OdbPIYCzIJ3Dy<<qo+E*USd_|$0t5D^aGZ!w2}oF1?0<SfV)W2x=h
zO3+b4@k$4!UA`fG!r(5Bd3q}r(3HU`<kTn4FA*NM-uwvCyUAFXW6ktg$+~v-(xFFO
zCcW`-TJyC@0pI4iD^ngmpidK+mmjBIGoS%hneXKo==ZomaU=R0Di9g9*%0SKN!;^Q
z?kE#@br?|%j@b}yt)){mbKYYlW$@9argTf!>bAaALUN^vBY8<myfLnMt$+$PC0upG
zi&`Yfvk%IlYiiCb<@1@}cZUiIl8lhE2KUAHgS42bgXPvz*t)X34vq1F*MnA6B|FoI
zS*ra3SCutUp6+@R+$1GWAB4tMaa-Ynk(D#&iOtY!*UZ+KoXb}oZ%I+Gs!WG33cfN7
z58m`5+13l81q)-~-_Q9Y1{xCrf`=77;NN?m5Vx|zQTugUz3i*)?pYM()?DK!J-JP-
zr>mnctTfO!d++nCySc6g{h8mIx)+l)M`XXTZ**&Y*BTG;MRhk>YSkXM42Z!Co=Ayt
zjxz*~K-ED#*R2m#c8LNwP+E|5F-!JzAhISan#oZR59c#a{NMrIKeuvUa|8&^d*TL!
zIpP$jS6v_4T&Z)6q|usgxAz;2Zgo2*C0z6#UIm@Wr%Qgf!nK-z99R9*@=y)wKHug}
z;#?aItJspMa{Fs@VQV%1P{h7jilM&XFl3Z|%wP~8;4b*5*mBmm?~i@5MbFzVzM<wd
z+P8So>dm6|M=`~HVGUrFZ1KyTf6xF>1M4ban*lhzBeGwr9O!aAGFe4!{1@nuCeI@l
z$+=_YUZdUPDgJupJx&KDrdn+dPIhi@DyITgGrN}|kJCT1{wcT+v&W8!VxGVdlR$@3
zDzMmd=rroyiHWF-K3QJH{1w?Z3c)MKZ-C}Jix5x<sKyeszzX78S5(pZNGoP^uH~w6
z@l_tBz#(d&#Ovp6H)EiPOb|LSJP6Kvtw5hSW!5{k_KvHlb3*Y>Ykn<UZF@&(L@AKi
z8sBv_-j;{<Y)%g90`GZKt{+y%j?I?vv$b&}`%>*ryVZ7eEcAJK(!iir$l{zjuiypR
zsnWH=0+2w3cqgAB>Q6`Q<=Wg}wXtM&TH}J=#9aGhi|C4GWj{2j>bU9X<Z_9N{mP*W
zPUhCPBrv}?d$bSzxx8+<17kJ}N|-$NIz2(>&&L5qb!wLJYL)jLYXw@Qf}MWoFmqI$
z^)L&7w=Q5W1z@Zj<H7pBTxFBqbCO46U~E1xH+QIj#`n)4$qHb7&s?BC*5$yon9Y2>
z2|68fMJ+B8C~vceZMlH|3dc%Lu*$>cGs|&@dcy{dP|Su<lZ#6)Kx)8lpF<gI(sR11
zsrICV=VS9`&ToN0g5tMk#MWSIzkDhHI{esv0(cOA%|^!IZH{#vV)L*M_Ec;dQv%dj
zFFV}Eos`UV{iBse+W;F|%Uigk?H$%GI79=S>59UvSEo;X$OxL90UpyMbEybhK<C|F
zZzt<etIp;ttLn4;fZwg7a67KeYMewZFT*x)Ufs=@m4{lSEM|64#V^DK$Ck7{I!v##
zGbI?43V#uu#jFNe&k~^o%<hv0y>ArGXM^<C;iBp@28l3-n~(v%unFO}wH^>(9h{<p
zbxwOi^KjF%PKvz+3#Ti0%XUK2+Iptx*LO5oZLQ@-lK};VU6~+QZd8*jqY91?cQyIA
zs<K$AKKDyYpIUE+-mHipnb{AWM+O*Ud{7bifD37H-*gS5mO_<*<CS6R7U=UjuAfS>
z7l`$qMvqD-MgyBg>-2eM(ftNT9F4YdJ<YFIqr+a7SGRWdeamf<c%v;Zwsh2>kF&!e
z4BHFNR+P{3i6GVU=+vAIWPu@x6G7m_UeF#GNgv!QkTEr|_2#WLB;<uh><51R)O6`)
zj?y6vcqm?oD}yCT%W_ZXnK<j7sKfY~+p<f1?D``W3~pvOZ{FS#EU4X;9C+ptR{i=T
z8$^Mdj^v~^%|o7koKXaB$9ng-XWV*Kf7xL4XSdUOWvw4tFprf#%giLI74dPbWsy|B
zQSnf!_gfl|&esz-g|{yZL0O5n6-{b_lZ*L<j^u^w*p4PLN8jsB8je@xn_;baUI`4?
zC0N;)ny%20OA^r~#rAYn9}_)J9j}U{AksU*@+bk>=fNR`bz8E(43Xlt*9<K{6<8p+
z40;03?k<PvXt~fsrb*YQ>xf*{{WCs39(%|6^0;ta-8;G6Hn-$Um$pBv_GWHax^OME
z#ZeKyTi3nSHYCkev#A_*)#VEfm&gS`EH4d#1QINygI2YHao<^jfr80=9}uD)`-*wA
z1exUD^j(sEL`wiPAtm?-96;Fn^;=tkm3QmP@JNq|?Oe2?*03c;yMsqIW<jUGmJQoD
zgC>WnroGxd1ts^P7K$U2fJNveUx1iEb^k3wP)z7eKOFTmR+kR!Q6(&~x!&41yP0=d
z>l!nVnPJIl^mgsxbp{I3_~E`jD^U}!Lx%f<XfPq}_Gw|cl~(=5fVXM#<gB}s7h>{;
zHR8SdNJBy&D5J-pi!WkF>#?|W2mQLv<rzf6PiUDiwPgX0{g?)Hw_rJCW&|)BneWK^
z%1%hUK$%nd^8a(EPTK_g#$Jg)6$H8u+7}i91QN18`T%4ZRxEwX`dE3~5UL#Kcdzx*
zcvjn9cjkU2tugGvk8@Xs?i`k{*O1n~1+}qO%GYPFlJwaGOkvF71|vHtmOm17Bl5SW
z#?d}`4VBs2-44Fj+JZ&rH`vW2JknlBB01^mZD`-IpKnjNg9UipKO++l671j3AXHvk
z&(&&+>P+sPnv3R=+lGy8b1Jo2qe@0wX(<_1n<YgD>~c|*`rKKt{#LH+N^1re*4I9X
z`@>F8?Az=4Q9X6LE&IeBTA$gqf7Vg`)11*F{w7dNkM-(Um1eZ<xBlq=b%*nz<+B`_
z?em|<lu)Q1h!qv8^Z^2pEmPwlL3^7gnn>n;v~@A;w4oNGkxK6cs@v-<<jzN#6_koK
zwfMAxSWo2YmRnI0m|P%9z>MZmBx~FXQv~&(f?Wy#WJr?q_Z-9aB|nLkTkB9CVw2X;
z>IdCp)HB=N_Qd0*#;kzrbjvL%;K<__c)`NUpXZHIZ~<1SZ>Z?<O^|_sluxZ=)O8u7
z?U~n%JXNdWtRrx?c>2VIK=e{QC~u)+8ZQv;<>?8SynJNXpW;avZafZlzgw}_e$v+w
z5=MIVl%B^0BNz0Pp2h&gf4YJavj5K>TJX@HuSoaTo}G*?zlmOwJWi;VbuiLyc~M47
z1Ad73BTN3)O=O5OYm)SMS=TV9#HpM>G@GqDKa=zOO56o3-%U(vXOM71(R{I{7Qc6r
z)yby^`1y}R-xS<CInXF5UVN+Zb|gDIk2~I+8SO5WCGe{@JANCgST(h?I#nh2Q);|0
z^|wv6`D6fD!Jm@>wBv#JgFgUqm{<JP*Tl-Jb|886)vC7)W?ax=oKB0Ri27P$^6SXn
zApUkQup6M&*_X}6;{GkEQ3_RV-JwF<lM#SV1HFQ82>_k#dJtIM`gI_)q9V0$QD_|7
zuD|b|6)HTEL!q&7M$-*9F|2*Cbd;m9)0igj3N1FM&Ni57Z}FbVaLt3Y*$y_VKHim_
z;b+b^I=t#;AJd0m0Rwca%}5qv5(<Gk@uCyF0ZnSI2bDe;DxcY)z$P$@>YzJRK=u1)
z<TbsaI#!-iSE?f$8;@o8K{X7oO`|?&PY$DD{*r%2se%Q5kUN9RtogWnqCajh5he(F
z5xoJq=Xg}s!Kg7{+CJg)+|;B(cf)T64X<g{hWLO~8<Tm!Mmv)4<Jdq{f_dezTXcbd
z`TgZmAJ$hB9yGQ&Uaa$Rf3S@M+h9J+GkN9EkDY1A_b*xDULBD~z0bn+q~szdUtIrz
zAbl@=Sh+uJ@Z6<;P{w<PQ%=#UAvI{GZc*$<$%+SOyb*_(P<aH1N%wP601y%O;BPSz
zxX_wXBTG}PHRRZexTF29F`>JcCY6tRRs^H~G;UNRRQ8sK28<hio^bN+U?DE|FDPnw
z>rn)?sRde$b}x3t=-`Wa?J{IKsy5r63sjmvwLZ&33C_&VgWfb?gcRsXcWbeR=IL$F
zdu>nW3t^zOHr~P*H?E+c>Lr?q-Ii9M;woEhl!sO9EB%<?U~|2=iYY-V{#I=3&Q&K%
z2aCZkXJfuTY(;jWVfKlgVzc}*yC>fJ(%3H#F*seHa9|dAf*lCalSYDQ+TL<wry9+r
z-b9#8OSBdcKC=KTGrLe(WBIv?uPDZui9FPxYWom105m}fd_-xNx2W*53uxZE0FB_<
z3vbk&wU=$NJ$9<CYEceM3S{$;f%Ek9l19YX2yB85`hw=>O&bbmHM?`0Thv&&=l3Vg
zEoj3+wc70HWDV#BJ2C6LLve;V#GQ`Vi0WLZ)k*_#A{<Sx!SZ&!vKUR+L8o0gZwCA8
z<*e7iNu}KNMg8#CnZ2FAokxv-LL4E~gc$I15mAJ+SkyMlK;3kDdZQlU8Zq5Y<-JPv
z+HLPVb$FTBPpWgj9qcFbNLcp<hw!v;R)=o2iS0MOZVxJywZ~Xn=r=E`5Yx|Hb9MZz
zD&eUQ9irTGsr2ocKaqH#`5mMi_)~;rSecOKK{a5TmF;xnO`4Uqe4d1Z`dnY<mpNq_
z;N>Bkc^G|YM)SvjNao)uW?&nd->B?Ei8;FmxiKmosC~0?-0JNjtsvhVsSdma<`bQE
zJE$F^cKZla00i~D=Lh*dpumoR_Oa6MW1Ot>k<*f!%v2rOOQpF{oE4{>+dGP@PAbb&
zn+<xGgSjg4yBfV;m24qusb@+bHLFcG6#JM+Mt#P(XoYk@@}?m=bpAyg0g4$uaW}HC
z({zbP15*v)zNb#)@7C0^(kX2tI=F^xP}xwe^JGp>RrV6Hr|xjaOFd$HKDX4F-RmxJ
zqT{x#OWRU5{@7%cVTB%e>xvX~>;=~g=iR|}^qE!wC(>HC^WtGj;T|V~*b|lqp$4PB
z{(y}@A4U<}yZ3~H&4KEv&QajrEr|q51}!Nxj!BUdoqg&)KfnGUey7<JK)8T?AGaon
zvCE#XtWpKLdGh_CPnkf4)0=!Q=1tO_p|O_~P87{Gbvg`B)ssX>QfucI@cLoJlcV`k
z2o3`PCqajX{c0B<m<mAi`%D#$=yL`DDCS&+3JXr^+vJKP4f~sGt;^Gc)vi*hbg5B&
zO^zgf*%*5@>nLOX@pKBnN%j?CeQJ}!c<Yxc*d&^q>XJ?$Yo>@vd_{MO`NW|Zju|Ye
zOA#SYSBL$1Gk=GABMUmtvB=Crg*PDQ?fp`3pZPs8i2{cU)y}znnp8@?)y16AUEl#J
z;efK$!%n$eursUR^I5021Sjn*Jd(sjNf<WvV2}NVQCf#N89Mdar-`QYNx=7{?IXMb
z5*A2XSknv6tVH*}NiW@wYtbwX9)bBnpTggN!jYaPh2<M)MD_FqXl#nGp|tBBsvAcj
zY+@a5Mq{~joKmEzG{%Hujt*wk@(zv2-Oq<zoev#cn;H0K)3s}^<<_oXF})OwgOzmP
zS}ROFG#t*4sM-r{nsGOtPqN8p#q`-W#bp%{0_+6`XXHEx6MqME0WiN8PtaRh@lA#6
z^$q_Nij7KT?x@Bt^e|$dpY?vi43)vbU|LgvMtZe^3A3;dyHFgvC+G;nr)wy~`yR{g
zJX|y5$>Dri%f^JQl(u#AAldb5fsQMQp|asYzVMKYTW|LKc}!ctpJJLBA%$(`I#M-n
zF}5no8cbtfW0~#J_JY-6U#Uw?!JFhK^>gPnWt#Jlg;j+=Zw8r=GXb8$Gr0sz3xNEN
zb+wJPaA-%LkrU9H&)vv4E{M#5nS=!r$hXDZ*NO@R_#fC#v{ZpGLZ6^+f|-K1HnLe!
zIXiM2hDpdnrA-E;vu?Nc*X7WW+DFx#T^c6o2X-(V8QyA-Qw(Le;ZCLYw!Pe~7T};H
zVZ1Dz6oT}{VPJ$c{_^3uYmc!0rt@KLAlI|H(Xbr(uQnyaRrF5;KPDc4n<6Fn2KWN1
zl5eSrl}Fu4g{WT!+_8Gt>?=n1VD=l`z0sVfP8vup<UO(eE8_(O`;*OnAQ(VMz%pD2
z;QO~n$$*6=dQyoSm5$@_q+7$!bBph?gL<<vyRzG*HBv%KCc2eNC>=|usqa}WPZ)Qi
z({(MInlkWZvJd)d8y&eiXO4A>B5=Eqp*rthmGF_E?C=B24FE#q!JjgM@E-Y7BnAyp
z?5L|n!)ZuUci5fmw%+PA+{lAf2_#4cCA)8XCDya3W|wv+t7Z$dZynRREHNf-nRHWM
zsjg_(u(4a2iMySwXB?#b#cLR6pl<(Q4UKuVaDougLgj_lV1U7WxKD+ZKco%-nh*+n
zEF(zoiB;{_YwWDiAoW%&;%24Lt*)iWm^op?@TG+_X^r<Bxslx7$UKSHOX%riY1;$6
z<yavMCas<?vdWy)o9A)pEELcoSDJ(Ro>YNPKC!@ZV`lf&T~WMPa6)vmC11ACew931
z0$cli#$e?e;Dmm+ub>+r+%fa5u0S67kYtY|jfrO3;M}yAx;pf|akDlEPC{whRzMR|
zhC0`(Bi0}BRM)6>x^<EDYs&+(JL<i`Uf-;{t)uIBSLNK8jjqFBfoB-*(S<LS;?LVZ
zkUGf}Q50H^?<ji9Ciu~7vVuIrM~)@r$u#(cxan(P^DYGbp2TAt#4GCB?1dOUz_)!2
zHz?7njfWRQn|j~?x5fIpU2>A>_$|p?4Y=XB>1*^#4u{^PJ~}KK=T5`f%o;s)u5C|y
zQ7zRzG;aU!b{g1n6#p|E$*P0_*kE;AGySp&OVt#~)-15I5lu)oGmLT=$Wq<-|0yvN
zXf`OlNB7{yr-wTMewbD_AZv2>G|;UmG^{wU@nyg;KsTYjxD5)@7kBG?=dbT7;8GYR
zg7{qg1}nJI@ASYF_J;Vi3qvpXdj%#1KvlSZ`3=fQ_rY)1*FmXU0v>S8;|oaYKD$9L
zHwfSh-4vFAZAX;bnqRt2o9G<3W4F<Y+#SPmhH6s+Q5n?MHFe)OokD^-$n{QbIG)z}
ziv!nQwB{$dB+i6Vb#w5K7;RQ|X{Cln{wkE{a<0BZcg`pbj(2^->>Zv^9o|j4YCb+?
z`)g+6=!ELo3NSd2_xUSWYWM&PsQvhYBH}krCsyW%6Wh54z3q%#PM0&#OkZFy(3s_T
z$#<VqFPEphfS&_-<G+!Y^I*x0b9I-9JQ9#VTYo?TBxDeM^Z~dTP-fn0eYwson$lvv
z7062y9A2=b8IRZwHIuE`mC4Czy9y`x5#O0(m7_M+)oV0W9By34$7JhtUeWtr#X7SR
z;Wu4y;_)dWdc8%O$zJ)F0XTq92IUu^jPg~F{aEd%$c=Q&JIPA}M&x*mgO(WI5CtnY
zJEgTAHfFx(xecbi(EUN%^rxcv;t1fUnSFn*;3t!NgL*^gajxJSY@lJ^ovN3!$#fT$
zo=;o`tmyP6Lvama0ooP@y2_|VC~jIBMsAd=BC#V;RJKQHtp$@t3$)gyxvH};ro6)M
zx=Vgf4@Or_d*Mc>CM!=iayHt+Nq$5|K*565?f9`<3*NY8^7A9<7K+FKKsXP-3BU<F
z%Lrk6z~tCuC=ZX?!~2`QHW6RmHj!4O2UEMro^dE{CbC0-+09<aSrbQNe?1OoDKU(=
z^f#b@fhTv-F(M3AI-getpIYKazx}bo&!3RHW`jWAs{NfNOO6g23fZ9R{p-F;fRI1e
z{aM&hLb6wY6@U};tt!OIv!UNz)hxMjwFlCe+fMeCXs!7St>p*HcmBz>l)sX9Nau`S
zI<e0WCw!JQjA_rQXiSxXoFWZ+EtEieOPHEDs#?`{BW%?!7f*48Gteeuo2wiOtkMKv
z;Y+e$b<V470+h<1$BHSq5Ua;1Xx049k|I_PxAn&UJnWIX4lcSxb8Rda!}`ROy9G9?
zB*)PGiL(R`wu5-Uzr|+d+@z0k+o3yQZ_**L(OR^2ogvX{3k9l{0!Q*xaNac9nw^IR
zOgnxsDR;0Cm-`o##C$U)&`x#23+JpRl~b#?5Z2uIbetb+q*^jv;<&Q<?KXLJmji0F
zqK~`MrrDx-)!HAm*|eni6F+R843}N5E)`rIhjMe@zzug|eP*ZRxR?-`9+0cL>m;Dq
zRZWhd!vecNq}3I=1+tIecy!<Oz`;my^(jo$Wwz~P75v?FWyZL-EJC*-h{t3=%jQNt
zsA&gJ-R={qqNU9Jqz%pexrcfM&qcRJfp8D`U7g>$03vie%~3T+F*3;tbmtk-go%)a
zNm<5c^udn{y7W(bg#brAT|qg}Y!(rX{?#^~us|!#_Q7;uPHpSh(Mrvs&z%*0ma36K
zzx~8Es`rB`Zd6VY69P@y#>8d-DtuvsR}}oqx45O;AC!CwDIbc)an)Bv0H3YArIZ+i
zomFe_N|9AJsN1+2W#MOOEQXcYoF^9G_)KrrYBY(VTv4ul<pA1KjVmpDD=H&L-YgYt
zYVH?}@!s9myyi-pFThzsDtTD;lulRZ?kTB%a$ba436}v$%k#mX#0W7hVA+)C1=urZ
z3sV9X+)a@MW?>MBAA8qd-{X}CJipzasYDR$jBoftiKw9Hz`rs>k@OcnK~Bc(MLs%q
zCE)%AN+ibk&iD`32cJ^&01JT?(E2C<H82@9^ygDDe<&aj`8RT$m|VI-*|3S7(_5H|
z5KOm+bG<RNK#6aEDpP~f`eOEugK4eF$eZ@w+Ku`yd%)N3ki-R@lHH9Zti&NXT8a#=
zic^-QM!V|9+zgfUt`Riyk5&6)e`nmU>24t*xO}A!Xz_F^77&ep$y_`Q6VJob#h=W<
zUY@NlSjP?<Zfnn*g54LyQxqNAouv$prETwRO~pd4JN1L{E*vy)zs-cE-l%r4!=SFu
zI<vLX69rS%q$yG537@U(NB?7UkhaL*kw5KK6;~>7mhU6nD1ZNsh@N$JUow78GXi3D
z;JX6lX|CJ8jO+<JUHV?Yl;-O-p)lU4erB5`Tw{7pH)>0i-K5Okxp%@_@?p-H*rK-M
zdUe|v(GI-|4N(Zw4)14-pD)q5b|OYCkL$ng%|p*V3)Q{P7`&Sjs+;P2Y3XlfCz;%I
zpd1^bL`xQRH=j&e*3!e#P+(bLjR*9cHODGH4EAfh*%;ySOkC`1n5J@DTA5Jmo+>T}
ztXA4M46_r!Hp}sGI8{Qdf0$@g37r0J_zvA{wK=}o<2R;ru!q(rElH__Y6{6bOP?lo
zypoZS_5Q=x$*;$c6C$GtO!@YIZEr{9OxmVrqOyc$X~u*di+)}u^Z*Na@*eqt=m$W{
zI4(I2ISidsN3+JRYE(6Md1=%*uWOK_<CM;CUhx8<R2caRv4<)xEO8H9ZXsb7!KA1L
zBAQjGUl4^}#CU%Qj+4{niUn1Z#=7pc!W?H!jhS!MW|e8Gr&8rAUbs@d6-`ZY>qZOd
z94I|g4_SIYJZ`I)DQqp;H+olg##c;jE6qP!z6LePaRo&-=l~W5ECj-!A@U8F3iVtk
zE)j)!hNoOYf_+?46hDy35u{k*@yyf0D;OuPSA}a)cmL%{sXnG5hLb<TX~-YUFaVvM
zU2p-gFkEMTlb4-(6LqU%SMeOJHydk(39L)@LVh<al77st0py_;CqM2Av0!#0y|@4o
zON|2z1$5uPMGG?Q<T?>{gSP0M6ipBegRb-<vOV0kYu(bs=X=(?B2*6gks|A?7^%XE
zRmS|}tk$eusVex(=4CypxC7H7bf4Rat0TV@jn6{DFUg4b2;)~A15S}}!fp9wjTA)x
zu@qC7Tkc>HL6b3%L-nS71+3X|(p;{IuC)-RQ?()V+u}9qDBc!O<et4tS<bAY3&Fk%
z<+kdS^4PP=8>}KcAQfekG-QZY`a9r%xH9oAqktpY`z?i2jul}sxeSh&*24PJNt51&
zN-FM5VV2_LJfGle)E(=VOpfx_Q03N&31vZ3>f=7bYv<wXD2eDjI}v{+2;aNCXbBTE
zb5q0J3+~Jsn!*y70*sgwE|tdP6wPZn95~{MQMJ|q>|5<w=L6O_(Zs+B@e?^bj)sSo
zV3;IWM&Fp$dNk>C)<MTRwTr*N#)7oiHx5VPq;9nhb)ux!anPnB-TX|6fv_d-L{1d9
zz$9uW^$nMWJ#fZJV4(ZZ4n4G80S1S^yzd8j#oI6vNsn4Q#C(7U^YZwDVvww9LGtu9
z<xTP9_36^@F6vfSZVXovQ>!(lpkCXg+CZY;KJp^B;2@h~$`I-mqA~drvLUdA6=X6G
zHwKI+1ys}l(q&ZR3q%jB#`mK@I@JtUSs1d24U99tjwbFuz3%;>JK~XeHt$3#5U!?q
zEFoRmrhFKw-oa)`hM;9g_Qg-e%F=$fjrvQ*nqynKQ{{|9X*s~_-KmlyS8;3dM50*C
zZX|kgGtpaX?)HTSi!+`H3;jfcd1V0gP73fjC-0R*iKsfQ2phvDPixV}9J)Gp2Ktq)
zHT`@_WIcum)CT!s08dDAU!CzlfWYM;{)JJ>fQEQwE`VxYSkL>d(*V6oelP4#>bf7|
zReIbv8i&>zcbCIJU)I<|qk9DnN<7oXC0>;Gc4@<|SY?IJx1Gtt$D{FNV@p--f^P{+
zANeLY4SikZ$L?o}c_#tQY)SE=X-0~&EE2lqo8tj@UcBHFSjzl!qGmw@qGm4uPYk}-
zw?xIt!}Y2kQf&txp87aTI3s-BWCpg@A@eyV#msr0*dxIbd)xO^*geA!<nYxB?BmCY
zVnO=xuk6f2Eq`IIq!cHi*t07BxqA<|2my^5Dz2%4jP%B-hw|B3g_bsHgqzCHs2#$C
zwy(9;3r@OlJx1=e`A&()X~A1v+Uvb6o*Otg4%BEj>)3V8HJ29G>kSRHEg!mqzgQmm
z@zid1o1e+&S7$vw;o?CL;JCa95i`%k1aMqb|N8Yrs7GBcvZtV~BIR>s)N4Z5vJZ;J
z{@fMaEa>#ap|Ohiy`U#-zunY`dg*A{+Tgk=wU>2a#dn&uYs$MSZbgCT8aLZb`5B4w
zKt5w?bL)+Ca4$oyolWZL^OziN==phEjvzup!Hq${wgMR6Yf8x8xaoK3K=HKwPU7^#
zwaF^oF?DJ8*{xBn&?WlXo^5uM&8BAV?cM<29qZSY%&*SwpnJuP6S1rgtg2&6Sp9tM
ztrbTZOGlUm&+^H4Ju5)gFkM+%)c!&=9k^31{s8PP1oIwakexa2uB}c;o2ANfO8E3i
zYHcgl)z;=0!8)7|W46t+l)n-U-n`I5uiw04gN7@vw==HiPdC_lt>X0qec_$uh#MKr
z8J}LvDb7#-kR@3I`(9zH5p)VijS+tR0eUE=EGOVAIWnve?Bumw^|o;)ZWNbEGp74p
zq%AM_{jHeuwzC6-py1y<Ljvxr#uj>e@mZspJNJWhz^Q@R-+<jVx1(L5QH1BOrXi+J
zU5Sn6<BSzB;QiDAn6XHoF#zt};*p#9fTfEx+<Q4b?5**HC1U&A&%W890!p;fyX6w`
z{l<jf2Terv*@DCTej5D;7Vk^o;f5Q)!?(Qv2vUZHbE7FJxPcT&?QLbcQ3c%}Ehb`b
z7J6$5GiJt6ku=#D@>p}Adc3vj)vVT0JM-$AAOdIFxeUQsoL;0J<W|3WSa-IZ6!g@~
zq}@#~U!jrT1f93dJ%H-3XmcZXLS_WCV90p`jwC$ZLlgrmMjxFR2)$N+aJp{$b7}3Z
zS?q9}!1jaS%wAU}JNrJ~aHrN`90db%8+KT#Z<-x<yc0$<eOSVW=ellQWqP?85+QL}
zERL+5US@cr&l83@jwJd)mP_xp0p5%Kp!BCF&j=|z5Xm@OLkGo+S{NEgrW4wy{Uji+
zX(33&>K#Mgbm`L=4<-9_16Ub2OlC&Dgm92s&(jk#)hE+Yw{8q)XM0GsSAL0=D)Xy<
z-1fqKCnQEqi^O!ZwrqAQ?IvTk*0cSwbiVYLn7<4i=`zyBOJUGd#%p?mQBM1X(#^3v
zWzULqph4dd4Ti-JLH;4lo`!hP?CD0%R)JiS;hi-z=$|W?KkW6VgUJ^3|8U(krcX^m
z(Cf#EL6y`?NAyNqi6f{Eu9xHrIOm|Ws&uRKC1*BAy=Fxm&Xx0iU741s&7$&Z!%xDz
z0OcIU1?N#iQ=3D?oZ8wiM+Dzga{35jpdiz70JY}}9|_5QO1-369N3(+-Yq^|2xv;J
z#DLy2v3b>aqDlAaC$b8f{MB??8T6wbHE4T5W3;}^yWy!jsCu>0d_U5qOMRmDy~BZ+
zyIfPlNqN{_)r>=pF#KK%cpZD!Ud~_jV|g<pY4Xu;$amX%`9e#iT#X-6@U{g!wZRjr
zgCg3%8(5=oWb@PIrQ17*mFa<GyN=hj`Ih4>+8Zt8DQ#r}YM-SO-VL|P4BLcMZwz|c
zbU}wfqTajmTlv73C@&z5fxMNN-iw$js|`Sh!$1L<%-5S7sFcT1m>_qskgM)rKo%H4
zd(T(4MG4ekYfNhE(^1j<(z>y&DM6RR<Y`l#$(@!dHkIpSqw9VXbWx(Zb>EmTwSj$L
zmqf&c>&bMyW9v?7hIbm3y2v$FT-ubUJkks~z*&v1Q$~B#UdY&I*}fE9K#<h8Vi~`6
zuh(9TRwSlgeZ1t3tNng2vJN}{kl&N{jjX`KfY3W2O$3BJ#qvNC>0p0jLV`G+el!*Z
zw?WJoht#ikxxtN$4+wCv{6|N8e2Lf-NktArDpQm-Pv~wzS1LOMn3L><9Fv5ge_gKl
zx7odx%sH5$H2GhVE}oRfkHF6glI{*2Q0@L1RYYW?>lXyu%B`uhs2cSigA)t?dZL)_
zCc18~(^OX@^xKE4{q&kS78(5@JBNt5zj8<+4vybF00tg5jEZx+ui<4=vgo-u*?Y6$
z5ZXImHgfK?1OSp*OI!C(HP0O`(meNX#WaszmwMBBbw8PD+tQghp2&UJ-d={GVCGgQ
zBr^q=DQA{`!GwBRF+4@dIko$V8*~T!I<uSxo)8dCWJ+Ved3iXr=x#x_ze5LPynjaN
z_iTy<!ThQxv@;_{p=Vs&LFqK?_w<%v&Dqsvy-TIw(Qkju_Fwh&BUJ_=0*=4GaNLsu
zriIe^2lPya_)u={%gXTfJ++UXeK`rwkka#j?xp4eBwaFw2i`BPhLYC>(~*2cDbQ@}
z6~lxw|8$NeR;IhciXBLMT6H6)JGhjZ>pnl(mD>FjYu|sLKP$Hv&SCZY4~+mF0}Zu8
zEWs(I03UiNhUagOJ1OF4r!r06w66F%!9}(EgHzIc9-xY!>`}h(b#urnuX>uLnrdZe
z|DVpTrAtvA2=C`-+^xr}$U|9*sDQ0VE84h2#YRO?K&3rr{`*wIL+A<J^sLYWB&kZh
zNF`sfUazP4bNi*i@cWQ1x9=HCQj+6qx<579444x8nb4mn)lh@T8o~t=R+Je6QLXc&
zVVz#~QtiHLLZUvP?&pcN;?`0H@WJ@7B5Cv}^m<yOs#65*p}_|TnjC#!e3|@1YYm%w
zf3|pYR2sG}^2X8`EF1GKzX|MK-wv;Bd89PXY~U%4_u=`_zO8QqziTusdGBeQcyH08
z!^$?^_p;ZK)PQoe*3EBtRl@1Jz2B6jL;tOuFm4g3$5(J+hy&l!FGb4MSYD{{T-MeK
z?cST4OAtuje4@9w_Q>(Y>u^Oa4JQ(3p&pKOTQ!xFO;N4Je07qdNZ(zR%k*ugp4y@K
zVFpcgCYR8k`6;pk+y_t`D2pUA3tN=;n7DXxyCfKh?Q^cPN&qAIhBGF{{osiAdp)q=
zV_)62Puhs_xC1wPNFvkNoj8dMHGma6Rby0DD&4q5(uSfxsHzQFtB9bq2ZARcX*I0D
zjrz2<VCOYk*>wDXetj^?ls3pG(R1u3Sp5IchNE;B8lGZg@1N=o*0QiADNX}C7kaYR
zOPwqF^eWjXmhuxD<(!W#295Y`#dxQrFW_>?9YR1^;vxXdFj9vdap-m?E750Ocvg!B
zyIXghD_V!&C3{_RaEV_il>W>nA=5MTOzL9_G0o@6`--3W1WfgKB`+Po#Qa~(x#F@2
zCg$&$rElDJOXjiB&5_IAo3`}6+XpYFNZ@l@%JI8D<{ZwsojvHYZa&lCPv44KMGn7I
z1WV3M5oEq>I?`DGFRM{nR~3o(b2@%vGR~-2MO^2Oz<z?U2xl69c(jGf;VqgRjlr$k
z)F#*QC_Lu^__B4SC-PV-Sot6(#v;q~zoLRBZ2}p|F9hZXOD*5J!$57WjjdrRT}T}$
z-OhV^tSC^Wz*krDPMK~ydTZ8e3oUUA2yKksG_{F0JkvD93#KqzTI;4SvcAnN1YLep
zk3-X;=Bs=nD942yQ6!U@<a-koe8}YZ)*)zNy+sR!nV=N?;|J9#D<F(cc0EmQRe?Ya
z0w2)@Vk+c^zGNa*hcl<`i#+ezuG^((PG;$)_5R98wPP;G&9R{%(I2Mc#HH9t!hm}J
zxkx8%A|m3}u?H;L6oODog2c*32NfAV?zZ}@Hje=22*5@c72?{ob_0nD3NL(Tnd-_D
zfyzN(BH&t&8~J)JP<%VNFF9UeTK%9mGu=Vw_~EkGGt}Wbv)iB+(zWY$C|FS6+6AQ5
znloS-3f9cW=KbL@4{q7e{KsTWb;O!59q(0Pzjg-;_TL10<Ls~bjoGREgXMfeDJFg?
zAN#|704CYiuQ4!6F%*KE=o=qO#W|Lb;mb46_LOyaD65%?Zx=&ExSd3#1*mtlzWZq$
z>0<@Na&m`gF)4?H7cUm)UB+j(N_Zk4laj}ss5^?6V6d4?0Yz8>>$qf94AKc389;f6
ze&o}$B%zJpPN(cgGMfw{6Ww@B00R8&mO85Lj`@q$G^VUdbua7C<7G;`j?D30BIEbx
z21v507`-#8DTsEkfR7||<N=5H{x3ZWg@Kg#jN4VYku(a7NPfWwHXt(b-)r&7F<a&a
z@Q#nmH$kjzY9E&F3%dVMBV#-nY&C8$ggpOn81@&!REe5xL9-O=cnEp%BvFHKWgVG5
Z@AoO|^%XdJj=H_ClRh9PzkmJy^#`c|zA*p*

diff --git a/package.json b/package.json
index c10b4ae..127859a 100644
--- a/package.json
+++ b/package.json
@@ -5,8 +5,10 @@
   "main": "dist/index.js",
   "directories": {},
   "scripts": {
+    "lint": "eslint --fix '{src,tests}/**/*.{js,ts}' --quiet --fix",
     "test": "echo \"Error: no test specified\" && exit 1",
-    "test:compile-generated": "tsc --project tsconfig.ci.json --pretty --noEmit"
+    "test:compile-generated": "tsc --project tsconfig.ci.json --pretty --noEmit",
+    "test:lint": "eslint '{src,tests}/**/*.{js,ts}'"
   },
   "repository": {
     "type": "git",
@@ -30,14 +32,13 @@
   "devDependencies": {
     "@angular/common": "^7.2.15",
     "@angular/core": "^7.2.15",
-    "irstea-typescript-config": "^1.0.7",
-    "prettier": "^1.19.1",
-    "prettier-tslint": "^0.4.2",
+    "@typescript-eslint/eslint-plugin": "^4.15.1",
+    "@typescript-eslint/parser": "^4.15.1",
+    "eslint": "^7.20.0",
+    "eslint-config-prettier": "^7.2.0",
+    "eslint-plugin-prettier": "^3.3.1",
+    "prettier": "^2.2.1",
     "rxjs-marbles": "^5.0.3",
-    "rxjs-tslint-rules": "^4.26.1",
-    "tslint": "^5.20.1",
-    "tslint-config-prettier": "^1.18.0",
-    "tslint-plugin-prettier": "^2.0.1",
     "typescript": "^3.7.2",
     "zone.js": "~0.8.26"
   }
diff --git a/tslint.json b/tslint.json
deleted file mode 100644
index 588e071..0000000
--- a/tslint.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "extends": [
-    "irstea-typescript-config"
-  ],
-  "rulesDirectory": [
-    "node_modules/codelyzer"
-  ],
-  "linterOptions": {
-    "exclude": [
-      "node_modules/**",
-      "dist/**",
-      "coverage/**"
-    ]
-  }
-}
-- 
GitLab