From 0e8a91b2966c101e64bb2cbac5920c21458d3fd2 Mon Sep 17 00:00:00 2001 From: David Lemire Date: Tue, 8 Nov 2022 11:31:51 -0500 Subject: [PATCH 1/5] draft application, add figure --- images/parse-serialize.drawio.png | Bin 0 -> 49183 bytes imjadn-v1.0-cn01.md | 42 ++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 images/parse-serialize.drawio.png diff --git a/images/parse-serialize.drawio.png b/images/parse-serialize.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..a71b5c4f45c303bd6f9c3a33185c13a663369dfd GIT binary patch literal 49183 zcmeFY`9IX}_dkvlr9y?YT82{A84P7-b~DCUM|Lxq!OUQ6V~I+ovW+b}m5@SIwulzl zO4cMTLbg&wBJ{cDxx8Pm_xJYw13o`|ZnrXzIdeU(Bm+s4Po zw*!MVBk}PGkooxd7lgL}$x!FpW$?itNJ5$LmA^bN&BwQ$!$#P%{X#uyzEnO1nCahF z3Q%=#W*}PuW~Kmzy0KWQ6q=h?fSX^SDuc=fBJjH(lS1>PQ7M17fvQ8HDjFIp>N?gM z+6pjZm^$wdOjSz<=J0oWH!mvVpANND)ju)YK>M#Qcq^f@-Ms!@g%1U;OLbst1o)aVOx)=<_G};Q-?I;< z1_aWWjDHuas;R2+_Ydqa7WHo_g&Iur00Tl5U4XAr~RWNB!Pnp3q&BGCU{d8 z#>>W&%<%ZT6NVd@>0i1g0yU}p)in$Ow+(go&}C{OiJBT5b4#KQ)hkE=YQjNyTT$5T zpg?tX7zGAZCwZALyjgg6iiIUun5RtuSQ8RUz%wl^Lrkpg7AP@WPQiLP8is6AK~^9c1Zk=jG)I zez4a@AuJI-_TbXj3_-V~TH}pFtUPr!ZKy%WKx{ym560etjzfnA66s`|7u1dI0rLnn z!=uc!LfrgxO?1JHeuyv|q%qbK>mI`Ehe4zH2e`4UylI*+rfw+GRLjplK$9BcPYeuW zSuosvQFc_iHZ=%O3<1gD4TV8ViewY4nC<{Ium>K=ww$7ztwef+838VEEKh)77L z72E<9!1T8u`I*|g+iF4y{!9%wJlrbGjfo1>WuR$bLzrN_;S3f_+aK@at3@LC`1yI+ zdD}2-JZW?dgpWUpY{wy)ATT}w=9FM{D;pZl&X0p*2DrgYtb*+W86p0@7$%MC;6Y*d zX!#M4rbzb?vaLDYn1QlUN80$Hu@t1Orx_L<5@151TX}m?g3xXrEC;lE7{v|m7Z`w{ zkbO+OLr|f1VGPZn5G!*U2CwTCtYv9o$-#O!==#`!!+|ujwey5qn3^!{y&PD67&i+y zKX*?iO^b!XICu~#p~kw5PzQ@JxFueft!3?NPC?-4mH}8lO%ETs8CJ)Vz=D~WYoXw@ zFtDjj7>GbCm{tJO)Q#oiZXN3Ht%D+4S^5UTjQ!Mo;M$gMrdSx>*pmaATCuTOfov8r z#2@Rx3^wzi`dYE*+96P+o3&LC$xp-DlZNvR!KiD3wgGOIObU|8q%k~=)sbXBKL-at zPj!wqo)Bmb9;gZ2)WeNMw4<`j5HzTcg9!?Y2qRmD`go!+XrghDnYE>_jxB}+HMS+u z?R5jp}Em<~N-VB-!l1b3=vWC0Ce8X@U zl(s*K?LhFc*T!2KgT~YV8%sO|kKr)A?cE3#W)y2UOOvc^VGXzOBcru-sYpw-t{+tg z$s(b3Y2cZuJ5W4e##Uxla1u-1-Jbv^?tvyyiDoc+cS|A+s%1_KvLkunEqpvFcw1oN zkQ5l!gUEr~(BRZyli*;ujiv>K>5u2&-Hm;17)XBtlT5`>g54e1Ol|D|qPGKyY3^%J zp=#pYLg5^H6L%j?KZ=_*Qk|zH@Q-EZW2YHtuM19?35QCywWipI>Dp=qas2$xMD6LjWDI$l5kkIE$w)6MrioV+|V{HzWpwu?sM@Gi96FX`o4gR$)O72oE-j z?SLV2kd_>~04$xw3h?k}v2DDefk4p&wz~z>LfeK3Wtj#C_~JBe?A*Okw%W8%q%GYN z#? z8$d=8joD__c1T}8br{T&X38RC{gE8aKwTXTGE5z%MTetNo|aTy@8F;i5+h90H`o%6 zHKS8}EQ~F6%~;?AZ3VSA@ki>C$?m>E9vWIW7|V=qqK?869JEORG**y_1{tr7(Y4hv z_xI5B#A<|ws>9sr43s^ar4ej}hQd8`gDp^|cK9%c4j!)s(^3y0o8j;_2oEi`HOG^o zNw!p^prN*IWGx>UoaC*mYevx0wt;E8 zxvSd+>e}FJi2*D^NHEREK||Xc=!hJ|#=sm{mISg!h(nONjyo9D3dI6=2x;yMW5Vbf z0caoKX>HwX+`YA-RC80FO=B|22s2AE(+lop=I7yIgY#nW&LACWMKQL)ut}!4K!zz=IangkncB!PxpB=p?Eyg=uC=^T*p5GeECqW~cx!V;r8zz>$6Yb>Ja1 zb1Q44rWwLqhqqCX7%;ewsVBx7NzsN9ky=o5C=BPzgqq{j*(3tm%na&-w$m`P)3u}E zb#OMEP;;i08{OI;MIvMDsXk$FimoLV&+@SJz_QJQm^MT#@VO=dmRjavzHm!znsERR zE*g9AKrIZQbL78h_%CP-zW)~;EmpyA=e55GCRT+jPGviv(IaIQ{DyeI6_V_|iHD}3_Je}5Dl7m$jf zp;;Knq+^aPxBur>@kG9q+ZSB~w*SxY&BA+Q_)?VRi4z9WyixzURpyhp zD_3G37tR0ATzDVyVy;}O;H{A(|IWNw*i28ryh<)=t2*C**5fJ&WLJ#RepCKl2Dmlm zA}ShV`&5m8%l|CSRq%?D5v)B6=CyNaW}vgo7e2z;H2QmCqEje!eKP;_&2NwXM9pB+T?&7rIX$xTI)))kp!GdK8-as4nW)=!O1jFN^DD)%Zt+Gt*N&*EJ)4 zvG(b6?%50NdV+50)V}0lyd7aQcko?9h$v0;$&YCFiTC1DnGw@P8QxDXiaXDrx=)w5 zPwQ(X`resaTb%CG3>ZgqzPAXK5^_%%$6bGaMB#jLv>lNTK~y-Eq^#Wb!0&BuiRE>Z z;ey4%6iM!8^2i2X?5!hW$}3~y%5Mfw6^|U2cikc|nsnP}ymfn>22w_ME%`PweqYbS zupeg>4|~4ARQMZJ=0z-E9I8F>uYPO~%J0Y7&OOf)okmkU$#fa>6sA zRPT{mf5iCD*tZD>PYN2_jwyY3S)|N8ceAKy>p`V?qDN6GE^ae>so%;XuJE?v_|J$O z^06{8V#;l!?v&wUs>`h-BaZX#a{2q2-QJCyrKg&P8^1i}4}5)7jk3?G6a~smtDG!p z6mDugd*8sGTND+yIQa6z24p$VB>>yi|6|jkrYMoEe6io~BYkiGIAPaevIT>}NmgDmRe7E)dR49F`pDi*;(I36DA~2OwIbSr z{Xbq8bJte5WP`QL%uK1N>1R?d5ZBoq-5cw_rB?2KM^r_`&sw~u>zTUz962NYN{ZhF zf?M}(o20F;E+HN(SH7R$wK*eo;n~vew%ah-4S^g=hDAllV^1cGvL9No2>YEx7eOGvP@XqWCzg?5` zuj;E|fp(>sw1~DRaqXn0xT93W!!sO%{L>qCL#`7@{x9SEQz}+4*S6u3axOpJkv-;D z^Go%j|;G88E^xV~_~)_{wm8>flkO z;t?s)LwZMl9@sN+=-kTYRTZ?k`5wQBXOCm+rH(f$dmndkUau1w2<5yzl4fSpvE3qp zqh^_~UysqB%;KfTM7oiIIW*sbKOV-A0hk zj6<8;3O6*MbMqhbq+>pceVCZayYUoFT}tBI(EbY`D& z@r!*@TXpCsB2*()!?8mj$rYVAv}dZusL7ENIIVQo(#Nti(-$7wQ~pe)v*TB z%YYW?j~))^&t0aJI&H>w35biFhIAfo|1ptARMne${C11fMat$X!7Xy+rrXSzN?@s% z9<+>=iK}xd?d!d7Vf(hXbNx-|xQx{aW&4oAnv4n8pT+ZI&t1eaZp2bnGpcQ(tBd(S|mY7W4yap?=A zN&6GHQzh+joRyMyS-;+AHxMy$k>rUr6}-YBsBQCWWVjNS8j@7Vgm>Z_X{X@ai5=T$h?Z+-ESy*0Qwwfp zeJKz<-I6e~VRD~>;TEOah=9}3(!TNw>i;`n78BNQJk#{KINjx7!;LlP_{`y)Z_K$S zbb9}8$2`;X+v|*$n$8Tyh+bM?yH&<~Gq1{d^rkj!ivwDc)l&Uu@D#JhBT+xt_+xm% zx)QKyt%i==*r?QQzXF+nl}0s@)0IDdJg6uY9dA3)vZYlBS9Rm$uB(Nio%=t3Er?lN zRu+?-X%0~&zx<$OE=#796b=)ci+5Jp*1zu;Ejsa8#+qAX5OZN8iO;5WYr!K|Zt^O2 zv>??9f9N5({tRZcfPJB3OX^wcL3`RVpV%?M{dNeOEmZLYTIk6X6BqcrX8UuZ&uV+6t$-u*_|*rTzYhpuTH>8DCVJ?t<(X0o__d)$*4BhiR97)oaH$c zwj|y7cd|U{QYUNWS|71zZ1swfrJ&eYoLoieV?^JmUIyLq{+F7VpTeh=q`x}>AFXd! zOdF_qzs{c#@*y(AIbt4h%<|ef+xgnYPVved%IJkdb+;-t(C$!b$DVG*7$Jzfyr~$! zW4H&38yf+CazV7X=Q=7};q;K8UAdz)G}Hgb@K}7ui{Xj7%-HA!UG7Tdq8!=b^T$Mr z(lR?~&r(wbT&cIg@S|MZorBKl_ow3C?n{g=g5dmm_(mUZDl~776Jot8FqSh`xP7?I zUNz-IdxNn5^FpZXp;hB`(+fM3&3%_wCi5?wj~(r}QP^=V8chmW`{i#u?&@agaJ@gn z;keE2i|Qqq^pWVQ>S_ekmMQ%s_%$Y1I|jSI)ctGXrM$Yp zoQcuO_V&gusdkd$fVJZI;(Z|jr3u`f1>NQJS5|d3wq>?>M~Rycf;;ugoEm}=$~ISp zwkg{Ofe@z*oC7YG`}A|c`%uW;98DT` z?-ufue`Gu-PbMMYtffO=@RuQ3RhefuW#HSw%JiC2%q0J`p5G*0*^Uk83BGe~=tB?kl@9I)%;T1n465hTNiilI{A&2A7+D8Y#3tev}p- zb8lyippwfKstfmCsE88r!&32JZtuc5eUrwFaCywo6NnqvSsWu)Ovs(_H@syE>4)Iz z43+#XJ6qJ^l7Bsog?r&J=@o~`69e04%IM=~Hyux3RS}U?6Wbk8{NQ3KM!aonIf}?Q zFmz-5&p_m_OBTY4O>N)_J$iwWP7C-5(^X3%OehvY$Q>(T@@ddkV_i`f;4cqgAD6K= zM_<`eCN!aVQ3K?Ko}B6(xg>sZyI@4)4Nf(sv^{o2p5-E^Y`Cx)*SOr~b!twc_sqD6 zn-*-fhL(??>`uoXh1sBo>r6$+{}Flm1L` zcH3h1rar~el8wb4X2~cWhTK23W9(z$`Drr7wLcOK&rHQ(ex;g0lHLq~sWXIUe%FlK zchq3Q64L`19egC(OIxN{2flTGJ9nN@d9@|CguOX5P~1pydRr2c-TQ3TLe#uUKtEwk zUtUa4U}kb8Ujf%B)E@aU?ns^(L`1DPGfQ`H8E(=01CcM@>~CN23=+_$%YE(!aQfsDBC4^mXiF7k1^TsG;W)SEU|z!^;h`4L z`mF%DD&pWS(wuH#(rwp~l#SIN1I~3qzfbVLfZ!5szHAsME0AaKCeoK7QreQxsFL{_ zuD!9=hI>^+vT~S!P|R52Q;O0A@n)j1V(3ZWmagph;nlv+FzVrvL8F5y65HBmURNBB zKX`I5WuGbI5HNPfKW$6RzpyK1B9XG$l=$wC@WOWKnD1ihFh!B@ir$%u?baD;l^u-( zKx5Lg=Q2Ap%&8G~B9smnx*Xt=BrDcLkUF+(#8eBN`Pre5uB%CqhMhmZ zV}EeVw24v%w5uh1|IYBjn!f0g<8R&d*4o?Kl>(xLe-{TBrfM|x4ou!@1ZZV;@d4y~ z%wx0114=c4QUd8*Wh2@VpYt_)cFmD$B0ZlNfBV_98TZLia4{+&RCGH-rLs(2C#P02 zc>;oK%CvV2ws}+@k_SJ&y#B9Tg#S60Cs)w~a<^`I*xx8kM~ENwmt0jH$Uk*o z|5v_=|9LX6y_zzR&qgc!Lq1g+3M9yp%`3m$Ex1Z~V=Ah=`ELd)x>209y&ZbSRrYmX zj&7jpt5*{lE`*Av)njQYr);IZsyN)c81?%robx%;>!`N&U|(@XH#K%~k(~vlZrgF# zz!6SfyegKWtWO*__y;VGBt*-j)5QgGr9)%S6Z@*W4RDdae-;7wGFu*)RHWh2`l{0H z$x&Th@?w5Q2CAa*=RT*fiM0N@K(7i9XnU`d#E2}I+|c$Ik0U>(KlWIq20;@Exdyn& zZ6c-i)_c;FEpv8ZpOYpQ6iOYZ_hw^Wd{P%^k^LylT>_*}@42nJ&tzNfz5g)zHa=Us zr@;8EUL!tBv)#1WHReoF8Q_BYZ`mC8PZOm)ofO)6K{qUC_T7BVKKzI8s=Ms5Pz}B~;Kw>}a=!trrfm>PV_Kei) z=c@eqkK_mGW%T|rKsGFUk&Ii&^be4@VK`yiP{MI_0b6-MiGtYf_~xh7(Z{iJH)p_* z$KCHNP#a0hh4-+}o<0?JS5UF+sF#Vjj!L}AziG?G#7)V!_i54h_y^s(;uK5y_mU_dw(ypDKtB%l=cc3;0v(V6g=u}s}V zAOtZ$r=K{wG3-+z0hwK2{vd_TP;GI=q;uB_*6-2!^jenauOTBzm1eOfRX55k%h9!m zBcE|-PWR2L?#Z=%m5ymMcAZ;rO6AC8JHT%n52P#xE)`KJJu@odN<~<`caeTy+xSzx zW{!d|CQOzrqfg&;V}KiLBm0i?tL91tso~h!yA-9j&0GZ)7ih`*DTy{nr}w$K)5zu( zVVQ#UM#S3^cB#(HE9F?#dh{RNTtkb+u~q96nJG9?c6m4d!m4SPKAmUx`M3&B;my+N zw^<%lubdrj-zeI41C6h8l|FmFD_cRt!}R>Ylff4YBBVc-Uui#cDxfV%_7mi~_z?vS zQAP5;{1c3q!nFrty1w*jE?vHp%5_Z68mOTE@_o&GYf(CVq4dw49Y-~q&W(=E^Ib8j z6jpCvFsVu{UNXA4x-^Tzr7O>mmvM_lk}b->=1>0mnes&t zyK9O;FGL6*YUR(8`b2wD^s|VL=JRcW`Cfh}fktUWjCx(UCY$;8rf+-I9lE_bvN=HT zrpgf3-`~H#-ZH3 z7$$IDw$k^V!K%D|_6ZlK50x4MK@X>j{n%jvdQKm%ITYLiV9`|v+`aw6P~;}{_JDjs z81hQAt>8}2iQePYr;Fah;n%B*HX04geI6A)Fw9FqRX=jJFb#(ncWjLbWW^2}zV;F{ z;W_T3-u_NJ=H6KtoZ*r5j_v}CQIMry`Xi8qpK<%66(zLZ2(Pkr0TzwDNqvs#b zzI>TUsk5rkJC2lb6oe*>zZzdTRbo+-e*Oks*hck6@YOn3l^tK+CvlIZZo97w24b5= zW6~K!Bmo6ze$;C{E2PX`L4$RJv;~pNmYrMLTdd(lFNg0;@7W!cFgJD8y(3glSpMS< zFxo>^6C{{qTay1KWb=Tq-ty0G_V1whQeWDv``vy%dF|P1YPPrUBkl6mydz#r@EG2l zGJKGlfJs*wcx<8}kS zXImZr5g1HM%YECh3Cwiv)%DV9z?U5x(c3HU>LZvGagURB$-0bwO;K0s<)4d#6;250 z-+kWADcx3ml6JHi(fE*W-8b%Sx}d9D>Itbk%Mxb^^3bqe(aoFZPofybFaaecCC$+9 zuDRh8bHK4Q#|dA_s!L#aTP5!5IG>-gZCbMRN@!O7yZ4uED^{JG)jyU_YCTB?<}H2W zVJ>o!R#>Mt7cDLf++@;imSU^lKhEh2%JqAy4g2)#&wF+s+=z?`5BYWjGluMGvs3KJ z>(AAsKJHvx?SHe!rTpQ|t>aQTMP!!^?3mEKfqqfAr{H4*cpkNF{wM$O=ld2vCu)8# z56)Wfz=w@d6PK_K_p|Q%;+*O~T;J+8-kG&FkIh;%6T+{vJb3%%Dkb*vff|p$lRB@= ztHi!D?xL%d#xN$hy^wwj| z3LUk`68QMWY3gI_#I7E&9nF&UcKkJ?+eSvXj}2KNE|=&+*+;~ za{2Y9zg@o3kgzvqG&*`Yrh?V>$l;t2l=|&(enO?VV{@gRbPrk)BkGBkCJVEJ)?tl zQoapRX6;aE)}e&ImQW)rqk6HaNh3{#dR^q2#pfQc4-1=n7^i#)*@*yT4c<9Lo9->j zk$!(pqD}e(o-gx)tKfli&BY&zNl|VZ^fxkZv`H23vIrWMlT!%^N)M9bHpl4+IvQ6Q zRVrHKnTr~(sXIljOe7a0QoOoCq_Vc_h&~q{IuLV3URN`0Lvp6?PSMR9H#qp+D|bCr z?QxqL;5Tk;D_WdM|LrDdf^43LT;6KicH;F2IINz+b>P4S33oX@%ysv`5vx~iRPx`h z`u*NYlUZfo@~Tr-HloOX^yWSj?96)B3F+K75@wBTekpvQtE0%y^AEO>$pDp@gY!9h zS?f!jeZvj9HU!~6z4VhFFRFBf{snZhs(NtAUaDd-p)L(78oR*!9i)_$RkMup1 zB>w$;^cY%lxALqMG(~wfsCk#VKrliE{zn;qwI-RwJ#Lv&kGUCF=a1S_bo21FBjK8b zwO2pgjPKl}A+RCF+QS4_V)qE*RJvPr?zJEVx zHshqb;G$WxIK*e|*L;7WsnA=6eNOkh#Uqyn>=tLrDoAgtsIku4e#2(GypaD`YtLPe z=iY#><7GQJi#;fP&dI1X9sS>5sz3el&d$wM8Q#8M`wBPZYl_C3*Crm^qDlF-NDYBG z6c5U*vRAZkS!*Qk8*EDD9^0sPId28sdAL}mVdL7D-F5v%emjm~-ni$l1IS;(p6(rG zw*!mwL=3DJu=gatbb_gk2q5UQ*Nk|6tt4krEz!Dgrn$ zVeZkNs4U&Uo4X5KrR8}9@4mD<5L=(u&Dk z!u>T72q&}H*h!^t=KQ&n47W@F)&l6IS!6yZShCrB25^Le)(izw;|#(n;q=$dJ9FHddJ=f4ZXkW=n<`LKj7k5B62WrjXts8b4SAAarl&$_?dED+JqzqLj0Pqdm zxkZ~cMtJedkW@_6`f3k=heu^)jm2&&;cCCaG z_bHWlBK=r~nzVYs!Mqrdk+kBaY&+9c5`-HnD_ZTL`hfH<+LYCs75lbfhYoSFxM(8+c(=xSTqBin#A&urdOH*m@@Dh1To6ir$Hb z^vxV4on0TTE#RKCjwVRQ5JA#kVw;1(%;WWtsaLYAvlWlftsaH9Aml{D4V^}?`u@i7 zkk!xG%o1$cG4?YFJ79hJ!{^R`jqoL|*{7oMv+hUO>5Yi`uMggCm)H}|dUAfp^!L#x zi=eAMD+_(ty!T;=gz`DKd4=WC;$SE4(`jYbB7 zUOOG}jN99v;S%*`QF<&@cI5oq8fK08mcAn|HVsRHnLn_JkKF9RrMkSUq+E%%5pLEO z!s(NGo3qYkpvx|Czo?vg&}F)In|tATJkL)f%IBWs>89MSEF3$3CHlDdP-A$Fj6ID; zV|VK>zXFl6a{lCxZbJ)RAXFbTd+FZJo}Qlc&Zh!qhj@_6VlvCC3xb248{wD#xKEH( zASCEB)*8?5!^3+%J-h4&s|o%(99OHHvx>}-ltMQ9f*~{GYeiZ;xDx^j3w!qR9~9F$ zy`i^0Y51q`aMZ6Dhx>E|g5~pPo0}9-7YfhL2t2jOQ_ndWQa(BEMvSl9C10=!jLYWJ z=&c8vjka%c1uF1f+-UAmx8Wbh+Ho-XjmJf!E$W}cLbQA0{0bY`f zZty;!NLD2&TEvPAZ;AoW=ko0t4GoPmuJ`@kYF}~g@;Q^LTWhvYDVQ}QUVOMtUBHu9 zbhACxNqb9*a)wfB@e|>5(R_q2qvMCR-8OAopFFqFB6Rpw&)kR|zaOp%q_dkvPv;OTgZM-e{^N#W#XqVIL z_n$vo>9a5t51{czH32?JB;(4>n>Y8x@-Od~<008|&339hq996e@HSa~#HX&VZt>Sx zVqZ41Y5EsttlWOBT$3?k53!thEW9_C$DdfHOh)}vOcWts>G6DL@(X>C&Jv98&eH1C zVreno=L}Z3eB1YFYTvV3UpesfZW8l${)O;3GAv+bj4Px5tcT3>7KuczOk{A_KG_Dg z70!4&r=YZ?$;)a@1t1;r2B|IiRG+8aMAa}wFu`WwsWZ))Ft2l$#g;c@J-5D|sGUDE zVdoqc3s_mCO_{9(?O;dR@nVsvk*xrhxN@KQ#PHxWZjM(T&stnk(+XXWkJb8$?xm=h%^(rPW z^i!P3MM?JxBj9jL<&^F3`@DWIyN8|Z1GqK0{Si@71~0B^oIMory+v*vWV#YR{b{}| zA}@9f^kss$GW!=1_K_v%ni=D>J!G}znt}*Hl#rzvhfP;j61D{f|DZwN$ET+!b3>+j zP=_UcoPS$sd&eQ~yo}wiv;7i|dt->a!mVTOj(=nC3-WyKL9=&iE|Fz4yg;4R=D5)L zXHw6++AeQ~J3!LH=jtweewllGAqG%oX!C=`O1~GUpBxdBr^!y~*(s7wZ0dNY!Q<>) zLj-wV`SE?7qq`N&W!A)+gDwhO^MCCW@+NXyeP>2yrqamy)9Xu8jjJRTuQ69VG*l;CdxjF@I$9VC zYR9G*I@LnTwGYVYesG!+L)-<2Q%aDfvNO+(xtX>tDRpX%A8A-KZ_>VP@iCTLV(d)r=|H8nm?5&!k|bN^;w zdgUZluKNDWkudnk9o^*VrNM0OqWPk7E44|4L4tk z?MvHen`}##*Ns0rxOs2P*MqpKtFGi4hfE6jf_`F`Fj_Dnx2yOp%EEH6UGGHDs&eje z@2$I@C&H)fwpI(q5W5n%xh|4(N8GPiBf6Vcrxhr%UhF2!W;sXbsA zHPY9AYM;=ZRX{eBf725@fZ{FZQ5%RBD>kLeREgQ&RXS_y+x5R8W9w!?+1XIlqCb&W zfBZHV!uNb z*=z}-qjY^+xfJE_shA>`p+Gh%@zrCSaHS^m16sEul@x50_y4>B1AzFj-JRl+q0pJ$ z2V1lVrDDM@$^Bv!k$HzoKE_Cpyz$GOHB4Ys!M#ToukZ&e+#{#9-tPPz@OJ=V zQxZ!V-IG|cTkm4n_h82nyZz;Vy6agd41PMi8^oREn^~6hyWU&$sl>E;52y-Vr`&^QxLc=A~3#mxTj9P${?rgB;WN(yyyT4gQ+th8`69z@g}v za1Hk)-2$ZuahK5^9v;vBOm=0;uX5LG(sgJYzV(UTa)U2qBd0%?YeR98aYR6f>R{^?cn2=aG0GaJCwYmrDP%T^-3gnz2 zwXWDnu4nJF>CTB+F73Q#JWb>Q$gO%v>7v{F()a zE0W#Z??A{roT04Z(v$-X7u)zI<+Rz>r`t9Uo>*%D5c<;}9fc%*Ak7%g=q zRh}MRn3xfG#@f6uZBI|07 zwMlaie-Jp|8kZe+|2m{NGSWr;YluRa6tj3}XxB}_dLaj-@VV~JllaIJ10vP~_diq{ zIF>o!6k8$31&4}?FkG3ide*o1jrRc5lsmFHZQd57pj(_SZcu-dim-8g7a6)vdj&=u z2cGeIM%7890=yU2RQiig;Y>+d=jzWT4ZD3lb6>ME+!T9@c&z_(LPhr~>)|#(IDpf# zC1$js$B#~f)Q~?^-O%vE*!vXt>oSYoTf*y!T;+=jRt69V#4%~7oZ#J{idzb?XXhTX zE+hbge9(~od-1n*hng}{W&c{>r=gwHuY>GMaVJnAZ1cNkb#8Vvuc}MTUEF&GV=GKg zA5;*m1=Tur=o4Fl@|2gBvAyGJ7U^6{Vf+aRGvQDBY|}95Zm*E$&ktlTC*H~r|Ls-3 zUf*i{;9k&O`x(TAq1)Z*e%J1<51VyyQg>4$&2l<+|m`Z4B1Fnb5gn-Yx_<^4)el&*Qpl5JZ* z9nj~bZrOR@XnA3&RdIp>%SV=+F5Go?-+4Z+lWhelnQnvM?z27V_WE@AC9zvyJW$iq z8;zy2UmG>oE5E(Z$Iyg!qO1c*cUFfQ!jI^0w7pv-{%JY%rN|&l`w@2ce7srYxh3LI zr8pS$*t0pgx_C;9i8TlovQ7luijD#))zr*P@>7A}Cp+L5k0*9ysHtrLAuLzN-vp9` zuylB8^x5^`sd{$lFGhcf<)PV>EQ;F~ad~8@wd(9O=L+Y>r;`f~N+Y9jaw_DG6WA3< z=EKifK6*!-(>`1mov5Ap_N8fKMD9aL=IqpY?WLoIzM;CM50jN$VH5EgrSt$i9&#Kw zJC*gYlkro1k5yPgITs`&(IU3h>3(X>2ghfNMlD{6T>o%m-~Gqob(hT|1+A}|9s?No z;ZM9w z3VK19eKlRRJ+JE0+_&Kz_iIlY)LvyM%*NX}7ZjgwGMk_1xUj=As)d}jG*O`$70t8@ zAIg1uuTU~_%J{}w%dWW9%4z6UGRW}Cnzrs3L06?p$}#uZwwjh=;vjA^t|0ZJVsfiL zaz$RVBg*J~MDlGwcZlqYohOPSFrOI@=UYXZ>=J&1(lnuiQl9;E_(|>Vk}&V-kXPA; zz0D27vAKsk?aXc8t?rwIvOx#6yp@E?#3#D5)6J18!`8kWp?RJr2yA(z~d= zN0JmoYWO~`DmuQsaYbd5_-%5vBB+b46}GR3?bo7@-yO=VJ!j@P0-_akazsdB`r)9d zj%)>7{hebrP1aW1iI9yFpB_*K3kwnTihl;_B(GM*-UD7XZ6!Hkb5ohcSEcqeh+d0B z)eY*_OQfG;@dYi{&ea~5-W{ur6-iUWrQ329w&vf9k}dE0QVY~+<}hN_gqAdTJtkzh z>z$RuV#}P#sWr_vBw;`xSYK|8?KP>ookOmK;P4EYKphC~r9`^QJ=7y!g*0oRJzOPx zdG4$KN+zhcElwaN`kYU=N)e}Ry|>e>N;2Z7EH8&ryIUh?S6s}X!{Vsgcc(n{1K-Dg z^xu1CGg@*MXwZ$H`UGiSt2ZNrs#Jz%3E%j(y991O+9%cg=&c8Wr5<&u{$y-bHE`i_8ZIDKy1w#b zGMvEQ5ye969&X>WyX6L`eQiDd{8>)wiF*ZHYFH9BVSnIMNla|zR)POG zzRt=N?u@R)`17p)Wbt~deNcN=&;)IjWVrL2VTW%)$z2+w$4j#BtJ?_q(P>$4fc6gb1 z10M^DTaHGqE*1i^#p0BgTaROOy6V{i(g9mO!~I8RWBzz8_Ve2%DU00(CC`0NL=DXW0a;hA^@(pfmlIOBsbI&^Yk=j| zTM%yi@$%#~gL0jHaE4>^gWy}ukmHrw2KEor(v`_3qKng}11Y-%;KEg{d66jZ@yh44 zzK#m--#`7VuOs7SP9cNu*L8+i&cyiA-&LM3UqyGeT^l&{lY~tRt^Ykd4A^)XW&5`e z{H}ZDN2a$X9Nhn=`DDb;gd?Efr^_YAysGQDV?qgp4EP&`F!CaZMy5fP&jUiG80z!T z!{+Ew-EdI)RO&Xnf4Zgkx#g4L3=-*CRm}d?l4Sp1I(~nLY()e4kFXyi)^&rv4yQ>f z+lvL~Cl9jzQ{~ZTbJ%Hku%J~*LXWla{fTJ*T@Td!9}tgRVl=IMMxPzl`VsVZ#C`$< zd^_g$+F+_&U#tT90K7-$yh~uT0YCuzBL@<1?-u}`_8N~M-2iNvX_$tM_p{dRml9M7 z_irhZ78E9c%m3(TOMV`xwEoTGUifK6i9I<*Kk?j>$T7%?(C;!@-mjveFj%aVD`30p z+YfC$cxNcJu*~40+xf|T-GKoCP`}}OaiHKwp5Nj1i=Ml@=r+j5Ql$OU8hUu~rXqRj zE1>g=>|7#k*xO$VIBs{$iRTlRyf_H!)*I_l@w}(6a#?#l6Z5vOx}=~WX;)|3ja~(h zqdz}+U%FI(ahpiD)%#3=6Jf{lp^3TIrlyYG%E&Q_SHs=l3|y{1U`igkAnbHx>$-Eib-uLkV$kSgrLHkQ% zvhw1^hh#t`iRC_;Z{06=(BEHCfF*8nI>RYg`s>i$vzH`}e-4rpZZim7+(XUnx^7k6 z-COtA$-^cX#TIu??Mhof|vC`Y<9%qo_8{gzdEj;Gi9nTG5*wN zq*f!>AkrZR(i-Qk`qHG?pEr>ukuC;AKL(htKkGFz(-wO3=L*OCCky4H zBSJ+De#uCvIXl+wn0;L{XB+*hXj1Z@qBYmA=qgv)%Qrs7Q`|Om{Eu23B;*^c3&=@g z_UihVvqV~sg#jY1XQVC=pZOTPB=|J+C~N;hVy#l;1592&x@-^C$m_G`nG;qh}T7wd@3;fLz60NvLt9T&OuUI`mLPYXN{HtL3?O)1NM@ zNis}eR>$=gUzsk>HGJ#kHOiTkuVoCT^h4gSq)O8A1b zUU10j*EyO^w_{mmrlqoUdNm%rx6rl*VZcM2fZZ{+~2 zT)ShmJOaef-v5WOw+yTD>)L*$qy!d9h;%ndOLvEW)FPx7lF}_LCC#FgE@|oRloF*w zx;v#L_vC-y@AKTxe)qfgJ`O+d!Q)zW%{j*y=kGi(KnPvA{1n~}cm#jH2&Spo>^Ijy z`I-7^c+jnbOd?)czTK{5<(jQ_*@kNq8m9*aU|#`w7apevgtm}jjJ4QBd7iKN`Qca? zvbkzUt9ehf0x`{j93lNX3(LeZW*2RhA$;#JjJXs-A87)n1XH0i?eEb3h&)wW`CJB- z#_Z>$5`~u;*;gHv@4k9vc{yXAfquO7v=QuS@2Q#MO0tWd^V&RbIT>J1eD^moky|cU z7$fl++quLeEta*eu5ZMb-km`!`g@UJuuUKrCd6+>m#P2{au6@KZCEFGuw_D!@*QFr zRGzYqlXJaO!W~6YcL5`89P!S3Tqplln5e%T!4=D!ya+T{A`IjG5s2)_!H-k`c7K@yiZzihuv^R-pdb`_{MlGRY7VTnTNHr_ommZ+8Hyg8 z^jC;_QWp7&4iABaLgFjmeAhQ!B})hOIRzW`%*;%H7$bUQwawZ7Y|_r;H)a-qbT~7f zJZ4~3IdO_%xtwx4nA_fFhV%y{VCLNf1_n|gvjcr?NkN)QoDO<_=DG4SJvyyHUHJay z&*>1~VyF(e4l_*ypLSSw4oCkLAx^z_>+QLo-kjto4TNcH*TV&6pd=A|z$5%X`REX( zBm&I3tKR?k+5)N4dO-&jhnIZ*{9HUck=;-wj!wC;J^mn?!Cxn740*-jl{DoN)LfpD&cBMO`Ys;Rw>5_A7nQskeQN5KhfUwLJs8N5D zeEz$&ygVlT!vX)*-SuH1=;OG7(m1#ZN{8DVN1aF`;m&kFqYF5#;)_OtfNhdVk7m5= z61}>gre>IVtWzAQ2o1JNY=In)4kX#mANaQz8pZDl#^N|HxckNwp0a_#jIFeM0ZqTv zZ0$FDqD~C0Qhok54rn>7L$jdy4pB5d^uqJ@Z0ZZF#e${(H|P_=bYHStg28md%iFeB zmXtsf!V1F;k;dCawM8us!>#bp8ls(Zz#$i5aWv^rhziW?Yqd=Z5XNqpd}!1rpAcSC z`rVSV&y)vJLDIt?R9$?keswL>3OJjT*8#KpJaK=(;Nw87V@@==?`j{ATfr*nrFw^n zf`h9P*XMI=0LorQAhpEsuGRX>XRt!Q!%Kkl6DnqudKn=7hM+ziHyYI%1^_ygDlzp}<=;K%@0O}RsC`3nHsc~`CKmPXR zta8K6qjQToEFrRH@;qs+)Fn2-IceZt;#6 zl=B}>EUK=!jmz^ff%j&ZQyNMC)s8ddjvr%%6hNo&;GD z=<}kzX?7-0@JoM44EF8mhKe)x1HD7KKiO}ySGB-|Uw_FqSX zs@W*pN!jqtu$lh1`BUI;T`Kv+C#_`~h4AuFF*49V%D_vEJ}%I1>$Z5-$a=%YmV5Eo z1ZrrXNGT;>eia;EbiWiom)Yu^Q90k6p$;Xu3&tmq3NL$uj@myw+g^ioK^%Gtls1XO z_B8@9PsPjsY-}0wH37W0`kkU;v=2BwgiGGbCgk9Dn2{xnij@LjRz9>c0NoZ9nhgAP zy)F5*LdzfU43W`GrEMZ8bQu-`_RjQ46ch>2L{~6y2{js>ErmmtTbn8TRxd(bB>V*r zf{AU*g;f^4FGvkO?AJ)BxXRDGF`(EzNoEyXI5K)Y{v$R_K9T=blU2MNaK;8Ke3fWv zI2mV?iJ|KjmUp8LB`!(gjCniL3#vFPhJN+$u#TsgqnL_XpPtfoV?7Qf=E`}Fn_?b3 zr`s!b^JK+>%;(bhm-K?}HFu71NjjRjec0L16Qw=g$107$@4kvhPR>3Tth>s$&nucg z&_y#?m|UfL@UK@+IAY$F>qHJmL7WnYK}Z(C8o*S+rbKB}1~ zG`d}H9ncL-juebzqJ8adGfAA%9|hPHNlD0m2B>ZHOO&!3YlN4-h%^QNc)aOuQs9-&^GpoRCOG{vA7KCRF01NCOmdW{Sv?&Ce~aEIy$q` z42Gf;OIJq3OoWLf5G@*il~{5C{ESfc(x`(@`HzVHFm8Adtn*cSz;l*v6aJb$%rIjF z>6bzeJEBxq-J(wuWDg8236i3mDzL#2chdN9I`#{UU(w~{pmS@>0;v5Angny^XaQe; z!0f*7QGJ3@*3J9g{UJwSo_il^?dWJZQIsIJ>F51uo3wr!2Vw0X<&^_f@9>Nm4;Wfx zBIkbsvN`_?q{7Z`hzxQFBc%p{(MJ>p6gu{n$p+wR^6D#zcxZC?6yK;{wfkR+vz<#m znzUN;@Y<{B?e=ccF9A?)B2T@brv|X}s*;;zRhQRj2(`Ku)flYj+c zsqpZ1ZlO>j)y=ySKa{BrU?|T?Xr~>K2ktxEaBBHP=5{Q{r*a5OtXS=Whs~?*gF4W65woYGwicL3Y_{nd+t8f>7gbX%kvQZ_G1hFms$MwVB6mSbEU!d8{Y#Y$drI zOJ-g`h%xGX?|ot?DVdoSNi^E;hI)XQC|+rFq6DI(aPZ0c+5b)8E|sfthJguhu)gZ$ z>N#Rn8y}pWsZ>ZgcfIr?Vb`bY>;-oZhAg?L5Rt&^i zO_jcH^3$d^`BP0vth>9nXH!0x6#fY2xq`XwOrpTT+In9lgdtdt9KFG%iw{FfP z4}2xB57SkZ`- z7)6nRyZ0kk^ob}k6|E>-4MRIUH*n(7RBGnw&O|tw=T;U~*JP1qIG`m=;u(^!T#))b z?{6=p=Mq@tO#Lp4fj=YE=t6FgG)Tw@>jgK3{%YVUB`{Fep%TZuuEztjOJ(KVU}9@o zBOn@5eZxF|9Al`mo=y73R~X!a1cnD`xWo7e;AEDUz)Lmhq8%Lw7<)@$?8>S_54~9Q z74?Tv_A_t5V`C`;=3l1?NTYEEt58)?43ld&QrzL#GUj6V_aKM7q@tA>Lid!_C7jFp z;BUO(PXG4ML0tfAA? zI!H1R&&8|Ee-WT!#~2902SH)2RBwwqsc95&7K+4J4to#!Rd`m#&|EA7;Z`u)Mz z))#NPzY|<8$_8Ey$jTB`1I0Y{T=3t&f2jtAS)i2^m&xJ65IwKcFOq*Fk>2Kl%7Hv_?%9J+0S@ah$@aSLZnwwjRNe|)Ih_`|xh%keF6~flN!`8d z5GE)@L05<^z!QC`VA3Nxcdm>305d;S!TKc8neIYKCsA+KMBb3^l_#D4j0u)cWbhIzSp z`sDg8J=aH|!4#bv=q|25#cwFD{~RI)qAi#SR7U%0(l+GZ4auR!KmPJ0ULwf1{@X}& zn_3dP;oCJt52!ZTPI*T6Pk0|b4JI;X$A_2RE4I8~qcEy#!i-G&Cj23Z1~b3jz9=%> z1C7Ce$x&mQK$1eJPm@OXkx@tI+%c73wk!S$*WEI&UD_2fy7lwG=ZUg^Q9p!L9$Bh- zJFmL~PZszsAwY={;+XLB$wT5+6KBBo>W;rfaCQ!>GI~ zng^S=J*a@K9ZicJ6yZy+`K&(KGiiK5{rTcknrKmuJiwT(2{LEp38MIX0p7CmZMGC8 zg_c*GZG)QPk4S%PEE`g{|Hr`a9Yh!&O!52Wl3s1p=eD;kk!ZX4b4?2K?!~?N;x)U2 z{|uE}*F$DMrpQkM`32p>$F^yoS1+!_-o-r0RqOl4I_Xeu>h1ORX)Luyj1&B4hOi+8 zI*ELt_Ek$;&198M`V@KQcoq4ieX@Hgu{>fbKoI|aAw5z0{~I9we}ab5JFo_70%RUd zLUn4z0u$DOA_Qsp2{Ud%!79wpet_Leh7(HMFhPk_`Zu<+vT`d?&lXqqv)Ym56+o#V zp@jD_J1qfs9op&f+@nvc?fR*H*SX{3H@!+`${o)O)J;+EY@AGJO&Ll8g2NCGZMgdbCYW4)hTtW|h{-FL zycnOC5$NN-#R+wt#Nt*-}Bxf2QKHb%H1qtvQ87 zFeU8l8H^UWVweY@<_fkLK-}0f@1Yoxm9Y0Iyg^a7cY+f(i|GS~iPU=Ds-`?C&{Lgu|?$2lW7bhNW9iCSQ*W?Ai zZZE19xczp~9@hHDU@VIrIyfzR)i=;{xjRY9SjDic@pqEbK_9bFe3TE>ueS3KLMY`?^*=q=BOi;d@`=5@??{`VM$B2%tBzDi3d_MBQjbtay{#8X zP}x`;MM~Rs@@vLc3_Qz23JqfeCDHe2a`q_MS;`Rx+azDWHVQ)kP1x^rWdd-1Zt&eu zz3>D)P@&VNuL-~E$;ru9&D2|J*o<^X>M%L{c{at7Js99QA1wh~@pNzIjgI!7DmZ2A z10eosp=BO`ER_1m2m#{b_cG2F(?5#q+4M{iam{D(+lrPWrnyi&GUn*oe@Z|?PoRZYCmyLz2=AC>Uk@_?@m#gW6f6ZzJh z+$5Sp$I$yMAq0=olub@!vDF)81hHQt7KRpR36B22L3Lx?*fZRF>Q96x37J3Z9ag1C zU5HQf$>^m3!*TE!4kn&%4-sqyQlFl3KV+<6odV|AkS*9v$DS!TmDNxtl6(;{_Q7`BEw6on*q)*8k~2aSiErJ*ilT zP(zO^p>Q~pb{2yZu<0|XWcNSmg~Q~FHGu^H868Pp(0-{Mg@AE=b3u+k3fW)sN6aV_ zLGD(g_88D-e?-&x*8`c#613PFB|03Q*ZXyaAc==8;xlZ!RsYGMeb?tCWN7Kk@{6us zb)53eUh*xV@OCV?rcPua}$%obmfl~(&S48hG#3oFHTytcAJw&vXy z@h373!e!@+s`q+kvV`|;!vVMmUhy99q_c0lnY7z2 z6u+27DqJW(towN%@wC)NhR1H-cKW%>w)=lthN#&83uZ#Qmnt;t)Z>1+JM?Pl3k>Dc zw^0*(V&dJJgu2fxL{(pFtr!LU&J^GrF)Tn--kC0?=;6&xCQwXFpegpfzw2}i;sofS z)!0VoG%0OAC$bQ+E7P;G->TegRA~bCem-P3$TjY{>t5ov}b|B zbsjw6ry2J*z4^3?Ab}~d#OOPgBSxd96IH(iuPKBX&m*RjkfOe9aF%==XH(GQUi;Pi zE>f<~u6;H*>f0Ld8naG!CWqsm2Qtdj9fIb2^@GUja&1XW)8P8{N6#!HZ*3r>|AD`l z6ouE@1s)Z~xQ#j1q}>0~gtyu1nnZk=RNUy%-l?5KW;sR8$5VB$5Rl-zLW z_WoO$jlz#*P{bbzL*OG}5hDV=kB5OtWpO6~+UD&G+*z5dVudL9q&Ax!thH*%f; zT^te`{RS;U$ks$0y;>D+PJuJ>+qpCcnh?5QixS?AHQY3sk_A`7zUdbKMOw9oJoQ@c z^~7`m?xhTXKz;rzV8HMiv&a;DCoIS%f3_w5l)j0zlHNE6&Y1A~*3(hN2U|f21J;s*%%aCSHQN@ z$om(&K`z2N`W6|7N#HBz_H{$#RHaIvEhl!KZSS(LfWfK>oGyv163w)J=L2yV+-s=w z%>$T~l9{3&Vffd_q!rK%)>$djYoZLkp+XGv7NRnKuoar_HR6J%x~knz53uZ6CiS3a zjIwQ;ZyYm!H^e{gkg8Bw>9eRHX#O)ZujK&CWgvKJ@n{)UBmb9VyuI{VE@Zk!G-ab~ zTC&b?s?Xj_l62|6ov)XwDUGcnyF(=ST>YG==Gu`aZt%13#CF3#^J9G(Qc_O$mc_DoyC6TLqE<9os)rJXAk zT4rpBvEr&b?Y*j46XbVZaXhK+Wyg}DRny)KF%IVwi=uqr{pe% zG??xs3)Nq~-z+}y^!+gyf7I3_^|3<@x~cJw?zX}np~ibR!^TCc zKwkK$MbL*43TMBdXzik1C~H0m+w_so4HO&Ind3t@sdijf0NJb|A@1@k59F-)$^*|( zp|LE82YCf~N%DE?cTMq@qI~@tGL8H-u)G9C$gTQ|Fl&`CT#2cj6YX^aBDP~->)V1` z%VCxl(qr}Gdnl>oHV8Ky5b#M&e}2s*e7}{W(d6l#zxH!ub1a!LZdmWH`)i3P~=+Al;izvXc7O1S^`=Zny3VLN<-**}_0-cMXj?tL0d ze}Ex{x<)@v^-Tf{W6xt4Pbtx(;53DzZ=R9xIH(UIs@FQK${2e*sPYds6f(?IxP8B? z6+GnLREd`H^c+g@1gz!61rK5uciZO&!Wi5=n5`GGl{emmfWY`Q7H!%)jFqAP{13h} zId<`@ts!#DC4>D=wUEz+ZJ$e`3GbZ6f4pWmqA;9Xi`E{^r56YsWue-!8cCsnlKUP- zX_x#qaB9i>%)+-FDX%3Zq;jRA{?GfD7mn-flz31ur6qLckV3;V0G#~nJdkz<&L*ty zv^MlU1YxOh7sxQUig+R+)@o1byWQodR(B?fg&jK*(3#^ow+!Z0&V!C)nWP%&C&aHR z$5cO_eSzU)Ihw=q7ff^3dv)O~IVP2Jr>3Oou3mMc*?c*yP}@=BIF=S|TjW!7dN@kG zlamw5hy->Okk>G>HNWXzCUq$&;?FsRCaCL0#xtF}zEG7dHU=bN=2b+R)FDqzix_2jEjEIN`KaeqYCjXRPr(yh9 zXUEUePWBUER}n-2IMm3!u1aaiq=^ z6@;_2x0>`|01ANO7D$R3HCCDqNifjD-dJ_(T|M@IL)Zl7)ssqJBltdPcx|R>iI0O$n!D=#Bia5{y zRizUu=>{IQf8yKN!^kIIZf}_UV#KhrIrHt&5NSw@9&D7|a=V?SG?>RwAUCms@t0h# zuAIC)WvW1YLz&mMJn3pKwvTqcUCgn@7Ea*is3QAWw_@RZ$c{TpObLL9JQ3&3_6SP# z;PP_bJ^p_c7Bdt1rq3+?*-*@-I7fqPtj9u34biVPvbs~_VjnkM-F@2xV4wA)niRNh za8$`X0f6J|q*^XE|79mo0OM6uTrye;L<)Am!eQ(D(nDeW8yi4$1d!3wvnj)H?q|U3 zGG1;h8C!>enWm_Q3>L_xF6oDFu-5dRw^wLdFDCWM7rj`JVXI)RVW1()KN0YW25uaXL}gg~ac*U2BM1(m$7BUftF1!wKzwe~0( zqQ2=`uhXT5WFoRhC#VlOSN_|=Z#FG2f9Ay&Yi{{p<&vtxuTp~v!rdWv7tVf8GE=e+ z31mk{M=7OAr(eRd<+jUFZ6FgE$`I=vTnmS7DFXB!7*m#(fv3>f5Yy7DH z$ONA?!w(zrKWzUlTgrNb|3H020P0JxjiSor0aYt4C>+3CbpA0~d)V3etR1Ff(6i8s zIVT)p5bpez7U>v*({q292|u~t@wNWDuu}`Nmm!lSVBR8T@Nv$;1%p^m^HDa=bEAn@QZ=8Zwp~)8#EgY|x%t>#*+%liFHhlS70f46yi}R^n zON+w|4SvdI#o}+@M}Hhc?Y?J&gjpT01~+^}-4kj{glCqxz!o6|G+Vs+CC+US)T2L4 zy8{e!sJg+9`g-|rmPaj{;eX@LW<9NjZ(RrN7X|LQ6zVI9CYo!S9`L~>v)%I%^6i=N zzdKinpQ`^0E~L8ABWHQGknIm%6X6%l;47O3b9OX~{^(qMRalVhk>FGRY=%Du{jG){ z_IV!in*+^I9e6K4Qr&;MnVsEyH#uR=Li5rkn^tk>Nx!^eJcBropni_ar@%Qfj|xEa zC@Y7wKpgezc*Wp@_4Ti;=KH*g8BR{Y%DYSIXLQ z3)wH6zJfikVIAF}PpE_r>W4lx;isgWE(FaC9t){Ada(|?q!8%bHHhUA_B^#mE4m5= zT}sf*CYg{Nu}qs>!pjZdtdngdm2^1o6vdR%Bhh{k0?4()0asT=`B zz{F|?fsP?A zMurXz3MR{^^tQ=3m<_1z6WexwLb)Xm{7YmSQT)Xft+B+2NI`k{+7iqUV6p zkJu5Qxw0HWo;S$eHuqkja^7pt)6KX*>=xufJ%rLfBpO&e5QCW6t)OIbV8xNsj(ovW zpv!}uiG@Eab{0u9JDaDRWeTu5p4qzmlcepW(37o6HVrek{2v%O4a!DYiaE^cSZ@-=8WO20mkZ#S^`qV=9$tV1-WXbQ#tJP*xhVkB1NsZOt z#3SD@1y11bVMO?i>v?^7Wur(I=c+KD%F)UIxKW*F%#zg9;T|1LuHC(8Ux3V|zTvG%Fw)u+ zUNGG=qCxqUmv+1{LV@nF>v7t^kKB@Z-_h7{1Lp%J1kK&?FGcg?GiVG{dA|VL8LHEV zku;gvYxq~H+xq`4%3=lMF8d*N;)#!zit~SuOy7Jf`jmV+*?Jswy$xnl-Qld~`tHx> zG)VsC=zKCSQ|U*ukZnH-u~TOVooWQ05wv4-KzbCq7&SS=s^k&_*`3B@jOPU!ff;4+ zSH5}zlbX#JP7NX6#OyHqoKC0BEt|Jw>uImV`9rYPDn5r7dgXlYv`Uz+|D;%Bv{3DH zwM}oe*xK^^2-vo>tXz`E@hga}pg ziRzxneVcoWuk)ixvI0`$obUFajRo!wVQiYo3K|7sUyHQX{an2#l!2d{b~)IeQZg9g zIKqgD_zj0lSQ<+IXKQ@B%DJ>WCQMpdt^a8cW0o_ECY#|&fZsVVNTb(@oHX@+R!EcH zI6$O;L@nI7@c%phVjc_zxq-4fwRHIE!329%v#A9~fw=*y?O{-C;5P3P7}*T`<_|8R zU2(TB$gbf-PDIVM$=D`j;w7Njp$bhT1K1+#c(yd=0B8k4#Nr#BEI?QLBcWouuNWGC zbsnVTm3>GyJa-SBQ>yfPIqK&HhOsOA#5kTo7$iE@(Fwikudw{VRYtJ*<|w)!S0u7Y z3UB!DmH}8(MDl7g;YFf&^Kz~N33Y=-gI^G{Ce80*a>P?*>^|$A2Mh=L)iM7Xh@QkPPWdY;Q$Y%~yG+D)HQbC!IkFl~Jq72q5h zneSa)Yb`#m-q&YK84S}0@YppU%iuo3$SY+TxQqRyzhMh^iC-M7I8H2JnR@%-+baxW zVq)v*%1?N3lt)?DAUlyLnAYtFT0JhpUOwmI2*50)?)Y;C9?;j7s-qHj&drP>MFIgze_=yeg z<%m`s$Ju8EkC%td%|f_B7=vMaM3LPx^KLY;EL;xj70(g)DD1CJEtl!KDWA?|`w5S2 zod6znpRQ9CUT&Y=`*8nfy6Tsk#2p`3*fZQevjw zA!jpayyOc|^@jqFaBi@YXu>Z?nxO7mA33+RRlLiJ>xlwq~5KLEtoKh#8D@y*Xb z@)h(7Lq@k-szW*SS`2p(boon0$=kY{Wo>s2R;a$jF4=0@{ta9iXcP%ZJ|Va!AL~W( z3Bbz_`A@eG1fpte2gd;c*lfZ3!eIHNYXb68(a@m>9}hfd;aJC>hiTpiEk^c!EKix) zMEDQz$+9Wu>sF>-WtPuffj~1wL!td);>t3h)L*X{;n*sd7g5kDww6$7DF$2U(BecB ziy%HY9%vXJ4r^fntTsMtUC#b1@&kozB<2M8sT@4$&4&l>&CJXUcT|DG_=N(HwH=YC zsN`M*Y)sH7>XwQft@Vr9(F|g7Kqpz8$R=z7l~b7_Q{DdulqncVDu9;kSqM#eTEc?X z>(`4wKmIThEP__$C9E7x8&mmNyV~pGp%RIur|AHm_R!I&{xHTJ~_f%J~%#OK4#iwO!<#15Xh82AM80A!&4?j0QfZuGeA zm&A&t7&+Ngh&$myT?+2}8!JM{_Qu=?Q9UT5eKotNbCa`GLB4XlLQ97Nt+Sg^%ChrZrn1~V{%_+$a(w0qjDO!bYm5w%IQ1O) z74NU-`ro$j39qQoEv8BhEJ4bLR_Kz8QtG*k7r}`ICD#q0T5XAEbYhlp+Yi}HZamL+ zqyeLW-I}FrB_q^d`H75#HaM}}O-X}nQTz3ai{$0$x<>n3Ux)*(U09zCdz|8&xL<0z}XfuW$=vlnQp?E2uDmr%2?ort}ph zz~r@KJq19cL*tdtrhiW^H5V4GoX8W7ONDrO+-2FBno4r@Preb5U?lcBQg`Gm&=m=6 zJH)&Qu$djeb%Ey~^VLkWDrq;LU?K2;!fS1)ih(Q8Kze7pJ#2jt9>lA^n07f0gH}DK zq_PKU9ma(bSfyyoSgvfqI+4*=_Yf!hfP1D%o6R&+fN0ytjevxIh|O3jO6%^H>Rsxl z8RRIcjLy`RPxOA*2?vjD5POA2fsK!F5XuvjGJG&I@hg>|dZj96uF|m0XXP9VSS`fh zp60JhBZN7_%mP)q_^mQ$I01W`9(s9M5bK|Ii?D&|MPM{3XgT-Cu(bQ zj5Q4UN;R=Y;Qz>Kd2`Ugja=G#wR3NGsMKD(GB2KP|RZdn`6AQqE;6LMl zs}X#Z5$`I%ozX`W7-I;-c$O=RhtSh)jF*;)ZsJ9Q!NGvY7O06FD`OM$lY6*w%#Y<( zIKP$OZNaCh_JiF-i>Ax{nUKh+ck#mdMXSs1;%2Hq2msv43N$EH;zIfysRDl$7bqoaBp^Fpo7+GE12*hSpz=rHv|I#^B{wgO+9f$8O2aUWS)Y^C(nX-sI zUu_u|D|-T-Npe;MUHt9ecY^ianK-yF?BKV_I|?IdKd$@-Bt(WKF8&sSnYFglfkKEr zX#)=jP*A=)`EZ9-pXDGz3lI$Skl{59LIRLPeM3vy+0~97qs8Jk^K^uYwZBG;qko+z zOXd;yQ}o`eOZjs`!n(N|qh(5590-Hkmoa1^8yfA+g;8wL*dhYegUx}TJ_>7Zs?2b1 zD*psAv_xYxO3n}h#f8c#AtCESR2K(UPfYaHS(tk5eEtwWIT`Bcd?89@o9!wm| zbS0odSxsF-!GALk$-fR`16 zT!IXr$m}&Qz*Tk2ArnoQf-UAj(IOht195&2O^9aR0AjdP0Lr&Vt{PKaL(MuQb=Ffq zU%3Fsn@n>i2?%?5ImwL1&MgLOfGVdVAyPa-B$Dy7?r|8Z4#RW1I%TRUUVm$G!jr;^Gt>*9_3#9 z^(kCnWcorLAwbZcBM@kT11aZVzG)0pKZv{n_rZVuWZch{!_E#DGagQ|9BPjkrkB#a@r4`b4& z!$Ry4vKR#|@-$Nyhs;e<8wubNve*n7he00|slAo~GL_;ZXywwHfi7P0nI)>{sc}yU zaG=amVBwomaypth2oHg$k1?^cM|1f1b)JKd3jWCvBSb-s74b1q`*B>rK{*mZ#3d1@ zJj?F>5UB`aqO`2j7saI5SlbE&>jndoF7`p?9QpKhB>{Mf7MD*xnYjE*OvS`MjVn(c zE*DCIP&-=Q2XDLNF9ZXd1&beX&tiZ`&*kXEn*tH7Z(v&mejU?$sIm|P&OwCE^Kki- za5R=`_o2P0%o2PlExJRkAEe-OnxdEE``usJO_yiI+Qffst+QLS{ld&tlzEvoRQkq8 zacCPY40FITRqa0Y4Y$4L<0hVueJAdO_Swxq>!Rjr?$sXxjq?Sbm<%Ds5*NZ9re4(f z{_GgYAl(MRk$GV3do}0uGR2L$HX!|y6CB*c6JV3E&b50fNKq-Y_7gGucJl$CjQ#RF zqzzfMY1pvUf)x3NuAPmOK;y~*Of=L(ut_7_32W_-@45CN6+Ipmpjy{3yZZ5Q)z=<5 z#P3D^*C-6C!5kj2U8BKBhQwe!2$=Z+Vvo>uKCyTguvAa$X14l2Z{NP;q;Zu$p8G4x zQ_xshIhu4gY_Wp;W2Ks+^64f~(^JGjq)>EjgxG{f-1>kBq-y7o1OA{&QrtGnzD={M zS?9)SjDapeu~|ll3zk!LZlzV-O}q%_vqd>Ou7 zUWZ6BR#KEV&mkVyp~T{ga_J)=zJ)Ltwne%6o}+uW84IV093!o-t*gyH#wySP&123x zWdWxv?ld52MUe|g$+{lqCA;hl^Aj2>c_bN#HyAYa1XFAik8>D!9rpxVM~HSUN40Cy zUR&JOI$l}ziU@d|JXz;0l|9>?$Z9m7%6q}{Gn>ntY5Nj~e*0+TnMUh9!$hgUM}ZnE z34_^n_54ZYIhTMc{bw=PtNV5LO4_N{uhAFDO9h=BOtz#5kQ2i-&;H_tvSc9SctD2H z_Pp$H_iqNNiacE3Tj>s`C#Nn(?W`y36^<)LCnk-x+SQIMtbB963W*y(xw;!aF~5!U zbM5DPs2;jlKYw!2{$yKiwyS74)2Lo#&_s~t`1o%aMbqReZ z6)+jdW^P&^OECCDTGoYrj@;ZT+Pp@}6pP}&zCKF7Kp>^HvS&|=)-CDxO{=G@O=d

LH4dz614L+E48-Pmi3(LYsNcUg6#HP7fg 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 Date: Tue, 8 Nov 2022 11:50:36 -0500 Subject: [PATCH 2/5] add serialization info to 2.5 --- imjadn-v1.0-cn01.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/imjadn-v1.0-cn01.md b/imjadn-v1.0-cn01.md index e2e39ca..380cadb 100644 --- a/imjadn-v1.0-cn01.md +++ b/imjadn-v1.0-cn01.md @@ -478,6 +478,22 @@ the associated data. ![Parsing and Serializing With An IM](images/parse-serialize.drawio.png) +The internal representation, illustrated in Figure 2-1 as a tree, is guided by rules associated with applying the IM: + + - the internal representation conforms to the IM + - each node in the internal representation has an abstract core + type from the IM + - each core type has associated serialization rules for each + external representation format + +The [JADN Specification](#jadn-v10) defines 12 core types, which +are described in [Section 3.1.6](#316-base-type-examples) of this +CN. The JADN Specification also defines serialization rules for +JSON (with three levels of verbosity) and CBOR. Supporting a new +data format ("external representation") requires defining +serialization rules to translate each core type to that data +format. + As an example, consider an information element defined as a boolean type, which is the simplest core type. The essential nature of a boolean is that it is limited to only two values, From b8dd6354fbe2687fb1d2e93ddea57ed2031b445a Mon Sep 17 00:00:00 2001 From: David Lemire Date: Tue, 8 Nov 2022 12:00:02 -0500 Subject: [PATCH 3/5] add CBOR ref (rFC 7049) --- imjadn-v1.0-cn01.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/imjadn-v1.0-cn01.md b/imjadn-v1.0-cn01.md index 380cadb..933927c 100644 --- a/imjadn-v1.0-cn01.md +++ b/imjadn-v1.0-cn01.md @@ -1485,6 +1485,11 @@ Pras, A., Schoenwaelder, J., "On the Difference between Information Models and Data Models", RFC 3444, January 2003, https://tools.ietf.org/html/rfc3444. +###### [RFC7049] +Bormann, C., Hoffman, P., *"Concise Binary Object Representation +(CBOR)"*, RFC 7049, October 2013, +https://tools.ietf.org/html/rfc7049. + ###### [RFC8477] Jimenez, J., Tschofenig, H., and D. Thaler, "Report from the Internet of Things (IoT) Semantic Interoperability (IOTSI) From 5d602dcd8767642775ca2d2fda34ccf2801b5c50 Mon Sep 17 00:00:00 2001 From: David Lemire Date: Tue, 8 Nov 2022 12:01:02 -0500 Subject: [PATCH 4/5] link to CBOR from from 2.5 --- imjadn-v1.0-cn01.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/imjadn-v1.0-cn01.md b/imjadn-v1.0-cn01.md index 933927c..65db5fb 100644 --- a/imjadn-v1.0-cn01.md +++ b/imjadn-v1.0-cn01.md @@ -489,10 +489,10 @@ The internal representation, illustrated in Figure 2-1 as a tree, is guided by r The [JADN Specification](#jadn-v10) defines 12 core types, which are described in [Section 3.1.6](#316-base-type-examples) of this CN. The JADN Specification also defines serialization rules for -JSON (with three levels of verbosity) and CBOR. Supporting a new -data format ("external representation") requires defining -serialization rules to translate each core type to that data -format. +JSON (with three levels of verbosity) and CBOR +[[RFC7409](#rfc7049)]. Supporting a new data format ("external +representation") requires defining serialization rules to +translate each core type to that data format. As an example, consider an information element defined as a boolean type, which is the simplest core type. The essential From 55680566e82e7fbc14854c3095f048f6f3d1cb3f Mon Sep 17 00:00:00 2001 From: David Lemire Date: Tue, 8 Nov 2022 12:13:18 -0500 Subject: [PATCH 5/5] fix typo --- imjadn-v1.0-cn01.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imjadn-v1.0-cn01.md b/imjadn-v1.0-cn01.md index 65db5fb..fcced16 100644 --- a/imjadn-v1.0-cn01.md +++ b/imjadn-v1.0-cn01.md @@ -470,7 +470,7 @@ the chosen programming language. The IM also guides the creation of routines to parse and validate data being input from storage or through communications, and to serialize data being output to storage or transmission. Deriving the processing capabilities -form the IM ensures consistency as the data is manipulated. +from the IM ensures consistency as the data is manipulated. Figure 2-1 illustrates the concept of applying an IM to manage the associated data.