PKN*w tensorflow_federated/__init__.pyWn6+.M 8tjYj؅d0( (-%$Rq"olP(7Exz4?-!82Xz3E aU rk-sV,)e]tS?#C-KH 4Pj\CρʬAͱ9#A𵣐!Gxn>Gc\ҨuJDRmfonQq1LkP쟒+5(e RT@RpH+R<]bsmJ3^=^ErpV>x|_"/uƇg/;=j~vPV?Yl/gl" ]0NѮ<-I LhLe\(/F3ni3܅8}h#ETb(A&) C+R*tHK㗖[E/ }ќZi0Em,T*n]uek\F-=p+vŷ#+ b1F\|fd3E؛yauHw' 7a(a8iN/#)fŇ)+RĔh3B0:[F9Еte63\wݥw?@4å\y!e@z]࿋6+(lC5N񾁮`jeRta\Zîg6C5d6pĤŰuKL +lU_޶zwF$mJJ^oe붕 =\et\#M gh+\V\`}P=j~mK ))o]D6Y$OpqTi{h miգmT Q3ch@ jb\ly>J{>Kg74)@sh=q̄e& `\=;a?3l*flpeD{8sPKNej&tensorflow_federated/proto/__init__.pyeAo0OɥXmO=4ѢV=:0Hڦ߁fVeϛWسPv w6Ǝ6EK(H{v T!x=^KAJ.y6 &RZ^8Ă=jV `ҜmJC;?s1 \,)(Q+[9՟uPaW_aL׬_6˷߄xyyG{v4BY*I0;58ƑԂǁu: ʑTSL,y)e#͗xH49-~ <'c6!{Li${4{@2+yެ9R5 -'P oKɥ^5Ƽܙ^*qAPPKNej)tensorflow_federated/proto/v0/__init__.pyeAo0OɥXmO=4ѢV=:0Hڦ߁fVeϛWسPv w6Ǝ6EK(H{v T!x=^KAJ.y6 &RZ^8Ă=jV `ҜmJC;?s1 \,)(Q+[9՟uPaW_aL׬_6˷߄xyyG{v4BY*I0;58ƑԂǁu: ʑTSL,y)e#͗xH49-~ <'c6!{Li${4{@2+yެ9R5 -'P oKɥ^5Ƽܙ^*qAPPKN740tensorflow_federated/proto/v0/computation_pb2.py]{W:?"ww!;t;tnhH98ܜ43geK  >ĪROR$K?dPDӟ;OO"(G跠 rG4j6j|rQ>'g&QX/|7oL0o~l/KjFú \l1]Z[ܿM+e(~ M7^Rry7pE@2jl&TzY> ` 5E$c&~{?G#n:!So-}e]) 7Փ`o>()xV:&ȣXNWgË+X'z : _*}pgSWWP"!23>{0+s}x\Gѡ7߻YS)RG>(w7'5\^=v>.'ՔCL ]hfuO5´ ˋBgcӍ .d<|oN# O@oEtvDF42&>_' A*#H r+Jх gc>+mVs*_B!Kh_D#c})]j`G Bu/45iD )=OXL i@Als.6e57> Ѥ{aI !T7I9­$Z ]RڱKтxRx; 2ݯEhPS$"x} ATN AF}*w2 N58r.zCRAףAqBtYX%jJ fFҧNM"9.^S0: Ns7xDiþLX 8hQ@#0cygDbU0G}~g \K]c 0 q 07ѥ0"s7L( B! j=yĎ0t#6Ez~)uԟ1``X񞢋<KN40 ߅70Vj,P-f-"<XhO%=`0E0GB9q"Q:%XnӤNِKn@;I=xL&ХTA @" q/hrCh/7*JBl1CO3jB4"("࿆I;71ڎHE%_pw%l*wPFxX;(*肿Hٌu$$@JVwvT?'0L@TVwwT? wZ&-V}kGhHb2t ݵPQ0}wή:ܕ";BgW  ]9CBp#~]}+H\]yƸ5:;N]0 ]Gp?~-=d}WdǠx9fk/:zOfQS6 -iMnz`I|U-#O$=tjM{MO7 5J=fed؛&`{ERok=fdmT2|ak`gjЋ4*-6/s,A'(;ønH-.Fe$p4(qmBq|SU>Ht 銭XJL]Tv WpY-u۬m?miJvV"Q\}8%Z@.YdUm9%PĆqh@N'y'v07O*؅j4Dx{ T< AyD[+"ӯp%pB!?o:H|ގ0k QH[L5M×7&SRQzK|ysdrGo;ALPrQ𧙁Ů.+Iw[3FU 9۫ñhr(\כq]RF\Wsx,l^asfD8Vkiy߈i LYϲw~lj2Q?ɷ>X$VѨVѢA0}n^Sab/R*%4Klk`6cிAo`6kc٫ݝ7#?h=[=K meDVCBzx; iBff"J[tEMzSi!A͆/&"=gj# <$`SI ,{-a}D ?VnS5լ׺9o Tq"y RIV&N#2M84*&),Z:JhiOL7G J~ .hYDۊi4HX4 9ۀ(wTJuAɡ o2 `A!Hp(7c'nMvj:OBN[Os,^9L{0g}Nb\|@-P4-{Hp͎2ܩ;x0-c"#ߛ/vʾb{O>7nGZ#aGOs]i{Q>F ؅J#_9YoQ;A.hz%9uxsl JMmMӨͻP[ ${tyfL+|}gz/u֚ݸ7N8ֺuD"շQ5-VFV-[ESE)!A?Hf\:(gf RD~Q{X Pw]_p1bT-6P^mnT:tSg`r -_2/ -lci@7菔 Ӧ/ .?z&o c#xOU cic/Z KoջS\þd ' yw}JPlx]D@![Dɓ#mTGLCF'xεtG[ix(2~DiG&3?E-ZO/>_~`X W|amU0v)JBf2cE<>l$5tBلs=/If v-el)IYa>I 4溊lR>$|$?0ɂ%)h_m"ȁ+&{lŢs AP|F*X1@F vrl-˩("z*F2$T2.r0jʜ*#eQ2'괈F2p i-iU !5͠EB Zҥj0*HTkx)Ci!Ó}Sf{ xLN/1T𨉼p%}_BDWNE=|RyzZ"l$NUkX2%sT9Q-]ՍlJ^c vѳ!+9"=!]kXR}BBs%x@u(nqIkA! 3wVvcBTUKPlJt]if!St&O'0ea`8;ZM`5#N?;A9Q,"JU3)< QwYנ [u'U/a6pR ksKyk-LffC,uhH!).&1d'Qt lGY@ITϤK4dyh={Vz5y*YL|9!(`2P4YE9z8eL#5$F #v;de*wW/Q+lzMxFLNI1]t:2+tF!*=)#{ɨz ;a)T\)B)XNy crW;ؾ*J T}WW 9Toq j=Xyźp =Ǐ/lzw~H}ϙsn$#K%KCeÅ'hyʭA)c4 h8T*Q drђ<[ Rw!x&4u*膒1/W_&&qf86%1HRtiab E=4`EK<<2xTm3p;qtP$N 3<&N.Z&CV( VГ4+[g8 wk#b!)AjYR&pS yMD:eKRcfW~&}O N`g_5WY9}6s9op\Ko ]6'.20ʗBI|{9L\%KwbLSM!a41e3(cX5HS-VXyG[C3 4.++7(e<@eC *6 _atɭ6V<-<'UoBLy.HdMo!e2SKlҪW [L B\[D^[VH@u듨H v39|f>Cs▤guQT ] piy~(eVwdX93Gn8Pn .H wӿRDPKNīQS5tensorflow_federated/proto/v0/computation_pb2_grpc.py 0 {%Tċq-McFz=?X"cA )1Ozv.Wa5DPKNZ. Cm-tensorflow_federated/proto/v0/executor_pb2.py]{s_B׷SLL<6i&vj;vb8Bpvݻ=% / b{ٳ?~yOܻ٫x p"0OzlHX]~q_^Ëw?A_Zcp;lNLVK?)3@}Ϟ{3KcKw^ux華k AS@:3+6 ~. z,j I0_Bt'ZC``AC0Iv-U=u"gDw " Q^s/.aM=޸3gFUj.d/MiaONZ7 jC:p5 W4~VC&)0_=4? ִWج7p^o{ **RdKg/rJhn>y8`2\qKr8=}qrU{4𷛣ȁ}qIK)c;nY?; \@^t7TݣtFfww,⥄K la9ȵ~Z/ҝ=ڈ4SRvAn]lYyؑ35xŴn͟!f|'~ \&vt\B#.@6B-jdXVs1L9 LBsF(Ǧ4w\Z70μt<m;V>ȑïKC ]1ך)=  {ix=-W&J~r];;2&L ta@ /M|XA=XӒn )Թ~~8Ut6jzz``u _LK٨3.8n ڴ1[ A]g/&J C<";HpsJ4j`Hk r@Y4lM==un̬ >30rh`u(m4;u&ǫ˛PShq49*.Dqfq3M'o@ýeF-8 8z 1 ]PFeA亢^$x}IRtW&|^>&/-˔KfI!i? /dxZYd4诊T7b&]OyLI͘r_w vЎhFC:.hxV8Ӄ|H{P@Zi2RRt/Q$Ѻ^n/Hq(H7f?N_f֚37o]]Vȩd;3TW`=LZzlʦh`ꐄ&#V#m!H?tŽ+AnL|qI!J(UHݶl3ҟQsR:QP8t[ fwUaP0:EGӒٰZO.Beydt9: riq[(vlQߐQ{`u>}?FS&9\Cv=o*o-1Iz+TNłH)BuBwcB̚4`_OAO`Zf÷E5(DĴPMXeJnV\Kλd'<=2NB',pU:|9+f#{QV;0Oe 9oAtbkAdHx6o ̨%?yF$Y(U  @]ʠVQǚJ*|?cs݂mS%?KN%uڸ7.ǔ 9y5ΏKqG"]îTdՓE]]ltRrB}y)=qPe/܈fGqQ_ 3c6/rR"3Q5&f'jG2LE=\-{;pcb F'68`íc.lVaB-`CFY(H!skp?L=*4MUB#}!.P!z5y8`Td+kYAeMŶtZ䑂FHmKT21핐K*{0)9FY[ !ސZl( ElSD[/\\f +"/H]cqcUǃ@0Ja"-H bCe0a( -U,@{xFRvV]sK{lS̈i_ eR o%Tں/׊g8״PKN 2tensorflow_federated/proto/v0/executor_pb2_grpc.pyݙMs8S8̅9PR!]n6Bb%vk>L d`RCۏd xIM,͝d$9ȜS&һ&.G"6KeTͳ((9#jtO8dqFxYaJ_ ՠ4&ujq^V66SI?;48 3vDIhP a€P2a" (u#|aBҔ f4'-Q!;y7+604ܛ5cRotI^rUe\RIBb^%%ӊZ TwڤQGWɰɡQLLAA{7\i|bҵ ^ ϽQ:Z 7$߇8nl C1^)yXW ؑ7z9ZJuLqY+D@y@Ol]xS0+0-GI5~qs;\=Bŧwm&˖ѥݘ)RL߫B=3ŘKXø+g`HCU8u:~xO6` q5&rg2L"SRBS8 DIL!YBna43Nͣ]\{+t &nWYaKnwʖ_ͶK6)_[>tͤhTǨV;R@h&sJ7FML')6ZKYC[nj_m;mֹKZV['G3ٙtSZhX{%;s}nJn[19t7^+uEr 8]9͞ßJP  n +y6k>5Zy끼;I)rHol5PKNC2pj'tensorflow_federated/python/__init__.pyeAo0OɥXm/mD@сF"64+Z_,{<ožuch[1vtܴ7D(ZBÀUT I/-NjtZҔXUvDCγѸop5 8Y&$QsGlkl;V$ `baNAZʩ 3z= Cfظf}(znY&sϓ{8۳ PN٩A5<8aPĥbeZ$gKi,iCy$iT99H9GlcZLN;$ ~cY3f/<͑ih9|yK%\J.!4敜8WKg*7PKN-S3tensorflow_federated/python/common_libs/__init__.pyeAo0 sН4ƌ+zT& KDf@bH||YO9uScmuP.ƍb@6HKj-]ҢJX2 YKof$R8Ln^M`Q,(BC_5z] )Fnyj"rpgVVrj@|nqLBn͛2nn_VB4lf~łsůLx'Mvo)G'lUK+% WNl],^@.fy6w;QohKllP/?m< }Z-0'CZrYn5woBSmdErXb@M.09+4?3Da-yM܄% ~ 6E1h[2Kp?fU)THNXy+:YR @&[lؗd"e o\&j6{Bʙ@ 힗ERې|)nPh.d*DT4r"®43z-B:.hU';Yb : B V`*L#Pԧ{ QS5k]+qrODt ;=71QUT'Z7N}x!FT{}rL |B2u/rWTρ<#.tc`d>d3lvN;E.lޑe ̈́,i[M0ץco*^\fNRjzwn4XܖH< RIZZƈ!٦lTW;?6dZ.Zqb[B&uG0LueǧF e&R>Yg 'c6We4{r*ovK [Ud l-LLv>j9^@DiiUõrPLeQ0CP \geK?+JoAMYUYdTegU~h~I3!askc)i*؏hݻ.Xx0ƂeQN2VR;r›"rي$( J$`gZ8CH9JUa 7"cʉEf@A/4,u9%˗7HYM*B6 U6d`i;fzQUVbmϑm«=,si$՚7tՠ \yEP2QVMojf{/1@*P8'mhleG@OIqc^ @0)(6["AcZP;% u Ugx&2[TN[e5?& Gn-AA*jf[l$ŐR+ fIK%2M 9DפvĞ~ vR6hSBTp1`eq=҉g"F 'D ѨbwfEi2{;c28&L==]k?'Cq{޿3pֆZ} !6ZIu =0DnZj5vʼny8\*+0׀lW6dO(i-42!1PL; ūkJo_kVSjPtW"9Ɩţe3IWc4Eҡٝ(f;=bXB ˡzDJv-&n`+T2$謨f=>M 2a (Cās6TX_,t9ƏOOK|.cc_Wԥ2OrPTd؀y:2VgK[l31>nj! <@2kӥNu K#u+wᒍ6lK295FY:jr@QEª#F+Z3.asWWhCr %62׍O |aR5SuZH.=[Mk}6*@q2otIn%z}Pvuͻ!IB+azA:mD/$b01`[26U6{5~)?\@>uPRWV/D3갗gP)iTc(p搱sAu Vc_! ō2.Tb,9ldg锟 X^11·C/<ǵ6yu*XRZ= TxIo0XN%[TÚ'Ճbl,sz iJlLi*S~F21 '[t:'m6 7]zAG.1Ҡ:lTc[ZAڥK)FөYa~^)t>Quy}DgJTw/fcCIءCnVw>c&Oy;KhLڣJP';y2ўe듛vl7MN<3615LkDq;kxX5=-f'6sJ썼'7m#Qr+ĵ׽<) a(dvF _5ЉFE:5S/ZJM ºfo j5)]@yΗymp+lVئPhPX`tq_y^8㥫5Ԃ~! ۲PKNϹ "7tensorflow_federated/python/common_libs/py_typecheck.pyXs8~_Kl{q'6\'iddZmveI'Ru<DrmHA3xrBO$4rH])'l̀?beJ /iˁ0l0l)/^HQQm^dVRx?{usw-=Lj O*uuQAXCQTLA+eT AkD-ҦRjC}Kp1:߅_Çb~uͻb~{O0=yDPVd?GhwR X ]DU~Zl$l/(eSѼdj0ĩhtqqѨLbqM]8& ٺEX(2zY!ƘȽN,־ ӊh`?1эU2 F\[bhbD&dbR"+] #t-kNXKC(LmPŬhR`7Oac.|FCGO[llhdw6*peY#m!3L]f.F0&}#G`1\a{"`M- wWDR&{cm%DhW`nw" )*yG3N$R!wP-ZvM(|^])!s )DT^`8;tP:nW' 59eM` μ|[)Gsl'A0p[Y #1daǚe*x^'ފw D׫$È;B(dIԦ%v}  2iI f݂Rm~pR92n s,WޭNeo='ϓ-Vb*xJ3'[!-Ǧ.FKT=a {>jBk>QoGP]y'T{LDQh|nKBD DNAMdqui ͖&"x@Gr<\Vj~}%W89lF9]qq_qk3LC+%Rk>_G:xWuF}e㩃 :1H}pp@ibY3M8Θ<3??HKs!0=PZ 'ހx59/zy OގxO.W3|z"(.;wPsS'>检/"SmiٴH)3\)Nw!“^*L-޾w7㳏 1t~Fqw|iIpRIIE9b=呻k3#`td@КeÏC~ͯF{Ȓ%x&Gr<:ygxi 2dUmkriĦ&JW[⌸]/};u3?:b,KN6@KU~}Zjw)9K{Y'?FOpޤao쏘 Bj}7 jX{$GPKN )xg>tensorflow_federated/python/common_libs/serialization_utils.pyUMs0W줇3Ar" I&iaGv֎$75 NhJN]}9+!-p3 %_GpFba7},&(җZ%Qssk: ԕ(vkIqt(xF_mPNK8r 6;~KaBm \aeAHԲ*J؅/ӂ Br_*,''Պqϖ)]!Ӝ\ .F؟?k״^D+PxbV9+-Ek$0V[jQҋKc{>}¸N>^O'pģb 7pv=:N#Z]B<> iEeҎ?NG;ƈ[r 3E BݣT87 ћJ)rwiE^ojEIb jKˡ̱SieUJHr$ymkIP75$ޗ614ڕ"mG?w ؼQ(U)A0e3%M"Buay}HpMQT 7H"˶H ٘ p~B\hDNXk3wikc,EϮ?Q>< qLgnc`΍Gо6zZWCtmԇ뾷-Onk.H`GπwݸeݱUQw̬zu!3ȸtؖnډyƵ\_-mo{~TgIzybX\SZGméCe !WtFmS; PKN\uM0 ,tensorflow_federated/python/core/__init__.pyQo0)N&%iYjhm'dAlS>ΐJKC^;;QY`Tk7BV|c D+#u!5¼)x3u#8Po]8X4Wg;2;F .sx ۡODhe %kj2Q oʂRUv- x"dbY3WNpX.gi<֩gEoif7b))VBI L Yk1+F +|Ffa cHj,Z;yŋU0c2pB{?~^σ_Zb\ u bEo~)\1uA  d/("|D];P¸4$/%J!Jazqsh!J4ӭGFQe qնNԔE$ۯQ8Y+M OwRNYFlI \սqFSiUhv}h"u(^JW"tP>цYٵfyaF%:NF䱜ţ{hRΌeQ V25 PI]͇KSYQ8-f{{A߳*+-ne'1n>n4:]h꺎 uݾ;2u:>*Z^2y7P†.--pj ڱKWs>MX: RӷeMos#V@V PKN_? 0tensorflow_federated/python/core/api/__init__.pyn0 y "l@teNYbg=L;lIӏ4C∢>H B:`m2:[#ʍ_'lVJp90YCK Fgj)844LJEp:njmA*EB v $pUJ0Z66;ɀBe7#Msr:m6`@rZ v (^|"Y`O# ŚmiYF2+ւ2J4T'5 YNµ QraY^dI}@bƳx gqOq&?V7 YVk0 Wa0Rh|ԦO"EG̻ň/jd5rQNqɲa%BH 4Z4-ˉRZ8zAxj ͕B0FՐEiکT3l-\.;?b=&~ϓ,j$-,Y J5ҚUNp2QmFbIZlέ<*@~1 h z:^9|[>m9Z&ar17rA/=^F}~):ֈddj"yr\PK*jԕ04 K?E`0a&$g[qwuxa\vj;')2*H$q(m*ɶKN8ךdQTr2NoľWa}kdIvl릐+tđjLApG,!KӤB|CF |T ܸ_Nr&YsBT$P)ES.N\I24Xf#b:74\ RbSqex\꼩Hqmx;bNT+#'+h#!_*^o{B:y65Mi!\Up&+m rFM~g_Po5p ecjGt0ktPKNIE>9tensorflow_federated/python/core/api/computation_types.py[[sʑ~ׯ`ؖSY(\QtJ)*䜀$J}27%ٍl73͗G6"wR/mVFyP\y]TV| Y%\Tutf}R)mEN$PEV*rqx_'P$[hk $T-*BޥlEZlL%y*ŭjF1_5b$0:%|[DҐn(!iZxdW 15d]JUuI ̒[QT"YU5 |[FPŲM* Tn*5oxh+ŋ qvB".Kד˳ xsQUPHwe ( );, .e*u6YI*ndrD)њ5*ڨ&i΢/^|KK0i),k| \H_l\mǏٖ*6b6[M[ WST@k3>6ln> (fF̃K=5"$/½n|՝P,1rZ4K-{<[8#pM25"n5mg(3T!8yd^bgI*74fDw$x6  ꊒbMB?L葸كb}zt 8I&o$B-AD$ˬg5뤁E$.\fA-%1%_% /r~GBSD22">8JyќZIrqZUEpiHT-A( %Nd}gۂ\+plE4l2lnl dBL7I&DR3Up7e y1ZEPTND"p.r)+xd WxT gyRj֗`QQ-XYH6QU7z6_VA専-bڅR 9dihĩDb8 5F_|H-Iʽjn:GWA\z[E Rk!:GPbLxyŠh#nGXjȟ(zr, *݊)PI)ϋ\xi6m0Psy+д_8wV\D$xyhБ:$+J\/@8j\ZZTGd ORdʨu̠n5D &LRӐ| cjKI5IŎei6- pQԁLiA-;^WLj6QݣlzR\~9~{qx8 $a«"KxfuҨJךޢ|$PHBICNn 37z5nJN+;?8tx<%MjpdSŚ\BA)[!tk\Q&-"5R$Sʀ YG#xI^Ba^0Dq gFo_>D*,<èIIבj3yU*ndմJCLH ї*v.Ac1^@gK`\=_n<Wf2Uu4<썞5il@YNx>љ؋i5Z;72jS)N$B`4I 0 @3G%T 5#(g'j 3hBj=!FA  ZfSnA"rDU}g 6ke+3Z#V6`, õ-z* ӧ=Ph}6#CP ydJnώq;˅^8_qN.3?k (m͡FCӎΔGDup!VRFiK;s=Dvnp+h=% fuN-{%s=#`7iнp[KEW~4/uҦlYtՁ*%&[`'WR#xr3>,bsL Sz3'i1x8:G ﭰ<~J1hbZe~(be2q=t١ȳ-udžzMU+ⷶn ?*[x^kTS^k1 W+XĪx7t91mmfb٥4 ̬ rsj.0#)v )lǬ(8[~O#ӊ" n$yw 3뾾0y]܈_0ҝ;)UfA8ӯ_ i<S>c<=d[sV.ƍ2`R֓^UqK]]6"1uN(X Zn=6)#'{ip+P?A|rýZ0;%wm3}{F;:ۓ!p+ZC>EY-^ЭJTqmŒlOܙXà Bz4Cԏghc`n_!ⱣnVnmӿv/Y̾= vPWR;\Kwo}8cB_Yn 0n`?B3Z}ȸ9PHr% 2(:׃6#o`ݻuJ/oiެV5MgwgmϬ(޶J2qkt1ow/ g#d6dZC K8oێF@O9K0qUdP8>7;o'^fIG#ŕ0]w*$ L7fv+Qj߻\z|2+R{˥GN{C;滞W)?Ùݎ5:t Uc$sð߇UvDZ{ZTRW>4(]lve#d(c9fR![>n/Q 4 V7ρ ; MlSM@$Mm)^}u0c4"u#EWӄ 9 ym{3vOWwLY>ȹ>\ͼC6d;cZv<& AurEKi~-UcF3!ӘnL2mX QZݻG.rm֭Mk ?"5in$6xy넨SM`k4xY.2otgK-S;(b( -d1Y [wB뵄U@ƕ!-3z'!=1tŏe}!^N۪B|~>/ ôw/V*^N(PdG? **RxOz%9Q mbo)s=+%8FNK#4ZhwOPKNk 4tensorflow_federated/python/core/api/computations.pyYmo7_A":/8\5pۢ,j+^-UkYrzKAbk3<}~mT:\&.\zzVo狨^x׉[ugƭSUW|(Fm5k\Et%KO&guzUPcZpRoTꂁ TmSiVQVnjnK6.xdn_ 75֯[=\td"z.4{[8?hde1Sۘ7u㬳+8TlZ9<^{m;JeCvŝhepKV]ߞ\^N`>t~Ix ~n~Uy7Q6i8i)@ġ2msNύG[G_@ p.mԑ?98T1:;;{gjk˘TeCOkJ%LFwKu_w<< AS*hSWpLE~ KQ:o e0~-NE Ѩ2c}?X6Vy8)AI. F:1p,Q rUG3CUѫ xKğl쁚G28[6L[Q$JI#LHa ']%9Y$ @`wm?rk#qxkTKWby.-1cj_bcJ=Y;PVY>$_ƺ.v?[q\q ޠ~ J#4!%3m)FjN*'J1*9; ӮΩƍ^*.Փ^|y7L^Ց Ȕ]DBZ ʼnb)6'9+PH S<`٩ vR4` p@ܜbsw٘f5c@yEDž P3}F>"28U+ 34Ad+)x,0a'dl$%GA+!Pp+BWbF^q4cu`1W}̩̉ƞЦ6_7q qu*h*pI1gPYtԵY:  (],;f׺]JXM|!Gm|WM BL2PĨ77E*[+Uĵ1n9E52I@'9u3rM* [&C vD~ DM??ޠR1M}jr M g.!g)9u6Ia?=DQb[BݍAHU'QD{ AҞ$@uI$Mr2(p]StK:Chm6u\5!3!\Y:Z R%?̤/v b zkp{/U| p Q,8kN72yx-a'$mTp :C{GF$Hp¾J?)|u\_RCK]v4lņY&dΑ|myOF*| rxIZoXEؚAn-51DCf_F r󶕋F e>X"Ii{e. 6Nɣ+āR`_wgBEk Ud }ƘVnFJNO^se ??铫nVY 葨ܾX!ĐSet7ey@`w:[KC,V (*M3~ JI v\98v`o[LO/<p 4CND4y[7L)kxzd6ٍL ħӛ,vX6Y2q ܨ96Y@2stLi=ςbD|s>ǻmx2kQvH&GC6ܻY86;*Fn쿥"-t;L5NWK7g\< 'Ȋ&ddL^ǣ@퇡f)#rFslC&oEߒ1n j]|#H#KnMiě4'A`K\ ,Q7FdܐnP-->'yKN&UҖ2lX ʧsWYNRV3ԡxʃ5!Ԟt}GCo}|[ӾDMЭ-`Nt:2ڶ։ه]a ?(')qHN2kWe:^cz!`Y=QC"z\Һ^*}i$2[uiW;4 %"Z72tensorflow_federated/python/core/api/intrinsics.py[YsF~篘r^$g/[QQV\%QqICk`Qc.BնΗF|13U])FQe2q+I&_[oO tQLϪ6.Wɗxazq5HVVQ "7bJTUKuUL͊B@  OKxsB60[5MufI$iz'ͫW/o/@cz,1Vy {} YB|5 rY+ѨΛ\Nыf#kR4u6k9``/Yv 2_n&_\\Ϯ.oŻWwqqSVzjю*C*Q`Y!S4_)\rR?Jܠ7 "_lɋ/~TT+MZ ]m= ^xgdQ뵸_M[{܆F`{}cYλ@>-S\Ү{YђV IHu٨42A7B$S`{-ǓGYZUBin |*֪^B!=#\zfH^ϗ7d/0#Ʃ,&d 0thBnUިmmGV5 RY b2,(eZkc@-@v-vdi^ɲ1vʪG tUN1<0 ;bs|x Q`SRd \e$=ZgaTȢ i 1M޴$qA(9I 6 c)i e }0O!07B=J>~H͙q9_JXZ&gRP^e$>iA*MEXٓ>VJg(D90gH SfN8EZ$l~BEko1ɆǬt[w j|s7}'ξw ^<0 @& BxWd(|"a\^>3YE@ Ɔ"c,NSkbaWiNs9ޞw$#O<8-0N:#.*e-V}`=Abo@1 &Q 0u UJml: *.$||U շč"Te/f U7࣢]26 f耡k c;jbѹg5CN ''[&/MD2[ĉZR1e @˴h<\(עFSE4$T?vHbMTp|Bꃴ.QvN"=OG@-#P„Z,bw@Q-p9֋6%v@y7{]R A%G)Ц;}Gzb`!ۻZlU;Sz D}RfVcA7T J1U|ŨH !>daeeEuHĮnÞݡnNȻl\q@)u9 @0-"=0HFӫGed-2e/Z@ΣZ+21˸%v6@K\QoUvr>y б5ʇr{([_cyH,! G7SDe>DFHeePLsPf>.AF$k n._]}4دm^>2aEkW Co/9? fcqqfdQ&vr(Csl{wP\ XbcEYJ.T6 P:ܿf^347 N/AU@fngIpn:I}QMJ z;s)kZ( K>+Vq7P휄Ƈ+1,®x\t>,dub'.XUuƠ/q;f3ۡI7{ aEDI?Ѹ{tu#Te^c^')eNQF\7\G`l7|[֋PYXsrđJoW.ӷ2*>w{v]osz* 溊+ÛD`)/NG"~GGF9Srq'*qeć rdp74 yҵ~a<ݞUq3뱁8 嬚ƫ2yw)aI[hWA^̸b0-JbLu~ub]{f'ܨm,Py^bTYlֈmD+wlXb-ej9'ˮGLpFr;铗)D~?w+\N(뺲JϨv8/`iEִyv ƽVB5s3a"6qOx2A]wkh?r~M3&5j}Tczxlp#8#Ppdb\sq oGS114"kZiK_퓼:<1PH'kb,uv%# d׎Lm$}_~ ?t펩}lݙ}LAm+6[.G{-V1I(wvkq+3sCו?QQ>:[lM3bkJ IBcoeA`߲sQN458ׇؓsX$>Ut!D8H8 vMG5PSW )҅Τ92ܱ澹=S +qWO1]'>d~>n #sƖz$x_7ZY*U?7a=vŽP3$U7TcgUqйgD> vU?T}cսCw0ӍskNtDt` ==Lv7 )>4G1 RSD!Nr} OkQB;bp.9fcَSoضE|gʱ3ArfPJ̳C MIk&Z.%}^>z[$C0jv×I֎ĉq%#r~ڧキ G!Z/tK;հec4PKN"%(WC2tensorflow_federated/python/core/api/placements.py}SMo0 WeR.C|`Ƃ=M;dIhv+XKM ]ؓ́˷)7nL+ S+Z˒1|iqRbEɿ12t^ | | 'A+N A)Z*|.H iBPf$a4R= F [>կq h<|"{7}Aml\3Sgr-Ysztq˂JgJ`!$u3ojCf''q"~ `IAMgٔ9>dK6y`vHt N7) {eٺE#V ڜye} Bc4]+}gy(J4TM&R3l+:Y>l%ٸ*C|ލ1SEQL EQw9,Џq(8?U(Z.Cɱ ;PeĥqO_.MJcؤJQ y`TMȎ)? giOBSrgl ?L2Z4Lg\% W+[Kc_PKNx;Wfg4tensorflow_federated/python/core/api/typed_object.pySn0 +u!MX'WiG#i]?JICoE)_T Kt m+=S9*=B++H:...Nh8E%~uR+/aSj4 PsA-[|)H>V U"͉eBH0Z0~AAp|6>Amm3kH7KuĊCͽj9b2[у #VTunZ[K(%n,ͦ79<$me-,64O7k Y?t};Yq|1g+? Z9eɾTӉh ߦcy IPc*F-RǃرAQZ]!vkW+(A,jPucEiKZ}b5tѡo@؆*!c5=d⇌@PfdLk4KaAZ[oG*D <=]שlSekO? nF0>Mޓ|CLATk1k6>y[r \ OCK &4`2y8}qJwwtx3]Gp<- F_O p ?N9&O%kt3eZ0-슝A8TlzˁRJAI׻Bq]$]2˹!-RRNe>XV4MhfuAm fsf^i~ &"ICv^?t,B1+ݑ f1jKoæ|f_9 tLJ7go.iBδ%䥼|SGHEq9Mx*gCNQ(yO&8>]&DPy`35WY2ʲKtns1e*ԦK#hƈH[Sn@2aY<1֜ }>}-1eP|h;ZbG*Bgii;[0^iI@#4Ơ#eQI2hL՜}m|`w)|dw-luH?M_Ko xF(dkN>Ezw+4IoK 9Vs.R,١粈i'껡Ԇ Q8)dlnq~uF?a39Gh:p"* !@++l9FV ԏJzi K6/4"Xv _G7`MF~xp>d_)9qhw_O9;َ[`X[sL*#M/z8M*r \LܢdPKN^V7 .tensorflow_federated/python/core/api/values.pyVMs6W8q2ɸӃꏩc)$BJBC,Zֿ[贾4X$o[kH+jak;6Ї2ZlluwWT&->q>WD ޶ѤQ%t+}a5!Op-S26PZLRrH*2%^mܦ AUPVoƑ p ls6ug0|65{OnCJZ:RX Vl2v1P*ӫ6RK:i:?'<⏇ :yz9=tG7s:Ɉ Ԣ#W"ڜM|å^yM6L jjzЫR*7J*ZFI[SK*k彼ŮVוNݴhqwGϪn@h\u\J:֡W֐m o7XK۩y2q[5L{t d2bl8og(2NB{ge,9m%AуqY_IO4^6ȏJPV*VEB%F2~@Z%{}}OxdxT!nm:-!l's.IݨJJֵ98L)@ztt^8ʶ H<]vڿ\ 0d(C UVjX?rd (}#TAn ,$6AOMx\]W%a*)XA&liV9 -1*Ӏ(17VUnK2$pAƋ> 1>c8x 9Φx6 z@mb)NT;;B쌶S QB&'<{u@ tʍ{Mň"x-^K :aJ9E?xKJ Ins ;(޻2Jh>GĝgCwe.H'4~ԡDJC W*"FѕPƣ_UǘC&DאȂ_ABrp| ۠{u;a*f w hd1}cgl]#$VK4\<š)(4Ύ7SRQYRr?@%KA:0Shhj]1o;Fe"Ɛ7<\ix{;NA&]^g0\,- ~Nl5;=oki4S A·FЩ6o62p 8 Gd,oΘ'%k6[$..å&A5-E4l/M(q[Rf؍K4'PSkUGXC-{ UnJw7DF oQ50MOw(:`$$9!kysǴ$TI'6|:Kt%f4v`?W3ҍmo稫v_M}vjD᰷,TCP77zUD.ba"3\ר "S+??{w~5 fÉjtlgőmᐄ涊{r;Dzvl7AoT_/RS//r$ԞbLGj%lYNGg:^<պe|<{BҤy~q0LGC~^j30WxѱhxlU PKN;~Y1tensorflow_federated/python/core/impl/__init__.pyeAo@#|i%R'*+CdaP¿@\)Qvo޲ wF9[iu,p{ 3AI&X[ɣP i->ċvRF ڔ:tVV|`k6w _a=\pc@j"'*{q|D1jaOF;5u2Y%0 1δmҽ(C֛|PtxݳYO#S O&v< v62'u9S/oCh^h J ȊEV1+JxL4/M}Vf\w[H'+ Jg'~)G 7} *nҹLcK?䍎Aju‚27TGG_z^(lsEk<^hWre1qUgW:Kz*iҵz.U=} V>j]7SǴP/f|j ܕ{MTQ6j_"&Sޮ]B.ϒba4Q.Z'~mv*ihs4O.ܲ~7߽ ̘ӺVU}VZw*V'7TrY]SoɊ˩MsT)@YguSe}aKvB}z+}ޝOw}T~To>ݻw_oR*\0$3cF}LSo'TUVr\겼Nvij(y͚OZߗv*xSaǰkeahʭ7f_9~uwWuvᔻUpbCF:l (2N4tx6xxZ5|#gjʦ]?0 [c @VYg,R8Y '8 c0,_UϗyPh+֦گBe?X{;v>mZy(!OW͜( oh"٦$F~)U$X/X$:§xXs#9 &=xjMM)ۥ,!1 z5q^0tŚlO3$<ۯjtʀKp|GmUZ  Z[V.p93蝽Y`~ ZFȴm,`[LFh܀B9 FD<m.MYqh +؂Yd~ ջ`S5-*S<-.C.ڝ5 m=Hﱇ.~.?CLZg5 icrq03̎1Q2PQ>SUud'qOX۸ewҳQGh Qv8'_L.+@%5.E*Pp\<G@uzʟ%}@Nx{kvh~drjU(_@_+qh(ٙ+ H;M@Gc#A/ZBvSeЀs?p!WK`7fM?=ޚOQ&=bw?@xpzFXzVǩJF;obeM(?qL"_C\A+g1t%CxN Ե*ꢧ`'T};:F%%ښt>R-v3h@M-#`K=XRTzݱ!=qHLo`s-4Y#>iB&( 8p-Ph_P+VW+h Unr1!z͒EhG$=þps'DSh׃Ԁ(nMGIuhG.L$,nHCq>@p@'zGM |ÄZ7( ;;1΁‹~L >.hC⇯vN׻ϐ3s~]<"X߈/‡>p*h,k@JbqWUωXݤmQ" t7I`(^8yBS ,@{m'e 6S{͡)mD1+xDZh)NL|V7ã)%2C qȽr'dmO!|t܏,*$K8|G]D\gIG`6[|q<6YUnBfPi %(iTڐo1@]8"SK;HwFj}|AVfdM*8IZDHa\c~zcRHP`bV1k_l2QP%wBEEt[ ̥9Qm39p3)+ILgEdy/cs88hoȆGHI"qGrS=&#|%psrKL4e NWt.Љx,doo +ƙ&M"z,:#f To#11J"%Y;;>HLr^U^gi K\&^IbNrLUƻ D-tw(U6(M|eRl!OΥ -0(m b5)A.w3v:mYV(|jٹC3eqJ.Pڷ%+t5?Gy?vDS!N;<[^@;0ko|t,V^ =sw}OI+["=h["NBi," fʅs!`)(K#&,(C2Alf>,Q%ahe+l̸F(v#JfbHo} 99>h&cTD"`?6.2wX^o4-(fIA>OtUNђwS Ƙ[YTi[{3 )`ܰw8'3_D8Z@c%4 tpkY<*fPu3tj6ȥS9GQ>onbG/,f/Z>od^dK"(ѶNLIAQѱY=&\=`Qwbl^$D Aa}=e= $m((mmw ;<룬v]_,mdy:y 4XtL/1E%T'8JL#=Npiư8TH =GU*ЁwyHHM mot-17݌8$b]Uȅ]Z]ah:d0B֎&%ѝ)tJ:PK9-tN Zuö>/;E+2ڔW ;9a%,o6٭ B̿TM:[5 0*)T\Lr%XVnG7Y_2uZ6ON&'|匝҅ Í*BK u){ Pon\p| eS^渪%9bjo^tc9'ݙBt4`ī\9%;Zdiav)C['PΐE38=QRLפ}̛5G`N7}Jx@%He| 9ƇZS@җ30}'=lGYNJeEH *ҕ?G-\r6ڙY6$ݥ,kցqNs̝PeGzdy ȕSiTp,;13F4)G B=$):qJ(#%Ө`Ks \U(Po 4wkhflrYRQCN]#mMJHaBF^Hq5QVXCk|݀f 9x1I=u%1C`67:;6)LwCB ِeE]mo_ 8sëzaOjJ쨒≇d~`NM"ݣ¨;hK&A⟁ccTI CI2˫^<$UHG+SlKBy?D#L8M5@2̸ >.1"[H\C(ERF%PBDA &"eAˡ b#/F8cxaezqxW絓ۅ!r<d>RL1*ABjL %k%ĺՅz( RBL%Eޥh7K `BxuCKG]~D?tUIFnpj~ !4/%CjhRF?z8M{M26kTC1K' -*AȨ#סNBoЙk 'fk#_r%M$u%ΝZDszkИZzDvO^y[‡C7EO)'B;D鱐{ž1޿bduKh:M?uBrqihÌ!g:aV9.q4?š{:tUb ;ګnz6gczUlgv1unI'^:8keI8 ZrG]s[x1r&qaLE[O\O2 #"ܻYR0e+G}P|| ű`)ZdLW]LkrmQ/Ό?vSR.h# hs8Ft E$~h-sБbH߉FѯKUA3GLygk]tTߞSQDDsЋ8]؀%3 d lVT'/^EvWpdk0d Y;P}U+t/AxkPduрJߴK!e%FU(0樾Q|RVFlOkG#0#4V(xf< x_Y8^t&3ask8M:-5s HZcUZ>Gm3+`y>Uu33ѫ%~ |s|"Xp1ĝ6/dž@P'$S<3]o5A5%r+4ha`uFђ{M(&H:Ô"x!b?!{hČh+%@af%twg:w ôVRC8~K>8^/ kfK8Of.qT<}~B$9 ]H{F& f0x}#.68d᡹6T@ԧ3uf8;Mީ4fր4A|˘ ?769mZMSnXNf^M%T?E T҈M]-v̩B\eCox2Ug>m:8xT1 ׯˡpbXb.޴K5N){P!z+)W]KLֽqn_E VMT#L"4Z 58:PF&6(htYƎ : q\qc[Ю8Ʈ)e Y@~LjxZ/}Za҃nRxt#/("1Q07< G& qA 䛤zQ\i[@]KV/H[ߜ|?D:qJXz`)ວ~m~烎1 >k5eO$4#G^\N䳷_en>m|8`H/l lp1j^ؗo-,~!PBPH}._)8b `ǿswODL7^F<[ܧc<,~g3^]ϭM=fhPP^YǟB:.KͼAԽTNyzzy9*kN8zI 8;tR:3M;M>H `r:ąeqc ;g^G0$$ k y. 4Y}_HRw'n=Nwl;qV8+YfHV#Μ o n~Z^9;agF螫ϯ>No)JyMP Ub :wY$~^Dt9U=W=׺Ԥ;BkN͊Ri]d@ )(^:uߨpZ^.Yc Ȩ"a2WR 1TOtWe.Oك ?LJue"B.1+Yxf`9i#0惣I0^Uْ8QR=k\#->ŀ7٭y J,u̵EԾ^bY*PF9U8*)z9Ǒ2uM€dNe8LHLf3|㾔O̗b+t|}(CK%<6NǢ)ǮEYM|i:RB*C;w\&H^8&s QJz1!fG]qrI**'VQ-h.U$IN6]~H ٤Ku2~./ըNmyIQxjăWɻC4!6@(%^p!8}rIMրk&4.$)5n0fjѺk.Ʉ͍GZh̶Vږ75XJР9}Z[?ьZp;w[?FZ)h'Če|&Q1.תwB]DrG%±iį56,i3-ys\MᓷTw^j~l\[pßR>.F#Qy'J} è'|/nrꨱT{\haEIDmه}/>o^7~6yE'O"!ӊ`Xbatiܕ&[F}ޱ:zlWֺ^^nYrdijuڴ XYNa} y0=҄ ujK,c"9]5d<R N)hǺvCnBgݏ $ b&]ڮ.p-0,)ssүIZA^> BNIB(Բ_b)ׯWc̸{I/V$wtɨҭw+j >OLq/"n=-N(7#wjD ۥkwE;m[&w){N!Oō_ ]0LM7)ѩdtLdB0|= _8;E6L>( 6aܬNOϨdžP;R7H6o7De;ԒzAIA\\녾\Vy#gwKxJe;E"[JSb"jya1tMc-CrV5\҇9p䨋qטs#0kֈlQ|[ -=|T!AۮJ|pwpo}CGrӊHnUID Ea7Utgdk+O$t-('豪MB(ew]JC2%w%khʨ]?´%vxٵfҧ\Ay-(H Pڦ7G|ߧ7bOa8ͤPȶ2WWBB?J jjZ+RroJ1jx;Ţ˥56KюO2 x루44-;6h JKfzT`s69C~ت~gIPi!Atx2&m pw XQnSF 2F!/TUiVx\4N>:ިPdڪu֔IZkR-:ìvT3,$if!s(KHlIXZ!ncq 602Eyg Tkxdy.?"PM^u~RW!/9e[fagB{!C|t,=;Tߣg$04y_vүKv 79F}c7 dS"<˄i?9p`Y^ҸA a_31{跺8Hnk8 [)-HC[~(x kBgb|)s(:Ӡ!o4p;Nߝ_5) oeRвFB0"B^:O+=gT태_L|Z a-O q`P&]stfkn[JJqf{e;kSy&3mقd;>Z47rp%/wf/wU9]}_l0|(b. ˆfQ1CpKĔ"{B# 89-&WfxB *Qgt}5gU},JO%du$zI6 6x:}3_wkq`n`p=x$%OPZ?2ͺȅOD*+\`֢fӃm Ary< kϋ$aVz/*>iIރ5PKN %Dtensorflow_federated/python/core/impl/computation_building_blocks.py]oɑοZ0"Z?p9v`i43<$q W~΃^Fl3]]]]]c&kU3ExQeٳk)d^문e"˨8oIYM;isQC]T]UZ,|&&#Q'/"/jTHX.Z.K<6EP$U{"a0"nâ<雋^zSLV(忛"Cq6V6gu ߖi曩u}$iU骩=ii` (/#htq~?եx^xŻkq.޾ nݮD(ڥv2Ni 7MbS2ም,iY{ PmZG5}T8zы,@ =B(qiTS'p &rFY3ۆ@l4ZV,nJXtyUHn7)?|W€O9 XsUz8ia,z晦 r[ա8Chqe~ \./=L?BXҾ $Y(Vq}bk_f fJE"קveQ, BКJx(NF#4+ WE.S!T).o Hv0 oC&QڭwH4 Nwy:F 麇pL QF)+UYdJ5Ks L|C4Q= 3ʹW:duxW G‘M%`~ȊUO4`Э(*12A4smє^~=?@A(3F9)V0-/0R:g'uCU;L`g@ .Aۥ3؂@O#;6s)zN [0v/ n<5YDGTD _^,#Y{Dy*NyŷNҝRpJ9nc$vQY1S v3!<5G@#RT n$0r7ZMAJس"bcmzh+o-W[V,/Z.[XTSi=BE*(X EZ"мŸY5ڃW0^{%f]eL78 ;ą妚Uyi&|CH(f46O M$f 1! E"GI裗"{yE} YYۜRssD-%x}e]I{Yߣ6uz(r k)1lj ,=\ ی tsH ް K25޴UF'X=c` {-]yK _,<I%3K(ӳRvRPڐ}3JXvIǢvb[蒰 })F{&عY] |ft-mK^Elne-xLZJB Pӡ[Xe{5 4jQ&BZ5Bier]h0EPvPfg;"o1Td $ O;pcq=~?O$r^gѺFS`bG &)# |,}YH<~*ryϞ~vA@`v\(8:% !#r-K " A!.H?M 2KQX`-ghJ""6aBTF% ]0`biG9@ b 7B!ʎn*N e 1)b#$T p} , ǽeP\QK8^e* lUt-U 4!rЬW إ*0J"0cT!p֗DR'uQ,QK(^ EvSeߝ8܉'ߋ.e)9&-l.tyՁbeT9=Fz^wwW:5rTFPGqK)ARC +ۉ~As؈GARliti8LtTPJyf3?؈~ iR "^+0nVPc/ހe-ӘjQ rЯ \Z܌WfD۟~1w0O - ߝ  RYEZ l$=bNC0x*F3-܀n8_}J#@͊8e2hbMI1 uB|!*wӬtN[89!4džqaH0VBl5[ (iVO`C,r|JMz)5w{k~A4QjՌ"Zy/` zMӞ &]+݁//[BMs%-l PL[IgPFڝO kkd qDzh0鑥 16ƖĬP0ZZE|ǃ?(oZ9Zڑ1OiӗD6T ʊŦ]Z_ IRYMhF窵R+lj[enR RhR4pMQxdբMN _Z)맞Yagd>-McM>WWu-5vttVbֶ$F]YҎZ* ͍^*'ZD<CN n!C"qmż=|;C2sI+]fx0WNkeHXebI+j*ͺ%ǩY>8oa(MS'9ashӓZΣduJ]L[L;\M mZdnWclB os:N=Stx>!4Öe \Saڶ[HGb9H_i;}"N6]% Ӓ7fʩTⅹs#Α J'SPDgrv-G\4Y-y`9H >S+o!5\+("!Mg$Z9?e%Z]Τx/2KaOIG0p'X:y޻T4ϻb|M}t!42 oDYUaj)/ԪQe xq/gwHqWV2#$kg׊ZiiwR|mTg7lc?$㺎򸺦eGDՍ)~`L uEXG7Й?e;Wy@̋UҊm,UA *Ak3?/)*MOZW yNd#8}S?笓*Pqtv#d2cٔO }ox:#1O?*p5CFʕ1vCGӖ)>Pk:~'+[4yoYLN;٣:lapcaN/iVcX`76zb0Y.̚8 >^DYvR}[0 V^@NIY}t”;q zqѩ @aN_}26bsY_ɸ da;Ӭ5wCO~cf})SL'P8a/fy`i]2yY=# B_y]TB=Deˍ:ѷK u4> g1:qA7DLrӉXWn"xVzcl>V*m7˫XZLLs0H2֩aEhl[+7-BbϾ ~:oAd޲{ZCuZ۟NG88A rΈγֿH΁:C-TĪVF1ٝa9(Il?W|' `@vMDP`  <(=+l;Uag4Vt(\5  ~Sm" ]]m+\0l5U{Qt~^' Sk.uY)I:AHMmާk7j\ о}Y sWL_6}f" kl 1`~$I>ng3U T,XhT6m8Rɓ(b<La}ƕEYjtt7#?/ cйoc ~&` 2PBxr;j g$63FIUPy"]W݄A :/AB Bq-ݺp @hoDi4 ]S`:KcUwH1v;?C ɉE߮ pnפ/GsUV|f|U9_8u4l8La1&.s򎢩a_Ƒx}[ub St3cJZ~$|L1Ÿ`.4xj֏MZ;ªhTP7 nzC7իT׉OHcZϞNҿֶAT.W`Z78GΝ-b|`U-8;IҲ5FLEVsDs`(;@ %Zj'73 EZyXć#E(|.SW.BW"KG'.7d A; .X,:bOWCIC?σi ]K rQg2"*m_=n.6+ݏ/BqQ E%x#jLpn?p+!8T*컝NYV? QСۆ7EI@*etA fTVi!W~xIog 8ۼ6e1^l>^ AМ9̴-j2lzW-=RJQ>gHڷo?WC8:crlQ1\Z&W, {n:buSw{_BW _ާԥĽK=m/`e90M}dAPcrݝ-j][+ $iӵ^sm ~UeO]t!<$:".mi ;_ann4XŹaA60kw쬍RneT?BH]؅i Ru0{miD@Gp:؂3b# D'I "0Wq3f"it7F(S:q pR:½`gYh~< j_RA-oM*O_'ӲE{`==k!^wh jap}K҉L79/|;ՃbbDl~S}d{7_SQUhy/KAg&շQ'iL}nZ+w_F*NBw2',j(S:nnZ<1TGHL+g) 47U%zhiy[@M|[~lJ3ӥk*:+/?eSܪ<=۹ZD_κ@K+Qf`r{l;TlŅY(]Qib%ad5uk^˻(V[˫ԅ\U_ovTxY^0 -M/ssYb69K_ć_<FI&&({@_=,[<{~N/~!ϵ9ǽWt@/OQsSM*YJXES==^Yd+W<^zW/\z{u[\uev"\-=09t#[vw::y'To27BjULq\:*b޾K::W?O8jms'p3UoX+mup)x6Xy ط"~=[BNFfO+)ざIh$K$n '|h}g监fDSRw`f)_7)Ž]}ձ \86Z,nlefwZK<gq4}3a2PKN}#Gtensorflow_federated/python/core/impl/computation_constructing_utils.py=rF9c)OYVQjגHI$$/s0RX#_0ʄu6/"N: L8_O\qDiǷU0? xMh:;*"FKO<}a >>~J,L@@w`0x~4 mͨ ?H0m_·3B>,[۞OdŜLx}vrz~q9`LmG ME p-% 4ܿq"i,Fo0 'xIPa%p娥ЃA/H|v|!.>_]xg|Rݻ˳ 8ysٛsJ uv't- v9&1#.Q8 G0h򧁘7Ap2Hazc2agKiP>&~E!]7]1p?ǣ1FYH{{$^~VI#8FUÛqzL`Uۓ?'0xES0 [RaMZF i OE6C1?'j}IŽ M,uiIZáFɏhWi?[dlcgk`Y04HBZeIG1ogA$8`g1Xk (HlQBCqI x(Q)rD60P⡙b'`dFa(F3?G^iI * /&Ȕ#'SAַ&4yB`ڧA'3 $Dz7Zw^I;JZKr>4 kMQbPt;c$;_v{q\&+95w5sԮK1! ^Z7vslͲVȟ+,K"6Ԓl#h~œZ;na~2Z"<q`̱{|'uOQ81 CBt0(r 0 $Ixvd _)!_5ԧ睫kObGp\JJq :T<{8RJ@xOMtr-%Zrسߑ׎zT2ߣWؑÎ-__8nמ%,E+Hd=abgK#eƭ3h([jHuz8园;g$-\28N ]d\ǖ}ߣ7w)e z!Ö>K ː,8RrJZ`,-W)xb߀K;+FWwhӂDqePO[Y,0j`z k.N1"~NSB}ke!j4X7v*T~U QD L -ȈEUPC)FOcG<'yA@nS0.$B^`$䴉hJH!:CVK`2$ʳ^ 1D)ona9/)qf~|B %pD 0o8&.) ڜh."dJAl4\c%\+lA66M9 $n$Y ~7 E;MR ) 쭠8KUQSM^zSVԜK&rtW-30-`XU} 4=쎨ldf[V(iT EY8keqi@m j8Yjimh1S[)Ɗl+]@7AMh`rM~p(vB+0PfQ>eC#qX %2#[%UF FtS2CD)_D$DJ*gj:60bt? gvSy#`ߊB,s 3Lmg` `?+[*D*a˺%0_ȼ\bIf Tٹ2=cܩ&XcbV9pDWJj+?FnHU (pJBє 5i+)hքGC)Xne+kEzzTF SLy v~X7uZ1޴F?b;#h\6gK5Vb$'+h0=ub#}bY<*Gߩzn`m_09sV}miesU2qy#γ̿"] \K{uTZ9WLa>hVP!o?∊ihƆ ȷ>+/1.o:Ca$`'649Zr*vik `ǜD$"ja (%g &GG%8gQSwaQccՊߪSYV@6ʌVsB%~K22 :Dە {X; -d#B!I hMcpy+6HjSK(sI\6DZlRP5z1;Jgjl+Q& c&Wʮ{R-FTʲs 8xRbG\m]yyvSs:=Y; ] WI*Ķq6~h c ?Lx^uF`.S#d,Uj/df>vۺOVmev+0)hYP=]s] UвFF@c *۳eL$ǸlMerdփ6:BIWˇĠ(Ww;^M]2L=-M2J,53Vȫ7e%0Y>Vr S>뇣s8 j:Q=辈J(aN CnڇQKpMʀE,m#E,'Jԑ4dRG GEcVj+!û^+(;dd_H8{3WQ tݜSȐM0*lCt9C,1pgbm1 ˳N`3"wA$njx}ɔ6"A_8!H,]0 ?|t癮KOP?YVE^Cc$45%mЭ0 П۽yw_eIU&iwL6Yk1к—SeZ؟%JWZ!Chvֶ:b Aoϩ]NI Bgnah+9ɂmfLZ}*h鷧/Oݻ* tS3RT]744̱V?O"$i$ڱn+/9SsSʚD?fd;:DU -̢c?@i0kx&L7R!/>CdƃqR\z"~ʟ,:7{r|qY]r1|M+I=ymxwx`zk(: Sm<1jMipk6O[JW\Nv)_2DRE1N"4p#8n &1X,^K#:.f. AԿ7Ws+WR?x8D>e$O8SUax^jٜ~OF4i Sum'jdin7-FāuLPؖ`daۭSDm6R?\t1|JuR(,Itia. nekk.Hd5M4TIAZ~6an==dWnLR3lm"3s 18Q.5^60Or}z?3~e\$iYXc;. Kaj</?'${F5=ߏ_E)]TR ??_}Qi-FAF+W5WU/faRZK2kroKMv yga-Uc# ?8ZwCtiSR1 o<[{o6\,ۭ*rwPmL_]04#?hΰw%*鋠?N5nA4??*vr\Hx$^Tf=z:N/4xy93y[mb&["֨NtD{w2#ؾ.Z2DS1'a;8r?M.c3^sb %&οu֭,H0,%r h 誯N`gԩԈ}f@<2dCUīWBOl rIt,^N)ca6#|mM՟ˏ;&>Vl8wmW%B|K- &;^1h>erÁ6[]*l¼WXU(2tYVg37{3mQ⍽QkI(CZ??ԃ뗯$Idf /נcXzx?nc7M?KYqr1af@˛ /'{L(HkFTHz!iӖZ ݷDfp>Hm?Tƥ1с\`Ɍ,1'R$hn}Iw筑V8`xJZPHj3iab{t5.e"lF~"F|1`3e1{_n 7uL[ U!$ig~ؾ ŤtW͐jSINچ1[ lIq$um\]T܁nmՋ}a{;O{rK|v ]a1tb>HvO/ݴ&,ɶBLrr?+`m>/s[%$6:4(_Mk;)6j(2Y&]sBLV!H$T{P;U4L\0W(tnʿR2nS7d1C?a}Gv"ỳ7J@]iW[hBCj!уWFY4+-[:G+Zڐ-:0IO/ ڑO/F&hVqek58iRNLwڇTK]Qlg<^Ys* jcN"}s2Pߜ#&0n}P9fñ.#}ϗ wӆ$GRyk#='z||@#v|Lcq'OK-j B<9}.9q Z68AK8`<VJu(jsZ\KIxc_ܩ y==eŻXLW!WXPL9DiFUYW9vf@ ^X{/dT;a'{ k3(uva$ªѹ=A^pEv'džQ}f:"+4a*g2 TiB%RLW!S7󁸺F qAțȄ;95X<_aW2$&0W"WTiଈ'πkjsg<*Zueٛ%V7^=ĠlW:)fWu^#4 sFbD-qrm?j9E@;ȸ*, ^&66_Ωپ>[$NuL1_>ٕVKP eę,zS.4&$FoEm+~|V1\"Oąty&pE 80oXGm&=, ]M8Pk,`: Ds>RmRE 1'X n ДMtF&5 1[ hPy;[[MGL5n6S$.dBt~} [[ N6üs3D}%^~/gL186L +@dmXc5IBQ'Pb) |%K"T+ c|B@ݠU95V.gq}Z熂!+h(&o(K.QD8U,1WѸ$5k%-Gl'$y-"x(^"@Gd;jтS:$y|؉ . h&U%st}ew_aRy6{ȘNMEYJzyP*wp]餮-<9Tl"W\)+QdםcQ*qd/|R?_u.koC#N޻FOVun?y#dKtK*A Hf:JXw?O`R{BnhW'zZp7ǶRZ d a":A—.d4~4Bx*TGg[pV9 cUɺ:h_Y6d+ u|YRVLV 9tensorflow_federated/python/core/impl/computation_impl.pyWo6~_qujҵ/3V8E(0@MU wGJe;^<$yǻ|aPnJ{gp˭˕y ͍ p"cy})jU>8r"?Dc.ClЯ_a+X-Ae \*|Jt HTR)FS VC d_Wkyg\9>?l6l#m*XO1>_ ւ4td $BH 9̈́7F:Y,G`u6 d:#uУCPD>6O#:]~e_'wwbz=;]M}d ήF+ OaDRr1;rS˔U,+DXG4J4ki6-EɵtCE~,uk,GsCtUND#ry*q(ڐ|%+/eQ2KChH9vy$8oF;=o3a.*ʎQ }0H یގxVQܑ "nc'\.xSJ;Tz58tq<`ѓ"͹.fhӑ)TQi7rMIۻJ<<,mCoNVTy put_v׀Vvo s^ą̻m`B)uА`"dh\(W]:w&Y\d]z}s]oV8E&ǤkCJ8#*^;<,[yi++T#&ʰ(hѺSoR͹o]Ӂ\?9#±E304k8Jwy) /XJB)ݬdLcͣR1q6:Ȟbt2z6Rk 7Mje\?VK1-_8Nm{QO߼93U{ݜ>‚ eN]gkqrU˔m;Tʺn-=@g@!+4}]"FiݬzóBPVm82%B\mL)د 㮺7Zo5oeHa z (!&}ԡUB؃rԬÇv5W[A2-בsjcMNEo4NI-j>[g$}^UHz% H m+;3ǝ'O,޵Y d:l]_! 7rݷ} +)+P ee+q!iul{@B5(3?6Z z_KP5aXhx Y+VpEr';/{{ p<"UKXt-}X oŇyPz\ ./m9!>|F?}2xO~>C- &|-э0&NhEG Ys.tܵbThx% ;Qb LƵT^uDdfB&YPxk"@Auؔgw}ex/ИΨ:&TNV- ^;c Ƞ|0޷"銍]=hnt s>1+]hl1QV'!OzB]O>~p$ι< $<097i8t};0 \iZ旘9=5m dYf9Ŧ#HP10+rŦx %f3xk'R/ }ꏯݛ:$q6VBJq˸_ TM{o$n1uzdAanxPiѱ0ӶIwCy3U$0tabtT`UNzG9DC -3C'Gҩe'6LS '5,5ޙpg|*8>]UdMq6ٜ1C pI-4q6R؟7]UB(iwo 'jK̘c m%,5 Έ@5TcNSՔ6RDZ#4ג9Feʲ)~bERdȻTvhlkA7nל0QR{ 0*c, b0.^,P4"an\WXS `zط9'Jo߷aR ,[&mKL̃Br 6dg z$4A<4f!VDŽע.>j78l6@V\m G.ca$ !&>/~jp+5o38| K@7P|)'UdlݞK’æ%xC}cnYg ʂ,̦.h Bt:/KE@wnŅX@ҰBD{vAb *,wX9tfz5憭 SYHQx,s;}'G34<G>EN,?/ 4 AE`9 󣙁ڥӚVT$_7cJmڒBh=N%{o٫ 54*VNL؅qX!NX {ogX',+2&}:3+{:M#}jFdHW~%*M4>BjsLwF`',랛J5 u 8`幰aEޒܸ^mM#;>Xmڢ=2K=ֺ0.}$PCdN>׊͗$1O˹/#)^ʇS#!0A2r">vQ]vx lZҌeER+h_\Wߔpa,}(n2`!oRZe+c&6fZiP,|l8ei3)~uesƔ}ccAQkLIke (rVi1,ւ^;t -8kQ *%jxH`/Țr5Zr *>|'k:7 p `U9k8Zlj!'qEqqq,z F/tA/hRO ĽTK\N%= $#[~n%t kg\\@ ׊`ٷ FD3 ss?(3}q0 e4͌|*0qR&%sX 1#UaޓMQ_OCIX:A,vM")sPPF=LS&%< =f ˰H6-bH?f3|9'{[ ~JTrmn0AAIi?sy$ zU:eRsUiFyضNsQ%Pm.>ˎN:/N F%A ٷ2iz S{#tSmery<V@ 4dʟ,9 44>BN@+rYQYI6;*[|jɅ*x# T-ɜIr`XC{j$!c5tZZȔ_ !W1-қ8vAcLYcDZ2`㊷.)ŪO[ͦS4hpAl7(j ٸQј)qĴɵ6V5@+:9Bg\A8NѬZ hIz를<=m5mr Ĩ_zrA⯃(|>!'?&|Ym9;>;H1-X4RfOR eC>ΆfiLQāiDC>BED,g#buTKG(A)0RcNۋz6҄ \A9=qLFk! 5 8`7SG5' &t"gn1d( )c$3+,٢τ}u e5~c=hY `T\dN8?J>y !!"k1b < ðǏ#.7 Z W,s/X- sZ%_AxG9`'[o|[&z-U>KTSX.EWu6V|B*D˱1Ќ!ЫFq eT5x(첮:b Zˌ)K+ǁ\4_ u$'#YHxl :aIZڰXw1r+u>mtU1Q@GoB^R;![s=&dz9zzS&PKNuYFtensorflow_federated/python/core/impl/computation_wrapper_instances.pyW]o8}W\@b˪>/-ڊJjIn`gmk'BKjyž/swBZ+[T"[8}&(ҷZ-F9hNNdC}4xH?NBmp|3h[WBX|RY 0_B, Zd2DX ;)A|/!rdS\n=a[.ˀ{iZXӻh| 1>dƀƿs鬳|F4S'i*Gx2Q]r c嶡VE]7 ` q.O&8xx&Û1?z8ޏpt$5iǟH #FN1b@ B&P"s$ BQK:d¸hJ*rW^*hkd b$IBlrlbX\#cҔ3RR",}"U:۬2UEx$K̬1V̮Ds T5 ,iD"Y'I4I2(GH/Q0çc-XTnEz6UԂgt eLɣՊ0fJmˮ:ALهk@KΩO%FV/FJb@XVPuNׇ4OA;&;O"L=0kyԋOŖ̸a?P+4#>YԵnhG"#`#N 검'Xm"y4&pΔ@H}~(6M1`:%Cm9Jk`:yԭ}'YZ ",sfEf1j4"i= sO /ڗ ) 4h,9se3"/Vs\&}TOȨ/ҥFSbMqH-[jlfaH5ٵ+=j\jyum*S-Ap࠺(XLݟ#X¾ч}+8ztBi=72Ub|1xh޸S<Yu+]<-v(k0M$">T QL+no9[(UE5v׻Us+%/ `Q7v9[U4VyqwrYn]zWT{PKN /PH5tensorflow_federated/python/core/impl/context_base.pyWr6+vCNKǽDqfr rI! % )ډ=>ړrWԜ?O^еiNV{Oo^˜{59*-Z,.:|mkǢER<9iSӛ5MeE7t1'RNTOc@hG.!Ɠ)5USjULGaal 7W1Q!Ⲍ3"k>%;GnEj0Ku$cI1|뺘3?*@ɴVZ><$=TM{Z_л~/oeqwX7t{G׷vX}ߗsbpm?#gB=rr :)VL95l+e@)uwI%]ձUz-5Xi+H<ɎAP &ܚ6F1:9SM|nZZBn_TLtdDe٦bR97Ťd|M'SljvqgW"$qR SB1~|| 8T|2z܉讍v,ݔQ臃}hni <1:+zdZ攵VA(Ngh.ڙ,XڀFq Ȃ^󦡒\T . ST xUY*2fhA5 ,:#s0p8T_2_j2\E@UT葖T>{^T!q9'`PQ q*H]^( {iG^990ҥ8UǪ5b˖Qer:z!8o,hyQCwF3ر?2l-{;h..nPqjW(~f?*ㆱ135wtX\욶bTFΏYB`gEpAzKD+ $ߊt&WT1qшl0 L/xe"!9\m0 u9kL̷xt BҢс)Ѿ'^dUQG%Dp%#YD1B΍ƚ4I9Yٗb0DLg۹䀷kC:,#LHZ&n#[EI(Z3t>vXpK~p7*Hus},\w~+/xSkD[5{RZAL)*B&ryU9?R|S=]?ND%\pdה"Ӷ%gmBѫ#K#;;RJh;zƦ018Gx'F\t~:ڦr+[9~F8]+/8wJo*l.IkOH%$R4 e]HгTVצrOLheZr>5' e-BKD=> Q1LONjEw4ht+2IiOcj0dI**4R~ I^_ {3.m9xqxcgհsdVZZ$ Ft-eywVz6r,tʢWlK%}b_o/%ϳ2\˜_f2뉲+& exol2U m|@p)kY/iņi*CNp*diNzMh4zZ*vձEyVj)ܓzGUj0k N7fu[%dscVUIr^_H,NN$G*jcmsc?`M s.N"  qSm lh}j\a;nX1֜3WSձVa.81Wnc ̴!"!WjYKםPP/jՀ9&&bPg ǐVW"lc4H?f' 9J*Q|ut̙wQ]pM6,".y L?8rX6r,F9Z `)0Iw!m&va4qnIj8Jf?$ :0Q Bddv4S|9r}d2bL\׍=P2CX_^%7 Wl-={QSQ=݆Ao5GQxPKNX ;tensorflow_federated/python/core/impl/context_stack_impl.pyV]oF}"/ '}V*M(]V3k̸3}όlj mqNZ*GŽ:V?%'t덣~bô`e*xF8^ѸirkCZƕO'+9B/A״RQm.BLϹr$z[Ri'&NFz+]=.slۥ"MY=^Lf)Ϫdk_4uy QP.YiCbmgN{;#T!Y]0 /+iڽV IwP/7tޣ|_o>/n<[L'st1Ƴtv9$FR:m@@\2G^j]5ZgUlnZ[K) $J^wɅTl)/-j7(V(Y%)zY'0zKYVԮ6e> m0KKT+kޏw!; !ka%IG\1,VCDv؎h#m*n`m2w@q7?S.z³&d%J.!l)1y*gv$I₲x O.]cC(!o M4{fEFA?0wSN: "-u.ʀc;Vax˪YOH`D`rZYlQP&tYַ\!QxJd1h!LL};RqoyƴRfZqȱ8y߆^j0"Nجmۏhx'fݡmK0l㱽3u9O`=%Uy!jg&B%(FH"w m~eS:zpیlއJ ;ECAϳ.֮G=˯ј(wkJ=p5 Ǿ[q[HTGL{<;kI*V+oќ9sh\FK>*]tzE5oPKN)4tensorflow_federated/python/core/impl/dtype_utils.pyuSMo@K"Q&:ja H#.&U;3o޼`[!pw'%O~!;!d(2Fu wXBR[PV!o+)B #>Ac<wL j{Ak(J4^v $e w$$3::NhNxMVuF~Z. 6P^6.j/xy Z P&A?̆w ŜwF8!k\ K)3غӺʣo4/. SR~ievIYNajDY@w4+* I0JMBTdV4,MKJbiY8FM((ZtVz6 cQgu<t*Czy1, ;ye1H`lvLg-HXF%y'tg0<;i? g^.850FhqBӣjG;>~a:Qeɍ?PKN Ftensorflow_federated/python/core/impl/federated_computation_context.pyVo6_qpbc/C3V8@B˔LD"5cwGR.`~IBZ`(~nT"XxwK.w_s,_äFm(RZ9XTT,O83F( +0 ǿ#NPHe6!LK+ BBʪLn4kP+P|+:n1slcKˏ|1;OƀB l4 UDx2n戲jm/Z =t+bCs-"2[ui _&r6]ogWw0g8 J$)(|MA[p#)OT<H/,琫g%ץ0MֈRRXfΑS`8RY^r%)3#iQ1hZk2F~`AU Iն@7o6PMQ=yC^|ړ$U5\uX9za4zj/#A="T2{~^}ݡ'C޺#ڋ? GvFxAʎ)%oZ0GqGzgGPMdU[ѩhonX2ţ=gA_V8#ue 5/'YZjjؓdo.E78HTos#82H9\[} H3IRkN3@9m:2ҺzHE켫 |7~OVzԒtC$ ߾ZqbZwe^&.>K2BF=rj"7>LPKNV.Dtensorflow_federated/python/core/impl/federated_computation_utils.pyVn8+!60m7MPc=ɴL9DiRKRqܢ3HșǙ77:k=p7b+9 S\yxC 팽Rf Wb%,b]c z] mpԸWa4ޱ7'^;S†@!R (ug?%w"mWAwU $Y~ kRcSEH˾a¦rc?sz-K"0^XPڈ3ʸ}RuŇf"vF!\` B PxlTVx#2kJ&0 })*TXZy+_­PTk T>iH% ,fEtKCL¨7C:}AL";aϒҞ>9bͯ^wpt*N#Xar)]e-x61f,)UWR)X r +?Z_r%R\8Ԏs &3qG{#Cl9NIX7Ø Aw3g=t<X .>T[hgi*Zr AùwxvKkQ-)3\E,[n ٦7a zwu䀀caiF+!v{%‰su47YH_!Nc(kZņ*d77֢< k^I[e(ˍCh*ϸwIsq.W"WhW__x2}P6Ed{ ףK{jVtB=IAEVxAUM긲fD.5*CR|>y ېYfQ5zev{$=70 yY[%pQ"[ސ0馁US%;PQQ (tS)SYw,v1QTLm1 @AK-w!Vff9Vťfgpdz z &ta=d%eatiI"=94B~MԌt%KzLDoM;נ`p:ECŪ@_6n:1OyBz86H  \ If$o[1+X 5 ~ BR%a\Iƚ|YPl0WjYb,ڝnJUxĦ&0l1!Vc<̓j!6~fCp|VN"$z,i?fXum24Z]sF?Ih׾ѵv, '˪R]짬LFݢgZT< 1z'x(;JA40BDxk;gLֆo "(667B|$TY#}?Y*4l^,{{aN6e=DPi/450N9ޭfTD6*_Mi?!5{}nWK^Rb"ibciMT3,L;w!>pY_"h'Y>O6( @49鳣md#PF\b Uk̓L#vynSbdCĪ/7竝kE&M]! *)z-DWjӁb[<r$,kMPKۆ 0cNèb5Im|tfHJ#SA,1lG2?c眄1@؀<>qV'4} L…GFBFt Ʌrp&EydW Ѣ Ŧ'mW "@.#X>30Y&uxĭ1l1(· NRc;B/C>} 7$joJ:/>\GfQEak+?LP$ZX7B>o;˕yZ+Bc4ZjO$h:B6HhfFH*>A4ݒhi}NM'TgD#H B"CE4Rب7z#h D6J *\nuGA$gE`^E|V$({6mf1,aK;d%ڻ0KCҀ屛- cAsmi3KMS)@[8x228U?O}:kN,Z]`u%Aa:|xy q@n(e ';p톜s>?H6QX_'Kfd^KBbѵ@5BnH+t(EϞ2)jq(RYbf`Uqţc6f+#cE"S"İm`2c<G\X?@iy Ԃft{便&{/i[S+iL}cz+2WTXʊpYo ]/k٫C5~NHZXy cQ~ƱaWbB2۔2dV?4Ґ E !? xT00>LV"|Q8'f îXbL ipA.ྟ"oA$|9kr)(8:SxfX#Wh=(w; X)^¬]Ao͑-iuv X}RVlT?Wiѳ,<;|"CuH{؉˵Y_:*b/vW%wi˕ƋG83KD !Lg٘(y ­kfHDF w%1%@ar^ez{l&'^2P8(ϲ|1f|lm=ѐ=ȵʤ͈6x'ѡI/w Ag13a^D5vEɳp7#haV4:v.l#$X&^AB]BO:(=J'eL]Uܤ{9mt`v@Qě;qEvzm:':>Rv.dtW!9'D|ȕ~}gA,=xLTs 9pHJ3s585@$>νnH%q_ڽ#a/#Xc2osUuErC}r w̺E6-Vh(z_PU]aCYYO5wԆk4׾nˬ>|U$N;¥}SutH8+lLH !R2BoFA>C>NB F)F)8'>lۺ;I=|dλ)L5X2.uz֕s^HVxr0I@]e{_.AJKW#V%Ӡ>/ixz^ڧEU0AgXԞAk>ld(x f43<̊/̅JDϿkF>WX a\ҥ7n&++pDiV+6UdÍAr*&~#ms4u59 ܆1tO qi)A4Եd`w[zk®SY}N6> Aw; yVȅ?RR] ٜY,skX,sjfOwd3hM<+R3Hkܙ %1/y:)gv&ZKbŷ"ovѡ6;8'=$FeZN-֠Z<QYJN}XmnAK_G-{^{wKHX;JGA(]ܣSf7_㻩gOq||-$IVߩ? dưP믦6Q(  WD QpVZ13D=9ׯN>ʌl&?\̊J2~׃.I:՝iZcK~תN0ww)Ae2n0qCOd= [l,J{E6;zЂp ͉"NzZyYU*ꮚDA{7\szp䟯0J=T s81eMB2J$ cͺLJ)RN@&mxN;8 \nYT7-Yʅ=|C\Z7 WoקzF#|!mATV| & ҥb*(O7<, ;`^Ym z$xSefٔF CKoՠA|$r ˟N~ԸH6,2}cƃoueiA,]Nyjn0D:?!9y'N] y0|^P t ZLn]0~*-[jqDE%zlfL\<M{߭wCW{q(< [~#|6u;Z*@O$i&!0x#;ӨF`7j .n\dNGPr 3)qVCYf!up#6_L'9wcUL(fmJ~r$7/G`ңGXO#\= g&\m(9|ܾ~ s I{$ \"yr9x i^I#aI,*ǷSSp$Kqú߂U Wzm̈b^rRƒ>h8-pvm5D;إF]|VxЮ{M)jG'Gg +`d]HĿGbHRFCxN,'=鎘[P?15=gᅟ{K!Sf$˜x]ЙRR[ IQd[It/}W`z/FhlQVv%@$wY@wcDW;z,:4LW:{02iu CBH4&3"޺`i,J 'I10Xֆ;8I`Ez*@7>hLlc -ý[Vq>)%4[pCk2A@S;@N=|ǀҭb[[GYUG}#Y?Ꜿ3pQoؑ@"H[FL5jԕ9:j%6 cGa` [9ZmǯD)9-k^TS{I$=s/CL8(x<ڠlR9.(mO|oF7ʂ}zpTAB}QÝOzг}vV׹ggaU+Vx4LD1\χcyH˗a?XPKN)H/4tensorflow_federated/python/core/impl/graph_utils.py}ksƕw G(WU3so23eq  0(vy Ii&kgNw>}ShLR)WGOz[7yWcs~Ͳ3o4&K^SxO7|oxtflUu^O'?m1dk1:ym23<[7&/̼\yR3s774i I__ 944ai_MX~wgeVצ+X$k2rI&ߘ @4MZeIU iW^p?dMI$fKCG 5`/!p"oa-4;c@S | G|Z_L$ޕ%e0G|a=Co2Z@ģ/7Q8i :A Dq4YȾ&hO"͖H<}K){wj362 FJ1oU;'x,&暰` &1`9tM5"PHsL3y?Uu"O@rf|xPUМ[[x1rΒ,KfK@aʚ`Im Z?fK\<<šϱ׆ccfį uCD.d㍈arED:Hx ĜWq5ǝIӺAZsT[ҁ FYc?`)'Mr &M-~vr1yLG ,ٰ %4p@M yϢM̛ cIG NwoZ#бBjM >Y@10^&q ^ͫ vLN0<I;Ey`̈8j D:wS6F)Z*<1 AN"NY+Ky8̉?rC&ΘIyIO#S7C6@#]x4g Q ym*k;6͐d:c_vL@xR<)$8&?y1(hh|P^⬊ˑS :`$K.V չ`vѡ"8F83 u/ 47fsV Z}S.؈/Qta6Y^0yP&Y|sJg3X& 2x!S֥9!@]K0j$cSU0]~!PZfhmz4|,bgXofCpe_FŪs?$Ǐ;4o1TUӏ,~``r+1ch˗AOd,]"̼?/'$ 1< NÞ7ik粫70e1/bO僉`r{]d'4|(#U9e|%QО{.q'9чe40HL+8d~3 f:_'<3gtL]fB:56L%`ZE=3o-3uZֈ ٳ3V93FAt 3@d8P@NBJ1J7o)%aÓB[a6=P??'}i7\fou(sQ}KQ asN91[TF &66V!t1"zsO[e}zEޝS J }b3mEZ`Jҷ m C㙫oÓt a޼xHe w؊E34}kim|g}vYs0p';'VSAM]nnԡih0alN9tlÄo1)sOyZBMI,w'!@z3ƶx^@Çŗjtlꕇk˒E:|e VATXcm߯ ^?Հaf8#X'H>Fr},5l.I@{>e=K9V?gMy'pI]'6ች@jQVϋe2n%pL@@1$ILC&t-rk̫-4C}SH+8T!{36CˈՒR쭎?]9f6 6vA>v2/LKHNNYRzTvwޮ70+86ı[x)[{ @SؤSJ3],@9anWYXH^sZ7sJRJ>Rf-%Ҝf1w,I+3^F<=S(s"|T|xL>`팵|:<5TTBGN }h *B\@9 f1sVnaDV8Hv@kR)RdzSމC(VzdxJ~$JPr76tXo ~xWtHb".g bimqbIЕ. 1m#*XҜOf\&r1z b3q:zwn8 A&Wv+yOHxpN޺&IO/|9))̈*ovzsxԳ[.pp9qXy`-2K1D՚k+`1# )49mztVǬ*Obn.N鍄UEJ7VJO/F8ej9 P.&fZ͹ ]eDoic4Xի}m%]<?/.Uh:]Z:idc٠aYBF;dᵠV &LyTn yx,fHCNEr| Z\{" w=jE[ܹᒘMW;ˣ 4@ yOI";)qieuRSHќE.ٳea8;Gf8:LVWiFb5MDp\`0t[錌)CA_ m;u| ) <׻JkBy$0 "*&I:xIã?ۗ/ؼk^,h 9A,OtݺdV7HLW[Ӡ$I֢3eh߿W#A3 G" ]Ua"]e!zN`o%0WXv/S!,.dW5p}8c ` CQQXrV6*s3.# kQP-_P5:G4R1M}sz~z|߾>{+ 8(w૽{e50MkKO ٹ6Ʋh9=:}#;~;(xӍʏ ExpHz26qwѦy )uA\^G˭&DfVLՏeevT^ #Jw'õ-CW|Q#G6?cT%sb)H_=iu8qZؚ@|s_M,V0MK$9{j Y5 gȂ ҫܴ^/f>YZԛKTV҈eTX+v }dK @uQ=I_s $uKKLalrno8=iwodMa7* V=bBt5o 8){;@,ˏ!LT,~K^1P"Uy@%+ߣA#|z;&\T{)AEYD2E@P@pKPsx}C(F/^x6ppl̗hnm|.5YP˽0i.5I E,i-_HC!3*Wr= 7xF3eI-(rB-V/FX+p4$Y]7cS2i޽?  ~ Fl~C \P(RG{VuS]IGh+YN#0O6dح`Ʊ[OoM7"k,9zl$Q@ͫY_GB5F+}xvَhݖ/fOVϫJxoQ9 8Hr /MR06D#/GUS8r5(Mzֵ3hϖ0;I*'žxd~u8G2F]SE1A#*?9>w7^.3.Zoor/%mlW i#ؚ_65f k1RF|L_O "f>0R%)0kt`UIKMO"#XΛ$$AOv h x;S˛&GmT>ϸ rdJ?45gi5[57a zTC#Ks] dP,N?@HPv%wx?"@/P{VLwC.@:(xx#z7΀>:9O RmPZr8-NMrx IhлUq`>S#Y\Ӑ>$=HFHG{GlB/:cR%:ɐcK-'kgP;NUAn  &T.g?Ti>"TZef39կmB"=rT@i-U=KJ,J~T 4mcgw3-53//~=@}ًΑBeP.?hھYf|\. 6UHf}\yݩ^6ǒoHMy̮&PS-= v񥎣ӟokϭNQ8vevZ٤V4SI`,TCi$΍: L8xίY /Yc?1䞮5AuXJ5w=cuKRQ?ć+~ni'[A͛h) VRWWƧ(qD{y)/%Z?} iuM,sإT癶|˱ 4ꢝ1&;[f{Y\~ڑ2KxĀ3kKtN﯏Q]1/2d|s=v=z 2q}}/0$7^-gM PlnIoe"` :\`ɥlD$'[mz~ ҊdUH 3XwS0ng8LogHo@Y9xWㅎȮ4 AG'hK[O`vu;GXKLW35udߺl0MLt2}: 1?줵|EZ |ȣf.@nn:Wo';#vR1 Z|9Nl5 hO%r\h6;_BH?4SZ`ڶib݄ ֵ&Sj t C)r(h?ӞZzTZvh6+=2)!/m 0t:DZh=dT2>LJ|@`q6W.Wbp3}lg~zaU,¬N} ;П'63Ʀ}1ʗ(/r[ΐ]U/ٞcpn;颍Q}HL% QڷQH6aϨ:2γ/( cۚG," Йk-+8 :.j^z#+XNF<~9Z幨û[7L5LXI U!񝊣|ũ(SФG-);br :yq,󔮥-HKbȣtIb)ՔGN]pZ# z=UWZ>^K{Q8'"F#cU呉ԑYbBm=iQq lZ ^&'\=B76&4~{LIpt+ھc:׹8n8ܦwJ*EVy?t:t>`NyqV}p$Y:JG8.xs^e( dß~?=c*wR< [ΐ]T_D{K#} dV.;(TѺb:&>(.)?"7&pM'Z7'z\\ lu<٨3W؉Rb)ԁڎ?6rlc1S:|MwC\<1cଷw#ZwZ.|-xM ;IWmXOz9z|_sdf3fYz!QS7U&-x 6gx% vlfs=c.Mj+p)y .i{-[wרzP)! GxOAe6離ҍgNy[I8LzGRf| P+Dž!chNji(Kd3g-v~MkfΫFgͪ쑱2>qc#M=|IE{ {O$W3窗BR]4/ff.Wwc#@.]_Uiuk*Xa V$bx% Sgx+ ݒh6ޥ?Dֈ LXw=?Kv@+4 H'+> P!0H&K ^(6%H[ |Q$;=[k0)vLB/_Q;a:G`@#W1[VPDW'DCtaqu˃TQ/I{O{* 8Yo{kz/,tB3҆F;u-i m\ {d:-u~6fS.j,vF!3=p/`ьџòo$2$YT`})[AQOWR R`{(qTZ:U粷f*g5omm$.۾Paϝ/zzP B^),-<્U;!p\~uVzr WO*lLXUL;z ;@>-Cc5ķ"NR^S-YSuފ1'Bvn/F&iŞ?0?C64X(ᥢRj Vk}TN5bθC *@թ=%~Žy)JUى Mm ^J~%18wvW7B]A.%[ ߄f]%׃Ә,<W1N:rg "L$t9>lk0MD4t:TҾve*۟x>\ƨ68[fC QRbfJ%zaJo0XOȵDi?! 9_*)j#2|!2ӀF8hWW(@}IUWP~Ȟ ||6iI~Ȫd-ltٓuFJm܎ɓ kn^.xRo >˺!I;stFMO}C^_+yKM׊% |V^4^t]r6܀OX<$妿^_)ˎRkhZR*y,-j8|OfrށGulհN5&dNmF=Rgwm;G$]*9)i$W_N ȪV!w_2}8ROQΨl%y1i``[]Y}h&^VPJX #(ADI9>2xaQց''-B@?NSJeBaƘM$ܕBL\#9i'_>kr]n[̆.]9ctZtdr,i،ŗL%h=ӭO}!JEHv7e>tŧ[j @M_]^+ttޥe9'lIǾ2kֲCdA88[3bޢ`k~t_ w~<ԩ.լ CJ_7WNU&!,lHI{L:F0x :$Hm[+G!d[6%9ٌ%.A&d"OW-q3]^& ~2 &̿8n#X^&3j;[i"o4_,@zM9:1FjQ Jt$&$/,i2QrP4,MBtҲm#Wԁ^f=I9xZ=5 ?ѓٶf/ZyIAC{x(A( V>`7i U2=QAҝEfCe}/ygv;Q@ol,3 +jCF5vӮΏs;ɓry58Wimû3FҊNgn) =pŋډM $kj(extPۂ7@(ev,jj|}BZ61`I_Sbѭ6?/.4%כLP%3-1|:<(묲-oix3Vtc- EaKLdY^S@i[mԫ>/m=NxR.D+;P71;u1k*Wց+% 髞4ߢtrWPC"czaԟ~ЦJA/9oCf4FA$OM`7'wl<5j&/U,#jFZz[H xwWqIm }cET}G]A\udž˃lS9k1dƳ.[%4Onrx6z[O2֣Sؤu>-U;46|Hfٌ")>PAk=uO>В7E֫G PKN+9tensorflow_federated/python/core/impl/intrinsic_bodies.pyXao6_A$_Ű[WLkgܢi$$UwGʲ$+]'ÇǻG] 4jHމ쿽K2ANW_}pH2%]"䎭WTn&<1`-2xN48y9C1ȍqEb DARz ФP "0žbk34O8bF\4% JFSïM}6z߻԰u^'v#𯀱Yf SHֺ:fBDHB3-^rͳC= P\iWnDH]$X\7"X8>-CޛϽi 2l:`6_wě~ ?ӱC aOD@c`A`#,!ox ʶ2`9$g2 wS5$@`w,~| d.n4{ґ4~VTR?ZWk! P5 _WSC2s'g< qLk`8:|1p`֥ycDI{CpI|G"7jv&? dZH3FsetyM0*Y&~x6%]Xra|MKP=>㴳?螫 hμoOv9 L\E:"U.̘ a4炋jFo3g2Ԇ V _%AS?H; NFi, TA)AF+ t<6Vܞvq?S39ݖ7-\B#LkNgwseTk..A]yvH_p9]A{  tMtU͸o˗͍ԬܸEX{N;6Pg: }4x8E=/bp"R5CbBg*m*4*99 E$,If,˜k'  {N{8w(`]q{M:f-^y1*_+gyaФx1:_SC/O3t2":$Kj K']}1,o_0v~j+^c8b{Xu/"5pnjPi=yuSf`4/L >yiXQ&,OGs̃ÛN ^C.*KvjI[+/:fkV GWYzZX8ŭt|=?h&0z䡢V{e[,aePVL|iSaO_NZĀ8e@ $bݟNlq3g|p~y8cױ>y=c|dFo>GkI2 !"emg>S~Hco{e@jĴXBljI/ >R4I6\@FUPkb_>Xts$ַ?ZyJQ9'NS`i'm+?k3]E t^81(˝ N2""LaC'Yn6]D $uqXMoD^z{ H)ѺD K'q2*HEs;eL0/a|,Ro3`Euv.ev0!cKƵ$Kx. ]Քk8^ŢoC+C! )7=TY "z0q0ooZ8 4! )J!6z* !t-Z;awWͽd=@9Sf`Oij EtbQq3_v= 9m .&pb88:I(kPbN b߳MHaQ[t&RUC^٩Zԇi^,u'"$u,_!sLr(`5Rn̓Te|8pO(3HS3 5oȢ2u1BO Xbf:12tpˀS-.jk90vu.RD,tWdȈFqT6nA(Nt.g2rzhf:,(X0MuM9 uͮ,*0GFn :JDDba6n!އSDBʖx/Yf+qrJ$`*iW `$p~܀2zNJ꘨ %”cbxFgþ;߽ ѵH: TlK%`ppy83N'*cF74"p*>&&XVcYUt>9ߩhh.nԅHī=yL3} 2iP vr9gGŜOrdei[$6~@e*,M`l0!)֖Eaaޱۦ{k:LD|t/E̯ijeMTgx1vC; m:NmidA/#H8ȕf!}C@r.ΝDLx{e5glUhيO[9vMfEL 2{I*m½q|C[ű $!PژFvT:++jvڿv]XWۺ<ꢹMG+x=+7ͥP[ -2ݢ:ƺ+!tv |pzP^fY]Z'/7qpm|oҵLT9Sjoخ^QRjnz|T:UGk&[{&q gK۽~E?lkרUDr# Gi"DU'N+)pLܐ׼2dV:O)(lC;7ٸ(vRѭ4-Jr:6(g3> f: QGI)ߌǹ fqOYVӍť<ԉLZd5DYνH(FUSOAWwHv90`;O|s{Q\v V-WI mF', 'N=JP4NҀӍ@SHA_p0wt^ ? vlU[\ W_4*p(*/]BYN^ aWn-iS޹īōHq"!bKG ؇hbGVRF ֠wp++Ʈ0>.-nT%Љ{?WxZ!*/x/g%tr6qx6pswxuW|{y1HL VkbOVLY }&AXYpc.PWv8(BƵW͍*%W^32Iv2tʝ2ӯBW[qTIOn^6H3fEVܙ86H/,.5GE^nxlS}!NY{aԷY#|Jd\'7E ๅ Rz\p?=V2iPPa$R }(4݇"njD' 36ZT:xP[<ҢM@r%︽3HHُgޑEuEMݾf`񐮸qdqdJ6gUbw3 v~cdV$+%*K\6I$^ҿX*o&ޖxG?PKN^:tensorflow_federated/python/core/impl/intrinsic_factory.py\o7u>H:(9z>QpƥvvREVfܒ\+jfؗv"Ù̏3zD^DIS'&4>yˤ"!GS޿BddF$d ȘnjK5 ,9M"F\O2A~q$PSMa| Նaouz|>6r$#ՓgcyL)"،ID2L dx.ɤO9 Ғ3]g6] 9<"gW䇓>?o''g+rqIN/_]]_/g/`>?0QlBbXXT">+dtD2vH+ԦF@%36O61F!`v'Gʬv V2G92c)f$ Ǚ$ C܋`C%bYhn6o<48b ^̋u]1Ew|@H})-PtnOI3,"F]ց_\!)k2)84dpJe|#_˔I1ss3NO<\ Ah׈uoC]heHk˲h!#N=ftK䈚,($(XD.QFl<m]9Զm=C-甫c="EH9vsQi*McŃ0}@k[_%w;`4Nzͧ)@z5jp^#P :TúXOLWxIq^Ks)מXlk(Dk_'$q nm|;V ˩8eބ:g4[Dc'j%cmdXGvsz2њuHRsŌKn$C+G'fzQ5HubS x|؞J9%'[0cj`s!.b)+r-\8Z9_vًϳY=?*bLhJ ܂agZ7GQt?Kt>hei͗%_.hz6c4 Fywe^g%{V)7朐ܓDG-FVz%^J#|G* 51m6ݻћmIݱ}D[d@;5UU8WfZC{DٹDH?tw >4Dp6bS t;`r]2艕 )T21 D,(OONK #|`ؐ"f"\ B ք6A vU{;,XQޤժV%(fܘ-5M~ΫY5 8rTzk4M }ZT2[(W1 y,Z4=T=U`fǔ_FtIs$.9%:&2Rҵ(ժx{tjzX(lj֋e- B {doU7Fa7K*cZӈI%MmFS☲HGIdJ39bMȈ% WbhwMi+5fNЦc#gྔ]ѿ-O8L!1[3f |t*sS"=*mRdy1(p`l+{9i\1n S>mqlnX=< =)Fkkf6 1 tl{U1ԗ1K#*,1[vqeMϕmkˬ}0:tm-࿑_fa!tdM5 kza6o]q.ioŨmR^w>Ub6jJ͇ǠXJ%{L>p!Ye#;']Fg3I |XuoӻM㿲nyge][inݶu_iڢYcvܮ7;3kxVg}>gYLeǴ)07$L"()}F+WO i2{2KKV}wIEyWO~ 2 -o|FyuQ+˹%fl3Q\d|TK©Z}9ijUig[,EVӲb+Jo;,ij?łJ41%Qҍ+w}h1nM*5.ˀߪSkM.ji?mXzλ,]蚮t7mܹ٤"-:1ھDT6NyV@nH^k)ƕOfpي}K̙Ae^cjaH>*(!^fS]@_M/u"&j%f) )VX6ut6Q\;TB>CmχkV~[_rL3U-OPKN5 8tensorflow_federated/python/core/impl/intrinsic_utils.pyUn6}W\8/ 2]2xk͵7a]XJE+Lj$E^Rc'Mm-sxHC٭g0Qufk_~ !"(ҳJ05jnq QC-ڰDA54HKMQ fB% { `4L.~'N5He1H@)*+ $jWWv@| Tn9Us_y\z_^m˸g˔\V}'y2}E}ϵo#4i;5*xN4+ނ7i*G Ҷ\#Z=qkOD_\(J NFgIHu 24&8s7hC@Z;DR8qLKO'dj,D) %7 l-jIrF!zkBNXn#Q,FVTvP6JsB#ER iDaAll1w)Qy*[[>5_Z6ۓV>%=+ygaY%rs2ۑ][,n&.M1τp{=՚J7/Clf,/n|a5/aȈ tӼWOH񀯨UF;.܋q@6e\qI:yz:X@pC$ݵE;ǰW,C(DN6qeAON = r͍;vTDʻHʕ:;0nh[ϗL\ޕH}]fZ}щ;c~(;CHګ9V=t>xt2dh`܋}!uu՘M݇hݨ}ލ{-x>N4z-a^tBK/KWCI(~O$0nL uH~PKN:._P ;tensorflow_federated/python/core/impl/placement_literals.py}Vo9~߿bDnBRQE:.!:tTIU]O+k-l/h7㽠!-13jkWJ.VU[-%+N FRm\3s0&.` 2ඖѰb5=qmt_Q)Q5ےTjBZʒuU &3NaW>L0KB-,6~PjpylbJe4d>zQ[-4r]lU`lCJ+4*xQKaK.bQWC҇ i$Ѯ(ՂZ*VG\i1\H5֢礬.m )8Jwe2-*"rVq .{pw+7;J+n\\|GNs\`S- )]Wn!LPy^1:BՐL劣e߿_} vX;R9^q58̔ҹIa-yG-tv7 F 5u"ca<$sP>vc)iG|r9sviC< ޠ]i6j$pOϢIt}AnYU+3B{@Q3UKiӥkt g7e5edn\D9$=ƱcP&p :{M ԘsXYJ ++F?5U|"ɻuQTԈR3$={0rvUZ"FŇ4D\զ˳7{?|)]%^|/#qy$+"iRU2GkRޏC:6:EVߌIQy&^G/ aa2ވ,ĺLDZYHD4IVH31ɗEgD< #oD~[:+kfqE]U~1 (/?-eӇ㓏'/c9[$e)봀nD&-E^x^$]#EZ|$|V=EPiYrЃI ^q&~8??]^/Rrt~~B|:ǟ>=<z'>MǷ#`iU dtLH$qPJ&,:'b?$EX%f M"]U\'IE{?Ñ(qTaV%`+YR$S2YWy]ʫ I3htV ~?KdHVG<{=:K+Q%eU y&(+F\Lq6bAvE@(9RqO!VF()kZiKQ,S`?Pŕ(Y͗0) ؉Ex脐L S^T@906uI"[/o?Z~ooVK1պHcd[ `1l>M߯ |Mp̽=$_,ԟ'J}TO ~d[% j'\֙x j36q}E'^zƷq fH="$$h"UHSah*$vOwHAwfIS\J?/νa[,xvvVcIƋWZ]P(Iڳ`,*he0xU&1qZ29^A~ {BC&ٝ~6dN$P!Io*pr73d11cʚƢю$Fus(UYTз7o.߽#HFû;W1hDPEF1aLT$Xa5^Zl3u$|G,"z e>qQAD/|F߁<]z1%_"!CA^>䁹}qDrf@Z)\ \ Q[KWS) ө7I30i)iM)5ag MfMYM4 i MnD}DC)%g =W98nNlO}"NKtLfkYxd"KYD 4 *.%ˆܥd:\|ޖ8^}NcemU,qkV<߸b;Qe+fj;k8'Đ $.˘,ݔ PHlqxPL}Yq*G Zs .whO&:3M6Z3WчD\czlkQ*CVr![%C!l']9AaWY(%㨾դnem[o1nI)PѸIP렦WH1՚r"ߗzh&8c.ץ2Ҳ}AgJJ[HOALj KN;I] bWEk|[M9Р:#LB2I:`7-W'Mk9Y=31}Fϵ ;d&LuH%A!v%%(6圣c+D |i >icѻEEPLyAJcdnLx RL$f77q&<)6V:[h@FHálPkDA,![!6katlsexTە$Cp6ibvqqG1g +s(1} IOs?á;Fb .%L ;> Է~(Gqg{$FWizD1zsJjzFBWCR'EЂ/d0=l;pbAe+1Fɦ =IH5 :>D0b^_;ݮ{( u0!k%uw"n!} E}4RBJ;>6p6S+.O`T8a#NEw&յl<^d\,_'Gh#a>Pr[wqetw&rW>^[]e#ǔ _c'neF9LG/=,e4/Ķ3;*g'}&=DSAg&*2/s&%GFDhfX#Sw)Ɇ3t-;sy.-'X:ئM˶/ !Q꿶@Y@[0 _=ÀӾCe. jRV &q eɚu[ Q8j=cbX4l 7pr5V&v&D/:?NjWRD8 tLTsc!%TRۨfܔh#ǩRv[7!*P+Ē(4ٚroPA5~p[pHnD/K 2KcZ2/5Y^0 9laso,vO(lFp7rԧ:yq{Kdh2dQ0\ (NCB,GKfEdYe#@n`=`04Mm-ā g5cBlrC;L(8860Fׄ ^_6l]|I L-bp?2C MxOlmhDh'cT2cP0i͊Z+aUoj8?S햩}R 3i5V\Is=D^i JTX\l6Z |Eeç<L*1 <` u*3i0p`0}\9tb+̍ҩ$FxƯx|rGb?nX bخn\Ǧ 4 nکT% ]ƵéMj#]g3Ub6O^|Ym˃Iclb0^- 'O^44ЌSCcyUlŅvk@R}t!2ae7$$""+hUU>1Vs\*zx=~-q%|nB<@~99`%Ni\_EK6t+3VgDOYPй<۟ZR r34Hf#&'Z``4'=C Sa!i~{ϥiPwo|TY\\IY)j6'(9IPqIc;@Ms/բbvBm@IY'Nq=wBSp)HKqGJq#M&C޲݈ܝ `uJsI</ÿ8jЫ:pB̼ފ=nı]4[`o6^j JWv3f(fߤID_'X@2KArǠ"!bkS#dH5edVbh 57Tw\Q~{z(wsk'v(-KШtcY6k'XӞo;Nc-=nT(#"ģ)~ 2lYfΖ)mLltzn:HIaJAJccTcsm}UuZ(*uÑim#ticly'(.49`շmC`{6yvP5gZ "bthya/5u ׀kJBWR$\0nƃ{qKh${-V3HTF*G9\ŕ΍S%hy.l n&SwiqlnQ 8VKgNgnQ޿N'K6 ٰC0W,,U[~mAEԏ&;Ȕf?&;C5{/܇pu/p_vέJ+ iRHo/G۱\2=JH.  BVର&*Fqx SGY 餩k㿒2ͽCͣ:J5Vj3~|}C1FEHN4 ;!m nRe+Cdb"uiݏ,x%^Fe,Mnp\kŕq,䯛Yn. ֵ=sbv:#I@Cߥ-oSȴwjw ѹuz-3& Pg[A +9!3BV6iŕpe1Z9M8lu& OB>]Ub8.WrRS.qog֢j$XJߏP+ZE5h(nwUyw)|XhwhpZ!: Pl6GC@u[Eic4!tsIB8.;) L2TәC1A>bP c|ߢa=YQXo 5xHWyEjE22|pnK.UҨEjy0K֦hǷw !t~羙 ^ZA~Y\w1qAuf}xp w-fSا(*}Ok@"0kҔLRYRĈ*'tIUjX8}Xlzs-/ݻ>PE*jɎC"yH4@-ґ We ]gaE9POx;yulaYP3ZnxDa|GSo8k dig(_RLc$AH=-݈Y)_ǤMI 1.&^ = N>f *8ا zC<MwYۓ˓OïѺHQۘ|^$suه%znh$zGo|89T3W=@|cdYV=@|r, tÕ9`/Rֶ n1E!~99}]?O϶"үj;H 'q'YR@Зx*@yr ЯI78'Oڶ3޺4ͥau- ekiXzg}U;0wVZd(b*28r1R_(./Ogob בe{r?':4⽒P8#u }'-8g3@NO5a׬SyJm#rBP EB|zA>M*Y|3>g:k!uN*J:95^tFZ+|18Fwinɑ=F.|3ȏt؇͆!r랽e|g%KϲvsgAs?@|!M3kfjfLqjro4C2GE-6vGXYcEf6 C1ԥ]/$M-J;$wzq2Ƀ|HԨ]iv2&}6qBG(p :/.?77]`e2SSKd NJaNE֎VM[:X0ZglzO{tgBG.L'mnM=܏&6G*2&tvQ8Y<`_4IOFsۍ"(W%ECe|nW%8y4'@!7D>RLׅ0;ċ{X dT]lÜD;z>̈́y2^S 7&16Wӊ2=|2^.7KqZطkۭbߔ+o8xOkuoE[Wf#Mbr oG<+f=-N缾*Y[/@pTe6Tl lt3L//mh3f/ܛEC!*B5* q{mIZaL_u-uSmja=ۉFhavj =R~Pb}E>IaMRX!\ll|y-a4g-R¢l+PZ UĜ4;G^o[chbC+:YZLEj'S}rzEmoH~g-~e𵉾Xn4:_YԬUiwS?&Ca8>φdsv}̪~ p:kf_ad2'mF/gÿīv[ϟ!m8bm3C7RiG: k`kj90|u''rV*HZnd~O0q."ztA_F0[u7ZxPbŝ np79+~׏jsciE_ċV3,-'ĭBv<u&Tj7vpTG׹}l[K{>BI<)dQL=m9-J;#=@JCO9{ B77jQ'ۙB{SF-Sk3F^ g eNDLspq`<,b'@om53Ŗa\ӳh:⑤?ÇuBjM pzjyժ9<Ъ;0$[b }۸9\!W"ݹYs,VY:B²H/[7 S츨W.y<ҽY@1sSdDfWGiԀph2v/¬ `-z3Ლ3ؖn.;Į #xw%6w_[]:G= υTHךүF}4yԥ5R/A.X.2; :J8/h4ylZ+g>\:ؿWkuV0S8l&Kx(8Rgz1= ^>OG0ՉHftr "o 3!vwb*`@)A2aKzF`=`5}u'04V֪RҖPkC|wgگX ުOcvaSC[ް|{kES{L&ҳhv`Q*I\d}kpՓbYHX Zc LGn8dzSd''Uzh-aKd׵;WS3fsGJ6bqBz՗|D!oaڧNTC=V|Xfu/ػdWڸ'> e^;`6pT<d =/̤|.؈yu(Q`SVg64-eiœyg]h4ΒdM|>^eЎDg?pk@8zg`&(חΓy%bWoXgN/Z]z ں5Εf,F}S]vL)Jx=COѰ! `6*;,| Io)+j"X˧@-Z ׼5l /9>䗭52u%t$OWmVn̏}rcΔi,7_v&H-([hW8E>gk!؀ un ;^]{p:mg iڕN]dgOk̓72PKN , Ctensorflow_federated/python/core/impl/tensorflow_deserialization.pyXs۸~_:fxL.}&v'V' "A c`Prs{]")i&9"]o]+/oL+qmoH,6J,TP2eW7.Gb6օм)iW"EYM%oĔ6\KߠaoQʽSPuzNU텮DjʺвJicZ%0Cު0+/[b|OHg}}n%[~]ǻ_`1| 地?uA\BBš7dju$NZ-vUG̃ Q=^ǻ:-y!?}/n'qps{1]& 1깶d?GQ`Us¯jȵkU;VԎ`^-.ߜ8O...>{]  rjYoo/Jqj'0?jI5Xz!tX0KJ MBIjti(ɓ^yIEo_L!&_ =SJ=JUj&Y$vH.w(99;F'Vz 7׫ț*哹8x=p$o|cUIƢWV_ږ魦^[0G?~ԧMP,A6doN0U-)Wߓ8+!Qz=0QO)%0io#z 槥Ƀ1VI`V ;IeQ$:AI :gv5((0-vxĔ*_/B՗ Fg8FyW\*NO0&u*1um_v$2i>yHwRdFX=PGdۈgO0k:zsJ dB*(LbHvki 9˺itA F #ruyOh {Q' LƵ'LƍVj5G'/o밸D C)  K L+ ǝQᡀΑʢ!3hR*mZS.svh!NP%GիzCC(Mb*@! VwynG]1~3n$!5{:UZ㌧DPP"#zlaW@,LbB"9_! b+SGk ? 5KWBg[td ۽"F6H>/;-dWYhHU[k6jP3ng|7~ĖFCaxtrStbHd3b9S;N^b&0J#pa;=77ƴo6Vv `gi XDˡŲ?=y%c>߄4)/oTF ([4VbFn꺡n妡&;ܸ0n@n6Wv^EQ.jUapվΝ9 . Z% -}5ɶ;!lc. :U:N1ѶBq0>ULH Gw'Q!s7UdYtZ# $DVDTdrϥU@oHH`id"E-@qhL$x0^mAuR-YY߱gBkY!Y7jk&^E;bVΣu UVzS-i=npz%Yڈ;e.9M@f>O{/ M"L[ق7@muYmE#S@wWH!KUs|iA@0ϷieڪFN{;yGn_)keB%l3rVE%9'Z%FUni;Z#йE /odS,6$$ HRȏ!~r h1֓3:@O-UX XfhiӶzHT) g=[v`vf C\9/%4vV-"}6vLeGɁAWLFCJwM@8*筃vVlGF[˶6F;vnf͖xOr' ).nV 41uęxq"s4gFݓT V@fu#e({_2gTOc}i捠Ё ]hD9X(00S#1-hD `E xT`v 1(AbTa ?xi2$a Q( Y8\./ Da u"-N2ή+7d)vchDmh A PM G]' l/,Ԙ>hg1W !3cIm3Q= qOn/Sx9$@<"Z+Gb OQ 6$wy)8JR8@t R adF8fomNuˊ9P^ ȡ`J*򮡴Y9j3*WmH`0++UmIAssiASQ&[rz(8htzc%7 2<"dA6tauV8HD"ԙ4bڈCou m2g.9Ֆv|Pi3ɂqf8?>=~8Ð2Sl TIo4ƭwO S ո0۸A;]VŒš#k8>\K9z}p yWn}R^S W/:`wsUU ] ⪤""͑͡+Mx0#`PG.pz8qCwFbԕqf͗]pOgq@QSɦb/RР#q!-$v"[,T~)3G ZgvI3B݁1ƭfm\#$9w(# ,\ýd"Nmw'!"_J.y ۋGpL\fƆo/SՁn?WtGZE/ *60EZqH\iCKtGUqkD4,B) qxa#(E `$(Syp  qPR[ AA#\4̱3&-=hT 7;n=+= $pޭ,@}7PGb$}o$2r#1 p  3]X ]9sȸ gh0(u%@V }Dh*K`vH"ʻ !SD0AȊe`(&z~(awgg'?矾.T6x0s $+< ʎxD]M|Ym^Ȉ9k8hk ,V;RmY8xL.`s'-K5!-҃DE΀%6v+Yz*v=y$^* P8rA iޣ^~r`.i8<-[k-4t*vveIaN0jOp@Shƀ=ʞch(eB H\*+ms49^DGѭߐC=Bܗ˔I#eO7bi{GTvi P]|5 xu!F\`my>vw yje[LjwX{p|IvA#'ȕQ2Lը7a1GVŏ/n^\^<}qy;Gpu|2AJ]B<ۥ&(a:71_>yVne3ɷN&.uګOUbӻŋ/Bx xmO/S*9]x\i8Ǹ܌nwNh^00?A<~8wt4{`D PQ3j>%?9(-݇+ڊ56`p{#. ͯђNSөF> oql_?jJn_oMzhNkyOEަd.j4Wbt4m JʋK_Q0*(7y'Qsc]^ =].ewGnOA6Yzw%.Ux/S,+VOPPKNeOx?tensorflow_federated/python/core/impl/tf_computation_context.pyU[k0~8/)x./c,m7B1b;bIrHVjQ|w9sp{ ֭zT7[#ꕃ߼OaBXڜI3,p%LZzblЫsQn[Evph~%h fah~ naͷ"Q x[`@((a#*$$#^:NhNNr9>:l6j3m#!y>=O_滒h- C.T%ɔ| i/xcNmAb)uF,[< z|q>O<%|&"?%L/f'" &kNR@x$Riy<Ԟ MヌPbEm$p-*fxaYqIٗ`,o:G24]A%_\MGRNl+ь*hSKy{0*ȰT8*PKN܈\&Ƣ=tensorflow_federated/python/core/impl/transformation_utils.py=ksF+$ڬ\Zى/)KVEP@߯ƀYy*Dzzz=ŷyوL}/N>/}_'_Z+Y~YT\:kR\H&'S %|/xb-f,!kWx:\ qGF}ՊMv/ʪ"WbRȻ6"/Ţl<+R͚@ O 7`ZDo4۳>d?+xW/~})`L|_R)Qy kߋl -9YdEv]K:oz,TjnZe:M@-,Jťxux~qr 0~xu͛o^zxVxWW޼^{@+Fmk̑rD2@`U1Bj+*_6⺺u [Yor%@)Md }Y䣏>1:yCT0ӆm@(&0dUW1ڦtV5\UPe [79O}rb/̯($}Gy#릪 eǫg_& 2otef¢6^TbʪT66ukxZN]fFNm^,aZWLqsl'Kt[oFg'B\ݢ r#{aFoE hTM޴l@7[BnS? & drDxL2*@Of($bתA7DL4@ m:H'/^ iH@Yպj @zh%<7p5 >/ Pbp]V@HPm d'Gr$q Vh;Ny?޶ztOdhy6WK7洩N sC1 :_'hNx,WLQ `5bk 5i( kiTHX([&8 CIgU6-z#f/wX+p݌cilWj sU X(:R5?0U^1r60 FHYìZ.iB90KTZsL^o3\$'l#)jsn',%$Ȋ `kxEH9!jְl~%u=̵lL: ۪ R(U cYK͑/5<А &vXkxBc7W87 4c]Y n Rٴׅ(IY!@L2 EH3>|dE+n 1ې #Am@k*^뺪ANQwz[#fTXUrG} 76FW &.FM f$zu*un3 Aa`WYwxUS^|qP4\zG#@,њ:.ؗRz!ȡ8u&$$rm<NS⪝6w#kfr֩@ F+|\䷎ع]']{ #k'na0i2@OC-2st?u =Cqw׃*#+@ 3.HJhQsJiߍduf q1s_#G*;%M{f̬F_eD}Hw# GPqb6ƚ>LF@=D}f rhiKT]:5lôV}TNLpmZ?jtSJy;|3/ C0GI)!SuWtTyl<(&M=fszOyy'mjEcQC%\ω (`yɹ۬x,R'$0M n~87,D逍J 4Z\\_^u~#K1\lܿjSfb "voBBHb#f¾[LMI u vQ`+܎U[ fV``` ijJ-K VW?,iײuVZR8 ]T Qa[s@@䋼̛g6'+@ jq V맜k"˃tJ[:y@ 9b:5huUqh3L(ҁЦ)wg0/K7L|E%9O5ljbxL.NqH0ImD>#gUU-*@œ"D<54i0nʖ*ڄ3o)]b_΀&^l|yՖh=qze0siQ o*S%O {yd쇾PD >]c~*ޤlC!m)Z[{YB^SV@"jP6&̲q}r{?n;NMt fb+?zZ?H`l.óqO L]>&.^8 [,9 u dhCqq:q֡_H0}N_ ZST28Ţj)1IÎa4Gq1D.]B˲іGg{WHczit7?6e]mbia$F*R5S}2<5Dz*F;G0~uj0o8hM0%:/17Ol+H A@ev;|HBG0bG 7-߱W㏯Mp!k$9 ٴ]ݭ:9YR^~XEUXi*R7 e;!!~u: `L4 13 JXlST  \zpRBz95a.d9)Ԟeb ŚʗH"p6܀x"P||%u/SSO%klKL=+IX v.R @pDad4hSCGQMHž(LO2,9qL-'Kʳlkr:8fQJ>V@k|y_ܿ O#mG K8U|Xi'* [L**[\^MU!K2\T04{ۃ,sYK,N섁%UG(+^4`p`@*n*~"t 7x\NwX䜊W0($}Z$6B'ҶDKvNȩg҅ÂS=b-%H+Y^Ӕv\\Zzl>N9DPD,ev\N#ALVK +7? z.t~ΗCLaO ]YʜXNTt48D+hh -降9(;0@ؗ. R/|N q Ϭ*3=D9I4n$ vuMpZo'˜QÍ֢޶`LxLbfreYE Ys{Mf#\3CZ \MUR+,1<ۙع`kDn^|rݾZH咮 Y;@p;$9)wH]3o(ۀb"Gy>blmӞ$(+?(e-ی;u%GDk ~DD%H:yۄ1U]$rZ i!ؐ1)Cԧj8~I;_̥B2jgQ?A8c,U&iN;^WQFzTW5 *WЩsFEzrlk'omUy1#RJ IRl %&DEcިck>u%%y5 nIVJ#yY F^:L`fs VMjw[oQ;sa||E#ZsJY 氋;6{tfFe5|ͮt ^p+mpK<%cS<ߣ{`*_ $<'ʽ7ԏnOk9+D2֍)3)oyLڙd\V'6ӈ`q$~wD1pw[l' c5<Ñg]A>FccG>=4z.a%X;i*'R Q6K_MeM3e)){˲Kf?{u挎3:x7>Ȭ!iYb&sg\lៜ84Y Hd:FzN=G^['c틠1nBϗӵMtXzv|$q0kc R>ENfP`1QfMVo MiMcv-bEv (xS}v#_/.*Sh 3sꂲWz8QtÀ!#LJ 2bF8Պ3Kij!ɜA"*=@v~c2<DljH[N xh:!y{ꥠn6u{CwdsU=3~ss;E7mk@'qb e0Ѿ&WDц(+@v3^M:ќ /10)=?1Uc\G3C]i ꠂb/ot)[Ă2=qC;PT%&['_s~NlfnԆYmL\@XMus<y~bb\r@m7 M&J6 6JWIj;'qgSMyf 2( 6{䬙x/n%|L=AYjm3p&ɍ)`/T u-QL{JZ dί˅ aVj/rr0H2]Ùu#޽ 0tχe*]1S8:Ɨ,$}b^]BC͇ }Jݪ?4э0#?N% Vx&3N{Z)L?${KYi@+*7iNZɥBc$9/7sOE)O625nܟM[v$}I;RBI'WRAkO90 iCO>q͍m1jQ N @w]* vw.rR#_yw=Nɝ>OG(?[ bB` I!b1Y/"rl*l1Wk-XhefQ>1G A; Gi'0q q\&?@z jhR=J*VPt͓g [JkMNCes5кptAVG?wtV z+Lj33zI͍ܯTw+hxpQlx5Ss15vk`L>@_u8@:mS/>UBpc`c351v7FijL@Ls{}4yHs1dбcywFG q >e}K2>wy ѝS/?O5 zpj1H["wu}4lv9k1̰]>r3ۙ~wKHJ_N-mh|)u kYu?Z4:ޙsj+zI/2'Z[o"bEUZ3xWK0NfSNswWoJ.\RA Ya(x5@㦇G w݂0=' Q_k{v؍/< {k mZhh&&+ ŷA!>=[;5n%7|wY&ȴ"'_u"kXƎz8:$wY_CǷ|4RW{~I훴sGK[3N(Υ^TیO1~o-HU8?)2,M)Ew~]~}rl@6jf8A]NY'my6酓yE zY/ia lcx86DQt1k~7(/YOebs4U;6,68Ќ7`I^ 9< ;Gd%l }m?u\cf̀ } \~/Ԇlyhz:_#=Fu[ JjvI08O=hz[kJA`R%L?%R~ECgXII06YWm4{TRIAC b6vE}_ę8v4C1;z+P5똸|y AaYgV1TFF}lXI7uֵyESo:IcލG>nZ\ym(\Gfrr!c{ƺ04z{ E' ],6f/Jlb z"Fq2 xbE4cgUD{?lubx ́E0qQ t"U2 iF]M:/Abb%W7\d#(NQ$dxd'Cz]5J,ïtUlڍ\a罛J0 eMƾEɸI=s|qHZݻ3Yex+\V2|!=W 4ՉtWPjoܜ 7]eOM26\1{z!7T/$ꫦBLsaٜ#QyDBj< BHMs^q_*M&ew> ={cn|0` iW]@FHFh,7;x0kF^6! /Ms'IdOm 3~ =UZgѵ㊇J/`Ea_k-y?ǃllO0l`gX\pٓ/>ϟ~ g&VMQW}MwiҭBw bxtE3w_b k~IZMQJr9%|j;sde#Ƨ0a{j[Gl8*^B/zJzrI%OKceI ܢ>,还ˎq뎮5@E^c^C˪Ag2`8.Uԝu0Jˉ2W}T2!૟SFƧ *y:qt[[xs{;`)8'6Tɼ&qY#dhȧ,DX Z'W}Oi{R8"G.^$SoL)tx(Ag$l 8k.= GPc QG}p=X^poۈQe`uRTTt:d1*^1P6J5cpNƹ!<=]aȞcCHh mQ\͸L;{+/H]f؂Ǔu *i W'm06Ъ{0?gj3G+Ͽ*qs=gv쬽 ӮtkTCQauOtПڠRjV+wWV-XY.>k@QsxIds ñ4p eG<i In`q/"S(g)8'QmۂL+WPfw0"hYv* *XߠE. GӁ.|wG@{@m~>CNဋJ5>IQɏBo67dxS[YcWH>*44e^.So@:ˌKHHu9`Δ@y1:_tAc5]XU<*)} Rè! ӟ|߯ ݚ) NL4@&ġf`',R[btr.E:a?~z_ybpp@a~}ޤ rGv3}q c]TDPKN`U4 8tensorflow_federated/python/core/impl/transformations.py}s7+$1LQ)s=g+ڧS#r(͙pgl_ 9d;ZF&Fht7 '/EQ\b.:y ,9UQ>liMt)as2@vߓ:, G~$*/!6L~ UrEQ'*yydwlY'"7y.&Yr44 Nu n5!L^}0%lEy՜[V_|/cbUURf_%rK@h^6)$*3.2 Y}@U]旫[-LZ7Jg'oo?K?y`?^t|ɫoo_={q+ߒճAZ0ݲD1⢽2YUl kqJx Nʛݬ)@7yMcRg}vm.˴ )E#H: 2%LiW x@zYY$lUl4™%eUaFf}h,@ yuQ+M1 cx S0L܌f af7bbb)Vը^-^0Q&(3 VM` 4 8ӑl U> .}Mr5C:Z|?:GUNލ.Ӫ@l oE ('i6rN ? =$D|I=qG$)K[ q5 F4[*̺0Yݎ_q{6IQdb6qВӌGhW(.SUT2í@ً;O?pkekRp$t`q2Z_e |,[]{}6n3 ,t.14ɀπ{eQс@"taW.lR"@O'˂0P;LgT\f%_/ޑ  =p|o*b&.SU;74PjS1r?t)BZ~ 480zO& ⇸+mctuN5~epr4H2c&:;0Z-vaY=S6xdADݽѥ.;k n;Tǵ0_Nkf`9HFv^G4Ņ&H 8 m_Mr֟{i.6 aBU9%3x7 ˈ{g'0eVR.ZFїEv4FK3,`C_%6qcf_M ʠ@oW1pX SLWU~HQ[Mְ$P+t~4bUvs|UR;'`OF]9&! B$!Ѷ>.2UGϷ }(H8_@l m4ܛ5G=zYOP Y\76-sxjxh4bhjgZ%QcN$u7t 5}. eeg9Cr9'-LEbӲ@6r<ʶgg0+2dͷ :kYmҺ)I_6;/&}>.>*i!?)*sPn$ 7j^ֻm091" AC;KE#gD o|PbRúG:[(MxըǮmx_+ >> Т U6q(l͖IlAuvm^&j R\ْb)iI{XUwn{{t g1x{t}9|0nt@?57:bU gE #&9K\؍XI[Tǯ $:qZ{lu^gؠp?/,'1W|aP5p/iĸ,U#KḺO.:OӏŁ5w0 C >y9t硲ȹn"C Rߢ}wXV׈&du~#aykj*p3yخe1wdZpnQ_ubD2]ϋt:JnHm^|-9fJlЯH=[>E811CI || ~n`=_qj3-޲Ku_n.fcMh zt6b#byl?oRdD6W4 #GU ZZj4) A 1 jU>&+ kf~Nb pnjUhp^4A*&U)vH4P!^ ?&aC(~% O i`GTF*9{7IxdJsQHv \7p̒%դX"ru./|q ?{\ ҭ(a楯PV('$j09(uRٔe@&S(J5$. >V53%Kfa>rtWחEiS{(Cnp/ B)*\:Z5B+?g.I&]Vhëͺ쌺8.;o ceI z]y\`_l8vmD[#b/Tw w2PKH!z,؄ t\T-Q}>[x#dʼnWZ%@/VD>m?o~G_u~EߍuEPA'Hsw!+//]@/htYdDܓ3B1EogOx1MTkS)>i*٧1==dWf{JLu YNߜ>˿ We>?O~t-](EBg< ư=E=1G~ ѣt3ׅ}pXqm&~b?-gEDzoԸDn.,uO3o z=.{?]Y ~QWx?'O@7| k[:T *cX j]z#\'sE\x7wU^K++|'КaP9MNdNZ\|A\T^tz颎HJ)A% ɀs>/6~'jA[f߿y})TlP2 w"6tx7+0$ Z-sL'1Nd6:cv#S"}$~j;v+HV3NyA]2Keo])L 0%ȦU*Fڸm0, !^n7*ߖi-`S өvvίUctuDDe:9[lGrLxh\o2PPEmu{6.lWZ4Zt_e֢Vw$e,{l'b/xJ46Kf;r"hbelz݇,3|p0BR}&Jl0Cgd(]%(i((+7;c\Cgs{QEvaV y_0d?f&Éjnd\NA@E u}إ"o髧M\ZD;gJĺfmƒdD~Ϗ(H/2Q?\8rU3. $8y | Ӯ2Ji']5 .:BgK_o 7mݱ|MD0 z98_#q[p7m+1 @s<} $PQ"Ԝ̋+WaQd5OKªKZ,2 *-ײ= ub0 UgK*z` =1< Q)ƻB#җX^X~K)ud_}7N YVҤ ArYLagmGRr0&NN8aGf$1rːme1_E+aH?k?Ia6PbA`:`rj lW]/sw|9)+8f3 (*sĻ oDoIz+" ҅[^`Sl󆂞"L'?L_K~xE2~_%vѳ2X#aQJ0PP,˟S"6Ycv'?g@@%[p(kBvtRAf$7ĤT8; # s9lQ2+ܢc~i¨ԍr.odef= M9$@Ke[_Ug-b}!wq.[޶1Sd-_; $j =8_BToŲ6M?6sqL$ԱNŽ-Z/S*.I-+k.q-řӐ<3W?F^ʪ.__iND'*S>Q>tQpzο@; Ƹ\?< Aft%=Vm}^>^@씠$8y ԣm7+Ϸ3 bV-OPkF-MM<8dzavTӊ/(a`uY~w|zHHZwd`U.Yw>х n E <,e6&k7~t#Q _ҡKU>8~G(-W+Y¦Ļ's z o2O*ɰb4 WYnVY<. 8Sv8 v'2=y{V!G#Tifĉ _a*)zھSvکp0ۭ e.\J0Q%  x/ffḷ"si.bN0i.@=@#!B0L=W>f-$y{Q4!ZϳTtkpdz>C66+PWTt'9FnAry6 N^Hޫ8lu_ѻ%c7ލ3$/hrs}+ r_g٢*3y*"!33 5vG^;cs{y. 8Q".lH],W ?8"o3_\_8g~0 h]݋I=gL.>1w\sy r}pBFZMugCŽ= "@deFNk6!/0 <9g|cn:!2cB,|ǝU0"S/FNUʵ_TN/z0ې]$Tp4@ $rl .ga]!$o1əh/>r-)*c%ux<2sXA5 r|ON8+moC@Bft$3lyu$~R'K )vf"Rl5p2;0,}>R⦘8D̄,U÷83)G6V80/[;Q&>{=6))v 'NAe9jlQbFr '@s W%bqkn22o TNU״-b%Kj X7JZr:=-˸'@ndv1J #X_#L ec#k!10 +tJ$P#ᜰTc.(c]HA_JDwͽT78Rާ|*iM.j\hET TNjjd{'DUa%͍ wJ@2FVGC٘/ܱtV7ˌ71~|i0%cclu֐Yx^\ ȡ& 4O);mc+$(y5igt@y?-!XN }TKcЍml\wZ<I؋Y<^ިߊ-_Ԟ_`l6BF 7LԽ#]TA#Rx72i8j#iC *NzR ocC Ә(0QiGDAYgң3#0)#׀pt}ؠ&LuKr"çt4F!AZ:7FkF8žٿSe߈ f۠ji[+E"Vpߪf(ħXz,۠(SДદm\ǧ*LUI"){F7eJagrgO\!y`$jWF +~+s#W1⍻l3B́k2: qhηidJdïmdvTfK;f8Z~?~4_o|4WMXM4M=Md<-.y-ArX-XD8H:lSMRL6(XfPzH۠vj 3-r?l%n5QE{i.xcJbrJx&]in9o޽߸(nkM\ c.qQT)&n]6SPԁJQ`}8l^KγՕ]BӖ JCp*zP`hI¡vhX$Vӈ=#sr@k1O^\v_f}U`#r1G끳+i,j$͆fEbMl(]`Z_{qhBBlrg(t2*qmA2lZ:['\|a Ymte\!̳n$=ػ┊5y("3$~V:{7 ysb;0L^;~FgEЁM5(WE/IA,/nOBa4v%fpgQډɁ<]jG@|ݪ ӿr^v nXX(z 54F5cm]KmZ AgX"QD2#ԭ@Rתb "3zvx`n`Vw._B ?mm/uT̥MÝo!4ٗ2e'6fT"8)x/}IAK8 Mɲm">(״;GFj k=ۃ@IA41MlZĶƞ,F6Pct.U%7әeMOeB%MĢRjcdx ݴl1@qe:?X/ϽJnO dϿ Wh~Ω%oʵmo[g%^" B*Pdѻ<vS1ڻxYk anFϿOOԦu4g{ʧ_><8;~̣/6# E:%ZN@o챉ùR2N>x zkRF'>|keօӝ}q*w05m@ x؏5 N>w[U}+BĦ1P HĦT1]ЭgTt>BWUO'R5dd$C看ZTPUrbbr1`@m+Xʬ]%SEsr?~̴`EGIQdKNyHۚ_al$vR]R44X`NŮ6fׯTnm)OqUl<%zoZX좬>NdfsoZ={[c*RV#vԀSV6zav+Kւ;uyf))Y aN6HHA mՎI ^̥8N ƃ^Bz%ԥb.ugXN}!m_ya/㉗@zEF&d:DSh^4 0` * s0lE2 6mNn$HK6͗~Dl- B%C}^8:9=}7Z5÷x髳{˟Ni^jlyϒU9~MG} \)<uS$4Nvz+Xg8i0*Eg-~3$,6݉f0sGK iPɯ~=PۆM]&R|U߻xi)#avi $Or W6<<|plE-IŸWK<\j?T= :)IН{bTk: 5bM{OeVx(ۃțb"PJR{e{3A^tRӼ^A35]է UqF: 6UUM%ӰjUAjf;D yaU'y3OIm3a{Dq!sxt}Eu1a!iqmI1%e +3~ی0zgºrfl*0 ?|z_D(.Z.t ]q/Lubҍen̅kԢdf-'nv X0o=[U~fEzAf/bU<._ywaԘՇE7O﵂l(q;֖kIXb]v! sxU‚fL]85!Fֆ"-*o Gۑ5R۠k64Ɯh&B5/4a`9޳~uoǿt7)p^)pY=B:Wdn녹uQ:C2R饔1,Gqݍa (:m4I%h9d2Pzu ӫ2Š]eN'iUl([қgƵY)V*$i*a#坯=Xy~'߿y})(cq\˙ܖg/I#Em*UnFvN 6?/#. ~a Drr5 8~X.>'/jDX7sE|]q&& T :˲OCڃW%NO>ߝ;}]{d?i]_2}GIi oG xT;[Նc&N>־PKN#G :tensorflow_federated/python/core/impl/type_constructors.pyVQo6~ׯ88/(]2dkQ͵Qarb$ZlȑTUߑ-J$}$^+ } `vѻŶ;ϟSɎBBK-ԌftC1tQ)JfݱciU:L$_[4%<ڥ3"D{rR4E`Si䌔9ۦAkC0`Ļ<qog:$m(7.L52v9SA?+DB9Y#MNj VQ\33Eaj(l6+SH>@H h rFx ƻ8ysJ]XD$.~8x7h~nC?Je#Ifu+g{f!Fo(ʼ +! ܖ+kd6s$!By^ҴLhZ&BZp8m?a5֥BCGnƹ@ѽac0b`Q yކMB7;ՒGb-(r~Edҡu8eU뗰CHmMb4g2?DGkO^3A.'7bOqTf΅ ]>vY۔5mY`z+vӥ*bFrc/6ËX.T"L크Y;(VA?4PD$ s}׆6$ xD!E*z֞Ax.vFOnاWx:OUvbi!Y0d̞^Q/62wXLV!bGQ[ع7NW7PKNBDh;tensorflow_federated/python/core/impl/type_serialization.pyX[o"9~W$h+Vb:mz[( RU]a=>v]"tFs~;$L =L~2=*xsa=OT<p $C;$HY`i57C'WZއ70W*+J8 bvD4GBVDk eF%ka A37/B Cj)~V2~Ƥ26jw9J}i~6 -&/Iĵ R4hVhf xg5nZń)R6B%VE+7`XW9LWd>Q/ :y2[L>> =d}:X{hq95S[F]vv݁XhMmPJ$ba#" פAs%X$mr9KsLQHU2rLz"J#t߻6UXS g֛Q/y[F7ȪS'#G$V11^,HL,%mPN.a˭ bks 3FmF.$@*'5BUaK RP޳*L!غp#bmq&n5ɘ;ti(VD񧦁fY~PyF9c-&Xc=76q\: WL冡6tf~眽/sEl)6BJ&%&-5RPaoXSYv8~qٷCQTm{H:{\܏cvVK/\85de&gwf9@>ZV_Y2bvڅin6q"2哝OZ&`ԮOc)NdM), ZpKe+j7o$j eS80rN  pT^ G%Q95(1ͤ$W K[X9tU U ~`u}{PT}M!hgnUTArZ'w92pu,/M`s?kۆK5}t xSepqsiv60vչ ˞ JsB;-ct<ZMsԄjv6-!^)3~]|hT0"HZq k|8+{Su;W.T~!^EYoX҆O$h哬`^r͔<^u&]69tjJ9Ȕ7]08QŢhϢ8Zp9mjVEsa.w֯ nu,*[hz?i ڼs:}|VRAqݕ$9F{J7f*5Ѩ|(iw^G*$t N37i |P.NxxBU,_ˏ k?s1t]˞*SMJ=ʎmxWP[儣' Z7t$輕5T=.\r i;- 0Gū @#_{=I2<5TQY$l n_;88Bh<\ğNoE; |Kz%PGSV߫\ZDp Uݮܜhai ةSXxMz?OUs(A?YH.= _ p/WvŊbPKNtI,<3tensorflow_federated/python/core/impl/type_utils.py}sF+'2E3):{N|*"A gd^*$MVHsQ*k.vV7gԋjV=wuy˼lպWe^gmTwФng՟|Ow%W-4zy3QMQk5W_j6^UvM FuO|۪Tj]Y}R7Pu|Vw*k amW_O3vZ7_?~ͻcj\M^U5UU][!uD5ժ,]QKv?ze;O߽~7??o_7_SoR/޾oWӶF/hbSY 3LϾma0дos ly9#,U^0OyU]mlڵ:n5uw}, Vrv&zӣ<ڶֿ H֨r5'~n;&ן$+ hޮdlEe5Tl]\YYMkfnOϐ4sB m;f-go}w:k=E5c_g|·kebf|qpk|_zż*! 5<"ԦE3@7 БPrW۬nl !Ƅ%4D Ҳls1G M0 |cy,dj&@@fR-6SM6M@G 5*zoHu׻b * %Qb~5%Ff >ƌN7֨DMTmÈy,-m / Qy}\r@ "$bq˚؀)K֓p◳)3T^ohv Zї"%> uf|@j\~ bfIޫ`AVu3n@ Yk79F)RC 78q5xphriC3( (3xѕ!8~ӨgOՃ%>V٢3: d*uW7WlcH3h/ ͼCZ.5ЮŊ1W,<]t 5$LQh&;LȩAcΤ߽%S(n<:# -ZWi|5o6.]~%Pޒi=KیmV#iE\[nˑ3n%H^;xUDžuL+5{:1G l'pNB~ k'}-OTvWKՀH6$Z@+^w$[| i`<+}NQm]-&,fVUVóM1jj4F.Ǫ @ϭSeG!-`l@V If:1NPzfVmUC?_7͏@[/ &WlnrrI@a5)+%0!,AC@og-N$)[z7k + 998s Mywב5Pσ @ZI FaXN)ZjBuuZ4039Jq-l.!?FhQj&7πb]UKճ@e87MRTE@h&+kf1Ki1p $fsakmh'Gfu"A!FQ,_i55AĪ>w)0~SV8s yl,!0f`%X-Fnam%#ApdV2ND ,ksHgIA=Q}'2 lvdw9(pAXUu4ŋ-Sв 24pUj;pb ݢN [\ƒ&:F\Xܷ {VTWod2f[K٬Js\ h4Ms:gGլHw֠hh5"dzF1 B­f3gˋ8I]@xIhš ,hy?uwY11P s-fWoq0 lY5Z ͵ȬE`ꩇd G" k3v o:%Ɲ N>9>)\ׇ@k X7OZE?8$t(q5UR MUŁ6{Aʆ`0hMb߅'\uyv(A "A'WF'OS3ir t,`rY)z mEphO{'=qԮ7/HAe&no,:4T']kvw;׍Lǃ:>ukʃ2QїKh=IvKA EMbW^pHeM< A%SPOO^?ӃoT;<vNѷjJZ=Hd[g/gm_(ƒ08z?PdlCH7Dy] d;~ޭd!v'];h`{ Cn&0oK"ITfH>(2B/7vϘ1n iqDaƀU~@M @F<`=pCGMDv9Ke=(y{ݹ4 Ö`}Oj3|nu38;sYW1;p W*NưP@*&H:urr nK͊)+me Iضz:xv`U> v 'a8#[,ҚwRzs`>%~KMNaݢs{!8v(3*mgwt:Q&D>L cʨM;t?izC49cXsx~UzH Yrq4+Kv*W:K1(2륲eW.'D'~N3FO Ӭ:}Tm_iYD2 nQq˯q0 !v9w\)ڿrT[_x]i攐F)ziͶ+4fxdnD3c)|y{)6j*`y9 dlQIzBmթ[pIstr큺>D[v %T 8` (ׅ1@|8QA!Ԋ(Zeβ*/+]`/y@Q!O?.Ag#|m搇UJ*4"0kO|I'*)O*栰 O Ri\'8q705U6{d}* V5x!$,r2CΗqR!Qd͍C8-Z1Ca][ݓQLmUb& =[t'aj<ϙXeuOH(Ǵqd*).ĊUӾ%`dfc40F| p#;#xLN;܍0>vZz,`yҮjudxAn#HαCΘٲh2T%s@Z jvdU-oC)e+gRރsosL^y[iٞU: W׻Lơ5}t}Oy?cH(u]J\ +_#cJbXe@KKǝCeEpԓ1RbW&Ȱ2uf ӳ+~~ByK V-V fj-hlS^?}ڡK'5^!T&KT˝ppYxжKDL=@"c&&;g|fgS`2HQY5nD0D +6H-"SG s)ZL6V%aB6n4s iF ݳc X'ydPwctV mYa}f#swΧ.i$kE-)KQ3GCפuQcOS-E{X1k(PHʩN^)Zl3"T6NW:Hɦ<䮶 1I7Fs/@s |d"Cʶu|B,9bV<>,(vՉ 9WB*YI0 K՜bځyhWUv)rp0F%xTKnЄVRb!\k75o~sTȦ% #O >a݋Oɩ.hxN xT3atj 6NL9vhŹd"5xEK:l&'ǶKM9rXQ)&56M6[|nȖj+Yrl7`16g F|Sn\0m"ZqkE:đ3~xq8F& d8d[-sw ^[%hS%Fh<2!Q'g8?3\'n..[ӇCi|$ . }H%R5|oNȉ(Cuk~Z-k])2} X ][i7$Kt\m޲.9q{256xM0YVxHFaJL'o H4m$2ՍYsd%i-S25q5'Ũw0_|wG8َjgkkz[?>` TYK;o`x}yxOkgUoB8` ,{@"Vf@tKz5@2}3wh{pJN_7 YZ\ 48a'un&Wp#X@)0Jj]sFAzxȔZ,t<EaӭCI}j 2ca}'`¡D bD NIyWE>סt"'B }{P@NKH'"7`,:}0t1eےw}qαk$]D;UENǴ{dxZ;\(ߡsBx]Ӕ`ՁꓭCԝ;Y!-jW/8/!6˶a .ؙ;p /6X i7z!#w^E 2hB7Vc&\&Յ1T"@:Zm\aEz\qt5wzk@nH)n AboXY O|i]7e\g~*IK{X7ӧ .4{OX*@xn/j<[4LF (a0 #@i7ESj + 5{:+orN4^F\1kd\>ʽ\x]԰U\Rυgo~Mfq1wm sh_ r`@8Q AcfZ?GGTIo$ qU0ݳSÉ׶ ^*Hl/(XHwݽ%6E$>d[ #nJV=}nJJŸK0Q> t^ź𳓘9$}wtjl}w Xnb]`J{_Ӵ<}B0$Ђ9>LJXć2-P6˸&6̏}m,s]C| ~Luؔ +nb,.i:XN㆐(,A6=\Dg<_Xb{b/?)VM0ôX`Ec8y`wsbpUthyAwEP%ս-[Py]%/qn(XLy'"XO.2w2[ ' iI}*$QрVJ l&'~:G7p:h7d6xW&jbւr^Nqh}1e}as1ϱx{A2f3'k&I|Wn%b„X9qh*ͪGy 9w&0XԧN,烬*.CdeDpyOq>iR CPYkSMe;D2LmOgajlK qI)4;Lxq]Sb~=qxNnQ_{Վ FʼnCOx o52QmTq܇ __O/ 5AXtmNFJC*" 4L*3fFvYBIS8bxU.QU`>/%AhJK }_s`E+FsЃ<>pݱsb1@]9eM.nK51^Mj/ӹM3(<vfTs #^/y1h0mXBfFFq#5r!y2SK-Px#6%8\ X_'ٺ{Ȱ 㢚pA]B@i*ƨ$tD/f7K,=^!jk9cY,bȶsv0Qe&V|) `pxϬKEf2Usnٴ I(ɸNPPIB2)2qwnбs.mTpʶ"4b;$1JU23zƺd|Q{]̩M = PقR 2>U?3 tp5 `2> l,`N&A4^9`YQ,?:91[7TwJ!uP6tKxS!O+r SSJh*. PğQO@~Y JY^FցYnZz0IMP.\"r#}:=&sp6x{(ؼX{š&ߡI{`^H,7Rgˮ*WB4e*C#0daY}=K?*''YE6R, tgisP%c P%݋.w2 $6NՠUR_GqOw&k@4z*,G, 3nv×%L@s_t{:.Xqq-1%bF<`(飫-dZ@]oD5~Pk_(Q;Aa$Vt܉WgpТK8an=Tzb73 rmaa@7C<#Ś,Rzf#"!E5)!E<afb+%rÆ{ɇg1Յƿo:qI!0. st&+;*I`Go')\^1ؑE!{i(IO;Q!P&餩Cylho9yG=B`I.bG죈!ܕJ=ЎjOk,AIhG gxq{Zۺ"~$)?4iu͵6:P}_ vdY1;0z{ CNTg'ZC &,*-J+:uD)m{B5r]XjF0 A c:^KCWl2af3R#1^K:fKeJn}n -Ao!ZHrgי*:8x|\/KsF9|5\G{97$|ۯ8wy[veIwOk }t'ƺ:fvsh*)c$B,gnC1B! F}GT=g/- 1vi~+&`X'`5[I1Oz'i]B8(x};e)1'`'+OAG0P&Ӧ_?t^CJxi"s+`4[nXTD}@R;Uu1bҝ+b(#G'^8Ox-E&vB3 .^lUa'e4rN=&I 8?BKQ=>pKѣٓ+d#NO4<tZQņHAѦ> v>8 뼑?k<bܬ[e%Vc8 f%`։M_]XΣ s}Hx-nq!>G4r Aռuc 6߳#G>3)N[Z`7lWI;y{.;/{]u#eBKt]ME^Z%YRg^IU9H.6}Ws/hpJT3'ώ 'F04;D 2-V8!!Jn4.)F`C(Mӹxe2>.5zص,H+ J9zW:Z}3_Yʙ#ɳ<۬JEe}&*7륈w!Pɜ8VJ4 Ȉz8Fv߹J x4KzWN`#eQS bHkݕ*y|X1%Gzԣ , ^>z4858qcSLu LGquV<%>TG 5*JcDe DH9<6^C!1 i$Hf8u@41jB,P)o8n n'R%h 2~, uF`%&?P~k4ʛHP?c[dJ.2,S!%iBb'l%jd)<1AV!'CjOh1 Fx!@{wH96Af'm?-pH-]&("ퟯ1C1"ł @ЃvjQk;<&f4`(e%H5VpTOb:$_iP޿nkQ,GT.oө/iscԽ{8Zf10毈~_K!M܆# 'rkz~ixR 8}CdT0mpIe#E?ҨO`s(9/ϯoӷ5'~ڻd%oG};E*4&=4R Q#OIL 5}\`zr U@iaeD죋wCa$AV>"Pv}PǡPS0[-k)Y1T`,R36O{5,a PBv܅i&:Wm~jLZJ`' н5m{.Ougmj⃕̄]xۭ L_af-v:oHrWS䉜P7W߿z^}?@6HNx CZ|"ʵRRZNOxsm*ȤbyAx-V{_`sQg@x8r:OI\WJA{w'ڶ=|k#Fڜþ`23S\77 wx"8yqryrvuGW?q*r!?C s&X Tj`j,]X H00τ-F":^;DWo)NDQ:0pӍtK0YNe!SU?+fll{^u WnPXSݾD9(M7[/y=KT^C-XmTݨXn5* ݿتiͷ.ոwPKNwcN] 4tensorflow_federated/python/core/impl/value_utils.pyUn8}W ڀ\p/7 +-iidH-I1;Cɗܼpp\I@!k}p^X:8?=-dڌK1hF Gu%3up4EFn%h ΣSs@[ >Z7P5(HB!K|Ȱv dK)Tn@| _[yZ:WONVU$Vh-:_P&D+ 9̈́WF:!X]0H(yUkC@ z)L=}4LC6IMf')\ueLcz(N/! Պ0")sѦ%dkd!3:Z4bhj4MKrB)e%p˳CEA׻ub`TަhT֦n&1̾Z_8sD8AP]Ak )Fꒊ﯅^2kC3nu9? @Zl jg&"QVZ-պҍM]S0uԃ%fwo0HlmqϝH¾?岨^2'٤RgwoeR/AX]5Ɛ  R+YЭ}9¬P3Rprt-бh]Q@pG9l$\Jy&3 )fXgA 3'=G+ F|\!d[CW"gq%iU9뭒FsEs=a:"XAEm]ESĎh[>mȺx*錢c3;g`0rԳj (sA}J׻6kdmqb$.jOS_N" yZP "|>RѸ;KBom|Ø;F[2P%z"x0N'}aCEPdxj) I"IJc=fG2wY>ShatBf`t/w>O E0M=JT\0vij2SWs[/o @dw\A/PKNy`F_2tensorflow_federated/python/core/utils/__init__.pyUMo6W K v{)؃6Bg;X@I#yTɡccIi.gSknOH^"@Ylo%~{/]|߮elKu:AIK@睳y0#d2JkpY+ hS'&)-2u&/)r-5&ڞOY$= J`=YbXabY$u 0#1zs5\<{~NM&IkS*6ۨ$ɰ.2l:A KΆavGF47 $+шc`]i0bU 7֮:*&`DE[DD|8\r(}F fcqf-h[OƧjRFɷg ^*~yB /pyrC1Хk1l*尧&6a >k(b >؄')>xTa)B|?}Y#ذɓxCe\Csik"vˣŽP2aTa8,T ee:DZ`\2RefmAb>TcrcQvC1VD2PPK& R!1"KdW7ϯT\H-Yx8n 9rW*;H&I`rܐoT'r\/21Xq Vuː Ja'β/ çER֤yT|5Ez@GRII Z@g Vӿ4۰eѽÝq1G –8;FOq 亵13[=@qظpChw*P߉8 `t~LY:-U~e ā4bSDP= OUFb}"*d:>qS'/ D tg"frpXE/\b%ںАЄDlvݵN5:y#j0̾m'.a!T+8e2$SA1Z@Q|`OW5 JbP}eD<C@9scdw S38StLLyҤ ͊<4l=l~[E/8wO؋7zrve$7qaҴ|1n;c2D8(*v笍xM8߯'!1t1`>l}vKXux{_i{I] %qFƑ,ߡ_\cq}Tp/ZR3 /bd}$ci}7'|-!I:ȪFwReD.J-Cگd:, )SlvQRQ2nr{ ]]%ԻDPOv3~n;iTpJui;֍Wi $UQ ZrsĘL$.]A҂n;6:EvA%e]cW@c:*P@r0!=rw5s.(jO22~t؁c7w|+npw=n9N/cTp}?s,LUb? ꘥zPSN{Cpm֝O"r*lgbxKy Cd&c&s]N&iv@!ﺮRcq 'ԯAOe//p5&Ưu;.y7D9h]P qC{T(:ڱna;U]A{w[ S7 [Z7{e>< ]m )-"Ckm[;v/,b"E7 i}BIB iYN7> `8Mxԥ#E^],7w{g>p>ugя[Ge۷hdښ%^6]-T>mS=q.T Fv!̝ ]ȕ8kAw CxaA}zQ~>D.z1e£ˀW@3ݓEW{[ ~EЧ׎ {/K?n/=W߯Vd# ͨs|$}h $55*62ܧ# ?NJ:)4Am 0@4Q;o PKNxHZ@tensorflow_federated/python/core/utils/federated_aggregations.pyWQo6~Oڧe(0/M7cnbdZlTwݑeM0`yp$xwTڃpgPm'pnUϾvׅkVxQ[KzOpץPWkQ%2 ᭴N ϓg'djؚJm0 /PZ|oyWgo}ufI{zZIr|~1^|7΁Y[:Y  be%~X^ oejQh5᡻/d4~M!x7tfFףl|1k8W|{ {y`TVe]R(rcG(L{^\7Q.;78QPG~B=ǁ- 2 |19D٫̣8!Ka~{f¾ $q@ _HPKNO>tensorflow_federated/python/core/utils/tf_computation_utils.pyX]o}ׯ8ӗEn`( iE.vyw=KRIA2c̙3CJ{ʃ_37Wߏi4{[LZeF [K/J')5PBvʯ1_jfV /wבp///w]"eWw7w78Y9򿕲@T,;2JyÀwVyWcr&;a%dy?V.M.a <ϓ'www麟nir {z~L1r_Z(3vڃ'rR*W)WXIZסRڍrMxjaR̕P@yӰ2-)RnCīp+An͆9_XxLejK7zة}s.G>y"I̪=/ҵpчWe!0Di-ǯ1`%X3n0d2󭰊9Zl/4Ű95Ʊ``|^&Meja%qb<'Ӽ=pQ_pyyu۫7ߏfY|:؍s:4ZS;\BH_ue&H$jf^uUD9fbiDi=yx*~.Y@}:" '=~"< a7jM=LU)0βr&Mi5<%X,u -X@p*SN.E*l<)B59zRԥhr۩ oȽ"Dtܙ`?Wrb-#(bzOSU)q4 2Mo^jk-2cl&ŷ"~8% kтqvqۆqqv"4ʡai:c ^h G=ykeg? "߉I_P'dPKN.$0tensorflow_federated/python/learning/__init__.pyTMo0 We2i调뒡IW 6%Mf~ t[\ǠnQpJ/(߾|0GiT s 16 (Rd!k#b3[yFJQt< \arX$ a>d u%Z] ɀJ'4'bu9}<mNmL9z_&R\ ?at \$-(4H>'d9 rĒ HխA ~q a% 6^?d5f%ˆG#hjakZK%j,a9MJ݂KҥUx"JXXOȫRQ+* j`h\c1_24ɩU߻`^.6d/hu;P_hsEP^c߇Fkf^nХri2zҽ=vyD.fr}hk5NTvHci$/֢fvӴrbNԥxfѭ3~l^xNK%n?=?öʠDI-TQC>_ppԛ:c;`}Wtqv!6veѰcO؟|~PKN,5p ;tensorflow_federated/python/learning/federated_averaging.pyXks_#88eG)9ēf2XXtw!} J[$68޳RZ(ސ+Q%_,59?=6$%#SV*!or"7,eja [zo`-O` ￟Çt<ruw= H9  {$Arđڄ2aRKxȫ\tB<2YB:b T^ Vr^pMyT;::++XizbZ|!ezTY pqE׻EQWM@Xޖ,sv"ey\ko2I ͈JCkM޵^/)U >|\;"ޔ }ؖ\,?;Z&2uCH2`\qX$`b(qV^܉o֟d`Q.K֮YCPdHfP4EnnTr_C_X5L23>#ɐ8 cJP@P;d%#tزxtBM x/qf,g, 5:BCbe]A[{ w'VRyfHe[풏X10fq";h lt%g{,a>4)𐣵`wYshֳ\5Đ0)zJ({[䧟E(NNJPLCYY{Cy`v %5ARQSiP-zj4FWPM/qtJ'+LvƠ=Os}:;džYBS6.~߃/a7w#) GO@ii`zGQAuдNbzŎǾA_ 6 Z:.i1O)!E#G[؊g.6E`0;-T'7hdh[ME[/l!blG^WA;e|7:'O-a  $&;g޾ M}ëGMA %MK(!pnb1z&zK 6sƈ.`_ \.8??}vϠW)Al%HiΞ`>L!YR@z !a$CĨgUlT]03C%#qAe@g-y$ o%ք6?lې;V.ϘG?O֧>`#Jĭ%7%hzdO /pDT\%͂vP`nbo2EQȴD$R##eI^'{-TWܩEp} l6\j`S)Lkt&]׃HOkӴb iLF( d0n__j(P@& s+ BBʪL&a.L 4C v5C 0i9e-n\Ϟ#cVZhuwV!fPX97ZX! نi(0V]mO:ä0aÛz >>Nl G[-jOs.?8jaJ$)HGhkOd2OD&K59k@u) U Q Q ˬ;"h4`(*wyɥ7d]O'Vj"Yݯ뛛W^^"}@E%]eE=iZ5Q%-'{&))_Yf>#fb᠝#.Tﮟ0^r21収TJ(wD1MYxu8;f* I5R,aQ/Lo7ևqix\q!eO&? >:@Vo1lJ'0[8-cQRIN%2gl3W8%Y9˕!oOlɌWZBnϸbgdRt >ӺdRWZȊ$a+kR-!Bh!",ׅ`UF㙀B. ί[=G ۟1ӣfCՖJ<*I}fz44?Wך(Z(u%l ljlC"l83(aD0ŁK&QbQz`tU`2%n23yrw7]_N9]+2"&|bZ@? 6弧@.BzS쪖5[r\U`YsU Ԡ^\ Q Ì}(::88TV*/y5邰b)iF3LS y!* ht.˲ e: A>p9 7%GQ_@3l)wWxcXK}RA_Jܱ|[)\|ʵp]q,%2Mz:̦XU}ҏG`3-wǐoͿkU6IԊ' :Q*(څH;q~i4-i BAP 2'i'y'u>GHCKY%X4JBRxz2"DS2x#6_OLsJȵjײ:=LF`P&tE1ԽaWR=|!P¤6 xi$*a$c*Ԥdñw$yuv#+n8A Fթq:赇"Gxڱ!N)yޏhn7+R 4A9 u@KcUvAAƬAxgH'@]!3o'ܶ#Yl/CC[ Jt;N&膗S̑ԧ!2ȇAE1$eE/;`dl(k9 [lW+l}8PG&qǥ}lyJ6:S0K0BYĊ_*%Ux bHQSDa|Q¼^bam}YRjF l̙(j[l2 @>#lJe+T1&?BB7[_L 4D[gy_ #f)LNnsA :&&!> ߉ˎWdv{q-NNޞ99~|J8)gLm -S_`YEAWԆ^8K?j)X|v48\5tahȳC/&0 1d ޹:|N"Ja4kzEc;>~ԅN6s+#TZ-у C5 ZC|'ӏ*0$T-sy̥5ƝR75 <ڌSaCdv01=$ھH,~ ~CkcXQL~N뒜/>xtl x#Jٞ[Ã>lv=L:?Ikk"fS(H ʨwL;@C6{ {wǽށv  P&vMS8=H ;tk|x[`dOrOY'z ZɔCnZ(8 r7iKS =pѴy)EV%abRa = %Y=C<4.v귰E]Gpk]aDۛ"5s&M7C3+9Tj$!Df[z (4Xxk7|O;%`u%LD(ڙ%\82; mԂn5_+ *E&N5wDKk/0+LI8rU= ismӴ&zZa/3F)Wl2Enqzy.᫨/ofƒ1y2klO󸵃-۹8_=cHhA\e3}Ap=] 2l[XȾsPk쿮m,;7> 2 Joګga7kw=[\4{ rR;j/YzbӺc/ꯚT_5S=ىsnOfδ5Hxל}.ϹwԱ=l`x#!2:GDAty[$w5D@*ٳdeajىlMR/n{[4&ִr5ʅ $VqsL ս^:Ďc7j.J0KzLXh`tp%ZTiB2xC DMա]XY嘱ە?FdEUyedz^z`b[C.iߣ@g9'!%$CuNCoSHp+ȦD̰?QD U_ry7'MRCZZ(tfI\0+:P|i0CFi\Đ`&>8j[BSa1 ;?IQ3Mݬ%d}(,NeQ"P/ρزY6@%`Md!7bT̀CIGyE."1#@pTCl7z v3\gGT ab*|iXbF Zg89qlTupi0#aC;AWzӮp)b6,͒Xhw`q?qcR,Y`Vߝ9]z][`:B #oJM28Э\ Fk]tVH K;G| 2+M:|j|amXKDmQaƖkcȭ-* DvY)H~eZi#]F5ӌj{јv9G z׈' iFS(hdɈ` i#?E|:Rs iىci3&ow.niVnow< ,u7AKH$w`&]De4R>o_)`rē[_z% x@ _Q ;Z0? qt{f]%4rrI|ʧ E\`svIsgA`>u מb1DQE%4Xꎏ:צ\/3s˥h@G.!f&Ei2p`/)9sa ,!_Fk@ln> %*9A/ˁI8+hvAHKJ䨍#9V,b҆^.%;uh<1)3p1c9fBXXW [`ˉXῪrTi(h4J6@.g9 *mP8ճbkPuIv (~R ɉβMXSܛBgȐK|9(M(1`?{ig,.vd`U%kpw)`->)WRaQGzR@=w5[ (_ި3Ӱ"iX݃~M ofzZmiXl/$_br#hJsoY:g9zj⼩6s X0ɶ!2zIɧsMK*{؊,IڒI1zPtn?~vŔ'S@߼ A4B0X!Bpa,;f3̈́4%ϔ. Ln cTtw [ \[ER(.2^  L6XGx<#H2vx h>OѠYؒFk/xF V?*f@_}u9g-O'n`k-㮏~S얺睉( "y(э=Dx@n1\coFp{m*O0 |dżW ,h1B`^r\QɶTxLE\_,8:W7J;u4"<]=2˭ !nUԅ0>q:.mR#r*`1 RSv*s#Ei-0Kcqr\1b]VņMmJ'-8+$g- ;jE੐O2R ,(O| L`bƯ^M8Om\ldK̷QTI6IŮצ$ُ~4;/_:-%q"-˂CGeC g9Y NUFM. {9qܾe:uw^U$q4, ͅEt: AQ:̇st+uubRAi#6v;V% s@ctї3MyS' i8Fsǜ``EN|Qsx?K5<"Ncd.SK Gtzܟs2v Bhoy6 Hn4x4ጏ&p\C0M93悡;;2#(yޗ1^!$cI!~:p2 uwԮ-A#{f 廓JY./[x(y n2su9co[X(\`}X2QMEt}dYR -'=4'PKN6X ^!-tensorflow_federated/python/learning/model.pyYMoFW4&KL'ƒLlXb!Ȗ&.﫪nM9m]]^} ugVpvLP]f۪os0upr{ucJukJu ]UCW.#~3W+5įB³N?ڵ "lPk[e>iUvMeu]햯B5pVi?t m6>Ӭm梒'shg~+柝ut +xZG mm^{) =VRFt\=72~]~q{><]~_7WW|n<%-єGcX;Q(4k[zQd| sTcfz%Tvg['/&o޼Z*]#tΕ \Ud85۩rݵ7%<@ kɒ}xd>Yɤ^_ WUFd2)* omеMN'с;S]SYB/gJifBRpWWpnUe`:A*ow؏<@*䐡r ]+54Yuj3ϡyN*嗜ЕF GrY;&PY[I2$&jUm(9 „-!hHښBUvPN͒R#nLEtrr>v8Bv>\ ƒ`!o.خY&e\otd,;jɮ޽":8"S H}0nzk9B (KAO*А}|N [Wu]2M;IZXX3DN\A@IZ8e`p" YP ,ncjXOr\-ˆ?SHHfkH0#-ۄ׍[#nn*%>#>m qOvAlae?B[+:d@-bu 17:4? (,}9a~~1T9)=j)/;$A_SYsɃTly]|7(Z&_Q/2! bA,ʳhU5CDfL_!yǨ"(vli'f rȨ]}~Z uQu%1g~"L$ТIj̄rN@Y8du[|%b"ApcHp@2z&-7'G5TUGRԎrm52KSn/zt |)E >Q]4I~*zJqt/rRC9GYu*;Ud 6u!-mntE]_|;1h0[T;W:enTN`UkaҠ [G?*= Tmԕ V`JhJZ%%#Ef'fgɧs\AmV#S e( =j4O*#n;b0> .&; yf:D)ʕI2&w& a"꿚+aC?8:6:k 3ob'pjf2H ʳC7G豭9g. v;3࡫robi hCfA v;E [?UQ6!@ 4 tt`ϼn9E$ȋBs f`<p{Ouݑ^}O񰼱F\y [C'Ȓ>a;OA&Mlu[%Нdž&&nj'iꇌ+Loµ^TµX TEGyQ;Gw(FS\71,-'xњѮ* s&\FѣĉxÌ&dM;`lXUF!L@WXIlrIc~N5 s⏞uaF0u0;xlhG)=Հt] 1ЬX\RǟtnK*QMmV|u-Dl'!+v<}a!b{x~=ʧئR50[G}RIGC4>m/(GJ;£Z,d}L"C. SǏhb,7,lE]HD0O *Uø70A_B/f=YŢ> Ee?qg֕ 5,hL%UA[fĀL5j%uI; S~}ю:>X[i߮=x`^/ui}+`Iq7Y:Oc]} A2>U5Lgv2x{rV74B#*@*ٴ%SNem^74`5h Z:DS(KTɁޓH#Fk]~CCQRppxGrbqZ''zg@SGPK^vc# Dҩ3Pq ㆰF]2d˾Kyr~-˔`m#ʌ~4lB|;F iYܕN^/7Jd~Վ CF?/bn"vJQC Ǿ⪑$GE}SPAH+5!w7C^۳vE,m|-[Ri2r7۝ yߋrN#Mb/91ܼ;hG˃C59nchWD=a2u;!0zĠs^IFl/j讼lozuu 4p| PKNP}'3tensorflow_federated/python/learning/model_utils.pyXmo8_A$b\u{r(n`kCX -Q672%)_3CJ9męg_K^*Ǹfmit`zث~-7-ܖznE. w"gXMF^f@okӬN0Vj^%?1\ɿkc!-+d)1XU)K!1`r9WTt;R6U/_6뗥/,o^IZf4`x e|j|ϴa|m9 tRK\ծF=0:&q.fl~S2_riɾ>~-{v[/w xeůŻ)+#V%%Q{!z +d+Bf`Z|-ZQ`JѴ^(JybT2d)݁mMnI^Gģ`&ȜMf4*޲4-jWh6+KYOr'QS畁*CcF:e)mYգd α ȟjYUU2Wi"L ˷Z\\iuڦJ0CԍX-L|#:9E@jS12ŷB+11kc9%/˦ ʲ7g!ؚPMHCV%HMZ+8]ߧ-[8x=RgNᐜ28j2f%b'+lA()Yp+_wf̡>=(6A] 32Ny9=I`3pY–L({4Adh 5d*+\2)M2^ZV".a&P7P`7P@6 =*u2 gD*6N1*Rc_*T-DSbGu4^e40la2d,6'PV@0x98+B(j#+< $YKY@ ,tDNi%PJFM#Ffa؂j;j5-N9b\a4v_֕Jt6-h\m'5 q,xT7; ad:V3S V㣖:N†;B_$o!d! ,VkE]n( W.,(Xonz*r-א(&Vtuc6O΁(VgO4"% }8`?pzr$yI@'q&Z * >kՄ)uzlEYL8ñqhs͝Y$yBA|n$1itOM{T4F춏P xwT頚(1B f$^x? q֝p{sCD6xw!}1>JE6^)>x<_ ~<'x8,)~j (P vl=/at8& uBJU3ʒ+ ʺS3?ÈbtкeӄRZ1Уz+1)t5q6qN4Sy Q#,VXK|CѰD.EjSٱx!50{ ٤&M0!8rmDY%v 3nb:q1 \oY8pЬ?c1FnF?sȰȢ{@1#7*q|SݮMme~,tQCsN|'i#v5㌆=H[.iv*3’nmŇItg~+ x1qdy3qR%$!lFn\ĞGjH {A Q⧷I1XG1=7yZA3 .ۤD&>޶b=9&qAE߁RMgC RhSogœ݌ШS $9AOfPKNKt:tensorflow_federated/python/learning/framework/__init__.pyTQo0~ϯ8e/ t4CZ1iɘ&"'$mlgYvI RTw.t9k|BMd-B*jVh ➮'t뒗C^]5+o4+ g)|G[CǶ "Ap 5Pv%ӂ3Y" ܵcр*hFN8`n$ CF2\Lv~,twn@kDdle5'<lf`UfP*nEӣ^LB!|$m}dp__,Yf}dfM;/fm<"ɽXyRY%yIuɦg BH*4[MK*B㎹WQQG/H-1MT(=#ZޣPG&M)hv6" W *AsO964d/i͍SPip=Ϩ6AҎD&v]\Ty*9}Q%ug.|<>ww#TR~ucyN_vJР@~p gR`mW(y_mh}8Bvh$x} ~PKN“HAtensorflow_federated/python/learning/framework/optimizer_utils.py(QjeJ#mYZRI C1M忿%o9+3==}_{ ),O&GBnUZ7Ջn-؝(kY]r.E&*ވz/` WwW7钝_ۘ #l+̑"C  z+2_UW䃨JۊjJo7wdٳ mۼ}!k:nieJn bXIzS'2YVrt6m%/!+Z@T}[9b<~[.rO&E!mm_~I6@%ߚE Շ׬Y꫸ǩ@#+,ݓ,i[$x)FuڴB*}AbqJFDM^ԏod(8HpܴͶm jǟѝrO:-hyyG9/ M.PH4 q',=PB +C2(A))ػ,^N0GX#X! _>U׍3[ xhD1>Q RkÛڃo%++K*H=K$^ ^[qR[P2\x-Z^D. yATe52/cD +Q2i]H HX4hNI\T,#y/; "EUVhd.m-MDCY~ c9\JTbIgQnQU:})lIv,Efm#t_-]x !D(prkdO56r6ZQoCH5 T=J2tJS"MLn 25-I!7Qn=9rUk AvB%qns ZY*hO9-ŏ[l冼6*c8iI5C ,EC <:4`zh H ؽA>RL D AvKHDZ:/'|7&xJ|3g3 ՄTZp]*v9[Ԕ(Fk~#[yv ApF%DHnx{"w leH<-Qvd<#)lPb$ii슓 {#IkЗF n̂ߌ *)P[]̂R/1{8eKHPK@eC\}?]'oLus#؉(އb(YLlhTbLDMr|l5DeLPHA8n6{!⢟>a+I;mʟMAL8"x {e gqۛ仓׳S"+d+Ѥ@ >#1[o&AZ1XU_gL-]-.FR%ZxGU1bM[Z>cܩ8GJbӿʚL$?!K.]6hbp NFX yڶn_ {e\jDccyn'0^{|hvJe׷l,g$zKur#%>ime"FO,CJ>JN',;#HW$6R&=2Y"glPV>U/+ɳxm5ѳ3-N&5Cs>sٗ.g:0+ w|0B\'-M lN/|dIĐrͦzz=s^:HLY#Sz;V4F!!~J2&]zy)@oAfrTv^߽z^ʳ=幸/%/}Huؗw ,ɖvGb ȱDSѧd7HtEa*5 @._b!x4c9 #,>wU%h^fR3?I88qLaO 5}vKutI TYICؕw# ~شU>>PUR@C i /ZA!O,?ԁe Q32d6!I "%/v,xSHALw?0_$*: MMp]ɏ4x>%OpLuܜ.*(iBX'ghc <{ t]L) ʏA@ֽ7Iŵ|V"ـHu읗f`(\Hu>ûKl$E*WA9XgYM1I|?>Tf0(1V:N" QO4Pe)T'\/uagft`'.z m;M 74p\c GDJMgI)yI ,zr *Ɣ/఺ {R%N$1<;?܇1gVSt+#vѸ7Δbeݵ¢iۤ%:& ~٥F;ZpYFDXֈDR؛bQ3vXiۙ!v^S)Ne; R ,M0`NJ?fcD;;/#ٰ2h]PN]ήj0;uŒTdbͱqJ?#`Jjde"W1F?QXUUϫ% G-1Ů8mޭeat2-yvȏpЃ )vQe S T70|wߩ0Qr9|1^C2m4R#*~V7 \Nuhb5ޮe|%<D%04yM@SƱC~v(;6ס/fP r ;Hb81,aL1C^bE1Җu/а&{/`Gvk(LX:qtE56˶87ein 7hÙS<{c&CnkYBmD))_hF!h K .6t|c}:~ FLi2zNX4>52U~$(wcΆžh Xnx~G_Wn Peq`^?u&@<pZ!W@8O5Λ8UڛZd{u3E9?f*Vf `Hѽʘ2/ӘSݚq~PA3J$@%6&43WPXn YUعQdjѨ+7Cr&;tOd ygh(C[:ivE)yL9mTss?o"=3oZ|x[1؍88Y8{| ILO@Fe&y+^ݠ' L]{_ 2HgkH8 r:*A_}T*G׃_5\ +MAݢNEˣnp |2%SN?KA< !A`\51E{Z:ltvL+=FSy!e!y} (Ncq ӒW%#՜QSXun't8c`ye8w8%vNH]xwp>Ҋ%&:L + #hījT" sbJh~zSpB-3kh< Z5lA!71a]}MWuLxͷxahWN<1el|iˍhwTϷQ<>aL]D=f3~w/N:dk"oD6]"az1P*2/ysn9͌j &/#wwyIlݵA* '*d YJS/>jD|qu"Y'_|5 § nLà $ܱ?kfc~G5[YN6#TullÑk-xZ;2I_?`9clT&{oѦS_#RcG=j[6^'FmUgPKN2tensorflow_federated/python/simulation/__init__.pyTQk0~8ܗ 2+Ff%)R}vIr$MY%}w \ V,8#굃ӯ&2VEzX`;,!花QpBEAvRyA~BI8NT;1lT-߀T:D!,TA!PnB/zْ xRqBsk:U8n0<n#ei3":]./xs' 넡Z pM ͆ {#\ K)3"ܫnQч)$i?4I'qdW x%)naZΓ,Y-鴀x|H"|'KߴJBTdVh$M+MKJbiD+wC俢 C?G˩[$ B#ZFL'j?a QϊkF2ƪu(C[Px~ VGͿ׆ւ[57@E;qm{ Egs7*MH̆М"b{è6ɰ# ܠG%F,~eQB_t|Pl]VR:å)liQg W/o #ƒMMBNg']]v7t<PKN1jF5tensorflow_federated/python/simulation/client_data.pyVr6}W/֌JKǝDܱf@$$"-_߳ b˹4}(gl.N魱TvkgNҵou~yHZLƭ鵮WQW4pć<;ũ V;}84jU~gHh<Fg,po ~uR.R4 Li4Rҭ([jZXfЇͣ|š(S^\&IX,gF@^_R- *f6jMΓZz7吂[ĵ( ћyDkk>@єz5C`ܼh2_O.o&Wf4|_Ǔ!i j}~i8M~`%BK0%N-5-ݝPfyP2QEY9r*NNW~C+ TA$^5o]1UveU~@·Z%*Î;%W,,4-$rz=ެX|¨CLfl/ `Ѝ.>.\S]L;D,B+eg{pil*J Ӵ yضXKId9pbyKQտ3ޭ(]. &׀EXe 3s-X%e;rj[v5 2qeKl窪 P xoXdD+D?!.vM qTEmaBK̈^FĈ<0 n^T Z^h終(*ݪuZFiڑT[^#E\E{{])zM"UȔn&3zRC{Zۅ'_M{eR߻+VNv5z²|ȃ(}&jJ_LQ8&7 qҋ?߀)0wʇLJߡ+!vHQވ{lb ͭ.uPJqu[F{= k$[V#h<:PLڢ4ʰ*VŢ~Wu 5xhG4\M ЕZG 0-@%Lp ru8^B:)+K".Y=p@s֥ u5zs-uꑓ#NPf+k~W-@mq8J( ;0D?쭓ӢI"jNG=Ps_5v&f&bui&r) j[e8vܽS1;(_*p\>HA &`D[iZBoH%sY9ynj0X9Q2T;4酄%x9x߽TmZf-1 v&Bmᅗ.CBXw~_4M;Ī -nqE{A.l`$@F"Ur^wHJkvrngΜgXHR !%|. À] !ނk>C?ߎ]]Xx6۫2xګbuwɈ};U`FuӂP&6 { H;{#I.h/ r\Z2r[=rq;_ϗ >CS@sm~);VG 3YȌRFl vFSIi^YJYIoNhuUn[A6†ҦR`c Ҵh16,ۍ%r$ok;*s裨8 'ya:-MĬJMe"w}}=Ԕ>>\9EQV = $d0BEݵE4L)X0RIJӱŲ‘cˌ|P@z-͟x8WS7x _,w3Hʲ 6k' uUM061[PuX+a;d>=o “(u\۰ڻ}y.n/"4|_{Wmf0/HҾA:+Iߡb槾rS k>`/n} 87IGϭtyX]7T7ZN|ewa6,j;x|f h?e}bǓI>=%9&c<]p JY),|0V4G&u "Oن9HPbma}Ue%ŊWVPv:{r܋)K`,$WFMrן_/ }egOx 1R(i^Iz6Un \3HȨvp:qO4T)h?)MavK7RsT^B,dn yϱuR/PWui҈c)31Z/>5z{XGtŽZlnYLB͢SMjKjʶUB|FK l;TJBBF =** aخ߽SbI7~ ߚVZwL2k{ٌ A?{zz95b."cE&SjρI&.Ѿه~;, PKN[Btensorflow_federated/python/simulation/transforming_client_data.pyXr}WtiC~bH\-JR < D2.NRv6zAwn &n)?u~5xCY~b/-֜ -;Pi* ( 'yIf<, 9^kJ#A?&ff)nYk^]v;Y~&WWTWg·4J?BX@![fvIb+LgN -ҕG*I+PZe;ѪRNi<Lgl|?[|aAO&lLOt8-fs|zG#XϥđG&hϜwęrX+]lipʹ e/Dlfڞ9tCT=.NpՒ|pf| ̶q Ƀ$Jv sbxD4 ͕Ay9}%1P:x-IbCHǥVsw|G7 f~_pW;ܿM`!E/;LV!+b_2T'}ǒOqt[(T/zKmRʿ0!sW+^m3A[u:R04Ehhh?jWU+Gy"h`:re\3-8ul^i7:k<VٖSZlH|v-w VE:DBnYY*R 0<)Oi6vvjͧwi }D0˄t ikSs%CժHq:,W6yfrRk=Xr4M<,BXŠV$rͥFyiESpNX20l|R"7!z  XY~GdinƘKEYY%37[X͊1qT(Z36 Un!^aA\[2̼Ʊ@G_EjG0UNĝG&tʹ0_c?)^-qu@FG慫f,F]=$,s`nQ]K#zkfH%Ξw˼T? OS#.Tm-avcC6ֶ^zthGz>PFgHT[L25Tŵ64~c=ô-c-E/?T5nK_![44Ze_5(rEEMxH^a”̦ji]ik[UݣBlzDmsyEА &Pz JxZc!:jj]\9U[pG} sH^FG8b=ogfA<-E_u<[9j3Fmb3[v0J;tKCw ag;Jx:q.tn09/^_ЗTi;c\z1YC+9 WWkd;Z>~0Tzu=p9ڌo!г<ڌKIGln+$&1BG[Fž.]wQ45q ylK_ ݷP]!k!h.UnG ?KՒ}HÏN|;1i%VZ#|&f[Siy8;j=eDJ䵁s=YYB[(k+F՚}U5 PKN$/;tensorflow_federated/python/simulation/datasets/__init__.pyM0RJuh>T(lWBl65jOy3 v${ % VJ ՍOs86GVmbF8,!Q0S;*Xû88>kQ4et yfv.0( 7|[GB.FkX |I%U#X7:OIr B@wЩ-0x АF {2PٮפL0o2{]h%񽜚qx s:㘨6]_g,_~)hI-^*LFTP|lɴ3Q9<;ZjZOx2/rH~,4mZ\p^dEau g<-U& Xdw+g2+) IaX刯=VP%}vP-Bkiztp^jQ+,5Dq_zaWYuhXi+H^5vPò ڮ2rw~+{ o{'o@ j<-|# _@Iȥ%ڪ '$Ӑ!W[#dW`ݢ׶&G+G='QZXß(+ZE ,b-8QB)D [oX۸XjX_HPKo5,XaY|z|yJ}ͻwgИ-M"Wq[(Hj&r+\eHmqEV \XyE[N=$d*^܋⇛xtǿ=n>}{}w/>~o>޽}xOwoBWv1Q{Z DQHoTGqe)J,'0GlT5z!$:.d+ό:/^\ҕ w,Vx]&N'ʳX,(sXYuS |,bRMDjN.ergУ{N5KjnRiQ`23 5̴kOSDSMS8bF Cza$q߃=Ӽa.a0ceT#c"pK1 K)xt:Dɐ4/xz@K.KU#-vh'mM&E6Vf$ d=q!S:ًS@EvΞc,ѽ?U?A3`;%#&q{li`L^>ܳ>V&_eA IM!4幅w;l9Y̳rCj')0HrOU>0:mUĦX/Nݼ7̿2W~!2Ol __w^ezuRA7*-q$ex֨aSɄ,o^P&m@2XQjWu"dkaHަfdR*EXMReL+8E|!J K0{X&k'`ilbUǵzE; F1r0,}nd/'&=w~k0 t[/$n8jb cx:-_o%P)0 & 5 9{4DU"Djt })NA{1̮&UJb8MCye Sh0M \&-$~Ds*VYrN#n*@ u&[ayI؂X$ud7MuY*0u,)Kb鉟@arV54J%Qh{kAr "DS/wQD.&[ф}2(n 1Gګm,ƺ&:4-W'_!L~nJt-fac'(y<ˠ#H<2v8ogEVYnC(?g_ѿ1}G_ Nr.TL~X%kඔ sɗ4rZ>n lLrdLR*LX#\Y*^\9U@!Gc zfp+ˠr'H!05jʪ?igDJ<$&'(5mbQwCDL ˤbPRBѧoLfPN*Ax+&[f)QtlyJܸB&K+Vy׼jWPۮj'&C(~$Yu#jP"Tt'k)ii*-z/z;[^hhah.tɘ=8E5[ȩ;X7ߤ7[ap<'-QNC.3{W 2NЈ%8|2AaR,A^g$!֋"[ZgvQH4|Pd"Wh?^/mtF}f3Ępv_ ෡jJ&31sNBBF[X3b7 #o 3^q^z_L4&m8OmU bds+Ehg؊Dm\6b0ʙyqU^kC"J{ܺ. BsG7P=!GKm>2xc^frB7 f4^Dg" 7͈nx0|[VR"Ǽ5 3C}dm!(g7Hl>C9sxJ -s+7'!~'zW&cӚ! NxTnɒlYj/nӫu@}ȕu$qc;ViP 1%︦J¡7; ؟&h7*GdNbzzr|;qԭq7D}h(2ABm7~Y,KW'&m͜3KM3˃ZՁpͧncդ.է{It_R @"~)% ^.Z=*(s+AC-@ޔ'xbffb[٘dA^&m|Pngz\:VsJw|+#WkcEIL)Ѹ3{(N\ ERڶK=`jgL =˛F/"Q6uVW1f7[!MI@keACxd*K-N8kBP@Z`i^U4Z+1?Y{<17/t]`u;0ձPKN[eKCtensorflow_federated/python/simulation/datasets/emnist/synthetic.pyZ_o8ϧчM[jO R_#)dmᑟpes-֘oONG_S > ȐS'Ce3ɂ " xLH|ytE(5:FձQVo]޸mMnxun@1V>E\ُF2Gꩠu(}a L uـW0ɐ0|<@w |̄ʦ@<1D%T*5#1Y`VKvӵT9*cC&L(G4G<r2B FWZ bs)Cq%׫<ȔG rزfnTX J 1b.cxeYlQ$s @}:9&7p3:@'uLCj!BN#ZF?$kGp 38)"x*Q,3ÇTƲSp:0:$OAX#j(kQoJG;/Jj,ęFZ^IJ*WIŮZj8c_ 8ye:'U>>ij~ku;fPASQk.|!(O:?'3U YI&|W>L>J*k|r\T+X2o0sکc>b'7 p5ul501\!pV**ʬ3;'^?k :^T4WVM}a*x-749j~nA52sk֚uj>xzx}7]_voZu+/KkPp |u/9,~ 4g34g34gE~yMVp^u9r9A{ 7]t]ubwfzlN FޜXf^M339kΦ+}xZۿ7V8ˡ}UHqkh *x~R&OӔ9[t|/p~16krDzbUmz7r%5t9Ag/W9~&mn>-|wϾD&Ϡ.gKdr07{n/raͱrxuHYr$UWTKFR;Ug/􁬁ńtJW[0a(%5:2PiRF7S`^®YI|'e(߆ٝ8fjͬzWŢ S͍x7-('@Z V#X(1xdYI|p> $9bV"h(8Z|nPBg}O!AQ+n3%i͠ˍCfa=hXihIqPUǪ]eRVZCqߊ;/AnM-l}u v% z1C-eڪ$.RmOckD2BqTJKSlV A%%GPKN3 Htensorflow_federated/python/simulation/datasets/shakespeare/load_data.pyVMs8+T"cB>䣖TRlk",$0~_ƐMޖRu'>;{s4sl<]*l%rͽ;v/ba18blS2 Vм~>K+uuɠ]o{^l,׎V,J01Ho %y .aj'~.qXsxKNwd`ܣ I o2#.A=E|6F`i3<3FK,3rSw:CҧY{de}/>||_|bnɞbxz=?`_}&P+o!)"-x  [H&2B^yZTT #Vi/%qW>$m4{c6V( V84SWܖʻJ޲0LJW6`jb* jQV^6(˚w"u\LjcXYL@D*BՊE”F0fsћjb*Uճ' Z0ջ\y{yCѕR-.^.ڳ>'>ssN-;n} aWX!x!*N=ti-&1SM9q @G #H"6/ u?']&FI&p79"(r9wp4ݪ`q&_6a0^_V`ov9˺Q =cQ{#@cDls;萏oJh l^DND5iQR *JZK)-AnN?:`Maݔ'-=s..PeZž5; Ag;9ϨZٍ+(BO֐POrf¢ h*O<߇MrcKX[%2~W*1pkVkʒF0HN$ cOAd$''+k]XC{)XGZ)O`7?n.a?^ ETWʚUˢ@Ԫ?:vB̰LwUեQ>'tu⭪ܤvmSAHA Ҁ2IUFVku64+HOKj'_ٷ*NߓW PbxNshӍl|f(N*kӭأ:`k9dLA,ZBZ@uVȞy٬3_M6zxm&jx=BC$|ryGe<ŗ$^6>]U .(hf+S7Q"oulzFua9RηK/Vjw,l}O;4yG٤H]X^©J]>PKNC2pj7tensorflow_federated/python/tensorflow_libs/__init__.pyeAo0OɥXm/mD@сF"64+Z_,{<ožuch[1vtܴ7D(ZBÀUT I/-NjtZҔXUvDCγѸop5 8Y&$QsGlkl;V$ `baNAZʩ 3z= Cfظf}(znY&sϓ{8۳ PN٩A5<8aPĥbeZ$gKi,iCy$iT99H9GlcZLN;$ ~cY3f/<͑ih9|yK%\J.!4敜8WKg*7PKN$Ύ}9tensorflow_federated/python/tensorflow_libs/graph_keys.pyur0<ŎsH:4=՝HbL\1$,X-HT!~mI~ku+. 0=ngR|NZv;뭁ˋnRZe#Xb,!)Di;/HCs0tQi.\pf'ʰ=lB5R > v g@ٺ2$27ԌC0okL7͆agͨԳUx9;Ѡ֠WuT06Tjtf7\Sв2SHYJyoGM /&`$& 0R0ߥA5\MqD%#܆2)O5-A<;,x K=jJP;Сj , oaהM&Wg'HsH[5ky! ۧDW)BUfF*\ˆ\[?qyv+y^0rbxdp=I 9T {kqDQHBN5LYTKtlYb>^3e:ؤe-Y`WE;ֵ/D{,!^!\?# ^-ufA8 #`~_g8%*US7PKN0V(5:tensorflow_federated/python/tensorflow_libs/graph_merge.pyZYsF~篘DV`jU#,%KE`g}{NcwĠϙ(VuUu򘽬uÞ?;1bWkήx* ϹL>*<ފ m Yi3o"JT%{?cS\ȼz4{U6鞕UZŁPl) .uDɲjS"-3ζY60$E ױ!o4ӧ6N۸^=,RLB=Kk`(KfnY%Y52*bZ6Tr Hh,{ t%;|~vy~ϯ+gW/ٻ廋WW. ;U8 Z"@=vyeR5Rd Wjga5К ˁJ!6Ie T_M+|T`PUJCrq+Ck >1L&* ?{%v3WU)KQwRhH+KJXL&Y:`?.j/av2a 4*k-w"Osmc6q<2? )ŹdFI2כ7-ؠWb䒣.8lR%̈́5 G0YrQ3˫D=S39"lc<%B *-gG!!\DA|tL0gl6; )f;snD4CN"B/q%#;"!(.lbQ0!E׬ ~RpyP7O@\ʺ@6|hw"{ 3g@ ;I`30(`̻! }f.>_ppjIluv/^jܨ-p\ y+l cw3nL$1zto?ُdzk kr,$Ԯ{EGZ RIj*"ՖnGFl*6/ JْUPV"^B]EjY ةn 3TU)J`ه Cf=whסԻM`R5_졒Sb1|J:VS$$N.`zj=#uHdA2Cs[8 Z] O-#鰐uӗ\qP}ij7nc-X/{bT|uPVΣkedAFCE87>0O s e$2$ 4jH*UPE`H%bҊ}qwŽ>~zt#3b:&fۨ xb-u9}Ŷ#45Ojke@tԂ(7^ᚸS>Z4}06:ϐ,LGjPz1gvKA1Ÿ!TPJ0@EkcIU<2袵EzYzxҏd߀ #ڲ4KcB잠eF& hwr4 "OgH].Rs~׽Pjz>< ga?!Ca::>ˌuu8 aӓ4h`pbihXcHݍa;jDuܝDM Q ؔǫ8NP=׀7^h Ys<< jү:6?EH.][Um>hG84{f#}VgLض7tl#C-,pިLtgwIC)Xm.uP&&rxن *FZ ʌv#g>RV?>.lLt+h&K z<W)u qǜhF Uza(66DAк4Ah~eI:tJXv!aXSZ ̟: vvMߧ4VOKﮅzƘANm eUz&\V!(V\enw|rgɓk'`E_Nw=P9bxS7n*C6B^p\:wALzpO U衮Wlnbu00*WTnp$KM_y^b:xӔ`fnI,| =h}1 TNsǏhi>B1INWz^sǹ]mWЉm򗾬γ:5Wy+N3q{EϮًnS޺gJAsQW9*u˯9sr`\2>"g:_z_1ѺS9Wwa\wWux)SဂfT3( J=СG޺ZTϼ>{LuLC>?s0 ?=_@bX DFL0PKNZq7 ;tensorflow_federated/python/tensorflow_libs/tensor_utils.pyXkoF_q| 0V֨aHIHfHJb=w$._LkΜk$ m)G([֛ޞ-W~{z/SE-S5PUBˇMdvOW'>߮~~n.oo.nof7/W7I`7PjA*Q ڽG PUʥZ%.vRRoUŧY!V2U7G'''?ɨUPd{V,*X1fXg9 U,AFsi(7ŅtuBQ 7oR^qx GP%"Y\:K |]4bnJ3Jk|]7@drz|šˎMN'UR+?1hU4߃]D#ơ"Дv1?t|o'ez8n@6v4g~~i4tw5mVl@`60?Byy! 4 -)dzrd`:/rL5J H4UŠ]AAM?j ѸBNG/368N z,s->FFo*Q0 (O0k?.U)V*F ,Q4LQJST^6pÀ5>tFQjҞ2ݷoT S(0#: A0:&?vNP嶬1`Vi?:Cl$+֜4848tAC2{lX5c~}cg/ kXPZkY'dS0Ds!ѹ=Ebjjkyy{|^UfF f+gWHڳ1 %q`|{7Yfɗ'qq\xR)%*0U %)@3C2@.(84wF@S:3wACVKpv-jzS]u4c<"\?_mh8W+-g,Vqב't[?rLw|nŧX k쨛t6E2²њIXc4]=Z ;SMb|KaEYss"^nzٖ$nc𠇎aXB>0oj~uKH2U9Jd bՉb/9{S?iQn~}{>N>f?^_|⊧rljѶ.V>ycL_~{)E%GTs_^_qC=rG^vn?%_qS7аh .)|۹ߍ(X4c^ݗKۜ3mr3|Ye PGeEzDWk {,`;r!ֶR9'{H5Y|OEGxMzwjxqnw y>Ilg~ ("gPKN* -tensorflow_federated-0.6.0.dist-info/METADATAVMs6WlOq:eILg걣N{ D.IA@졿oIK"N|WU>hggt$תE¸'[mzܶu|7xcoIR\v\3m 2ն#4q\i.m>pQ{ H: 8Eh8pkk'?-KvfT42$Cy5jFmynrcT,g?sBЅfs+6F*f3zC.o8XȞ#Yk@z }=+}۬~…j]x{ V0}늸V7;j!Bٲh<j|Oڧxs;l;-4²lJ kuu=kLct)FG<~^yߪ{n#XP.8d^7Bɹ] Q&V{ T>?KO_~}Zi:9Iꣻsrfdiā9M{ lsnGI 9Rb0hSNQ2m49E?@ OkŦ+i@TDNJ^Z&EKr*[H(9̻бFn2#JEgnb ͒q2KiAՍW4_I@{?jP}% v)1}ﮍ6r[ɢSGb]M ʟb\a ;  ՓiE柹)GzȞ >)X~E৙ 㲸(Pql&h Ueד%a-\Z[VVs2?{^ك@K VS\;2|$[,$!鑾ĢH7e~L,?Taы`43 ,rk(nm,a1斜DRIO b2anϷmžL#<.D{Axgf:0t9 yjbD_= ɖ|&խǍ9?E};[nhmPZJR a=Cm =~Z F$ _`Mvk #B#`"?+њ\V'gE7OE|ۼqSX z `"0ٰof^>2[d4Ǡ>VB< >Q+_h]WG0y/0m\SފNԻp{#?Xmq3ut6d<$8|%]*fԛa}lU5-'z{ 4R$ Jʪ5@|ݴv x6NGYcw1N㜵&<8$D \31Q z^>2VU@N*DQ[[Sn x0.ּC@ LU<7]񪪻)0کDbFK`#QBU^={VQ-paEWm5D/$v+S[_sKϼ R㧺Oz^XyD d,R1ZΏ#Bb< ٗ ũ yC)` yy3%KYiUyW!O)gEBC4Ǽ: ŋy'ꕂ1#UkuVxe\  =$mpxϹ$U64 D78x,աnp$;>>xM8ӒX[ ij6WTI)s*,ꇗc!F8w~qBޗ=:ar#H( o[ڬu+~'Ɉ|jyBCU~MS@^7. P8YP|Cx+O:Cٚ^(o[l )\"䡢F&L 7m9a}E 51j&{=u0G:/ۈM8 xMQE+ /hE.Ek%&(]qf?~_mNn*=us\prی!T;yw5snk {6oD]͡*-$9Tͯcw c:|#4w=ÙQ爽K%)pz8QӀ~/tQ-Jsr"@l3iegÔG ~RyA?dBz1: _iL8ȋ 1 K^f<ٵRE8GȻ}o`>ıs1GK=q;X0H+~Ș͘n y|5FJ6OęG5x0;v$,Oyf\w?,6PE?1B8j2XX7Y;-VF)0 sgr $⭉xqQuyso϶~B~Hl)r{EwuPKzHORq%LӶd)Jw8F¯\Å~p2 SI0\} Llbiw9~CP̓X!f^܃vO::)y4zbsh M6':(@Unyy߳xY`` p_y*ݾJM<qCBop} De-޷kf9MraɮxM<#wco,п=]R#FLwt-#mpMn0py]FgO'edO"~i[+|IsV`}8}-cyK@uh(leG$bjd)`~uHϞwe) ^A N l; !\?;יF> N#>um;iaMMw?ޣA Gu]G<ڧѳԴNzuR}`u QH|s\ x.yEjz8kmY<[(]&kuX4ZD1վ1FTd+"0ˌ92ΛxFHi]bRޑoL%$+Q'[ɵ1C5O3:+b#ެN Ht2 e8Pĺ`J[?M;U߿$˾W$Sٗ1)9nF_I?u+y5$( #1񮞛D8)yjĉ"s/ݢDFea#hE%V'[['n879_$i۬I牖e}^GEGD` rz P.Bǐ<0~k{)&e'~?@%Ȩsʰuc;U;Eq"{;g|Bǖь>Uh@2B?Lg'mN+qx_OL/H _.A PT?TVd2J@6I0qU ݸ7aƜCIj9GmjNj{1]6~yyF}?ݥ9sT4Tf>(z!~?ת(_#F (tC`x]Tz e~@Eܷ|ۻjy/_@9Z+):/g#0/߈ᡪfx Z_5muK1 nM2W0}+1{_3#"^z Rۣұ!Ptensorflow_federated/python/common_libs/serialization_utils.pyPKN\uM0 ,Stensorflow_federated/python/core/__init__.pyPKN_? 0-Wtensorflow_federated/python/core/api/__init__.pyPKN&w8*Ztensorflow_federated/python/core/api/computation_base.pyPKNIE>9g]tensorflow_federated/python/core/api/computation_types.pyPKNk 4potensorflow_federated/python/core/api/computations.pyPKND S>2ztensorflow_federated/python/core/api/intrinsics.pyPKN"%(WC2tensorflow_federated/python/core/api/placements.pyPKNx;Wfg4tensorflow_federated/python/core/api/typed_object.pyPKN e 2Htensorflow_federated/python/core/api/value_base.pyPKN^V7 .tensorflow_federated/python/core/api/values.pyPKN6͚tensorflow_federated/python/core/framework/__init__.pyPKN;~Y1tensorflow_federated/python/core/impl/__init__.pyPKNϰT=@+Htensorflow_federated/python/core/impl/compiled_computation_transforms.pyPKN-:tensorflow_federated/python/core/impl/compiler_pipeline.pyPKN %Dtensorflow_federated/python/core/impl/computation_building_blocks.pyPKN}#GXtensorflow_federated/python/core/impl/computation_constructing_utils.pyPKN>VLV 9Itensorflow_federated/python/core/impl/computation_impl.pyPKN,{7H<tensorflow_federated/python/core/impl/computation_wrapper.pyPKNuYFl6tensorflow_federated/python/core/impl/computation_wrapper_instances.pyPKN /PH5u;tensorflow_federated/python/core/impl/context_base.pyPKNg *=;Btensorflow_federated/python/core/impl/context_stack_base.pyPKNX ;Etensorflow_federated/python/core/impl/context_stack_impl.pyPKN)4KJtensorflow_federated/python/core/impl/dtype_utils.pyPKN FLtensorflow_federated/python/core/impl/federated_computation_context.pyPKNV.DRtensorflow_federated/python/core/impl/federated_computation_utils.pyPKN hEop7Wtensorflow_federated/python/core/impl/function_utils.pyPKN)H/4Butensorflow_federated/python/core/impl/graph_utils.pyPKN+9jtensorflow_federated/python/core/impl/intrinsic_bodies.pyPKN_:=]J7Ltensorflow_federated/python/core/impl/intrinsic_defs.pyPKN^:޿tensorflow_federated/python/core/impl/intrinsic_factory.pyPKN5 8tensorflow_federated/python/core/impl/intrinsic_utils.pyPKN:._P ;tensorflow_federated/python/core/impl/placement_literals.pyPKN#S p*;tensorflow_federated/python/core/impl/reference_executor.pyPKN , C^tensorflow_federated/python/core/impl/tensorflow_deserialization.pyPKNX79A tensorflow_federated/python/core/impl/tensorflow_serialization.pyPKNeOx?Z tensorflow_federated/python/core/impl/tf_computation_context.pyPKN܈\&Ƣ=/$tensorflow_federated/python/core/impl/transformation_utils.pyPKN`U4 8Jtensorflow_federated/python/core/impl/transformations.pyPKN#G :tensorflow_federated/python/core/impl/type_constructors.pyPKNBDh;tensorflow_federated/python/core/impl/type_serialization.pyPKNtI,<3tensorflow_federated/python/core/impl/type_utils.pyPKNݓC3htensorflow_federated/python/core/impl/value_impl.pyPKNwcN] 4tensorflow_federated/python/core/impl/value_utils.pyPKNy`F_2ntensorflow_federated/python/core/utils/__init__.pyPKNT ! -;tensorflow_federated/python/core/utils/computation_utils.pyPKNxHZ@~tensorflow_federated/python/core/utils/federated_aggregations.pyPKNO>6tensorflow_federated/python/core/utils/tf_computation_utils.pyPKN.$0tensorflow_federated/python/learning/__init__.pyPKN,5p ;tensorflow_federated/python/learning/federated_averaging.pyPKN7!5 <tensorflow_federated/python/learning/federated_evaluation.pyPKNw  B5Ktensorflow_federated/python/learning/federated_sgd.pyPKNPJ3 tensorflow_federated/python/learning/keras_utils.pyPKN6X ^!-Ytensorflow_federated/python/learning/model.pyPKNP}'3;,tensorflow_federated/python/learning/model_utils.pyPKNKt:4tensorflow_federated/python/learning/framework/__init__.pyPKN“HA7tensorflow_federated/python/learning/framework/optimizer_utils.pyPKN2Ltensorflow_federated/python/simulation/__init__.pyPKN1jF5Otensorflow_federated/python/simulation/client_data.pyPKNF CVtensorflow_federated/python/simulation/file_per_user_client_data.pyPKNV2H[tensorflow_federated/python/simulation/from_tensor_slices_client_data.pyPKN!i :_tensorflow_federated/python/simulation/hdf5_client_data.pyPKN[Bdtensorflow_federated/python/simulation/transforming_client_data.pyPKN$/;=mtensorflow_federated/python/simulation/datasets/__init__.pyPKNBBotensorflow_federated/python/simulation/datasets/emnist/__init__.pyPKN,'Cgrtensorflow_federated/python/simulation/datasets/emnist/load_data.pyPKN[eKCtensorflow_federated/python/simulation/datasets/emnist/synthetic.pyPKNd)Gtensorflow_federated/python/simulation/datasets/shakespeare/__init__.pyPKN3 Htensorflow_federated/python/simulation/datasets/shakespeare/load_data.pyPKNC2pj7Ytensorflow_federated/python/tensorflow_libs/__init__.pyPKN$Ύ}95tensorflow_federated/python/tensorflow_libs/graph_keys.pyPKN0V(5: tensorflow_federated/python/tensorflow_libs/graph_merge.pyPKNZq7 ;tensorflow_federated/python/tensorflow_libs/tensor_utils.pyPKN* -tensorflow_federated-0.6.0.dist-info/METADATAPKN &A_n* tensorflow_federated-0.6.0.dist-info/WHEELPKNdd2tensorflow_federated-0.6.0.dist-info/top_level.txtPKNq:&+tensorflow_federated-0.6.0.dist-info/RECORDPKXX#r