PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/usr/share/emacs/26.1/lisp/emacs-lisp/
Upload File :
Current File : //usr/share/emacs/26.1/lisp/emacs-lisp/generator.elc
;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(require 'cl-lib)
(defvar cps--bindings nil)
(defvar cps--states nil)
(defvar cps--value-symbol nil)
(defvar cps--state-symbol nil)
(defvar cps--cleanup-table-symbol nil)
(defvar cps--cleanup-function nil)
#@23 

(fn FMT &rest ARGS)
(defalias 'cps--gensym '(macro . #[385 "\300\301BBD\207" [gensym format] 6 (#$ . 614)]))
#@84 List of transformer functions to apply to atomic forms we
evaluate in CPS context.
(defvar cps--dynamic-wrappers '(identity) (#$ . 733))
#@81 List of special forms that we treat just like ordinary
  function applications.
(defconst cps-standard-special-forms '(setq setq-default throw interactive) (#$ . 876))
#@24 

(fn FUNC &rest ARGS)
(defalias 'cps--trace-funcall #[385 "\300\301#\210\302\"\300\303#\210\211\207" [message "%S: args=%S" apply "%S: result=%S"] 7 (#$ . 1050)])
#@23 

(fn FMT &rest ARGS)
(defalias 'cps--trace #[385 "\300\301\302\303P#!\207" [princ apply format "\n"] 7 (#$ . 1226)])
#@71 Non-nil if and only if DEFINITION is a special form.

(fn DEFINITION)
(defalias 'cps--special-form-p #[257 "\2119\203\300!\203\301!\262\302!\205\303!A\304=\207" [fboundp indirect-function subrp subr-arity unevalled] 3 (#$ . 1352)])
#@17 

(fn FUNCTION)
(defalias 'cps--define-unsupported '(macro . #[257 "\300\301\302\303\"!\304\305EE\207" [defun intern format "cps--transform-%s" error "%s not supported in generators"] 6 (#$ . 1601)]))
#@534 Continue generating CPS code with an atomic-form wrapper
to the current stack of such wrappers.  WRAPPER is a function that
takes a form and returns a wrapped form.

Whenever we generate an atomic form (i.e., a form that can't
iter-yield), we first (before actually inserting that form in our
generated code) pass that form through all the transformer
functions.  We use this facility to wrap forms that can transfer
control flow non-locally in goo that diverts this control flow to
the CPS state machinery.

(fn WRAPPER &rest BODY)
(defalias 'cps--with-value-wrapper '(macro . #[385 "\300\301\302\303BBDCBB\207" [let cps--dynamic-wrappers cons (cps--dynamic-wrappers)] 7 (#$ . 1811)]))
(byte-code "\300\301\302\303#\300\207" [function-put cps--with-value-wrapper lisp-indent-function 1] 4)
#@31 

(fn DYNAMIC-VAR STATIC-VAR)
(defalias 'cps--make-dynamic-binding-wrapper #[514 "\204\301\300!\210\302\303\304\305\306\"\307\"\310\311%\207" [lexical-binding cl--assertion-failed make-byte-code 257 "\302\300\301DC\303\304\301\300EEE\207" vconcat vector [let unwind-protect setf] 8 "\n\n(fn FORM)"] 9 (#$ . 2610)])
#@136 Evaluate BODY such that generated atomic evaluations run with
DYNAMIC-VAR bound to STATIC-VAR.

(fn DYNAMIC-VAR STATIC-VAR &rest BODY)
(defalias 'cps--with-dynamic-binding '(macro . #[642 "\300\301EBB\207" [cps--with-value-wrapper cps--make-dynamic-binding-wrapper] 7 (#$ . 2940)]))
(byte-code "\300\301\302\303#\300\207" [function-put cps--with-dynamic-binding lisp-indent-function 2] 4)
#@84 Create a new CPS state with body BODY and return the state's name.

(fn KIND BODY)
(defalias 'cps--add-state #[514 "\303\304\305\"!\211E	B\211\nB\211\207" [cps--cleanup-function cps--states cps--bindings gensym format "cps-state-%s-"] 6 (#$ . 3338)])
(byte-code "\300\301\302\303#\300\207" [function-put cps--add-state lisp-indent-function 1] 4)
#@22 

(fn ORIGINAL-NAME)
(defalias 'cps--add-binding #[257 "\301\302\211\303\"!!B\211@\207" [cps--bindings gensym format "cps-binding-%s-"] 6 (#$ . 3695)])
#@13 

(fn FORM)
(defalias 'cps--find-special-form-handler #[257 "\300\301\242\"\302!\303!\205\211\207" [format "cps--transform-%s" intern-soft fboundp] 5 (#$ . 3856)])
#@67 When t, always rewrite forms into cps even when they
don't yield.
(defvar cps-inhibit-atomic-optimization nil (#$ . 4031))
#@56 Return whether the given form never yields.

(fn FORM)
(defalias 'cps--atomic-p #[257 "?\205\303\304\305\306E\n\"\210	)?\207" [cps-inhibit-atomic-optimization cps--yield-seen macroexpand-all-environment nil macroexpand-all cl-macrolet ((cps-internal-yield (_val) (setf cps--yield-seen t)))] 5 (#$ . 4160)])
#@24 

(fn FORM NEXT-STATE)
(defalias 'cps--make-atomic-state #[514 "\304\305EE	\306:\203@\262\211!\262A\262\202	\266\306\307\310\305E\")\207" [cps--state-symbol cps--dynamic-wrappers cps--cleanup-function cps--value-symbol prog1 setf nil cps--add-state "atom"] 8 (#$ . 4478)])
#@24 

(fn FORM NEXT-STATE)
(defalias 'cps--transform-1 #[514 "\306\307\310!\204
:\204\311\"\202@\211\312\267\202~A\211\204*\313\314\"\202\357\211:\203a\211@A\211\204B\313	\"\262\202\\\211\313\315\316\317\320	\313\321B\"FE\"\"\266\202\266\202\202\357\322!\262\203\267\211\n>?\262\203|\"\202\357\211\211\323\314:\203\231@\262:?\211\262\203\231A\262\202\200\211\205\236\314\266\203?\262\203\256#\202\357\311\"\202\357\211\211\323\314:\203\324@\262:?\211\262\203\324A\262\202\273\211\205\331\314\266\203?\262\203\351#\202\357\311\"\262\202A\211:\203+\211@A\211\324\325!\313\315\326\317	\327	\"B\313\330\fB\")\257\"\"\262\266\202\266\202\202\271\322!\262\203\201\211\n>?\262\203F\"\202\271\211\211\323\314:\203c@\262:?\211\262\203cA\262\202J\211\205h\314\266\203?\262\203x#\202\271\311\"\202\271\211\211\323\314:\203\236@\262:?\211\262\203\236A\262\202\205\211\205\243\314\266\203?\262\203\263#\202\271\311\"\262\202A\211\204\314\313\323\"\2024\211:\203\246\211@\211:\203\211@A\211\204\365A\211\313\331\332BE\f\"\266\202\262\202\fA\211\313\320\330B\332BF
\"\266\203\262\266\202\202\241\322!\262\203h\211\n>?\262\203,\"\202\241\211\323\314:\203I@\262:?\211\262\203IA\262\2020\211\205N\314\266\203?\262\203_#\202\241\311\"\202\241\211\323\314:\203\205@\262:?\211\262\203\205A\262\202l\211\205\212\314\266\203?\262\203\233#\202\241\311\"\262\2024\322!\262\203\374\211\n>?\262\203\301\"\2024\211\211\323\314:\203\336@\262:?\211\262\203\336A\262\202\305\211\205\343\314\266\203?\262\203\363#\2024\311\"\2024\211\211\323\314:\203@\262:?\211\262\203A\262\202\211\205\314\266\203?\262\203.#\2024\311\"\262\202A\211:\203\375\211@A\211:\203f\211@A\211\333
#B\313
\")\266\203\266\202\202\370\322!\262\203\276\211\n>?\262\203\201\"\202\370\211\323\314:\203\236@\262:?\211\262\203\236A\262\202\205\211\205\243\314\266\203?\262\203\265#\202\370\311\"\202\370\211\323\314:\203\333@\262:?\211\262\203\333A\262\202\302\211\205\340\314\266\203?\262\203\362#\202\370\311\"\266\202\202\213\322!\262\203S\211\n>?\262\203\"\202\213\211\211\323\314:\2035@\262:?\211\262\2035A\262\202\211\205:\314\266\203?\262\203J#\202\213\311\"\202\213\211\211\323\314:\203p@\262:?\211\262\203pA\262\202W\211\205u\314\266\203?\262\203\205#\202\213\311\"\262\202A\211:\203_\211@A\211:\203\310\211@A\211\313\315\334\317\320	\313\n\"\313\330
B\"FE\"\"\266\203\266\202\202Z\322!\262\203 \211\n>?\262\203\343\"\202Z\211\323\314:\203@\262:?\211\262\203A\262\202\347\211\205\314\266\203?\262\203#\202Z\311\"\202Z\211\323\314:\203=@\262:?\211\262\203=A\262\202$\211\205B\314\266\203?\262\203T#\202Z\311\"\266\202\202\355\322!\262\203\265\211\n>?\262\203z\"\202\355\211\211\323\314:\203\227@\262:?\211\262\203\227A\262\202~\211\205\234\314\266\203?\262\203\254#\202\355\311\"\202\355\211\211\323\314:\203\322@\262:?\211\262\203\322A\262\202\271\211\205\327\314\266\203?\262\203\347#\202\355\311\"\262\202A\211\204\313\323\"\202\276\211:\2030\211@A\211\204\313\n\"\266\202\202+\211	\313\313\335B
\"\"\266\203\266\202\202\276\322!\262\203\206\211\n>?\262\203K\"\202\276\211\211\323\314:\203h@\262:?\211\262\203hA\262\202O\211\205m\314\266\203?\262\203}#\202\276\311\"\202\276\211\211\323\314:\203\243@\262:?\211\262\203\243A\262\202\212\211\205\250\314\266\203?\262\203\270#\202\276\311\"\262\202A\211\204\321\313\323\"\202\217\211:\203\211@A\211\204\353\313\n\"\266\202\202\374\211	\313\313\330B
\"\"\266\203\266\202\202\217\322!\262\203W\211\n>?\262\203\"\202\217\211\211\323\314:\2039@\262:?\211\262\2039A\262\202 \211\205>\314\266\203?\262\203N#\202\217\311\"\202\217\211\211\323\314:\203t@\262:?\211\262\203tA\262\202[\211\205y\314\266\203?\262\203\211#\202\217\311\"\262\202A\211:\203\207\211@A\211\211\323\211:\203\304@\2629\203\270\323D\202\271B\262A\262\202\244\211\237\266\203\211\323\211\211\211:\203\360@\262\211A\262\242\262@\262\324!B\262A\262\202\315\211\237\266\205\313\336\337\323\211\211\323\211:\2033@\262\211A\262\242\262@\262:\2033@\262DB\262A\262A\262\202\377\211\237\266\207\323\211\211\323\211:\203r@\262\211A\262\242\262@\262:\203r@\262DB\262A\262A\262\202?\211\237\266\207\"BB\f\"\266\202\266\202\266\202\202	\322!\262\203\335\211\n>?\262\203\242\"\202	\211\211\323\314:\203\277@\262:?\211\262\203\277A\262\202\246\211\205\304\314\266\203?\262\203\324#\202	\311\"\202	\211\211\323\314:\203\372@\262:?\211\262\203\372A\262\202\341\211\205\377\314\266\203?\262\203	#\202	\311\"\262\202A\211:\2035\n\211@\211\2048	A\211\313\330B	\"\262\262\2020\n\211:\203\240	\211@AA\211\2119\203O	\211\202Q	\211@\243@\324!\313\315\340\317	\f\203j	\341!\203\202	\342\n\"B\313\336BB\")\202\223	\313\343\f\336BB#\"\257\"\"\266\203\266\203\266\203\2020\n\322!\262\203\367	\211\n>?\262\203\273	\"\2020\n\211\323\314:\203\330	@\262:?\211\262\203\330	A\262\202\277	\211\205\335	\314\266\203?\262\203\356	#\2020\n\311\"\2020\n\211\323\314:\203\n@\262:?\211\262\203\nA\262\202\373	\211\205\n\314\266\203?\262\203*\n#\2020\n\311\"\262\202\303\n\322!\262\203\213\n\211\n>?\262\203P\n\"\202\303\n\211\211\323\314:\203m\n@\262:?\211\262\203m\nA\262\202T\n\211\205r\n\314\266\203?\262\203\202\n#\202\303\n\311\"\202\303\n\211\211\323\314:\203\250\n@\262:?\211\262\203\250\nA\262\202\217\n\211\205\255\n\314\266\203?\262\203\275\n#\202\303\n\311\"\262\202A\211\204\326\n\313\323\"\202\233\211:\203
\211@A\211\204\356\n\313	\"\262\202\211\313\315\344\317\320	\313\331\fB\"FE\"\"\266\202\266\202\202\233\322!\262\203c\211\n>?\262\203(\"\202\233\211\211\323\314:\203E@\262:?\211\262\203EA\262\202,\211\205J\314\266\203?\262\203Z#\202\233\311\"\202\233\211\211\323\314:\203\200@\262:?\211\262\203\200A\262\202g\211\205\205\314\266\203?\262\203\225#\202\233\311\"\262\202A\211:\203\346\211@A\211\204\272\313	\"\262\202\341\211\313\324\345!\315\346\317	\313\330\fB\315\347\317	\f\257\"\"\257\"\262\"\266\202\266\202\202t\f\322!\262\203<\f\211\n>?\262\203\f\"\202t\f\211\211\323\314:\203\f@\262:?\211\262\203\fA\262\202\f\211\205#\f\314\266\203?\262\2033\f#\202t\f\311\"\202t\f\211\211\323\314:\203Y\f@\262:?\211\262\203Y\fA\262\202@\f\211\205^\f\314\266\203?\262\203n\f#\202t\f\311\"\262\202A\211:\203;
\211@A\211:\203\244\f\211@A\211\313\330\350BBE
\"\266\203\266\202\2026
\322!\262\203\374\f\211\n>?\262\203\277\f\"\2026
\211\323\314:\203\334\f@\262:?\211\262\203\334\fA\262\202\303\f\211\205\341\f\314\266\203?\262\203\363\f#\2026
\311\"\2026
\211\323\314:\203
@\262:?\211\262\203
A\262\202
\211\205
\314\266\203?\262\2030
#\2026
\311\"\266\202\202\311
\322!\262\203\221
\211\n>?\262\203V
\"\202\311
\211\211\323\314:\203s
@\262:?\211\262\203s
A\262\202Z
\211\205x
\314\266\203?\262\203\210
#\202\311
\311\"\202\311
\211\211\323\314:\203\256
@\262:?\211\262\203\256
A\262\202\225
\211\205\263
\314\266\203?\262\203\303
#\202\311
\311\"\262\202A\211:\203\211@A\211
\204\345
\351\352\353!!\315\354\330\337\317EC\"B\"9\3239\315\355\330\205\356DBB\")9\357!B\313\"*\266\202\266\202\266\202\202\254\322!\262\203t\211\n>?\262\2039\"\202\254\211\211\323\314:\203V@\262:?\211\262\203VA\262\202=\211\205[\314\266\203?\262\203k#\202\254\311\"\202\254\211\211\323\314:\203\221@\262:?\211\262\203\221A\262\202x\211\205\226\314\266\203?\262\203\246#\202\254\311\"\262\202A\211:\203\363\211@A\211\351\352\360!!\313\"\330\317\320	\313\330\nB\"FED9E:B:;B;\266\203\266\202\266\202\202\201\322!\262\203I\211\n>?\262\203\"\202\201\211\211\323\314:\203+@\262:?\211\262\203+A\262\202\211\2050\314\266\203?\262\203@#\202\201\311\"\202\201\211\211\323\314:\203f@\262:?\211\262\203fA\262\202M\211\205k\314\266\203?\262\203{#\202\201\311\"\262\202A\211:\203?\211@A\211\204\250\315\361\317	\362D
\257\"\262\202:\322!\262\203\211\n>?\262\203\303\"\202:\211\323\314:\203\340@\262:?\211\262\203\340A\262\202\307\211\205\345\314\266\203?\262\203\367#\202:\311\"\202:\211\323\314:\203@\262:?\211\262\203A\262\202\211\205\"\314\266\203?\262\2034#\202:\311\"\266\202\202\315\322!\262\203\225\211\n>?\262\203Z\"\202\315\211\211\323\314:\203w@\262:?\211\262\203wA\262\202^\211\205|\314\266\203?\262\203\214#\202\315\311\"\202\315\211\211\323\314:\203\262@\262:?\211\262\203\262A\262\202\231\211\205\267\314\266\203?\262\203\307#\202\315\311\"\262\202A\211:\203\213\211@A\211\204\364\315\363\317	\364D
\257\"\262\202\206\322!\262\203L\211\n>?\262\203\"\202\206\211\323\314:\203,@\262:?\211\262\203,A\262\202\211\2051\314\266\203?\262\203C#\202\206\311\"\202\206\211\323\314:\203i@\262:?\211\262\203iA\262\202P\211\205n\314\266\203?\262\203\200#\202\206\311\"\266\202\202\322!\262\203\341\211\n>?\262\203\246\"\202\211\211\323\314:\203\303@\262:?\211\262\203\303A\262\202\252\211\205\310\314\266\203?\262\203\330#\202\311\"\202\211\211\323\314:\203\376@\262:?\211\262\203\376A\262\202\345\211\205\314\266\203?\262\203#\202\311\"\262\202A\211:\203\353\211@A\211\204T\313\315\365\330\3179\203E\315\366\317E\"\202GE\367\370	EE\"\"\262\202\346\322!\262\203\254\211\n>?\262\203o\"\202\346\211\323\314:\203\214@\262:?\211\262\203\214A\262\202s\211\205\221\314\266\203?\262\203\243#\202\346\311\"\202\346\211\323\314:\203\311@\262:?\211\262\203\311A\262\202\260\211\205\316\314\266\203?\262\203\340#\202\346\311\"\266\202\202y\322!\262\203A\211\n>?\262\203\"\202y\211\211\323\314:\203#@\262:?\211\262\203#A\262\202\n\211\205(\314\266\203?\262\2038#\202y\311\"\202y\211\211\323\314:\203^@\262:?\211\262\203^A\262\202E\211\205c\314\266\203?\262\203s#\202y\311\"\262\202A\322!\262\203\326\211\n>?\262\203\233\"\202\211\211\323\314:\203\270@\262:?\211\262\203\270A\262\202\237\211\205\275\314\266\203?\262\203\315#\202\311\"\202\211\211\323\314:\203\363@\262:?\211\262\203\363A\262\202\332\211\205\370\314\266\203?\262\203#\202\311\"\262\262\207" [cps--state-symbol cps--value-symbol cps-standard-special-forms cps--dynamic-wrappers lexical-binding cps--cleanup-table-symbol #[514 "\300\301\"\207" [error "special form %S incorrect or not supported"] 5 "\n\n(fn FORM NAME)"] #[771 "\300\211:\203%@\262:\204\202\301\302\303!!B\262A\262\202\211\237\266\203\304\305\300\300\211:\203Z@\262:\203Z@\262=\204ODB\262A\262A\262\2020\211\237\266\205BE\"\207" [nil gensym format "cps-argument-" cps--transform-1 let*] 13 "\n\n(fn NEXT-STATE ARGUMENTS FUNCTION)"] cps--atomic-p cps--make-atomic-state #s(hash-table size 17 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (and 28 catch 244 cond 446 condition-case 825 if 1168 inline 1522 progn 1731 let 1940 let* 2330 or 2760 prog1 2976 prog2 3193 unwind-protect 3534 while 3761 quote 3974 function 4306 cps-internal-yield 4638)) cps--transform-1 t cps--add-state "and" setf if and cps--special-form-p nil cps--add-binding "catch-tag" "cps-update-tag" cps--make-catch-wrapper progn or cond cps--make-condition-wrapper "if" inline let* append "let*" special-variable-p cps--make-dynamic-binding-wrapper cps--replace-variable-references "or" "prog1-temp" "prog1" "prog1inner" prog1 gensym format "cps-cleanup-table-" "unwind" "cleanup" funcall cps--make-unwind-wrapper "cps-state-while-" "quote" quote "function" function "iter-yield" "after-yield" throw 'cps--yield cps--cleanup-function cps--states cps--bindings] 31 (#$ . 4774)])
#@31 

(fn TAG-BINDING NEXT-STATE)
(defalias 'cps--make-catch-wrapper #[514 "\300\301\302\303\304\"\305\"\306\307%\207" [make-byte-code 257 "\303\304\305!!\306C\307\310\300\307\311\312BBEE\313\311\n\301EEEE\207" vconcat vector [cps--state-symbol gensym format "cps-normal-exit-from-catch-" let prog1 catch setf (t) unless] 12 "\n\n(fn FORM)"] 9 (#$ . 17766)])
#@32 

(fn VAR NEXT-STATE HANDLERS)
(defalias 'cps--make-condition-wrapper #[771 "\300\301!\302\303\304!!\305\211\211:\2038@\262\211A\262\242\262\306\307	\310B#\n\"BB\262A\262\202\f\211\237\266\204\311\312\313\314\315#\316\"\317\320%\207" [cps--add-binding "condition-case-error" gensym format "cps-lexical-error-" nil cps--transform-1 cps--replace-variable-references progn make-byte-code 257 "\304\301\302\305\211\211:\203-@\262\211A\262\242\262\306\300\301\257DB\262A\262\202\211\237\266\204BBB\207" vconcat vector [cps--state-symbol condition-case nil setf] 14 "\n\n(fn FORM)"] 16 (#$ . 18137)])
#@161 Replace all non-shadowed references to VAR with NEW-VAR in FORM.
This routine does not modify FORM. Instead, it returns a
modified copy.

(fn VAR NEW-VAR FORM)
(defalias 'cps--replace-variable-references #[771 "\301\302DCE\"\207" [macroexpand-all-environment macroexpand-all cl-symbol-macrolet] 7 (#$ . 18784)])
#@21 

(fn UNWIND-FORMS)
(defalias 'cps--make-unwind-wrapper #[257 "\204\301\300!\210\302\303\304\305\306!\307\"\310\311%\207" [lexical-binding cl--assertion-failed make-byte-code 257 "\301\302\303!!\304C\305\306\307\310BBE\311\300BBEE\207" vconcat vector [gensym format "cps-normal-exit-from-unwind-" let unwind-protect prog1 setf (t) unless] 10 "\n\n(fn FORM)"] 7 (#$ . 19106)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put iter-end-of-sequence error-conditions (iter-end-of-sequence) error-message "iteration terminated"] 4)
#@23 

(fn TERMINAL-STATE)
(defalias 'cps--make-close-iterator-form #[257 "\203\303\304\305\306	EDDC\307	\n\310BBBB\311BBB\207\307	\n\312BBBB\207" [cps--cleanup-table-symbol cps--state-symbol cps--value-symbol let cleanup cdr assq setf (nil) ((when cleanup (funcall cleanup))) (nil)] 8 (#$ . 19660)])
#@13 

(fn BODY)
(defalias 'cps-generate-evaluator #[257 "\306\211\306\307\310\311!!\307\310\312!!\306\313\314\315\316E\"\317\320\321\322BB3\"\"
\2054
\2054\307\310\323!!\324\325\fD
\205?
C\205EC	\237$\325\237\306\211\211\211\211:\203\230@\262\211A\262\242\262\211A\262\242\262@\262\326\327\306EEB\262\203\221
\204\205\330\305!\210\331\332E
EB\262A\262\202P\211\237\266\206\326\fE\324\333\327\334\335\325\205\271\336\326
\337BBD\340
DD\341\342!D\343\326\344BB\324\345\346\347\350\351\352\353\354\fDEE\355BB\356\357\342!EEEE\360BB\"BEDC\205\355\361\362BBBD\".BB\207" [cps--states cps--bindings cps--cleanup-function cps--value-symbol cps--state-symbol cps--cleanup-table-symbol nil gensym format "cps-current-value-" "cps-current-state-" cps--add-state "terminal" signal 'iter-end-of-sequence cps--transform-1 macroexpand-all cl-macrolet ((iter-yield (value) `(cps-internal-yield ,value))) "cps-iterator-finalizer-" let append setf lambda cl--assertion-failed push cons iterator (op value) cond (eq op :stash-finalizer) (value) (eq op :get-finalizer) (eq op :close) cps--make-close-iterator-form (eq op :next) (value) ((yielded nil)) unwind-protect prog1 catch 'cps--yield while t funcall ((setf yielded t)) unless yielded ((t (error "unknown iterator operation %S" op))) (funcall iterator :stash-finalizer (make-finalizer (lambda nil (iter-close iterator)))) (iterator) macroexpand-all-environment] 30 (#$ . 19968)])
#@197 When used inside a generator, yield control to caller.
The caller of `iter-next' receives VALUE, and the next call to
`iter-next' resumes execution at the previous
`iter-yield' point.

(fn VALUE)
(defalias 'iter-yield #[257 "\300\301!\207" [error "`iter-yield' used outside a generator"] 3 (#$ . 21449)])
#@329 When used inside a generator function, delegate to a sub-iterator.
The values that the sub-iterator yields are passed directly to
the caller, and values supplied to `iter-next' are sent to the
sub-iterator.  `iter-yield-from' evaluates to the value that the
sub-iterator function returns via `iter-end-of-sequence'.

(fn VALUE)
(defalias 'iter-yield-from '(macro . #[257 "\300\301\302!!\300\301\303!!\304DC\305\306\304\307\310\311\312\313\314\315
\316BBDEEE\317\320	DDF\321DEE\207" [gensym format "yield-from-result" "yield-from-value" let unwind-protect condition-case ((vs nil)) while t setf vs iter-yield iter-next (vs) iter-end-of-sequence cdr iter-close] 18 (#$ . 21761)]))
#@248 Creates a generator NAME.
When called as a function, NAME returns an iterator value that
encapsulates the state of a computation that produces a sequence
of values.  Callers can retrieve each value using `iter-next'.

(fn NAME ARGLIST &rest BODY)
(defalias 'iter-defun '(macro . #[642 "\204\301\300!\210\302!\211@A\303\304\305!C\"BBB\207" [lexical-binding cl--assertion-failed macroexp-parse-body defun append cps-generate-evaluator] 13 (#$ . 22453)]))
(byte-code "\300\301\302\303#\304\301\305\306#\210\300\301\307\310#\300\207" [function-put iter-defun lisp-indent-function defun put edebug-form-spec (&define name lambda-list lambda-doc def-body) doc-string-elt 3] 5)
#@113 Return a lambda generator.
`iter-lambda' is to `iter-defun' as `lambda' is to `defun'.

(fn ARGLIST &rest BODY)
(defalias 'iter-lambda '(macro . #[385 "\204\301\300!\210\302\303!E\207" [lexical-binding cl--assertion-failed lambda cps-generate-evaluator] 6 (#$ . 23143)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put iter-lambda lisp-indent-function defun put edebug-form-spec (&define lambda-list lambda-doc def-body)] 5)
#@261 Extract a value from an iterator.
YIELD-RESULT becomes the return value of `iter-yield' in the
context of the generator.

This routine raises the `iter-end-of-sequence' condition if the
iterator cannot supply more values.

(fn ITERATOR &optional YIELD-RESULT)
(defalias 'iter-next #[513 "\300\"\207" [:next] 5 (#$ . 23599)])
#@121 Terminate an iterator early.
Run any unwind-protect handlers in scope at the point  ITERATOR
is blocked.

(fn ITERATOR)
(defalias 'iter-close #[257 "\211\300\301\"\207" [:close nil] 4 (#$ . 23933)])
#@183 Loop over values from an iterator.
Evaluate BODY with VAR bound to each value from ITERATOR.
Return the value with which ITERATOR finished iteration.

(fn (VAR ITERATOR) &rest BODY)
(defalias 'iter-do '(macro . #[128 "\211\203
\211A\262\242\202\300\301\302GD\"\211G\303U\203$\211A\262\242\202+\300\301\302GD\"@\304\305\306!!\304\305\307!!\304\305\310!!\304\305\311!!\312\313B	DF\314\315D\316\317\f\320\nDE\321\317	\322
DE\317
\323BBEF\324	BBFF\266\204\207" [signal wrong-number-of-arguments iter-do 2 gensym format "iter-do-iterator-done" "iter-do-condition" "iter-do-iterator" "iter-do-result" let (nil) while not condition-case setf iter-next iter-end-of-sequence cdr (t) unless] 20 (#$ . 24139)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put iter-do lisp-indent-function 1 put edebug-form-spec ((symbolp form) body)] 5)
#@17 

(fn CONSCELL)
(defalias 'cps--advance-for '(macro . #[257 "\300\301\302\303\304\305DDEE\306BBB\207" [condition-case nil progn setcar iter-next cdr ((iter-end-of-sequence nil))] 9 (#$ . 25022)]))
#@17 

(fn ITERATOR)
(defalias 'cps--initialize-for '(macro . #[257 "\300\301\302!!\303\304\305EDC\306DE\207" [gensym format "cps--loop-temp" let cons nil cps--advance-for] 7 (#$ . 25229)]))
#@42 Support `iter-by' in `loop'.  

(fn VAR)
(defalias 'cps--handle-loop-for #[257 "\211A\242\301\302\303\304D\305BBBB\"\211\207" [cl--loop-args append for in cps--initialize-for (by 'cps--advance-for)] 8 (#$ . 25424)])
(byte-code "\300\301\302\303#\210\304\305\306\"\210\307\310!\207" [put iter-by cl-loop-for-handler cps--handle-loop-for eval-after-load elisp-mode #[0 "\300\301\302\"\207" [font-lock-add-keywords emacs-lisp-mode (("(\\(iter-defun\\)\\_>\\s *\\(\\(?:\\sw\\|\\s_\\)+\\)?" (1 font-lock-keyword-face nil t) (2 font-lock-function-name-face nil t)) ("(\\(iter-\\(?:next\\|lambda\\|yield\\|yield-from\\)\\)\\_>" (1 font-lock-keyword-face nil t)))] 3] provide generator] 4)