PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/url
Viewing File: /usr/share/emacs/24.3/lisp/url/url-util.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:51:05 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/url/url-util.el ;;; in Emacs version 24.3.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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\303\304\305\"\210\303\306\305\"\210\303\307\310\"\207" [require url-parse url-vars autoload timezone-parse-date "timezone" timezone-make-date-arpa-standard mail-header-extract "mailheader"] 3) #@45 A syntax table for parsing sgml attributes. (defvar url-parse-args-syntax-table (copy-syntax-table emacs-lisp-mode-syntax-table) (#$ . 787)) (byte-code "\301\302\303#\210\301\304\303#\210\301\305\306#\210\301\307\310#\210\311\312\313\314\315\316\317\320&\207" [url-parse-args-syntax-table modify-syntax-entry 39 "\"" 96 123 "(" 125 ")" custom-declare-variable url-debug nil "What types of debug messages from the URL library to show.\nDebug messages are logged to the *URL-DEBUG* buffer.\n\nIf t, all messages will be logged.\nIf a number, all messages will be logged, as well shown via `message'.\nIf a list, it is a list of the types of messages to be logged." :type (choice (const :tag "none" nil) (const :tag "all" t) (checklist :tag "custom" (const :tag "HTTP" :value http) (const :tag "DAV" :value dav) (const :tag "General" :value retrieval) (const :tag "Filename handlers" :value handlers) (symbol :tag "Other"))) :group url-hairy] 8) (defalias 'url-debug #[(tag &rest args) "\203\304\305!\210 \306=\204 \247\204 <\205=\n >\205=r\307\310!q\210db\210\311\n!\312\313\314 \"\315\261\210 \247\205<\313\316 \")\207" [quit-flag url-debug tag args error "Interrupted!" t get-buffer-create "*URL-DEBUG*" symbol-name " -> " apply format "\n" message] 5]) (defalias 'url-parse-args #[(str &optional nodowncase) "\306\211\211\211\211\211\211\212\214\307\310!q\210\311!\210\312 \210c\210ed\311!\210 }\210eb\210m\204\243\313\306w\210`\314\306w\210\204J\315 `\"\210 `{\316\306w\210`f\206Y\317\320U\204c\306\202\225\321\306w\210`\211f\206o\317\322U\204\nf\206z\317\323U\203\211\nT\306\324\325\217{\202\224\n\326\306w\210\327\306x\210`{ B\fB\313\306w\210\2022\f. \207" [nd st val-pos name-pos results value nil get-buffer-create " *urlparse-temp*" set-syntax-table erase-buffer "; \n " "^ \n =;" downcase-region " \n" 0 61 " \n=" 34 39 (byte-code "\300\301!\210`S\302\303w\210\207" [forward-sexp 1 "\"" nil] 3) ((error (byte-code "\300\301w\210`\207" ["^ \n" nil] 2))) "^;" " " name url-parse-args-syntax-table str nodowncase] 8]) #@338 Convert HTML markup-start characters to entity references in STRING. Also replaces the " character, so that the result may be safely used as an attribute value in a tag. Returns a new string with the result of the conversion. Replaces these characters as follows: & ==> &amp; < ==> &lt; > ==> &gt; " ==> &quot; (defalias 'url-insert-entities-in-string #[(string) "\301\302\"\2034r\303\304!q\210\305 \210\306p!\210c\210eb\210\307\310w\210m\2040`f\311\236Ac\210\312\313!\210\202\314 )\207\207" [string string-match "[&<>\"]" get-buffer-create " *entity*" erase-buffer buffer-disable-undo "^&<>\"" nil ((34 . "&quot;") (38 . "&amp;") (60 . "&lt;") (62 . "&gt;")) delete-char 1 buffer-string] 3 (#$ . 2877)]) #@77 Return a 'normalized' version of URL. Strips out default port numbers, etc. (defalias 'url-normalize-url #[(url) "\306\211\211\307 !\211\310H\f>\204\311\312\313\303#\210 \314H\211\315\235\203' \202A \310H\f>\2045\311\312\316\303#\210 \211\317\306I\210)\320 !+\207" [retval data type url cl-struct-url-tags #1=#:v nil url-generic-parse-url 0 error "%s accessing a non-%s" url-type 1 ("www" "about" "mailto" "info") url-target 7 url-recreate-url] 5 (#$ . 3621)]) #@122 Just like `message', but is a no-op if called more than once a second. Will not do anything if `url-show-status' is nil. (defalias 'url-lazy-message #[(&rest args) "\203\305H >\204\306\307\310\311#\210\312H\206*\n?\206*\313 \206* \314 A@\211U?\2052\315\316\f\"\207" [url-current-object cl-struct-url-tags url-show-status url-lazy-message-time args 0 error "%s accessing a non-%s" url-silent url 10 active-minibuffer-window current-time apply message] 4 (#$ . 4103)]) #@68 Return a 'real' date string that most HTTP servers can understand. (defalias 'url-get-normalized-date #[(&optional specified-time) "\302\303\304 \206\n\305 \306#)\207" [system-time-locale specified-time "C" format-time-string "%a, %d %b %Y %T GMT" current-time t] 4 (#$ . 4588)]) #@44 Remove spaces/tabs at the end of a string. (defalias 'url-eat-trailing-space #[(x) "GS\303\304\305E\211\306Y\203\nH >\203\nS\211\202\n\306\nTO*\207" [x skip-chars y 32 9 10 0] 5 (#$ . 4876)]) #@41 Remove spaces at the front of a string. (defalias 'url-strip-leading-spaces #[(x) "GS\304\305\306\307E\n X\203 \nH >\203 \nT\211\202\f\n\310O+\207" [x skip-chars z y 0 32 9 10 nil] 6 (#$ . 5085)]) (defalias 'url-pretty-length #[(n) "\301W\203 \302\303\"\207\304W\203\302\305\306\245\"\207\302\307\310\245\"\207" [n 1024 format "%d bytes" 1048576 "%dk" 1024.0 "%2.2fM" 1048576.0] 4]) (defalias 'url-display-percentage #[(fmt perc &rest args) "\205@ \203 \306H\n>\204\307\310\311\312#\210 \313H?\205@ \204*\314\315!\205@\315 \207\314\316!\203;\f\203;\317\316 \f $\207\317\320 #\207" [url-show-status url-current-object cl-struct-url-tags fmt perc args 0 error "%s accessing a non-%s" url-silent url 10 fboundp clear-progress-display progress-display apply message] 5]) (defalias 'url-percentage #[(x y) "\302\303!\203\304\303 !\245\305_!\207\305_ \245\207" [x y fboundp float round 100] 4]) (defalias 'url-basepath 'url-file-directory) #@47 Return the directory part of FILE, for a URL. (defalias 'url-file-directory #[(file) "\204\301\207\302\303\"\203\304\305\211\224O!\207\302\306\"\205 \307\310\"\207" [file "" string-match "\\?" url-file-directory 0 "\\(.*\\(/\\|%2[fF]\\)\\)" match-string 1] 4 (#$ . 6059)]) #@50 Return the nondirectory part of FILE, for a URL. (defalias 'url-file-nondirectory #[(file) "\204\301\207\302\303\"\203\304\305\211\224O!\207\302\306\"\203!\307\310\"\207\207" [file "" string-match "\\?" url-file-nondirectory 0 ".*\\(?:/\\|%2[fF]\\)\\(.*\\)" match-string 1] 4 (#$ . 6348)]) (defalias 'url-parse-query-string #[(query &optional downcase allow-newlines) "\306\211\211\211\211\307 \310\" \203c @ A\311\312\n\"\204$\n\312P\311\312\n\"\203\313\n\314\211\224O\"\313\n\314\225\306O\"\203G \227\315 \f\"\211\203Z\n\nAB\241\210\202 D\fB\202\f-\207" [val key cur pairs retval query nil split-string "[;&]" string-match "=" url-unhex-string 0 assoc allow-newlines downcase] 6]) #@511 Build a query-string. Given a QUERY in the form: '((key1 val1) (key2 val2) (key3 val1 val2) (key4) (key5 "")) (This is the same format as produced by `url-parse-query-string') This will return a string "key1=val1&key2=val2&key3=val1&key3=val2&key4&key5". Keys may be strings or symbols; if they are symbols, the symbol name will be used. When SEMICOLONS is given, the separator will be ";". When KEEP-EMPTY is given, empty values will show as "key=" instead of just "key" as in the example above. (defalias 'url-build-query-string #[(query &optional semicolons keep-empty) "\302\303 \203 \304\202\f\305#\207" [query semicolons mapconcat #[(key-vals) "\303\304\"\305\306 A\206 \307\n\203\310\202\311#)\207" [key-vals escaped semicolons mapcar #[(sym) "\301\302\303\"!\207" [sym url-hexify-string format "%s"] 4] mapconcat #[(val) "\305\306\"\305\306 @\"\n\f\204\203\307 G!\204\310\202 \311 Q*\207" [val escaped eprint vprint keep-empty format "%s" zerop "=" #1=""] 4] (#1#) ";" "&"] 4] ";" "&"] 4 (#$ . 7081)]) (defalias 'url-unhex #[(x) "\301V\203\302Y\203\303\302Z\\\207\303\304Z\\\207\305Z\207" [x 57 97 10 65 48] 3]) #@217 Remove %XX embedded spaces, etc in a URL. If optional second argument ALLOW-NEWLINES is non-nil, then allow the decoding of carriage returns and line feeds in the string, which is normally forbidden in URL encoding. (defalias 'url-unhex-string #[(str &optional allow-newlines) "\206\306\306\307\310\311\"\203V\312\224\313 T\234!\211\314_\313 \315\\\234!\\\n\312 O\2037\316 !\202J \317U\204C \320U\203G\321\202J\316 !Q\312\225\322O+\202\n\nP*\207" [str case-fold-search tmp start ch1 code "" t string-match "%[0-9a-f][0-9a-f]" 0 url-unhex 16 2 byte-to-string 10 13 " " nil allow-newlines] 6 (#$ . 8252)]) #@100 List of characters that are unreserved in the URL spec. This is taken from RFC 3986 (section 2.3). (defconst url-unreserved-chars '(97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 48 49 50 51 52 53 54 55 56 57 45 95 46 126) (#$ . 8889)) #@54 Vector translating bytes to URI-encoded %-sequences. (defconst url-encoding-table (byte-code "\303\304\305\"\304\306 \nW\203 \307\310 \"I\210 T\211\202\n*)\207" [vec byte --dotimes-limit-- make-vector 256 nil 0 format "%%%02X"] 6) (#$ . 9263)) #@184 Return an "allowed character" mask (a 256-slot vector). The Nth element is non-nil if character N is in CHAR-LIST. The result can be passed as the second arg to `url-hexify-string'. (defalias 'url--allowed-chars #[(char-list) "\304\305\306\" \306\211\203 @\306\307\310\217\210 A\211\204 *)\207" [vec char-list byte --dolist-tail-- make-vector 256 nil (aset vec byte t) ((error))] 4 (#$ . 9523)]) #@534 URI-encode STRING and return the result. If STRING is multibyte, it is first converted to a utf-8 byte string. Each byte corresponding to an allowed character is left as-is, while all other bytes are converted to a three-character string: "%" followed by two upper-case hex digits. The allowed characters are specified by ALLOWED-CHARS. If this argument is nil, the list `url-unreserved-chars' determines the allowed characters. Otherwise, ALLOWED-CHARS should be a vector whose Nth element is non-nil if character N is allowed. (defalias 'url-hexify-string #[(string &optional allowed-chars) "\204\303 !\304\305\306\n!\203\307\n\310\"\202\n\311#\207" [allowed-chars url-unreserved-chars string url--allowed-chars mapconcat #[(byte) " H\203\n\303 !\207\n H\207" [allowed-chars byte url-encoding-table char-to-string] 2] multibyte-string-p encode-coding-string utf-8 ""] 5 (#$ . 9936)]) #@116 Allowed-character byte mask for the host segment of a URI. These characters are specified in RFC 3986, Appendix A. (defconst url-host-allowed-chars (byte-code "\301\302\303\"!\207" [url-unreserved-chars url--allowed-chars append (37 33 36 38 39 40 41 42 43 44 59 61)] 4) (#$ . 10843)) #@116 Allowed-character byte mask for the path segment of a URI. These characters are specified in RFC 3986, Appendix A. (defconst url-path-allowed-chars (byte-code "\302!\211\303\304I\210 \305\304I\210 \306\304I\210 )\207" [url-host-allowed-chars vec copy-sequence 47 t 58 64] 4) (#$ . 11136)) #@117 Allowed-character byte mask for the query segment of a URI. These characters are specified in RFC 3986, Appendix A. (defconst url-query-allowed-chars (byte-code "\302!\211\303\304I\210 )\207" [url-path-allowed-chars vec copy-sequence 63 t] 4) (#$ . 11434)) #@254 Return a properly URI-encoded version of URL. This function also performs URI normalization, e.g. converting the scheme to lowercase if it is uppercase. Apart from normalization, if URL is already URI-encoded, this function should return it unchanged. (defalias 'url-encode-url #[(url) "\306!\203 \307\310\"\311!\211\312H\n>\204\313\314\315\300#\210 \316H \312H\n>\204/\313\314\317\300#\210 \320H \312H\n>\204A\313\314\321\300#\210 \322H\323 !\211@A \312H\n>\204a\313\314\324\300#\210 \325H \203\203 \312H\n>\204x\313\314\315\300#\210 \211!\316\326 !I\210)\f\203\240 \312H\n>\204\225\313\314\317\300#\210 \211\"\320\326\f!I\210) \203\306\327\330 \"\204\306 \312H\n>\204\271\313\314\321\300#\210 \211#\322\326 $\"I\210)\203\323\326%\"\203\340\326&\" \312H\n>\204\356\313\314\331\300#\210 \211'\332\203\333Q\202I\210) \203' \312H\n>\204\313\314\324\300#\210 \211(\325\326 &\"I\210)\334 !.\207" [url obj cl-struct-url-tags user pass host multibyte-string-p encode-coding-string utf-8 url-generic-parse-url 0 error "%s accessing a non-%s" url-user 2 url-password 3 url-host 4 url-path-and-query url-target 7 url-hexify-string string-match "\\`\\[.*\\]\\'" url-filename 6 "?" url-recreate-url path-and-query path query frag #1=#:v #2=#:v #3=#:v url-host-allowed-chars url-path-allowed-chars url-query-allowed-chars #4=#:v #5=#:v] 6 (#$ . 11700)]) #@140 Return the filename extension of FNAME. If optional argument X is t, then return the basename of the file with the extension stripped off. (defalias 'url-file-extension #[(fname &optional x) "\203#\302!\211\203#\303\304\"\203# \203\305\211\224O\207\305\224\306O\207 \203)\207\307\207" [fname x url-file-nondirectory string-match "\\.[^./]+$" 0 nil ""] 3 (#$ . 13123)]) #@117 Return a shortened version of URL that is WIDTH characters wide or less. WIDTH defaults to the current frame width. (defalias 'url-truncate-url-for-viewing #[(url &optional width) "\206\306 \nG\307\310\307 Y\203)\311\312\n\"\203)\n\310\211\224O\313P\211G W\204\270\314\n!\211\310H>\204C\315\316\317\302#\210\320H \321Z Y\203\210\311\322\f\"\203\210\f\310\225\307O T\310H>\204r\315\316\317\302#\210\211\320\fI\210)\323!\211G\211\202M \324V\203\225\325\fP\202\231\322\fP\310H>\204\251\315\316\317\302#\210\211\320\fI\210)\323!\n-\207" [width fr-width url str-width fname modified frame-width nil 0 string-match "?" "?..." url-generic-parse-url error "%s accessing a non-%s" url-filename 6 4 "/" url-recreate-url 1 "/.../" urlobj cl-struct-url-tags #1=#:v #2=#:v] 5 (#$ . 13512)]) #@180 View the current document's URL. Optional argument NO-SHOW means just return the URL, don't show it in the minibuffer. This uses `url-current-object', set locally to the buffer. (defalias 'url-view-url #[(&optional no-show) "\205 \203\f\302!\207\303\304\302!\"\207" [url-current-object no-show url-recreate-url message "%s"] 4 (#$ . 14357) nil]) #@28 Valid characters in a URL. (defvar url-get-url-filename-chars "-%.?@a-zA-Z0-9()_/:~=&" (#$ . 14716)) #@127 Get the URL closest to point, but don't change position. Has a preference for looking backward when not directly on a symbol. (defalias 'url-get-url-at-point #[(&optional pt) "\212\203b\210\305\211\212m\204\"\306\307!\203\"\310\305x\210o\204\"\311u\210`f\203A\312\313 \314Q\315`f!\"\203A \305x\210` \305w\210\202C`\316\n`\") \203Y\312\317 \"\203Y\320\321 \" \203i\312\322 \"\203i \323\305O \203y\312\324 \"\203y \325\311O \203\210\312\326 \"\203\210\327 P \203\225\312\f \"\204\225\305 +\207" [pt url start url-get-url-filename-chars url-nonrelative-link nil looking-at "[] \n[{}()]" " \n ({[]})" -1 string-match "[" "]" char-to-string buffer-substring-no-properties "^(.*)\\.?$" match-string 1 "^URL:" 4 "\\.$" 0 "^www\\." "http://"] 4 (#$ . 14824)]) #@58 Generate a unique filename in `url-temporary-directory'. (defalias 'url-generate-unique-filename #[(&optional fmt) "\n\2043\306\307\310 \"\311\312\306\313 #\314\315\f \"!\203+ T \316 !P\202\315\f \"+\202d\317\316\310 !P\311\312\306\n \316 !P\"\314\315\f \"!\203_ T\306\n \316 !P\"\202G\315\f \"+)\207" [url-temporary-directory tempdir fmt x fname base format "url-tmp.%d" user-real-uid "" 0 "%s%d" file-exists-p expand-file-name int-to-string "url"] 5 (#$ . 15614)]) (make-obsolete 'url-generate-unique-filename 'make-temp-file "23.1") #@51 Set `url-current-mime-headers' in current buffer. (defalias 'url-extract-mime-headers #[nil "\212eb\210?\205\301\300!\210\302 \211)\207" [url-current-mime-headers make-local-variable mail-header-extract] 2 (#$ . 16178)]) #@121 Make FILE only readable and writable by the current user. Creates FILE and its parent directories if they do not exist. (defalias 'url-make-private-file #[(file) "\302!\211\203 \303 \304\"\210)\305\306\307\217\207" [file dir file-name-directory make-directory t nil (byte-code "\303 \304\216\305\306!\210\307\310!r q\210\311\216\312ed\n\313\314\313\315&-\207" [umask #1=#:temp-buffer file default-file-modes ((set-default-file-modes umask)) set-default-file-modes 384 generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) write-region nil silent excl] 8) ((file-already-exists (byte-code "\301!\203 \302\303\"\210\304\305\"\207" [file file-symlink-p error "Danger: `%s' is a symbolic link" set-file-modes 384] 3)))] 4 (#$ . 16410)]) (provide 'url-util)