Index: Singular/gentable.cc
===================================================================
--- Singular/gentable.cc (revision 4a822bac56168cf3366ae4f463c7fc6873c0a3bd)
+++ Singular/gentable.cc (revision 0816f71425281ce41a6a64263309ea59a13ade6e)
@@ -43,4 +43,6 @@
// bit 4 for warning, if used at toplevel
#define WARN_RING 16
+// bit 5: do no try automatic conversions
+#define NO_CONVERSION 32
/*=============== types =====================*/
Index: Singular/iparith.cc
===================================================================
--- Singular/iparith.cc (revision 4a822bac56168cf3366ae4f463c7fc6873c0a3bd)
+++ Singular/iparith.cc (revision 0816f71425281ce41a6a64263309ea59a13ade6e)
@@ -125,4 +125,6 @@
// bit 4 for warning, if used at toplevel
#define WARN_RING 16
+// bit 5: do no try automatic conversions
+#define NO_CONVERSION 32
static BOOLEAN check_valid(const int p, const int op);
@@ -7974,41 +7976,44 @@
{
//Print("test %s %s\n",Tok2Cmdname(dA2[i].arg1),Tok2Cmdname(dA2[i].arg2));
- if ((ai=iiTestConvert(at,dA2[i].arg1,dConvertTypes))!=0)
+ if ((dA2[i].valid_for & NO_CONVERSION)==0)
{
- if ((bi=iiTestConvert(bt,dA2[i].arg2,dConvertTypes))!=0)
+ if ((ai=iiTestConvert(at,dA2[i].arg1,dConvertTypes))!=0)
{
- res->rtyp=dA2[i].res;
- if (currRing!=NULL)
+ if ((bi=iiTestConvert(bt,dA2[i].arg2,dConvertTypes))!=0)
{
- if (check_valid(dA2[i].valid_for,op)) break;
- }
- else
- {
- if (RingDependend(dA2[i].res))
+ res->rtyp=dA2[i].res;
+ if (currRing!=NULL)
{
- WerrorS("no ring active");
+ if (check_valid(dA2[i].valid_for,op)) break;
+ }
+ else
+ {
+ if (RingDependend(dA2[i].res))
+ {
+ WerrorS("no ring active");
+ break;
+ }
+ }
+ if (traceit&TRACE_CALL)
+ Print("call %s(%s,%s)\n",iiTwoOps(op),
+ Tok2Cmdname(dA2[i].arg1),Tok2Cmdname(dA2[i].arg2));
+ failed= ((iiConvert(at,dA2[i].arg1,ai,a,an))
+ || (iiConvert(bt,dA2[i].arg2,bi,b,bn))
+ || (call_failed=dA2[i].p(res,an,bn)));
+ // everything done, clean up temp. variables
+ if (failed)
+ {
+ // leave loop, goto error handling
break;
}
- }
- if (traceit&TRACE_CALL)
- Print("call %s(%s,%s)\n",iiTwoOps(op),
- Tok2Cmdname(dA2[i].arg1),Tok2Cmdname(dA2[i].arg2));
- failed= ((iiConvert(at,dA2[i].arg1,ai,a,an))
- || (iiConvert(bt,dA2[i].arg2,bi,b,bn))
- || (call_failed=dA2[i].p(res,an,bn)));
- // everything done, clean up temp. variables
- if (failed)
- {
- // leave loop, goto error handling
- break;
- }
- else
- {
- // everything ok, clean up and return
- an->CleanUp();
- bn->CleanUp();
- omFreeBin((ADDRESS)an, sleftv_bin);
- omFreeBin((ADDRESS)bn, sleftv_bin);
- return FALSE;
+ else
+ {
+ // everything ok, clean up and return
+ an->CleanUp();
+ bn->CleanUp();
+ omFreeBin((ADDRESS)an, sleftv_bin);
+ omFreeBin((ADDRESS)bn, sleftv_bin);
+ return FALSE;
+ }
}
}
@@ -8198,41 +8203,44 @@
int ai;
//Print("test %s\n",Tok2Cmdname(dA1[i].arg));
- if ((ai=iiTestConvert(at,dA1[i].arg,dConvertTypes))!=0)
- {
- if (currRing!=NULL)
+ if ((dA1[i].valid_for & NO_CONVERSION)==0)
+ {
+ if ((ai=iiTestConvert(at,dA1[i].arg,dConvertTypes))!=0)
{
- if (check_valid(dA1[i].valid_for,op)) break;
- }
- else
- {
- if (RingDependend(dA1[i].res))
+ if (currRing!=NULL)
{
- WerrorS("no ring active");
+ if (check_valid(dA1[i].valid_for,op)) break;
+ }
+ else
+ {
+ if (RingDependend(dA1[i].res))
+ {
+ WerrorS("no ring active");
+ break;
+ }
+ }
+ if (traceit&TRACE_CALL)
+ Print("call %s(%s)\n",iiTwoOps(op),Tok2Cmdname(dA1[i].arg));
+ res->rtyp=dA1[i].res;
+ failed= ((iiConvert(at,dA1[i].arg,ai,a,an,dConvertTypes))
+ || (call_failed=dA1[i].p(res,an)));
+ // everything done, clean up temp. variables
+ if (failed)
+ {
+ // leave loop, goto error handling
break;
}
- }
- if (traceit&TRACE_CALL)
- Print("call %s(%s)\n",iiTwoOps(op),Tok2Cmdname(dA1[i].arg));
- res->rtyp=dA1[i].res;
- failed= ((iiConvert(at,dA1[i].arg,ai,a,an,dConvertTypes))
- || (call_failed=dA1[i].p(res,an)));
- // everything done, clean up temp. variables
- if (failed)
- {
- // leave loop, goto error handling
- break;
- }
- else
- {
- if (an->Next() != NULL)
+ else
{
- res->next = (leftv)omAllocBin(sleftv_bin);
- failed=iiExprArith1(res->next,an->next,op);
+ if (an->Next() != NULL)
+ {
+ res->next = (leftv)omAllocBin(sleftv_bin);
+ failed=iiExprArith1(res->next,an->next,op);
+ }
+ // everything ok, clean up and return
+ an->CleanUp();
+ omFreeBin((ADDRESS)an, sleftv_bin);
+ a->CleanUp();
+ return failed;
}
- // everything ok, clean up and return
- an->CleanUp();
- omFreeBin((ADDRESS)an, sleftv_bin);
- a->CleanUp();
- return failed;
}
}
@@ -8378,40 +8386,43 @@
while (dA3[i].cmd==op)
{
- if ((ai=iiTestConvert(at,dA3[i].arg1,dConvertTypes))!=0)
- {
- if ((bi=iiTestConvert(bt,dA3[i].arg2,dConvertTypes))!=0)
+ if ((dA3[i].valid_for & NO_CONVERSION)==0)
+ {
+ if ((ai=iiTestConvert(at,dA3[i].arg1,dConvertTypes))!=0)
{
- if ((ci=iiTestConvert(ct,dA3[i].arg3,dConvertTypes))!=0)
+ if ((bi=iiTestConvert(bt,dA3[i].arg2,dConvertTypes))!=0)
{
- res->rtyp=dA3[i].res;
- if (currRing!=NULL)
+ if ((ci=iiTestConvert(ct,dA3[i].arg3,dConvertTypes))!=0)
{
- if (check_valid(dA3[i].valid_for,op)) break;
- }
- if (traceit&TRACE_CALL)
- Print("call %s(%s,%s,%s)\n",
- iiTwoOps(op),Tok2Cmdname(dA3[i].arg1),
- Tok2Cmdname(dA3[i].arg2),Tok2Cmdname(dA3[i].arg3));
- failed= ((iiConvert(at,dA3[i].arg1,ai,a,an,dConvertTypes))
- || (iiConvert(bt,dA3[i].arg2,bi,b,bn,dConvertTypes))
- || (iiConvert(ct,dA3[i].arg3,ci,c,cn,dConvertTypes))
- || (call_failed=dA3[i].p(res,an,bn,cn)));
- // everything done, clean up temp. variables
- if (failed)
- {
- // leave loop, goto error handling
- break;
- }
- else
- {
- // everything ok, clean up and return
- an->CleanUp();
- bn->CleanUp();
- cn->CleanUp();
- omFreeBin((ADDRESS)an, sleftv_bin);
- omFreeBin((ADDRESS)bn, sleftv_bin);
- omFreeBin((ADDRESS)cn, sleftv_bin);
- //Print("op: %d,result typ:%d\n",op,res->rtyp);
- return FALSE;
+ res->rtyp=dA3[i].res;
+ if (currRing!=NULL)
+ {
+ if (check_valid(dA3[i].valid_for,op)) break;
+ }
+ if (traceit&TRACE_CALL)
+ Print("call %s(%s,%s,%s)\n",
+ iiTwoOps(op),Tok2Cmdname(dA3[i].arg1),
+ Tok2Cmdname(dA3[i].arg2),Tok2Cmdname(dA3[i].arg3));
+ failed= ((iiConvert(at,dA3[i].arg1,ai,a,an,dConvertTypes))
+ || (iiConvert(bt,dA3[i].arg2,bi,b,bn,dConvertTypes))
+ || (iiConvert(ct,dA3[i].arg3,ci,c,cn,dConvertTypes))
+ || (call_failed=dA3[i].p(res,an,bn,cn)));
+ // everything done, clean up temp. variables
+ if (failed)
+ {
+ // leave loop, goto error handling
+ break;
+ }
+ else
+ {
+ // everything ok, clean up and return
+ an->CleanUp();
+ bn->CleanUp();
+ cn->CleanUp();
+ omFreeBin((ADDRESS)an, sleftv_bin);
+ omFreeBin((ADDRESS)bn, sleftv_bin);
+ omFreeBin((ADDRESS)cn, sleftv_bin);
+ //Print("op: %d,result typ:%d\n",op,res->rtyp);
+ return FALSE;
+ }
}
}
Index: Singular/table.h
===================================================================
--- Singular/table.h (revision 4a822bac56168cf3366ae4f463c7fc6873c0a3bd)
+++ Singular/table.h (revision 0816f71425281ce41a6a64263309ea59a13ade6e)
@@ -455,4 +455,5 @@
,{D(jjCOMPARE_P), LE, INT_CMD, POLY_CMD, POLY_CMD, ALLOW_PLURAL | ALLOW_RING}
,{D(jjCOMPARE_P), LE, INT_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_PLURAL | ALLOW_RING}
+,{D(jjCOMPARE_MA),LE, INT_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_PLURAL | ALLOW_RING | NO_CONVERSION }
,{D(jjLT_I), '<', INT_CMD, INT_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING}
,{D(jjLT_BI), '<', INT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_PLURAL | ALLOW_RING}
@@ -463,21 +464,5 @@
,{D(jjCOMPARE_P), '<', INT_CMD, POLY_CMD, POLY_CMD, ALLOW_PLURAL | ALLOW_RING}
,{D(jjCOMPARE_P), '<', INT_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_PLURAL | ALLOW_RING}
-#if 0
-,{D(jjCOMPARE_MA),'<', INT_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, MATRIX_CMD, INTVEC_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, INTVEC_CMD, MATRIX_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, MATRIX_CMD, INTMAT_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, INTMAT_CMD, MATRIX_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, MATRIX_CMD, NUMBER_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, NUMBER_CMD, MATRIX_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, MATRIX_CMD, POLY_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, POLY_CMD, MATRIX_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, MATRIX_CMD, VECTOR_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, VECTOR_CMD, MATRIX_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, MATRIX_CMD, IDEAL_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, IDEAL_CMD, MATRIX_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, MATRIX_CMD, MODUL_CMD, ALLOW_PLURAL | ALLOW_RING}
-,{D(jjWRONG2), '<', INT_CMD, MODUL_CMD, MATRIX_CMD, ALLOW_PLURAL | ALLOW_RING}
-#endif
+,{D(jjCOMPARE_MA),'<', INT_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_PLURAL | ALLOW_RING | NO_CONVERSION }
,{D(jjGE_I), GE, INT_CMD, INT_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING}
,{D(jjGE_BI), GE, INT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_PLURAL | ALLOW_RING}
@@ -488,4 +473,5 @@
,{D(jjCOMPARE_P), GE, INT_CMD, POLY_CMD, POLY_CMD, ALLOW_PLURAL | ALLOW_RING}
,{D(jjCOMPARE_P), GE, INT_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_PLURAL | ALLOW_RING}
+,{D(jjCOMPARE_MA),GE, INT_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_PLURAL | ALLOW_RING | NO_CONVERSION }
,{D(jjGT_I), '>', INT_CMD, INT_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING}
,{D(jjGT_BI), '>', INT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_PLURAL | ALLOW_RING}
@@ -496,4 +482,5 @@
,{D(jjCOMPARE_P), '>', INT_CMD, POLY_CMD, POLY_CMD, ALLOW_PLURAL | ALLOW_RING}
,{D(jjCOMPARE_P), '>', INT_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_PLURAL | ALLOW_RING}
+,{D(jjCOMPARE_MA),'>', INT_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_PLURAL | ALLOW_RING | NO_CONVERSION }
,{D(jjAND_I), '&', INT_CMD, INT_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING}
,{D(jjOR_I), '|', INT_CMD, INT_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING}
Index: Tst/Old/integers.res.gz.uu
===================================================================
--- Tst/Old/integers.res.gz.uu (revision 4a822bac56168cf3366ae4f463c7fc6873c0a3bd)
+++ Tst/Old/integers.res.gz.uu (revision 0816f71425281ce41a6a64263309ea59a13ade6e)
@@ -1,182 +1,183 @@
begin 640 integers.res.gz
-M'XL("+[>15<``VEN=&5G97)S+G)E
O@!DKF5=3J`-`P6SV
-MQGIW'QRQL0]KOTV,1I38DMK#)MOHEH;HT(_?/.H$^T!#HB2/&6,+!51E?IE5
-ME5F5=?1?__9??_G?+,O$))O=K;+9)?SW+'_V5_M:PNOL"OYWEAGZ9/PGQ27^
-M#I_KR^SOE\]J_TE/Z/5HEHWXTTA4_F/!Y7X5D$.T%OYTVS7V3W;]]^[%IIC=0+H/DF^F[^V::,;W;V=TT*_Z4O4YHOK;%
-M'Q;3MRLJN!I!HID"E_N[BVS5+J;9'S],;Q?XZ?*/'ES)X&Z1D!2ZTD:5NKJ$
-M%Y?9RY?9_/H!OT_?3YNLF2*]Z=WJ>@4TGX7#];0H[9:G9].UM/L]5]EF?7=S?9ZL/T#CZ\;:9SH#^]N7PF/%%C$=X"48!Y
-MEHG+V]O+9T#O])2^W'^:-N]N[W\[/CLY!Y#+C[WMR=$#UCL^OLI_SDCAC$]%JM7,4$\1+_,D7:AU-]W%HJ0
-M"KIK9W7O7$I87=]/?+K",4Z?()UC!
-M(_>7+>_GTXR:&VAX=OWF=KKT><5%1M2:2_\*>MWB_K;-%E#'#U*=M6=K(<-G
-MZ'GS:X#PD,U_DC__I'[F5G^NSG7(!'UP=C.]OH7_1RKG[?DZ?"S/G,O!S667.64]#UE.;E5YEQMLR
-M*3CKS>Q3R$P)RFY?9X7/+SG_JY#[EWM_NSR>4Q%XRN:9LH5L*@M%E"W2W/]FB^`39))2(7%Q>B9M6&-!AA1ZK(
-M(U++E2\'KD&(J!REX3]?3G"YZ=L/]U`&_R&P^!"T4=@6LKA^/_UM=K/Z`%G]
-M,U/WR3B^/Z)_,RF83$6);]0V.EAY0'3",>\BNR8W#NXRD[+R+BE=1\=86;S<4
-MC]^%MEZ8J/@_;/%_;"@>OXLDK:/BC2W>;"C>;"Q>VK;0@%FXGQ^K'L#W>K=.ZB7\]D(J.[+%K&Q3>=F^@[&]]!_@`F6=2\R
-MKIKD5=!P:9O4?7.#]7,$_T)=?2Q@BI5:8)D#+KG6&=MXGFZ=;
-M13Q@&,83/3ME@'D5*I#<1';,GTY\[MI.8;*KRX-F9&7MIF10\N#9&&6_O0:#
-M@C.LYA.4N;L&!?YVO22J0)!Q7*]@TO0K3)9>`Q.+N@OT0!E)"V\F;TG(;Z;%I35PD[L@Q6C@V)D''TQ
-MC]0A?PQUZ$@='<2#E1!Y@ZJTEKI!73>)%N`=Z0`=]'?40&DUX"`.%MM&RF8-
-MZG'1$96K&P,BWU'4RHO*$`>+:IRH&!6<=T15)"H'=[ZCL,8+RR`'"UL[835%
-MD:+91T=PFC6_YIC3=Q2\]H(_!CQ4"2;?$%OM&Y+,,3.,)?9FMN&Z*%"')9L>
-M;$ZQ(&:F/PP([@5&H>S&XJ$9FM%.8]H-LH
-MJ(01O?(%%ST*HC'Y786XOT;4VHC-D2!:-=@8#S+R(EDN,G8R1?$A"BAGV&4H
-M^9JJ^_5)]NX:`':[-&>AWG]R4)?IAM-%Q[&D1PMNFB"-,\8SH(0J1)`:)S(FK#B;!:8,5B6;/LWO;S[>3C=_
-M`Y-S?_L1H^N'*JNRRK)8@ZI,%,U:]!4\#C$U08MU)T9PY9
-M%6?<,;%Z-%L\\9+7HA/0*`KXKW"8+RXN%M?-%X=JN+8,8PI[]$Q9MVJZV*%ID8/M
-M9TXCC(L^D_Z#!6[K5O.)S(M<.ACS8($!A3U/V,`:[E;C+%(@<%ZQWC2##O@"<`?;*Z&F#
-MF:$5UD.E1QO#!7?%C45>37BGP:'T*Z8_VD??3'A[PJ'T#=,_W4>_GK@=#8=R
-MJ)D#%=WG*6:?=J+`K2]`ZN6A&$3.&%[ND5*(">_$.)2^8/JO]M&7$]ZZ<2A]
-MR?2?[Z.O)KSAXU#ZBNE/]M'7$]XF?>_GG
-M@^G;7OYY'WWNY>/#*\!V\_'>&N!^?G5U,`?;T;'D;@['<[`=?;R/@^1>
-M/#F8@[3=>+*7`_=C7`,^E(7MR51TC[6"/+M1<&^'KX>"L-T=2^X=M>Z&``;!
-M;1TZ%`3:!%]V-Q<]X?VK%#`+SO61"][PYVD4%^R`YY?/?OE)G(N?KZ2@)PE/
-M]*!^OE+P(/&;I@?\E-,3?,L]J=+Z6A<`M\!H'PF&?M_>SQ>`\,TM#,<>Q'DF
-M']2!`RE9.K<\C]1061\X29Q?'KC@_@;QX=1
-MOBB&W5#X(AW`@@AB&MNT]A3'K!F`R"(=U`(8:A[*@@A3'N!6,\"(9R
-MXXD8AK:#AQ0&6O(^0"C?`"C:#3UB*(4=9Z10@$(?))AM`)#"C5%B(*4;D,S#
-M-G^A*C>(F(?XNE#&.?Y./5[UJ\BK0:B-'S3$L&LW0NBT['Y0)L.@U'YT$4'1
-MN1]*?--VI?,P$(GA"#>F^(9-2PL_'HFA2#^VP%"M]7BCX+5'WFV/O-\>><<]
-MVN"Y<7?N'.C)_(L'`;AK=P[^.2(U$G4/6AMQ%4CL-,$UV+/CYMXY^5_R5]FWMRH#+UD/'!AI'/1YZ:`@5"O1J@SBO]@OS:C-2M_]FR^>[
-MC_,WTV;K9][.L>4CKXL-&PWHBC3P*I7?H/S/-\C_?+_\SW=7Y?;/5)QA+:
-MD!#/4R%J%&*R08C)?B$FNX48--30-:&<)"AQM_@[40X:B10Y
-MH1RG*`6B?+$!I7<&3^`Q"D%07J10)$+YO`&*Z`.&\D4;*-VR3;3,@YPR&I"D6_:--GT,=<`I<:1#`\\OM)(
-MIN2#3W97S+"02"EL2&2Y2L9Z9V$OVPX%G6UN6:YD(+*M-+O@:)O;)OK82G=\
-M/GB3'`CM%E1`:E]#I;0AG8XJ1KU4,=JQF6^T0="^4*4+`B50E8T"=:">]H)Z
-MN@/JJ>\AVS[OJ;+3W55V.K3*E%M#2O2@;<2HHX>7O?0P*&14:A"\Z@5FT+BU+%T4*P%2V3!6!\CS7D`&C3W+
-MRL6Q$B#&!K(Z0":]@&P9?;J2DZZEZPO5N%A7`M4NCW2ACGM!W3($=27'0Z&Z
-MI9<$:I7;@%@'*OGQ'F`'^OLJ=Q&Q!(RP(;$.&/3C/;`,<_>5<#&Q!(IT0;%N
-M'?9K;^,]#6X\M,55TJ\")GB5"]=U\%Y=]<)[M660Z8I&9`[$J_R:8H)7NT!B
-M5[_]\&X;OWO]#L:K?;`QP5NX:&/7_/3#NVT0[PW08+R%CT@F>$L?DOS&/;L,
-M,KI?T"V3$#<]W_(YTL/V60SI8?OG#:7[ZD&P'DY3
-M/4C20QIL=YKXL8/M1K)`W6@['H.!UZ\V"/2["[?3^1LG;-"`)@T\WZ"!'S/@
-M;C2+D4;<\:`0O)QL$&-XR'WKI.?K!.5-P9*D47E#-WHE8?EH1K-/DH/"\E]M
-MRF1*EB2-W.-Q*WCY8H,D3QDBI:-3CF\`8PC,YPU@GBY":@Q#2:/WAL<0XTV-
-M==RCM3[9E,E8/S].6V3-CO[J:@/>JQYQ^6U3II1"_PG5HU9]-2BP7UMG?Y5&
-M]FOV]N--TG[)@LGV"==76E.IK=/N+*K4[+4GF^3YDE65[1.RK[3P4EN?W5EY
-MJ=EEITLOW\*NU-9_=M=>:O:@R>++TYN6VKK!SNH+GDD;'=NQ^LF_SA2%CM)%
-M@@>%E+1V1)=T#ELYJBN[%($.&L#)7+O*^B$!H&WA?=./N>T$,&8#*7+NH
-M>PS"AKT01*@KNV$07PK_LK*!Y,7C:-->P,-,EW0'GUXDD(T-(B\>A9GVXAAD
-MLZ0['_4Y@5&[`'*L)7LXZ>HJ4:@]4C2^2O-*%W),\BH?V/N&FG:'?YBM%]*>
-M]8$RWTS9[I@0\0Q`"A_0P\L#@KT:R:`Y:+8+&^+:8/`D'LQ9V+B/_QZ7-_B=
-MPR5;[!V>BUF`9<,L(R'`U"$0>D`T].`SXQ&712?LP$K[H8,.DD[8++HQ!XGG
-M:18VY/"@RQST\J!5Q1K"I_8,QJ8/6NBUU&?*T&.+GX70^8.JQ5J5+DLKSY26
-M]+;%[-KHXD&59JU-^"!)I[*4"C^U5+PH17`5"%+H&H9&@
-M1E5I`$D$%>JJK)`9$)0(DLGG%3:>G/4H#"A.ZZ#ADAJ6!UE0_=45@]0(N5)%
-M33050A8B1[4"4$D--C0DUC/P4B4BJ0GZ21*36!?Q:DI%Z4`U?ZJA%&FIWKIXJ%-
-MP3;JM5M1]:J2>94K,]=?5NR,QY)!6W"M03($%3
-MQ^T5@134>[G;UVBG4"UD^4JT4Z@6LMH:[12J!5V&!#,%>CD#KGFP`R+WVD$0
-M=:0=`&$B[0"**F@'4)1!.S49.J><$@V=5XY&.^>5(]'.L79:U(TW<:T0H6,#
-M*AFUR3JT&4!AHC8#,*K09@!&&369$NVC;S$:S6-H,1+MHVTR"`DTXPV7$+[W
-M('M`X[H/\J^C[@/\C>\^P+X*O:%`&*@$;T.%](:2^`EO
-M*9$?L'>F$OC5WE("/Q,,I29SZ^RD1'/K[61;L-S.+;1"!?,FI'<%Q$T$7P#L
-M@+GS!<"O]JX`V)G($TBTM\X3(.O2!(,M5/!NQ$)Z]X8?<&/.K@
-MW2096.?=D!V(YQQ/*W0PF$(%#XT,I/?0R$!X#PWT@9WWT(JL%CL39!4;?:']
-MF`(IJC"F0)+2CRF0I(C&%-37[:`"R2-\Y[E:47B[*L*X!PF&<0\2C,8]"LG;
-M@0_;D3QX!G2&TMLDH?UH#(FH:#2FD*8=CE''R[U':T6PKZ+P8T*DH,.84"$]
-M.RA$6H#(^P11^J$HEBK\4!1+:3\610I&.T?6BLJ;3U&&02^6*=RH%XM7TAM\
-M484!->8K_8@:RR"?FO,9;P9%Y4;GF!T'YVRDA7$#>\P"9&SVFBR50&^*QE/4
-M-,D*