)EjyddlTdZdS))*c!"#|.ttt|j}|j|}j||}|j}fd|D}|d!!fd|D} t t | d\} } | d} || d} || d}| | |zkrtj|}d}|s| |ks | ||z krg}||||fD]}|dd z}|d d z}|d }|r|t|dz}||z}||z}||z|z}||z d zdz||zzd z}||zd z|z}||zd z|z }|dkrt||z |n||kr td znd}t## |#|dkrd}# t|t|#|#|d##fd !dDf!ddz"|d#g}|D]7}#fd |dDf|ddz}||8"fd|D} t t | d\} } | d} | | |zkr | r| | z nd} t d| | | |fS)Nc*g|]}j|S) greenVectors).0iglyph1s bC:\PYTHON\MyICR_Suite\python\Lib\site-packages\fontTools/varLib/interpolatableTestStartingPoint.py z'test_starting_point.. s!:::A$Q':::cHg|]}td|dSrvdiff_hypot2_complex)rc1c0s r r z'test_starting_point..s, C C CB !"Q%A / / C C Cr c|dSNrrxs r z%test_starting_point..s 1r )keyrg?c`g|]*}t|j|jf+SrcomplextransformPointrealimagrpttranss r r z'test_starting_point..Ns5TTT%../ABBCTTTr c`g|]*}t|j|jf+Srr r%s r r z'test_starting_point..TsE !5!5rw6H!I!IJr cHg|]}td|dSrr)rnew_c1new_c0s r r z'test_starting_point..\s9?E$VAYq ::r c|dSrrrs r rz%test_starting_point.._s 1r z!test-starting-point: tolerance %g)listrangelen isomorphismsrmin enumeratepointsabsatan2pi Transformrotatescalesqrtappendlogdebug)$glyph0r ix tolerancematchingcontour0contour1 m0Vectors m1Vectorscosts min_cost_idxmin_cost first_costproposed_pointreverse num_pointsleeway transformsvectorstddevXstddevY correlationacbdeltalambda1lambda2theta new_contour1rr*this_tolerancerr+r's$ ` @@@r test_starting_pointr\sc&"5667788"2&H"8B<0H#I:::::::I !B C C C C( C C CE 5!1!1~~FFFL(qJl+A.N|$Q'G*y((("r*++ ?  f $ $*v:M(M(M J$R=)B-8 ) )!)c/ )c/$Qi 23vay>>1Kg%g%')G3q5C-A-A5#=q5C-%/q5C-%/12agk1---!a%%b3hhUV!   U++Q;;G DMM4==AA!!%((((qMETTTTbQReTTT122FqMEL , ,"$Q% qrrF  ##F++++IUE&)5)9)9~~%N%N%N "L(qJ*y000 .8?X **aNII+ >7 22r N)interpolatableHelpersr\rr r r^s/$$$$i3i3i3i3i3r