7042L!Dhtj*buq-ḽH! jwT OtpM׮NJ         "U8)Q.]5N*ed_]V-6xC$yxa7JKq>Js0H ~RN5N,`!ukԙM.bLlv;N5B .@FIBgO-śEL &\!}U .bo^m~Wg~0' 2v|y@A<!q#MަG"%5#'#ϋQ%z3E$h>X' p"%AQ w*׍fu=p S"CiR2 }yϽ<e?YdKL'N~&L  dKL'N~'()(*)+ M  M M)+ M M )+ M M dKL'N~,()(*)+ M M  M )+ M  M)+ M  M=đހ \ l-L !=đހ \ l.s/0 " /0=đހ \ l1J()(*23456)+789:; # $5:=đހ \ l<L  % & ' ( ) * + ,=đހ \ l=-=đހ \ l>.=đހ \ l?/=đހ \ l@ W0=đހ \ lALZ <()(*23456)+789:; 1 22 72=đހ \ lB 3=đހ \ lC .4dKL'N~DL q 5 6 7k 4|$|H^E   L Fm>dP6ßRG   L HB] ,Cў蹓NI   L Jk/4I{`oK8 8 L 9t~x2mJfwL8 u L :&]KfW'+M8  L ;dKL'N~NL '//* ; : 9dKL'N~O 83 PL3*M < QPM/R M =( S  M >PT   4 4+MSM0U M ?0V L ;TU L :TU L 9TUTR/+ L ;( L :( L 9(dKL'N~W8233* @ A B=đހ \ lXL C D E=đހ \ lYL=đހ \ lZ 8{[ PL[*M < QPM/R M = L D/S  M >PT  4 4+MSM0U M ? L D0TUTR=đހ \ l\8>2/PL L) ]))^) L)]^ D/P; T\n*e_L<L<`L<aL< bL<L<LLf LLfL*`a L*455+ M 0 cL<L<LLf LLfL*`a LV366d M0 M ՗@`ø*[SeL<L<`L<aL< bL<L<LLf LLfL*`a L*455+ M0 cL<L<LLf LLfL*`a LV366d M0 M mHx\*q7Z^fL<L<y`L<aL< bL<L<LLf LLfL*`a L*455+ M 0 cL<L<LLf LLfL*`a LV366d M 0 Mڔ|dGHqgL<L<`L<aL< bL<L<LLf LLfL*`a L*455+ M0 cL<L<LLf LLfL*`a LV366d M 0 M=đހ \ lhL<FGGL<FGG  `L<aFijGkGlL<mFnoGpG bL<L<LLf LLfL*`l L*455+ H  Il2mnop0 cL<L<LLf LLfL*`l LV366d H  Il2mnop0 H  I`2aijk=đހ \ lqL<FGGL<FGG0  `L<aFijGkGlL<mFnoGpG bL<L<LLf LLfL*`l L*455+ H  I`2aijk0 cL<L<LLf LLfL*`l LV366d H  I`2aijk0 H  Il2mnop*T FL㗄KUrFL `Fst `st2uJa K LC La M Nijk Ojks37■vL<L`L< K LC L` M Naij Oij" W4LgwL*GL*LKa@xy Lyy y `Lystu Ly`s*23456 3tu2zJa K LC La M Nijk PLBjk{O ]p!IK'{FGG FFGG$`FaiGjG Q2sJk Rj*M Sy yFM|}~  L*~~+M Ty yFM3RL<  L?!lL<t u tVM U2M/2L?udM U2M0U `/02J L<L<LLf LLfL<l L4552U2dMuMM04 `/02J L<L<LLf LLfL<l L56 I6M k*R2`aijVKe5EGG '`G R`*M VM34 W* 0a X34 Y  Z  M  3 [* 1( \34+M ]M/R X/R %f(3  %   M   M      %2  2+MM0U0V)] M  )]U ^*44+M TM5RR1 Y  Z  M _ 333 M _ qd6*G 's`G `2 a2s R`aij LjiX7ۡ.j, %zFFGG  FFGG(VzlO&ŮUȊ b LL FFGG(R@"P]؝ b LL LL FFGG)uOf<ff( b LL FFGG*]C^(bIiU$  FFGG+Xst  Ly 0  0st*M cy y FFGGM|}|u`aijk d`aijk}Gz r%&{c bF FFGG, sbt`Fa e M f Ly L$ L*L$ g L$ h L!L$ ista*M / j 1 N@ / 1`a}kmc'9ό F FFGG-s `Fa k`a Y Z L!s l Y Z L! lsjS4٫j% ~dy Lyy.y `Lys Ly`s*23456 22tJa K LC La M Nijk PLBjk"edN?.px*XL*L*FFGG FFGG0@`L*aL*iFjFklGmG ml`sM n mlatM o nnoijklm$ i4dbWmUǧL*L*FFGG FFGG0dKL'N~JHF=đހ \ lFFGG7=,u  2  *M o MM p Mۑ&ܐ$g`   2D t&`7%F   2|yqv[G322*345676VS LV3sy Lyy3qOlV2hf\eF422*345674\2a4\b#L4rmߋc~.׆4k)tғœБ707F5 FCUz" F5 L<L*LLf LLfL< 0 32 L+45  I52|b[Rֺ2G 6sccG 6b Y  Z  M _ ,ͽ =-/  6tV꜓P'G7J22*345677[6c v  92 2*M uMR      7` a s s+M`aM/]tijklmknM o/VM  vom N@ 1 w3 a3]` M  x3 a3]`as`aijk tilM m+M / vmk N@/ 1k M R`ai M aiz./+_-6z1 : 3$S)aUP b LL:y Ez^IQ b LL LL;z1ju,@A  b LL;{$s L$t L$su`atzij`*M /i+M 0 N@Z/0VM N@X/0dM ~M ajM (WBX3>@ M 0( שWTK^CG> ?ox`ۣJ_= >e#8s]ǣ/} ?O j 0  2147483647I/̻IF >#ЖL?;+K04^FXy L y y  @y L y y  Ly y   L*y  g y ( y ) y  y(*/3/)*/3/ L!y ߙ*mhm͘y LyyAC;79~",?FA22*345673YYj:_jwLB*! WM9~< {   B      ƿ 4U{wai  C() (*M)M )7)Úc71NC}Os tZU4ECnLL%L LLDLLL LLL i>M=d[^.JFH,'1.%"%-A=@?>BC_efghqWNOEGIMLK\YZ """"%  {"xrw%%v&<DXcombinatorial-problems-0.0.5CombinatorialOptimisation.TSP(CombinatorialOptimisation.TSP.FixedPoint array-0.4.0.0basecontainers-0.5.2.1deepseq-1.3.0.0ghc-prim integer-gmpold-locale-1.0.0.4random-1.0.1.1time-1.4Control.Monad.InstancesGHC.Base GHC.Float System.RandomData.Time.Calendar.GregorianData.Time.Format.ParseData.Time.LocalTime.LocalTime Data.Either Data.Maybe GHC.Generics GHC.Tuple Data.Array Data.List Data.TupleGHC.ArrGHC.ListGHC.NumGHC.RealGHC.ShowPreludeFP Data.IntMapData.IntMap.BaseData.Map Data.Map.Base GHC.Classes$fEqInternalStorage$fEqInternalStorage_$c/=a2bwildwild1$fEqInternalStorage_$c==$fEqTSPProblem$fEqTSPProblem_$c/=xy$fEqTSPProblem_$c==dsds1ds2ds3ds4ds5ds6ds7ds8ds9$fOrdTSPProblem$fOrdTSPProblem_$c<$fOrdTSPProblem_$c<=$fOrdTSPProblem_$c>$fOrdTSPProblem_$c>=$fOrdTSPProblem_$ccompare$fOrdTSPProblem_$cmax$fOrdTSPProblem_$cmin$fShowInternalStorage$fShowInternalStorage1 Recomputation$fShowInternalStorage2TriangularMatrix$fShowInternalStorage3ExplicitMatrix$fShowInternalStorage4$fShowInternalStorage5$fShowInternalStorage6$fShowInternalStorage_$cshow $fShowInternalStorage_$cshowLists[]xslvl19showlyswild2!$fShowInternalStorage_$cshowsPrec$fShowTSPProblem$fShowTSPProblem_$cshow$fShowTSPProblem_$cshowListls$fShowTSPProblem_$cshowsPreccn$w$c<wwww1 hs_eqInt64 hs_leInt64wild3$w$c<=$w$c>$w$c>=$w$cmaxww2ww3ww4ww5ww6ww7ww8ww9$w$cmin $w$sedgeCostww1w2$w$ssolutionValue $wcityAtIndex $wedgeCostaw3$wevaluateRouteNaiveipvipv1xs'$wsum'6$wfailwild4x# hs_plusInt64wild5y#wild6ipv2ipv3$wgenerateDirectionalRouteMapenda3a4z2go1a5$wgetTSPPathAsList$wlgo$wmakeASymmetricTSPMapg$wmakeEuclideanTSPMap$wmakeSymmetricTSPMap$wminimumVariation$wrandomiseRoute $wsetRoute$wsolutionValue $wswapCities$wswapCitiesOnIndexInternalStorage TSPProblemsolutionValueI edgeCostI numCitiescityNameToIndexindexToCityName allVariationsreversalAllowed fragmentsallVariations_rebuildallVariations_rebuildRedgeCostedgeCost_$sedgeCostevaluateRouteNaiveevaluateRouteNaive1evaluateRouteNaive2hs_uncheckedIShiftL64generateDirectionalRouteMapgenerateDirectionalRouteMap1getTSPPathAsList kFragmentstfirst$wlgo1xs1x1 kFragments1makeASymmetricTSPMapmakeEuclideanTSPMapmakeSymmetricTSPMapminimumVariationrandomiseRouterandomiseRoute1randomiseRoute2routeMapsetRoute setRoute1showEdgeWeightsshuffleFragments$dOrd1aseta solutionValuesolutionValue_$ssolutionValuestochasticReversalstochasticReversal1 swapCitiesswapCitiesOnIndex>SPEC CombinatorialOptimisation.TSP.edgeCost [GHC.Types.Double] $dFloatingCSPEC CombinatorialOptimisation.TSP.solutionValue [GHC.Types.Double]notequal$fEqIntGHC.Int$fOrdInt64_$ccompareNTCo:FPShowS GHC.CStringunpackAppendCString# showList__3 showList__2 showList__1IntMapI64#$wreduceGHC.Integer.Typeint64ToInteger $fRealFP4 $fRealFP1$w$cfromRational:%elemscycle1tail1$wlenlast1 fromList1Nil!!_subinit1last2zip3Data.IntSet.BaseKey$wspanneInt RandomGenminimum2sortBy$fRandomFloat_$crandomsGHC.EnumeftInt$w! dropWhile takeWhile GHC.TypesGT compareIntLTcomparezipWithreverse