From 5cb226026e104c0ddb855c3ad6fee5212a796006 Mon Sep 17 00:00:00 2001 From: Alex Sayers Date: Thu, 6 Apr 2023 22:31:17 +0900 Subject: [PATCH] Add Iroha-style numbering (+ bugfix) (#555) --- library/src/meta/numbering.rs | 109 +++++++++++++++++++++++++--------- tests/ref/meta/numbering.png | Bin 39055 -> 29684 bytes tests/typ/meta/numbering.typ | 42 +++++++++++++ 3 files changed, 124 insertions(+), 27 deletions(-) diff --git a/library/src/meta/numbering.rs b/library/src/meta/numbering.rs index f155abf84..aed2a9e32 100644 --- a/library/src/meta/numbering.rs +++ b/library/src/meta/numbering.rs @@ -36,8 +36,9 @@ use crate::text::Case; pub fn numbering( /// Defines how the numbering works. /// - /// **Counting symbols** are `1`, `a`, `A`, `i`, `I` and `*`. They are - /// replaced by the number in the sequence, in the given case. + /// **Counting symbols** are `1`, `a`, `A`, `i`, `I`, `い`, `イ`, + /// `א`, and `*`. They are replaced by the number in the sequence, + /// in the given case. /// /// The `*` character means that symbols should be used to count, in the /// order of `*`, `†`, `‡`, `§`, `¶`, and `‖`. If there are more than six @@ -129,8 +130,8 @@ cast_to_value! { /// How to turn a number into text. /// -/// A pattern consists of a prefix, followed by one of `1`, `a`, `A`, `i`, `I` -/// or `*`, and then a suffix. +/// A pattern consists of a prefix, followed by one of `1`, `a`, `A`, `i`, +/// `I`, `い`, `イ`, `א`, or `*`, and then a suffix. /// /// Examples of valid patterns: /// - `1)` @@ -256,6 +257,8 @@ enum NumberingKind { Roman, Symbol, Hebrew, + HiraganaIroha, + KatakanaIroha, } impl NumberingKind { @@ -267,6 +270,8 @@ impl NumberingKind { 'i' => NumberingKind::Roman, '*' => NumberingKind::Symbol, 'א' => NumberingKind::Hebrew, + 'い' => NumberingKind::HiraganaIroha, + 'イ' => NumberingKind::KatakanaIroha, _ => return None, }) } @@ -279,6 +284,8 @@ impl NumberingKind { Self::Roman => 'i', Self::Symbol => '*', Self::Hebrew => 'א', + Self::HiraganaIroha => 'い', + Self::KatakanaIroha => 'イ', } } @@ -288,29 +295,37 @@ impl NumberingKind { Self::Arabic => { eco_format!("{n}") } - Self::Letter => { - if n == 0 { - return '-'.into(); - } - - n -= 1; - - let mut letters = vec![]; - loop { - let c = b'a' + (n % 26) as u8; - letters.push(match case { - Case::Lower => c, - Case::Upper => c.to_ascii_uppercase(), - }); - n /= 26; - if n == 0 { - break; - } - } - - letters.reverse(); - String::from_utf8(letters).unwrap().into() - } + Self::Letter => zeroless::<26>( + |x| match case { + Case::Lower => char::from(b'a' + x as u8), + Case::Upper => char::from(b'A' + x as u8), + }, + n, + ), + Self::HiraganaIroha => zeroless::<47>( + |x| { + [ + 'い', 'ろ', 'は', 'に', 'ほ', 'へ', 'と', 'ち', 'り', 'ぬ', 'る', + 'を', 'わ', 'か', 'よ', 'た', 'れ', 'そ', 'つ', 'ね', 'な', 'ら', + 'む', 'う', 'ゐ', 'の', 'お', 'く', 'や', 'ま', 'け', 'ふ', 'こ', + 'え', 'て', 'あ', 'さ', 'き', 'ゆ', 'め', 'み', 'し', 'ゑ', 'ひ', + 'も', 'せ', 'す', + ][x] + }, + n, + ), + Self::KatakanaIroha => zeroless::<47>( + |x| { + [ + 'イ', 'ロ', 'ハ', 'ニ', 'ホ', 'ヘ', 'ト', 'チ', 'リ', 'ヌ', 'ル', + 'ヲ', 'ワ', 'カ', 'ヨ', 'タ', 'レ', 'ソ', 'ツ', 'ネ', 'ナ', 'ラ', + 'ム', 'ウ', 'ヰ', 'ノ', 'オ', 'ク', 'ヤ', 'マ', 'ケ', 'フ', 'コ', + 'エ', 'テ', 'ア', 'サ', 'キ', 'ユ', 'メ', 'ミ', 'シ', 'ヱ', 'ヒ', + 'モ', 'セ', 'ス', + ][x] + }, + n, + ), Self::Roman => { if n == 0 { return 'N'.into(); @@ -420,3 +435,43 @@ impl NumberingKind { } } } + +/// Stringify a number using a base-N counting system with no zero digit. +/// +/// This is best explained by example. Suppose our digits are 'A', 'B', and 'C'. +/// we would get the following: +/// +/// ```text +/// 1 => "A" +/// 2 => "B" +/// 3 => "C" +/// 4 => "AA" +/// 5 => "AB" +/// 6 => "AC" +/// 7 => "BA" +/// 8 => "BB" +/// 9 => "BC" +/// 10 => "CA" +/// 11 => "CB" +/// 12 => "CC" +/// 13 => "AAA" +/// etc. +/// ``` +/// +/// You might be familiar with this scheme from the way spreadsheet software +/// tends to label its columns. +fn zeroless( + mk_digit: impl Fn(usize) -> char, + mut n: usize, +) -> EcoString { + if n == 0 { + return '-'.into(); + } + let mut cs = vec![]; + while n > 0 { + n -= 1; + cs.push(mk_digit(n % N_DIGITS)); + n /= N_DIGITS; + } + cs.into_iter().rev().collect() +} diff --git a/tests/ref/meta/numbering.png b/tests/ref/meta/numbering.png index 998efe5777f7acf13b8bf8af9cc766c6f650b7ce..2c5db2d598062e5f3b19b91043da4617b4a056bc 100644 GIT binary patch literal 29684 zcmb@t1yCK&w=Oz+V;kQacTJGs8Z5X3cL^>bI3c*R2^-ho0fG}OL4y0nA;BTIdvN!V zm)|+}+|NCCus$137Gu=}&T|K?lx4v)nOr(aI0xlK>761UaiZ5lg004vv0BE<6 zza2n5ohTRp+*%Z6rF6XK4;F1SboBoqPx&y2S_mBcRrphx<$DPTW1qs8WP3QTX8ka$ zd*Ws-kK5Sn4`w4M{7^KBbY#Ckup+<=ZAaI%UKZi8(6a|V!pgzhb|FzOucPSSLrZQp zfo?XTN<~_wI?qy+E^RidyG{`OkyIfIPqbye-ySVx4KOvjX%#FHr>t9d?z;7{swq%qxY47cLKg=Pw4E`BrLc z@%@5e#)YI|;Ls{nw1^QI5@Jf3dY{zBAMfq${s0IYG|C8CAQ9`_vvN!QwNZ^}Lc)&C zFr&8`O%SSglZ{U9(JtawB{1O`pDCt70edFv&){Vp;u28r*m4G}3foL&7>t=@)JQdW z`QiZAo6lC+9KJHfIGqpF+_(!(N;bPwicf!Ggc{py2Q=_@MQFf|AJCj_Vpr>=J?D<_ z2s6!^7I!5Y6sfXXwt7U?QGu48KxBJzAIvn9Bm6WpnC;s%->wGPO+9lJFCUomo0d*0 z1ToNr>=dJinw2S0_*+*;IqVwIjQ}rRw_ZWDc7#PmD|^O@WYd|mk*d{TGPa~9PEQag z6C{S{D-VOCho@)uhXnGq{bxYImPr*ymZa~<8O4~YyaPV{x7fC}->)amsV1tc8-Jr) z5OPcPe0!A@KuO{WZNhdePa4O2M`Nq6v+vjC!iF!H$-qt= zz9PTsLtgV~?hh5a1cneDeg>U)qzwF$ltN*a%hN*gWSlXEl!uC#53brpEfY)(oD5i{ z5=&QQq3{nRIJd;)))8a;Rlv&?@rA3Ox!_po z0}(JC)rE9qRyj){grB?ej}_8t6yWqR{Z!g8?v#vW6uYY$GQhCW^m^|=t!Y8~BRYC} zMo9l)fS#M1hg}hGN1PpW&hH~CFubykOl-U4G@8Ip+G3`KnUG#rwgC(zaD+k zZ<&glL3!EE;D4Zs*Bd*e3kpz2$EOwc*8smF(%YEb@;_WwMkMpf96nE7QO5gOBb{^f z&Tagf{FOinV;IH~-d(vR|;Z~T53R5`6Pr5d_b?#Ssw!Cwx^#vIQl@^E-rSKor z>!XZch?ob;xT}*L-Hh5L9jCavx+5E#62|L1`b|-)i@g#K+KJ6<-#NlwEu zV_UA%`h86Ud@N*t5oFq!-MIsgyEuwc&5+~fSPmQ-6yM5`ITrilGuxA=#i@=gnC_DK zBu4__#KmhOnvcjs36cAucyI3X`>TUQbu8V4ywDIA6KCRb+cmmHQ4IaunL@5t#pAfx z2MKBK(icdZw~SA=Gf_6MJ}d`R69|30<`Emb=g_F$ZEgI@dQ96Dk`tV<0u;!in$J-N z4rOKxXIIe^O-Cy*LCj{ryU)y|52a6$_u)Xcl?Z8Nfdas?2B`k{fD7i*_x#FSkwHgf zkHT%1jhMgm;ewei2%N7uXd~=t6PHpn0-e5dY9o@3RYCPi4cDZ3HthyD5XM-@*P(pC zsJsCxHkA6F6|BRW0cQUY+@Ww1^cGsCgXnP;2!3P$vCL8kMty{8(2cU;48!i}?6(>9 zqBgi?jJw8gd1z%%jL4%$qxA2?)i!p*776u zg~h@I6cF<|UT9;aIC&-d2Z8tA^JwY*oO&YK$8COuML=CchWKA#_5aI`Sx{GVf}y^c zuAB!*zHdicd4P&&%aFj<3z=PQmK3V{(sZE^@ibxwJ+6*+i>}jaH?nKV5J+4R{Z2h5 z7mnOZ(bW$J!Fed_I3L-bzjt)|y{Fh}mHmT4#--zCvCbiD=2Xaapf@6cg&Mx&sxb{w ze8V@uX~JXka_Fa$5hM-4?V#0Al`Qj;>t{b38r_;SRq4#{G18!)Hj}jUvSxuwzJubH zN(My8?r4i$vw+Ae!}7vMU00BfG}cs9mC5|C*WWqF5MS0nm&6jt%Q(8EK_Ky98> z4HwwOGmHm@JtxMxD+Ty@nj$xkAF43s$Ur9<7Rfo>&u1hgUQT~3!0^p%(rG34w$5hh z6?9sl#~`Xeg8c(*mGLuZC3D}~z8Zb@3Ik#TXL|GQBdj?YWtUy1vrjBtrOC)t-VY*B z#6_koDsY888I(28r4Dck)5Ro-e}sLX2eT9QcYdb$*sME9jmuCg=oeZ|n9`5xC@5#Z z67NVyev#J~eNtpoud zyw?(+d-GhUlXn8OKRj~L&^k?2uifH6pe=x|Ta7!IP z9ZGzv))puvmHL8|GOb1IAnC9>po1npk5pT>+kv&PzRo>%(e#J}vlwf8nKn2t-Pqb; z=22`^&QroEuKXFAnri-O-H60aw zX$6T~@W!yi0jWQ_+V_<}|1<2fp#BRF`nRqd8@eZG=Qd~Y>p_ZM_wJj12=3OxII2t& zr7Y>3{*UK7>KLYCevgZ#2{krcS)!Nk*|8qq_-=r+kMX5#YIIzkD^4U=Dg+shHy4aD zqNOK~zSfb**@)9eXACps_r3e3;$^wENNLzYp!Dz--#Ijj1ZlDccn?Uu{^_x%<|#Lw zc_h%gC?^A1gE>0L`9p&qJHMi?MrzlAB^vV&G@JA-g`M~w!V$tni%eryhmMcCmadT$p~*d3?0_%+5+LMy)LrK#y`mmu^$tsg^ZErv*Wi|0=n%GQgKeNkL_Z}A}Qw=c$0%3m+a z%fLB`7{)zDy>PFhnWDFGncEn@VjsvELHvxY*xP&M(%+I`i?92cdpkoKj3JK0pw4E@ z)o(m}(*C9IBwZ@%p)7mwY82)9XwG?QTidI2l@|++Z2o*SGvr+BE`-jKcz)8Yb1wm2 zMq^kx$UXp7%2I?07v?7r%KgoqpzpzGzKMe`;Emk}p(MWdIb@e4T{P90xhX!+q%6gm zK0%ZCLtTEttUz-8ZI`Rlg4G;02-~?c4pem>yw%L8)>s$gFXMRc`+HXtp1zw=@5z7r z!6jUGoyj}W14(v@6;vY#PZEpBo5`n!vfQ17eTPA!g1Lr%gS>EtiGmY!@}#i}Q|>`D zQFE`86CgrcekJ6nUaZ3z0xVCq%r6c}WeVb_2+AvVQ=@`Qp9m6$uZar(2-==mpNs`| zucFkYUoOyp%P8Lp0QqerFwNpyV=t zA9Au;(h^6dbZE>cap&G?!DWV8{JUN}euB2$n_S*^V}I-PXE- zHg&@PBrI!H1L;p1ax3@LVuoRzF|z{D87aM;qdvZ0%(+ zRP1H5K#sIraHYDt>fYu8JZo>Kn}?2JaRWY*^FfR}o6DW;?Yih)CC~E1F7+ULbM?Oc zMklK+Smk0AhRl|`yKq32zHvn2>O(DNZ-QB{1L~#`=$c|saq`G9VFYe9=}nXR@Iu=D zmpZ7ylx*Jg7ptZRA9Ug>qNa4!XdS0?3CkP$r^a^0&#?~mqOFXSkgg6fw#rkzlBugK zzmkW=wN|bNuUW)Q-a{oFat02A;*s7yp!ueP<68`e;5l;00VyebnYpw?F4r(ZL>%{Plm-mvib(8_!oI(Er@*{NT-`?Nwj(fU>= zoAk>Ci>Ey+&pPOiDf%551Om3jH z17xmWiha_m`oT~lr>u1s57;QvuUrN-PS+Y1*Ed*Pr~Ul;rHx1Mv)*L}BR`_*6m2$W zMD(Q$Bs5%VKf5*LZ&yL%IXrCC2g42$Jfly0HlxiaANs#k&;O5uKFUG#shx^Xcjgy= zP0GhFv!Pb%(UN}qa-n-F&vx5w%0a9>K2u{GIbj7dB<9k59@k)K{Ub>_Y2e#UL{H;R z!@5A&YKqb0^kp}sMH9-4r|_Km~!=*n;m%-3_4r$*bF6f(A4%eA6B62io9 zWFu-GumF=#^W_nv2kClYwGQvi9s&NaliNQi!Fdy;tKJIVcHu6}3nElA>)ER(BwZhm z=i>swFzorSHp@F6Xcfx8SZ`L=~^*MiOH3TYJt%E;>t&4zTz8413*&@_ z$ZhD$R-YabLg_DYn*o+jHNFwLC{fAln{z``G3go9`ATTw#PKydWHR5n&3uo6GAe-i zpWzH#rSqFM+T($C6ETBps6|x?v4ay$g89|~{4H4(m&1`zl5aju$ z3S68Qy6K{Fr>in1(ls^l93m*^{RHDT&6>V&QNJ9HQ{p~oAjU-<4@727axK_p&119y zk(z+L-;&Nnptu+wFhA`eKG9I=Nw07$uyE{?XeOj{HANtFKVpxr%(yE($r#UNVGrQ{K&aL9oKyxol&wmR^L_vAsC0>= zg8aRbF=JjcHHAWM$E!9$g=Zv={_V|8KFr2SAB{#B+Wjh?InfZmeI)G5PWHxi8FCbq zy&kZ7RS?8**GDp<`;Bt-Ea!7~yBJQ3xWK6Oestc>*B^1^qWo&-kRDWNd+075E_E)7 zWj7sSs5h4j44+~anV1CG0f=^fVZmf~F0|U{lZGNFe>7CzrY!sxWm#%os&TQ{D@VM| z@9Sn|;hPvNP$=;K@Y*U>3z;j6yKIfx@~(3F#GX+@5LH(& z76Tr9AJ@^*u{F5BY{8K0t%H-pV{EuiajX7&?dYhMQ%a@H`qctT>MWyFA<#W z4TgEBZAw^P@XGr?#DHE}Seo-|{Vw0|s%wHZKPg|rEnxt!4nwT>^~Ak5guJd4WA3_Y z4~zO(xXY^M7_jxjYNXHNNq+ri6Zt*vpvBY@-x7IdIGg=$SpT@~K zjioDKx-~P1xTKlV&vsi%`qJAT z4gKhls^1;!D*LQ2dfAa}XCp|C+o$A*3FX0a*eXzGCjx5ECX^F*{lWQ`z~G$noD)im zYQoe&1M`Njw>lTY0{GrE#de6AE|iQpaQW+EZ> zDGeClb857MGxRRoxwIC{-E!kbo1FOei}ACRRZMqIbjM_Uc;8Qpul^8!E*?RZJqV!=h_Bmfq3}T)z{-_L&u*6NY za2-y5{vPz2zl#^$@apfd#b>(IlTL-UwLYi)-zr+1WjW_I$SFC>Jji%B^b5Ml_CP8F5xR1?kpzR!mm5E^ak>e7q72l0j+@e zWwgeC>ufWi@8N1?qV(Srakz|&eWW-0r5{?P|97(MKNG`$av5-LQ5^VW_&{lHlG^p{ zpTY&+-F}P=`I}ivc;=h#+%KqEi(k+&k0TDVr;SYf5e)l!uq_k3t!-{*ovb5GB8idVCfEA-2} zhFbWj(zh=)0WF?~2W3kEX%N&yc8NvC&{^f-J!(HiJSW&PnIW4X2>O^K`x3eWz7r%5n{4sH+SYoF=pX%ld) zOCbb4Fk=gf`p`s()UUtfJ-NH_%yx_xq`LtIi$dzWqK$v<&elJOnqM=o?+%b$S+blo zYrk!fLo0%(!I`;p|Fz$^b!6>q5;deY|;} z4(c8nSd5Ueg<8DpJ+z}#fo(?_8$+ZoTTeA zeh2HrqW!BYfNnXV$|xPxC%tN4kOua4w`_O$vV^OVyMW^?KAVVnq8!GmUPU|HZA zttX_q%xa9T>(amOInDvA$jEsWsmGGAjv9_HBDz<9QbZ*+)s06mkKs=3ir9yA(QBUp ziwpPVHx}G*w`;1OZYS#M}fzk$c3mfy~P#^TZV5%P0l$x`5Q3rG!N$fUXS1e>+(kpODN*CvKhkLQ<4v@n8 z@9}762?4R+K98N=5i0>mj~rNV0N>-sbHrcnG;XH$NQ$qU{hbZCSiaN&k$t$pSwr@no&NILppbOJP$#_X|6$T6hX~4Ei&93 zmi+`=U+FJ6)0O16GLzg)I11Nr{>c4Ek^f8dBE?p_X^FTOvt%77?K8r%rJ!Lvx1jgS*!G% zd&kgyl7>DJn!Yw_5v*jSY`AHGab^X0Rv8VY6jUd;553q67Z~NrQoBEgI9t*HC=Dp2 zz5c5a#`ui`ZSshP*UljjhL(pOv{{a>M^i+!R)#>Cw#N5PZlehQOQ)ftMMd9n(f|*D zOHJk?l@pb&Fa@ST%A*ryGHwH8C?kM{dz}zu=cm4E^=DR9) zxxv{=H1xc?#M&$EIFlPmc!Wo>^X*5#AwHutPi^BRRybB3_lU7P?w7~BURJtR<+MqDH|Aw4@;ePWR$Eti&fLqSI zWNjw_KL(d1F6q_`*4pdxmq_qP*^c9{)_{T}y4tVEDCcM$%smwnON+RJZgXzn7u2=H=sm;U#Ge5p){J*57rf%EbMuUm`=B4Mdc~b zssyYpABsK(BH%gP^@qHD?&bHYSiWM86VY;fZ$!WZ?Z= zm8#ho0YN3DKv>AG!6_1TGU)R)4PVA&LYS+fv7IJmpS*syOd$Q9)3P+!jx>)qxtd6s z(q`Lk1El-ev3vkHEq(iX;bvk;pj}Tiq_(Dur2<| zI^sYfy+yUQp2u+@7^2J}yMGshD+~=Lm8HBNEK8&45hD1pKc~@YEC&pZrrM zf|BZ9Ib%pcQU7(RqF%Ee4^DjLIM4}MYWW@F@S}=;hXLW~o9mDmG?VUAB?MAtI%^k-y37e0e5E4EFtjft~rbGv5PY8;;dk!v_C5pCjjn2?u(ex;4j*#~&x`{Yso4&5J635oZS^ z+49m@_-`(qK#}fVqx>hohj$0Y#6CP;;IbE}K4QM7gZwT3Wi@Ph$t;fUO7DCe2NWS8 zJ{FdDsmqf&>EXD-nDok*1lo`98ds#Ux>V!G|IW$#O%!E*Xi^2V!MsLUpkPoIF>#f| z8vS6sVrrO=(=8MuAvT`8$)McLGNi*It&BAkDlJu~0j?upwI#HmqZT9}{_Aq0kv>Wv z7#!T)-%KeLLa+t6dwKEYJoCG>?Ny6})rvNBS7Yv^>s_9|Jw9eMUM#14OcIe3=WG6y z$rPobA%|)du@T3;cD7dbvcd=NLXU_ae33RY?vI_Or-`HVEFz)OX39^LbNe^LU61NO zB=_d6(`}z5VllJXfPZbO;yYwtgkJL+GtFilOQSBAaCy%XByp^~QW;+=A|0DEXQ`Mf z%)*EWMd=xof|y1G4CW&!`T>P{CZHbQt|1%`JTm({kq3qE%7gi;O1qf$dz3F zL(4!Vfg>3`#l`^L-3LYn#iwX326kA1FIZI8(jfz2*CNntGll_qAAcPK?NhIK^O$5- zuHecrx~6hGI5UrHz$reJV)n1gaKTrvg~Vjs8Q+!4 zLAKl}AEUy9w_BrsBK-<_wI+fmbH|O}2;!aM&r3)}=gN&S*urWdxpF`)1Wp1PV*m_M zB~xGrDIe>G-Y>|Pd>?7aN^uJ8Og8cbtBR=jXnMJmvw)mM&$a*Xe@}KBP35FR<(*&2w@F zQH}CSb{jxePO&mTTq>t;a~4dnwv+8cM4|{o3{?cpo383u2Ht6$Fz(;tmHf8Xgf=64 z+W{6@rHx_lDHzyeqO;1C8(70Nm@36tlF7|e%4;&T(h2H3iIR2RVP2_>3baK*K&MD= zBo?we=a=jI=AZ_zv~f)n+?Bp-5zY54EiGy5M@P`br6p>^MUyBa2*u)4At@O+9lZg# z=LMfzTP@>9JIr6h=k*SFOC9(oe18hfIC)rIW00bTb{I}{M7q*;zwk=vB{C@kYFVvZfdmQgj zK{-8c(v+dy;NX)ahTN4;Ec$1v3i;Ruz6^R`aaR0p zPHU!{BG&0k7s8+mF$E#KSY+ZnqcQPP2Th)~IQ%R!KesTJi^*#mM=j%8fMkkht)S%M z5<umOv_jh+2eR=3V)e(z%dUN9Zw|7rEt0;)eee6-oOzx6t!)}gcr ztr|8c@&1_jOZ$_|DD$O*{SG}1EMDA-h!7oq$B6TF8@I}+7MbhE0l8W$&&Tk}PN?*O z0>OL>;&SSTFvB}g>&uU#kdOzH2z@gf?~Pd)vK%RYF-0qd4K?XIC6ULIiO|o8lgx`j z{+?Rk*6>12%Cp2oC%t3oy;DQ=^r~Ds7p%&2=$I8A&IXW0*OK#=x%W+I+f%fis&*0M z{eJlyzZ=F1Zu?I#>y6AE!rsf=i!_<9vjzrxtan*oOU6vmt_3v5Jodn3f`5Pa%XOVl zA5;3mL_}y3J6}CUXEz#(OIX<>`5U%3pS3v(qbR~K;8@IUvtoI}G!+GW<3~4~^~o>3 zgG8s$KRlIgX8@RcjBRsB_>w5(K@^!4NX=?2;8MXmp~QtqG9latkyr{^>}6tS94aS9 zX-}wObus#aB6$h3R1)z9xZjZjw!P-&xs7-S^*#_MZ7WwX2Ve}?BSnv6xd#13kJIlu zz@f-JA8;aHiy~h5g({?8ULrTcL`eQAC6$nixq-Ed?ubk{({8Dlw2M~D1M!bkmh>KZ zAAIBoe^0!+7szt|V32N~+?rAMwBR563$Wusd(|(@FF%%B0ydx*I#ivBB!tw!TBZBl zl8`~5*p(u85dA3OUlWy*my`!yqyCrbkr3v5T{iI}9`!FE8m-x`J936Mouf%ecZ`BIp(&srCsU^xb*_3>}8sGuob^ zBgwX&0;oH2p>b;TWYnbn@KPVkwIU~My6U!;ZE>bNpXP$Jom5}OgJGd}6Hjb-2!Yhi zPyBXTR@RKEFs)jYlBAa?rQa<_n%YPJH6rOYSecsJ?|cmqFwik{8I2>r&e#fL1kj@u z63Q6gxxZ+(8+Q97! zXw?V<_zf|T*4EC(hyuwwD&V&km{rvLTcITm!UII6kM~pl#N!Mdo-=_K5^eS&7;1=mEv+ek>(u9|Fuj1;miqOTG>~X|Rx1f33q2J$u&dz){F=WNOAEwT?x|vP! zQQ)iLrs_1e;FG=6$$oqQJeuGNJp=L77&SlRzD zx>X72+Tfc7zhTaG6Cmyu{f_n*e(K^Sy_+gc{Xde4|GBakISC*fNt@apmd=u~ zdg%mL4AZY;Dx)&y^4`qY0GXNm&fbPgudA|~ot^_NSBslrtaP>@MSoi17*QR=?iHaWS;4a4-*WRmLh=%oWp#arCV8mhcud5#>;tM)rRED@IGG23-Gu8dEp_E^e_ z#JIJnk`_agPo3)WVMa#ktm{uvt*O*gi+aUDf2^D0VI&pyZ7D;o5y7840R2$XG45zz#u#dJq=~hw zF~Tc9#Rt)#={vuo3H^iw_fQ&EgJLo;ingY#5C}l z4J(LZ4UK6ujOJc`FT+(y2i#2dtr`~ZGl(_vHU2V z|C9d4fNeBvQUIg-u!3P>&-`MV^{?Qn|BgnM{dRQRR3PLh#TtD7vF$oI-tUUqMc8lN zx??}vWXIo~jOyKsRaeN^C!=pyAQ!h|(98?au1_P4nD+^CSp#X+o6ko!c>WLI{d;Ks z&zQH`0bRRWAEy7u&`eePSX@VM;;5b<3_x<;I{`6jp;EsMd-gp8)rSqO8FwkJF*{NV zI?5PT7Usm-&{t&=j{s=O7NM`tr%3(KddWwss%{==p!QLTkhJ6Y?$SC7(z}RmPh3WZQa;J**9Ib!^WqBo!6&t6 zaMmV=Aov@l_WNHcMd`MQIw1^la2D%`C`KJ$)DgulxNPrD4UtLk>V?CaOlqQ`ZE9oN zpW2=DgDS6Zc|2NrrC;UC5E|j*<(B9Ab6~^!RDc!~hZXU}yg*WBhc;Gp{B z+&b5ja+p#Px_6-pJkYb}l+7QKq!p{_glJj<8cW#Wl!8TL*jU{0V``^p&MXTYjIyb( zFxVr}%s)+H|CEmydK86bA92`+$$+I~gP1-Ybn#y;pN4(W z>*O1kr5tZjWlh*P`&uO%kfo<1;WqO1ml*I>4~G6Z4Kjy@_21Qt{bQyh1?=9jQgOAt z(WL5n)Q}wQPQst^>7owPwUfy5Qoc9pE0ETC!HWGDHnPQRalh@U7G$X6()Nw?*wn|G z;$vAZ`}qT5x9uT!G(EF~9ZWiW-Pfr9*NET0(Z|1nS@v4sCA z6F8*CqgfQ^DX1*IN~5qsqrkbqP`c^+TZZ0IGn(hn@0u5_N$pndcFx1yKtr&~(VxI<$TRjGW`Lzoq7;!}AUJ3M^=*smTQ%Q8T8J9N;LNL^RF4uCp zF@M@)z`?_CX{dx^TZx0kUK;a*L$rn?^_9}Rj#nyeQSyE@NQIWJ<~$G`5K-z9cW%1X z^S6^BNMG)SYR-@JFuSlw4sTQ~@=$CSVXd{g5{UHz9`d%Isk%xsZ*W7Bhz}-oZ87Ix z#j>RtqN&`Ks>ohb^>h1Vm|$#Sp)iM1wxY*HgqFor8RH;r!zZ$ZN<~okcRz2WTLpRR z@Os4m?8UR&T{AaIfS0>GtMe@~IEN#*BjlC`R2v)zosJXznukG`YqvQ1ktJv&s6 z(8>Vtd&vM!X5lz2Mp^`6$+tX%&ICyL+)?5EFCf9BANBi zA-GOmaE0$t5(j2!#EKGW~{!B(N5B zL0*9_G~IiC>EXjU>N~kbo@@AlUHlMx4DL{6DatkBmrX--*3Whsa$;(PQGvH9XCe_C zDYpU^Tm67QFQdu>p%aMi^9BFIx8_djalg9@Md9f(4r!OBiLGa;945`~kqn^flyr|$iJ2_=_L}$m9Sk(~aaBx;(08BTOhJp)d4`6adTM%VZZe=NC0xsX zAX&d(0NvT6Xo@Tg`?M9o2TiK(O&P5%ns@ILkKsE!{=?*_;eyCLESac9)CWT^nv8b2 z7zzd|>Xb?fru`t*pP(c=wgUy&&NtWW8%GxJ)uE4kq3XzBciMNVl;}V2y9KHhabXnV zA05vr3S4vio?v#<)qAV_W*1SZk8J6&nP6R&!=p|}i;51{w( z=|RBsn(HX^FMf;?qt%3B0IeLTIJE)z0F5r3WRQ_(p5+LHO9@^UJfxFVB#}gAYH~ift!q?c{jC08{bX`C2t2-Ca zQui+7x)r!tuWoJu0XlMc^HxBQHg8w_nCqGKG`Qz=)9P=zWi7ye#O3}+5;H61EBVGJ zB;Z;?+DILFtL;2(ZWqZcRKw3Qm9gt~hp>?pRPz)ew5m3GASqb^aPvbMTY4;zL$p|; zN~(v?N+^(x5g?ThP@g@-ENg6itW&UUB7(!_}4 zY(H_Sd&AK0$oE57Sf?4SQP%VV%;JZd-%tB}1u6 z+8VX}T-STU9fXHC7oeQneq{J%Zm#^*_iM7!3LH%JeDh;k&Eum#$R{l&i>)H?XUxz9GwdhL$5>F35_IZO^;a z?rCu@Q*~Dm93N;)>*CoWODJWO+-IxPC9vq@9e4!`X|Ird`u1ylZf&EVv(%9TSz|rX z!WG(@$?L6hlR=|?*P>>FpLAB@D$*1FVP?q-lBcf7dY+Oe@0rx;Vsx`nBsH=PcC%Q> zkY>prdA?+ublZ@rK-VPe)R1`9Q0GYYV5#=>FZLKX8m2(XWcPhe!4!dodRX;FUmfuz z$Xqk~-A11P5hd`DVu~D2W;M%HIDxVSrxOXR29rfLSt`Jt*BLeF1^6Z64H ztB{r=Ov*h>6M$+J-B)g9gIro#V!M$u(=?q63k&;<(A%52=;F$@Y(GCVFum#WXin>S z;N8}*4LX%@Ir{JKY17R zEFO^L6DUv?8uewx^lN~+fM^dNu9>3hiLAHLSOpfXeA6?xr9rJa^_QK zQcDLwmVPRVb(1P9(5H+BdUz>zk{ew+^)ZB*PVBlu_j8mfpbzOh0Fc;^i+ zs_+$RtzxvruLs$py$h$Rf`imgMc8eUGgI{weM6R{Om6omkr^P-9<-OPuOG{b_aZbd za4#CpQQ*6aYh(P@L^rIlNUcU*&`DJriWGUYU7l}Zb;b)=`eqaEW4`Drli-F~V|U|3 zTt_K=SE-{>y)!jaDuCR!G|TqTHC|0RJD>TRI>zUgUkqldKjv}Ehn&dbpe*)a0hU2Z z2j%Y}sx1#^a`ibt?m_NKPLVBoq4MP=X08#oI7O}Qs zK(x#f0KZ)jSpFF`KTsiq!z0cj1E2gZo2wv@D{sFpTV#TTlv|k5c+HzdPJ~AMWLny1~&Bpn^N}q;0*+^h4e^DuS_Y7aMQ&wH#X&C1c0la7B2J6ol+1;rEe5IT8 zQQ4K)s z)WR+(5v^?=)kaYCczi11%{~0q+3L+g67iP6+m2()TDzy{N6MVQYKP78xWV7egMXyR ze`wx+m%jf(9CSuu{*P_jJEmK!npV&M8EpRh&HwSJH3>rcH_2!ZLVcK6%w8ydOyNDRq2+%&EgY_#lp2~sKV-Xz0yv0)*J&rwF~-k&sl5R~7a zMkvkE0*28m!ZBge(n5q5*Zq@bt6BN{NF&V*0vm+u*4O-6tBy8a`6bvkmRYW&F5vP< zSo^ceVCY%Gxiv9!dWxv_XZNT>Blo3Gfnk_~_R!*FK6mAbXHNq5z9@F0&zQKqzkyQd^Vh>2K(2GZbqG(%?XC>*YkwYT-ldu~P-9LFWChJQR=t zm!D(5%MT43fKJ>1Uu7>f+#2@(&jV{B5id4=Vd4rJ*1 za()-{5i2ird=R9854~Rv;9jUNrv184m2p`Ef zhqEbSxzzg4IApxs^;thi$i##^LP~=+2M%X}`z`sye_KhQA;8?j+9(~_W3Zi78S^)E zCwY5JeS#LJ7VG^si~gJ^0Me}=edWl4`(K+x%ndT2kd-Pb_m)_cNKHb$4l>m#QH(EAz6;ccMPo@xK)ATz8|PT z=yO?E98n*?X%6Wnv!(k`-*3pCu;Ny&lU^*xfXrWpd&EW-xEX*#QXU?AWVT>5Y3K&r zgl*b0phmO0vDZVJiVvtJqD6^ny|Al@005fj-aqka0;nmj%D+4gbPmv|$yEs5j5@T& ziTfI=na|lXMPj2vNpJ3kscDx+GP@#GXmn2Emi7Zh<&`v#-0?(!oF>6f_gqURvr`iIR|!sOvIvV*}Sm-gref-8m zr!dLhk)C9Ph1NssfYdM$H}Llzx3uPIk!DAS4&vIEi*@;~;r0CGZEVWiUS*uf2;zgRvlbHV zqduDK1%b+Z4v)dT&_*bGKl~iq@^3A5ox4V zx|i;f4rM7xL8KOGknV0+T4|&k7D2jE5R`ZSC*N~^=bSe_Zp`e5o#&owuDIu0p%oA* zZ)rzqzZx*=8>o_*66+`ByN9#pH~jy!S~9^Kf0vFj(liLJ-IT-(1-Jlhp(5YssrnCr z>ZbxND9job>P~w?cmV?UDIPL|YI7-NUc9syvZS}F{R7CobwxF37EC7ZO3f4)_S1DW$mX;rS6nTt*YtiGM+R!Z!F_;G}1A_zU;or8c=vqD^TK{B33X! zFQ_=F7-eE#$JsqXA6wn|Dm0f=Ra~8S`JqP~Yw5si)wD-Q&qnz5kId}2*&%{OhwszR6z8f`2 zAF1goxetFBYr4c7-8*-|W-pbkzLCw9M#hXFjN6m{+)nyn1&Msy6CQ1^7=$ckBub5B zvw%I{%mF&Fa&B{GxyR(W;^aPj{a?1ZCqmvR>rnLAryC@+;yM9u3FO_rs%$j;0mc)M zy{WB~E-QG*eaW)-?s{=UE8m3y7R;%PKfuO^t+2V}ni^LTCAN1M{D12mnIDlk35dSN zm&r@meg7UCwjmgaV_+acTi~1S4P3p@4`($5LivELOf#4(k{WJuvRHrM`^RTMVSQDA zBk=sY5nlEHFq#vt(za+W?WwEft>~B9b4*YpYdCzAtX4bef-hs+T^wVE&B|f^Sqk3c zU5JCM;6Tjiy=^wvg_1Wr&R5McO}aSGHmv${zrO$@Vgds@#V<>QtQ*_0neQdq0UzlB zYu(%Ri2s)=biWOumj@B7-=ltKFWg&)e=y|82GxoTpS&*k^(gH02f(*xaZ0`+uoDE@ zh~ujsKa)_6fTrqvd29w++nc!k{rhJI2v~mgi|&d2-TAM{XJhc#7v0ynvdn3nVW*^7 zO|omOI093jJ?P$mSNabTco8M${u^d!I?lT46ja57^ThBC2-bd%Q=B$R+&h&Jfb!k@ zGim+GS<_LD7S)3s4iLG zgEN`o6b1bCzn&=Q%}#AYfusD{M?I3Jc;s(Au@M0nofnuPxSsIRUjozHRJoY6fV#{W zROx5mHvv1ihwH9?94K4DduBjq$Yj`ih`PkPpHLDrx+91CJkQ$nS8|$+9f5+0=%Qqw$S~~4@%z&%edp@+=8Sc(khAn4 zgsFPq(|<&t3P;4rt4vzAy`GFtbbiOWEbV-~{Vpj{CM2CAZ>gpo(J@jxN#Dd19dYne zh~pLf=c-;n31@HLDGLfjlo*6PDNG9-k_LadOLdTYd?O=&)*b}17h?CxVJ}+1vb=mA zM_eu9MDc)|j7N0{mg-{3qeOJ(_gQ&1F zf?);NkQ<*ikXV4gker+kI}55+C2$#Iz!sBD_#fo&#uYoERdcUv)aL0R$I_Q%21~Oz zFyvUtW1nDm$O_A=yOlR;L`tom`?=Yx6q=0t@8JZK7;Uh>Ofr~6YMIS$wM0~me1&M@ z?tjG4r`1INY?J+Xsc}AJ>wom$e`~Q40PnLFVZ~{2A&y&mloU<@t8(W z+aY`^UejFHGMVr`8fX?aikrgU#ur!?4$}2Y8zl2B7Yr?0a3pqT+-Acok|g3Yt%L?W z50rZk^;r&P0=116@b7+1^rNl&gNMmgA|SWb2Ke#ONS*MU!Un8)HG?7|7#9HsM~%{C zF1?`e37SaF_J`N5R77Xib&|jg7vzwLZa%MhKsh?7fLZi;!8!VG|m^0>2Nl17~mA=*)*@ZVN9=cj?cAQhH zQKMQ|zgc+Aoq+-21K6YhZK@?Vo#=>d3Y6FSaG?%N9`JF&^Cs1g2o_iWg%d48^GLnf$|W=~$Pl?4OO5F<;M> z{{$C_^n}U>!X2;RUvvgS6u$NeoUvo{k1Fyl8o);^oBY8!3f&-_xAcTD1aM*H1p`-6 z!WY#>>MZ3M`xb!&58?W#)=FV3u3u2rQyMg@Xx^&9N`H+Q1SB}DNXZW8Q zJV6X4uITNJ9MrzA<1EfYjjdPuveDmUm3r1mC&w-edYse$?en`kt#~`a`!mhd-t)GL zXOpRt$OMXz;*|XB+nu;=RK*+qe6Bxya}YG)EDgYOOGomkpY^)1`6<05pN zF*PMK4in{(qGPm+waMS~VpViNzQlEGdmMOPWInLVZ)YGzlD=!s?z|(%IKsL*2&tw? z$E!4p=`yS{SRgFwEi}XqT`gg1G7;3Iqeg<0X8%GObggp(e z`-FQB%GyB!`;RuX+C#<4BJ=g~FcY_CxNKc1qQd(D*2c{^{x6W3%f-f_!|2Lz0LSIp z%{=AR*M~q`tgv?WQaY6xmF^ zf*B^wKct)Jsp=ru0O1*4k{3RZYKt3oVM(d5TqM5ROp|m_dKd{tYm!eV{MIcx2RgsR zbcVbY(YMHWg}PuNR6iE48X9JjB0T|MTEw(UFI5TQUPmC+A`me}&*+)8B7K4HsPw|5 z`$zxq>0#N8XhDF0ONgID&yQe^d^6?jA#6tr(Lp93B06k<*5+xRuVjf8AE^fQGAMXp zB9{ewF$ORhJXpjkG8r`OQ?Lw7!EUwAw=wC=flZ^?{!f({RV9(yR1khm|B!8$mJl*b z{-tVXp^l0paKjcdSHxpZ zGOI&{3p^yj%A0?TOO(|tBev4e{ji->Kh7j6ysx+{p@JKu+WT(S;tT?DO0k$7XmYXi z6MXgA?06{WM*VAQa619u*n|N`G;;J`XSlQZzL&p^t&H5#O&)F+*md06-L-e3sf;Oq z?lSciFfnVJq4jGSu{jwRMYKz_x!wL$b9I`!g#}UrOulU`hi!P_kM3+PoRBUPT~FKj z#Wqp<`}?REP9}FjE$;QteZ4Dl&rtqy_YQZ2W;+45%u16@okQ#Mmjur&!TH%2&3oBj z!}R=@xS9Xm#EuLWk;7AZdupYOmJ0jQ@Q!K6++u7U&seT|jFMBTwMU+a!UAIaG z!4cR4M)Q1}uY}D=KvKCU5f3w z{Y*KkN{lPxzU&;&W84KV&pOaer^hO8BfDHSbl_mUNRn!5gS;f;iU8$um^_Arg_42H zwpTO_wsh#g)kL&Qz7s@oW)i`47&0|H*pm3o23{u_#r`LR#-1HJW`kt{evM>S*lEY1 zA-`&z=?sj)F0to~yIDGeun#R{G8w}%x!PpNsVPF9fGLMbA6a_MXql4^!HK)Bz8^Xx zA?wLxHRdz&ks(!{ojU39hK69%gq%)aQW!X zRA7FbP(qEa_`~q!hKN2($(^+y8b5o=n82cRbkSe6msx;Qvr7}*W!mPKi4QQ3u2C0v(12>gbjl06fdP^H6v)JThK7R}eo zR*3D<#+kOM&8Ss*B13bJNc0Ioe#xZNsdqsR?Y7AZ~Z9NciyQjmp9YYj~ zW0%JY`&9XndMo7m1_Dv>n_P1%;0;ePrQ_1OziW+t$=EZ*J$%#Je5`{M_tB#;aHnuY5@kpSsqWjo)6V_7s zRz@zxLHp4LBe@{ka1hwPC6!~nD2Uv+@HLqJBEXU~eeC@$R%djAj~;u6VZ&Bz%18w> z#@6{n*CVV>XFjW)7cWu5d~Ori1FycjN|jm8TiNkuK5df5(9`X)FM#|o9^}f|Y;b>` z$Q02BbBcn!Hlm8A(ik_7N^|w<0lDVD^E~+_^$gI0m?0@zK72Q%I*_=$WY4cXpL7uam-2`tkmoP%=e%vN z@V}W;^s8PkC%hM4U(Ttc8v*cpe;`vdfK3;C6BxBWk_3`nF#2u35Q-H>_q>vg(&2@9 z>5lRzoc6m)y1!C?C!bHDB)x5gV&e803}6~4{i!gpzpyHmD z94Fh1Pi&^NqqBJLj^p(cf3rp`{N-wSzv7qRe)Kr?CYmVM%zmtbgnTY{^Ehlui@Q~) zR9*=^)hu@Ef@RA@G(JU%$dHe$clz)d9xXLqaLg`YWU7)l@j%UVtFIry5rZNJ{HkUY z5It&4y!zPRMqug85?!36zTN?;UZYxk25q%ih#$Idm1orJ9Tu63E(4Wt@5LR5so2tw zy@X-diXca}-;fzc$bv75Z=B`4-?|d@-s~V5?uL4YRLYnO!_{9b0vQWpn5!J+Busxlnl>WVQl7O7^#T9J5g}>CavrSa}1QdPD z(Ij)PS|9Lp(#$~_e`1>d5+5)Ex-Eo_-rs?5jU=1hydQefvwiPU$Sfh{0vJlrp=1#? zxM!AAgZV=|w}X{As-%g^CGqA({3T1F%D++;X82uuUKI1}qlbKy7hAMt3KY)vgxtCav zgMkyuSAjCtv~=?k@re(kH-PQw@+3%JhXV@CI1>s@ga6P#Qy1w~-OuYi8Q(@G!|=S0 z9$@!3?+GRh=4v^16$ZayA-YRhbyxPd|G{iO#4;j*o>k@Bb6|yHTne|}EF)Olc1Q%z zL=Z--Z7tKW{J|N>UDOu1iKoqB47zU^Sd-b@uU79hq&`g~Smg*f^ z5W{m)b(K_G56f>e=b1mQ54IVqNG5nq7!}0f?y?>)yF8qaT@h zkW1Ykz8ancF_Wo0@_@G~O!rYp;=<+Mug&hJ(Z|dasxLE2xauF;pvcjcsg1l#@O#sb z4>x}Zi0RR8l;-7)p{|>@EK_cda80A3NP}(CL*juxx^9{3ZJSHzg7txWRIr#_|A&th zaE`HVanPo!n@m~t463gGObb(r@}1c+@0rW50Wi900t&Lh{2OT@KwpscM?k@E z%HC7RX5kslrcYQF5a&WNVSTQLhi%5O1q5*L-3MuN{(58Yf!P_4xwV`f!?6Q>OXdsu zm{Q;Jay#vIFp147nMOKj_${Es>GXFBLN5$VcE6EIQbByf_RGJ-q%7|E>lsev(wapQ zw&2$sYnkOAzK4>Msd_*TU7KguuQKr|^rG3Z#{M#i%87%0%aae)&Q^tsIJ|_LafI}* z*7`l2;hUy;4qN8YL@0}~+hROEco^9q-Mv?Ern-&@0JoH)q0kIjSM_l`++RK(C5v$?Z5vr^b_3-JG1-sb}uu-&)+*F zvdH(b`n+by$G=w!xhTvqe4E>T8%*U5&sIS1%r%Zne{MB$^j$v-K-||aF;D(@aL=~% zZVfH>&*j|H1f!90!ivqmx-`%$J<0ut_ddrjN&&Vc3B1v>Ut0bQ}Z2qF$i*eg-*m{a;BG5RXB*9}B1Fo5^8FH$bkLgLb(P{p-I-W#ZpB;o`hqgfwrSA5nixFQ z@AUo}Z)K$0+G9@TUMc(or%hPYH0Phqi>^(e@LO>2=Sx47ue!kYQsP^B4@;WHn1S!_ z$5`-KAES(qi}WxUMdpLtDcbLEAUVNx7s%1?-zly46QbK&l<$5@ItoZw2Sb@%mYb+Y zbzH+`i@k#6?HkXSh<-*z%8WPN`-MxkQj2oGPp@p+-8<=eYz0Atw8ULG5A_ zkMY{F5quaH`F=P$yf<3P3m?2PU5$7~GhZ?RNafa0l{HQv+hHR2VBah8x&BncL3sWk zr2T;CNB9}fyCq)LE{`7teor}Wg|^afp%+5Fso(K?M73(&*M7YW7%daU=wyC#&D{IQ z15}dpH|PCnscES(e?jieJGBw(-Pf51&sk#PE@D}-EC_pdT@OR8A`h_$&tuGtR@ z;PQl__}&4VB7ZI7I^cBlyfQ4KAB$nBiRF>r zPuPsjv)_=G9nP7~2*Hh&}faX z4HEp6kD6GtZVdw#*pKt)MT9pT=BXgf#%L2zfqCEo!{uM`UGwM{4NrHlgEy+l9~0p4 zvh0^_8(9+iRVL3{vNj~hn|Ja0spK;ef?zK|Rt>M3=tB~lB4Ijv28eQQq{*{0Vulv& zk>`I?Ace~xbLZpRf#W%@Z)G=_?i~7c3Ms~j*ceo`w8_$fu-%2J1Tblvi3`XItEF-` zLk#|CN9^>;S-_${4rExJx0;=OB=hNM)wJ7Kk9NNTaA_7Z?^jb4m(j_(@9Kjv?;LI{ zo9@1Q-9}n;+Wl8q|9NnI1HEGca*_Ei$9`!4yKK3XOX@$;$p38r(p`&nmeB9Jw|kp0 zb&>VtGM<{r-87C#R?X_BZC5l%@kb&+If;c(9RXeS2$mXNg2+9}qmEqgqQBqFPCIazy z6wlcRpj+#TDRrkt$aCG4CGbdiyO_F&=9(^4{E7``>ups~<0pC9tjzEHsjNp`J?~9_ zwXDyj^i`z?Zl{WPBfsU{USKiJj|qEiK5F|XR0W}{QS(=sPd|z5?V??lpT!Y-SKZLf zl4&OH@M1^sDDRd^rtVj!X!E2UO4H{}xIoz-4Ey3A<0ev0DV_A7h16@>0Er=iekV8m z%lM_>(6;+Q*#q+88MRt>^%>xrWgx5jj_1v4!D=xRDBGF&_bwaWeq5imF-jkRYIaeo zQ-+z9Oj`nwj*81mKa6nmHE$e--{*#F*^>Y=lw)_64|7z7^i)eZit5AR=_v{k%VWR< zz%8h{oQ`LYq zQ`4Kpv~+_Tbd$@fz7CiHl!8a6MUnv8xw+h*5-ip`lEW1!(8#zWLHY**Bpr#lx!Q0Gl-$D^J2O#}!?O~p7(iK>6mZt*tsLyC}&xUEkCKz|EuneN3 zE-vP5NCY(SEEdLpQyEd7!WZLiy03@oZ5v>!ySz(hjJV^!)-X(1d+mY#WE{}%f4soD zLt=+|0^1P=+)0{43?HVSLV&sE{@m*GK`FVR1|V!e-X0x|@T?yYq>HtHXBeDmDV;h< zvrxk1oYWiSIlG6x7q3tQ2qvkJQj|DR<&zK>6sHHlTv)E)Zf9dF7;lBfj0R45zg}j= zZ{+Vnmj^S1R}TBwXJS6wRMqWG2Ek*+F40rofdR~AE7Aq8+IX>{Bn1qliO1Tt9d@ZB zQp6)m?ByPvpu;0*3YwkqPGu7XhPgHIZ?>sEQztQ!F#(pCpcF7U8=5dAg;=%B75b;l2xihoGQ z&2fpCr2U%WzqX5I_jS{QX~Y?B_WoGImGW=3!tTO*a8}J5!qc}~2%9zJj_|>}^Y;t_ zu|bT99ee{Xim+C3OVGyPCwwRUE|4qtqi$i0wQ8g0w^xdIawbaS-GspH(8<(UwZbI$ zLk;%D4ZR|q#k4kz^O<2l`b64&!9e8;f3R!w=KYRC=krVFSr{x@s_I@=#6N%Tg7x&<}l`!YD(C`Oc6P-S?8(oMlh-0iqJJDky5*&29$Ad{E8qU`;?2na@QU-dG0jHCwufJ~U_Tpn zm;ox>Dz|)I2Ptf%C{|D$oA*7ZTARF36@* zg@v@6v3H6`-gXMeJa3YlT3=(BWE%XSPviF7@8-9Fv zS=e@Dg$aU<2~D!zQjNEQT#^$$FycKWloUmea2Zd66z5iySEF|%= z@k}?R53xe#IXR*S&ClHNp$Q_+4Wb$=rz}r670Fp03~!#WlyLv@m#5!)g6yI0QR>A9 zv8&*CZ1^?@eQ$e{XH(NF+g_`}=hbsxCBTNh;i5Ogzkl)u3Wkgk>R zrT-F~Rm<}_bGN2Z>6C^7o?h>US_Cw8NlS5VdqZY4(nOAlhs)`j^1pgqu5krZKCtOO zIY(}*lg;ZM6MAsHk1K6*wu8mxP{Y#kslMC~X2)Z`mfA?lOfi&bOzG_`4V%6^gQ_+AkAb6;u zW|1Ky`k8uoyQYiq{jC>&`#Wi#>$VciSd)C9rNeoe1}@p2(Bk^3T(KFoTWd9BLT+pr zKHyMF}fyH`+| z4;n&~{TRAgmW&Z1+~fs?oi+Iop(Gv~qpTAIo-b3VX9ZY419u~dx%*Xw>fgA=>EbwhF_$Rpv37O>KL1W@K1B)2)LpikohtI z8)x~Wf`c3gHP8r8AtS(0cfIOXPlc)`gAG_U4TWvj1ko##XM(stSXW?;p%8W4x+wZTdfA12i{!lRbl1@`Q6 zXC*P7h8%M|!>lzVH#QFsJ?gTPVEW|1(C{LAUTUO+Lav_WyhkP@zZVX|d>|p;u5L~@ zqeh^8nBd8BW(&`1I;rIAojB^US~6>v?Znn%4Du=*bg2%p>kPPZa+5vL&BDf~5vgbg zNzC1!=e~7|LKv1CUW@=U4)3lM{eq5fSxNls9;27xe-YpeWw~09t&o&r3gKYfPe9@q zn%`;PF_HUF-5;X^1e1G{qDAP;j|FSVbsn1o*I#z1?K1t}xrU0#L`l0}RiC7Dbs47= z!oHS#a$ifSmYnSJ7<&qsts3j6lM`@Py{fiNzcZTTb(?AF@#l)InYS2fF1Az|o;{Xy zJ(frlxcl6j4r;P7(=fJT6l$I(rs*m!plWzR9AHLx z=d%NkmwW`zrXJH{KjtHJxd4q1vz53LcH$*5^!j88DsW zW90JF*!VrTZ{SZ)JI^NoUOV1rUXXDrMpgu$HLk)*ahdz@X5N(o#36lifA<@%dL-HV zP5I%sapQ3m!gj~+)`wlz4f9I~1vH!;t45g!VCOn<3Vgw`Q5vuPj?3%-ULT%ua`Dhv zg%)k}|6C-Z3TtBu#iJ*gxDVRe{In_$d9H1QL-tW)?(lu@XWwxdKy25YJSf(i&RlTH z2j2HJImJLNe1QXt0HmD}>=_z~;sFj-^KU)FSrjLKd~Z9F7_x*`UPa(>5{cp zHSUM76IzmBx>mwK!hf!R0^9_G`$D5JB}GOvEe3L!KXVXlur^szZCdv<0~`9M?5xWJ z0r5*g04GIV41|?7iv%I1IOZzPI&M}I^tD1GIR3?$0MP=|v5}Hr@*)W(AYh{pQp?6b z26?2gq=N>(H&j7p(Sw+hR#4Su(NpjY1jwrdM`tu#C4~{0x5O`+K+tg!;pzPRNpcm2 zor@U=f6zcbe8q+Mlk}q>@ zuhU*v!@DAW9y-lS4Yx7j9n#*Db}L7&5S-lONv(Gs#t}##KYRThiFt`ZK=%jrfug1L zjlcVMsf}j49$b9DSFhR&=O9LARJ17kYZA+Usn-01n7#jt1Q&rzpN0Aayel`)ApVSh z@4-}K>_C4)+P%wo^g21JM88Z^bC*7YlrO4sIy)G2_l`^bo2QHL<0jWl@JBP$cig7XYn&zY6yH<^T9vB0FMF z)2)(2&fdHI7FRPz+ZuCi=cH`FI{R8CXpSpkv&Ntw$41)T#j$sGY4^PlZvqX|#$>Q;DCDEWhIw~C`Y06GTJTA-1Yac zCQ_uRM<1#069DwzCa}lb`~pQ@5%j6n0{O{_dc>Q~d*=CY4xVoDv&R>Lab|4CFldiF zH`W(@BD3f-gn#k{6QH1z6)y|>hRUT$Dfx=rw=DNo5JO+31cx4V347GdP@&Xo@P!j< zl$|k4Y|6J&3}iBIZ>m5tevLPXxg__qJ(r554eyW=fwh5c5Ex?8Q@eq~J^WMDbiMfHW22fjg3Md%-n^IEqQU~_Ow6s9fvS`;;p$sbn5n*RO%tTp_c1>ULuxmhDh@!6-Wn3-|BZ|IkHG(5 mULCOfQv=bDkN4bu2Qv-ND~aTPc=C_yJXI7m6{_T5q5li44+h5o literal 39055 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 diff --git a/tests/typ/meta/numbering.typ b/tests/typ/meta/numbering.typ index cf8104edd..100fa4803 100644 --- a/tests/typ/meta/numbering.typ +++ b/tests/typ/meta/numbering.typ @@ -9,6 +9,25 @@ parbreak() } +--- +#for i in range(0, 4) { + numbering("A", i) + [ for #i] + linebreak() +} +#par[...] +#for i in range(26, 30) { + numbering("A", i) + [ for #i] + linebreak() +} +#par[...] +#for i in range(702, 706) { + numbering("A", i) + [ for #i] + linebreak() +} + --- // Error: 17-19 number must be at least zero #numbering("1", -1) @@ -21,3 +40,26 @@ [ עבור #i] parbreak() } + +--- +#for i in range(0, 4) { + numbering("イ", i) + [ (or ] + numbering("い", i) + [) for #i] + linebreak() +} +#par[...] +#for i in range(47, 51) { + numbering("イ", i) + [ (or ] + numbering("い", i) + [) for #i] + linebreak() +} +#par[...] +#for i in range(2256, 2260) { + numbering("イ", i) + [ for #i] + linebreak() +}