[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: lynx-dev Accepting invalid cookies - continuing discussion [first pa
From: |
brian j. pardy |
Subject: |
Re: lynx-dev Accepting invalid cookies - continuing discussion [first patch] |
Date: |
Wed, 27 Jan 1999 19:51:19 -0800 |
On Wed, Jan 27, 1999, I wrote:
> Klaus wrote:
> > a. The configuration and program startup side could be basically just
> > copied from the existing stuff: COOKIE_ACCEPT_DOMAINS and _REJECT_DOMAINS
> > lists etc., with appropriate renaming.
> > b. The changes for actual usage of the new behavior variable would affect
> > only a limited section of the code, in a first approach (in store_cookie,
> > probably with help from HTAlert).
> > c. Adding control via links from the Cookie Jar page could be deferred till
> > later.
> > d. The messages and prompts have to be tweaked until they make sense.
> > e. Proper explanation in lynx.cfg, help file(s).
> >
> > I am doing some other stuff now, but if you take a. now (I leave you the
> > boring stuff :) ), I'll follow up with b. if you want...
>
> Thanks for the nice list. I'll attempt to get at the least a) taken
> care of today, it's a nice simple one. I should be able to simply
> cannibalize my older patches.
Okay, here's a first attempt at a).
I used your enum idea and created invcheck_bv, and have lynx.cfg and
.lynxrc support for a few new options --
COOKIE_STRICT_INVALID_DOMAINS,
COOKIE_LOOSE_INVALID_DOMAINS,
COOKIE_QUERY_INVALID_DOMAINS
They're the same sort as COOKIE_ACCEPT_DOMAINS, comma-delimited lists.
They've also been added to the .lynxrc storage code (save_rc()). I'm
not quite sure that the config file option for QUERY_INVALID_DOMAINS
is necessary, but the enum is needed so that the user can then change
a previously strict or loose domain to query, probably from the cookie
jar page.
My comments in the .lynxrc section need to be cleaned up, with some
kind of good description of what the options do.
This is attached uuencoded because I chose some really long variable
names, and I don't want weird mailer wrap lossage. I'll also have it
up on the web in about ten minutes, at:
<URL:http://www.psnw.com/~posterkid/code/lynx-invcookiedomains1.patch>
*Please* come up with better names for options, the only ones I could
come up with were basically ridiculous.
Another patch for some other nits in LYCookie.c and LYrcFile.c coming
soon, mostly clarifying some poor comments of mine, and also one which
should fix the way that cookie_{accept,reject}_domains are not stored
if one saves .lynxrc to disk from options menu.
begin 600 invcookiedomains1.patch
M9&EF9B`M8W(@,BXX+C)D978N,30O<W)C+TQ90V]O:VEE+F,@,BXX+C)D978N
M,30N8G)I+W-R8R],64-O;VMI92YC"address@hidden,F1E=BXQ-"]S<F,O3%E#
M;V]K:64N8PE4:'address@hidden&5C(#(T(#`S.C(W.C(S(address@hidden(#(N."XR9&5V
M+C$T+F)R:2]S<F,O3%E#;V]K:address@hidden(#(W(#$Y.C`W.C(X(#$Y
M.3D**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ*B`T,30L-#$Y("HJ*BH*+2TM(#0Q-"PT
M,address@hidden@(`EE;'-E"B`@(V5N9&EF"B`@"2`@("!D92T^8G8@/2!15452
M65]54T52.PHK(`ED92T^:6YV8VAE8VM?8G8@/2!1545265]54T52.R`O*B!S
M:&]U;&address@hidden&AI<R!G;R!H97)E/R`J+PH@(`EC;V]K:65?;&ES="`](&1E+3YC
M;V]K:65?;&ES="`]($A43&ES=%]N97<H*3L*("`)4W1R06QL;V-#;W!Y*&1E
M+3YD;VUA:6XL(&-O+3YD;VUA:6XI.PH@(`E(5$QI<W1?861D3V)J96-T*&1O
M;6%I;E]L:7-T+"!D92D["address@hidden@,C<T-BPR-S4Q
M("HJ*BH*+2TM(#(W-#<L,address@hidden"B`@("`@($92144H<W1R*3L*("`@
M("address@hidden)%12AS=')S;6%L;"D["B`@("`@($92144H<G-T<BD["address@hidden(`HK
M("\J("`@("address@hidden:VEE7W-E=%]I;G9C:&5C:PHK("HJ("`@("address@hidden
M+2TM+2TM+2TM+2TM+0HK("HJ("`@"address@hidden@("!)<address@hidden;VUM
M82UD96QI;6ET960@<W1R:6YG(&]F(&1O;6%I;G,@86YD(&$@<&%R=&EC=6QA
M<@HK("HJ("address@hidden;W5R('1O('-E="!T:&5I<B!I;G9C:&5C:U]B=B!T
M;address@hidden"2E`**R`J+PHK(`HK(%!50DQ)0R!V;VED(&-O;VMI95]S971?:6YV
address@hidden)'4S(H"BL@"6-H87(@*BP@"61O;6%I;G,L"BL@("`@("`@("!I
M;G9C:&5C:U]B96AA=FEO=7(L"0ES971T:6YG*0HK('L**R`@("address@hidden&]M86EN
M7V5N=')Y("ID92`]($Y53$P["BL@("`@(&1O;6%I;E]E;G1R>2`J9&4R(#T@
M3E5,3#L**R`@("address@hidden,:7-T("IH;"`]($Y53$P["BL@("`@(&-H87(@*BIS
M='(@/2`H8VAA<B`J*BEC86QL;V,H,2P@<VEZ96]F*&1O;6%I;G,I*3L**R`@
M("address@hidden<B`J9'-T<B`]($Y53$P["BL@("`@(&-H87(@*G-T<G-M86QL(#T@
M3E5,3#L**R`@("`@:6YT(&ES97AI<W1I;F<@/2!&04Q313L**R`**R`@("`@
M+RH**R`@("`@("address@hidden,@=&AI<R!T:&address@hidden<address@hidden:VEE('=E)W)E(&AA
M;F1L:6YG/address@hidden@<V\L(&EN:71I86QI>F4**R`@("`@("address@hidden&]M86EN7VQI
M<W0N"BL@("`@("`J+PHK(`HK("`@("!I9B`H9&]M86EN7VQI<W0@/address@hidden,
M3"D@>PHK(`EA=&5X:70H3%E#;V]K:65*87)?9G)E92D["BL@"61O;6%I;E]L
M:7-T(address@hidden,:address@hidden(`ET;W1A;%]C;V]K:65S(#T@,#L**R`@
M("address@hidden(`HK("`@("!3=')!;&QO8T-O<'DH9'-T<address@hidden&]M86EN<RD["BL@
M"BL@("`@("IS='(@/2!D<W1R.PHK(`HK("`@("!W:&EL92`H*'-T<G-M86QL
M(address@hidden')S97`H<W1R+"`B+"(I*2`A/2`P*2!["BL@"BL@"2\J"BL@"2`J
M($-H96-K('1H92!L:7-T(&]F(&5X:7-T:6YG(&-O;VMI97,@=&\@<V5E(&EF
M('1H:7,@:7,@80HK(address@hidden:6YG(&]F(&%N(&%L<F5A9'address@hidden
M<W1I;F<@8V]O:VEE("TM(&EF('-O+"!J=7-T"BL@"2`J(&-H86YG92!T:&4@
M8F5H879I;W(L(&EF(&YO="address@hidden)E871E(&$@;F5W(&1O;6%I;B!E;G1R>2X*
M*R`)("HO"BL@"69O<B`H:&P@/2!D;VUA:6Y?;&ES=#L@:&P@(address@hidden,3#L@
M:&P@/2!H;"T^;F5X="D@>PHK(`D@("address@hidden&4R(address@hidden&1O;6%I;E]E;G1R>2`J
M*6AL+3YO8FIE8W0["BL@"2`@("!I9B`H*&1E,B`A/2!.54Q,("8F(&1E,BT^
M9&]M86EN("$]($Y53$PI("8F"BL@"0DA<W1R8VUP*'-T<G-M86QL+"!D93(M
M/F1O;6%I;BDI('L**R`)"0EI<V5X:7-T:6YG(address@hidden)513L**R`)"0EB<F5A
M:SL**R`)("`@('address@hidden"BL@"0EI<V5X:7-T:6YG(address@hidden,4T4["BL@
M"2`@("!]"BL@"7T**R`**R`):68H(6ES97AI<W1I;F<I('L**R`)("`@(&1E
M(address@hidden&1O;6%I;E]E;G1R>2`J*6-A;&address@hidden"!S:7IE;V8H9&]M86EN7V5N
M=')Y*2D["BL@"BL@"2`@("!I9B`H9&4@/address@hidden,3"D**R`)"2`@("!O=71O
M9FUE;2A?7T9)3$5?7RP@(F-O;VMI95]S971?:6YV8VAE8VLB*3L**R`**R`)
M("`@(&1E+3YI;G9C:&5C:U]B=B`]('-E='1I;F<["BL@"BL@"2`@("!3=')!
M;&QO8T-O<'DH9&4M/F1O;6%I;BP@<W1R<VUA;&PI.PHK(`D@("address@hidden&4M/F-O
M;VMI95]L:7-T(address@hidden,:address@hidden(`D@("address@hidden,:7-T7V%D9$]B
M:F5C="AD;VUA:6Y?;&ES="address@hidden&4I.PHK(`E](&5L<V4@>PHK(`D@("address@hidden&4R
M+3YI;G9C:&5C:U]B=B`]('-E='1I;F<["BL@"7T**R`@("address@hidden(`HK("`@
M("!&4D5%*'-T<BD["BL@("`@($92144H<W1R<VUA;&PI.PHK("`@("!&4D5%
M*&1S='(I.PH@('T*("`*("`C:address@hidden/0D%,1$5&7TE37TU!0U)/"F1I
address@hidden(#(N."XR9&5V+C$T+W-R8R],64-O;VMI92YH(#(N."XR9&5V+C$T
M+F)R:2]S<F,O3%E#;V]K:64N:`HJ*BH@,BXX+C)D978N,30O<W)C+TQ90V]O
M:VEE+F@)5&AU($1E8R`@,R`Q,#HR.#HR,"`Q.3DX"address@hidden,F1E=BXQ
M-"YB<FDO<W)C+TQ90V]O:VEE+F@)5V5D($IA;B`R-R`Q.#HR-CHT-B`Q.3DY
M"address@hidden@,C,L,S(@address@hidden@,C,L,address@hidden
M+0H@(`EC:&%R("H)"7)E:F5C=&1O;6%I;G,I*3L*("`*("!T>7!E9&5F(&5N
M=6T@>T%#0T505%]!3%=!65,L(%)%2D5#5%]!3%=!65,L(%%515)97U5315(L
M($923TU?1DE,address@hidden;W5R.PHK('1Y<&address@hidden;2![24Y60TA%
M0TM?455%4EDL(`HK(`D@("`@("!)3E9#2$5#2U]35%))0U0L(`HK(`D@("`@
M("!)3E9#2$5#2U],3T]317T@:6YV8VAE8VM?8F5H879I;W5R.PH@(`H@('-T
M<G5C="!?9&]M86EN7V5N=')Y('L*("`@("address@hidden<B`J"61O;6%I;CL@("\J
M($1O;6%I;B!F;W(@=VAI8V@@=&AE<address@hidden:VEE<R!A<address@hidden:address@hidden
M("`@("address@hidden;W5R"6)V.PHK("`@("!I;G9C:&5C:U]B96AA=FEO=7()
M:6YV8VAE8VM?8G8["B`@("`@($A43&ES="`J"6-O;VMI95]L:7-T.PH@('T[
M"address@hidden'EP961E9B!S=')address@hidden;6%I;E]E;G1R>2!D;VUA:6Y?96YT<GD[
M"address@hidden(#(N."XR9&5V+C$T+W-R8R],64=L;V)A;$1E9G,N:"address@hidden
M,F1E=BXQ-"YB<FDO<W)C+TQ91VQO8F%L1&5F<RYH"address@hidden,F1E=BXQ
M-"]S<F,O3%E';&]B86Q$969S+F@)5V5D($IA;B`Q,R`P,SHS-SHS-"`Q.3DY
M"address@hidden,F1E=BXQ-"YB<FDO<W)C+TQ91VQO8F%L1&5F<RYH"5=E9"!*
M86X@,C<@,address@hidden,CD@,3DY.0HJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#,Q-"PS
M,address@hidden@HM+2T@,S$T+#,R,B`M+2TM"address@hidden)N($)/address@hidden
M8V-E<'1!;&Q#;V]K:65S.R`@("`@("\J(&%C8V5P="address@hidden:VEE<S\@
M("`@("`@("`@("HO"address@hidden)N(&-H87(@*DQ90V]O:VEE06-C97!T1&]M
M86EN<SL@("`@("\J(&1O;6%I;G,@=&address@hidden(&%L;"!C;V]K:65S("HO
M"address@hidden)N(&-H87(@*DQ90V]O:VEE4F5J96-T1&]M86EN<SL@("`@("\J
M(&1O;6%I;G,@=&\@<F5J96-T(&%L;"!C;V]K:65S("HO"address@hidden)N(&-H
M87(@*DQ90V]O:VEE4W1R:6-T0VAE8VM$;VUA:6YS.R`O*B!D;VUA:6YS('1O
M(&-H96-K('-T<FEC=&QY("`@("HO"address@hidden)N(&-H87(@*DQ90V]O:VEE
M3&]O<V5#:&5C:T1O;6%I;G,[("\J(&1O;6%I;G,@=&address@hidden@;&]O<V5L
M>2`@("`J+PHK(&5X=&5R;B!C:&%R("I,64-O;VMI95%U97)Y0VAE8VM$;VUA
M:6YS.R`O*B!D;VUA:6YS('1O(&-H96-K('<O82!Q=65R>2`@("`J+PH@("-I
M9F1E9B!%6%!?4$524TE35$5.5%]#3T]+2453"address@hidden)N($)/3TQ%04X@
M<&5R<VES=&5N=%]C;V]K:65S.PH@(&5X=&5R;B!C:&%R("I,64-O;VMI949I
M;&4[("`@("`@("`@("`@("`O*B!F:6QE('1O('-T;W)E(&-O;VMI97,@:6X@
M("`@("`J+PID:69F("UC<address@hidden,F1E=BXQ-"]S<F,O3%E-86EN+F,@,BXX
M+C)D978N,30N8G)I+W-R8R],64UA:6XN8PHJ*BH@,BXX+C)D978N,30O<W)C
M+TQ936%I;BYC"4UO;B!*86X@,3@@,#0Z,CDZ,C`@,3DY.0HM+2T@,BXX+C)D
M978N,30N8G)I+W-R8R],64UA:address@hidden(#(W(#$X.C0V.C,R(#$Y
M.3D**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ*B`S-#$L,S0V("HJ*BH*+2TM(#,T,2PS
address@hidden@(%!50DQ)0R!"3T],14%.($Q906-C97!T06QL0V]O:VEE<R`]
M($%#0T505%]!3$Q?0T]/address@hidden@=&%K92!A;&address@hidden:VEE<address@hidden
M("!054),24,@8VAA<B`J3%E#;V]K:65!8V-E<'1$;VUA:6YS(address@hidden,3#L@
address@hidden&]M86EN<R!T;R!A8V-E<'address@hidden(&-O;VMI97,@*B\*("!054),24,@
M8VAA<B`J3%E#;V]K:65296IE8W1$;VUA:6YS(address@hidden,address@hidden@9&]M86EN
M<R!T;address@hidden(&-O;VMI97,@*B\**R!054),24,@8VAA<B`J3%E#
M;V]K:653=')I8W1#:&5C:T1O;6%I;G,@/2!.54Q,.R`O*B!C:&5C:R!S=')I
M8W1L>address@hidden),24,@8VAA<B`J3%E#;V]K:65,;V]S94-H96-K1&]M
M86EN<R`]($Y53$P[("`O*B!C:&5C:R!L;V]S96QY("address@hidden),24,@
M8VAA<B`J3%E#;V]K:651=65R>4-H96-K1&]M86EN<R`]($Y53$P[("`O*B!C
M:&5C:R!W+V$@<75E<address@hidden("`C:address@hidden)4U1%3E1?0T]/
M2TE%4PH@($)/3TQ%04X@<&5R<VES=&5N=%]C;V]K:65S(address@hidden)513L*("!0
M54),24,@8VAA<B`J3%E#;V]K:65&:6QE(address@hidden,3#L@("`@("`@("address@hidden@
M9&5F875L="!C;V]K:address@hidden:69F("UC<address@hidden,F1E=BXQ-"]S
M<F,O3%E296%D0T9'+F,@,BXX+C)D978N,30N8G)I+W-R8R],65)E861#1D<N
M8PHJ*BH@,BXX+C)D978N,30O<W)C+TQ94F5A9$-&1RYC"5=E9"!*86X@,3,@
M,#,Z,S<Z,S0@,3DY.0HM+2T@,BXX+C)D978N,30N8G)I+W-R8R],65)E861#
M1D<address@hidden(#(W(#$Y.C`V.C`R(#$Y.3D**BHJ*BHJ*BHJ*BHJ*BHJ
M"BHJ*B`X,C`L.#(U("HJ*BH*+2TM(address@hidden,"PX,C@@+2TM+0H@("-I9F1E9B!%
M6%!?4$524TE35$5.5%]#3T]+2453"B`@("`@("!005)315]35%(H(F-O;VMI
M95]F:6QE(address@hidden(L($Q90V]O:VEE1FEL92DL"B`@(V5N9&EF("\J
M($584%]015)325-414Y47T-/3TM)15,@*B\**R`@("`@(address@hidden
M8V]O:VEE7VQO;W-E7VEN=F%L:61?9&]M86EN<R(L($-/3D9?4U12+"!,64-O
M;VMI94QO;W-E0VAE8VM$;VUA:6YS*2P**R`@("`@(address@hidden
M:VEE7W%U97)Y7VEN=F%L:61?9&]M86EN<R(L($-/3D9?4U12+"!,64-O;VMI
M95%U97)Y0VAE8VM$;VUA:6YS*2P**R`@("`@(address@hidden:VEE
M7W-T<FEC=%]I;G9A;&ED7V1O;6%I;G,B+"!#3TY&address@hidden;V]K:653
M=')I8W1#:&5C:T1O;6%I;G,I+`H@("`@("address@hidden")C;V]K:65?
M<F5J96-T7V1O;6%I;G,B+"!#3TY&address@hidden;V]K:65296IE8W1$;VUA
M:6YS*2P*("`@("`@(address@hidden;WAY(address@hidden
M(address@hidden("`C:address@hidden"address@hidden@,3(T,"PQ
M,C0U("HJ*BH*+2TM(#$R-#,L,3(U,"`M+2TM"B`@("`@("`J($EF(&%N>2!#
M3T]+245?>T%#0T505"Q214I%0U1]7T1/34%)3E,@:&%V92!B965N(&1E9FEN
M960L"B`@("`@("`J('!R;V-E<W,@=&AE;2X@(%1H97-E(&%R92!C;VUM82!D
M96QI;6ET960@;&ES=',@;V8*("`@("`@("address@hidden&]M86EN<address@hidden"2E`**R`@
M("`@("H**R`@("`@("address@hidden(&9O<B!Q=65R>2]S=')I8W0O;&]O<V4@:6YV
M86QI9"!C;V]K:address@hidden;F<N("address@hidden"B`@("`@("`J+PH@(`H@("`@
M("!I9B`H3%E#;V]K:65!8V-E<'1$;VUA:6YS("$]($Y53$PI('L**BHJ*BHJ
M*BHJ*BHJ*BHJ"BHJ*B`Q,address@hidden@HM+2T@,3(U-"PQ,C<R("TM
M+2T*("`@("`@:address@hidden:VEE4F5J96-T1&]M86EN<R`A/2!.54Q,*2![
M"B`@"6-O;VMI95]A9&1?<F5J96-T;&ES="A,64-O;VMI95)E:F5C=$1O;6%I
M;G,I.PH@("`@("!]"BL@"BL@("`@(&EF("A,64-O;VMI95-T<FEC=$-H96-K
M1&]M86EN<R`A/2!.54Q,*2!["BL@"6-O;VMI95]S971?:6YV8VAE8VLH3%E#
M;V]K:653=')I8W1#:&5C:T1O;6%I;G,L($E.5D-(14-+7U-44DE#5"D["BL@
M("`@('T**R`**R`@("`@:address@hidden:VEE3&]O<V5#:&5C:T1O;6%I;G,@
M(address@hidden,3"D@>PHK(`EC;V]K:65?<V5T7VEN=F-H96-K*$Q90V]O:VEE3&]O
M<V5#:&5C:T1O;6%I;G,L($E.5D-(14-+7TQ/3U-%*3L**R`@("address@hidden(`HK
M("`@("!I9B`H3%E#;V]K:651=65R>4-H96-K1&]M86EN<R`A/2!.54Q,*2![
M"BL@"6-O;VMI95]S971?:6YV8VAE8VLH3%E#;V]K:651=65R>4-H96-K1&]M
M86EN<address@hidden("`@("!]"BL@"address@hidden@(`H@("\J
M"address@hidden(#(N."XR9&5V+C$T+W-R8R],67)C1FEL92YC(#(N."XR9&5V
M+C$T+F)R:2]S<F,O3%ER8T9I;&4N8PHJ*BH@,BXX+C)D978N,30O<W)C+TQ9
M<F-&:6QE+F,)5V5D($IA;B`Q,R`P,SHS-SHS-"`Q.3DY"address@hidden,F1E
M=BXQ-"YB<FDO<W)C+TQ9<F-&:6QE+F,)5V5D($IA;B`R-R`Q.3HS-#HT-2`Q
M.3DY"address@hidden@address@hidden"`J*BHJ"BTM+2`T.#,L
M-3(T("TM+2T*("`)"6-P*RL[("\J(&=E="!R:60@;V8@<W!A8V5S("HO"B`@
M"2`@("!C;V]K:65?861D7W)E:F5C=&QI<W0H8W`I.PH@(`HK(address@hidden(`D@
address@hidden:VEE(&1O;6%I;G,@=&\@<&5R9F]R;2!L;V]S92!C:&5C:W,_"BL@
M"2`J+PHK(`E](&5L<V4@:address@hidden"AC<"`]($Q9<W1R<W1R*&QI;F5?8G5F9F5R
M+"`B8V]O:VEE7VQO;W-E7VEN=F%L:61?9&]M86EN<R(I*0HK(`D)(address@hidden,
M3"`F)B!C<"UL:6YE7V)U9F9E<B`\(&YU;6)E<E]S:6=N*2!["BL@"2`@("!I
address@hidden(address@hidden&-H87(@*BES=')C:'(H8W`L)STG*2D@(address@hidden,3"D**R`)
M"2`@("!C<"`](&-P,B`K(#$["BL@"2`@("!W:&EL92`H:7-S<&address@hidden
M*0HK(`D)("`@(&-P*RL[("\J(&=E="!R:60@;V8@<W!A8V5S("HO"BL@"2`@
M("!3=')!;&QO8T-O<'DH3%E#;V]K:65,;V]S94-H96-K1&]M86EN<address@hidden
M.PHK(`D@("address@hidden:VEE7W-E=%]I;G9C:&5C:RA,64-O;VMI94QO;W-E0VAE
M8VM$;VUA:6YS+"!)3E9#2$5#2U],3T]312D["BL@"BL@"2\J"BL@"2`J("!#
M;V]K:address@hidden&]M86EN<R!T;R!P97)F;W)M('-T<FEC="!C:&5C:W,_"BL@"2`J
M+PHK(`E](&5L<V4@:address@hidden"AC<"`]($Q9<W1R<W1R*&QI;F5?8G5F9F5R+"`B
M8V]O:VEE7W-T<FEC=%]I;G9A;&ED7V1O;6%I;G,B*2D**R`)"2$]($Y53$P@
M)address@hidden;&EN95]B=69F97(@/"!N=6UB97)?<VEG;BD@>PHK(`D@("`@:68H
M*&-P,B`]("AC:&%R("HI<W1R8VAR*&-P+"<])RDI("$]($Y53$PI"BL@"0D@
M("address@hidden@/2!C<#(@*R`Q.PHK(`D@("address@hidden;&address@hidden&ES<W!A8V4H*F-P*2D*
M*R`)"2`@("!C<"LK.R`O*B!G970@<FED(&]F('-P86-E<R`J+PHK(`D@("`@
M4W1R06QL;V-#;W!Y*$Q90V]O:VEE4W1R:6-T0VAE8VM$;VUA:6YS+"!C<"D[
M"BL@"2`@("!C;V]K:65?<V5T7VEN=F-H96-K*$Q90V]O:VEE4W1R:6-T0VAE
M8VM$;VUA:6YS+"!)3E9#2$5#2U]35%))0U0I.PHK(`HK(address@hidden(address@hidden@
M0V]O:VEE(&1O;6%I;G,@=&\@<75E<address@hidden<B!O=F5R(&EN=F%L:address@hidden
M:VEE<S\**R`)("HO"BL@"address@hidden&-P(address@hidden')S='(H;&EN
M95]B=69F97(L(")C;V]K:65?<75E<GE?:6YV86QI9%]D;VUA:6YS(BDI"BL@
M"0DA/2!.54Q,("8F(&-P+6QI;F5?8G5F9F5R(#P@;G5M8F5R7W-I9VXI('L*
M*R`)("`@(&EF*"AC<#(@/2`H8VAA<B`J*7-T<F-H<BAC<"PG/2<I*2`A/2!.
M54Q,*0HK(`D)("`@(&-P(address@hidden("L@,3L**R`)("`@('=H:6QE("AI<W-P
M86-E*"IC<"DI"BL@"0D@("address@hidden@address@hidden(')I9"!O9B!S<&%C97,@
M*B\**R`)("`@(%-T<D%L;&]C0V]P>2A,64-O;VMI95%U97)Y0VAE8VM$;VUA
M:6YS+"!C<"D["BL@"2`@("!C;V]K:65?<V5T7VEN=F-H96-K*$Q90V]O:VEE
M475E<GE#:&5C:T1O;6%I;G,L($E.5D-(14-+7U%515)9*3L**R`*("`C:69D
address@hidden)4U1%3E1?0T]/2TE%4PH@(address@hidden@(address@hidden@1FEL92!T
M;R!S=&]R92!C;V]K:65S(&address@hidden(#DV.2PY
address@hidden@HM+2T@,3`P-2PQ,#(V("TM+2T*("`@("`@("H@('1O('-E="!T
M:&address@hidden@("`@("address@hidden("`**R`@("address@hidden:6YT9BAF<"address@hidden&5X="@B
M7`HK(",@8V]O:VEE7VQO;W-E7VEN=F%L:61?9&]M86EN<address@hidden:VEE7W-T
M<FEC=%]I;G9A;&ED7V1O;6%I;G,L(&%N9%QN7`HK(",@8V]O:VEE7W%U97)Y
M7VEN=F%L:61?9&]M86EN<R!C;VYT<F]L(&-H96-K:6YG(&EN8V]M:6YG(&-O
M;VMI97,G7&Y<"BL@(R!C;VYF;W)M86YC92!T;R!21D-.3DY.+EQN7`HK(",@
M6%A8($9)6$U%7&XB*2D["BL@("`@(&9P<FEN=&8H9G`L(")C;V]K:65?;&]O
M<V5?:6YV86QI9%]D;VUA:6YS/25S7&XB+`HK(`D@("address@hidden:VEE3&]O
M<V5#:&5C:T1O;6%I;G,@/address@hidden,3"D@/R`B(B`**R`)"2`@("`Z($Q90V]O
M:VEE3&]O<V5#:&5C:T1O;6%I;G,I.PHK("`@("!F<')I;G1F*&9P+"`B8V]O
M:VEE7W-T<FEC=%]I;G9A;&ED7V1O;6%I;G,])7-<;B(L"BL@"2`@("`H3%E#
M;V]K:653=')I8W1#:&5C:T1O;6%I;G,@/address@hidden,3"D@/R`B(B`**R`)"2`@
M("`Z($Q90V]O:VEE4W1R:6-T0VAE8VM$;VUA:6YS*3L**R`@("address@hidden:6YT
M9BAF<"P@(F-O;VMI95]Q=65R>5]I;G9A;&ED7V1O;6%I;G,])7-<;EQN(BP*
M*R`)("`@("A,64-O;VMI95%U97)Y0VAE8VM$;VUA:6YS(#T]($Y53$PI(#\@
M(B(@"BL@"0D@("address@hidden,64-O;VMI95%U97)Y0VAE8VM$;VUA:6YS*3L**R`*
M*R`*("`C:address@hidden)4U1%3E1?0T]/2TE%4PH@("`@("address@hidden@
M("`@("address@hidden@0V]O:VEE(&9I;&4N"address@hidden@.3<Y
M+#DX-"`J*BHJ"BTM+2`Q,#,Q+#$P,S@@+2TM+0H@("`@("!F<')I;G1F*&9P
M+"`B8V]O:VEE7V9I;&4])7-<;EQN(BP*("`)"2A,64-O;VMI949I;&4@/3T@
M3E5,3"`_(")^+RYL>6YX7V-O;VMI97,B(address@hidden;V]K:65&:6QE*2D["B`@
M(V5N9&EF("\J($584%]015)325-414Y47T-/3TM)15,@*B\**R`**R`*("`*
M("`C:address@hidden&5F:6YE9"A%6$5#7TQ)3DM3*2!\?"!D969I;F5D*$5814-?4T-2
/25!44RD*("`@("address@hidden
`
end
--
How many seconds are there in a year? If I tell you there are
3.155 x 10^7, you won't even try to remember it. On the other hand, who
could forget that, to within half a percent, pi seconds is a nanocentury.
-- Tom Duff, Bell Labs