Caml1999T037+aC'Diffing'warning0utils/diffing.mlP7;P7B@#-16 P7DP7G@@P7CP7H@@@@@@P77P7I@@3@@@@@@#intA;@@#intA@@@@@&_none_@@A@A@$charB;@@$charA@@@@@ @A@&stringQ;@@&stringA@@@@@@@@%bytesC;@@%bytesA@@@@@@@@%floatD;@@%floatA@@@@@@@@$boolE;@@%falsec@@%@$trued@@+@@@A@@@@@,@A@$unitF;@@"()e@@6@@@A@@@@@7@A@ #exnG;@@@A@@@@@;@@@#effH;@@O@A@A@@@@@@D@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@T@@@%arrayJ;@@R@A%arrayA@@@@@@_@@@ $listK;@@S@A"[]f@@l@"::g@@@T@@y@ @@A@Y@@@@@|@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@@@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A頰=ocaml.warn_on_literal_pattern@@0Division_by_zero]#@@@A󠰠  @+End_of_file\#$@@@A@'FailureY#,@'@@A@0Invalid_argumentX#5@0@@A $#@-Match_failureV#>@@=@9@;@@a@@A5!4!@)Not_foundZ#O@@@A&=)<)@-Out_of_memoryW#W@@@A.E1D1@.Stack_overflow^#_@@@A6M9L9@.Sys_blocked_io_#g@@@A>UATA@)Sys_error[#o@j@@AG^J]J@:Undefined_recursive_modulea#x@@w@s@u@@h@@AXo[n[@:Continuation_already_takenb#@@@A`wcvc@&Stdlib@@A++change_kindA`(-`(8@@;@@(Deletion@@a;=a;G@@AA)Insertion@@bHJbHU@@BA,Modification@@cVXcVf@@CA,Preservation@@dgidgw@@DA@@A@@@@@`((@)ocaml.doc. Shared types __'@@@@@@@A@@A@#88a;?6@5@@@9@#55bHL3@2@@@6@#22cVZ0@/@@@3@#//dgk-@,@@@0@@A@,*ǐ)(@((@@@(@(@@7:@@ఠ%stylefy}fy@*EA@@@~@@@B@@@$Misc%Style%style@@@ B@ @@@ B@@@B@3)(()))))@(@@@@Ġ,PreservationMgNg@;|'@@@@@@CD@@A~@@{@@@@.3>==>>>>>@=YfyyZjC@@@@@@ Р$Misc%Style$Miscmgng@ qgrg@@@!@@A3_^^_____@"@@@63a``aaaaa@#@@ภ"::ggA;Sߐ@@U@B@AA@AD@@ˠภ"FGg@;"FG[@@@ @_%color@@@ @A@BB@A.utils/misc.mliNNNO @@@dv@ภ%Greengg@;%Green@@@ @@@BH@@A NN NN@@@wo@@  @@!@@@ E@ 3@B@@@@;@@E@ @ภ"[]gDA;C@@@@AA@A@@@GA@@@@ E@ @@gO@@@@@ @gT@@3@@@@Ġ(Deletionhh@;'@@@@D@@A&@@#@@@@3@@@@@@ Р%Style$Mischh@ hh@@@@@A3@@@@3@@@ภhhAภ"FG  h@ภ#Redhh@;#Redo@@@AH@@A NN NN@@@n@@  @@@@@ E@ 3        @(@@@@"@@E@ @ภ.h*Aภ$Bold6h@;$Bold@@@@BB@AO>OBO>OH@@@x@@ @@ E@ !@ภBA@CA@F@ @@@ E@ &,@@#LA@#B@ @@@ E@ 5@@ZhV@@,@@@ ;@m[@@3 @Ġ)Insertionhiii@;@@@AD@@A@@@@@@F3VUUVVVVV@@@@@@ Р%Style$Misc~ii@ ii@@@@@A3pooppppp@3@@@G3rqqrrrrr@4@@ภiiAภ"FG i@ ภ#Redii @@@@@@@ 2E@ 63@!@@@@ @@wE@ 1@ภ4i #A2ภ$Boldi@@ @@E@ @@ภ 4A@ 5A@F@ 8@@@ =E@ E%@@>A@B@ )@@@ -E@ <.@@iH@@@@@ ,4@_M@@@Ġ,Modificationjj!@;@@@BD@@A@@@@@@3@@@@@@ Р%Style$Miscj%j)@ j*j/@@@@@A3@@@@3@@@ภ j2Aภ"FGj4@ภ'Magentaj5j<@;'Magentav@@@EH@@ANNNN@@@r@@  @@@@@ QE@ U3@'@@@@!@@E@ P@ภ5j>Aภ$Bold=jB@@ @@ E@ _@ภ A@ A@F@ W@@@ \E@ d%@@A@#B@ H@@@ LE@ [.@@Zj0@@,@@@ K4@e@@3@@A%paramvcfy @@@ @@DB@ p@A@@@(@ఠ&prefixwslEItlEO@FA@@@*Format_doc)formatter@@@)B@ r@@ s@@#intA@@@)B@ |@x@@@B@ }@@ ~B@ x@@ y$unitF@%@)B@ z@@ {B@ t@@ uB@ q3@n@@@@@࣠@#ppfyAlEPlES@GA@@B3@QlEEq@@@@@  @@%paramA@ఠ#poszlEUlEX@HA@@D3@'_@@@@@@ఠ!p{lEZlE[@IA@@I@@lETlE\@@@Z@R@@ @@ @@ Р*Format_doc*Format_docm_jm_t@@ 3@.7t@1@2)k@#@$@@@@A3@@@ m_e @@ @3@ @@@ఠ#stynx~nx@'JA@@@@@@@@F@q3@@@@ఐ%style1nx2nx@@@@@@@w@@v  @@@u@@@t@@s@@ఐh!pLnxMnx@E@@(@@@@0)@A@Qnxz@@ డ_,pp_open_stag]o^o@'printer&Stdlib&Format$stag@@@@@@@4utils/format_doc.mli    @@@@@@@@@@@3feefffff@tib@c@d@@@@ఐҠ#ppfoo@@@@@ภ$Miscoo@%Styleoo@@%Styleoo@@;%Style&Stdlib&Format$stag@@@ @$listK@@@ @@@ @A@@A&_none_@@A@@z@ఐ#styoo@P@@@@@#@@@@#?G@#CG@#A^@@oo@@{@@@G@#>f@@@@z@@@#EF@m@ డ'fprintfpp@@}@@@T@@S@&format!a@ @@@Qk@@@R@@@P@@O@@N@@M@Q@@y@&%@@@@@@#P@@#O@#@@@)O@@@)F@#`F@)uF@)y@@)F@#J@@@#M,@@@#N@@@#L@@#K@@#I@@#H@@ఐ#ppfKpLp@r@@@@ภ8CamlinternalFormatBasics&Format[p\pA;&Format8CamlinternalFormatBasics'format6!a@#Р!b@#Ѡ!c@#Ҡ!d@#Ӡ!e@#Ԡ!f@#@@@)-@'#fmt$ @@@)+&stringQ@@@),@B@@A@AB@*3@70@1@2@@@డ&Option$bindtt@ tt@@@6!a@*@@@*@@*@@ @@*5!b@*@@@*@@*@@*7@@@*@@*@@*@*option.mliii@@.Stdlib__OptionG@/*@@]=@A@t,@@-@@@ఠ$let+5u u@LA@@@sq@+]@@@+oB@+J@@+K@@@@+r@+Z@@+qB@+P@@+Q@@@+mB@+R@@+SB@+L@@+MB@+I3@r@@@@@࣠@!x7A #u $u@ 0MA@@.3        @= +u ,u%@@@@@  @@!f8A 7u 8u@ DNA@@43 $ # # $ $ $ $ $@!E@@@@@@@@డ&Option#map Mu Nu@  Qu Ru!@@@@!a@*@@*!b@*@@*@@*@n@@@*@@*]@@@*@@*@@*@oo@@I@)$@@@@@@+`q@@+_@@+^@@@@+\@@+[v|@@@+Y@@+X@@+W3 s r r s s s s s@P\@S@T@@@@ఐc!f u" u#@ @@@@ఐ!x u$y@hz@@@@Z{@@@|A@B@+x@A@@@@ఠ%let*!9 v&* v&1@ OA@@@:8@+@@@+B@+z@@+{@@@@+$unitF@@@+@@+B@+@@+@@@+B@+@@+B@+|@@+}B@+y3        @@@@@@࣠@!x;A v&2 v&3@ PA@@23        @A v&& v&G@@@@@  @@!f@  v&? v&C@@@@!a@*h@@*X@@@*@@*@@*@q@@@*@@*[@@@*@@*@@*@`| o oa| o @@_L@'"@@@@@@+s@@@+@@+@@+@@@@+@@+v@@@+@@+@@+3 > = = > > > > >@P\@S@T@@@@ఐc!f bv&D cv&E@ @@@@ఐ!x ov&Fy@hz@@@@Z{@@@|A@B@+@A@@@$DefsBG ~xIU xIY@ WAБA+$left=B y`g y`k@@;@@@A@@@@@ y`b@@@@ RA@@A@@@3 ~ } } ~ ~ ~ ~ ~@@@@A @A+%right>C zls zlx@@;@@A@@@@@ zln@@@@ SA@@A@@@3        @ @A@A+"eq?D {y {y@@;@@&A@@@@@ {y{@@@@ TA@@A@@@3        @@A@A+$diff@E | |@@;@@8A@@@@@ |@@@@ UA@@A@@@3        @@A@A+%stateAF } }@@;@@JA@@@@@ }@@@@ VA@@A@@@3        @@A@@YSA@GAA@71A@'!A@A@@3        @@A 3        @Y@A xI\ ~@@@ xII@@3        @`@@A+&changeCH @ @@А$left@+3        @vA@uoA@e_A@UOA@E?A@@@';@@+@@+@@+@@+@D@A@GGGG@BBBB@@@ 0@ 1D  6@@@@ =XA@@ 4@ 5@@@BAА%right@+6 @@ A@@@ А"eq@+A K@ L@@@А$diff@+L V@ W@@@"@;T @D&DeleteD`I@+@@ gA hA@@ tYA&InsertE6I@+@@ sB tB@@ ZA$KeepFxI@+EI@+=I@+@@ C C @@ [A&ChangeGI@+WI@+DI@+@@ D  g@@ \A@@A@YYYY@@@@@@@@r@@@o@#DD A A@?@А$leftI AG@@@@I@#EE B B@@@А%rightJ BH@@@@J@#FF C C@;@А$leftK C C @@А%rightOŰ C  C @@А"eqS̰ C Q@@@@S@#OO D   D  @E@А$leftTٰ D   D  %@@А%rightX D  ( D  .@@А$diff\ D  1@@@@\@@A@@@@3        @@@@ఠ(classifyH F 8 < F 8 D@ ]A@@@@+נ@+ؠ@+٠@+@@@+I@+@@+ @@@+I@+@@+I@+3        @#@@@@Ġ&Delete )G P V *G P \@;!Ր@@+@A@@D@A@@Ǡ@ 3G P ] 4G P ^@@&3        @; 9F 8 8 :J  @@@@@@@@3@@@ภ(Deletion BG P b CG P j@ e@@@.@Ġ&Insert MH k q NH k w@;$@AA@D@A@@ܠ@ TH k x UH k y@@GI@+#@@@ @@P$@@@ภ)Insertion _H k } `H k @@@@K-@Ġ&Change jI   kI  @;A@CC@D@A@@֠@ qI   rI  @@fI@+@@@@hI@+D@@ @hI@+H@@@ @@uI@@@ภ,Modification I   I  @@@@pR@Ġ$Keep J   J  @;f@CB@D@A@@ @ J   J  @@I@+e@@@I@+i@@ @I@+m@@@ @@n@@@ภ,Preservation J  p@ [@q@@v@@AKJ F 8 Gt@@@u@@I@,&|@A@y@yx@&Define$I L   L  @ #A@Т!DKJ L   L  @РS$Defs L   L  @3        @@@@@@@БР!D M   M  @@ 3        @*@#@( ^A-@@@@A3        @@@ M   @@@3        @ @@@+&changeLK O   O  @@;@@qA )$left@@@,'/%right@@@,(5"eq@@@,);$diff@@@,*@@@,/@@@@ O   !O  @@@@ -_A@@Aг!&change *O   @г%& 1O   2O  @@,3        @C@@@@г)* ;O   <O  @@0 @@г,- DO   EO  @@3@@г/0 MO   NO  @@6@@@M QO  1@@3@@32@ A+%patchML \Q  $ ]Q  )@@;@@A l@@@,F@@@,H@@@@ jQ   kQ  7@@@@ w`A@@Aг$list tQ  3 @г&change |Q  , }Q  2@@3 g f f g g g g g@);@@@A1@@@,[@,E@@@@!@@@@@@@@+ !@@#@@#"@3 v u u v v v v v@@@!SOM R 8 D R 8 E@ bAБ$diffN S L R S L V@б@г%state S L X S L ]@@ @@@,_3        @7_Y@A@@б@г &%array S L f S L k@г$left S L a S L e@@ @@@,`@@@@@@,b  @@б@г D%array S L u S L z@г%right S L o S L t@@ @@@,c9@@@@@@,e> @@г%patch S L ~ S L @@ @@@,fK@@@@@,g@@,hP @@@9@@,i @@,jU@@@@]@@,k @@,lZ`@@@S L N@@aA@@@`@v@@3  @cx @A3@e@AR 8 HT  @@@R 8 8@@3        @l@@A+*full_statePN+W  ,W  @@;@@$lineQ@@ Y$left@@@,m@@@,o>X  ?X  @@KdA&columnR@@ k%right@@@,r@@@,tPY  QY  @@]eA%stateS@@y%state@@@,w]Z  ^Z  @@jfA@@A@@@@@aW  b[  @@@@ncA@#66+iX  @*@@Ш@г9%arrayrX  sX  @г>?zX  {X  @@E3eddeeeee@t@@@f];@@@A@@@@@&@@@#@@  @@@T @@W@@,p@M@#II>Y  @=@@Ш@гL%arrayY  Y  @гQRY  Y  @@X%@@@]& @@`@@,u)@V@#RRLZ  @K@@Ш@гUVZ  T@@[6U@@^@@,x9@Y@@A@U@@UT@3@9@@&MatrixOf  f  @A@БA+%shapeTP_f_k@@;@@!lU@@@@@,_p_y@@hA!cV@@@@@,_z_@@iA@@A@@@@@_a_@@@@gA@#_q@@@Ш@г #int_t_w@@(3@7;@@@A@@@@@@@@@@@@0@@,@,@#((#_{@"@@Ш@г+#int_~,@@2-@@5@@,@1@@A@-@@-,@3@@@A+!tWQ&'@@;@@&statesX@@z@@@,@@@,@@@,@@@,BC@@OkA&weightY@@@@@,@@@,@@@,XY@@elA$diffZ@@ˠϠs@@@,@@@,@@@,@@@,st@@mA'columns[@@@@@@, @@nA%lines\@@L@@@,*@@oA@@A@@@@@+0@@@@jA@#iiU@T@@Ш@гl%array@гq%array@гv&option@г{*full_state@@3@;@@@A@@@@@4@@@1@@@@@ @@@ @@@ %@@@@, @@#t@s@@Ш@г%array@г%array@г#int@@,@@@- @@@.@@@@,1@@#@~@@Ш@г%array@г%array@г&option @г&change@@[@@@\ @@@]@@@^ @@@@,a@@#"@@@Ш@г#int+,@@p@@@@,s@@#4$@@@Ш@г#int=&>)@@@@@@,@@@A@@@@3,++,,,,,@@@@ఠ'opt_get]O17P1>@\pA@@@%arrayJ@0R@0@@@1R@,@@,@#intA@@@1 R@,@@,@@@0R@,@@,R@,@@,R@,3cbbccccc@ZT@@@࣠@!a_A1?1@@qA@@23tssttttt@A13E@@@@@  @@!n`A1A1B@rA@@43@!I@@@@@@@@డ!<ENEO@@!a@@@%@@@$$boolE@@@#@@"@@!)%lessthanBA @@@@*stdlib.mli @@&StdlibS@"!@@@nR@1R@0R@,@@,@ @@, @@@,@@,@@,3@COy@F@G@@@@ఐV!nELEM@ @@@@డT%Array&lengthEPEU@ EVE\@@@!a@/@@@/@@/@@@/@@/-%array_lengthAA @@@)array.mliaa@@-Stdlib__ArrayA@% @@@R@0@@@0@@0@@@0@@0R@@ఐ!a=E]>E^@@@_@@@@@j`@@T@@@@@0U@-g@ภ$SomeNEdOEh@;@@W@A@AA@A@@డ%Array*unsafe_getcEjdEo@ gEphEz@@@!a@-@@@0@@0@@@@0@@0 @@0@@0א1%array_unsafe_getBAd@@@@dGmGmeGmG@@cq@% @@@1.@@@1@@1@'@@@0@@06@@0@@0@@ఐ!aE{E|@@@K@@ఐ!nE}E~@Ͱ@@F@@EiE@@S@@g@@@U@@@0@ภ$NoneE1@;q@@@@AA@A@@@4@@T@1@EI8@@@B9A@vR@1@@A@=@=<@R@ఠ$line@sA@@@@@@1sR@1@@1@@@@1R@1!@@1"@@@@1UR@1'@@1( a@@@1U@10@@@1R@1)@@1*R@1#@@1$R@1@@1R@13@@@@@@࣠@!mA@$tA@@:3@I @@@@@  @@!iA+,@8uA@@B3@!Q@@@@@@@@!jA<=@IvA@@H3)(()))))@V@@@@@@@@ Ϡ$let*LM@ 7@ Π;@@@1U@1rU@18V@15@@@17V@1=@@1@@@@@1: ՠn@@@13V@19@@1;@@1> ՠt@@@1/V@1<@@1?@@1AV@1-డ%Array#getBCA@2!a@/ @@@/!@@/ @@@@/@@/ @@/@@//%array_safe_getBA@@@@d::d:r@@B@! A@@ *\@@@1xU@1qU@1E@@@1I@@1H@@@@1G@@1F@@1D@@1C3@@@@@@@డ$LKPPJAILA@@IP2@@@1WV@1vV@1[@@@1_@@1^@@@@1]@@1\@@1Z@@1Y+@@ఐ᠐!mo@Űq@@9@&states@3@@@,@@@3@@A@A@3@@B@A@3@@C@A@3@@D@A|@y@A@° @@~5@@@1mW@1tW@1oQ@@ఐ!i@ٰ@@/^@@M@@D_@@ఐ!j'(@i@@2l@@@@}m@ @@"st34@@wA@@y@@@ఐ'opt_get@A@7@@@GV@1@@@1@@1@@@@1@@1ߠ @@@1@@1~@@1}3A@@AAAAA@.@%@&@@@@ఐ7"stgh@@@@$lineno@3?@@@,A@@@321@@A@A'@$3! @@B@A@@A:@7 @@!5@@@1W@1W@1(@@ఐb!ik@Il@@4@@Mm@@ @@@1{9@AFr@@3{zz{{{{{@@@@}tA@R@1{@A@x@xw@@ఠ&column@xA@@@@@@1R@1@@1@@@@1R@1@@1@W@@@2R@1@@1 *@@@2 U@1@@@2%R@1@@1R@1@@1R@1@@1R@13@@@@@@࣠@!mA@yA@@83@G@@@@@  @@!iA@zA@@A3@!O@@@@@@@@!jA@{A@@G3@U@@@@@@@@ $let*@ @ @@@2!U@1U@1V@1@@@1V@1@@1@@@@1 m@@@1V@1@@1@@1 s@@@1V@1@@1@@1V@1డǠ LMAưA@@Ơ Ҡ;@@@2U@1U@1@@@1@@1@i@@@1@@1@@1@@13ONNOOOOO@^j@a@b@@@@డ󠡠45,xA.A@@2@@@1V@1V@1@@@1@@1@@@@1@@1@@1@@1+@@ఐ!mQ@S@@9@&states@Z@@,@@@1W@1W@1H@@ఐǠ!i@@@U@@pD@@;V@@ఐĠ!j@`@@c@@~}@@td@@@"st@|A@@p@@@ఐ'opt_get@ְ@@@V@2 @@@2 @@2 @@@@2 @@2 ~ @@@2@@2@@23@.@%@&@@@@ఐ7"st @@@@&column  @ @@.@@@2W@2"W@2!@@ఐ !j":@;@@b-@@F<@@ \@@@22@AA@@a3@@@@LCA@R@2+J@A@G@GF@]@ఠ$diff:;@G}A@@@c@@@2pR@2-@@2.@W@@@2hR@23@@24@b@@@2RR@29@@2:@@@2o@@@2nR@2;@@2R@37@@38R@343@@@@@@࣠@!mA@'LA@@^3@m"#9?@@@@@  @@!iA./@;MA@@g3@!u@@@@@@@@!jA?@@LNA@@m3,++,,,,,@{@@@@@@@iiAmOP@\OA@@o3<;;<<<<<@@@@@@@W@iiAm`a@mPA@@o3MLLMMMMM@@@@@@@h@mmAqqr@~QA@@s3^]]^^^^^@@@@@@@y@@ డ#set FGA@ 6!a@/@@@/*@@/)@@@@/(@@/'@@@/&$unitF@@@/%@@/$@@/#@@/"/%array_safe_setCA@@@@@mm@@C@,+A@@)Y@3`@@@3d@@3c@@@@3b@@3a@@@3_&@@@3^@@3]@@3\@@3[3@Ze@]@^@@@@డ4\[``VAYXA@@Y\3@@@3yZ@3Z@3}@@@3@@3@@@@3@@3~@@3|@@3{+@@ఐ!m{@Ұ}@@G9@&weight  @ @@,@@@3[@3[@3H@@ఐ!i !@ݰ@@XU@@D@@;V@@ఐ!j./@۰@@[c@@ఐݠ&weight;@Ű@@Ho@@@@Z@@@3Y@3tu@ డȠ QRAǰA@@Ǡ '\@@@3Y@3@@@3@@3@@@@3@@3@@@3@@@3@@3@@3@@3@@డ;<. A0A@@4@@@3Z@3Z@3@@@3@@3@@@@3@@3@@3@@3@@ఐ!mS@qU@@@&states@\@@$,@@@3[@3[@3@@ఐ!i@|@@@@rD@@;@@ఐ!j  @z@@@@ภ$Some@ ఐt%state@@@@@ @@Y@3@@@@@@@3Y@3 @ డPxs|x!7ArA@@r"Y@3@@@3@@3@5@@@3@@3@@@3o@@@3@@3@@3@@3I@@డz*&+A,A@@0@@@4Z@4Z@4@@@4@@4@ B@@@4@@4@@4@@4q@@ఐ4!mOK"@Q@@@$diffQ#R'@PX@@ˠ,@@@4[@4[@4@@ఐ;!if)g*@#@@@@nD@@;@@ఐ8!jt-u.@!@@@@ఐ4$diff3@@@@@@@@@@4!Y@3@ภ49=l@3@m@@3@@@4$@q@@@Dr@@@ s@@@}tA@R@40{@A@x@xw@@ఠ(shape_atAGAO@RA@@@ @@@4R@42@@43@ @@@4R@48@@49@ @@@4kR@4>@@4?@@@4V@4G@@@4R@4@@@4AR@4:@@4;R@44@@45R@413@%@@ @@@࣠@#tblAAPAS@SA@@83@GAC@@@@@  @@!iAATAU@TA@@A3@!O@@@@@@@@!jAAV AW@UA@@G3@U@@@@@@@@*$let+Z^Zb@8@' @@@4U@4U@4NV@4K@@@4MV@4S@@4V@@@@4PhU@4O@@4Q@@4T*n@@@4FV@4R@@4U@@4WV@4Dడ  Š  JZhKZzA İA@@ Ġ]6@@@4U@4U@4[@@@4_@@4^@ g@@@4]@@4\@@4Z@@4Y3MLLMMMMM@Ye@\@]@@@@డ  񠡠 2 3,vZvA .A@@  2@@@4mV@4V@4q@@@4u@@4t@ @@@4s@@4r@@4p@@4o+@@ఐ#tblQZk@S@@9@&statesZlZr@ Z@@ ,@@@4W@4W@4H@@ఐ !iZtZu@@@U@@pD@@;V@@ఐ!jZxZy@`@@c@@~}@@td@@@"stZcZe@VA@@p@@@@ఠ!l~~@WA@@ @@@4W@43@ @@@@@డJ%Array&length~~@ ~~@@ @@@ @@@4W@4@@@4@@4 @@@4@@4(@@ఐN"st~~@4@@7@$line"~#~@  @@ &@@@4X@4X@4F@@7 @@JG@A@/~ @@@ఠ!c :;@GXA@@ *@@@4W@43,++,,,,,@]kd@e@f@@@డ%Array&lengthST@ WX@@ R@@@ R@@@4W@4@@@4@@4 R@@@4@@4(@@ఐ"stwx@@@S7@&column~@  @@ x&@@@4X@4X@4F@@7 @@JG@A@ @@ຠ3!lAఐ @X@@@@4V@43@`ng@h@i@@@D!cAఐz @@@@@4V@4@@@@@@0@@x@@@@A@@3@Y@@@A@R@4@A@@@@ఠ*real_shapeà@YA@@@ @@@5AR@4@@4@@@5R@4@@4R@43@ B;@<@=@@@࣠@#tblA@ZA@@3@+'@@@@@  @@@ఠ%linesƠ@[A@@ A#ref@@@4T@4@@@4T@43@&2D@)@*@@@డz#ref$%@@!a@@@0$@@@/@@.,%makemutableAA o@@@ mhh nh@@ l@@@@.@@451@@@4@@4,@@ఐd#tblPQ@8@@|;@%linesWX @ T @@FB@@7@@PC@A@\@@@ఠ'columnsǠgh@t\A@@b@@@4T@4@@@4T@43_^^_____@_wp@q@r@@@డ#ref!$@^@@@@@4~@@@4@@4@@ఐ#tbl%(@@@&@'columns)0@  @@1-@@"@@7.@A@@@ !i4<4=@@@@@4@4A@@@@@4T@43@I]V@W@X@@@ఐޠ#tbl4E4H@@@@%lines4I4N@ ΰ @@@@@4T@4@@!jR\R]@@@@@R`Ra@@@@@5U@53@2G @@@5?T@5CT@4@48@@]A@@@ఐ#tblReRh@@@2@'columns RiRp@  @@@@@5U@5&@@g%let*!t|t@@d@@@5;V@5W@5@@@5W@5@@5@@@@5g@@@5W@5@@5@@5d@@@5 W@5@@5@@5W@5 ఐ(shape_atLtMt@k@@@ p@@@5(@@5'@ `@@@5&@@5%@ g@@@5$@@5#T,@@@5"@@@5!@@5 @@5@@53TSSTTTTT@} x@@@5=U@5DU@5@vRXw@@^A@@@@ఐ#tbltt@k@@@@ఐ⠐!itt@@@(@@ఐ!jtt@2@@25@@U@@}@@@5EW@5:<@@@%paramঠ!lttAYఠʠ@_A@@@@5HT@!cttAeఠˠ@`A@@@@5Ke@@@tt@@h@@@ డ6!>@@!a@@@*@@@)1@@@(@@'@@&,%greaterthanBA/@@@@./@@-T@@@@)@@@5dX@5V@@5W@ @@5U@@@5T@@5S@@5R3@XU@W@VHE@G@F@@@@ఐ`!l  @@@@@డ!! + ,@@'!a@@@@3@@2@@1'%field0AAv@@@tu@@s@@@@<IY@5g@@@5i@@5h@@5f@@@ఐR%lines+ W@-@@R@@@5pZ@5sZ@5qT@@7 @@U@@G @@!@@@5tY@5a[@డ":= q r@@m!a@@@@9@@8@ @@7$unitF@@@6@@5@@4*%setfield0BAƠ@@@@@@@#"@@@@@@5X@5z@@@5|@@5{@ @@5y!@@@5x@@5w@@5v@@ఐ%lines  @<@@!@@@5Y@5Y@5@@ఐ !l  @@@/Y@5@@@@@@@5X@5Y@5@@ @@ @డ7  @@@@@@@5W@5@@5@ @@5@@@5@@5@@5@@ఐ0!c  @@@@@డb᠐! ! @@@@.X@5@@@5@@5@@5 @@ఐ'columns!"@c@@@@@5Y@5Y@5@@" @@ @@1 @@@@@5X@5&@డˠͰ!;!<@ʰ@@@7@@@5W@5@@@5@@5@ @@5@@@5@@5@@5E@@ఐ'columns!\!]@@@X!@@@5X@5X@5Z@@ఐ!c!q@a@@.X@5h@@@@@@@5@5X@5p@@!~@@ r@@@@@@5Ov@Ah@@@@@5V@53!r!q!q!r!r!r!r!r@@@@@@@@5U@53!x!w!w!x!x!x!x!x@@@@@@@@5T@53!~!}!}!~!~!~!~!~@@@@ຠ =!l! ! @డ !!@~@@@@@@5S@5@@@5@@5@@5$@@ఐ%lines!@L@@@@@5T@5T@58@@% @@9@ m!c!!@డ 5!!@@@@ڠ@@@5S@5@@@5@@5@@5Y@@ఐ'columns!%@9@@@@@5T@6T@5m@@% @@n@@@"  @@)p@ @@*q@b@@+@@@,@A@8R@6@A@@@+@ఠ$make͠")/")3@"$aA@@@ @@@6 R@6@@6E@@@6R@6@@6R@63""""""""@Kd]@^@_@@@࣠@jAঠ!l"<)6"=)7@ ఠ%linesϠ"D):"E)?@"QbA@@n@@@6 3"4"3"3"4"4"4"4"4@!9"O)+"P27@@@@!c"W)B"X)C@ ఠ'columnsР"_)F"`)M@"lcA@@}@@@6@@@"g)4"h)O@@HT@6  @@@@Рt&states"vRX"wR^@డ %Array+make_matrix"Ra"Rf@ "Rg"Rr@@@$@@@/H@@/G@,@@@/F@@/E@!a@.@@/DJN @@@/C@@@/B@@/A@@/@@@/?@Q  Q  @@G@/*@@@'@@@6-@@6,@&@@@6+@@6*@@@@6!@@@6 S@6S@6S@6(@@6).-@@@6'@@@6&@@6%@@6$@@6#3""""""""@@@}@~@@@@@డ!B!+"Rz"R{@@#intA@@@@@@ @@@@@@@@@@@@'%addintBAA@@@@@0++A0+,@@?n@#"@@@ @@@6L@@6K@@@@6J@@6I@@@6H@@6G@@6FE@@ఐ栐%lines#*Rt#+Ry@N@@>@@@6\U@6^U@6]Y@@A#;R|#<R}@@D@@@6ZU@6`U@6_i@@#ERs#FR~@@@@@6D@6aU@6Xs@@డ!np#YR#ZR@m@@@m@@@6i@@6h@j@@@6g@@6fi@@@6e@@6d@@6c@@ఐ'columns#wR#xR@@@@@@6yU@6{U@6z@@A#R#R@@@@@6wU@6}U@6|@@#R#R@@@@@6B@6~U@6u@@ภ$None#R#R@@@@S@6@@%@@~}@@@6@@@6T@6>@&weight##@డ"%Array+make_matrix##@ ##@@D@@@D@@@6@@6@C@@@6@@6@@@@6S@6S@6S@6@@6GF@@@6@@@6@@6@@6@@6@@డ"V#$@@@@@@@6@@6@@@@6@@6@@@6@@6@@68@@ఐ٠%lines$$@A@@1@@@6U@6U@6L@@A$.$/@@7@@@6U@6U@6\@@$8$9@@@@@6@6U@6f@@డ"ac$L$M@`@@@`@@@6@@6@]@@@6@@6\@@@6@@6@@6@@ఐ 'columns$j$k@@@~@@@6U@6U@6@@A${$|@@@@@6U@6U@6@@$$@@@@@6@6U@6@@డ"'max_int$$@@@@@Z11Z11@@t@  @@@@ @@^]@@@6@@@6T@6@$diff$$@డ#%Array+make_matrix$$@ $$@@?@@@?@@@7 @@7 @>@@@7 @@7 @}|@@@7@@@6S@7dS@7`S@7@@7FE@@@7@@@7@@7@@7@@7@@డ#U$$@@@@@@@7+@@7*@@@@7)@@7(@@@7'@@7&@@7%7@@ఐؠ%lines%%@@@@0@@@7;U@7=U@7<K@@A%-%.@@6@@@79U@7?U@7>[@@%7%8@@@@@7#@7@U@77e@@డ#`b%K %L @_@@@_@@@7H@@7G@\@@@7F@@7E[@@@7D@@7C@@7B@@ఐ 'columns%i%j @@@}@@@7XU@7ZU@7Y@@A%z %{@@@@@7VU@7\U@7[@@%%@@@@@7!@7]U@7T@@ภ$None%%@@@@S@7a@@@@?>@@@6@@@6T@7@'columns%#)%#0AఐV @@<@@@7jS@7k@%lines%%!Aఐ @@C@@@7qS@7r@@@%RV~@@@hA@R@7u@A@@@@ఠ'reshapeҠ%9?%9F@%dA@@@ @@@7}R@7w@@7x@@@@9MR@7@@7@@@8R@7@@7R@7y@@7zR@7v3%%%%%%%%@@@@@@࣠@!;Aঠ!l& 9I&9J@ ఠ%linesԠ&9M&9R@&"eA@@?@@@7~3&&&&&&&&@!D& 9;&!@@@@!c&(9U&)9V@ ఠ'columnsՠ&09Y&19`@&=fA@@N@@@7@@@&89G&99b@@ST@7{ @@@@!mA&F9c&G9d@&SgA@@X3&3&2&2&3&3&3&3&3@0<5@6@7"@@@@@@  @@@ఠ$copyנ&[go&\gs@&hhA@@@@7U@7@@7@U@8l@@@8~U@8@@@8U@7@@7# @@@7W@7@@@7U@7@@7U@7@@7U@73&r&q&q&r&r&r&r&r@@L@C@D@@@࣠@'defaultA&gt&g{@&iA@@63&&&&&&&&@E&gk& &@@@@@  @@!aA&g|&g}@&jA@@A3&&&&&&&&@!M@@@@@@@@డ%%Array$init&&@ &&@@@`@@@/>@@/=@@l@@@/<@@/;!a@.@@/:@@/9c@@@/8@@/7@@/6@G  G  @@F@)$@@@!@@@7@@7@@ @@@7@@7z@@7@@7~}@@@7@@7@@73&&&&&&&&@R^@U@V@@@@డ%e#%''@"@@@"@@@7@@7@@@@7@@7@@@7@@7@@73' ' ' ' ' ' ' ' @"@@@@A'*@@<@@@7Y@7Y@7@@ఐ'%lines-'<@/@@E@@@7Y@7Y@7#@@'F'G@@@@@7@7Y@7-@@࣠@!iA']'^@'jkA@@@@@7B@@@@డ%%Array$init's't@ 'w'x@@@@@@@@7@@7@@@@@7@@7&@@7@@7)@@@7@@7@@73'z'y'y'z'z'z'z'z@=@@@7@7@8@@@@డ%''@@@@@@@8@@8@@@@8@@7@@@7@@7@@73''''''''@%@@@@A'@@@@@8[@8[@8@@ఐ'columns-'@/@@@@@8[@8[@8#@@''@@@@@7@8[@8-@@࣠@!jA''@'lA@@@@@8B@@@@డ&["&&((@@N@@@V@@U@V@@@T@@SZ@@@R@@Q@@P(%sequandBAX@@@@WX@@V]@! @@@@@@8'@@8&@@@@8%@@8$@@@8#@@8"@@8!3( ((( ( ( ( ( @Oa@@@8@I@J@@@@డ&"<=(I(J@@!a@@@/@@@.@@@-@@,@@+*%lessequalBA@@@@)))Z@@U@@@@@@@8K\@8=@@8>@ @@8<@@@8;@@8:@@89?@@ఐ&!i((@@@L@@ఐL!m((@@@[@%lines((@ @@/]@8Md@@@@@@@87@8O]@8Hl@@డ'"<=((@f@@@@@@8c\@8U@@8V@ @@8Tg@@@8S@@8R@@8Q@@ఐޠ!j((@@@@@ఐ!m((@R@@@'columns((@ @@/]@8e@@@@@@@85@8g]@8`@@p @@@@@8h\@83@డ'U}|(()) A{A@@{@@@8p@@8o@@@@8n@@8m@@8k@@8j@@డ'v(ޠ(߰!)"A#A@@@@@8@@8@6@@@8@@8@@8@@8@@ఐ!a<)=@<>@@@@ఐ!i)I)J@@@V@@@8]@8]@8@@S2@@@@ఐp!j)^ )_ @'@@k@@@8|\@8\@81@@hg@@2@ఐݠ'default)q )r #@°@@=@)u@@?@)w)x $@@@@@@7@@7@@7Z@8Z@8@@ @@@)@@@@@@7@@7@@7X@8X@8p@@@@q@A@5U@8@A@@Р&states)*0)*6@ఐO$copy)*9)*=@N@O@P@@@@@@8@@@8T@8T@8T@8@@8@69@@@8@@@8@@8MP@@@8@@@8@@8@@83))))))))@K~)@@@@ภ$None)*>)*B@@@@/T@8@@ఐ!m)*C)*D@f@@@&states)*E)*K@ @@psQ@@@8@@@8U@8U@82@@\@@ڠ٠V@@@8@@@8U@8=@&weight*MS*MY@ఐƠ$copy*!M\*"M`@w@@@@@@8T@9T@9T@8@@8@@@@8@@@8@@8 @@@8@@@8@@8@@8r@@డ('max_int*OMa*PMh@@@(@@ఐ!m*^Mi*_Mj@հ@@o@&weight*eMk*fMq@e @@ߠJ@@@9 @@@9 U@9U@9@@T@@.-O@@@8@@@8U@9 @}$diff*sy*s}@ఐ5$copy*s*s@@@@65@@@9'@@@9&T@9RT@9FT@9-@@91@@@@90@@@9/@@9.25@@@9,@@@9+@@9*@@9)@@ภ$None*s*s@@@@-T@9G@@ఐ!m*s*s@I@@@$diff*s*s@ذ @@SVO@@@9B@@@9AU@9NU@9I@@Y@@T@@@9%@@@9$U@9> @𡠐'columns**AఐҠ @@@@@9XT@9Y3@%lines+ + Aఐ @@@@@9_T@9`F@@@+*.@@$H@}@@%@A@!e@%?!f@%@@@@(@&.formatting_lit@@@(&($ @@@(@BQAYAA&)()(&))@@@&q@ภ&,-Flush_newline,;-Flush_newline@@@'@@@DGC@A& W Y& W h@@@&C@@@)@@@:uV@:z@ภ&-%-%@@&*U@9U@: U@:1U@:LU@:tW@:f)@@@9V@9V@9V@:V@:0V@:KV@:s@@@:vV@:.@@@&E#$%&@@@:SV@:r9@@*@&YW@:#"-./0@@@:3V@:JE@@6@&e+6789@@@:V@:/P@@A@'yW@95@ABC@@@9V@:\@@M@'W@9?tuvw@@@9V@9h@0Shape : %i, %i@.^@^@'@@@9V@:V@:t@@ed@@U@@@9V@9}@@ఐ4!l- - @@@V@:@@ఐ/!c- - @@@V@:@@@@U@9@!i--@@@@@--@@,@@@:T@:@ఐg!l- -!@@@,@@@:T@:@@ !j.%/.%0@@@@@. %3.%4@@,@@@:V@:3--------@=!@@@<,T@<0T@:@.@@.+rA@@@ఐ!c.(%8.)%9@@@-@@@:V@:@@@ఠ!d.:=I.;=J@.GtA@@٠@@@:@@@:X@:3.0././.0.0.0.0.0@4IT@@@<*V@<1V@:@.R%+.S@@._sA@@@ఐ$$diff.^=M._=Q@@@@@@@:@@:@r@@@:@@:@y@@@:@@:@@@:@@@:@@:@@:@@:6@@ఐ!m.=R.=S@@@FC@@ఐ!i.=T.=U@@@P@@ఐ!j.=V.=W@Z@@Z]@@G@@e^@A@.=E@@ఐv!d.[i.[j@u@v@w@@ML@@@:@@@:3........@u @@@Ġ$None.pz.p~@@@@@cb@@@:@@@:3........@@@@ @kj@@@:@@@:@@@డ-9&Format'fprintf..@ ..@@@@@@@@@ &format!a@@@@@@@@@@@@@@@@@.....k@@@+&@@@@@@:@@:@#)=@@@=%W@;Y@:@@@:$@@@:@@@:@@:@@:@@:^@@ఐࠐ#ppf/9/:@Ű@@k@@ภ(/(//G/HA(ภ(/'/ '$ @@'@@@;UZ@;XZ@;W@ภ) /"'/#'@@(OY@;BY@;T[@;F=@@@;Z@;AZ@;S  @@@;VZ@;b@@6@([@;!@@@;CZ@;R@7F@F@(@@@;DZ@;eZ@;d@@ML@@z&z@@@;Z@;@@@U@@~W@:@Ġ$Some//@[ఠ$diff//@/uA@@ K@@@:@@@@@ S R@@@:@@@:@@ Z Y@@@:@@@: @@@@ఠ%sdiff//@/vA@@.@@@;Z@;y3////////@!/(@)@*@@@ఐ5$diff//@ @@ @@@;{@Ġ&Insert//@#@//@@"@@@;&@@@ @@ @@@;*@@ @@@;-@@@#←0 0 @@00 @@<7@Ġ&Delete00$@#@0!%0"&@@#@@@;K@@@ @@ @@@;O@@ @@@;R@@@#↑02+033@@05*064@@a\@Ġ$Keep0A5E0B5I@#@0F5J0G5K@@#A@@@;p@@@#@@@@;u@@ @#?@@@;z@@@@@ @@@;~@@ @@@;@@@#↖0a5P0b5X@@0d5O0e5Y@@@Ġ&Change0pZj0qZp@$@0uZq0vZr@@#p@@@;@@@#o@@@;@@ @#h@@@;@@@@@!@@@;@@!@@@;@@@#⇱0Zw0Z@@0Zv0Z@@@@@A0@@@A@0@@@ఠ!w00@0wA@@!X@@@<(Z@< 300000000@@@@@@ఐ&weight00@\@@@@@@<@@<@@@@<@@<@@@@<@@<!@@@<@@<@@<@@<'@@ఐp!m00@M@@4@@ఐ !i00@ְ@@A@@ఐ!j00@@@N@@C@@RO@A@0@@డ/]&Format'fprintf1 1 @ 11@@$@@@@@@<;@@<:@$@*@@@<@@<@,@@@<@@<Y@3=3=3>3>3>3>3>@$R@@@%shapeR;@@!l@@3'@@@=M3fh  3gh  @@3syA!c@@33@@@=P3rh  3sh  @@3zA@@A@@@@@3vh  3wh  @@@@3xAA@!tS;@@(A@@@@@3j  3j  @@@@3{AA@$make@5@@@=\@@=^@@@=]@@=_@3l  3l  $@@3|A@'reshape@J@@@=`@@=e@0@@@=a@@=c4@@@=b@@=d@@=f@3m % '3m % F@@3}A@$diff@E@@@=g@@=q@3@@@=h@@=o@3@@@=i@@=m3&@@@=j@@@=l@@=n@@=p@@=r@3p d f3p d @24 accessor functions 3o H J3o H c@@@@@@@3~A@%state@}@@@=s@@=}@3@@@=t@@={@3@@@=u@@=y3M%@@@=v@@@=x@@=z@@=|@@=~@4q  4q  @@4 A@&weight@@@@=@@=@3@@@=@@=@3@@@=@@=3@@@=@@=@@=@@=@48r  49r  @@4EA@$line@@@@=@@=@4@@@=@@=@4@@@=@@=3'~$left@@@=@@@=@@=@@=@@=@4ct  4dt  @@4pA@&column@@@@=@@=@4=@@@=@@=@4E@@@=@@=3Ǡ'%right@@@=@@@=@@=@@=@@=@4u  4u  G@@4A@#set@"@@@=@@=@4h@@@=@@=@4p@@@=@@=$diff3'@@@=@@@=@@=&weight4@@@=@@=%state&@@@=@@=4e@@@=@@=@@=@@=@@=@@=@@=@4w I K4|  @@4A@%shape@j@@@=@@=@@@=@@=@4  4 @3 , the shape when starting filling the matrix 4~  4~  @@@@@@@5A@(shape_at@@@@=@@=@4@@@=@@=@4@@@=@@=4]@@@=@@@=@@=@@=@@=@5#|~5$|@3I l [shape m i j] is the shape as seen from the state at position (i,j) after some possible extensions 51 52w{@@@@@@@5>A@*real_shape@@@@=@@=@@@=@@=@5F5G@3l ' the maximal shape on the whole matrix 5T5U@@@@@@@5aA@"pp@3&Format)formatter@@@=@@=@@@@=@@=5@@@=@@=@@=@5t5uO@33 debugging printer 55@@@@@@'warning55%@#-325'5*@@5&5+@@@@@@55,@@5A@@БA+OO5h  5h  @@Q@#PPK5h  @J@@Ш@гS#int5h  5h  @@[355555555@&e;@@@A@@@@@K@@@H@A@@b@@=N@^@#ZZU5h  @T@@Ш@г]#int5h  ^@@d_@@g@@=Q@c@@A@_@@355555555@&@A`_@A+``5j  ^@@a@@A@`@@355555555@&@Aba@aa5l  5l  @б@г`%shape5l  5l  @@h355555555@zx@A@@гg!t5l  #h@@n i@@w j@@y@lk@@ mkk6m % +6m % 2@б@гj%shape6m % 56m % :@@r355555555@ @A@@б@гo!t6m % ?6m % @@@w @@гt!t6&m % Eu@@{v@@ w@@x@@@zy@@{yy61p d j62p d n@б@гx!t6;p d q6<p d r@@36&6%6%6&6&6&6&6&@,@A@@б@г}#int6Hp d v6Ip d y@@ @@б@г#int6Sp d }6Tp d @@@@г&option6\p d @г&change6dp d 6ep d @@)@@@*@@+@@,"@@-0@@@@46-@@@@@@:6}q  6~q  @б@г!t6q  6q  @@36r6q6q6r6r6r6r6r@M@A@@б@г#int6q  6q  @@ @@б@г#int6q  6q  @@@@г&option6q  @г*full_state6q  6q  @@)@@@*@@+@@,"@@-0@@@@@/6r  6r  @б@г!t6r  6r  @@366666666@B@A@@б@г#int6r  6r  @@ @@б@г#int6r  6r  @@@@г#int6r  @@ @@! @@"@@#&@@@@@%6t  6t  @б@г!t6t  7t  @@366666666@8@A@@б@г#int7 t  7 t  @@ @@б@г#int7t  7t  @@@@г &option7 t  @гƠǰ7't  7(t  @@(@@@)@@*@@+!@@,/@@@@@.͠ˠ˰75u  76u  %@б@гʠ!t7?u  (7@u  )@@37*7)7)7*7*7*7*7*@A@A@@б@гϠ#int7Lu  -7Mu  0@@ @@б@гҠ#int7Wu  47Xu  7@@@@гנ&option7`u  A@г۠ܰ7gu  ;7hu  @@@(@@@)@@*@@+!@@,/@@@@@.⠰7uw I O7vw I R@б@гߠ!t7x U Y7x U Z@@37j7i7i7j7j7j7j7j@A@A@@б@г䠐#int7x U ^7x U a@@ @@б@г砐#int7x U e7x U h@@@@бг蠐&option7y l |7y l @г&change7y l u7y l {@@,@@@- @@бг#int7z  7z  @@8@@бг*full_state7{  7{  @@C@@г$unit7|  @@K@@L7{  @@N7z  @@#P7y l p@@-R=@@6SI@@?TW@@A@@@V7  7  @б@г!t7  7  @@377777777@iXV@A@@г%shape7 @@  @@  @@@  @67  @  @@@ @ @8|8|@б@г!t8|8|@@377777777@+:8@A@@б@г #int8|8|@@ @@б@г#int8)|8*|@@@@г&option82|@г%shape8:|8;|@@)@@@$*@@-+@@6,"@@?-0@@A@@6f8@@@@@@:+8S8T@б@г!t8]8^@@"38H8G8G8H8H8H8H8H@Mca@A@@г!%shape8h"@@( #@@1 $@@3@&%@68-%$@$$@@@$@$@2""8}-8~/@б@г!#8288@&898B@@@/38x8w8w8x8x8x8x8x@1[Y@A @@б@г)!t8F8G@@1 @@г.$unit8K/@@50@@> 1@@J2@@L@43@68i32@22@@@2@2/.+*@'$@@@$@#@/K@g388888888@0ge@Aj388888888@)@@8f  8QT@@J@K@C@E@D@A@B@G@F@H@I@L@@@8f  @@@8f  @@"@ఠ2select_final_state88@8A@@@*A@@@A5T@?@@?@7@@@B,T@B)@7@@@B-T@B*@@B+T@?@@?T@?388888888@**V@A@A@@@hf@20@ @@@@OM@.,@@@@@Q*m@@@࣠@"m0A9;9<@9HA@@H39(9'9'9(9(9(9(9(@0W9C9D$@@@@@  @@@ఠ+maybe_final9Q9R@9^A@@@@@@@V@?@@?@@@@@V@?@@?U@@@@jV@?@@?V@?@@?V@?39Y9X9X9Y9Y9Y9Y9Y@2>|@5@6@@@࣠@!iA9~9@9A@@'39k9j9j9k9k9k9k9k@699H[@@@@@  @@!jA99@9A@@0399~9~99999@!>@@@@@@@@డ*(shape_at&Matrix99@ 99@@@@@@@ @@@ @@@@@ @@@ @@@@@ @@@s@@@@@@@@@@@@@@@@@@&!@@@@@@@#@@@"@@@@@!@@@ @@@@@@@@̠@@@@@@@@@@@@@@@@@399999999@Wc@Z@[@@@@ఐ"m099@@@@@ఐ!i::@p@@@@ఐ!j::@'@@*@@m@@P@@@@6@@@@52@Ġ$Some:( :) @(ڠఠ*shape_here:1 :2 @:>A@@k@@@@FL@@@@@ r@@@@H@@@@GT@@'y@@@@J@@@@I[@@@డ8KM:O 4:P 6@J@@@J@@@@^@@@]@I@@@@\@@@[H@@@@Z@@@Y@@@X3:L:K:K:L:L:L:L:L@x81@2@3@@@@డ8!=:r 0:s 1@@!a@@@@@@)@@@@@@@&%equalBA)@@@@)y)y@@)Q@@@@8[@@t@@@u@@@@s@@@@r@@@q@@@p9@@ఐw*shape_here: #: -@E@@@@@@@@M@!l: .: /@3W@@@?Y@@@?@@@3SR@@@?@@A@AQ@N@A]@Z@@f`@@ఐR!i: 2: 3@7@@um@@)@@@@@@n@@\@@u@@డ9:rt: D: E@q@@@[@@@@@@@@@o@@@@@@@@@@@@ఐΠ*shape_here: 7; A@@@:@@@@@@@!c;  B;  C@O@@@@ఐ!j; F; G@,@@@@@@ @@@@l@@\@@@@| @@@Ġ$None;.HN;/HR@)o@@@@j@@@@R@@@@QL@@q@@@@T@@@@SS@@@ภ%false;EHV@;::@@@M@@@@B@@A; @@:@@@a@@@A;N@@3;8;7;7;8;8;8;8;8@c@@@A@V@@@A@@@ఠ*best_state;]ag;^aq@;jA@@@@H@@@@V@@@G@@@@V@@@J@@@AV@@@@@V@@@@@@@V@@@V@@@@@V@@@@@@+V@A@(V@A@%V@A@@AV@@@@@V@@@@@V@@3;;;;;;;;@3WP@Q@R@@@࣠@6 A@ఠ"i0;as;au@;A@@L3;;;;;;;;@a;ac;@@@@@ఠ"j0;av;ax@;A@@W@@ఠ'weigth0;ay;a@;A@@\@@;ar;a@@@q@l@g@@@)@@  @@7 A@ఠ!i;a;a@;A@@i3;;;;;;;;@?H@B@C7@1@2,@&@'@@@@ఠ!j <a<a@<A@@x@@< a< a@@@@@@@@@ @@@ఠ&weight <<@<*A@@@@@@Y@@3<<<<<<<<@3<@6@7*@$@%@@@డ-u&weight&Matrix<8<9@ <<<=@@@K@@@?@@?@$@@@?@@?@#@@@?@@?"@@@?@@?@@?@@?@!@!@@@d@@@@@@@@=@@@@@@@@<@@@@@@@;@@@@@@@@@@@@@K@@ఐC"m0<{<|@ @@X@@ఐ!i<<@a@@e@@ఐ!j<<@m@@r@@a@@vs@A@<@@డ:++<<@+@@@3V@AX@@@@@@@@@+@@@@@@@@@@3<<<<<<<<@@@@@@@ఐ&weight<<@ @@@@ఐ'weigth0<<@װ@@X@@@@+@@@AY@@#@@ఐ!i<<@@@[1@@ఐ점!j<<@Ȱ@@c=@@ఐߠ&weight<<@F@@I@@==@@@z@x@@@AT@@ఐa"i0==@@@c@@ఐ["j0="=#@*@@o@@ఐ['weigth0=.=/@5@@{@@=2u@@3X@A @=6y@@5@z@@6@a{A@V@A@A@@@ఠ#res =E=F@=RA@@@@<1@@@A#V@A@<8@@@A$V@A @@@@A%V@A!@@A"V@A@@@AV@A3=Q=P=P=Q=Q=Q=Q=Q@ @ @ @@@డ;#ref=t=u@P@@@-@@Ap0@@@A@@A@@@@== @@6$@@@= = @@7,@@డ;'max_int= =@@@<8@@==@@UV@A&=@@2@@[>@A@=@@@ఠ%shape==#@=A@@@@@A3V@A'3========@T|u@v@w@@@డ/%shape&Matrix=&=,@ =-=2@@@@@@@@@@@@@@@@?@@@@@@@A,@@A+@@@A*@@A)-@@ఐ"m0=3=5@@@:@@+@@>;@A@=@@ !i>9?>9@@@@@@> 9C> 9D@@<@@@A9V@A83========@Vd]@^@_@@@ఐj%shape>9H>9M@ @@W@@@A=@A;@!l>(9N>)9O@t@@=@@@A>V@A< @@!j>8S[>9S\@@@@@>?S_>@S`@@=@@@ABW@AA3>/>.>.>/>/>/>/>/@7L=*@@@A}V@AV@AV@A?@>S9;>T@@>`A@@@ఐ%shape>_Sd>`Si@O@@@@@AF@AD!@!c>kSj>lSk@@@=K@@@AGW@AE-@@ఐ-+maybe_final>~ox>o@ܰ@@@ $@@@AQ@@AP@ @@@AO@@ANw@@@AM@@AL@@AK3>{>z>z>{>{>{>{>{@Mb=v@@@A~W@AW@AW@AH@>SW>@@>A@@@@ఐ!i>o>o@f@@f@@ఐ!j>o>o@'@@'*@@?@@-{@@@AdY@A]0@డ=!Z\>>@Y@@@ Ơ@@A@C@@@A@@A|X@Aj@@@Al@@Ak@@@Aib@@@Ah@@Ag@@AfW@@ఐ#res>>@8@@ )@@@AzY@AY@A{l@@ఐ*best_state? ? @@@@@ @@@A@ @@@A@ @@@A@@A@@A@@@@@A@@A@@@@@A@@A@@A@@డ=???@@@@@!;@@@yX@A@@AZ@AZ@A@@@A@@A@@A@@ఐ#res"?b@$@@!]"@@@A[@A[@A@@. @@$@@@ఐ{!i?{?|@5@@5@@ఐQ!j??@@@@@??@@@F@@@AZ@A@@ @@X@A@@ @@9@@@AX@AY@Aw@@?ou@@ @@9@@@AW@A3????????@a@@@V@9@@@AV@A3????????@@@@@@ఠ'i_final??@?A@@>@@@AV@A3????????@@@@@ఠ'j_final??@?A@@>@@@AV@A@@@??@@D@@@AV@A@@'@@@'@@@@A&@డ>Jɠ˰??@Ȱ@@@!@E@5@,@@AV@AV@A@@@A@@A @@AE@@ఐϠ#res @@X"@@" @@@AW@AW@AY@@, @@"Z@A@@  @@  డ>"||@.@/@@/w@@@]@@\@/@@@[@@Z/@@@Y@@X@@W'%sequorBA/@@@@//@@/^@! @@@@@@A@@A@@@@A@@A@@@A@@A@@A3@I@H@H@I@I@I@I@I@R@@@@@@@@డ>"<>@q@r@@!a@@@ @@@/@@@@@@@)%notequalBA/@@@@/~QQ/~Q@@/R@@@@?o@@@B W@A@@B@ @@A@@@A@@A@@A>@@ఐ점'i_final@@@G@@K@@@@@@@"X@BV@@@@@@@A@BX@B ^@@డ? "<>@ @ @Y@@@?@@@B#W@B@@B@ @@BZ@@@B@@B@@B}@@ఐ'j_final@@@@@@@@@ @ @@"X@B$@@@@@@@A@B%X@B @@@@@@/@@@B&W@A@A@@;#@@@B(V@B'@@ఐ['i_finalAA@@@@@ఐU'j_finalA#A$#@@@@@A'@@@&@!@@B.@)@@@@@k@@@ l@;@@ w@@@ @w@@ @@@ @A@ET@B0@A@@@)@ఠ/construct_patchAD&*AE&9@AQA@@@W@@@D8T@B2@@B3@ @@@D@@@DT@B4@@B5T@B13AEADADAEAEAEAEAE@Mun@o@p@@@࣠@"m0AAj&:Ak&<@AwA@@ 3AWAVAVAWAWAWAWAW@/Ar&&As@@@@@  @@Aఠ#auxA?IA?L@AA@@@@Ԡ @@@CV@C@@@CV@B9@@BD@@@@@CMV@BO@@@@CV@BP@@BQV@B=@@BC#V@B?@@BB@@BA3AAAAAAAA@?Ka@B@C@@@࣠@#accAA?MA?P@AA@@63AAAAAAAA@D@?@@B:@6@@B>"@@B@W@B;@@B5x@/@0@@@@డ@B( ZcB) Zd@@@@V@CV@CV@CQV@CRV@BV@BV@BV@Bt@@Bu@@@Bs@@@Br@@Bq@@Bp-@@ఐs!iBO ZaBP Zb@6@@:@@@BY ZeBZ Zf@@*C@@ @@T@@@Bn@BZ@BK@@డ@Bn ZlBo Zm@@@@V@CV@ChV@ClV@CmV@BV@BV@BV@B@@B@@@B@@@B@@B@@Bs@@ఐ!jB ZjB Zk@{@@@@@B ZnB Zo@@*@@ @@@@@Bl@BZ@B@@[ @@1h@@@BY@Bj@ఐ#accB u{B u~@ְ@@1@డ4$diff&MatrixB B @ B B @@@ @@@?@@?@@@@?@@?@@@@?@@?@@@?@@@?@@?@@?@@?@% @@@ @@@B@@B@4@@@B@@B@3@@@B@@B21@@@B@@@B@@B@@B@@B@@ఐ"m0C C @h@@@@ఐE!iC! C" @@@ @@ఐC!jC. C/ @@@@@i@@a`@@@B@@@B!@Ġ$NoneCC CD @1@@@@ut@@@B@@@B3C6C5C5C6C6C6C6C6@5@@@ @}|@@@B@@@B@@@ ภC\ C] @@@@@@@B@Cc @@@Ġ$SomeCnCo@2 ఠ!dCwCx@CA@@@@@Bf@@@@@@@@B@@@Bn@@@@@B@@@Bu@@@@ఠ$nextCC@CA@@@[@C7@[@C8@@C9[@B3CCCCCCCC@5.@/@0@@@ఐ;!dCC@ @@@@@B@Ġ$KeepC C@75@CC@@6@@@B(@@@6@@@B-@@ @6@@@B2@@@@@@@@B6@@6@Ġ&ChangeCC@7z@CC@@6@@@CH@@@6@@@CM@@ @6@@@CR@@@@@$@@@CV@@V@@9@@(@@@C Z@@@@డBc!-D "D#@@m@@@@@@!(@@@@@@@@@@@@'%subintBA3^@@@@3]5,~,~3^5,~,@@3\o@@@@@@@CA@@C@@@@@C?@@C>@@@C=@@C<@@C;@@ఐk!iDG!;@-<@@@@ABDP$@@:@@@CO^@CT^@CS@@ @@@@డBWYDc'Dd(@V@@@@@@C\@@C[@V@@@CZ@@CY@@@CX@@CW@@CV@@ఐ!jD&@f @@@@A&D)@@t@@@Cj^@Co^@Cn@@ @@@@D D*@@@Ġ&DeleteD+9D+?@8w@D+@D+A@@7@@@C@@@ @@@@@C@@@@@C @@@@డCD+GD+H@@@@@@@C{@@Cz@@@@Cy@@Cx/@@@Cw@@Cv@@Cu+@@ఐ!iD+F@ @@@7@@A&D+I@@@@@C^@C^@CF@@ @@P^@CI@@ఐ !jD+KD+L@ް@@VU@@D+ED+M@@cX@Ġ&InsertEN\E Nb@8@E NcENd@@8@@@C3l@@@ @@>@@@C4p@@A@@@C5s@@@@ఐH!iE$NiE%Nj@ @@@@డC%'E1NmE2Nn@$@@@@@@C@@C@$@@@C@@C@@@C@@C@@C@@ఐd!jEONl@4 @@@@A&EXNo@@B@@@C^@C^@C@@ @@^@C@@EdNhEeNp@@@@@AEg@@@A@Ei@@ఐ#auxEs~Et~@@@@@@C@@@C@@C@@C3EgEfEfEgEgEgEgEg@@@@@@@ภ"::E~E~@C ఐ!dE~ @ @@@ఐ砐#accE~@@@"@@E~E~@@V@C'@@ఐ$nextE~E~@1@@V@C6@@B@@ 7@M@@ @@@AE @@ k@E Z^ @@2m@ A@@9@@C@.@@C@@C@@CV@C@@@E?A@@ఐP#auxEE@@@@E!@@@D@@@D@@D @@G@@@D@D@@@D@@D@@D@@D@@D3EEEEEEEE@0@@@@ภ"[]EE@C6@@@V@D#@@ఐ 2select_final_stateF F @@@@ @@@D+@@D*@D@@@D(@D@@@D)@@D'@@D&1@@ఐ "m0F)F*@}@@>@@F-@@@@@@D@@@@D@@DV@D:W@D4P@@o@@Q@z@@@A@T@D>@A@@@蠰@ఠ7select_best_propositionFOFP@F\A@@@$listK5@=@J<@=@J=@@JI@@@JHU@J@@@J0T@D@@@DAT@DB@@DCT@D?3F[FZFZF[F[F[F[F[@4-@.@/@@@࣠@!lAFF@FA@@+3FmFlFlFmFmFmFmFm@:FF!@@@@@  @@@ఠ3compare_proposition FF@FA@@@6-@>@DV@Dq@@@Dr@@DsV@D^@@@D]V@DG@@DH@V@DM@@DNV@DO@@DPV@DI@@DJV@DF3FFFFFFFF@:Fg@=@>@@@࣠@$curr"AFF@FA@@/3FFFFFFFF@>FF@@@@@  @@$prop#AF F$@FA@@*3FFFFFFFF@!F@@@@@@@@@ఐ-$currF'1F'5@@@X3FFFFFFFF@"B@@@@@@ఐ($propG'7G';@ @@N@@@@@l@U@@DW@@Ġ$NoneGAGGAK@5_@@@@@DY3G G G G G G G G @*@@@@ఠ!o$G+AMG,AN@G8A@@v@DZ@@@@@@@@D_@@@@!oGBAQGCAR@GOA@@@D`&@@Ġ$NoneGPATGQAX@5@@@@V@Dd@Da4@@@@@@ @@Df;@@;@@@ @@@ @@@DiB@@@ఐ@!oGkA\GlA]@?@@@A@@3GXGWGWGXGXGXGXGX@xJ@@@@Ġ$SomeG^dG^h@61@ఠ&curr_m&G^jG^p@GA@@@@ఠ(curr_res'G^rG^z@GA@@@@G^iG^{@@@@@@Dt@@@'@@@Dk@@Ġ$SomeG^}G^@6b@ఠ!m(G^G^@GA@@V@Dw@@ఠ#res)G^G^@GA@@ V@Dx@@G^G^@@@@ @@Dz@@@*@@:@Dl@@^ @@@;@ @@D{@@@A@@@D|@@@ภ$SomeGG@6డFS"<=GG@@@@W@@D@[@@D@@@D@@D@@D3GGGGGGGG@f@@}b@w@xYR@S@TMF@G@H@@@@ఐ&curr_mHH@@@v@@ఐn!mH+H,@@@m#@@@@6@@@D[@D)@@ఐ&curr_mH?H@@1@@7@@ఐ(curr_resHKHL@<@@C@@@@V@DF@@ఐ!mH]H^@M@@U@@ఐ#resHiHj@X@@a@@@@ Z@Dd@Hp@@"f@@@@g@@@AHs'+@@3H]H\H\H]H]H]H]H]@|@@@A@V@D@A@@డF$List)fold_leftH!H!@ H!H!@@@@#acc@F@@Hv@!a@F@@Hu @@Ht@@Hs@@Hr@@@Hq@N@@@Hp@@Ho@@Hn@@Hm@@Hl@(list.mli333r@@,Stdlib__List]@/*@@@@[U@J@@J@a@@J@@J@@J@@J@ @@J@ol@@@J@@J@@J@@J@@J3HHHHHHHH@>7@8@9@@@@ఐE3compare_propositionH!H!@ @@@8m@@~@@JC@@@JB@@JE@@@JD@@JA@@J@"@@ภ$NoneH!H!@7:@@@U@JO0@@ఐ!lI!@J@@<@@@@O=@9@@PO@A@T@JR@A@@@)Full_corevVI# I# @I%AБA+-update_resultqTI($  &I)$  3@@;@@>A@@@@@I,$  !@@@@I8A@@A@@@3IIIIIIII@@@@A @A+,update_staterUI;% 4 =I<% 4 I@@;@@>A@@@@@I?% 4 8@@@@IKA@@A@@@3I*I)I)I*I*I*I*I*@@A@&weightsIL& J RIM& J X@б@гA@@@.@ A@A@@S@L@@3J(J'J'J(J(J(J(J(@9N@A 3J+J*J*J+J+J+J+J+@@AJD# JE)  @@@JG# @@3J2J1J1J2J2J2J2J2@@@'GenericWJT+  JU+  @JaA@Т!XYJ`,  Ja,  @УРS)Full_coreJk,  Jl, !@3JWJVJVJWJWJWJWJW@A\QKA@@:A@1@@M@@@7c@@@@]-update_resultJ-!!J-!!@+e@;@@@AL@@@J@@J@> E@@@J@@JIH<>6@@@Jנ>-@@@J@@@J@@J@@J@@J@+@ @@@@@J@@J@<@@@J@@J<@@@J@@J@@J@B@@@B@БР!XK/!a!hK/!a!i@@ 3K K K K K K K K @@gf@ZY@21@@@αK8A@@@@A3KKKKKKKK@ @@K1/!a!c@@@3KKKKKKKK@@@@ఠ/compute_column0K?2!!K@2!!@KLA@@@R@@@LZ@J@@J@ @@@LZ@K@@KA@@@LZ@K@@KZ@J@@JZ@J3KGKFKFKGKGKGKGKG@0@@@࣠@#tblAKj2!!Kk2!!@KwA@@%3KWKVKVKWKWKWKWKW@A4Kr2!!Ks9""@@@@@  @@!iAK~2!!K2!!@KA@@.3KkKjKjKkKkKkKkKk@!<@@@@@@@@A٠%let*!K3!!K3!!@@@A֠@@@L\@L\@K]@K@@@K]@K@@K@@@@KA@@@K ]@K@@K@@KA@@@K ]@K@@K@@K]@Kడ=%state&MatrixK3!!K3!!@ K3!!K3!!@@@@@@?@@?@@@@?@@?@@@@?@@?ؠ@@@?@@@?@@?@@?@@?@@Ӱ% @@@@@@K&@@K%@@@@K$@@K#@@@@K"@@K!@@@K @@@K@@K@@K@@K3KKKKKKKK@@@@@@@ఐ#tblL3!!L3!!@@@@@డJwL 3!!L!3!!@@@@ @@@KH@@KG@@@@KF@@KE @@@KD@@KC@@KB/@@ఐà!iL>3!!@8 @@;@@A&LG3!!@@1@@@KV^@K[^@KZJ@@LP3!!LQ3!!@@Y@@@K=@K\^@KTT@@@L`3!!La3!!@@a@@@K;]@K^]@K]d@@ @@B@@@K_]@K8k@@@"stLx3!!Ly3!!@LA@@w@@@BΠ%let*!L4!!L4!!@A@Bˠ?@@@L]@L]@Lk]@Le]@L.]@L(]@L"]@K]@Km^@Kj@@@Kl^@Kr@@Ku@@@@KoB@@@Kh^@Kn@@Kp@@KsB@@@Ke^@Kq@@Kt@@Kv^@Kcడ>$line&MatrixL4!!L4!!@ L4!!L4!!@@@@@@?@@?@@@@?@@?@@@@?@@?@ @@@?@@@?@@?@@?@@?@@&!@@@@@@K@@K@@@@K@@K@@@@K~@@K}@@@K|@@@K{@@Kz@@Ky@@Kx3LLLLLLLL@o@@@@@@ఐ#tblM4!!M4!!@@@@@డK{  M$4!!M%4!!@ @@@ @@@K@@K@ @@@K@@K @@@K@@K@@K/@@ఐǠ!iMB4!!@< @@;@@A&MK4!!@@ 5@@@K_@K_@KJ@@MT4!!MU4!!@@@@@K@K_@KT@@@Md4!!Me4!!@@@@@K^@K^@Kd@@ @@C@@@K^@Kk@@@$lineM|4!!M}4!!@MA@@w@@@@ఠ$diffM5!"M5!" @MA@@A_@KE@K E @KàE @K@@@K_@K3MMMMMMMM@( @@ @@@ภ&DeleteM5!" M5!"@A{ఐ5$lineM5!"M5!"@@@@@@@A"! @@@K@A@M5!" @@డ?#set&MatrixM6"" M6""&@ M6""'M6""*@@@@@@?@@?@9@@@?@@?@8@@@?@@?754@@@?@@@?@@?31@@@?@@?0.@@@?@@?-@@@?@@?@@?@@?@@?@@?@@?@,@):5@@@ @@@K@@K@k@@@K@@K@j@@@K@@Kigf@@@K@@@K@@Kec@@@K@@Kb`@@@K@@K_@@@K@@K@@K@@K@@K@@K@@K3NNNNNNNN@@@@@@@ఐ٠#tblN@6""+NA6"".@@@@@ఐҠ!iNM6""/NN6""0@H@@@@@NW6""1NX6""2@@@@@L_@L _@L -@ภ$SomeNi9""Nj9""@=ఐ預$diffNs9""Nt9""@@@@AyAs@@@L/As@@L0Ar@ @L1@ @L-_@L'_@L!_@L^@@N9"" @@@@L@@@L_@Lh@ސడL++N7"3"NN7"3"O@+@@@+@@@L9@@L8@+@@@L7@@L6+@@@L5@@L4@@L3@@డ&weightN7"3"BN7"3"H@@}@@@J@@Jq@@@J@@J@@_ @@@@@@LN@@LM|@@@LL@@LK@@ఐ^$diffN7"3"IN7"3"M@@@ATA@@@LlA@@LmA@ @Ln@ @Lja@Lda@L^@@?@@,@@@LI@Loa@LU@@డ@Y&weight&MatrixO7"3"PO7"3"V@ O 7"3"WO!7"3"]@@@@@/@@@Lz@@Ly@@@@Lx@@Lw@@@@Lv@@Lu@@@Lt@@Ls@@Lr@@Lq @@ఐߠ#tblOF7"3"^OG7"3"a@İ@@@@డM H JOT7"3"dOU7"3"e@ G@@@ @@@L@@L@ G@@@L@@L @@@L@@L@@L5@@ఐ!iOr7"3"c@l @@ A@@A&O{7"3"f@@ e@@@Lb@Lb@LP@@O7"3"bO7"3"g@@c@@@L@Lb@LZ@@@O7"3"hO7"3"i@@k@@@La@La@Lj@@ @@,@@@LG@La@Lr@@O7"3"AO7"3"j@@@@@L@L`@LE|@డ&updateO8"k"yO8"k"@@@@@J@@J@@@@J@@J@@@J@@J@@J@@@@@@@@L@@L@@@@L@@L@@@L@@L@@L@@ఐa$diffO8"k"O8"k"@@@BSB@T@LߠB@Y@LB@^@L@`@L`@L`@L@@ఐ"stP8"k"P8"k"@@@v@@P8"k"xP8"k"@@M@@@K@L`@L@@V@@FL@@@L_@K@j@@FP@@@K@A@@FT@@@Kb3PPPPPPPP@"@@@A@@3PPPPPPPP@(@@@A@Z@L@A@@@Ԡ@ఠ-compute_line0P=;""P>;""@PJA@@@P@@@NZ@L@@L@@@@NZ@L@@LF}@@@NZ@L@@LZ@L@@LZ@L3PEPDPDPEPEPEPEPE@/#@@@@@࣠@#tblAPj;""Pk;""@PwA@@'3PWPVPVPWPWPWPWPW@6Pr;""PsB##@@@@@  @@!jAP~;""P;""@PA@@03PkPjPjPkPkPkPkPk@!>@@@@@@@@F٠%let*!P<""P<""@E@F֠@@@N\@N\@M]@M@@@M]@M@@M @@@@MF@@@L]@M@@M@@M F@@@L]@M@@M @@M ]@LడB%state&MatrixP<""P<""@ P<""P<""@@@@@@@@M@@M@@@@M@@M@@@@M@@Mؠ@@@M@@@M@@M@@M@@M3PPPPPPPP@gs@j@k@@@@ఐ#tblP<""P<""@s@@@@@P<""Q<""@@@@@M/]@M4]@M3 @@డOj  Q<""Q<""@ @@@s@@@M<@@M;@ @@@M:@@M9@@@M8@@M7@@M6?@@ఐ!jQ1<""@H @@K@@A&Q:<""@@ $@@@MJ^@MO^@MNZ@@QC<""QD<""@@D@@@M-@MP^@MHd@@ @@G@@@MQ]@M*k@@@"stQ[<""Q\<""@QhA@@w@@@G%let*!Qf=""Qg=""@F@GDx@@@N]@N]@N^]@NX]@N!]@N]@N]@M]@M_^@M\@@@M^^@Md@@Mg@@@@MaG@@@MZ^@M`@@Mb@@MeG@@@MW^@Mc@@Mf@@Mh^@MUడB&column&MatrixQ=""Q="#@ Q="#Q="# @@@@@@?@@?@F@@@?@@?@E@@@?@@?DDC@@@?@@@?@@?@@?@@?@B@?&!@@@@@@Mt@@Ms@d@@@Mr@@Mq@c@@@Mp@@Mob@@@Mn@@@Mm@@Ml@@Mk@@Mj3QQQQQQQQ@R@@@@@@ఐ#tblQ="# Q="# @w@@@@@R="#R="#@@@@@M^@M^@M @@డPn  R="#R="#@ @@@w@@@M@@M@ @@@M@@M@@@M@@M@@M?@@ఐ!jR5="#@L @@K@@A&R>="#@@(@@@M_@M_@MZ@@RG="#RH="#@@@@@M@M_@Md@@ @@H@@@M^@Mk@@@&columnR_=""R`=""@RlA@@w@@@@ఠ$diffRm>##!Rn>##%@RzA@@FhI@M_@MI@MI@M@@@M_@M3RgRfRfRgRgRgRgRg@( @@ @@@ภ&InsertR>##(R>##.@F:ఐ5&columnR>##/R>##5@@@@@@@F"! @@@M@A@R>## @@డC#set&MatrixR?#9#=R?#9#C@ R?#9#DR?#9#G@@@@@@@@M@@M@@@@M@@M@@@@M@@M@@@M@@@M@@M@@@M@@M@@@M@@M@@@M@@M@@M@@M@@M@@M@@M3RRRRRRRR@g}v@w@x@@@@ఐ#tblR?#9#HR?#9#K@o@@@@@R?#9#LR?#9#M@@_@@@M_@M_@M @@ఐ!jS?#9#NS?#9#O@&@@-@cภ$SomeSB##SB##@A̠ఐ$diffS$B##S%B##@@@@F*F)@@@N F$@@N"F#@ @N#@@N_@N_@N_@N ^@@SCB##@@@@M@@@M_@Nh@డQ0l0nSW@#P#kSX@#P#l@0k@@@0k@@@N+@@N*@0h@@@N)@@N(0g@@@N'@@N&@@N%@@డZ&weightSw@#P#_Sx@#P#e@@@@ .@@@N@@@N? "@@@N>@@N=@@ఐ!$diffS@#P#fS@#P#j@@@FF@@@N]F@@N_F@ @N`@@N\a@NVa@NP@@4@@0@@@N;@Naa@NG@@డD&weight&MatrixS@#P#mS@#P#s@ S@#P#tS@#P#z@@@@@@@@Nl@@Nk@@@@Nj@@Ni@@@@Nh@@Ng@@@Nf@@Ne@@Nd@@Nc@@ఐ#tblS@#P#{S@#P#~@j@@ @@@S@#P#S@#P#@@@@@Na@Na@N@@డRaT @#P#T @#P#@@@@j@@@N@@N@@@@N@@N|@@@N@@N@@N:@@ఐ!jT(@#P#@? @@F@@A&T1@#P#@@@@@Nb@Nb@NU@@T:@#P#T;@#P#@@ @@@N@Nb@N_@@ @@1K@@@N9@Na@N}g@@TL@#P#^TM@#P#@@@@@M@N`@N7q@డ D&updateTaA##TbA##@@@@ m@@@N@@N@ g@@@N@@N f@@@N@@N@@N@@ఐ$diffTA##TA##@@@GG@@NР G|@ @NҠG{@@N@@N`@N`@N@@ఐL"stTA##TA##@@@ @@TA##TA##@@@@@M@N`@N@@?@@J@@@N_@M@E@@J@@@M=@AVI@@J@@@MT3TTTTTTTT@@@@A3N@@h3TTTTTTTT@@@@YPA@Z@NW@A@T@TS@j@ఠ2compute_inner_cellTD##TD##@TA@@@@@@TZ@N@@N@ F@@@TZ@N@@N@ I@@@TZ@N@@NK@@@TZ@N@@NZ@N@@NZ@N@@NZ@N3TTTTTTTT@@@@@@࣠@#tblAU D##U D##@UA@@23TTTTTTTT@AUD##Up**@@@@@  @@!iAUD##UD##@U*A@@;3U U U U U U U U @!I@@@@@@@@!jAU.D##U/D##@U;A@@A3UUUUUUUU@O@@@@@@@@@ఠ3compute_propositionUAE##UBE##@UNA@@@!&@@@O^@N@@N@!)@@@O^@N@@N@L۠ @@@Ob@O @@@O^@N@@NLϠ@2x@@@Orb@O\@@b@O@!}@@@OOb@O@@Ob@O]@@O^a@O@@@O^@O@@O^@N@@N^@N@@N^@N3UwUvUvUwUwUwUwUw@]i@`@a@@@࣠@!iAUE##UE##@UA@@U3UUUUUUUU@dUE##UH$K$@@@@@  @@!jAUE##UE##@UA@@^3UUUUUUUU@!l@@@@@@@@$diffAUE##UE#$@UA@@d3UUUUUUUU@r@@@@@@@@MT$let*UF$$ UF$$ @L@MSx@@@Ob@O@@O@@^@O@@OMQ|@@@O b@O@@O@@OMQ@@@Ob@O@@O@@Ob@Oఐ=$diffUF$$UF$$@@:@;@@3UUUUUUUU@;G@@@1]@@$diffV F$$V F$$@VA@@&@@@M&$let+VG$$!VG$$%@L4@M#b@O'c@O$@@@O&c@O,@@O/@@ @@O)b@O(@@O*@@O-M"c@O @@@Oc@O+@@O.@@O0c@OడG%state&MatrixVDG$$3VEG$$9@ VHG$$:VIG$$?@@ @@@W@@@O<@@O;@"Z@@@O:@@O9@"Y@@@O8@@O7"X"W@@@O6@@@O5@@O4@@O3@@O23VQVPVPVQVQVQVQVQ@jh@_@`@@@@ఐo#tblVuG$$@VvG$$C@T@@@@ఐ預!iVG$$DVG$$E@ΰ@@:@@ఐ⠐!jVG$$FVG$$G@ʰ@@<*@@O@@Mw@@@OYc@ON1@@@*localstateVG$$&VG$$0@VA@@=@@@@డU3Ơ3ȰVH$K$[VH$K$\@3Ű@@@3@@@Of@@Oe@3@@@Od@@Oc3@@@Ob@@Oa@@O`3VVVVVVVV@^-@$@%@@@@డ &weightVH$K$OVH$K$U@@@@ @@@O{@@Oz @@@Oy@@Ox@@ఐ堐$diffVH$K$VVH$K$Z@@@)@@@@4@@@Ov@Oe@O1@@డHC&weight&MatrixWH$K$]WH$K$c@ W H$K$dW H$K$j@@ΰ@@@@@@O@@O@"@@@O@@O@"@@@O@@O"@@@O@@O@@O@@Oa@@ఐ*#tblW0H$K$kW1H$K$n@@@Xn@@ఐ!iW=H$K$oW>H$K$p@@@{@@ఐ!jWJH$K$qWKH$K$r@@@@@H@@4U@@@Ot@Oe@O@@ @@@@@ఐ]$diffWcH$K$uWdH$K$y@@@@@ఐѠ*localstateWoH$K${WpH$K$@@@O@@WsH$K$t@@@@W@@O@@@@M@Ah@@N@@@O3WiWhWhWiWiWiWiWi@@@@A@@3WkWjWjWkWkWkWkWk@@@@A@?^@O@A@@@ఠ#delWJ$$WJ$$@WA@@N@4@@@PL@@V@@@PN@#@@@PO@@PM@@PK@@@PJ^@O3WWWWWWWW@"tm@n@o@@@@ఠ$diffWK$$WK$$@WA@@NK @@@O_@POB@POD@P OF@P!@@@P"`@O@@@P$_@O(@N$let+WK$$WK$$@M@N#_@O`@O@@@O`@O@@O@@ @@O3_@O@@O@@ON9@@@O`@O@@O@@O`@OడII$line&MatrixX K$$X K$$@ XK$$XK$$@@ E@@@@@@O@@O@#@@@O@@O@#@@@O@@O#Ѡ E@@@O@@@O@@O@@O@@O3XXXXXXXX@@@@@ఐ5#tblX;K$$X<K$$@@@c@@డV=?XIK$$XJK$$@<@@@@@@P@@P@<@@@P@@P@@@P@@O@@O-@@ఐM!iXgK$$@4 @@9@@A&XpK$$@@Z@@@Pa@Pa@PH@@XyK$$XzK$$@@$3@@@O@Pa@PR@@ఐa!jXK$$XK$$@@@_@@@@O@@@P`@Of@XK$$@@!xXK$$XK$$@XA@@s@@@ภ&DeleteXK$$XK$$@Lఐ!xXK$$@@@@@3XXXXXXXX@ @@@@"@@@A#@@ @A@XK$$%@@ఐ3compute_propositionXL$$XL$$@@@@$@@@P4@@P3@$@@@P2@@P1@PR@@@P-@@@P0@@P/PB@5@@@P+@@@$@@@P.@@P,@@P*@@@P)@@P(@@P'@@P&3XXXXXXXX@IA:@;@<@@@@డW\YL$$YL$$@@@@e@@@P]@@P\@@@@P[@@PZw@@@PY@@PX@@PW"@@ఐ !iY#L$$@ @@?.@@A&Y,L$$@@@@@Pk`@Pp`@Po=@@Y5L$$Y6L$$@@%@@@PU@Pq`@PiG@@ఐ!jYHL$$YIL$$@@@ZT@@ఐ$diffYUL$$YVL$$@^@@PԠ@@@PQ_@Py_@Psi@@ @@j@ @@@A@YcJ$$@@@ఠ&insertYnN%%YoN%% @Y{A@@Pՠ@6z@@@Q@@4@@@Q@%|@@@Q@@Q@@Q@@@Q^@P3YvYuYuYvYvYvYvYv@@@@@@@ఠ$diffYO%%YO%%@YA@@PMQ@P@@@P_@PQ"@PQ$@P@@@P`@P@@@P_@P(@PΠ$let+YO%%YO%%#@O@Pˠ!_@P`@P@@@P`@P@@P@@ @@P3_@P@@P@@PPɠ9@@@P`@P@@P@@P`@PడK'&column&MatrixYO%%(YO%%.@ YO%%/YO%%5@@@@@@ @@@P@@P@%@@@P@@P@%@@@P@@P%@@@@P@@@P@@P@@P@@P3YYYYYYYY@@@@@ఐ#tblZO%%6ZO%%9@@@A@@ఐ !iZ&O%%:Z'O%%;@@@C@@డX(*Z4O%%>Z5O%%?@'@@@@@@P@@P@'@@@P@@P@@@P@@P@@P:@@ఐ'!jZRO%%=@ð @@cF@@A&Z[O%%@@@E@@@Pa@Pa@PU@@ZdO%%<ZeO%%A@@%@@@P@Pa@P_@@ @@Qu@@@P`@Pf@ZuO%%M@@!xZ}O%%$Z~O%%%@ZA@@s@@@ภ&InsertZO%%EZO%%K@N:ఐ!xZO%%L@@@@@3Z}Z|Z|Z}Z}Z}Z}Z}@ @@@@"@@@A#@@ @A@ZO%%%@@ఐb3compute_propositionZP%Q%UZP%Q%h@@@@&@@@P@@P@&@@@P@@P@R0k@@@P@@@P@@PR @7@@@P@@@&@@@P@@P@@P@@@P@@P@@P@@P3ZZZZZZZZ@IA:@;@<@@@@ఐȠ!iZP%Q%iZP%Q%j@@@@@డYG䠐ZP%Q%mZP%Q%n@@@@P@@@Q$@@Q#@@@@Q"@@Q!b@@@Q @@Q@@Q/@@ఐ㠐!j[P%Q%l@ @@;@@A&[P%Q%o@@@@@Q2`@Q7`@Q6J@@[ P%Q%k[!P%Q%p@@&@@@Q@Q8`@Q0T@@ఐ$diff[3P%Q%q[4P%Q%u@^@@R@@@Q_@Q?_@Q9i@@ @@j@ @@@A@[AN%%@@@ఠ$diag[LR%{%[MR%{%@[YA@@R@8X@@@SY@@@@@S[@'Z@@@S\@@SZ@@SX@@@SW^@QM3[T[S[S[T[T[T[T[T@@@@@@@ఠ$diff[xS%%[yS%%@[A@@RߠOxN@@@Ra@S N@@@Ra@SN@@@Sa@SN@@@S a@S@@@S_@QR@@@S1_@QN8@S-$let*[T%%[T%%@R@S,I^@@@R_@Q_@QZ`@QW@@@QY`@Q_@@Qb@@@@Q\S2M@@@QU`@Q[@@Q]@@Q`S2S@@@QQ`@Q^@@Qa@@Qc`@QOడM%state&Matrix[T%%[T%%@ [T%%[T%%@@@@@"@@@Qo@@Qn@'@@@Qm@@Ql@'@@@Qk@@Qj''@@@Qi@@@Qh@@Qg@@Qf@@Qe3[[[[[[[[@@@@@ఐ #tbl\T%%\T%%@@@9@@డZv\T%%\ T%%@@@@@@@Q@@Q@@@@Q@@Q@@@Q@@Q@@Q-@@ఐ#!i\=T%%@  @@Y9@@A&\FT%%@@0@@@Qa@Qa@QH@@\OT%%\PT%%@@(X@@@Q@Qa@QR@@డZWY\cT%%\dT%%@V@@@@@@Q@@Q@V@@@Q@@Q@@@Q@@Q@@Qq@@ఐV!j\T%%@ @@}@@A&\T%%@@t@@@Qa@Qa@Q@@\T%%\T%%@@(@@@Q@Qa@Q@@ @@T@@@Q`@Q@\Y&&@@%state\T%%\T%%@\A@@@@@T:$let*\U%%\U%%@S@T9@`@Qa@Q@@@Qa@Q@@Q@@ @@QT:U`@Q@@@Qa@Q@@Q@@QT<@@@Qa@Q@@Q@@Qa@QడN)$line&Matrix\U%%\U%%@ \U%%\U%%@@%@@@#@@@Q@@Q@(@@@Q@@Q@(@@@Q@@Q(%@@@Q@@@Q@@Q@@Q@@Q3\\\\\\\\@mZ@d@e@@@@ఐ#tbl]U%%]U%%@@@E@@డ[!]+U%%],U%%@@@@@@@R@@R@@@@R@@R@@@R@@R@@R/@@ఐ/!i]IU%%@ @@e;@@A&]RU%%@@<@@@Rb@Rb@RJ@@][U%%]\U%%@@)@@@Q@Rb@RT@@డ[ce]oU%%]pU%%@b@@@@@@R$@@R#@b@@@R"@@R!@@@R @@R@@Rs@@ఐb!j]U%%@ @@@@A&]U%%@@@@@R2b@R7b@R6@@]U%%]U%%@@)Q@@@Q@R8b@R0@@ @@U#@@@R9a@Q@ @@$line]U%%]U%%@]A@@@@@UE$let*]V%&]V%&@T@UDDa@RHb@RE@@@RGb@RM@@RP@@ @@RJUE`a@R@@@@RCb@RI@@RK@@RNUG@@@R?b@RL@@RO@@RQb@R=డO4&column&Matrix]V%&]V%&@ ]V%&]V%&@@ M@@@% @@@R]@@R\@)@@@R[@@RZ@)@@@RY@@RX) M@@@RW@@@RV@@RU@@RT@@RS3^^^^^^^^@ mX@d@e@@@@ఐ "#tbl^(V%&^)V%& @ @@ P@@డ\*,^6V%&#^7V%&$@)@@@@@@R@@R~@)@@@R}@@R|@@@R{@@Rz@@Ry/@@ఐ :!i^TV%&"@ ! @@ p;@@A&^]V%&%@@G@@@Rc@Rc@RJ@@^fV%&!^gV%&&@@)@@@Rt@Rc@RT@@డ\np^zV%&)^{V%&*@m@@@@@@R@@R@m@@@R@@R@@@R@@R@@Rs@@ఐ m!j^V%&(@  @@ @@A&^V%&+@@@@@Rc@Rc@R@@^V%&'^V%&,@@*1@@@Rr@Rc@R@@ @@V.@@@Rb@Ro@@@&column^V%&^V%& @^A@@@@@డ$test^W&0&<^W&0&@@@QV@@@J@@J@X@@@J@@J@X@@@J@@J]G;X@@@JU@@@J@@@J@@J@@J@@J@(@ &%@@@#@@@R@@R@z@@@R@@R@z@@@R@@R"y@@@Rv@@@R@@@R@@R@@R@@R3_^^_____@^I@U@V@@@@ఐ}%state_&W&0&A_'W&0&F@@@p@%state_-W&0&G_.W&0&L@K @@\@@@Rd@Rd@R @@ఐ$line_AW&0&M_BW&0&Q@&@@~-@@ఐ&column_NW&0&R_OW&0&X@7@@:@@@@h@@@Rՠ@@@R@@@RF@Ġ"Ok_gX&^&f_hX&^&h@;"OkA`&result!a@!b@@@@D@ @A@@B@ANN@@@N@ఠ"ok_X&^&i_X&^&k@_A@@@@@R3_w_v_v_w_w_w_w_w@w@@@@@)@@@@@R@@@R@@@R @ @@@@R@@@R@@@R@@@ภ$Some_X&^&o_X&^&s@N^ภ$Keep_X&^&u_X&^&y@S&ఐ $line_X&^&{_X&^&@@@3________@A:@;@<@@@ఐ&column_X&^&_X&^&@@@@ఐQ"ok_X&^&_X&^&@@@E@@_X&^&t_X&^&@@]a@S@@5@@WH@@@S#@Ġ%Error_Y&&_Y&&@;%Error@@AA@B@AO+O, @@@O*@ఠ#err`Y&&`Y&&@` A@@g@@@R@@@@@u@@@Rr@@@R@@@R@ @)@@@S}@@@S@@@S@@@ภ$Some`$Y&&`%Y&&@N֠ภ&Change`-Y&&`.Y&&@Sàఐ$line`7Y&&`8Y&&@@@t3`#`"`"`#`#`#`#`#@$@9@:@;@@@ఐ&column`EY&&`FY&&@.@@w@ఐP#err`PY&&`QY&&@@@@@`TY&&@@a@S@@4@@w@@@A`YW&0&6@@W|@@@R3`G`F`F`G`G`G`G`G@G@@@A@@WǠ@@@R<3`M`L`L`M`M`M`M`M@I@@@A@@W͠@@@Q3`S`R`R`S`S`S`S`S@Z@@@A@@@A@`mS%%@@ఐ 63compute_proposition`w[&&`x[&&@Ȱ@@@,W@@@SA@@S@@,V@@@S?@@S>@X?@@@S:@@@S=@@S<W@=@@@S8@@@,@@@S;@@S9@@S7@@@S6@@S5@@S4@@S33````````@?70@1@2@@@@డ_`[&&`[&&@@@@@@@Sj@@Si@@@@Sh@@Sg)@@@Sf@@Se@@Sd"@@ఐ !i`[&&@  @@ .@@A&`[&&@@@@@Sx`@S}`@S|=@@`[&&`[&&@@,@@@Sb@S~`@SvG@@డ_R`[&&`[&&@@@@[@@@S@@S@@@@S@@Sm@@@S@@S@@Sf@@ఐ !ja[&&@  @@ *r@@A&a"[&&@@ @@@S`@S`@S@@a+[&&a,[&&@@-@@@S`@S`@S@@ఐƠ$diffa>[&&a?[&&@@@X@@@S^_@S_@S@@ @@@ @@@A@aLR%{%}@@W%let*!aT]&&aU]&'@V@W@,@@@T]@SǠ@@,@@@T]@S堠@w@@@T>]@S@@S]@S@@S]@S^@S@@@S^@S@@S@@(@@SW@@@S^@S@@S@@SW@@@S^@S@@S@@S^@SఐO7select_best_propositionam*b*fam*b*}@p@@@JQ3@F@A@@S@@@S@@@S@@S @@S3aaaaaaaa@Imf@g@h@@@@ภ_@am*b*am*b*A_?ఐ 8#del am*b*@: @@Xt@@@T^@S^@S^@S^@S#@ภ_^am*b*A_\ఐw&insert am*b*@y @@^@S^@S^@S:@ภ_uam*b*5A_sఐ$diag am*b*@H @@^@T^@T ^@TQ@ภ_HKA_F@LA@aW@@@T^@T^@@SA@a^,@@@S^@Te@@=ZA@aeP@@@S^@Sl@@b m*b*~b@@ȠV@@@S^@St@@i@@Xu@ @@B@ఠ)newweightb5]&'b6]&' @bBA@@]@T]@T@@@ఠ$diffbH]&'bI]&'@bUA@@]@T]@T]@T@@ఠ*localstatebY]&'bZ]&'@bfA@@]@TH]@T@@ba]&' bb]&'@@@@ @@T@@5@@@5@@(@@@T"@@T!@@@@ఠ%statebo**bo**@bA@@z@@@T<_@T(3brbqbqbrbrbrbrbr@\U@V@WJC@D@E:3@4@5@@@డ|&updatebo**bo**@ް@@@@@@T0@@T/@@@@T.@@T-@@@T,@@T+@@T*$@@ఐo$diffbo**bo**@+@@n1@@ఐk*localstatebo**bo**@7@@j>@@/@@B?@A@bo**@@డT#set&Matrixbp**bp**@ bp**bp**@@@@@)@@@T]@@T\@.H@@@T[@@TZ@.G@@@TY@@TX.F.D.C@@@TW@@@TV@@TU.B.@@@@TT@@TS.?.=@@@TR@@TQ.<@@@TP@@TO@@TN@@TM@@TL@@TK@@TJ3bbbbbbbb@@@@@@@ఐ#tblcp**cp**@ @@E@@ఐ!ic*p**c+p**@ @@G@@ఐ !jc7p**c8p**@ @@I*@.ภ$SomecCp**cDp**@Qఐ$diffcMp**cNp**@@@@@@cQp**@@@.@@@T_@TH@.ఐ-)newweightcbp**ccp**@װ@@,U@.ఐ%statecop**cpp**@_@@.@@@T_@T_@Ti@@h@@Y@@@T_@T~o@n@@Y@@@T'@A0r@@3cmclclcmcmcmcmcm@@@@:t@@@Fu@@ @ %v@@ @ w@@ @xA@Z@T@A@|@|{@@ఠ,compute_cellcr*+cr*+@cA@@@*@@@U}Z@T@@T@/ @@@U{Z@T@@T@/@@@UyZ@T@@T[b@@@U#Z@T@@TZ@T@@TZ@T@@TZ@T3cccccccc@@@@@@࣠@!mAcr*+cr*+@cA@@23cccccccc@Acr**cx++@@@@@  @@!iAcr*+cr*+@cA@@;3cccccccc@!I@@@@@@@@!jAcr*+cr*+@dA@@A3cccccccc@O@@@@@@@@@ఐ*!id s++ d s++!@@@a3cccccccc@"Y@@@@@@ఐ(!jds++#ds++$@ @@e@@@@@u@l@@T@@d*t+*+.d+t+*+/@@@@z@@T3dddddddd@$@@@ @@@@@T@@డb"<>dCt+*+GdDt+*+I@#Ұ@@@0{0z@@@U@@@U^@T@@T@ @@T#@@@T@@T@@T(@@డU$diff&Matrixdjt+*+5dkt+*+;@ dnt+*+<dot+*+@@@!@@@+}@@@U@@T@0@@@T@@T@0@@@T@@T00@@@T@@@T@@T@@T@@T\@@ఐˠ!mdt+*+Adt+*+B@@@i@@ఐĠ!idt+*+Cdt+*+D@@@v@@ఐ!jdt+*+Edt+*+F@@@@@L@@j@@ภ$Nonedt+*+Jdt+*+N@S@@@x^@U @@[@@S@@@U!_@T@ภ\udt+*+Rdt+*+T@\u@@@@@@du+U+Ydu+U+Z@@=Z@UZ@UWZ@U[Z@UZ@UZ@T@@@du+U+[du+U+\@@EZ@UZ@U=Z@UAZ@UZ@UZ@T@@! @@@#@@@T@@@)@@@T@@@ภ\eu+U+`eu+U+b@\@@@V@@@ev+c+ge v+c+h@@C_@T3e e e e e e e e @@@@@ఠ!je,v+c+ie-v+c+j@e9A@@9@T@@@@@@@@T@@@@@@T@@@ఐ -compute_line0eGv+c+neHv+c+{@L@@@,U@@@U/@@U.@#@@@U-@@U,[|@@@U+@@U*@@U)3eDeCeCeDeDeDeDeD@N5.@/@0@@@@ఐ!mehv+c+|eiv+c+}@@@@@ఐI!jeuv+c+~evv+c+@@@H@@2@@@@ఠ!iew++ew++@eA@@@T~@@@ew++ew++@@_@T@@@@@@ @@T@@@@@@T@@@ఐm/compute_column0ew++ew++@P@@@,@@@UI@@UH@$@@@UG@@UF[@@@UE@@UD@@UC3eeeeeeee@?8@9@:@@@@ఐ!mew++ew++@@@.@@ఐS!iew++ew++@@@R@@2@@!@@ex++ex++@@@=@4@@T@ @@C@:@@T@@@ఐ*2compute_inner_cellex++ex++@9@@@- @@@Uf@@Ue@1g@@@Ud@@Uc@1f@@@Ub@@Ua\7@@@U`@@U_@@U^@@U]@@ఐS!mf x++f!x++@8@@@@ఐL!if-x++f.x++@4@@"@@ఐH!jf:x++b@+c@@.@@Bd@@/@@@Af>s++f@@ @pgA@Z@Un@A@k@kj@@ఠ.compute_matrixfN,,fO,,@f[A@@@1@@@VZ@U@@U-f@@@WZ@U@@UZ@U3fKfJfJfKfKfKfKfK@@@@@@࣠@&state0Afp,,fq,,@f}A@@3f]f\f\f]f]f]f]f]@+fx,,fy..@@@@@  @@@ఠ"m0f,,f,,@fA@@-@@@U\@U3fxfwfwfxfxfxfxfx@(:@@ @@@డW$make&Matrixf,,f,,@ f,,f,,@@@,@@@?@@?-@@@?@@?@3@3@@@,@@@U@@U-@@@U@@U-@@ຠ, !lf,,f,,@@f,,f,,@@3q@@@U]@UF@,!cf,,f,,@@f,,f,,@@3x@@@U]@UY@@@f,,f,,@@-#@@@U]@Ua@@R@@eb@A@f,, @@ డX?#set&Matrixg--g-- @ g-- g-- @@:@@@.@@@U@@U@2s@@@U@@U@2r@@@U@@U2q2o2n@@@U@@@U@@U2m2k@@@U@@U2j2h@@@U@@U2g@@@U@@U@@U@@U@@U@@U@@U3g$g#g#g$g$g$g$g$@@@@@@@ఐ "m0gH--gI--@ @@.V@@@V]@V]@V@@@gY--gZ--@@2@@@V]@V]@V'@@@gi--gj--@@2@@@V ]@V]@V7@2Đภ$Noneg{--3g|--7@U@@@2̠2@@@V @@@V ]@VL@2ʐ@g--g--@@2@@@V]@V]@V\@2Аఐ4&state0g--&g--,@@@Li@@)@@a@@@V!\@Vo@Aఠ$loopg-9-Cg-9-G@gA@@@.@@@V\@V#@@V(\@V%@@V'3gggggggg@@@@࣠@!mAg-9-Hg-9-I@gA@@3gggggggg@%@ @@V$@@V&]@V"@%@&@@@@ @@@ఠ%shapeg-L-Tg-L-Y@gA@@.$@@@V9^@V-3gggggggg@+8@"@#@@@డY>%shape&Matrixh-L-\h-L-b@ h-L-ch-L-h@@*6@@@/@@@V2@@V1.F@@@V0@@V/"@@ఐQ!mh-L-ih-L-j@,@@d/@@ @@30@A@h"-L-P@@@ఠ)new_shapeh--n-vh.-n-@h:A@@.i@@@VI^@V=3hhhhhhhh@FTM@N@O@@@డY*real_shape&MatrixhF-n-hG-n-@ hJ-n-hK-n-@@@/Y@@@@@@@.@@@@@@@@333@@@/d@@@VB@@VA.@@@V@@@V?-@@ఐ!mhm-n-hn-n-@|@@:@@+@@>;@A@hr-n-r@@డf(P(Rh}--h~--@(O@@@(O@@@VT@@VS@(N@@@VR@@VQ(M@@@VP@@VO@@VN3hzhyhyhzhzhzhzhz@\jc@d@e@@@@డfHH°h--h--@H@@@5G@@@Vz^@Vj@@Vk@ @@ViH@@@Vh@@Vg@@Vf!@@ఐ)new_shapeh--h--@-@@.@@@V{@Vy5@!lh--h--@.@@%<@@ఐ%shapeh--h--@@@/@@@V@V}P@!lh--h--@.1@@B_@V~Y@@-@@(@@@Vd@V_@Vua@@డgTII h--h--@I@@@5@@@V^@V@@V@ @@VI@@@V@@V@@V@@ఐ)new_shapei--i--@@@/W@@@V@V@!ci(--i)--@.l@@%@@ఐO%shapei7--i8--@@@/r@@@V@V@!ciC--iD--@.@@B_@V@@-@@)@@@Vb@V_@V@@ @@X@@@V^@V`@@ఠ!mi`--ia--@imA@@0m@@@V^@V3iRiQiQiRiRiRiRiR@@@@డZ'reshape&Matrixiw--ix--@ i{--i|--@@@/@@@?@@?@0@@@?@@?0@@@?@@?@@?@5@5ݰ@@@/@@@V@@V@0@@@V@@V0@@@V@@V@@V9@@ఐ)new_shapei--i--@@@/@@@V_@V_@VM@@ఐ!mi--i--@ϰ@@Z@@M@@^[@A@i--@@ !ii.. i.. @@@@@i..i..@@h@@@V^@V3iiiiiiii@N}@~@@@@ఐ)new_shapei..i..@Y@@0%@@@V@V@!li..i..@/B@@h@@@V^@V @@!jj."..j."./@@@@@j .".2j.".3@@h@@@V_@V3iiiiiiii@7L5y@@@V^@V^@V@j..j .p.z@@j,A@@@ఐ)new_shapej+.".7j,.".@@@@0f@@@V@V@!cj7.".Aj8.".B@/{@@i@@@V_@V+@@ఐ,compute_celljH.F.PjI.F.\@@@@1V@@@V@@V@5@@@V@@V@5@@@V@@Vb@@@V@@V@@V@@V3jLjKjKjLjLjLjLjL@Pe5@@@V_@V_@V@jn.".*jo.c.o@@j{A@@@@ఐ!mj{.F.]j|.F.^@@@1@@@Va@Va@V"@@ఐ!ij.F._j.F.`@{@@{/@@ఐ!jj.F.aj.F.b@9@@9<@@X@@d@@@V`@VB@8@d@@@V_@V3jjjjjjjj@@@@@d@@@V^@V3jjjjjjjj@@@@ఐ$loopj.|.j.|.@@@@@@V@@V@@ఐk!mj.|.j.|.@@@^@W @@@@!@@@"@@@j@ఐ!mj..j..@@@"u@j--@@w@o@@ @@@!@A@@-@@W(@@W\@W@@@j-9-;@@ఐ@$loopj..j..@!@@@2@@@W@@W @@W3jjjjjjjj@+@@@@ఐ"m0k ..@Ͱ@@\@W\@W@@@@@'@@N@@@O@!@@@A@Z@W@A@@@@@@PY@@@@@@3k k k k k k k k @@@k%.!-!Zk&..@3kkkkkkkk@ @@@k*,  @  n3kkkkkkkk@ @@@@k/+   @ @*Parameters[k9..k:..@kFAУР".)Full_corekF..kG..@3k2k1k1k2k2k2k2k2@  @   @  @ Z Y@@ @!]@@@?@@@2! @A@@"-,update_statekh..ki..@+"5@;@@@A^%state@@@W@@@@kv..kw..@@@@kA@@Aг  k.. @@7 @@ @@"`Z;@@@A@@@@@B@@@@"[A@"B@"@@@@W[@@WZ"4@@@WY@@WX@@""@"@^"@@@WW@@WV@^"@@@WU@@WT@^" @@@WS@@WRj"^!@@@WP^!@@@WQ@@@WO@@WN@@WM@@WL@9@!@!@!@@@WK@@WJ@^_@@@WI@@WHR@@@WG@@WF@@WE@P@!@@P@@k..b@c@3kkkkkkkk@@@&Simple\k..k./@kA@Т!X^k./k./@УРà*Parametersk./k./@3kkkkkkkk@A@~}@rq@JI@@@5@@@@-update_resultl./l./*@+@;@@@A_>%state@@@W\@@@@l"./l#./3@@@@l/A@@Aг  l+./. @@- @@ @@"@"@@@W@@W"@@@W@@W@A@@"@"@_g"@@@W@@W@_o"@@@W@@W@_w"@@@W@@Wj"_"@@@W_"@@@W@@@W@@W@@W@@W@+@"z@"v@"t@@@W@@W@_@@@W@@W_^@@@W@@W@@W@B@"K@@B@Б(Internal_l/>/Il/>/Q@lA@гР"D'Genericl/>/Tl/>/[@@"B!!@!!@!!@@!kH@o@@ H@d@@3llllllll@@@xw@PO@@@ɱlA@@@Б@ఠ$testՠl/c/ol/c/s@lA@@@_#P@@@W@@W@_#G@@@W@@W@`#@@@@W@@WkC#7` #1@@@W`#(@@@W@@@W@@W@@W@@W`@W3llllllll@F@@@డ $test!Xm/c/vm/c/w@ m/c/xm/c/|@@@:@@@W@@W@9@@@W@@W@8@@@W@@W76@@@W5@@@W@@@W@@W@@W@@W@@#;)$@@[5@A@m*/c/k&@@'@8@ఠ&weight֠m7/}/m8/}/@mDA@@@#@@@W@@W#@@@W@@W`@W3m0m/m/m0m0m0m0m0@~@@@@@డb&weight!XmU/}/mV/}/@ mY/}/mZ/}/@@@$@@@W@@W$@@@W@@W@+@#@@+!@A@mi/}/@@@$@ఠ&updateנmv//mw//@mA@@@#@@@W`@W@@W@[.@@@X`@W@@W[3@@@X`@W@@W`@W@@W`@W3m~m}m}m~m~m~m~m~@Od]@^@_@@@࣠@!dAm//m//@mA@@'3mmmmmmmm@6m//m//@@@@@  @@"fsAm//m//@mA@@03mmmmmmmm@!>@@@@@@@@ະZT__@@@X@@@Xb@X@ZZ__@@@X@@@X b@X @Zd%statem//m//@డ&update!Xm//m//@ m//m//@@@#@@@W@@W@a#@@@W@@Wa'@@@W@@W@@W@@#ְ@@@$@@@W@@W@@@@W@@W@@@W@@W@@W3nnnnnnnn@am@d@e@@@@ఐ!dn(//n)//@m@@@@ఐ"fsn7//n8//@@@@%staten>//n?//@Zʰ @@D@@@Wc@Xc@X-@@[ @@_@@@Wc@W3@@ఐ"fsnV//nW//@;@@>@nZ//@@@@A@`@X@A@@@@@0@@@@@3nOnNnNnOnOnOnOnO@@@ni/>/\nj//@ 3nUnTnTnUnUnUnUnU@@@@A@@@B@@@nu//@#>@5;@@@X@@X@,@@@X@@Xd@@@X@@X@@X@#K@#L@V@5;@@@X@@X@,@@@X@@Xd@@@X@@X@@X@c@d@@5;2@@@X@@X@:@@@X@@X@:@@@X@@Xd@@@X@@X@@X@@X@@@ .@5;O@@@X@@X@:.@@@X@@X@:-@@@X@@Xf}@@@X@@X@@X@@X@ B@ C@@:@@@X@@X5;o@@@X@@X@@@@@@n/>/By@z@@ఠ$diffn//n//@oA@@@`@@@Ya@YW@@YX@`ޠ`@@@Yr@@@Yqa@Y]@@Y^@`۠`@@@Y|@@@Y{a@Yc@@Ydns;W@@@Y@@@Ya@Ye@@Yfa@Y_@@Y`a@YY@@YZa@YV3oooooooo@@@@@zy@_^@@@R@@@࣠@%stateAoI//oJ//@oVA@@I3o6o5o5o6o6o6o6o6@XoQ//oR0c0{@@@@@  @@$lineAo]//o^/0@ojA@@R3oJoIoIoJoJoJoJoJ@!`@@@@@@@@&columnAon/0oo/0@o{A@@T3o[oZoZo[o[o[o[o[@f@@@@@@@@@ఠ)fullstateo0 0o0 0@oA@@](@@@Yne@Yi3osororososososos@%o@@@@@ະ\!$lineo0 0"o0 0&AఐE @*@@\*&columno0 0(o0 0.AఐB @ @"@\7%stateo0 00o0 05Aఐu @W@0@@@o0 0 o0 07@@83@A@o0 0@@ఐ./construct_patcho0c0lw@)Ux@@@6@@@Y@@Yo;@@@Y@@@Y@@Y3oooooooo@O]V@W@X@@@@డ^.compute_matrix(Internalo0;0Ao0;0I@ o0;0Jo0;0X@@@;*@@@Y@@Y7<@@@Y@@Y@ @ @@@;6@@@Y@@Y @@@Y@@Y1@@ఐ)fullstatep0;0Yp0;0b@;@@;M@@@Yf@Yf@YE@@3 @@7)@@@Y@Yf@YM@@;@@N@i@@@A@*a@Y@A@@@@@@B@@:3@4@5@@3pppppppp@=@@p4./7p50|0@ 3p ppp p p p p @@@@S@P3p$p#p#p$p$p$p$p$@<@@@@p=.. @ @@ఠ*may_appendpJ00pK00@pWA@@@_g@Y@@@Z a@Y@@Y@` @@@Z a@Y@@Ya@Y@@Ya@Y@@Ya@Y3pSpRpRpSpSpSpSpS@l@BA@54@  @@@@@@@@@@@@W@@@K@@@࣠@!xAp00p00@pA@@B3pp~p~ppppp@-Qp00p00@@@@@  @@A@p00p00@@C3pppppppp@T@@@@@@@ఐ !xp00p00@ @@I @ఠ!yp00p00@pA@@\3pppppppp@@@@@@డo%Array&appendp00p00@ p00p00@@@!a@.@@@/_@@/^@ @@@/]@@/\`@@@/[@@/Z@@/Y@_m''_m'T@@_I@&!@@@@@@Y@@Y@@@@Y@@Y@@@Y@@Y@@Y3pppppppp@bR@L@M@@@@ఐ!xq00q00@n@@@@ఐf!yq 00@@@@@W@@@@Amq$00@@@A@a@Z@A@@@-Left_variadicaq300q400@q@A@Т!Xcq?00q@00@УР*ParametersqJ00qK00@3q6q5q5q6q6q6q6q6@ @@@@@@Р-update_resultqX01qY01@+ؠ@;@@@A@d%state@@@Z@pנd$left@@@Z@@@Z@@Z@@@@qv01qw01(@@@@qA@@AВ@гq01q01@@!8@@@г%arrayq01#@г!"q01q01"@@(J@@@-K"@@@9L#@@%@@(U@(S@@@Zh@@Zg(G@@@Zf@@Ze@`3@@(6@(2@d(0@@@Zd@@Zc@d('@@@Zb@@Za@d( @@@Z`@@Z_p#(d(@@@Z]d(@@@Z^@@@Z\@@Z[@@ZZ@@ZY@+@'@'@'@@@ZX@@ZW@es@@@ZV@@ZU@e @@@ZR@e@@@ZT@@@ZS@@ZQ@@ZP@@ZO@P@'@@P@БРɠ!Xr131<r131=@@ 3qqqqqqqq@@ut@hg@@?@@@رr!A@@@@A3rqqrrrrr@ @@r1317@@@3rrrrrrrr@@@(Internaldr'1?1Jr(1?1R@r4 A@гР'ࠐ'Genericr31?1Ur41?1\@@'ޑ'y'x@'l'k@'D'C@@'!@" G@y@ @ )@@3r3r2r2r3r3r3r3r3@3@@@Б@ఠ$testrY1d1prZ1d1t@rfA@@@e(@@@Z@@Z@e(@@@Z@@Z@e(@@@Z@@Zp(Ƞe(@@@Ze(@@@Z@@@Z@@Z@@Z@@Ze@Z3rnrmrmrnrnrnrnrn@n@@@డP$test!Xr1d1wr1d1x@ r1d1yr1d1}@@@:@@@Zx@@Zw@9@@@Zv@@Zu@8@@@Zt@@Zs76@@@Zq5@@@Zr@@@Zp@@Zo@@Zn@@Zm@@(̰)$@@[5@A@r1d1l&@@'@8@ఠ&weightr1~1r1~1@rA@@@)@@@Z@@Z)v@@@Z@@Ze@Z3rrrrrrrr@~@@@@@డ&weight!Xr1~1r1~1@ r1~1r1~1@@@)@@@Zl@@Zk)@@@Zj@@Zi@O@)@@+!@A@r1~1@@@$@ఠ&updates11s11@sA@@@)@@@Ze@Z@@Z@`@@@[e@Z@@Z`@@@[e@Z@@Ze@Z@@Ze@Z3ssssssss@Od]@^@_@@@࣠@!dAs411s511@sAA@@'@@@@"fsAsB11sC11@sO A@@*3s/s.s.s/s/s/s/s/@!8@@@@@@@@@@ఠ%statesY11sZ11@sf A@@f@@@Zh@Z3sLsKsKsLsLsLsLsL@*J@!@"@@@@ఠ!asn11so11@s{ A@@ f@@@Z@@@Zh@Z@@$@@@$@@@Z @డ&updates11s11@@)@@@Z@@Z@f*@@@Z@@Z@C@@@Z|@<3@@@Z~@@@Z}@@Z{@@Zz@@Zy@@){#"@@@)@@@Z@@Z@ @@@Z@@Z@b@@@Z@[R@@@Z@@@Z@@Z@@Z@@Zj@@ఐ!ds11s11@@@w@@ఐ"fss11s11@@@@%states11s11@`y @@Z@@@Zi@Zi@Z@@l @@@@@@Zi@Z@A@t11@@ະ`$linet 12t 12@ఐ̠*may_appendt12t12@ɰ@@@Ǡe@@@Zg@Zg@Zg@Z@@@Z@@Z@ʠ@@@Z@@Z@@Z@@Z3tttttttt@@@@@@@@@ఐ"fstC12tD12@@@*@$linetJ12tK12@`ܰ @@f 0@@@Zh@Zh@Zh@Z%@@ఐ!ata12tb12@-@@K@@@Zh@Zh@Z:@@W @@;@`f,f+@@@[@@@[g@[ @a%statet~11t11Aఐ. @Q@f1@@@[g@[Y@@ఐT"fst11t11@0@@zd@t11t12@@xg@@@y7@gA@e@[w@A@t11@@@z@M@|@@@@@3tttttttt@@@t1?1]t22'@ 3tttttttt@@@@A@@@B@@@t22(@)@;AG@@@[@@[@3!@@@[@@[j@@@[@@[@@[@)@)@$@;A]@@@[@@[@37@@@[@@[k@@@[@@[@@[@$@$@ @;As@@@[@@[@@R@@@[@@[@@Q@@@[@@[k"@@@[@@[@@[@@[@ -@ .@o@<A@@@[@@[@@o@@@[@@[@@n@@@[@@[l@@@[@@[@@[@@[@@@@@Y@@@[@@[<0A@@@[@@[@@@@@@u.1?1Cy@z@@ఠ$diffu;2*22u<2*26@uH A@@@f@@@\f@\Y@@\Z@gg@@@\t@@@\sf@\_@@\`@gg@@@\~@@@\}f@\e@@\ftA@@@\@@@\f@\g@@\hf@\a@@\bf@\[@@\\f@\X3uZuYuYuZuZuZuZuZ@[Q@@@@zy@_^@@@RV@@@࣠@%stateAu2*27u2*2<@uA@@I3uwuvuvuwuwuwuwuw@Xu2*2.u22@@@@@  @@$lineAu2*2=u2*2A@uA@@R3uuuuuuuu@!`@@@@@@@@&columnAu2*2Bu2*2H@uA@@T3uuuuuuuu@f@@@@@@@@@ఠ)fullstateu2K2Uu2K2^@uA@@ci@@@\pj@\k3uuuuuuuu@%o@@@@@ະbb$lineu2K2cu2K2gAఐE @*@@bk&columnu2K2iu2K2oAఐB @ @"@bx%stateu2K2qu2K2vAఐu @W@0@@@u2K2au2K2x@@83@A@u2K2Q@@ఐ4Š/construct_patchv 22w@/x@@@=@@@\@@\u\B@@@@\@@@\@@\3vvvvvvvv@O]V@W@X@@@@డ.compute_matrix(Internalv,2|2v-2|2@ v02|2v12|2@@@Ak@@@\@@\=BB@@@\@@\@@@@@Aw@@@\@@\ @@@\@@\1@@ఐ)fullstatevT2|2vU2|2@;@@A@@@\k@\k@\E@@3 @@=j@@@\@\k@\M@@;@@N@i@@@A@*f@\@A@@@@L@@BF@@:3@4@5@@3v[vZvZv[v[v[v[v[@=@@vu01,vv22@ 3vav`v`vavavavava@m@@@vz00@D3vfvevevfvfvfvfvf@0@@@@v00 @ @.Right_variadic#fv22v22@v"A@Т!Xhv22v22@УР i*Parametersv22v22@3vvvvvvvv@Yy@q@@@@@@@@@@@@@@Q@@@D@@! @@ B-update_resultv22v23@+ J@;@@@A@i%state@@@\栠@vIj%right@@@\@@@\@@\@@@@v22v23@@@@vA@@AВ@гv23 v23@@!R@@@г%arrayw23@г!"w23w23@@(d@@@-e"@@@9f#@@%@@- @-@@@]:@@]9-@@@]8@@]7@z3@@-@- @jF-@@@]6@@]5@jN-@@@]4@@]3@jV-@@@]2@@]1u-j^-@@@]/jc-z@@@]0@@@].@@]-@@],@@]+@+@-Y@-U@-S@@@]*@@])@jw @@@](@@]'@j@@@]$@j@@@]&@@@]%@@]#@@]"@@]!@P@-8@@P@БР㠐!Xwy3)32wz3)33@@ 3wfwewewfwfwfwfwf@@ut@hg@@?@@@wA@@@@A3wrwqwqwrwrwrwrwr@ @@w3)3-@@@3wwwvwvwwwwwwwwww@@@(Internaliw353@w353H@wA@гР-R'Genericw353Kw353R@@-P,,@,,@,,@@,y'V@'}"@"@&V@r @@3wwwwwwww@3@@@Б@ఠ$testw3Z3fw3Z3j@wA@@@j.S@@@]a@@]`@j.J@@@]_@@]^@k.C@@@]]@@]\vF.:k.4@@@]Zk.+@@@][@@@]Y@@]X@@]W@@]Vj@]U3wwwwwwww@n@@@డj$test!Xx3Z3mx3Z3n@ x3Z3ox3Z3s@@@:@@@]J@@]I@9@@@]H@@]G@8@@@]F@@]E76@@@]C5@@@]D@@@]B@@]A@@]@@@]?@@.>)$@@[5@A@x-3Z3b&@@'@8@ఠ&weightx:3t3x;3t3@xGA@@@.@@@]f@@]e.@@@]d@@]cj@]b3x3x2x2x3x3x3x3x3@~@@@@@డ&weight!XxX3t3xY3t3@ x\3t3x]3t3@@@/@@@]>@@]=/@@@]<@@];@O@.@@+!@A@xl3t3|@@@$@ఠ&updatexy33xz33@xA@@@.@@@]j@]h@@]i@f1@@@]j@]n@@]of6@@@]j@]p@@]qj@]j@@]kj@]g3xxxxxxxx@Od]@^@_@@@࣠@!dAx33x33@xA@@'@@@@"fsAx33x33@xA@@*3xxxxxxxx@!8@@@@@@@@@@ఠ%statex33x33@xA@@k@@@]m@]u3xxxxxxxx@*J@!@"@@@@ఠ!ax33x33@xA@@ l @@@]@@@]m@]v@@$@@@$@@@]y @డ&updatex33x33@@/ @@@]T@@]S@l. @@@]R@@]Q@C@@@]N@<3@@@]P@@@]O@@]M@@]L@@]K@@.#"@@@/*@@@]@@]@ @@@]@@]@b@@@]~@[R@@@]@@@]@@]}@@]|@@]{j@@ఐ!dyI33yJ33@@@w@@ఐ"fsyX33yY33@@@@%statey_33y`33@e @@Z@@@]n@]n@]@@l @@@@@@]n@]@A@ys33@@ະfkHkG@@@]@@@]l@]@f&columny33y33@ఐ I*may_appendy33y34 @F@@@ DkZ@@@]l@]l@]l@]@@@]@@]@ G@@@]@@]@@]@@]3yyyyyyyy@@@@@@@@@ఐ"fsy34 y34 @@@5@&columny34 y34@fT @@k0@@@]m@]m@]m@]%@@ఐ!ay34y34@-@@ K@@@]m@]m@]:@@W @@;@fu%statey33y33Aఐ. @F@k@@@]l@]N@@ఐT"fsz33z33@0@@zY@z 33z 34@@x\@@@y7@gA@j@]w@A@z33@@@z@M@|@@@@@3zzzzzzzz@@@z353Sz44!@ 3zzzzzzzz@@@@A@@@B@@@z(44"@.@A9F@@@^r@@^q@8@@@^p@@^opa@@@^n@@^m@@^l@.@.@* @AOF@@@^y@@^x@8@@@^w@@^vpw@@@^u@@^t@@^s@*@*@%@AeF@@@^@@^@E@@@^@@^@E@@@^@@^~p@@@^}@@^|@@^{@@^z@%@%@@AG@@@^@@^@E@@@^@@^@E@@@^@@^r0@@@^@@^@@^@@^@@@H@E@@@^@@^AG"@@@^@@^@N@O@@@@z3539y@z@@ఠ$diffz4$4,z4$40@zA@@@lb@@@_Wk@_+@@_,@ll@@@_F@@@_Ek@_1@@_2@ll@@@_P@@@_Ok@_7@@_8z&G @@@_x@@@_wk@_9@@_:k@_3@@_4k@_-@@_.k@_*3zzzzzzzz@[Q@@@@zy@_^@@@RV@@@࣠@%stateAz4$41z4$46@{ A@@I3zzzzzzzz@X{4$4({44@@@@@  @@$line A{4$47{4$4;@{A@@R3zzzzzzzz@!`@@@@@@@@&column!A{!4$4<{"4$4B@{. A@@T3{{ { {{{{{@f@@@@@@@@@ఠ)fullstate"{44E4O{54E4X@{A!A@@h@@@_Bo@_=3{&{%{%{&{&{&{&{&@%o@@@@@ະgԡ$line{I4E4]{J4E4aAఐE @*@@gݡ&column{W4E4c{X4E4iAఐB @ @"@gꡠ%state{e4E4k{f4E4pAఐu @W@0@@@{n4E4[{o4E4r@@83@A@{q4E4K@@ఐ:7/construct_patch{{44w@5x@@@B@@@_o@@_nzΠG@@@_m@@@_l@@_k3{t{s{s{t{t{t{t{t@O]V@W@X@@@@డ.compute_matrix(Internal{4v4|{4v4@ {4v4{4v4@@@F@@@_@@_BH4@@@_@@_@`@a@@@F@@@_@@_ @@@_@@_1@@ఐ)fullstate{4v4{4v4@;@@G@@@_p@_p@_E@@3 @@B@@@_z@_p@_M@@;@@N@i@@@A@*k@_@A@@@@L@@BF@@:3@4@5@@3{{{{{{{{@=@@{23"{44@ 3{{{{{{{{@m@@@{22@^3{{{{{{{{@J@@@@{22 @ @@nn@@nnA@ngm@mnc@mmA@mC@H@C!m=@@C:@:5@52@21@12@1@@1@@@:@3@ @ -@@  @ @@ @@@/@,@@@3||||||||@x@@@@@@@@@@@@@@@V@@@I@@|:L  |;44@J3|&|%|%|&|&|&|&|&@oS@@@o@oon3|*|)|)|*|*|*|*|*@om@@@@|CL   @ @@zzA@z0w@ws@ss6@sdrm@rq@qqh@qcq@q\pA@p^o@o@@o@@@3|E|D|D|E|E|E|E|E@oo@ooojod@@oo A@nnn^@@@nPn@nInCA@m@IIA@HHA@HH@HH@HH@HH@HjHh@HGHE@HH@GG@GG@GG@GXGV@G7G5@@@Cm@@C;4@;T6 @6K3f@33y3sA@3h3bA@3Y30@3)2@22u@@@2_3@2X@2P11@11@11@@1y,V@,}'@'@&V@r@@@2f@@?>A@;:@/.@@@@@@㑠@@lk@@R@cb@ON@;:@ @@@@ W@@  @@@ @@  @ @  S R@ F E@  @@ @A@@-,@@@@@@ @@@@@ @@@y@@@@@@@@@@@@@@y?@@@2@@@@pd@@@pf'Diffingc@@b@@|oA2 Y@A3C X@A3W@@ `@@o&A3A3P A3 @Z^@@Ho1A3A3[A3@o(\@Ao<+[@@.Z@A3"(A3j'A3&A4.7V@@o:U@@p?=T@@qc@R@@r5CM@@{KFL@@xIK@@{LF@@rOE@ArRD@ArUC@ArñXB@Arر[A@Ar^@@A 3RA3AM4A 3XA 23A 4A3^A3A\4!@RjG@_HC@aHh@eqH@dHǠ@iI@kI>@gmIk@fwI@hmI@WI@[J@nJ.@nJ9@ H************************************************************************}A@@}A@L@ H }BMM}BM@ H OCaml }C}C@ H }D}D3@ H Gabriel Radanne, projet Cambium, Inria Paris }E44}E4@ H }F}F@ H Copyright 2020 Institut National de Recherche en Informatique et }G}G@ H en Automatique. }H}Hg@ H }Ihh}Ih@ H All rights reserved. This file is distributed under the terms of }J}J@ H the GNU Lesser General Public License version 2.1, with the }K}KN@ H special exception on linking described in the file LICENSE. }LOO}LO@ H }M}M@ H************************************************************************~N~N5@  This module implements a modified version of Wagner-Fischer See for preliminary reading. The main extensions is that: - State is computed based on the optimal patch so far. - The lists can be extended at each state computation. We add the constraint that extensions can only be in one side (either the left or right list). This is enforced by the external API. ~ RKK~ ]@/* Shared types |% The matrix supporting our dynamic programming implementation. Each cell contains: - The diff and its weight - The state computed so far - The lists, potentially extended locally. The matrix can also be reshaped. ~]  ~e  @5* accessor functions J/ -* the shape when starting filling the matrix I" m* [shape m i j] is the shape as seen from the state at position (i,j) after some possible extensions H (* the maximal shape on the whole matrix H͠4* debugging printer H  Building the patch. We first select the best final cell. A potential final cell is a cell where the local shape (i.e., the size of the strings) correspond to its position in the matrix. In other words: it's at the end of both its strings. We select the final cell with the smallest weight. We then build the patch by walking backward from the final cell to the origin. ~'$$~(@: Computation of new cells ~-~.@6 Boundary cell update ~31!k!m~41!k!@ 7 The order of propositions is important here: the call [select_best_proposition [P_0, ...; P_n]] keeps the first proposition with minimal weight as the representative path for this weight class at the current matrix position. By induction, the representative path for the minimal weight class will be the smallest path according to the reverse lexical order induced by the element order [[P_0;...; P_n]]. This is why we choose to start with the [Del] case since path ending with [Del+] suffix are likely to correspond to parital application in the functor application case. Similarly, large block of deletions or insertions at the end of the definitions might point toward incomplete definitions. Thus this seems a good overall setting. ~9^'"'&~:l*0*a@ Filling the matrix We fill the whole matrix, as in vanilla Wagner-Fischer. At this point, the lists in some states might have been extended. If any list have been extended, we need to reshape the matrix and repeat the process ~?z++~@,,@@*./ocamlopt)-nostdlib"-I(./stdlib"-I1otherlibs/dynlink"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I%utils"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events2-function-sections"-c~}~~ ?/home/ci/builds/workspace/main/flambda/false/label/ocaml-alpine ?>3210/.-,+*)('&%$#"! @@0 qHC|)y,.{3~~~~~~~~@~@@5Build_path_prefix_map0DGl}%Y5Lhi8CamlinternalFormatBasics0|.e1R$|o~0Ln%э#>'V!*Format_doc0uy@GmWUࠠ|G0Bpg]?[q&Stdlib0t0VoS%{<F:-Stdlib__Array0ѤT f:Pd.Stdlib__Buffer0,I[?z.Stdlib__Digest0#z25I*.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Either0HD ?|>.Stdlib__Format00FClW/Stdlib__Hashtbl0(L%bԠ,Stdlib__List0C|Z`>s䠠+Stdlib__Map0*4ɇ2@@A?7?WO5O?@ A KK"Honvv@A_Ai@ff@ޑ2<@4Ř4ϰJH,KIF@AڑA@@}}@op@@qq@IF@@IG*@KH@aathts@88uu@@T T@SS@}}O@@]@5ϐ5@@@rr@  / /@@>>}}}S@}}[@p o@1Ǒ1Ѱtt@@]>]H@** @@,6@@@ T ^@44(5.5p@  @p o@@@p|p_sӓs@@KImN̑N@@'1@tΒt@S<mm@@cӑc@@@@@$@$$6W6b@@ jNjX@ F;FE@&q3p@J>GEaa{#{-@vv@ s }&& YY@c9 9p0oqgqB@@KoH@p o}@&?&I@)35Ɛ6;tu@ofop@  6{6LII@ <(<2@(1(;pp@ab@@@@@ii@JАG@@J}}@QQ@FFKEH@CC°tt@@ @uu @DDg+g5@K Ht@525?@ss@isLuJG@YY@cc@+ +*q2q<@  İhɑhӰzߑz@@ @@~~V@Αذrs @$$İlflpuu@>>@@@ۘ@@T @ttq@{@rr@'(](g@q,qQ@q͕q@aa°rr@q’rttk@@LJFLÕJ~@@55@@77tt@-Ƒ-@@PD@sDss@@D@@ @ @@@A@@@AE@@@ D ̡ Ȱ@@@@@@A@@@ArEr@@@D|@@u@r@@@A@@@ABCssAsO@@@sAs @@@AD@@@AuEu@@@u~AuJ@tBt@@@Au#Bu@@@uBu@@@uBu @@@ABC@@AB~A~@~B~ܓ@@@A~B~ד@@@~B~ӓ@@@~B~ϓ@@@ABC@@t@t@@@A|?@|<@@@~@~@@@ABC@@