L ih2ddlmZmZmZdZGddZy))VariationModelnormalizeValuepiecewiseLinearMapcFtt|jSN)tuplesorteditems)locs e/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/feaLib/variableScalar.pyLocationr s  $ %%ceZdZdZifdZdZedZedZdZ dZ dZ d Z ed Z dd Zdd ZddZddZy )VariableScalarzFA scalar with different values at different points in the designspace.cti|_i|_|jD]\}}|j||yr)valuesaxesr add_value)selflocation_valuelocationvalues r __init__zVariableScalar.__init__ s:  -335 ,OHe NN8U + ,rc Jg}|jjD]h\}}dj|Dcgc]0\}}|dt|j r t |n|2c}}}|j d||fzjddj|zdzScc}}w)N,=z%s:%i( ))rr joinfloat is_integerintappend)rr rraxcoordr s r __repr__zVariableScalar.__repr__s#{{002 1OHe((&.!Ed!%,*A*A*CCJOPC LLC</ 0 1chhuo&,, s5B cxt|jjtfdddDS)Nc3.K|] }|dk7yw)rN).0vrs r z+VariableScalar.does_vary.. s6a1q >6s)listrany)rrs @r does_varyzVariableScalar.does_varys1dkk((*+66!":666rc|js td|jDcic]}|j|c}Scc}w)Nz=.axes must be defined on variable scalar before interpolating)r ValueErroraxisTag)rr%s r axes_dictzVariableScalar.axes_dict"s;yyO *.32 B333s=c*|j|}i}|jD]c}||jvrtd|d||j|}t |||j |j |jf||<et|S)Nz Unknown axis z in ) fix_locationkeysr5r3rminValue defaultValuemaxValuer )rrnormalized_locationaxtagaxiss r _normalized_locationz#VariableScalar._normalized_location*s$$X. ]]_ EDNN* E8!LMM>>%(D)7$--1B1BDMM!R*  &  +,,rct|}|jjD]\}}||vs |j||<|Sr)dictr5r r:)rrtagr>s r r7zVariableScalar.fix_location7sI>--/ 2IC(" $ 1 1  2rcn|jr|j|}||jt|<yr)rr7rr )rrrs r rzVariableScalar.add_value>s, 99((2H*/ HX&'rc |jjDcic] \}}t|j||"c}}|_ycc}}wr)rr r r7)rlr,s r fix_all_locationsz VariableScalar.fix_all_locationsDsD:>++:K:K:M 26!QHT&&q) *A -   s%A c|jt|jDcic]}|j|jc}}||j vr t d|j |Scc}w)Nz Default value could not be found)rFr rr4r:rr3)rr%keys r defaultzVariableScalar.defaultIsa  diiH BOO3HI dkk !?@ @{{3 IsA1Nc,t|}||jjvr|j|St|jj}t |j |}|j ||j||Sr)r rr8r/rAr?modelinterpolateFromMasters)rr model_cacheavarr rs r value_at_locationz VariableScalar.value_at_locationRszx  $++""$ $;;s# #dkk((*+4,,S12zz+t,CCCPPrc|,t|jj}||vr||S|jjDcgc]}t|j |}}|T|j }|Dcgc]9}|j Dcic]\}}|||vrt|||n|c}};}}}}t|} || |<| Scc}wcc}}wcc}}}wr) rrr8rAr?segmentsr rr) rrMrNrHk locationsmappingrr,ms r rKzVariableScalar.modelZs  " ((*+Ck!"3''AEAQAQASTAT$33A67T T  mmG !*  !) 01AL)!WQZ8aOI 9 %  " K Us !CC# C:C#C#ct|jj}|j||j|Sr)r/rrKgetDeltasAndSupports)rrMrNrs r get_deltas_and_supportsz&VariableScalar.get_deltas_and_supportsns5dkk((*+zz+t,AA&IIrc|j||\}}|j||j|}t|j|fSr)rX setSupports storeDeltasr#rI)r store_builderrMrNdeltassupportsindexs r add_to_variation_storez%VariableScalar.add_to_variation_storersK77 TJ!!(+))&14<< %''r)NN)__name__ __module__ __qualname____doc__rr'propertyr1r5r?r7rrFrIrOrKrXr`r*rr rrsxP&(, -7744 -0    Q(J(rrN)fontTools.varLib.modelsrrrr rr*rr rgsVV&n(n(r