g4!QSgZVDgMwC6`K`^K@%JxROd?-^oafFXyFlOEx0S!=eX<%MIUD+wg_&wwLknDBY;a}K$mAj}MP<5(
zjj6?kn3l_<@Fc+
zKb!4SU-uBsom$7|O$c9D+5E04N|NrA674)U$n`>Xqfe3KAsp6kp2)HsCB#awWC@pB
zfE7Ig&=>0qS|0oX{jiFCG}>ylP3-s+zcpk*i$m;Oij>z`F%I>Xt+M2Lp>$bi_Byp<
zia=Ss%X_hrO2E=>PVEfg!Nup5G*?sg@}SFiMJyQ9rt)QKC2aFMq^MxY<{dpJBS)WW5>MpO1DSDBLvyo0eNHKMPQt!z
z_N?Zp$R%ucSEauLcj)XH{v)EaupWJBV&o`e35Xs>A|8U^hx8en?xhA(
z;u@notK-_?)}yHK*~e-3DmRZG&U6gxs?V6>QlQKUjh#xp5pzGBhEh~&Ct`oQ3OBMsRRyt|
z1kIAoY-^ssE?|n&NFb1$t09xtq2lvuKX9b*Pv5?2qKInmH>q}}8Y$kW!PCugFD^{4
zof=1@4+OvA$WnZSWe6`ETssA}YjRplB6z<{PeX
zkEzM;ty`$#;i{kx_>&STOuiKf27(zVS!ZHoCJIKk60-&z@8K3j+5fyT{7D_fT8}W_
zrC7y>+o$?%C)%cEj3{oe^j)KlIto?h^i|FKj?J2!*USTD@?jA=W&{Q&QrPepXuNS+
zd!^F{^ek+~HZ}%gXcEb8{;kj|wN77HLb%u4t$P6n|(|ftlbEWA@w&eoaC65Rt
zuir%(w1~KKTE5H0*hg_MIYv*FstGTGj}tV3)>8Hjcl5!#+Qsh4;}-O3;d;_(@Q080
zH$(?6R^NyeHKcxc;C_8&ZviXmUHc`e>I`rKIR0Y3NU497i0W8??NGZ_lL2d0QOp>Z
zvi3>OzM^HaHAbH!3*N$12(onIO&hAC@#my7O0FJfChFQ*&L|s#@cb1EkK^_Y^;Vf-
znB>b+&m9%J@6VyyES}R(#PJNH3TPWziEssV&ka1b?2rqh_fEl%>TC`Y-p{p3axRPO
z!q
z3$p?S+pA6P1(n&5e??F5ib)98Qm)YaZ-_5QxRWMFjHsyXxRW2bErsmaSAudQE1Y8-iH@-PI|L8kd}cr550j4Dj%n8B^a)##Hp4d{0BA97D0
zLFv8ZEsDwP@1qfy>C0VchY8&av?RTTqN_m{zC|Hv
zwHS6V!_|WbdYaD3mBLOX>-Rmf0GeLF@YgqFBTjhmY0)xy0q2m$b5Vpr1Bs0#_j9XM
z-#+-Zr^#`|SeGH2O`$U+?~=h>!od$?4mu69QHGEYXDH{Or$zHJ2P!qUj2B#eG2Um7
zk<{2@h59Ul)lG3|IQS*cx^myxbPUplP!3XotzF)CP1x};46k5kb8GUO)#RzS@KQCA
z+PLDn$@c!#XGvSzhe%zc%Ir!k%4Kj{%Ru;&t(wF7_dvgL0Wrc;wyK*&GRfjT*REEE
z6*n`gJ*D;3Sfof@=|)2P+fnx6^@2>sJ6MHRix!4#2hbCU0XM~d3-tNNBH2Jdm$FO$
zQ)x3xMU*RENx$fa!KT;?>`fcu7K$rPJ{crkX<%3o0*>w}hGNYx1LYdVXX(X}_NS21
z+So18EcB1KN(^+P!-wXb*!qifb58v}J>TNOZ?ZO)8>L;-)i*^}TZ9wXjQc;0>Z$iz
zbkt2w?yrl=o>ZwD$j?+2NKDVAQ4Vy*6$pvl$J&Bto1!;mtJZ%s%z;q<0(O=ef+Y
zG9B@wJmLszk>R}>2COy(lHcpxkgCsUg>_Kxdl*H}H}%*yviaZtbZ^4s)Bu)+4$hUO
zzm>e6b(|lIrvr(CyyPeRb-RvAWq7j;LB=cST6-BF<-5~J=(CvJeezRLiV0|QtD1Hp
zwdqI6p6a)ru#@a?a0-XBPT%}a=DBvhId9I5iaL_b2mP$4CidV)s-3|zla
zX;it4v*G!(8Qu%jkG5-0aHJ4*xfgUAmn;p;3Q{kd-#qoin?eC?@HY5jN5Zf>lL%i+
zJxnRza~e*W4TO@@pVkf|?~~5@tnTvd=LT(9o+fHPH0;YVm4RRM_=Re)o*k(
z8Ip=+r!ClW4d>nK#tNN%M{*}?IvwTz{eV*Hf-?OHEj2G`YZt*!j7(EiJudZ45TmF$
z(-qEH>>^!E-mR_Q(2Q3RY{$L=z>!%2!nj1eD`Xk86c?{VdQJm+(L6LrvV(ibYY*AI
zg^UrFzH!8h92Qc{|M6|z>Z(q#o~Nv$)-_q7RV=QMnnZOiTV=q&%j+BMLjz&Cvm85_
z#w(qA?a}G)=eE`U%Al2Eelh6$4*k9<*W?@dhLKhwXJGH({qf=&dk~#ZM9x{somd#H
z=tH5TVVt%y@FAi$B&Hi_`#LZ!V54q+e><0)a3}K&`fk_XhyRz$Ekm~ztYvA0%9)77
z)XDbN-rZFJRQlvb!X!w`0?Zv`tYi31lP+Rl3tnIZH?rhiB&B?F=-GC!p8Zz;McCm`
zRcxsC+N<}X<@IOG+k=8u(G!xO_*-(f^l0{FPVh-~mDZMErCyS)iHrT=MYsvC+siv5
zyp^`xM${eB4GawQ??7LK7h@pM?QuFKof-u^sE_#IG%wYo)|dJI)XZ0Km=Ares=}je
z`-X0|$av;TP(7!*{*$(=sK5o&AKb?Ue|MZ99+lnZwk?;2gFl>SO@Jr;7ZM5a9_4F7
z_gRU=PHl6yc>xSj0f&mGS%O+-4jxAYA2
zjwU$4R;$ki_@g>do;H^nDZ=ir2QrU4PHK>4sO9sf8Qm3v-|b!8o$P5u-6iead|fN<
zz9G*yUG8SHx#{@^Z-p8S%TaIM29lxj%ZY8y6FD1M{T&y(L|2|J)AHfgT{h?lpNkd0
zbZtZ-JjwKeH>aZLLQPe9-x%$k%$ZoYxw)B`S(#W_8UAK4IJ?{Z
zG<0LIb0+)GBL8n4QB!AQCrgK)miBhU|LPhV*}MGYCnfzS^xw~a_G#*7`9Df_&i{3-
zzZYcs7hz&yWM=yB+JC8h|4w-nEZt0PG(`XYtgv(bt0BP3&CT~8`TxJj|0w=1rsn@J
z+5bPp{}uQzA|KPg{{Po~{&QIWar$>!0D)-i
zQLBG%VdxAyR_<}Bv7B*5Q)@t+g$B52imAo9IFiGvp-8A9L{|o=ZU+QXJ8bv(gDtgq
zWPjl5`IBc}e0Gt~^Ditc_yU*iRa|~-qR8eZh<_)`MRD7Mem{yDFBzPNwg6`X#RS#T
zJPFH1nSss({|mDQm@P@zL2*Hpgc-{~q6uqhb||0yLUWrO|Y^hgosCM`(8Ctxc5Ri7D?p8i`$
ze48A3X6%&wmlRytUug@|qNBfc$Q)4rLKoEj!r(uDr5o$#od0#q1@jm3gc;5WTm6;(
z+b;M2VY@xPNJzb~m=Q?#uCYV
zEn&&ms?1FS=?BHyTw&2
zZqJGrG_IajIEdAifIfr51_hOtqoit;GY-Q3)vstaPabi>=Ke=)hC4p>8EUVfD?xk1
zLa&3PGJPr_ENd4zD@iD}=15n1b05?*lbEkBlEK>121+6Z1~q6{q%dz7D0@zStBq@z}e|J@3eoLjXAt2eu3d1*gtubIb7OIK3>bJmyBN=xfhYT}8
zH6r}NVJk-n&F7HP!1aY_7?m|V?+1QZ44mr6uDfx7(5F&Zb3v4<=J&
zh6giJ^n3gO+jRzkbhTZq%FlnLbR>urj}`6u19`GLfLeu#cKqNl73pPDhR~rIv^!H%a)#F7P%sGA2_4HjH!C=KPZ-!_Np-yHY28#iVbtM1d>(
zS(|*lW~CHLS4TZ?6n5Af1a4qhlAI*!BYyO0IK)~d4Mq!0a$?G{=qr+v(Wv$xzVzKfYmi0d5mxlQDO+c%|&;DR*=?T&Z^UMK=6&bTF
zilOeaS_<-3@ADeJD`WnefzZKfaVT30yTSq&+Vhn}_Z*d5o9;h*ij}}t7JWo(5Zl?8
z2J))-0Q0hjoJjccPm1UUKfwqnKvsc>WuzOf@(*RhVHE95Bq=d1Dtb9bBLO+@*=s9%
zFMLK3Wx_k#MF6vNX8o$iCD+BO?_ptI)d%a2=P-&4PONlLfV)0dj^fWL;YlKx)$!CY
z3@U<}g9o^9#?~%PlT#iq)}OIY^7C?<+i9d#c~zn*r2}s67aSY@`BhrdX=e$t--tLc
zymZ8D#sw}aFgfLo6?X%soG+3bgywjim1OFcL1{dA1)lZulR$jwNcbv9Mk6|
z+^&+PKj3_`b9@~xgCvDj0N?z(A~IX@cF>7-$Nqs+^$ANI@Z;A7+}s}mQ*@>#2bDCo
z3+THM0#D)BCV0-6h~gNcgIX+ssp}eLwdS8Pb2KIIkKZunh~(Q`+UC~{+hv*F*mHoL
z@6_wMIl48KhXgw?N+yULh{3_ldjZ07bBNRr@TTmxF96;IUi;{_&4%x75mBmYiEeo5
z+qwm7__XL|y=%5%V^-2*69L6+#Z_goVU@AF2hsgHT~IxD*{-yNnCv^FHs5xVq@=xe
z_v)Q;{OARY2bDE7BrrYWq8U}pt2CZ?=PpB2a!^OHdBbV4Q4h%(hQV6oz>L;7s?{2J
zKeWnS6K=w5Dr48`nXW+H={M?bft$_9e4i>qV`LR$f1OHmVAY6;z842Aop_j;6|HIC
z_|#L%qZ~i*+~+PeiPt7aH+;L>I)<^aW_lYY?p}$|R=^I@7X6P|PjN2LE&12)ylvN6{qP@{R2r!|*Jgkw__Q@mS%+6U6^lHU3
zTb)gW501z=7U%#S^PodiZ|i7se)U)YTvmCpw0O3ECfwkhA8dxa{1*LmlQwoZ1%Rkk
z=k=rNA_p(s<${b*Y!i*oQl}rOT8(fH#+6-^gn{`}snuLT^#K*f&L3&1GF8aE;c9xD
zGr1r?AS5D4(jW5o$6@q1bx^Z0)}lt_MS~2=JEw-`p1UlNE{{U_^e-AW&^KBSgK^3H?SO>5qFM%44Is1*14}xOHOBd;zwtpToA;=
z;>X=WyT81ZiV6sTm?6ifcjXP}Fn{b0M~Xf!Jj_OdlN9<=9pxn@0>ZU_l*@`ppjRmxlTu1|hpfR4+ZI4V5+kxCCn
zL8Xzz^4c|%Hx62qhDha(_mmd;9SztVJY0Wa_au_
zCUee$WG`_4_&(r#5`o+?xP}tUea=LIkbP~5No)ryA04zg?jB)c7$SAsHAx`Ki>X*6
z?y#TPtu^p&x;a0e0wrlJY||lLI?7w{3#uyzEO8Q1XFoo6;y~v%>r=d8$sk$W!AB-%
z*0Hp)d~?d&e{)z*{`5obom-v~GK8w3uIltc23-p48s)uz)zXd6u7bH$Za1wBqtX8P
zcb&}q5H>mduHP>g!m7yL_6b-lS4ukq!{^xst8Io)5ZS<8=eliytB7fv8Na?G=b9Wv
z73#COyF)qf_|gzx{v8-l$Yhrb_oskOfYWjt#(Z6f4bJ#UIIfJO
zvCBPNm5c6belbh^ZMT(pJ1>2S`boBGf`BBk#ON~|h0fE&XiPg`%w8q_wY+Fjwzw01Xy
zXSj(Ybl3Kl5UDGS>|kO5lTs>Af=X_k72oi4^sislk9_r=U4N+MA5CT?>zJndPyK}9Y-1xwwQkyn
z++^}xV{MH1@%avWv^CS7P%eb4-x5_Bx`Xy!yfLNkZ^6-cEMF1aVPsR6j!-u-Th5k_&KC3v}wgQS(VwTjBdy5*9)VkIPVGjG$p
zi04aHt~_In=T(=HC;8_t^f_u%7-;W6_UzbA*K^S}J=NC!k%-CXeGi#^EzyC(e{8p3
zef>O!PdFJaOiAv2+9#T)P4GA-7}$aDg^5r2-~)CM@rY(3;X1~lSIrE+;>Tcd!)kqj
z*w^}OvJXOwW$FHe93@34>KC_-p!&qv+>2ON-PFbw_uH?-=LcoyU!I9seZH=ZuVT4NGK(K_{yxDVFIk~xG}FW}&HetHm+h~0-Ka^Q57aS~
z7BZJqO0Q%cLJLMCHRQTjsUkdof~ArlY4tGBkHO|!_5_+My}Eyb@c-P6??bZQ$h9S1yT)8wRc8yUP_DhA
zk0#%ij(^}}8(`|E(X$N{g<%|C?g-nx6kl=N^ppGKqzC{gr9it^g-4WRItP-_Y*gb`8hw>hhkY%wlx@-D)j=pLLYZ^_gO2ftI
zQH}i#g?jy_krZO%H$CO$S%Wj@R*;Qov58D`uX&Rh0{Kl-%>Zj-^^IXl_iv$7vG3=n4PA27|w+{Z)|baCOlo*eiKn9bdqwk8DyroDF>Se45D1vwwrqaG^K!^
z(Hxs0j~`6cPYsH)Vqcu%T%
z@^nuf03J?tSlXi_YRk7CG(lNXoAstScdoa_3>>UfE+l<<%lL1ipiHM}7)YL15i#Y2
zN3{d&F)_53(Ir;i5?vpMa@Sr=yVA>yRY)yDgwA60DK$Fpa%~cKmNuFjx&}ri$`rSu
zW5(hB142U8?vcjM_v5bo2BojzdzdPVZnPu6nds;u^J4q`27G2Zt!DFhT?GhG8%Uud
zw4C-?rou1qhtzj}DWqegc9o?U4J;XE&}3kLN%W>B_>@#8ZC*-1t>gj_#u8uo`4+nFVmO=0=m7@ly*C0z%=MM&bft6gRF
zw!8O7nI@l$z_%ib0_TbMT>>t(j+Xs|%(1(zKwv7!jV2nq?1t2&pgteN(yyk&bC(K>
zAQQa|I7H}sFcoy-P%Z!+ZS8d2%q_piPOSs4jd36vgGDC|QDzkZ$$x~C_FG^$qSWSw
z4o1#_)*w@>F37*rC83dr;Fc@19B2k#qms1&mUqn+Hi6oZU}$04L2+0Cj#pPy7ptti
z;@g6x_I8=Tt4~_w^?glEAHsoUP2H!ABoJh8;&wo{0k^x8KqI>7|Q6wrZ240X70s
z01g}0$c~~w!91g~!%5T_8sQlY;-meHn
zvpvy}xtRE;+o6M{@57SM_I=md`ik#r$?P7XOW+8O%QBJhsd<_dkdVy;sil=@jUtMm
z16-1FaDuB~Y#PC{aF_>OMNNJ}_QHY*L0$pw;A6EXL&>amM*SPZBY}*oLI?-IV(J6<
z?mUiuUzVa*M2z9E>6sTE;TYnFcnz3-TV_%d??0f^y9Z9wnY?Ts#-asE4sz$%5A_N4
z9^Buf=jWi47D5OT7aR*`bpBdg{@%#YkC2!BKbB_y!wHiR{_9?mfmE#gbD2WKwx<=<
z+)^)g#09qIkE0PIN)L^dnn;xc|9Y2*k+G
z{1u$UYyP4=U#JP4pz|8Th+k*p?Q5^ufBmiNQ|NaP-U{_$4Y+?67CyjVaM;WRP|F7Q
ykNoh@5__m!VzB<(0PjE74AH<+>HjKn?fbHtaZ&zqN&C;)l@gN^trj*2_
z-_O1-U|75NUh7`Jnm7$LMQjWT3H(>!`SA)gVR?ZjIcrZ#
z4|_K+dsi0-Av%-+v|~KA%euPxd)V9Bc|odhe~5urod30YSerj>O6O(oYz-0ohl>u@
zpg*nAcD3>HHTSTFn7BPYZI1cBgWG#rI+=q_Js{29jVYiR?WtMM+{4A*#TL>{xdSd6
zT6ZeMHy7fLwwO+SyQ>_E
zaJ$nlX}TLI>CWpqe{~vbJN*70f>8WS;NN{1le`-W9fV-n#6fEJ@VDnM)P`5!-^1~J
z=1Gc%G8^Onx6C2^81ICj|8I%Ql;uAp_}}7)Hd3qd>S?KhGWKyppO(7lRIK*Mr=_1l
z=Kpy^l6~4a@5Ex)Am%+j_ExN0;T`E}7eSeC{ThpagDuHNdI%Pd%tNj>zf?@mXR?#k19cRz}^hapw6*{xG*DpIr3z7
zK_L0qoPlIakO0#D#ltN2SJjQ6(iNG2p?j+{8P&;)KU$kj3%dCTA6hSV6YYAmF)I6#
zYM=}XNxCf(rg(UJ&oQi6hUi%YNtFHjcg*DNXtQM;ABpygr{y6|9FuYZ#m76w3(l|P
z)PIh_{q8MLO}nOO&PDPR!is;$5m_^HUVoe+5fAaYqDL7VmrhyI&xofc{@5I4enKs{
z-p-R7Gq!0`H<>Y}e|Kh!b4BihQP}B8wCcZ}YliQ>IziyX`Wm^f2D?v{zeKlcv9%gUIOOi9^>eQz^bi(H@)ijynx(gOJ0zOTnAP|1uO={e*Wex@FIL;3
zq(;g!?v$^|Ig+zB-RrE;zUDgiU4*geAGwG~n!-9J{YLds*rTvU;Cu^RP*U1u-N@Vw
zk*Z6ML$5%1!@PrAjr~iQcr^6t994KjfOZkt28-tghP#FCrR%M%77C>l@!3@alza?yr
z=^L|Mg#D)NNZw5mw6L(bAPuEbcdzfn#ql*eQJJsB=L&vb>Gy_!VB+$S&0Hi=i@D=--CWh_ZdEypEBGfnAV26CUhwA^?30&OC+ta`l;A9&o51`1iCTe
zdwecDF`xgqO9$!8Sa>bQ+dgcfg}`Dk_sIEH8hx#t7UMabWu;Tx{X0YgngV|@%YnPM
zp?0}DSXZ&z&xzeTF`?nf4{k@WrMRu57=NMKfMaY&j^@y~Vv3_!<5g{^@5x2z-6v&U
zZ*KRK;GC>vAi2ievXN)|L%8`Xxkvrzmz-auW3S-Nfi1pPi{UpDd@U~Z!n;9dkio>c
z!XXU|aJ2qCFW4p{WAR8Dhe^w#6z7dN;$thz)VZ0jKkTjRT%VPqxn
zSkpVKEJ%y35&pLc6{Xp&TPUX8G6jjO1g?1@nhxvm`
z50PI}l<8Sx4!)amCOq-{gr$saO!}IAY7oXDM?ULsYDSS@k5tyUP4KkEnyiO
zhVw0JJ$434Z`yj=mCOS8%-RS{vPBF#RV*Int9aEQ|tudEJ%p|phIUOx-${C
zz8_vGc@b2qt(K!xN6ds5a9DA6p7yIPH&hS17QM|*3%x*QyISN)!Sv8uHl^{-vs`%d
zkx)=}QCKMAM$J4kZeihcU?ULTALgw^utHE(WzK?haEjG3`#0QKx>sR072hU@FuH}T
zXSGF=Y7vF`o~Ag_TH{S>_}Ta~6$+nxEwuRf^*}zEYEPUy^5ztd94&T=5)3a|MC!?9
zvhEB-Z5wflz(HO|Us>7`Icrn?bPGX*6OKvkY-jHC4%;C>H?Nc)x>q)SK~oCA%!@s2pV#w09JV+HjCKc
zn5fB&O}|E5wG!LetQYClQze{3kWBi!ijTc|r@LwXt&tL}^A3soU8`#n24mJ)P|2s?DH<)cqSzG%MUc0lS
zF-S6`ov1ch9PCEX;6q9lO($rYP*3%&kzyd-Qy1oWy+n|_%lF(~dT8yrlNzpmv~)l^
ziS=(3JDt<1E`5mZGI2rvf3hCNSOKK{GOrtO&XXr%DK7a+h*uIe4*1xSl^fo>b^7z}
zwMv-Myttnsruuq>f9IkoPttjMHNk{hI5f8Ycz22QS4{CfL=CNn^msKK*M*~lO@?*-
zB|?XH1z}fEi5lGmJghqE>h9j?4#lf*^OrLD!?q`CT4vQy0!t1@FcS)n;u%Ey)@8
zW*3_INDD+75!m1-k}73O354E~e)lq{H$%2&o&jqfo*@O2dOVb0wJr6mg>c@G7D^1!
zi7BZYQC%Gr&<;e7pd|0g6WX*zC;6Qg;7q>AnMLC2{CC}s|JCSs=G}k4lM}dP5pRn%
z*H^Rhutd6hiup*L+>?PiH;5QwW@Gj-L`HN^M
z_wZviI*78Lro-2$OBYNspS5y6f2PhhB_$H|D7qMXQ=_TxRP#?N%eqjTqqaf>JLR~#
zduQW$%Xg}Whptt5qpmL0k}q_~t9MtXVbWqt3n{eJovd!ysA3^FJVTprao_ep`ItTRB-`J8*sQxJ7SS;wJM~0@
zjB1~!imh{B#h3H&xW14wg&v2?!Y^e}3<1JBtoEg`qE1I5BjumS
zg#Mt9{}6hlR@bfnGwFsT!);mHDnk8E;um}N-K5av=KGjAhQ2~v*u2zWqVB9$A{z6o
zNcCTZ`}=C=*Bn53$I5Js%G;qA$RSH&RxjKnweSo;+D)s&vdJp1M@Ll-
zD-m3|x^~n9MFKthqiTgK!#cbT)ZijlClp1;HaID+&Ze2S^h@=)h3}u9FPS%rz|<%6
zdNPF`8HK^{oO@6*b|UXD`rBLEiK)n@T>l;hx`~LfX?7LP>+uCXOKSpEsVfZgB!Qh_Q1ynD2g`G+y{zoNdcf73}Lmkjw>6
z@wUS>VxGq;KCD)m%dj{9F@AC9V=pSa~VD!z;$fA~!S30k3sk!g2
zO2Aewpt}OcPgEgI~TEu#VL6_z02DPVwrg-wj@WVm&E*k(+G?N8(
z7!@?Xx7T4q+FZQ-4zMkgOayG4N$tD8<6;uNRrnKhP1l|axh_xtix|^P_g5`tzW0{A
zTBqekGKQd90uXm{|A6R4!E~&jMSO~M2=}=9U8(1OaRbnrLA12Dy@GzbHzc(I>v%~s
z@z#eZVv|k66vu@JwK*n&c{oU!jhEL2WeDB(Ms%dkte9@#VB4?5XqBVf2a2@N#Ep4F
z#x%DbH+iJnP6_&rW=0yshx{yhsc&5o0OIikYUoIaFE%9{w@WI@HOL9qN6#k4+KrkU
zxAUymKeznAfWPB4!t;M>YdMd>1gj5QQcmp3xZ;c*8|sO8PeopX>o567d@P!nrG$fo
zWgY$x(*DT^4y6+R@s!N4)|Ig<^7;pKNT>;(_Z(qM*!zq8DdYOSS5%J`VUqb9Iy6lm
zcG_uTEAm*JG;=h7$@1w=HwV)k4cs(}4hFeM{zj{1lHFf?3U3dFkTzHW834b#$%4h2
zTLLb~VlkiHRjsB8zP_;xG+;)9Gx@u4jT2#cB=5Qxe`2Cnj)f(alZ>F>h2F_c+`F-V??
zTF}0>yNvQJa%@#YjTvs^h5mA)g;s7%Ea;Sd2EcAy*-QS)?mLDrY@EW7on_X4G)Z-M
z?@N}b$@u-5AwhlO1AF9xQ9(4yVa;E?*0&H#XhvHV%Bru96L$IdB{@P~;uUKhe=wh7
z;M09}+aK5z2QUVB9BFCi`Kgb?83U8nxL3nWL@gC_9HicBg{(WTLPV3Fiyls8BOV{0{B*R>1AyyId3wrJEA&wU|Y(9RTiYoAs=|B_m|SCh_9+5JlqE=fBq
z#EDx;)}}t>!4OxMbSLw*(TQGD=cI6!_>zAuKh+
zZn%WVzoRb8G9teN4;HcLNb;?ZD3YKONPZ(KlZD!@pSl5b*IO`Qs;GJ!+YPx)yh@k1
zlsSiSZ9^+KUzz@jW*Ks5m#>s!KYOqFDX(Q?w}eQm&M4noZOwOA8R#a!i`g2ZLEaGW)OTcx-9gAqFkIsWA
zw_+JKQC-`^$&AewB&kwvCNvLgM)Q4fzn!c0?!bI`Y#8@b^UDdT-NJ^I;^e_l%`&{t
z?BNt51yC^!znl8)JRd!UQ5Co9TYe>r*2se!?NRH>FKvvL4pVPSt&JVR@`H%p_&YQE6@P8v?XLgj?
zy+zeg;bi+C9fOP8UBLVQO0yUpbD43?m5w1mP+KBF_z26HX`y+^@#xdH6i_Zd?O0=#>F1BTN5siO`_s7Pd#1V`Oq;dwh)xx0j{Gy+trX+b9$`5I`I
z=Sq7C+2cWvLzmp?>j;`94u1Ik>f3I(;X6G^b++U=ug!JIZS(#7s&aE%v@k=qh+Jz;
z!0|j)@6Rf!m4n@VV#YA54H1&d?Dq5UmTS`w|Erz3e}f@iJRFeRB
zN7K~>xGGbqs0X}R(0^K)EITWsbgR2prJ5+)*&Fan(j#`+6h7O6G7_P{h8o3Fr=$Uw
zLo;^aVJ$CjF6HMT_jP6KZol|GtdgP_P)rgM=eBr
ztA4}hfPCrvLw;zg(aif@Q!tXHIrB8vXL=rT+82$c&o{dy=0lyWKl&X(;B
zpUr+n`F*thR7mhb5JSaSIRRpcdUnn@Hex@z=$SnPJ@FtwdD~0TyBuHY?QVcPyy1JD7YLrks?L7hJ2e>z?
z({bL*57J%5+kzZzXs>Q3aT3(_HFo%WZdzeA#bKZ{S6&pzQtuu~0P92#c)393lG{2L^Yie(RL8pnenR*z
z?INQg^@l?3&Hb2fMV@vP-%B3Ol7Ij09hj5e`fo7W_$MW?o`g9X`&l|Pt8R^?MLe3B
zD?7JNx>C3MuUmB7WkTvQ0+y()n6UUfbu_=Sw1&YVetwUp!;izauT{#AC?JCc5
z!*?`Pp>639OZPrrq>m`~car~w?%~XC!#4uE+CwjU?4Q&|P_`^|;;&c4$M~9`
z0XSEvhFNda%w=IbOUddRX)~SXd^{rl_$vN_HX92Hv=UMtD%a@WJ11?z<6`b@MY!tn
z*>Z|#Jrmvr2)7+$WZ~(Da#XF0O!_(^lDUP=P408}8r@q{bK!+bx^J%8%18h0t1KVm
z$!KJ!@t#~>ct`+3jE3h{%p6H4YKn=t;ro^?2$LBj@=j`~eCui!Rha%U8Wjr`wNy-w
zX#C3a1nJ?rwE?02=O%mv*9lEDOq5FGkKQrUhurp7#uXkN%&VPCYGQ*|Qx(XFVgLjU
zeMpm2gitM~r*zC-g%0%}%(l4NqA#MB-II_=T%dn#mHd->Oel*c)l!YO9~V~Hn7(Q0
zR@;Wx6;Lwg%IPVQvUrIvQD0`Pv!!|-1f?cM04TKoKqurygSe#K(OKLymTETN^Zf#%
zLakcXk$BF}?};iEyeoJE-6p8J7D^2P@k4)Ko9kdJPqNX--ZQz%11R93QGvMY>;N4M
zJETrbD`6!Hpq!151vEW`kA7rtA162c;Bo@oO*lPHp4WfZFC181HA`?H-z^0YO`dg=
z;`|1fLJV$8abA24c**AQuVW@kD6-5T!B*)YGWQ#LBy_Q+J>@?K+sGTNgv>dGgCsCj
zc9o-`3=a}8q0jx7Tb6i%KDB50M;r4$m_LOrwTrO}<>0%!eRd!=chbjI5&Msn4`WUy
zwQGU8y+QlVlOm6PeFEt_#iT@=Wk^rM&qVU-mSyJIx~#e%*!Rdq>-_!pE?bvZkGW+;
zEC+!Ma}8Nz22XUhZH*aeK_i>}?=kJi`e@^T3a#PVI$l9LDTplEw-50#M<~pk(&8%I
z%npWdfLu?tHt#7cel)pD>YKz4{y`U6eyIF*&M3)`oz}{^%};{bOthx2n)22oK3hD0
z(;r-QxNVxFVs*wXKfj*$q#6xC%K^YoZsg-OKsWLus~BHh$ZRX~@FFw4Uy(IS%O1
z+0*erR~d2$EKIG7o%y1XmX%1o{qYH|vB4LO)PB2i*A0nq^vD@xIY$G5L90FML}36UPrR`_g7|ay|#Q2aut(M
zeEiR^8spvVmWvYy;bpEqThMq$q`@Bp6iFeHI6cH+YtG|8T6BgpQZDsH-z=XOGm16I
zB%kBSgaYLebg&R<`D&6bELq?qx
zWwSI2S|nJ|nGDi~9A)IIGd3IkIV-sDjN0aMX902k6CQyLD8zRI&wlOE3R^yp^uPje
z8*p~Qi|>GHB`|(RxfR}CpZ>l*teVhe?Q=rX-afL~FmgrtW{G|U%?G>1e@giA^
zDxJMgFlMfaB*Mxw3=2N+oR)Mt5A=V6W29C?^S;UEL7JTTP$b`~G1IwT3$DT$)`+%s
zQmqe;-NG+ANnhM;%6nm}qaKxY;3)?yz;I8#tp&|MI`8&yG`YfadYWqZyyE+**)A$Z
zxO6cvGdbpC_#ATO)s(M3&R7W^tHegAR-~>7IV2WMEeglcb_J1h1#eIsOou{|+zo$y
z@vme>Hf^6uE_m3FFHA>|o%_*yV$9fo>a5ThnT%-8^}OWMOI2kvCyS&8Nx!FZqygK`^P{5rcG+7!=8aJfS|9k;s;bJ206pQf_vO
zi2ytVv6=XSjv#~Ca#z;Z11}!0^A?P$OiCusKyAB48qd&0Y@dnPY?3U_r0Icq1igy)
z%=j5P6!mHEs6kStAOY8nI~uQc%jQ>I-#_`?KPg~1i?X?A8`H_HZTkVm1TSa=$f5P=
z5eIECGIL3cp9iq5DB6ekTpDGnGm1I;qPjpTl6H>5-Z?7Z2AWFE#DA5l<2a1!QRW8%66;y3u}J>V60pTqC(?61
z_jQUV=jTTfjkKKIN1aeZwPwBZ?|N+3=D!ZU`Yp{x3GRWH6TfUV>z#O0eLA4aE&man<7by4Th@BbxTn(V
zle{4dUr+*(43mEH6yd_S6nymL^<*x6%taT+*rO&7v_4pdW^L}a-O-CyTPKK1VOjt;ibh{Z2Q3)tI%}a^l>>NbOQ<4I>-eaM(JrFvGRisxR>u
zxmWQ9oBVBequr@Vi=U{}-b8_xoUsxfhThkd*h>UGj_s@7XGU&jmNWzx6kSowr9?De
z^_v9{KVaMPz1Fox2rRB4eS8?T)+~AGrY?QjHkGI_(WA80BUt~rxoc@Q?{AG&zUYWw
zMJ&_)9aI4CspvwotJO3=I_D|i*N@kWN|Fg0X1$)v`L-Z0aI|TW5vv)~NoEYEzU|E!
z0!U`H;a0dCs~`4cuCB5<@Lp+bY|mhpuxWbm|Meug~o@B>6Tl9y&Mb(u%q8|Ptxm72`-h5wY
z7d!$*JKQUt1$5b^Cmoh(pi}SMpa~IuM&Tm;{^td9
zmXRHYr`AUA>8YILly+(wq*@uFgr%1Mz05?h#C)vV>EOtxsyZfO_Gi{}S;h7X5%&`FDs^Uhf=lIxTi5FPced#gAN{tRofVc4S
znqM}k)9|G9l^NAF(5rZnDzd@;wjP)(Nj{T$BUKmGoA@ivAZF~VOAr+B6S6#vu4{Q#
zm_*db23{tnn)*-V#2m3@nz!k8IyDa4yi3Mcza0h1vhgnQfE3YVE7gcz$2ZC(YbAv!
z%!Zy>V_sq>!1Mv?w*$z1gOu==r=KXz
zEzp>fkuY5?wsKdLMKm)p<<{kbx@g#uO=Vk
zKOVZvgaWI5!%_VRqnuBY*F4&UQIm~L_gS8y$O!79WPpgvKza*M5La%brVmDy=PVul
zZC-9Szg%uEK_dMWgVZhqx*o8Ife!MW?G40(JVMq8)4je%4;H+1QwA$}VcMTXyRvS(
zESf)bqW*2IS@COBhErqe0vU0Jhwju>KT!XFG$BZIcFDNW0_WoHa<8ctNwimkY7J#TqSU7fF=0v9c?b2WAIScE{`(-V>;{x9jR$Mr0Pq2|)F2KTL&Wl0=AQ6Kh=3?0YolXgPtQSlf?(a=SHGbB&dy8kh*vGbBd;g
zqk)1xW>q<*Pigp*4x}nch@ck>C^VGxPmHp?4}pjF=JXuTpQH``5tRyXz{2L^aC&B%CQ?ZiiI
z6D{GGtW9{Ou%k4ZTX`GA-H`Z@n`c7sW^tBV&?W0xAD$KYxfwZqd4<%BNN7Q)2Xe~s
zSCI6fp_(iybtM4C6cA0G6+`7Q-bz7Ap?cT~Nj*vePhH-S1LtaaGQqkzg0J<5Tde&Y
z+ZRlPE1Ay~_+E7!6X!|@JlrXp73wvYanBBVm5arJm*^^W%bnj=NkEA)Q>ar5So>y5
znIWvqb6%c<`CF!Kv_1|$qK4M3f?>2R-;J-=UUkh1NR
z)-9J?sRbS+hynmHF^8@O<7ydeTNEWM2io|htK04u26(gy$vqXJJfdqe(ByZtD#Hqh
zeR#|76w%d84rIrQsj()tflu56RH;2nom4&~qRzNw3(vT}UjcChS&Fnh93fzri&QI{
zkvXXecU~N}Uo~gVuK8h<<__>Y{0qh>zf`G?2#-|mW+ADo+iwMQWoA99kfNeGnOq^s30TW&2K&^GtrA-yb{LeF7VSS`p8
z+`({3;fG5XKxcBx=(X@1=b;0hORmdFeAYZ)q?w}uN=UFAbU`TqjC+aSiNZX-6T%Yp
z;>*&dvb!d?2%l)HNiq;w90K{MO7RpJ0XL1;r2&k{N6$K@>SG;Vl2&rNFlk|vtJaz{
zg|GqeRCten>r$Q4Cm^=Wibb|1Yxdi}0b~MqsL#qhwlgrUjzYp)?~R<{&AEd39`K}N
zXV|6D!j{H*o*xiVYl9epMBO`+1)BG7;4et6nPmv+-n?bD)cBOg=!eE$>STbf00fa{
zDbgFd5q*bJD&MN~$U{R0&98%cv|Z0c**2g=SuuTEiP$B=R@P-dd^AgHv^iksvP&AN
z-1#5BXpY>UW0P!jLXE_MuI4_6kiZo*ZU=ae_C;?C2?T&r`DM{~YqaBK)>$1$(6~pk
z@e$4^4GL%F`gGWj67f{LXyIZyNt%LATTA`-SYy0?ZhCB5&svQ9mHC|A&1UU@4=?08
zOL*ZBwDU(*s&$z)wSXo?TzChW>Xsx2(^7$BFzF#+jmaPmQ5{pAO)Ms<)2cfs7I*>!
zb3H~1w%wZ-`!cafx49YmRVh>2%4j_`%J6&|FdO;Sc=hd@8allyO*Qv~2Y$!hndKWw
z)P0?ERQyk~Gim4~Rh%TcqtAu@yGdC-AK~$2@kEQ;
zvf9%ej|Lbrp}~}=uxj-~d22Ckm
zzp+%XnBu(s5lT&q4o)_?(uFK8llY!M23ABpaMe}NN_c=7`Dv#*_`T-X25zS2CTD=c
zYvBtDlApphGA1z^0!R>_nlS=rSt|Albi=onWNE8{AhsqRd0VJE3g1@rT}ullhH~j%
z@F@pfF!-)LTf*qeKLG|)=fkYaa{G6Y|AK1%)5q?F*R6S4^3t2)++uxwoLqpk&4F|s
zh>tYlzQ$a9wNu7|!(D0|9bt6p4jk@U2gXPmAmVrknC>(3X(
zf3;JkDv(-Eba9j)+VPj~i^o*s0$u0H*4t(1
zq-e4zI3gjwIyNOh(*+@gb*%$Dpu3rU@0$f*g
zSL4I(jNi<|87z^&xJC!b6&i8&`a;do+9u9tq@Pgl{$8uG6ZWWzQq?D~+q=WTSW)u6jrtbEqry`fyc(ca`b~
z;FRV)cg3k=8mTlXz`}W@J{$GlozQdpp0du{FE6K6D;^f*8=1{0cs}Pu=Vvpjisz;GQ(~`0CB*g;wa8&}5GK}K^
zc(z9gCv=RT@lY%IRod7>?F8{Lyr?j>VHg-(J|3JnPNPQClPE#x_JLnKYHg9mCx#b4=%_YZnfKX~|YQ=JpMplV1#xIN|+HRGwV9>6TiuEd1eTywa
zJ~h``0}TBQJd#-~bl1DcK-wKTB;NjkrzB8|qvu0>zOCr-j$4}I)qRP4qB6~!6joWZ
zpSl|FpByY6w=nT<0e`^Tf8NI=h&Fb$D1kyZM)rL5sW^TQSGxImo!p!;P{&p$|KN;{8Qd3)2
zfZ_x)-A{N+x*iI08xK|j3T3u+ASni>@C+?7E;VDI7uC04e
zk><_fl22I;+0pn3{yq1}ON$C0lZ{}NHz628B%e354pQk}Z?F4-6vaSX+n-b^l`_qZ
z>0si@xwpnLG8Xo8kuL*sb&0iv8nw9l%1%}ymuE9)O0&Qv0eX0KYAFuVj*V46RibhS
zNNEk28u&WTXajjU>oTAx{`nzMO|W2jvSS+s(cGcC3AX{thY#If`UFKS7>8BnhKSuoYHMn5sW7PkQd0qt2Mt2O?QETX#2=&O%R%V$+5%>tAA#9b5#B
zX>fp8;DYPR;F$H2+Y+xNU6FB)2MP}X5f>_MTqEa1-|6~QIc1atC2Aa|3ANjT`B+o
literal 0
HcmV?d00001
From 7db66848866d03253f492a97a4c519ef7e83de16 Mon Sep 17 00:00:00 2001
From: Patrice Chalin
Date: Wed, 8 Jun 2016 08:02:57 -0700
Subject: [PATCH 0007/1217] chore(dart): add/cleanup example hosting config
files (#1605)
---
public/docs/_examples/architecture/dart/.docsync.json | 4 ++--
.../docs/_examples/attribute-directives/dart/.docsync.json | 4 ++++
.../docs/_examples/dependency-injection/dart/.docsync.json | 4 ++--
public/docs/_examples/displaying-data/dart/.docsync.json | 4 ++--
public/docs/_examples/forms/dart/.docsync.json | 4 ++--
.../hierarchical-dependency-injection/dart/.docsync.json | 4 ++++
public/docs/_examples/pipes/dart/.docsync.json | 4 ++++
public/docs/_examples/quickstart/dart/.docsync.json | 3 +++
.../docs/_examples/server-communication/dart/.docsync.json | 4 ++--
public/docs/_examples/template-syntax/dart/.docsync.json | 4 ++--
public/docs/_examples/toh-1/dart/.docsync.json | 5 +++++
public/docs/_examples/toh-2/dart/.docsync.json | 5 +++++
public/docs/_examples/toh-3/dart/.docsync.json | 5 +++++
public/docs/_examples/toh-4/dart/.docsync.json | 5 +++++
public/docs/_examples/toh-5/dart/.docsync.json | 5 +++++
public/docs/_examples/user-input/dart/.docsync.json | 4 ++--
16 files changed, 54 insertions(+), 14 deletions(-)
create mode 100644 public/docs/_examples/attribute-directives/dart/.docsync.json
create mode 100644 public/docs/_examples/hierarchical-dependency-injection/dart/.docsync.json
create mode 100644 public/docs/_examples/pipes/dart/.docsync.json
create mode 100644 public/docs/_examples/quickstart/dart/.docsync.json
create mode 100644 public/docs/_examples/toh-1/dart/.docsync.json
create mode 100644 public/docs/_examples/toh-2/dart/.docsync.json
create mode 100644 public/docs/_examples/toh-3/dart/.docsync.json
create mode 100644 public/docs/_examples/toh-4/dart/.docsync.json
create mode 100644 public/docs/_examples/toh-5/dart/.docsync.json
diff --git a/public/docs/_examples/architecture/dart/.docsync.json b/public/docs/_examples/architecture/dart/.docsync.json
index f47a6645ce..59471b5a08 100644
--- a/public/docs/_examples/architecture/dart/.docsync.json
+++ b/public/docs/_examples/architecture/dart/.docsync.json
@@ -1,4 +1,4 @@
{
- "name": "Architecture overview",
- "docHref": "https://angular.io/docs/dart/latest/guide/architecture.html"
+ "title": "Architecture Overview",
+ "docPart": "guide"
}
diff --git a/public/docs/_examples/attribute-directives/dart/.docsync.json b/public/docs/_examples/attribute-directives/dart/.docsync.json
new file mode 100644
index 0000000000..de4f8418ee
--- /dev/null
+++ b/public/docs/_examples/attribute-directives/dart/.docsync.json
@@ -0,0 +1,4 @@
+{
+ "title": "Attribute Directives",
+ "docPart": "guide"
+}
diff --git a/public/docs/_examples/dependency-injection/dart/.docsync.json b/public/docs/_examples/dependency-injection/dart/.docsync.json
index 3695627e50..fe3b9a3073 100644
--- a/public/docs/_examples/dependency-injection/dart/.docsync.json
+++ b/public/docs/_examples/dependency-injection/dart/.docsync.json
@@ -1,4 +1,4 @@
{
- "name": "Dependency injection",
- "docHref": "https://angular.io/docs/dart/latest/guide/dependency-injection.html"
+ "title": "Dependency Injection",
+ "docPart": "guide"
}
diff --git a/public/docs/_examples/displaying-data/dart/.docsync.json b/public/docs/_examples/displaying-data/dart/.docsync.json
index 3d1d13a2df..b5fefc76cc 100644
--- a/public/docs/_examples/displaying-data/dart/.docsync.json
+++ b/public/docs/_examples/displaying-data/dart/.docsync.json
@@ -1,4 +1,4 @@
{
- "name": "Displaying data",
- "docHref": "https://angular.io/docs/dart/latest/guide/displaying-data.html"
+ "title": "Displaying Data",
+ "docPart": "guide"
}
diff --git a/public/docs/_examples/forms/dart/.docsync.json b/public/docs/_examples/forms/dart/.docsync.json
index 066f6e56e9..962346743f 100644
--- a/public/docs/_examples/forms/dart/.docsync.json
+++ b/public/docs/_examples/forms/dart/.docsync.json
@@ -1,4 +1,4 @@
{
- "name": "Forms",
- "docHref": "https://angular.io/docs/dart/latest/guide/forms.html"
+ "title": "Forms",
+ "docPart": "guide"
}
diff --git a/public/docs/_examples/hierarchical-dependency-injection/dart/.docsync.json b/public/docs/_examples/hierarchical-dependency-injection/dart/.docsync.json
new file mode 100644
index 0000000000..a458150445
--- /dev/null
+++ b/public/docs/_examples/hierarchical-dependency-injection/dart/.docsync.json
@@ -0,0 +1,4 @@
+{
+ "title": "Hierarchical Dependency Injection",
+ "docPart": "guide"
+}
diff --git a/public/docs/_examples/pipes/dart/.docsync.json b/public/docs/_examples/pipes/dart/.docsync.json
new file mode 100644
index 0000000000..7b5fe18832
--- /dev/null
+++ b/public/docs/_examples/pipes/dart/.docsync.json
@@ -0,0 +1,4 @@
+{
+ "title": "Pipes",
+ "docPart": "guide"
+}
diff --git a/public/docs/_examples/quickstart/dart/.docsync.json b/public/docs/_examples/quickstart/dart/.docsync.json
new file mode 100644
index 0000000000..f8dc055278
--- /dev/null
+++ b/public/docs/_examples/quickstart/dart/.docsync.json
@@ -0,0 +1,3 @@
+{
+ "title": "QuickStart"
+}
diff --git a/public/docs/_examples/server-communication/dart/.docsync.json b/public/docs/_examples/server-communication/dart/.docsync.json
index baa578054f..4dc63783c9 100644
--- a/public/docs/_examples/server-communication/dart/.docsync.json
+++ b/public/docs/_examples/server-communication/dart/.docsync.json
@@ -1,4 +1,4 @@
{
- "name": "HTTP client (server communication)",
- "docHref": "https://angular.io/docs/dart/latest/guide/server-communication.html"
+ "title": "HTTP Client (Server Communication)",
+ "docPart": "guide"
}
diff --git a/public/docs/_examples/template-syntax/dart/.docsync.json b/public/docs/_examples/template-syntax/dart/.docsync.json
index 0caee30723..8156f76401 100644
--- a/public/docs/_examples/template-syntax/dart/.docsync.json
+++ b/public/docs/_examples/template-syntax/dart/.docsync.json
@@ -1,4 +1,4 @@
{
- "name": "Template Syntax",
- "docHref": "https://angular.io/docs/ts/latest/guide/template-syntax.html"
+ "title": "Template Syntax",
+ "docPart": "guide"
}
diff --git a/public/docs/_examples/toh-1/dart/.docsync.json b/public/docs/_examples/toh-1/dart/.docsync.json
new file mode 100644
index 0000000000..7ea3bce8f9
--- /dev/null
+++ b/public/docs/_examples/toh-1/dart/.docsync.json
@@ -0,0 +1,5 @@
+{
+ "title": "Tour of Heroes: The Hero Editor",
+ "docPart": "tutorial",
+ "docHref": "toh-pt1.html"
+}
diff --git a/public/docs/_examples/toh-2/dart/.docsync.json b/public/docs/_examples/toh-2/dart/.docsync.json
new file mode 100644
index 0000000000..7b3eecf567
--- /dev/null
+++ b/public/docs/_examples/toh-2/dart/.docsync.json
@@ -0,0 +1,5 @@
+{
+ "title": "Tour of Heroes: Master/Detail",
+ "docPart": "tutorial",
+ "docHref": "toh-pt2.html"
+}
diff --git a/public/docs/_examples/toh-3/dart/.docsync.json b/public/docs/_examples/toh-3/dart/.docsync.json
new file mode 100644
index 0000000000..b6418ebe94
--- /dev/null
+++ b/public/docs/_examples/toh-3/dart/.docsync.json
@@ -0,0 +1,5 @@
+{
+ "title": "Tour of Heroes: Multiple Components",
+ "docPart": "tutorial",
+ "docHref": "toh-pt3.html"
+}
diff --git a/public/docs/_examples/toh-4/dart/.docsync.json b/public/docs/_examples/toh-4/dart/.docsync.json
new file mode 100644
index 0000000000..fa76636c8e
--- /dev/null
+++ b/public/docs/_examples/toh-4/dart/.docsync.json
@@ -0,0 +1,5 @@
+{
+ "title": "Tour of Heroes: Services",
+ "docPart": "tutorial",
+ "docHref": "toh-pt4.html"
+}
diff --git a/public/docs/_examples/toh-5/dart/.docsync.json b/public/docs/_examples/toh-5/dart/.docsync.json
new file mode 100644
index 0000000000..74d2e1165a
--- /dev/null
+++ b/public/docs/_examples/toh-5/dart/.docsync.json
@@ -0,0 +1,5 @@
+{
+ "title": "Tour of Heroes: Routing",
+ "docPart": "tutorial",
+ "docHref": "toh-pt5.html"
+}
diff --git a/public/docs/_examples/user-input/dart/.docsync.json b/public/docs/_examples/user-input/dart/.docsync.json
index 7538cfa2a0..14a4c32d55 100644
--- a/public/docs/_examples/user-input/dart/.docsync.json
+++ b/public/docs/_examples/user-input/dart/.docsync.json
@@ -1,4 +1,4 @@
{
- "name": "User input",
- "docHref": "https://angular.io/docs/dart/latest/guide/user-input.html"
+ "title": "User Input",
+ "docPart": "guide"
}
From e6643b0869de7fc5049088244d270c984971df57 Mon Sep 17 00:00:00 2001
From: Patrice Chalin
Date: Wed, 8 Jun 2016 08:54:43 -0700
Subject: [PATCH 0008/1217] chore(gulpfile): don't watch generated dart
packages (#1601)
---
gulpfile.js | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gulpfile.js b/gulpfile.js
index dd0eebb235..2adac97a80 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -958,8 +958,9 @@ function devGuideExamplesWatch(shredOptions, postShredAction) {
// removed this version because gulp.watch has the same glob issue that dgeni has.
// var excludePattern = '!' + path.join(shredOptions.examplesDir, '**/node_modules/**/*.*');
// gulp.watch([includePattern, excludePattern], {readDelay: 500}, function (event, done) {
- var files = globby.sync( [includePattern], { ignore: [ '**/node_modules/**', '**/_fragments/**',
- '**/dart/build/**' ]});
+ var ignoreThese = [ '**/node_modules/**', '**/_fragments/**',
+ '**/dart/.pub/**', '**/dart/build/**', '**/dart/packages/**'];
+ var files = globby.sync( [includePattern], { ignore: ignoreThese });
gulp.watch([files], {readDelay: 500}, function (event, done) {
gutil.log('Dev Guide example changed')
gutil.log('Event type: ' + event.type); // added, changed, or deleted
From 3c77a7fcd1d9aaebc0f248b6e95d57e32a87df13 Mon Sep 17 00:00:00 2001
From: Patrice Chalin
Date: Wed, 8 Jun 2016 09:25:48 -0700
Subject: [PATCH 0009/1217] docs(basics/di): minor edits following TS switch to
provider object literal (#1600)
Minor edits:
- Dart side adjustments following #1594.
- Renamed example '3a' to just '3' and tweaked the logger message
- Removed obsolete Dart block.
---
.../dart/lib/providers_component.dart | 17 ++++++++++-------
.../_examples/dependency-injection/e2e-spec.ts | 6 +++---
.../ts/app/providers.component.ts | 14 +++++++-------
.../dart/latest/guide/dependency-injection.jade | 9 ++++++---
.../ts/latest/guide/dependency-injection.jade | 10 ++++++----
5 files changed, 32 insertions(+), 24 deletions(-)
diff --git a/public/docs/_examples/dependency-injection/dart/lib/providers_component.dart b/public/docs/_examples/dependency-injection/dart/lib/providers_component.dart
index 11f2184242..a52ea6d267 100644
--- a/public/docs/_examples/dependency-injection/dart/lib/providers_component.dart
+++ b/public/docs/_examples/dependency-injection/dart/lib/providers_component.dart
@@ -29,15 +29,18 @@ class ProviderComponent1 {
/// Component just used to ensure that shared E2E tests pass.
@Component(
- selector: 'provider-3a',
+ selector: 'provider-3',
template: '{{log}}',
- providers: const [const Provider(Logger, useClass: Logger)]
+ providers:
+ // #docregion providers-3
+ const [const Provider(Logger, useClass: Logger)]
+ // #enddocregion providers-3
)
-class ProviderComponent3a {
+class ProviderComponent3 {
String log;
- ProviderComponent3a(Logger logger) {
- logger.log('Hello from logger provided with {provide: Logger, useClass: Logger}');
+ ProviderComponent3(Logger logger) {
+ logger.log('Hello from logger provided with useClass:Logger');
log = logger.logs[0];
}
}
@@ -250,7 +253,7 @@ class ProviderComponent10 implements OnInit {
template: '''
Provider variations
-
+
@@ -261,7 +264,7 @@ class ProviderComponent10 implements OnInit {
''',
directives: const [
ProviderComponent1,
- ProviderComponent3a,
+ ProviderComponent3,
ProviderComponent4,
ProviderComponent5,
ProviderComponent6a,
diff --git a/public/docs/_examples/dependency-injection/e2e-spec.ts b/public/docs/_examples/dependency-injection/e2e-spec.ts
index d4625478f3..51b73ad40f 100644
--- a/public/docs/_examples/dependency-injection/e2e-spec.ts
+++ b/public/docs/_examples/dependency-injection/e2e-spec.ts
@@ -80,9 +80,9 @@ describe('Dependency Injection Tests', function () {
expect(element(by.css('#p1')).getText()).toEqual(expectedMsg);
});
- it('P3a (provide) displays as expected', function () {
- expectedMsg = 'Hello from logger provided with { provide: Logger, useClass: Logger }';
- expect(element(by.css('#p3a')).getText()).toEqual(expectedMsg);
+ it('P3 (provide) displays as expected', function () {
+ expectedMsg = 'Hello from logger provided with useClass:Logger';
+ expect(element(by.css('#p3')).getText()).toEqual(expectedMsg);
});
it('P4 (useClass:BetterLogger) displays as expected', function () {
diff --git a/public/docs/_examples/dependency-injection/ts/app/providers.component.ts b/public/docs/_examples/dependency-injection/ts/app/providers.component.ts
index 61c53bb862..74c36d8e62 100644
--- a/public/docs/_examples/dependency-injection/ts/app/providers.component.ts
+++ b/public/docs/_examples/dependency-injection/ts/app/providers.component.ts
@@ -31,17 +31,17 @@ export class ProviderComponent1 {
//////////////////////////////////////////
@Component({
- selector: 'provider-3a',
+ selector: 'provider-3',
template: template,
providers:
- // #docregion providers-3a
+ // #docregion providers-3
[{ provide: Logger, useClass: Logger }]
- // #enddocregion providers-3a
+ // #enddocregion providers-3
})
-export class ProviderComponent3a {
+export class ProviderComponent3 {
log: string;
constructor(logger: Logger) {
- logger.log('Hello from logger provided with { provide: Logger, useClass: Logger }');
+ logger.log('Hello from logger provided with useClass:Logger');
this.log = logger.logs[0];
}
}
@@ -252,7 +252,7 @@ export class ProviderComponent10 {
template: `
Provider variations
-
+
@@ -264,7 +264,7 @@ export class ProviderComponent10 {
`,
directives: [
ProviderComponent1,
- ProviderComponent3a,
+ ProviderComponent3,
ProviderComponent4,
ProviderComponent5,
ProviderComponent6a,
diff --git a/public/docs/dart/latest/guide/dependency-injection.jade b/public/docs/dart/latest/guide/dependency-injection.jade
index 0f991c5673..aaef0260d9 100644
--- a/public/docs/dart/latest/guide/dependency-injection.jade
+++ b/public/docs/dart/latest/guide/dependency-injection.jade
@@ -43,8 +43,10 @@ block real-logger
A real implementation would probably use the
[logging package](https://pub.dartlang.org/packages/logging).
-block optional-logger
- //- TBC.
+block canonical-provider-expr
+ | that creates a new instance of the
+ a(href="../api/core/Provider-class.html") Provider
+ | class:
block provider-ctor-args
- var _secondParam = 'named parameter, such as useClass'
@@ -61,7 +63,8 @@ block dart-diff-const-metadata
Instead, we use constant literals or constant constructors.
For example, a TypeScript program will use the
object literal `{ provide: Logger, useClass: BetterLogger }`.
- A Dart annotation would instead use the constant value `const Provider(Logger, useClass: BetterLogger)`.
+ A Dart annotation would instead use the constant value
+ `const Provider(Logger, useClass: BetterLogger)`.
block dart-diff-const-metadata-ctor
.callout.is-helpful
diff --git a/public/docs/ts/latest/guide/dependency-injection.jade b/public/docs/ts/latest/guide/dependency-injection.jade
index 9e5ccf2f7d..94e0ec0111 100644
--- a/public/docs/ts/latest/guide/dependency-injection.jade
+++ b/public/docs/ts/latest/guide/dependency-injection.jade
@@ -518,14 +518,16 @@ code-example(format="nocode").
+makeExample('dependency-injection/ts/app/providers.component.ts','providers-1')
-:marked
- This is actually a short-hand expression for a provider registration using the _provider_ object literal.
+p
+ | This is actually a short-hand expression for a provider registration
+ block canonical-provider-expr
+ | using a provider object literal with two properties:
-+makeExample('dependency-injection/ts/app/providers.component.ts','providers-3a')
++makeExample('dependency-injection/ts/app/providers.component.ts','providers-3')
block provider-ctor-args
- var _secondParam = 'provider definition object';
-//- var _secondParam = _docsFor == 'dart' ? 'named parameter, such as useClass' : 'provider definition object';
+
:marked
The first is the [token](#token) that serves as the key for both locating a dependency value
and registering the provider.
From 1cc5284cc2049d58563bc598c4807f7e593ab99c Mon Sep 17 00:00:00 2001
From: Patrice Chalin
Date: Wed, 8 Jun 2016 16:24:56 -0700
Subject: [PATCH 0010/1217] docs(toh-2/dart): copyedits (#1621)
---
.../toh-2/dart/lib/app_component.dart | 19 ++++----
.../docs/_examples/toh-2/dart/web/main.dart | 4 +-
public/docs/dart/latest/tutorial/toh-pt2.jade | 45 +++++++++----------
3 files changed, 31 insertions(+), 37 deletions(-)
diff --git a/public/docs/_examples/toh-2/dart/lib/app_component.dart b/public/docs/_examples/toh-2/dart/lib/app_component.dart
index 4959afe753..66268118dc 100644
--- a/public/docs/_examples/toh-2/dart/lib/app_component.dart
+++ b/public/docs/_examples/toh-2/dart/lib/app_component.dart
@@ -1,4 +1,4 @@
-// #docregion pt2
+// #docregion
import 'package:angular2/core.dart';
class Hero {
@@ -29,7 +29,7 @@ class Hero {
''',
-// #docregion styles-1
+// #docregion styles
styles: const [
'''
.selected {
@@ -80,21 +80,21 @@ class Hero {
}
'''
])
-// #enddocregion styles-1
+// #enddocregion styles
class AppComponent {
final String title = 'Tour of Heroes';
final List heroes = mockHeroes;
-// #docregion selected-hero-1
+// #docregion selected-hero
Hero selectedHero;
-// #enddocregion selected-hero-1
+// #enddocregion selected-hero
-// #docregion on-select-1
+// #docregion on-select
onSelect(Hero hero) {
selectedHero = hero;
}
-// #enddocregion on-select-1
+// #enddocregion on-select
}
-// #enddocregion pt2
+// #enddocregion
// #docregion hero-array
final List mockHeroes = [
@@ -109,6 +109,3 @@ final List mockHeroes = [
new Hero(19, 'Magma'),
new Hero(20, 'Tornado')
];
-// #enddocregion hero-array
-
-// #enddocregion pt2
diff --git a/public/docs/_examples/toh-2/dart/web/main.dart b/public/docs/_examples/toh-2/dart/web/main.dart
index 129bd9620b..ed2bb7156f 100644
--- a/public/docs/_examples/toh-2/dart/web/main.dart
+++ b/public/docs/_examples/toh-2/dart/web/main.dart
@@ -1,9 +1,7 @@
-// #docregion pt2
import 'package:angular2/platform/browser.dart';
import 'package:angular2_tour_of_heroes/app_component.dart';
-main() {
+void main() {
bootstrap(AppComponent);
}
-// #enddocregion pt2
diff --git a/public/docs/dart/latest/tutorial/toh-pt2.jade b/public/docs/dart/latest/tutorial/toh-pt2.jade
index 1c563e9100..6127079ab1 100644
--- a/public/docs/dart/latest/tutorial/toh-pt2.jade
+++ b/public/docs/dart/latest/tutorial/toh-pt2.jade
@@ -6,14 +6,12 @@ include ../_util-fns
We’ll expand our Tour of Heroes app to display a list of heroes,
allow the user to select a hero, and display the hero’s details.
+p Run the #[+liveExampleLink2('', 'toh-2')] for this part.
+:marked
Let’s take stock of what we’ll need to display a list of heroes.
First, we need a list of heroes. We want to display those heroes in the view’s template,
so we’ll need a way to do that.
-.callout.is-helpful
- header Source code
- p Run the #[+liveExampleLink2('', 'toh-2')] for this part.
-
.l-main-section
:marked
## Where We Left Off
@@ -48,7 +46,7 @@ code-example(language="bash").
### Creating heroes
Let’s create a list of ten heroes at the bottom of `app_component.dart`.
-+makeExample('toh-2/dart/lib/app_component.dart', 'hero-array', 'app_component.dart (Hero list)')(format=".")
++makeExample('toh-2/dart/lib/app_component.dart', 'hero-array', 'app_component.dart (hero list)')(format=".")
:marked
The `mockHeroes` list is of type `Hero`, the class defined in part one,
@@ -59,7 +57,7 @@ code-example(language="bash").
### Exposing heroes
Let’s create a public property in `AppComponent` that exposes the heroes for binding.
-+makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'hero-array-1', 'app_component.dart (Hero list property)')
++makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'hero-array-1', 'app_component.dart (hero list property)')
.l-sub-section
:marked
@@ -72,7 +70,7 @@ code-example(language="bash").
Our component has `heroes`. Let’s create an unordered list in our template to display them.
We’ll insert the following chunk of HTML below the title and above the hero details.
-+makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'heroes-template-1', 'app_component.dart (Heroes template)')(format=".")
++makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'heroes-template-1', 'app_component.dart (heroes template)')(format=".")
:marked
Now we have a template that we can fill with our heroes.
@@ -103,7 +101,7 @@ code-example(language="bash").
“*take each hero in the `heroes` list, store it in the local `hero` variable,
and make it available to the corresponding template instance*”.
- The `let` keyword before "hero" identifies the `hero` as a template input variable.
+ The `let` keyword before "hero" identifies `hero` as a template input variable.
We can reference this variable within the template to access a hero’s properties.
Learn more about `ngFor` and template input variables in the
@@ -126,21 +124,20 @@ code-example(language="bash").
Let’s add some styles to our component by setting the `styles` argument of the `@Component` annotation
to the following CSS classes:
-+makeExample('toh-2/dart/lib/app_component.dart', 'styles-1', 'app_component.dart (Styling)')(format=".")
++makeExample('toh-2/dart/lib/app_component.dart', 'styles', 'app_component.dart (styles)')(format=".")
:marked
Notice that we again use the triple-quote notation for multi-line strings.
+ That's a lot of styles! We can put them inline as shown here, or we can move them out to their own file which will make it easier to code our component.
+ We'll do this in a later chapter. For now let's keep rolling.
+
When we assign styles to a component they are scoped to that specific component.
Our styles will only apply to our `AppComponent` and won't "leak" to the outer HTML.
Our template for displaying the heroes should now look like this:
-+makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'heroes-styled', 'app_component.dart (Styled heroes)')
-
-:marked
- That's a lot of styles! We can put them inline as shown here, or we can move them out to their own file which will make it easier to code our component.
- We'll do this in a later chapter. For now let's keep rolling.
++makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'heroes-styled', 'app_component.dart (styled heroes)')
.l-main-section
:marked
@@ -156,7 +153,7 @@ code-example(language="bash").
### Click event
We modify the `` by inserting an Angular event binding to its click event.
- +makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'selectedHero-click', 'app_component.dart (Capturing the click event)')(format=".")
+ +makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'selectedHero-click', 'app_component.dart (template excerpt)')(format=".")
:marked
Focus on the event binding
@@ -185,21 +182,21 @@ code-example(language="bash").
We no longer need the static `hero` property of the `AppComponent`.
**Replace** it with this simple `selectedHero` property:
- +makeExample('toh-2/dart/lib/app_component.dart', 'selected-hero-1', 'app_component.dart (selectedHero)')
+ +makeExample('toh-2/dart/lib/app_component.dart', 'selected-hero', 'app_component.dart (selectedHero)')
:marked
We’ve decided that none of the heroes should be selected before the user picks a hero so
we won’t initialize the `selectedHero` as we were doing with `hero`.
Now **add an `onSelect` method** that sets the `selectedHero` property to the `hero` the user clicked.
- +makeExample('toh-2/dart/lib/app_component.dart', 'on-select-1', 'app_component.dart (onSelect)')(format=".")
+ +makeExample('toh-2/dart/lib/app_component.dart', 'on-select', 'app_component.dart (onSelect)')(format=".")
:marked
We will be showing the selected hero's details in our template.
At the moment, it is still referring to the old `hero` property.
Let’s fix the template to bind to the new `selectedHero` property.
- +makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'selectedHero-details', 'app_component.dart (Binding to the selectedHero\'s name)')(format=".")
+ +makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'selectedHero-details', 'app_component.dart (template excerpt)')(format=".")
:marked
### Hide the empty detail with ngIf
@@ -261,16 +258,16 @@ code-example(language="bash").
The key is the name of the CSS class (`selected`). The value is `true` if the two heroes match and `false` otherwise.
We’re saying “*apply the `selected` class if the heroes match, remove it if they don’t*”.
- +makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'class-selected-1', 'app_component.dart (Setting the CSS class)')(format=".")
+ +makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'class-selected-1', 'app_component.dart (setting the CSS class)')(format=".")
:marked
Notice in the template that the `class.selected` is surrounded in square brackets (`[]`).
- This is the syntax for a Property Binding, a binding in which data flows one way
+ This is the syntax for a **property binding**, a binding in which data flows one way
from the data source (the expression `hero == selectedHero`) to a property of `class`.
- +makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'class-selected-2', 'app_component.dart (Styling each hero)')(format=".")
+ +makeExample('toh-2/dart-snippets/app_component_snippets_pt2.dart', 'class-selected-2', 'app_component.dart (styling each hero)')(format=".")
.l-sub-section
:marked
- Learn more about [Property Binding](../guide/template-syntax.html#property-binding)
+ Learn more about [property bindings](../guide/template-syntax.html#property-binding)
in the Template Syntax chapter.
:marked
@@ -285,7 +282,7 @@ code-example(language="bash").
Here's the complete `app_component.dart` as it stands now:
- +makeExample('toh-2/dart/lib/app_component.dart', 'pt2', 'app_component.dart')
+ +makeExample('toh-2/dart/lib/app_component.dart', '', 'app_component.dart')
.l-main-section
:marked
@@ -296,6 +293,8 @@ code-example(language="bash").
* We added the ability to select a hero and show the hero’s details
* We learned how to use the built-in directives `ngIf` and `ngFor` in a component’s template
+p Run the #[+liveExampleLink2('', 'toh-2')] for this part.
+:marked
### The Road Ahead
Our Tour of Heroes has grown, but it’s far from complete.
We can't put the entire app into a single component.
From 074a33a6225471852774b51c235f85462d12058f Mon Sep 17 00:00:00 2001
From: Foxandxss
Date: Mon, 13 Jun 2016 00:41:33 +0200
Subject: [PATCH 0011/1217] chore: tslint sweep done
---
.../ts/app/hero-list.component.ts | 6 +--
.../architecture/ts/app/hero.service.ts | 4 +-
.../architecture/ts/app/sales-tax.service.ts | 2 +-
.../ts/app/highlight.directive.1.ts | 1 +
.../ts/app/highlight.directive.2.ts | 28 +++++++----
.../ts/app/highlight.directive.ts | 16 +++---
.../ts/app/date.pipe.ts | 4 +-
.../ts/app/movie-list.component.ts | 1 +
.../ts/app/app.component.ts | 2 +-
.../cb-component-communication/ts/index.html | 2 +-
.../ts/app/hero-bio.component.ts | 2 -
.../ts/app/hero-bios.component.ts | 2 +-
.../ts/app/hero-contact.component.ts | 2 +-
.../ts/app/highlight.directive.ts | 17 ++++---
.../ts/app/parent-finder.component.ts | 6 +--
.../cb-dynamic-form/ts/app/app.component.ts | 4 +-
.../ts/app/dynamic-form.component.ts | 2 +-
.../ts/app/question-control.service.ts | 2 +-
.../ts/app/question.service.ts | 1 -
public/docs/_examples/cb-ts-to-js/e2e-spec.ts | 2 +-
.../js/app/heroes-queries.component.js | 6 +--
.../ts/app/heroes-queries.component.ts | 6 +--
.../docs/_examples/cb-ts-to-js/ts/app/main.ts | 1 +
.../docs/_examples/cli-quickstart/e2e-spec.ts | 4 +-
.../ts/app/app.component.ts | 2 +-
.../ts/app/car/car.component.ts | 6 +--
.../ts/app/heroes/hero.service.1.ts | 1 -
.../ts/app/heroes/hero.service.2.ts | 1 -
.../ts/app/heroes/hero.service.ts | 3 --
.../ts/app/providers.component.ts | 50 +++++++++----------
.../ts/app/hello_world.ts | 2 +-
.../homepage-hello-world/ts/app/main.ts | 4 +-
.../_examples/homepage-tabs/ts/app/di_demo.ts | 12 ++---
.../_examples/homepage-tabs/ts/app/main.ts | 4 +-
.../_examples/homepage-tabs/ts/app/ui_tabs.ts | 12 ++---
.../_examples/homepage-todo/ts/app/main.ts | 4 +-
.../homepage-todo/ts/app/todo_app.ts | 8 +--
.../homepage-todo/ts/app/todo_form.ts | 2 +-
.../homepage-todo/ts/app/todo_list.ts | 2 +-
.../ts/app/counter.component.ts | 8 +--
.../lifecycle-hooks/ts/app/spy.component.ts | 4 +-
.../lifecycle-hooks/ts/app/spy.directive.ts | 2 +-
.../_examples/pipes/ts/app/app.component.ts | 14 +++---
.../pipes/ts/app/flying-heroes.pipe.ts | 1 +
.../pipes/ts/app/hero-birthday1.component.ts | 2 +-
.../pipes/ts/app/hero-birthday2.component.ts | 2 +-
.../app/power-boost-calculator.component.ts | 2 +-
.../pipes/ts/app/power-booster.component.ts | 2 +-
.../app/crisis-center/add-crisis.component.ts | 42 ----------------
.../ts/app/crisis-center/crisis.service.ts | 18 +++----
.../ts/app/heroes/hero.service.ts | 20 ++++----
.../ts/app/wiki/wiki-smart.component.ts | 1 -
.../template-syntax/ts/app/app.component.ts | 2 +-
.../ts/app/decorator.directive.ts | 11 ----
.../ts/app/hero-detail.component.ts | 3 +-
.../ts/app/my-click.directive.ts | 1 +
.../_examples/toh-2/ts/app/app.component.ts | 31 ++++++------
.../_examples/toh-3/ts/app/app.component.ts | 26 +++++-----
.../_examples/toh-5/ts/app/app.component.1.ts | 1 +
.../ts/app/2-to-1-transclusion/app.module.ts | 1 -
.../user-input/ts/app/app.component.ts | 4 +-
.../user-input/ts/app/click-me2.component.ts | 2 +-
.../docs/ts/latest/cookbook/dynamic-form.jade | 6 +--
.../ts/latest/guide/attribute-directives.jade | 10 ++--
tslint.json | 8 ---
65 files changed, 199 insertions(+), 261 deletions(-)
delete mode 100644 public/docs/_examples/router-deprecated/ts/app/crisis-center/add-crisis.component.ts
delete mode 100644 public/docs/_examples/template-syntax/ts/app/decorator.directive.ts
diff --git a/public/docs/_examples/architecture/ts/app/hero-list.component.ts b/public/docs/_examples/architecture/ts/app/hero-list.component.ts
index 8e4ca9b1ae..d7bc9e75d9 100644
--- a/public/docs/_examples/architecture/ts/app/hero-list.component.ts
+++ b/public/docs/_examples/architecture/ts/app/hero-list.component.ts
@@ -24,13 +24,13 @@ export class HeroesComponent { ... }
*/
// #docregion class
export class HeroListComponent implements OnInit {
+ heroes: Hero[];
+ selectedHero: Hero;
+
// #docregion ctor
constructor(private service: HeroService) { }
// #enddocregion ctor
- heroes: Hero[];
- selectedHero: Hero;
-
ngOnInit() {
this.heroes = this.service.getHeroes();
}
diff --git a/public/docs/_examples/architecture/ts/app/hero.service.ts b/public/docs/_examples/architecture/ts/app/hero.service.ts
index d5df3bdf31..027d4bfc6a 100644
--- a/public/docs/_examples/architecture/ts/app/hero.service.ts
+++ b/public/docs/_examples/architecture/ts/app/hero.service.ts
@@ -7,14 +7,14 @@ import { Logger } from './logger.service';
@Injectable()
// #docregion class
export class HeroService {
+ private heroes: Hero[] = [];
+
// #docregion ctor
constructor(
private backend: BackendService,
private logger: Logger) { }
// #enddocregion ctor
- private heroes: Hero[] = [];
-
getHeroes() {
this.backend.getAll(Hero).then( (heroes: Hero[]) => {
this.logger.log(`Fetched ${heroes.length} heroes.`);
diff --git a/public/docs/_examples/architecture/ts/app/sales-tax.service.ts b/public/docs/_examples/architecture/ts/app/sales-tax.service.ts
index f0d5457342..5bf505548a 100644
--- a/public/docs/_examples/architecture/ts/app/sales-tax.service.ts
+++ b/public/docs/_examples/architecture/ts/app/sales-tax.service.ts
@@ -1,5 +1,5 @@
// #docregion
-import { Inject, Injectable } from '@angular/core';
+import { Injectable } from '@angular/core';
import { TaxRateService } from './tax-rate.service';
diff --git a/public/docs/_examples/attribute-directives/ts/app/highlight.directive.1.ts b/public/docs/_examples/attribute-directives/ts/app/highlight.directive.1.ts
index f8c1a95ea1..4cacc0d22e 100644
--- a/public/docs/_examples/attribute-directives/ts/app/highlight.directive.1.ts
+++ b/public/docs/_examples/attribute-directives/ts/app/highlight.directive.1.ts
@@ -1,3 +1,4 @@
+/* tslint:disable:no-unused-variable */
// #docregion
import { Directive, ElementRef, Input } from '@angular/core';
diff --git a/public/docs/_examples/attribute-directives/ts/app/highlight.directive.2.ts b/public/docs/_examples/attribute-directives/ts/app/highlight.directive.2.ts
index d6b295fae2..3baf3449fb 100644
--- a/public/docs/_examples/attribute-directives/ts/app/highlight.directive.2.ts
+++ b/public/docs/_examples/attribute-directives/ts/app/highlight.directive.2.ts
@@ -1,14 +1,10 @@
+/* tslint:disable:no-unused-variable */
+// #docplaster
// #docregion
-import { Directive, ElementRef, Input } from '@angular/core';
+import { Directive, ElementRef, HostListener, Input } from '@angular/core';
@Directive({
- selector: '[myHighlight]',
- // #docregion host
- host: {
- '(mouseenter)': 'onMouseEnter()',
- '(mouseleave)': 'onMouseLeave()'
- }
- // #enddocregion host
+ selector: '[myHighlight]'
})
export class HighlightDirective {
@@ -18,9 +14,19 @@ export class HighlightDirective {
constructor(el: ElementRef) { this.el = el.nativeElement; }
// #enddocregion ctor
- // #docregion mouse-methods
- onMouseEnter() { this.highlight('yellow'); }
- onMouseLeave() { this.highlight(null); }
+ // #docregion mouse-methods, host
+ @HostListener('mouseenter') onMouseEnter() {
+ // #enddocregion host
+ this.highlight('yellow');
+ // #docregion host
+ }
+
+ @HostListener('mouseleave') onMouseLeave() {
+ // #enddocregion host
+ this.highlight(null);
+ // #docregion host
+ }
+ // #enddocregion host
private highlight(color: string) {
this.el.style.backgroundColor = color;
diff --git a/public/docs/_examples/attribute-directives/ts/app/highlight.directive.ts b/public/docs/_examples/attribute-directives/ts/app/highlight.directive.ts
index 09a762a892..cd6c7870a1 100644
--- a/public/docs/_examples/attribute-directives/ts/app/highlight.directive.ts
+++ b/public/docs/_examples/attribute-directives/ts/app/highlight.directive.ts
@@ -1,13 +1,9 @@
// #docplaster
// #docregion full
-import { Directive, ElementRef, Input } from '@angular/core';
+import { Directive, ElementRef, HostListener, Input } from '@angular/core';
@Directive({
- selector: '[myHighlight]',
- host: {
- '(mouseenter)': 'onMouseEnter()',
- '(mouseleave)': 'onMouseLeave()'
- }
+ selector: '[myHighlight]'
})
// #docregion class-1
export class HighlightDirective {
@@ -29,9 +25,13 @@ export class HighlightDirective {
// #enddocregion color
// #docregion mouse-enter
- onMouseEnter() { this.highlight(this.highlightColor || this._defaultColor); }
+ @HostListener('mouseenter') onMouseEnter() {
+ this.highlight(this.highlightColor || this._defaultColor);
+ }
// #enddocregion mouse-enter
- onMouseLeave() { this.highlight(null); }
+ @HostListener('mouseleave') onMouseLeave() {
+ this.highlight(null);
+ }
private highlight(color: string) {
this.el.style.backgroundColor = color;
diff --git a/public/docs/_examples/cb-a1-a2-quick-reference/ts/app/date.pipe.ts b/public/docs/_examples/cb-a1-a2-quick-reference/ts/app/date.pipe.ts
index c04e64247d..e1421fa530 100644
--- a/public/docs/_examples/cb-a1-a2-quick-reference/ts/app/date.pipe.ts
+++ b/public/docs/_examples/cb-a1-a2-quick-reference/ts/app/date.pipe.ts
@@ -1,10 +1,10 @@
-import { Injectable, Pipe } from '@angular/core';
+import { Injectable, Pipe, PipeTransform } from '@angular/core';
import { DatePipe } from '@angular/common';
@Injectable()
// #docregion date-pipe
@Pipe({name: 'date', pure: true})
-export class StringSafeDatePipe extends DatePipe {
+export class StringSafeDatePipe extends DatePipe implements PipeTransform {
transform(value: any, format: string): string {
value = typeof value === 'string' ?
Date.parse(value) : value;
diff --git a/public/docs/_examples/cb-a1-a2-quick-reference/ts/app/movie-list.component.ts b/public/docs/_examples/cb-a1-a2-quick-reference/ts/app/movie-list.component.ts
index 286615b95c..4157d8aa3a 100644
--- a/public/docs/_examples/cb-a1-a2-quick-reference/ts/app/movie-list.component.ts
+++ b/public/docs/_examples/cb-a1-a2-quick-reference/ts/app/movie-list.component.ts
@@ -1,3 +1,4 @@
+/* tslint:disable:no-unused-variable */
// #docplaster
// #docregion import
import { Component } from '@angular/core';
diff --git a/public/docs/_examples/cb-component-communication/ts/app/app.component.ts b/public/docs/_examples/cb-component-communication/ts/app/app.component.ts
index 332d8f7f0f..891b5c86ac 100644
--- a/public/docs/_examples/cb-component-communication/ts/app/app.component.ts
+++ b/public/docs/_examples/cb-component-communication/ts/app/app.component.ts
@@ -25,7 +25,7 @@ if (!/e2e/.test(location.search)) {
}
@Component({
- selector: 'app',
+ selector: 'my-app',
templateUrl: 'app/app.component.html',
directives: directives
})
diff --git a/public/docs/_examples/cb-component-communication/ts/index.html b/public/docs/_examples/cb-component-communication/ts/index.html
index 51adcdaf23..4afa076c19 100644
--- a/public/docs/_examples/cb-component-communication/ts/index.html
+++ b/public/docs/_examples/cb-component-communication/ts/index.html
@@ -23,7 +23,7 @@
- loading...
+ loading...