Mercurial > emacs
changeset 90609:bb0e318b7c53
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 447-459)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 141-144)
- Merge from emacs--devo--0
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-115
line wrap: on
line diff
--- a/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,3 +1,12 @@ +2006-09-30 Eli Zaretskii <eliz@gnu.org> + + * configure: Regenerated. + +2006-09-28 Kenichi Handa <handa@m17n.org> + + * configure.in (locallisppath): Don't include leim dir. + (lisppath): Include leim dir. + 2006-09-15 Jay Belanger <belanger@truman.edu> * COPYING: Replace "Library Public License" by "Lesser Public
--- a/admin/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/admin/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,3 +1,7 @@ +2006-10-03 Kenichi Handa <handa@m17n.org> + + * FOR-RELEASE (BUGS): "An iso-8859-6 cannot be saved" fixed. + 2006-08-13 Chong Yidong <cyd@stupidchicken.com> * FOR-RELEASE: Elisp manual checking completed.
--- a/admin/FOR-RELEASE Mon Oct 02 08:05:25 2006 +0000 +++ b/admin/FOR-RELEASE Tue Oct 03 05:04:21 2006 +0000 @@ -39,29 +39,26 @@ ** henman@it.to-be.co.jp 09 Aug 2006: ispell.el problem on Cygwin. (Did we decide that is unreproducible?) +** kitty@dre.vanderbilt.edu Sep 20 says make-frame ignores left and top. + * BUGS -** C-g fails to interrupt accept-process-output in Gnus. - (Is that fixed?) +** Enrico Schwass, Sep 13 help-gnu-emacs: display japanese outputdoesnt work quite right -** david.hansen@physik.fu-berlin.de: WoMan Bug, Sep 13. +** XIM hotkey doesn't work in Emacs with gnome-settings-demon. -** Michael Cadilhac's line-move-partial is slow. - -** run-with-idle-timer change causes problem for Semantic. +** jpff@codemist.co.uk, Sep 29: rmail g gets Wrong type argument error. -** iampure@gmail.com's Sep 15 bug report about View Changes In File. - -** Peter_Dyballa@Web.DE's Sep 17 bug report about i-search and non-ASCII chars +** M.P.Hodges@rl.ac.uk Sep 30: list-processes and process sentinels not run. * DOCUMENTATION ** Check the Emacs Tutorial. -The first line of every tutorial must begin with text ending in a period -(".", ASCII 0x2E) saying "Emacs Tutorial" in the respective language. -This should be followed by "See end for copying conditions", likewise -in the respective language. +The first line of every tutorial must begin with text ending in a +period (".", ASCII 0x2E) saying "Emacs Tutorial" in the respective +language. This should be followed by "See end for copying +conditions", likewise in the respective language. After each file name, on the same line or the following line, come the names of the people who have checked it.
--- a/configure Mon Oct 02 08:05:25 2006 +0000 +++ b/configure Tue Oct 03 05:04:21 2006 +0000 @@ -1357,8 +1357,8 @@ lispdir='${datadir}/emacs/${version}/lisp' locallisppath='${datadir}/emacs/${version}/site-lisp:'\ -'${datadir}/emacs/site-lisp:${datadir}/emacs/${version}/leim' -lisppath='${locallisppath}:${lispdir}' +'${datadir}/emacs/site-lisp' +lisppath='${locallisppath}:${lispdir}:${datadir}/emacs/${version}/leim' etcdir='${datadir}/emacs/${version}/etc' archlibdir='${libexecdir}/emacs/${version}/${configuration}' docdir='${datadir}/emacs/${version}/etc'
--- a/configure.in Mon Oct 02 08:05:25 2006 +0000 +++ b/configure.in Tue Oct 03 05:04:21 2006 +0000 @@ -33,8 +33,8 @@ lispdir='${datadir}/emacs/${version}/lisp' locallisppath='${datadir}/emacs/${version}/site-lisp:'\ -'${datadir}/emacs/site-lisp:${datadir}/emacs/${version}/leim' -lisppath='${locallisppath}:${lispdir}' +'${datadir}/emacs/site-lisp' +lisppath='${locallisppath}:${lispdir}:${datadir}/emacs/${version}/leim' etcdir='${datadir}/emacs/${version}/etc' archlibdir='${libexecdir}/emacs/${version}/${configuration}' docdir='${datadir}/emacs/${version}/etc'
--- a/etc/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/etc/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,3 +1,15 @@ +2006-09-30 Chong Yidong <cyd@stupidchicken.com> + + * PROBLEMS: Document Emacs/XIM/gnome-settings-terminal clash. + +2006-09-26 Vinicius Jose Latorre <viniciusjl@ig.com.br> + + * NEWS: ebnf2ps changes. + +2006-09-26 Reiner Steib <Reiner.Steib@gmx.de> + + * refcard.ps: Regenerate. + 2006-09-18 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> * NEWS: Rename x-use-old-gtk-file-dialog to x-gtk-use-old-file-dialog.
--- a/etc/NEWS Mon Oct 02 08:05:25 2006 +0000 +++ b/etc/NEWS Tue Oct 03 05:04:21 2006 +0000 @@ -1032,6 +1032,19 @@ +++ *** `vertical-border' face is used for the vertical divider between windows. +** ebnf2ps changes: + ++++ +*** New option `ebnf-arrow-extra-width' which specify extra width for arrow +shape drawing. +The extra width is used to avoid that the arrowhead and the terminal border +overlap. It depens on `ebnf-arrow-shape' and `ebnf-line-width'. + ++++ +*** New option `ebnf-arrow-scale' which specify the arrow scale. +Values lower than 1.0, shrink the arrow. +Values greater than 1.0, expand the arrow. + ** Font-Lock changes: +++ @@ -2129,7 +2142,7 @@ allout-encryption customization group. *** Navigation within an item is easier. Repeated beginning-of-line and -end-of-line key commands (usually, ^A and ^E) cycle through the +end-of-line key commands (usually, ^A and ^E) cycle through the beginning/end-of-line and then beginning/end of topic, etc. See new customization vars `allout-beginning-of-line-cycles' and `allout-end-of-line-cycles'. @@ -3861,6 +3874,10 @@ *** The function `eql' is now available without requiring the CL package. +++ +*** The new function `memql' is like `memq', but uses `eql' for comparison, +that is, floats are compared by value and other elements with `eq'. + ++++ *** `makehash' is now obsolete. Use `make-hash-table' instead. +++ @@ -4187,6 +4204,11 @@ arg is non-nil. +++ +*** New function `window-line-height' is an efficient way to get +information about a specific text line in a window provided that the +window's display is up-to-date. + ++++ *** New functions `posn-at-point' and `posn-at-x-y' return click-event-style position information for a given visible buffer position or for a given window pixel coordinate.
--- a/etc/PROBLEMS Mon Oct 02 08:05:25 2006 +0000 +++ b/etc/PROBLEMS Tue Oct 03 05:04:21 2006 +0000 @@ -837,6 +837,11 @@ * Internationalization problems +** M-{ does not work on a Spanish PC keyboard. + +Many Spanish keyboards seem to ignore that combination. Emacs can't +do anything about it. + ** Characters from the mule-unicode charsets aren't displayed under X. XFree86 4 contains many fonts in iso10646-1 encoding which have @@ -1090,6 +1095,15 @@ ** Window-manager and toolkit-related problems +*** Gnome: Emacs receives input directly from the keyboard, bypassing XIM. + +This seems to happen when gnome-settings-daemon version 2.12 or later +is running. If gnome-settings-daemon is not running, Emacs receives +input through XIM without any problem. Furthermore, this seems only +to happen in *.UTF-8 locales; zh_CN.GB2312 and zh_CN.GBK locales, for +example, work fine. A bug report has been filed in the Gnome +bugzilla: http://bugzilla.gnome.org/show_bug.cgi?id=357032 + *** Gnome: Emacs' xterm-mouse-mode doesn't work on the Gnome terminal. A symptom of this bug is that double-clicks insert a control sequence
--- a/etc/refcard.ps Mon Oct 02 08:05:25 2006 +0000 +++ b/etc/refcard.ps Tue Oct 03 05:04:21 2006 +0000 @@ -1,15 +1,18 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.86d Copyright 1999 Radical Eye Software +%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software %%Title: refcard.dvi -%%Pages: 6 +%%Pages: 2 %%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 +%%Orientation: Landscape +%%BoundingBox: 0 0 595 842 +%%DocumentFonts: CMBX10 CMR8 CMTT8 CMBX8 CMR6 CMSY6 CMTI8 CMMI8 +%%DocumentPaperSizes: a4 %%EndComments %DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips -o refcard.ps refcard.dvi -%DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2002.02.12:1312 -%%BeginProcSet: texc.pro +%DVIPSCommandLine: dvips -t landscape refcard.dvi +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2006.09.26:2327 +%%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 @@ -28,22 +31,10 @@ definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr -1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 -1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx -0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx -sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A @@ -67,1199 +58,2449 @@ rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet -TeXDict begin 39158280 55380996 1000 600 600 (refcard.dvi) -@start -%DVIPSBitmapFont: Fa cmmi10 10 1 -/Fa 1 59 df<121C127FEAFF80A5EA7F00121C0909798817>58 D -E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fb cmti10 10 19 -/Fb 19 122 df<387FFFF8A2B5FCA214F0150579941E>45 D<14F8EB07FE90381F871C90 -383E03FE137CEBF801120148486C5A485A120FEBC001001F5CA2EA3F801403007F5C1300 -A21407485C5AA2140F5D48ECC1C0A2141F15831680143F1587007C017F1300ECFF076C48 -5B9038038F8E391F0F079E3907FE03FC3901F000F0222677A42A>97 -D<133FEA1FFFA3C67E137EA313FE5BA312015BA312035BA31207EBE0F8EBE7FE9038EF0F -80390FFC07C013F89038F003E013E0D81FC013F0A21380A2123F1300A214075A127EA214 -0F12FE4814E0A2141F15C05AEC3F80A215005C147E5C387801F8007C5B383C03E0383E07 -C0381E1F80D80FFEC7FCEA01F01C3B77B926>I<147F903803FFC090380FC1E090381F00 -70017E13784913383901F801F83803F003120713E0120FD81FC013F091C7FC485AA2127F -90C8FCA35A5AA45AA3153015381578007C14F0007EEB01E0003EEB03C0EC0F806CEB3E00 -380F81F83803FFE0C690C7FC1D2677A426>I<ED01F815FFA3150316F0A21507A216E0A2 -150FA216C0A2151FA21680A2153FA202F81300EB07FE90381F877F90383E03FF017C5BEB -F80112013803F00048485B120FEBC001121F5DEA3F801403127F01005BA214075A485CA2 -140FA248ECC1C0A2141F15C3ED8380143F1587007C017F1300ECFF076C485B9038038F8E -391F0F079E3907FE03FC3901F000F0253B77B92A>I<147F903803FFC090380FC1E09038 -3F00F0017E13785B485A485A485A120F4913F8001F14F0383F8001EC07E0EC1F80397F81 -FF00EBFFF891C7FC90C8FC5A5AA55AA21530007C14381578007E14F0003EEB01E0EC03C0 -6CEB0F806CEB3E00380781F83803FFE0C690C7FC1D2677A426>I<EC07C0EC3FF09138FC -38E0903901F01FF0EB03E0903807C00FEB0F80011F1307D93F0013E05B017E130F13FE49 -14C01201151F1203491480A2153F1207491400A25DA249137EA215FEA25D000313011403 -14076C6C485A0000131FEB787BEB3FF390380FC3F0EB00031407A25DA2140F5D121C007E -131F5D00FE49C7FC147E5C387801F8387C07E0381FFF80D803FEC8FC24367CA426>103 -D<EB03F0EA01FFA3EA00075CA3130F5CA3131F5CA3133F91C8FCA35B90387E07F0EC1FFC -EC783E9038FFE01F02C01380EC800F1400485A16C05B49EB1F8012035BA2153F00071500 -5BA25D000F147E5B15FE5D121FD98001131C15F8163C003F01031338010013F0A2167048 -14E0007E15F016E0EDE1C000FE903801E38048903800FF000038143C263B7BB92A>I<EB -01C0EB07E014F0130F14E01307EB038090C7FCAB13F0EA03FCEA071EEA0E1F121CA21238 -5B1270A25BEAF07E12E013FEC65AA212015B1203A25B12075BA2000F13E013C013C1001F -13C01381A2EB83801303EB0700A2130E6C5AEA07F8EA01E0143879B619>I<EB0FC0EA07 -FFA3EA001F1480A2133FA21400A25BA2137EA213FEA25BA21201A25BA21203A25BA21207 -A25BA2120FA25BA2121FA25BA2123FA290C7FCA25AA2EA7E0EA212FE131EEAFC1CA2133C -133812F81378EA7870EA7CE0121FEA0F80123B79B915>108 D<D801E001FEEB07F03C07 -F803FF801FFC3C0E3C0F07C0783E3C1E3E3C03E1E01F261C1F78D9F3C013803C383FF001 -F7800F02E01400007801C013FE007018C002805B4A4848EB1F80EAF07FD8E07E5CA20000 -0207143F01FE1700495CA2030F5C0001177E495C18FE031F5C120349DA8001131C18F803 -3F153C00070403133849020013F0A24B1570000F17E049017E15F019E003FEECE1C0001F -EE01E34949903800FF000007C70038143C3E2679A444>I<D801E013FE3A07F803FF803A -0E3C0F07C03A1E3E3C03E0261C1F787F39383FF00114E0007813C000708114804A485AEA -F07FEAE07EA20000140701FE5C5BA2150F00015D5B151F5E12034990383F838016031607 -0007027F130049137EA2160E000F147C49141E161C5E001FEC3C7849EB1FE00007C7EA07 -80292679A42F>I<147F903803FFC090380FC1F090381F00F8017E137C5B4848137E4848 -133E0007143F5B120F485AA2485A157F127F90C7FCA215FF5A4814FEA2140115FC5AEC03 -F8A2EC07F015E0140F007C14C0007EEB1F80003EEB3F00147E6C13F8380F83F03803FFC0 -C648C7FC202677A42A>I<9039078007C090391FE03FF090393CF0787C903938F8E03E90 -38787FC00170497EECFF00D9F0FE148013E05CEA01E113C15CA2D80003143FA25CA20107 -147FA24A1400A2010F5C5E5C4B5A131F5EEC80035E013F495A6E485A5E6E48C7FC017F13 -3EEC70FC90387E3FF0EC0F8001FEC9FCA25BA21201A25BA21203A25B1207B512C0A32935 -80A42A>I<3903C003F0390FF01FFC391E783C0F381C7C703A3C3EE03F8038383FC0EB7F -800078150000701300151CD8F07E90C7FCEAE0FE5BA2120012015BA312035BA312075BA3 -120F5BA3121F5BA3123F90C9FC120E212679A423>114 D<14FE903807FF8090380F83C0 -90383E00E04913F00178137001F813F00001130313F0A215E00003EB01C06DC7FC7FEBFF -C06C13F814FE6C7F6D13807F010F13C01300143F141F140F123E127E00FE1480A348EB1F -0012E06C133E00705B6C5B381E03E06CB45AD801FEC7FC1C267AA422>I<EB0380EB07C0 -130FA4131F1480A3133F1400A35B137E007FB5FCA2B6FC3800FC00A312015BA312035BA3 -12075BA3120F5BA3121FEB801CA2143C003F1338EB0078147014F014E0EB01C0EA3E0338 -1F0780380F0F00EA07FCEA01F0183579B31C>I<13F8D803FEEB01C0D8078FEB03E0390E -0F8007121E121C0038140F131F007815C01270013F131F00F0130000E015805BD8007E13 -3FA201FE14005B5D120149137EA215FE120349EBFC0EA20201131E161C15F813E0163CD9 -F003133814070001ECF07091381EF8F03A00F83C78E090393FF03FC090390FC00F002726 -79A42D>I<13F0D803FCEB01C0D8071EEB03E0D80E1F1307121C123C0038140F4914C012 -70A249131FD8F07E148012E013FEC648133F160012015B5D0003147E5BA215FE00075C5B -A214015DA314035D14070003130FEBF01F3901F87FE038007FF7EB1FC7EB000F5DA2141F -003F5C48133F92C7FC147E147C007E13FC387001F8EB03E06C485A383C1F80D80FFEC8FC -EA03F0233679A428>121 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fc cmsy7 7 1 -/Fc 1 14 df<913801FFC0021F13FC91B67E499038007FC0D907F0EB07F0D91F80EB00FC -49C8127E017C151F01F0ED078048486F7E48486F7E48486F7E90CA1270481778001E8300 -1C171C003C171E0038170E0078170F007083A200F01880481703A96C170700701800A200 -785F0038170E003C171E001C171C001E173C6C5F6C17706D16F06C6C4B5A6C6C4B5A6C6C -4B5A017C031FC7FC013F157E6D6C5CD907F0EB07F0D901FFEB7FC06D90B55A021F01FCC8 -FC020113C039357CA842>13 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fd cmr7 7 45 -/Fd 45 122 df<1238127C12FE12FFA2127F123B1203A31206A3120C1218123812701220 -08127B8613>44 D<B5FCA410047F8E16>I<1238127C12FEA3127C123807077B8613>I<EB -3F803801FFF03803E0F83807803C48487E001E7F003E1480A2003C1307007C14C0A400FC -14E0AE007C14C0A36CEB0F80A36CEB1F006C131E6C6C5A3803E0F86CB45A38003F801B27 -7EA521>48 D<13381378EA01F8121F12FE12E01200B3AB487EB512F8A215267BA521>I< -13FF000313E0380E03F0381800F848137C48137E00787F12FC6CEB1F80A4127CC7FC1500 -5C143E147E147C5C495A495A5C495A010EC7FC5B5B903870018013E0EA01803903000300 -12065A001FB5FC5A485BB5FCA219267DA521>I<13FF000313E0380F01F8381C007C0030 -137E003C133E007E133FA4123CC7123E147E147C5C495AEB07E03801FF8091C7FC380001 -E06D7E147C80143F801580A21238127C12FEA21500485B0078133E00705B6C5B381F01F0 -3807FFC0C690C7FC19277DA521>I<0018130C001F137CEBFFF85C5C1480D819FCC7FC00 -18C8FCA7137F3819FFE0381F81F0381E0078001C7F0018133EC7FC80A21580A21230127C -12FCA3150012F00060133E127000305B001C5B380F03E03803FFC0C648C7FC19277DA521 ->53 D<1230123C003FB512E0A215C0481480A239700007000060130E140C48131C5C5CC7 -5A5C1301495AA249C7FC5B130E131EA3133E133CA2137CA413FCA813781B287DA621>55 -D<137F3801FFC03807C1E0380F0070001E1378003E7F003C133E007C131EA200FC131FA4 -1580A4007C133FA2123C003E137F001E135F380F01DF3807FF9F3801FE1FD80010130013 -00A2143E123C007E133CA25C5C007C5B383003C0381C0780D80FFFC7FCEA03F819277DA5 -21>57 D<140EA2141FA34A7EA3EC6FC0A2ECEFE014C7A290380183F0A390380301F8A201 -067F1400A249137EA2011C137F01187FA24980013FB5FCA2903960000FC0A201E0804913 -07A248486D7EA200038115011207D81FC0497ED8FFF890383FFFE0A22B2A7EA931>65 -D<B612E015FC3907F0003F0003EC0FC0ED07E01503ED01F016F8A6ED03F016E01507ED1F -C0ED7F0090B512FC819039F0003F80ED07E0ED03F0ED01F8ED00FCA2167EA616FCA2ED01 -F8ED03F0ED07E00007EC3FC0B7120015F827287EA72E>I<91387FC002903903FFF80690 -390FE01E0E90383F0007017CEB019ED801F0EB00FE4848147E4848143E5B000F151E48C8 -FC48150E123EA2007E1506A2127C00FC1500A8127C007E1506A2123EA2003F150C7E6C7E -000715186D14386C6C14306C6C1460D8007CEB01C0013FEB038090390FE01E00903803FF -F89038007FC0272A7DA82F>I<B712F0A23907F000070003EC00F816781638A21618A316 -0C1560A21600A215E0A2140390B5FCA2EBF0031400A21560A21606A2ED000CA4161C1618 -1638A21678ED01F80007EC07F0B7FCA227287EA72D>69 D<B712C0A23907F0001F0003EC -03E015011500A21660A31630A215C01600A31401A2140790B5FCA2EBF0071401A21400A4 -92C7FCA9487EB512E0A224287EA72B>I<91387FC002903903FFF80690390FE01E0E9038 -3F0007017CEB019ED801F0EB00FE4848147E4848143E5B000F151E48C8FC48150E123EA2 -007E1506A2127C00FC92C7FCA792387FFFE0127C007E02001300167E123EA2123F7E6C7E -6C7EA26C7ED801F814FEEA007C013FEB039E90390FE00F0E903903FFFC029026007FE0C7 -FC2B2A7DA833>I<B512C0A23807F8006C5AB3B0487EB512C0A212287EA718>73 -D<D8FFF0EDFFF06D5C0007EEFE0000035E017CEC037CA26D1406A26D140CA36D6C1318A2 -6D6C1330A36D6C1360A26D6C13C0A3903900F80180A291387C0300A2EC3E06A36E5AA2EC -0F98A3EC07F0A26E5AEA0780D80FC015FE3CFFFC01C01FFFF0A234287DA73C>77 -D<D8FFF0903807FFE07FD803FC9038007E006D143C1618137F6D7E6D7EA26D7E6D7E6D7E -A26D7E6D7E147FA2EC3F80EC1FC0EC0FE015F01407EC03F8EC01FCEC00FEA2157FED3F98 -ED1FD8A2ED0FF815071503A215011500486C1478487ED8FFFC143816182B287EA731>I< -B612E015FC3907F0003F0003EC0FC0ED03E0ED01F016F8150016FCA616F8150116F0ED03 -E0ED0FC0ED3F0090B512FC15E001F0C8FCAF487EB512C0A226287EA72D>80 -D<90387F80203903FFF06039078078E0380E000E481307481303007813010070130012F0 -A21560A27E1500127C127FEA3FE013FF6C13F06C13FC000313FFC61480010F13C0010013 -E0EC0FF014031401EC00F8A200C01478A46C1470A26C14F06C14E06CEB01C000EFEB0780 -39E3E01F0038C0FFFC38801FF01D2A7DA825>83 D<007FB7FCA23A7E003F003F0078150F -007081006081A200E01680481501A5C791C7FCB3A64A7E013FB5FCA229287EA72F>I<B5 -39C007FFE0A2D807F8C7EA7E006C48143C1618B3A816386C6C143016706C6C1460017C14 -E0017E495A6D495A90260F8007C7FC903807E03E903801FFF89038003FC02B297EA731> -I<13FE3807FFC0380F03E0381C00F0003E1378003F137C143C143E121EC7FCA3EB3FFEEA -01FF3807F03EEA1FC0EA3F00127EA2481418A3147E127EECDF38393F838FF0390FFE0FE0 -3903F807C01D1C7E9A21>97 D<EA0F8012FFA2121F120FAAEB81FCEB8FFF9038BC0FC090 -38F003E09038C001F0EB800015F815FC157CA2157EA7157CA215FC15F89038C001F015E0 -90387003C0390E3C0F80390C0FFF00380003F81F297EA725>I<EB3FC0EBFFF83803E03C -3807C00E380F801F381F003F123EA2007E131E007C1300A212FCA7127C127E1403123E6C -1306EA0F803807C00C3803F0383800FFE0EB3F80181C7E9A1E>I<EC03E0143FA2140714 -03AAEB3F833801FFE33803E03B3807800F380F0007481303123E127E127CA212FCA7127C -A2127E123E001E1307001F130F390F801FF03903E073FE3801FFE339007F03E01F297EA7 -25>I<133F3801FFE03803E1F0380F80F8381F007C143E123E007E131E141F127C12FCA2 -B6FCA200FCC7FCA4127C127E1403123E6C1307380F800E3807C01C3803E0783800FFE0EB -3F80181C7E9A1E>I<EB07E0EB3FF0EB7C78EBF0FCEA01E01203EBC078000713301400A8 -B51280A23807C000B3A2487EEA7FFEA216297FA815>I<90387E03E03901FF9FF03807C3 -FC380F00F048EBF800001E1378003E137CA6001E1378001F13F86C5BEBC3E0380DFF80D8 -1C7EC7FC90C8FCA3121E380FFFF014FC6C13FF001F1480393E001FC000781307EC03E048 -1301A40078EB03C0007C13076CEB0F80390FC07E003803FFF838007FC01C277E9921>I< -EA0F8012FFA2121F120FAAEB81FCEB8FFF90389C0F809038B007C013E09038C003E0A313 -80AF391FC007F039FFF83FFEA21F287EA725>I<120EEA3F80A5EA0E00C7FCA7EA078012 -FFA2121F120FB3121FEAFFF8A20D287EA713>I<EA0F8012FFA2121F120FABEC3FF8A2EC -1FC01500143C5C14E0EB81C0EB8380018FC7FCEB9F8013BFEBF7C0EBC3E0EB81F0801380 -147C80143FEC1F80EC0FC0D81FC013E039FFF83FFCA21E287EA723>107 -D<EA0F8012FFA2121F120FB3AFEA1FC0EAFFF8A20D287EA713>I<260F81FC137F3BFF8F -FF03FFC0903A9C0F8703E03B1FB007CC01F0D80FE013D8903AC003F000F8A301805BAF48 -6C486C487E3CFFF83FFE0FFF80A2311A7E9937>I<380F81FC38FF8FFF90389C0F80391F -B007C0EA0FE09038C003E0A31380AF391FC007F039FFF83FFEA21F1A7E9925>I<EB3F80 -EBFFE03803E0F83807803C48487E001E7F003E1480A248EB07C0A300FC14E0A7007C14C0 -A2007E130F003E1480001E1400001F5B380F803E3803E0F86CB45A38003F801B1C7E9A21 ->I<380F81FC38FF8FFF9038BC0FC0391FF007E0390FC003F0EB800115F8EC00FCA2157C -157EA7157C15FCA2EC01F801C013F0EC03E09038F007C09038BC1F8090388FFF00EB83F8 -0180C7FCA7487EEAFFF8A21F257E9925>I<380F07C038FF1FF0EB38F8EA1F71EA0F6113 -C1EBC0F014005BAF487EEAFFFCA2151A7E991A>114 D<3803F840380FFEC0EA3C07EA78 -03EA7001EAF000A37E6C1300EA7FC013FC6CB4FC6C1380000713C0C613E0130738C003F0 -130113007EA26C13E0130100F813C038EE078038C7FF00EA81FC141C7E9A1A>I<13C0A4 -1201A312031207120F121FB512E0A23807C000AC1430A73803E060A23801F0C03800FF80 -EB3F0014257FA31A>I<390F8003E000FF133FA2001F1307000F1303B01407A20007130F -9038C01BF03903E073FE3801FFE339007F83E01F1B7E9925>I<39FFF807FEA2390FE001 -F001C013E0000714C013E000031480EBF00300011400A23800F806A2EB7C0CA2EB7E1CEB -3E18A26D5AA2EB0FE0A36D5AA26D5AA21F1A7F9823>I<3BFFF8FFF07FE0A23B1FC01FC0 -1F80000F90390F800E00A20007150CEC1FC02603E01B5B15E0143B2601F0315B15F0D9F8 -6013700000156015F89039FCC078E0017CEB7CC0137D90393F803D80153FEC001F6D91C7 -FCA2011E7F010E130EA22B1A7F982F>I<39FFF807FEA2390FE001F001C013E0000714C0 -EA03E01580EBF003000114006D5A0000130613FCEB7C0CA26D5AA26D5AA214F06D5AA26D -5AA26D5AA291C7FCA213061230EA780EEAFC0C131C1318485AEA70E0EA3FC06CC8FC1F25 -7F9823>121 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fe cmbx10 10 25 -/Fe 25 122 df<913A03FF8007FE027F9039F07FFF800103B500FDB512E0010F903A00FF -FE0FF0D93FF8ECF81F90267FE0019038F03FF849485A4816E014804816C00200ED1FF081 -F007C06F91C7FCA8B912E0A4000390C701C0C7FCB3ABB5D8FC3FEBFF80A43D3A7EB938> -11 D<EB3FFE0003B512E0000F14F8391FF00FFE003FEB03FF6D6C7F6E7FA26F7EA26C5A -6C5AEA0380C8FCA2EC3FFF010FB5FC137F3901FFF87F00071380380FFE00EA3FF85B485A -12FF5BA415FF6D5A127F263FF00713F83B1FFC1FBFFFC0390FFFFE1F0003EBF80F39003F -E0032A257DA42E>97 D<13FFB5FCA412077EAF4AB47E020F13F0023F13FC9138FE03FFDA -F00013804AEB7FC00280EB3FE091C713F0EE1FF8A217FC160FA217FEAA17FCA3EE1FF8A2 -17F06E133F6EEB7FE06E14C0903AFDF001FF80903AF8FC07FE009039F03FFFF8D9E00F13 -E0D9C00390C7FC2F3A7EB935>I<903801FFC0010F13FC017F13FFD9FF8013802603FE00 -13C048485AEA0FF8121F13F0123F6E13804848EB7F00151C92C7FC12FFA9127FA27F123F -ED01E06C7E15036C6CEB07C06C6C14806C6C131FC69038C07E006DB45A010F13F0010113 -8023257DA42A>I<EE7F80ED7FFFA4150381AF903801FF81010F13F1013F13FD9038FFC0 -7F0003EB001FD807FC1307000F8048487F5B123FA2485AA312FFAA127FA27F123FA26C6C -5B000F5C6C6C5B6C6C4913C02701FF80FD13FE39007FFFF9011F13E1010313012F3A7DB9 -35>I<903803FF80011F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C000 -1FEC1FE05B003FEC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678 -121F6C6C14F86D14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113 -E025257DA42C>I<EC1FF0903801FFFC010713FF90391FF87F8090383FE0FFD9FFC113C0 -A2481381A24813016E1380A2ED3E0092C7FCA8B6FCA4000390C8FCB3ABB512FEA4223A7D -B91D>I<161FD907FEEBFFC090387FFFE348B6EAEFE02607FE07138F260FF801131F4848 -6C138F003F15CF4990387FC7C0EEC000007F81A6003F5DA26D13FF001F5D6C6C4890C7FC -3907FE07FE48B512F86D13E0261E07FEC8FC90CAFCA2123E123F7F6C7E90B512F8EDFF80 -16E06C15F86C816C815A001F81393FC0000F48C8138048157F5A163FA36C157F6C16006D -5C6C6C495AD81FF0EB07FCD807FEEB3FF00001B612C06C6C91C7FC010713F02B377DA530 ->I<13FFB5FCA412077EAFED7FC0913803FFF8020F13FE91381F03FFDA3C01138014784A -7E4A14C05CA25CA291C7FCB3A3B5D8FC3F13FFA4303A7DB935>I<EA01F0EA07FC487EA2 -487EA56C5AA26C5AEA01F0C8FCA913FF127FA412077EB3A9B512F8A4153B7DBA1B>I<13 -FFB5FCA412077EAF92380FFFE0A4923803FC0016F0ED0FE0ED1F804BC7FC157E5DEC03F8 -EC07E04A5A141FEC7FE04A7E8181A2ECCFFEEC0FFF496C7F806E7F6E7F82157F6F7E6F7E -82150F82B5D8F83F13F8A42D3A7EB932>107 D<13FFB5FCA412077EB3B3ACB512FCA416 -3A7DB91B>I<01FED97FE0EB0FFC00FF902601FFFC90383FFF80020701FF90B512E0DA1F -81903983F03FF0DA3C00903887801F000749DACF007F00034914DE6D48D97FFC6D7E4A5C -A24A5CA291C75BB3A3B5D8FC1FB50083B512F0A44C257DA451>I<01FEEB7FC000FF9038 -03FFF8020F13FE91381F03FFDA3C011380000713780003497E6D4814C05CA25CA291C7FC -B3A3B5D8FC3F13FFA430257DA435>I<903801FFC0010F13F8017F13FFD9FF807F3A03FE -003FE048486D7E48486D7E48486D7EA2003F81491303007F81A300FF1680A9007F1600A3 -003F5D6D1307001F5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A6C6CB5C7FC011F13FC -010113C029257DA430>I<9039FF01FF80B5000F13F0023F13FC9138FE07FFDAF0011380 -0007496C13C06C0180EB7FE091C713F0EE3FF8A2EE1FFCA3EE0FFEAA17FC161FA217F816 -3F17F06E137F6E14E06EEBFFC0DAF00313809139FC07FE0091383FFFF8020F13E0020390 -C7FC91C9FCACB512FCA42F357EA435>I<49B4EB0780010FEBE00F013FEBF81F9039FFC0 -7C3F0003EB803E3A07FE000F7F4848EB07FF121F497F123F497F127FA25B12FFAA6C7EA3 -6C7E5D6C7E000F5C6C6C5B6C6C133F6CEBC0FD39007FFFF1011F13C10101130190C7FCAC -037F13FEA42F357DA432>I<9038FE03F000FFEB0FFEEC3FFF91387C7F809138F8FFC000 -075B6C6C5A5CA29138807F80ED3F00150C92C7FC91C8FCB3A2B512FEA422257EA427>I< -90383FF0383903FFFEF8000F13FF381FC00F383F0003007E1301007C130012FC15787E7E -6D130013FCEBFFE06C13FCECFF806C14C06C14F06C14F81203C614FC131F9038007FFE14 -0700F0130114007E157E7E157C6C14FC6C14F8EB80019038F007F090B512C000F8140038 -E01FF81F257DA426>I<130FA55BA45BA25B5BA25A1207001FEBFFE0B6FCA3000390C7FC -B21578A815F86CEB80F014816CEBC3E090383FFFC06D1380903803FE001D357EB425>I< -01FFEC3FC0B5EB3FFFA4000714016C80B3A35DA25DA26C5C6E4813E06CD9C03E13FF9038 -7FFFFC011F13F00103138030257DA435>I<B539F001FFF8A4000390C7EA3F00161E6E13 -3E6C153C6E137C6C15786E13F8017F5CECF001013F5C14F8011F495AA2ECFC07010F5CEC -FE0F010791C7FC6E5A6D131E15BE6D13BC15FC6D5BA36E5AA26E5AA26E5AA26E5AA22D25 -7EA432>I<B500F1B538803FFFA43D07FE000FF80003E06C6C010715C082028015076C6E -6C148015076C01C0ED0F00826E485C017FED801E5D90273FF01E7F5B17C0DAF83E147C01 -1F90393C3FE078037C14F8903B0FFC781FF0F0A29139FEF00FF10107EDF9E002FF14FB6D -496CB45AA24B7E6D5EA26D496C90C7FCA292C7FC6E5CA2023E147C023C143C40257EA445 ->I<B539F01FFFF0A4000390398003F8006C01C013E06C1407D97FE05B6D6C485A6E48C7 -FC90381FFC3E010F5B903807FEFC6D6C5A5D6D5B6D5B6E7E6E7E814A7EA24A7E903801F3 -FFD903E37FD907C17FEB0FC049486C7E4A6C7E013E80496D7E49130F00016E7EB590383F -FFF8A42D257EA432>I<B539F001FFF8A4000390C7EA3F00161E6E133E6C153C6E137C6C -15786E13F8017F5CECF001013F5C14F8011F495AA2ECFC07010F5CECFE0F010791C7FC6E -5A6D131E15BE6D13BC15FC6D5BA36E5AA26E5AA26E5AA26E5AA292C8FCA25C141E003F13 -3E387F803C38FFC07C147814F8EBC1F0EBC3E06C485A387D1F80D83FFFC9FCEA1FFCEA07 -F02D357EA432>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Ff cmtt10 10 74 -/Ff 74 126 df<121C127FEAFF80B1EA7F00AF123EC7FCA8121C127FA2EAFF80A3EA7F00 -A2121C09346FB32C>33 D<003C131E007F137F481480A66C1400A6007E7FA6003E133EA3 -003C131E001C131C191977B32C>I<010F133C90381F807EA8013F13FE4A5AA4007FB612 -F0B712F8A4003F15F03A007E01F800A5EBFE0301FC5BA6003FB612F0B712F8A46C15F03A -01F807E000A30003130F01F05BA86C486C5A25337DB22C>I<EB01C0497EA6EB0FFC9038 -7FFF8048B512E00007804880391FFBEFFC393FC3E1FE903803E07F007E80127C00FC1580 -12F8157FA300FCEC3F00A2007E91C7FC127FEA3FC313FBEA1FFF6C13FC6C13FF000114C0 -6C6C7F011F13F801037F14E7ECE1FEECE07F81001880007E1580150F12FFA312FE151F16 -00007E5C007F143ED83F8313FE9038C3E1FC391FFBEFF86CB55A6C5C6C5CC691C7FCEB1F -F8EB03E0A66D5A21417BB92C>I<D807801307D81FE0EB0F80151F487E486C133F160000 -7C5CD8FCFC137EEAF87C15FE5D14015DA21403D8FCFC5BEA7CF8007F13075D383FF00FD8 -1FE05BA23807801FC75B143F92C7FCA25C147E14FE5CA213015CA213035C13075CA2130F -5C131FEC800FED3FC0013FEB7FE0140049EBFFF0017E13F9A2D9FE0113F801FC13F0A212 -0113F8120313F015F90007010013F05B000F14FF49EB7FE0A20007EC3FC06C48EB0F0025 -417DB92C>I<EA0F80EA1FC0EA3FE013F0A213F8A2121F120F1200A4120113F0A2120313 -E01207EA0FC0121FEA3F80EA7F0012FE5A5A12700D1B71B22C>39 -D<143814FC13011303EB07F8EB0FF0EB1FC0EB3F80EB7F0013FE485A485A5B12075B120F -5B485AA2123F90C7FCA25A127EA312FE5AAC7E127EA3127F7EA27F121FA26C7E7F12077F -12037F6C7E6C7E137FEB3F80EB1FC0EB0FF0EB07F8EB03FC130113001438164272B92C> -I<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E6C7E6C7E137F7F1480131F14C0130FEB07E0 -A214F01303A214F81301A314FC1300AC130114F8A3130314F0A2130714E0A2EB0FC0131F -1480133F14005B13FE485A485A485A485AEA3FC0485A48C7FC5A5A1270164279B92C>I< -EB0380497EA60020140800F8143E00FE14FE00FF13C1EBC7C7EBE7CF003FB512F8000F14 -E0000314806C140038007FFCA248B5FC481480000F14E0003F14F839FFE7CFFEEBC7C7EB -07C100FE13C000F8143E0020140800001400A66D5A1F247AAA2C>I<147814FCAF007FB6 -12F0B712F8A46C15F0C700FCC7FCAF147825267DAB2C>I<EA0F80EA1FE0EA3FF0EA7FF8 -A213FCA3123F121F120F120013F8A21201EA03F01207EA1FE0EA7FC0EAFF80130012FC12 -700E17718A2C>I<007FB6FCB71280A46C150021067B9B2C>I<121FEA3F80EA7FC0EAFFE0 -A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED0F80151FA2153F16005D157E15FE5D14 -015D14035DA214075D140F5D141F5D143F92C7FC5C147E14FE5CA213015C13035C13075C -130F5C131F5CA2133F91C8FC5B137E13FE5B12015B12035B12075BA2120F5B121F5B123F -90C9FC5A127E12FE5AA25A127821417BB92C>I<EB03F8EB0FFE90383FFF80497F90B57E -3901FE0FF03903F803F848486C7EEBE0004848137EA248487FA248C7EA1F80A2003E140F -007E15C0A3007C140700FC15E0AC6C140F007E15C0A46CEC1F80A36C6CEB3F00A26C6C13 -7E6D13FE00075CEBF0016C6C485A3901FE0FF06CB55A6D5B6D5BD90FFEC7FCEB03F82335 -7CB32C>I<1307497EA2131FA2133F137F13FF5A1207127FB5FC13DF139FEA7C1F1200B3 -AE007FB512E0B612F0A36C14E01C3477B32C>I<EB0FF890387FFF8048B512E000078048 -14FC391FF80FFE393FE001FF903880007F48C7EA3F80007E141F00FE15C0150F6C15E015 -07A3127E123CC8FCA2150F16C0151F1680153F16005D15FE4A5A14034A5A4A5A4A5A4A5A -ECFF804948C7FC495A495A495AEB3FE0EB7F8049C8FC485A4848EB03C04848EB07E0EA1F -E0485A48B6FCB7FCA36C15C023347CB32C>I<EB0FFC90387FFF8048B512E0000714F848 -80391FF807FEEBC0004848137F6D7F1680151FA26C5A6CC7FCC8FC153F16005D15FE1401 -4A5AEC1FF890381FFFF0495BA215F86D7F90380007FEEC00FF81ED3F80ED1FC0150FA216 -E01507A2123C127EB4FC150F16C0A248141F007FEC3F806DEB7F006C6C5B391FF807FE6C -B55A6C5C6C14E0C66C1380D90FFCC7FC23357CB32C>I<EC07F04A7E141F143FA2147EA2 -14FCEB01F8A2EB03F0EB07E0A2EB0FC0EB1F80A2EB3F00137EA25B485AA2485A5B120748 -5AA2485A48C7FCA2127E5AB712FC16FEA36C15FCC8EAF800AA91387FFFF091B512F8A36E -13F027347EB32C>I<000FB512FE4880A35D0180C8FCADEB83FE90389FFF8090B512E015 -F8819038FE03FE9038F000FF01C07F49EB3F8090C7121F6C15C0C8120FA2ED07E0A4123C -127EB4FC150F16C0A248141F007EEC3F80007FEC7F006C6C5B6D485A391FF80FFC6CB55A -6C5C000114C06C6C90C7FCEB0FF823347CB22C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0 -EA3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2470A32C> -58 D<1507ED1F80153F15FF14034A1300EC1FFC4A5AECFFE0491380010790C7FCEB0FFC -EB3FF8EB7FE048485A4890C8FCEA0FFEEA1FF8EA7FF0EAFFC05BA27FEA7FF0EA1FF8EA0F -FEEA03FF6C13C06C6C7EEB3FF8EB0FFC6DB4FC01017F6D13E0EC3FF86E7EEC07FF6E1380 -1400153F151FED0700212A7BAD2C>60 D<127012FC7E6C7E13E06C7EEA1FFC6C7E3803FF -80C67FEB7FF0EB1FF8EB0FFEEB03FF6D13C06D6C7EEC3FF8EC0FFC6EB4FC0201138080A2 -5C02071300EC0FFCEC3FF8EC7FE049485A4990C7FCEB0FFEEB1FF8EB7FF0EBFFC000035B -D80FFEC8FC485AEA7FF0485A138048C9FC5A1270212A7BAD2C>62 -D<EB3FFE0003B512C0000F14F04814FC4880397FE007FF90C7FC00FEEC3F806C141FA315 -3F007EEC7F00003C5CC7EA03FEEC0FFC4A5AEC3FE04A5A4AC7FC495A495A5C13075C130F -5CA76D5A90C9FCA8EB0380EB0FE0A2497EA36D5AA2EB038021337BB22C>I<EC7F809038 -03FFE0010F7F013F7F497F9038FFC0FE3901FE007FD803F87F4848EB1F809038E00FCF39 -0FC03FFF48484813C091B5FCEA3F01393E03F87F903907F03FE0007EEBE01F397C0FC00F -EC8007A2EAFC1F00F8EB0003A900FCEB8007D87C0F14C0A2ECC00F3A7E07E01F80003EEB -F03F903903F87F00393F01FFFED81F805B6E5A6C6C6C5A3907E00FC09039F00007C06C6C -EB0FE0D801FE131F3900FFC0FF6DB512C06D1480010FEBFE00010313F89038007FC02333 -7CB22C>I<14FE497EA4497FA214EFA2130781A214C7A2010F7FA314C390381F83F0A590 -383F01F8A490387E00FCA549137E90B512FEA34880A29038F8003FA34848EB1F80A40007 -15C049130FD87FFEEBFFFC6D5AB514FE6C15FC497E27347EB32C>I<007FB512E015F8B6 -12FE6C8016C03903F0003FED0FE0ED07F01503A2ED01F8A6ED03F0A21507ED0FE0ED1FC0 -EDFF8090B612005D5D15FF16C09039F0001FE0ED07F0ED03F81501ED00FCA216FE167EA6 -16FE16FC1501ED03F8150FED3FF0007FB612E016C0B712806CECFE0015F027337FB22C> -I<02FF13700107EBE0F84913F9013F13FD4913FFEBFF813901FE007F4848131FD807F013 -0F1507485A491303485A150148C7FCA25A007EEC00F01600A212FE5AAB7E127EA3007F15 -F06CEC01F8A26C7EA26C6C13036D14F06C6C130716E0D803FC131F6C6CEB3FC03A00FF81 -FF806DB512006D5B010F5B6D13F00100138025357DB32C>I<007FB5FCB612C015F0816C -803907E003FEEC00FFED7F80153FED1FC0ED0FE0A2150716F0150316F81501A4ED00FCAC -ED01F8A3150316F0A2150716E0150FED1FC0153FED7F80EDFF00EC03FE007FB55AB65A5D -15C06C91C7FC26337EB22C>I<007FB612F0B712F8A37E3903F00001A7ED00F01600A4EC -01E04A7EA490B5FCA5EBF003A46E5A91C8FCA5163C167EA8007FB612FEB7FCA36C15FC27 -337EB22C>I<007FB612F8B712FCA37ED803F0C7FCA716781600A515F04A7EA490B5FCA5 -EBF001A46E5A92C7FCAD387FFFE0B5FC805C7E26337EB22C>I<903901FC038090390FFF -87C04913EF017F13FF90B6FC4813073803FC01497E4848137F4848133F49131F121F5B00 -3F140F90C7FCA2127EED078092C7FCA212FE5AA8913803FFF84A13FCA27E007E6D13F891 -38000FC0A36C141FA27F121F6D133F120F6D137F6C7E6C6C13FF6D5A3801FF076C90B5FC -6D13EF011F13CF6DEB0780D901FCC7FC26357DB32C>I<387FFFE0B57EA36C5BD803F0C8 -FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F025337DB22C>76 D<D87FE0EB0FFC486CEB -1FFEA26D133F007F15FC000F15E001BC137BA4019E13F3A3EB9F01A2018F13E3A21483A2 -018713C314C7A201831383A214EFA201811303A214FFEB80FEA3147C14381400ACD87FF0 -EB1FFC486CEB3FFEA36C48EB1FFC27337EB22C>I<007FB512C0B612F88115FF6C158026 -03F00013C0153FED0FE0ED07F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF -90B61280160015FC5D15C001F0C8FCB0387FFF80B57EA36C5B25337EB22C>80 -D<387FFFFCB67E15E015F86C803907E007FE1401EC007F6F7E151FA26F7EA64B5AA2153F -4BC7FCEC01FE140790B55A5D15E081819038E007FCEC01FE1400157F81A8160FEE1F80A5 -D87FFEEB1FBFB5ECFF00815E6C486D5AC8EA01F029347EB22C>82 -D<90381FF80790B5EA0F804814CF000714FF5A381FF01F383FC003497E48C7FC007E147F -00FE143F5A151FA46CEC0F00007E91C7FC127F7FEA3FE0EA1FFCEBFFC06C13FC0003EBFF -C06C14F06C6C7F01077F9038007FFEEC07FF02001380153FED1FC0A2ED0FE0A200781407 -12FCA56CEC0FC0A26CEC1F806D133F01E0EB7F009038FE01FF90B55A5D00F914F0D8F83F -13C0D8700790C7FC23357CB32C>I<007FB612FCB712FEA43AFC007E007EA70078153CC7 -1400B3AF90383FFFFCA2497F6D5BA227337EB22C>I<D87FF0EB07FF486C491380A36C48 -6D1300001FC8127CA46C6C5CA76C6C495AA4143E147FA33A03E0FF83E0A214F7A201E113 -C3A3000101E35BA201F113C701F313E7A314C1A200005DA201F713F71480A301FF13FF01 -7F91C7FC4A7EA4013E133E29347FB22C>87 D<387FFFFCB512FEA314FC00FCC7FCB3B3B3 -B512FC14FEA36C13FC17416FB92C>91 D<127812F87EA27E127E127F7E7F121F7F120F7F -1207A27F12037F12017F12007F137E137F7F80131FA280130F8013078013038013018013 -00A280147E147F8081141F81140F811407811403A281140181140081157E157F81168015 -1FA2150FED070021417BB92C>I<387FFFFCB512FEA37EC7127EB3B3B3387FFFFEB5FCA3 -6C13FC17417DB92C>I<130EEB3F80EBFFE0000313F8000F13FE487FD87FF113C0D8FFE0 -13E0EB803F38FE000F007CEB07C00030EB01801B0C78B22C>I<007FB6FCB71280A46C15 -0021067B7D2C>I<137013F812011203EA07F0EA0FE0EA1FC01380EA3F00123E127E127C -A212FC5AA4EAFF8013C013E0A2127FA2123FEA1FC0EA0F800D1B71B82C>I<3801FFF000 -0713FE001F6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE -131F90B5FC1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB800338 -3FE01F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>I<EA7FF0487E -A3127F1201AAEC1FE0ECFFF801FB13FE90B6FC16809138F07FC09138801FE091380007F0 -49EB03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F91 -38801FE09138E07FC091B51280160001FB5B01F813F83900F03FC027337FB22C>I<9038 -03FFE0011F13F8017F13FE48B5FC48804848C6FCEA0FF0485A49137E4848131890C9FC5A -127EA25AA8127EA2127F6C140F6DEB1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C -5C6C6C5B011F13E0010390C7FC21247AA32C>I<EC0FFE4A7EA380EC003FAAEB07F8EB3F -FE90B512BF4814FF5A3807FC0F380FF00348487E497E48487F90C7FC007E80A212FE5AA8 -7E007E5CA2007F5C6C7E5C6C6C5A380FF0073807FC1F6CB612FC6CECBFFE6C143FEB3FFC -90390FF01FFC27337DB22C>I<EB03FE90381FFFC0017F13F048B57E48803907FE03FE39 -0FF800FFD81FE0EB3F805B4848EB1FC090C7120F5A007E15E015075AB7FCA416C000FCC9 -FC7E127EA2127F6CEC03C06DEB07E06C7ED80FF0130F6C6CEB3FC001FF13FF000190B512 -806C1500013F13FC010F13F00101138023247CA32C>I<EC0FF8EC3FFE91B5FC4914805B -903807FC7F14F090390FE03F0014C092C7FCA6007FB512FEB7FCA36C5C26000FC0C7FCB3 -A8003FB512F04880A36C5C21337DB22C>I<ED03F8903907F80FFC90391FFE3FFE017FB6 -FC48B7FC48ECFE7F9038FC0FF82607F003133E3A0FE001FC1CD9C0001300001F8049137E -A66D13FE000F5CEBE0016C6C485A3903FC0FF048B5FC5D481480D99FFEC7FCEB87F80180 -C8FCA37F6C7E90B512F06C14FE48ECFF804815E04815F03A3FC0001FF848C7EA03FC007E -1400007C157C00FC157E48153EA46C157E007E15FCD87F801303D83FE0EB0FF8D81FFCEB -7FF06CB612E0000315806C1500D8003F13F8010713C028387EA42C>I<EA7FF0487EA312 -7F1201AAEC1FE0EC7FFC9038F9FFFE01FB7F90B6FC9138F03F80ECC01F02807FEC000F5B -5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029337FB22C>I<1307EB1FC0A2497E -A36D5AA20107C7FC90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C -14FC1F3479B32C>I<140EEC3F80A2EC7FC0A3EC3F80A2EC0E0091C7FCA748B512804814 -C0A37EC7120FB3B3A2141F003C1480007E133FB414005CEB01FEEBFFFC6C5B5C001F5B00 -0790C7FC1A467CB32C>I<EA7FE0487EA3127F1201AA91381FFFF04A13F8A36E13F09138 -00FE004A5A4A5A4A5A4A5A4A5A4A5A4AC7FC14FEEBF1FC13F3EBF7FE90B5FCA2EC9F80EC -0FC001FE7FEBFC07496C7E496C7E811400157E811680151F3A7FFFC0FFFCB500E113FEA3 -6C01C013FC27337EB22C>I<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C -158022337BB22C>I<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A -07FE1FFC3E01FCEBF83F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF002 -7F13FFD8FFFE6D13F8D87FFC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC -9038F9FFFE01FB7F6CB6FC00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0 -B5FCB500F11480A36C01E0140029247FA32C>I<EB07FCEB1FFF017F13C048B512F04880 -3907FC07FC390FF001FE48486C7E0180133F003F158090C7121F007EEC0FC0A348EC07E0 -A76C140F007E15C0A2007F141F6C15806D133F6C6CEB7F006D5B6C6C485A3907FC07FC6C -B55A6C5C6C6C13C0011F90C7FCEB07FC23247CA32C>I<397FF01FE039FFF8FFF801FB13 -FE90B6FC6C158000019038F07FC09138801FE091380007F049EB03F85BED01FC491300A2 -16FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B512 -80160001FB5B01F813F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<903903 -FC078090391FFF0FC0017F13CF48B512EF4814FF3807FE07380FF00148487E49137F4848 -133F90C7FC48141F127E150F5AA87E007E141FA26C143F7F6C6C137F6D13FF380FF00338 -07FC0F6CB6FC6C14EF6C6C138F6D130FEB07F890C7FCAD0203B5FC4A1480A36E14002936 -7DA32C>I<D87FFEEB3FC0B53801FFF0020713F8021F13FC6C5B39003F7FE1ECFF019138 -FC00F84A13704A13005CA25C5CA391C8FCAF007FB512E0B67EA36C5C26247EA32C>I<90 -387FF8700003B512F8120F5A5A387FC00F387E00034813015AA36CEB00F0007F140013F0 -383FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB0007EC00FE0078147F00FC14 -3F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815E000F8148039701FFC0020 -247AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FCB1ED03C0ED07E0A5EC -800F011FEB1FC0ECE07F6DB51280160001035B6D13F89038003FE0232E7EAD2C>I<3A7F -F003FF80486C487FA3007F7F0001EB000FB3A3151FA2153F6D137F3900FE03FF90B7FC6D -15807F6D13CF902603FE07130029247FA32C>I<3A7FFF01FFFCB514FE148314016C15FC -3A03E0000F80A26D131F00011500A26D5B0000143EA26D137E017C137CA2017E13FC013E -5BA2EB3F01011F5BA21483010F5BA214C701075BA214EF01035BA214FF6D90C7FCA26D5A -147C27247EA32C>I<D87FFFEB7FFF6EB5FCB515806C16004A7ED807C0EB01F0A66C6C49 -5AA3143E147FA2D801F0495AECFF87A214F7A201F113C700005D9038F9E3CFA201FB13EF -A3D97BC190C7FC017F13FFA21480A2013F5B90381F007C29247FA32C>I<3A3FFF03FFF0 -48018713F8A36C010313F03A00FC007E005D90387E01F8013F5BEB1F83EC87E090380FCF -C0903807EF80EB03FF6D90C7FC5C6D5A147C14FE130180903803EF80903807CFC0EB0FC7 -EC83E090381F01F0013F7FEB7E00017C137C49137E0001803A7FFF01FFFC1483B514FE6C -15FC140127247EA32C>I<3A7FFF01FFFCB5008113FE148314816C010113FC3A03E0000F -806C7E151F6D140012005D6D133E137C017E137E013E137CA2013F13FC6D5BA2EB0F815D -A2EB07C1ECC3E0A2EB03E3ECE7C0130114F75DEB00FFA292C7FC80A2143EA2147E147CA2 -14FC5CA2EA0C01003F5BEA7F83EB87E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA07E0 -27367EA32C>I<003FB612E04815F0A4007EC7EA1FE0ED3FC0ED7F80EDFF004A5A003C49 -5AC7485A4A5A4A5A4A5A4A5A4AC7FCEB01FC495AEB0FF0495A495A495A49C8FC4848EB01 -E04848EB03F0485A485A485A485A485AB7FCA46C15E024247DA32C>I<15FF0207138014 -1F147F91B512004913C04AC7FCEB03F85CB31307EB1FE013FF007F5BB55A49C8FC6D7E6C -7FC67F131FEB07F01303B380EB01FEECFFC06D13FF6E1380141F14070200130021417BB9 -2C>I<127812FCB3B3B3A9127806416DB92C>I<EA7FC0EAFFF813FE6D7E6C7FC67F131FEB -07F01303B380EB01FEECFFC06D13FF6E1380141F147F91B512004913C04AC7FCEB03F85C -B31307EB1FE013FF007F5BB55A49C8FC13F8EA7FC021417BB92C>I -E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fg cmbx10 14.4 42 -/Fg 42 123 df<DC7FFFEC3FFC030FB5D8E003B5FC92B6D8F81F14C00207DBFE7F14E002 -1F92B712F0027FD9E0079138F07FF89127FFFE0001ECC0FF4901F049020013FC49494949 -5A4901804913FC4990C714F8495A013F17F05C7413F849486E49EB7FF0F33FE071ED1FC0 -7192C7FCADBC7EA626007FFCC7000101F0C8FCB3B3A5007FB5D8FC01B612FCA656547DD3 -50>11 D<EF1FC04D7EA24D7EA24D7EA34C7FA24C7FA34C7FA24C80A34C80A24C80A217BF -047F80171F04FF80A24C7E0301814C7E030381A24C7E0307814C7E030F82A24C7E031F82 -4C7F033F825E84037F8293C77E4B825D840201834B800203835D02076F7FA292B9FC4A84 -A24A84A3DA3FC0C86C7F4B81027F84A292C97E4A844A82010185A24A820103854A820107 -85A24A82010F86496C82B600FC0207B712F8A65D537BD268>65 D<BA12E019FF1AE01AFC -1AFF87D8000701F8C7000114E0DE003F7F737F737F737F8587851C8085A21CC0A81C8061 -1C00A24F5B61634F5B4F5B077F13C04EB55A060F49C7FC92B812F81AC0A21AFC1AFF03F8 -C86C13C0071F13F007077F7313FE737F731480A27413C01CE0A27413F0A31CF886A662A2 -1CF0A35013E0A297B512C0614F14804F14004F5B073F5B4EB55ABC5A1BC06308FCC7FC1A -E007FCC8FC55527CD162>I<932601FFFCEC03C0047FD9FFC013070307B600F8130F033F -03FE131F92B8EA803F0203EFC0FF020FDAF00113F1023F49C7EA3FFB4A01F00207B5FC49 -B500C0804991C9FC4949824901F88249498249498249498290B5488292CAFC4885485B86 -485B481A7FA24849183FA3485B1B1FA25AA24A95C7FCA3B5FCAE7EA280A2F30FC07EA36C -7FA21B1F6C6D1980A26C1A3F6C7F1C006C6D606C6E17FEA26D6D4C5A6D6D4C5A6D6D1607 -6D6D4C5A6D01FE4C5A6D6D4C5A6D02C0EDFF806D6C01F8020390C7FC6E01FFEC1FFE020F -02F0EBFFF8020391B65A020017C0033F93C8FC030715FCDB007F14E0040101FCC9FC5254 -78D263>I<BA12C019FEF1FFC01AF81AFE747ED8000701F8C7000F14E0060080071F13FC -07077F07017F7380747F081F7F8886747F747FA2747FA288861D80A2871DC0A31DE0A487 -1DF0AF1DE063A41DC0A398B51280A31D0062646264505BA2505B505B505B505B4FB5C7FC -4F5B070F5B077F5B0607B512E0BC128098C8FC1AF81AE04FC9FC19C05C527CD169>I<BC -7EA487A2D8000701FCC71203F0003F1907851900747E1A3FA21A1F1A0FA3747EA31A0318 -7EA3871A01A306FE90C8FCA3170117031707173F92B6FCA69238FC003F17071703170117 -00A2F31F80187EA2F33F00A595C85AA21B7EA21BFEA31A01631A031A07A21A0F1A1F1A3F -F2FFF81903190F4EB5FCBCFCA363A351517CD05A>I<BCFCA41B80A2D8000701FCC71207 -F0007F190F1903857313C01A7FA21A3F1A1FA21A0F1BE0A31A07A2187EA21BF01A03A397 -C7FC18FEA3170117031707173F92B6FCA69238FC003F1707170317011700A3187EA795C9 -FCB2B812FCA64C517CD057>I<932601FFFCEC01E0047FD9FFE013030307B600F8130703 -1F03FF130F92B8EAC01F0203EFE07F020FDAF801EBF8FF023F91C7EA1FFD4A01F80207B5 -FC91B500C01401010391C97E4949824901F88249498249498249498290B54882A24891CB -FC485B1B7F485B1B3F5A4A181F5AA2485B1B0FA25AA298C8FC5CA2B5FCAE6C057FB712F0 -A280A37E95C7003FEBE000A26C7FA27E807EA26C7FA26C7F6C80A26D7F6D7F6D7F6D01FC -5E6D7F6D6D6C92B5FC010002E05C6E01F85C6E01FF140F020F02F8EBFFF9020391B612F0 -0200EFE03F031FEE800F03079238FE0003DB007F02F01300040191CAFC5C5478D26C>I< -B800E090B812E0A6D8000701FCC9000701FCC7FCB3AC92BAFCA603FCC91207B3B0B800E0 -90B812E0A663527CD16C>I<B812E0A6D8000701FCC7FCB3B3B3B0B812E0A62B527CD134> -I<B800E0027FB6FCA6D8000701FCCAD87FF8C7FC1CE0F3FF805090C8FC505AF20FFC505A -F23FE0505A505A070390C9FC4F5AF10FF84F5A4F5AF1FFC04E5B4E90CAFCF007FC4E5AF0 -3FF04E5A4E5A4D90CBFC4D5AEF0FFC171F4D7E4D7E94B57E0403805E4C804C804C8093B6 -FC03FD019F7F92B5000F7F04FC804C7E4C6C804C6C8004C08193C7FC4B6E7F4B6E7F8672 -7F84727F87728084728087737F85737F737F87857380738088738086747F88747F88B800 -E0011FB712C0A662527CD16C>75 D<B812FCA6D8000701FCCAFCB3B3A71A3FA41A7EA51A -FEA3F101FCA31903A21907190F191FA2F13FF819FF601807181F4DB5FCBBFCA21AF0A448 -527CD153>I<B600FC070FB612C06F616F61A27060A2D800070BF8C7FC7018FBA202F76D -EF01F3A202F36DEF03E3A202F16DEF07C3A202F06DEF0F83A26F6CEF1F03A36F6C173EA2 -6F6D167CA26F6D16F8A26F6DED01F0A26F6DED03E0A36F6DED07C0A26F6DED0F80A2706C -ED1F00A2706C153EA2706D5CA3706D5CA2706D495AA2706D495AA2706D495AA2706D495A -A2716C49C7FCA3716C133EA2716D5AA2716D5AA271EBE1F0A271EBF3E0A371EBFFC0A271 -5CA27290C8FCA2725AA2725A497EB76C057FB712C0725AA2725AA2725A7A527CD183>I< -93380FFFC00303B6FC031F15E092B712FC020316FF020FD9FC0014C0023F01E0011F13F0 -4A90C700037F4948486E13FE4901F86E6C7E49496F7F49496F7F49496F7F49496F7F4990 -C96C7F90B5844A8248864849707FA24849711380A248497113C0A2481BE0A24A83481BF0 -A3481BF8A24A83A3B51AFCAF6C1BF8A36E5FA26C1BF0A36C1BE06E5FA26C1BC06E5F6C1B -80EE01FE6C6D902607FF8090B512006C031F01E05C6E496D5A6C4B01F85C6D6C9027FF03 -FC035B6D902881FC00FE075B6DD9C1F8D97F0F5B6D01E1DA3F9F5B6DD9F1F06DB55A6D01 -F994C7FC6DD9FFF86D5B6D60023F6D4913F0020F01FF90B512C0020391B6C8FC020016FC -031F6F140C03036F141EDB001F01E37F93C700016D133E869738F801FE97B5FCA2841CFC -A285A21CF8A2851CF07314E0A27314C0731480731400735B9638007FF8F21FE0576A78D2 -67>81 D<B912FCF0FFE019FEF1FFC01AF01AFCD8000701F8C7003F13FF06038006008007 -3F7F737F737F87737FA2737FA388A899C8FCA263616361634F5B4F5B96B55A060391C9FC -063F5B92B812F81AC097CAFC19FC19FF9226F8000180DD003F13E0060F7F727F727F8672 -7FA27280A2737FA587A587A575EB0780F50FC0A28773151FA2736D148075133FB800C06D -EC807F739138C1FF000701ECFFFE735D083F5C080714E0CE001F138062537CD167>I<91 -261FFF80130F91B500F85B010702FF5B011FEDC07F49EDF0FF90B712F948D9FC0190B5FC -489038E0000F48018013034848C8FC173F4848814981003F8283485A838312FFA2847FA2 -6D82A27F7F6E92C7FC14E06C13FCECFFC015FE6CECFFE016FF6C16E017F86C16FE6C8284 -6C17E06C836C837F011F826D82010382EB007F020F1680EC007F1503DB003F14C0160316 -00053F13E0838383127C00FC82A383A27E19C0A27EA26D4B1380A27F6D4B130001F85E6D -150F01FF4B5A02C04A5A02F8ECFFF09126FFC0075B019F90B65A010F5ED8FE034BC7FC48 -C66C5C48010F14E0489026007FFEC8FC3B5478D24C>I<001FBC12C0A5481BE09126F000 -3F9038E0007F91C7160701FC1801498401E0193FA249191F49190FA248C8EF07F0A4007E -1A03A500FE1BF8481A01A4C994C7FCB3B3AA91B912F8A655517BD060>I<B700FE013FB7 -6C013FB512FEA6D8003F01F0C8000F01FCC9380FFC006DF603F06F6F18076D735F856F1C -0F6D735F6F8176151F6D71616F1C3F6D7493C7FCA270715D6D4D187E701BFE4F806E6570 -1A016E4C6E5D1AEF707114036E040F607003C716076E041F6E5D1A83701A0F6E043F6E5D -701501077F6F131F6E6570DA7E00163F6E04FE6F91C8FC4F7F71616E030170137E05C049 -7F06037013FE6F4B6D5D05E018016F020704F85B4F7F05F0EFFC036F020F6005F8496D14 -07061F16FE6F4B6D5D05FC180F6F023F04FF5B96C77E7148179F6F63DDFF7E6E14BF6F02 -FE05FFC9FC4E81A26F624E81A270496F5BA270614E81A270614E81A270496F5BA2706195 -C97EA270614D82A2704871CAFC7048173E87537DD18E>87 D<91383FFFC00107B512FC01 -1FECFF80017F15E090B77E48D9E0077F48D9800013FE486DEB3FFF82486D81707F8284A2 -707F6C5BA26C5BC648C7FC90C8FCA44BB5FC4AB6FC143F49B7FC130F013FEBFE0390B512 -E0000314004813FC4813F0485B485B5C4890C7FCA2B5FC5BA35EA27F6C5D5E6E497F6C6D -017E13FE6C6D4848EBFFF86C9026FC0FF814FC6C90B5487E0001EDC03F6C6CEC800F011F -9026FE000313F8010101E090C8FC3E387CB643>97 D<EB3FF8B5FCA61203C6FCB3A3EE7F -F80307B57E031F14F0037F14FC02F9B67E02FB9038807FFF9127FFFC001F13C003F00107 -7F03C06D7F4B7F4AC780717F5C727EA285A2721380A41AC0AD1A80A34E1300A36118FF61 -806E4A5B6F495B6F495B6F495BDAE7F8013F5B9126C3FF01B5C7FC028190B512FCDA007F -5C496D14E049010791C8FC90C813F042547CD24C>I<913803FFF0023FEBFF8091B612E0 -010315F8010F81499038C01FFE903A7FFE0007FF4948491380485B48494913C05C5A485B -A2485B7013805A70130048ED01FC91CAFCA3B5FCAD7E80A27EA2EF07E06C7F170F6C6D15 -C06C161F6E15806C6D143F6C6DEC7F006C6D14FE903A7FFF8003FC6D9038F01FF8010F90 -B55A6D5D01011580D9003F49C7FC020313E033387BB63D>I<943801FFC00407B5FCA6EE -001F1707B3A3913803FFC0023F13FC49B6FC010715C74915F7013FD9E03FB5FC49EB0007 -D9FFFC130148496D7E484980484980484980A25A5C5AA25A91C8FCA3B5FCAD7EA46C7FA2 -7EA26C6D5CA26C6D5C6C5E6C6D49B5FC6C6D4914F0D97FFE010FECFFC0903A3FFF807FEF -6D90B512CF0107158F6DECFE0FD9007F13F00207018049C7FC42547BD24C>I<913803FF -E0023F13FE91B612C0010381010F15F84901C07F903A7FFE001FFE49486D7E48496D1380 -48496D13C0484915E048814A15F048815C48EE7FF8A25A91C8FC18FC173FB5FCA391B7FC -A418F891CAFCA57EA3807EA218786C6D15FC17016C7F6CEE03F86C6D14076E15F06C6DEC -1FE06C6C6C143F6D6C6CEBFFC06DD9F0071300010790B55A010115F86D6C14E0021F1480 -020001F8C7FC36387CB63F>I<ED0FFF92B512C0020714F0021F14F8027F14FC9139FFFC -1FFE49EBF03F4901C013FF49495A491300495AA2495AA2017FEC3FFE4AEB1FFCEE0FF8EE -07F093C7FCADB712F0A626007FFCC8FCB3B3A5007FB6FCA630547CD32A>I<91261FFF80 -EB3FC049B539F803FFE00107DAFE0F13F0011FDAFFBF13F8017F92B512FC9026FFFC0314 -CF48D9F000EBFC1F4801C0013F130F4816FE4849D91FFF13F8F007F04890C76CEB81E0F0 -8000A24883A86C5FA36C6D4990C7FCA26C6D495A6C5E6C01F0EBFFF86CD9FC035B4890B6 -5A1780D803E74AC8FC01E114F82607E01F138091CBFC120FA37FA27F13FE90B712C06C16 -FCEFFF8018E06C17F8846C836C836D178048B912C012074818E04848C8FCD83FF8150F48 -48030313F01700485A187FA56D16FF007F18E06D5D6C6C4B13C06C6C4B13806C6C6C021F -13006C01F0ECFFFE6C01FF010F5BC691B612F0013F16C0010F93C7FC010115F8D9000749 -C8FC3E4F7CB545>I<EB3FF8B5FCA61203C6FCB3A3EE1FFE93B512E0030314F8030F804B -8092393FE07FFF92267F001F7F15FCDAF9F86D7FECFBE014FF4B6D7F5D92C7FCA35CA35C -B3ABB6D8FC07B612E0A643537BD24C>I<137F3801FFC0487F487F487FA2487FA76C5BA2 -6C5B6C5B6C5B6C6CC7FC90C8FCABEB1FF8B5FCA612017EB3B3A4B612F0A61C547BD326> -I<EB3FF8B5FCA61203C6FCB3A44CB512FEA69326001FFCC7FCEF3FF04D5A4D5A4C90C8FC -EE07FE4C5A4C5AEE3FE0EEFFC04B5B4B48C9FCED0FFC4B5A153F4B7E9138F9FFFE02FB7F -91B67EA28383038F7F03077F14FE4A6C7F4A6C7F6F7F707FA2707F707F707F707FA2707F -707F707F717F8385B6D8F803B612C0A642537CD249>107 D<EB3FF8B5FCA612017EB3B3 -B3AFB612F8A61D537BD226>I<D93FF8D90FFFED3FFCB5027F01E049B57E0303B500F801 -0F14E04B02FE4914F8031F6E017F8092263FE03F902680FF807F4BC66C903AC1FC007FFF -000302FC6DD9C3F07FC6D9F9F86DD9E7E06D7FDAFBF0EDEFC04B5EDAFFC06D01FFC76C7F -4B5DA292C75CA24A5EA34A5EB3ABB6D8FC03B6D8F00FB612C0A66A367BB573>I<D93FF8 -EB1FFEB591B512E0030314F8030F804B8092393FE07FFF92267F001F7F000314FCC6D9F9 -F86D7FECFBE014FF4B6D7F5D92C7FCA35CA35CB3ABB6D8FC07B612E0A643367BB54C>I< -EDFFF0021FEBFF80027F14E00103B612FC4981011F9039C03FFF8090273FFE00077FD97F -F801017F49486D7F48496E7E488348496E7E48834A80481880A24818C091C87EA24818E0 -A4B517F0AB6C18E0A46C18C06E5CA26C1880A26C6D4A13006C5F6E147F6C5F6C6D4A5A6C -01FC01035B6D6C495B90271FFFC03F13806D90B6C7FC010315FC010015F0021F14800201 -01F8C8FC3C387CB645>I<D93FF8EB7FF8B50107B57E031F14F0037F14FC02F9B67E02FB -01807F9127FFFC003F13C0000302F0010F7FC602C06D7F5D4AC76C7F717F5C717FA28584 -1A80A47213C0AD4E1380A31A0095B5FCA2615F616E5C6E5E6F495B6F495B6F495B03F801 -7F5BDBFF01B5C7FC02FD90B512FCDAFC7F5C6F14E0030791C8FC030013F093CAFCB0B612 -FCA6424D7CB54C>I<90393FF001FFB5010F13E04B13F84B7F4B7F9238FF1FFFECF1FC00 -039026F3F03F1380C6EBF7E015C0ECFF80A215007013005C705AEE03F84A90C8FCA45CB3 -A9B612FEA631367CB539>114 D<903A01FFF00780011FEBFF1F90B7FC5A120748EB001F -D81FF8130701E0130148487F007F157F49143FA200FF151FA27FA27F01F891C7FC13FF14 -F06CEBFFC015FE6F7E6C15E06C15F86C816C816C816C16806C6C15C0011F15E01303D900 -1F14F01400030713F81501007CEC007F00FC153F161F7E160F7EA26D15F0A26D141F6D15 -E06D143F6DEC7FC001FE903801FF809026FFC00F130091B55A01BF5CD8FE1F14F0D8FC07 -14C027F0007FFCC7FC2D387CB636>I<143FA65CA45CA25BA35B5BA25B5B5B90B5FC5A00 -0F91B5FCB8FCA5D8003F90C8FCB3A8EE07E0AB6DEC0FC01580161F6D01C01380163F6D90 -38F07F006DEBFFFE6D5C6D6C5B021F13E0020313802B4D7ECB35>I<D91FFCEDFFE0B502 -07B5FCA60003ED001FC61607B3AD5FA35FA25F017F5D6E91B5FC013FDA01FB13F86ED907 -F3EBFFE06D9038C01FE36D90B512C36D15830101ECFE036D6C13F8020701C0EC80004337 -7BB54C>I<B600F80107B512C0A6C649C8383FE000017FEE1F806E153FA26D6D4AC7FCA2 -6D6D147E18FE6D6D5C17016D5E6F13036D5E6F13076D5E6F130F6D5E6F131FA26E6C495A -A26E018090C8FC5F6E147EEEC0FE6E5C16E16E5C16F36E5C16FFA26E5CA26E5CA26F5BA2 -6F90C9FCA26F5AA26F5AA26F5AA26F5A42357DB449>I<B6D8F07FB5D8E001B512F0A600 -0101FCC7D87FF8C73807F8006C745A7214076E143F017F626E6E6C140F6D624D6C141F6D -6D605F6F6F133F6D97C7FC6F90B56C5B6D197E5E03F001F96D13FE6D02035E03F8EDF001 -6D03F05D160703FC9039E07FF8036D020F5E03FEEDFC07027FDAC03F5C041F14FE03FFD9 -801F130F6E013F5E04BFECFF1F6E4A6C5C04FF159F4C6D13BF6E95C8FC4C6D13FF6E5FA2 -4C7F6E5F4C7F6E5FA24C147F6E5F4C143F037F5EA26F486E5A6FC86C5A5C357DB463>I< -007FB500F8013FB51280A6D8003F0180D907FEC7FC6D6D6D5A6D6D495A6D6D495A6D4B5A -6D6D495A6F495A6D6D49C8FC6E6C485A6E13816EEB83FC6EEBC7F8EEEFF06EEBFFE06E5C -6E5C6E91C9FC81A26F7F6F7F6F7F5D4B7F4B7F92B57E834A486C7E4A487EDA07F8804A48 -6C7F4A486C7F4A486C7F4A486C7F82DAFF008049486D7F49486E7E49486E7F49486E7F01 -3F81B691B612F0A644357EB449>I<B600F80107B512C0A6C649C8383FE000017FEE1F80 -6E153FA26D6D4AC7FCA26D6D147E18FE6D6D5C17016D5E6F13036D5E6F13076D5E6F130F -6D5E6F131FA26E6C495AA26E018090C8FC5F6E147EEEC0FE6E5C16E16E5C16F36E5C16FF -A26E5CA26E5CA26F5BA26F90C9FCA26F5AA26F5AA26F5AA35EA25E150F5E151FD81FE05C -486C133F486C91CAFC5D486C137E15FE4A5AA24A5A49485A007F495A9038F03FC06C48B4 -5A90B5CBFC6C5B000713F86C13E0C66CCCFC424D7DB449>I<001FB8128018C0A4DAC000 -148049C7140001F85B49495B49495B495D003F5C49495B4B5B5F5D90C7B55A4A91C7FC5E -5C4A5B4A5BC75C5C4A5B4A5B5E91B5FC4991C8FC4949EB0FC05D5B495B495B4B131F4916 -80495B90B55A92C7FC48163F485B4849147F5C4816FF48495B48495B4A130F4892B51200 -B9FCA47E32357CB43D>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fh cmr10 10 61 -/Fh 61 124 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F -8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328 -01F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11 -D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B -A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5 -12C0A32A3B7FBA2E>I<001C131C007F137F39FF80FF80A26D13C0A3007F137F001C131C -00001300A40001130101801380A20003130301001300485B00061306000E130E485B485B -485B006013601A197DB92A>34 D<121C127FEAFF80A213C0A3127F121C1200A412011380 -A2120313005A1206120E5A5A5A12600A1979B917>39 D<146014E0EB01C0EB0380EB0700 -130E131E5B5BA25B485AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB2127C -A67EA3121EA2121F7EA27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0 -EB00E01460135278BD20>I<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A213 -7C133C133E131EA2131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B13 -1EA2133E133C137C1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20> -I<121C127FEAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A -12600A19798817>44 D<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C0909 -798817>I<150C151E153EA2153C157CA2157815F8A215F01401A215E01403A215C01407 -A21580140FA215005CA2141E143EA2143C147CA2147814F8A25C1301A25C1303A2495AA2 -5C130FA291C7FC5BA2131E133EA2133C137CA2137813F8A25B1201A25B1203A25B1207A2 -5B120FA290C8FC5AA2121E123EA2123C127CA2127812F8A25A12601F537BBD2A>I<EB01 -C013031307131F13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>49 -D<EB0FF0EB7FFE48B57E3903E03FE0390F000FF0000E6D7E486D7E486D7E123000706D7E -126012FCB4EC7F807FA56CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F4A5A4A5A -92C7FC147C5C495A495A495A495A91C8FC011EEB01805B5B49130348481400485A485A00 -0EC75A000FB6FC5A5A485CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901F80FF039 -03C007F848486C7E380E0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D4A5AA24A -5A5DEC0F80027EC7FCEB1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0A215 -3F16E0A2121EEA7F80487EA416C049137F007F1580007EC7FC0070ECFF006C495A121E39 -0F8003F83907F00FF00001B512C06C6C90C7FCEB0FF8233A7DB72A>I<1538A2157815F8 -A2140114031407A2140F141F141B14331473146314C313011483EB030313071306130C13 -1C131813301370136013C01201EA038013005A120E120C5A123812305A12E0B712F8A3C7 -3803F800AB4A7E0103B512F8A325397EB82A>I<0006140CD80780133C9038F003F890B5 -FC5D5D158092C7FC14FC38067FE090C9FCABEB07F8EB3FFE9038780F803907E007E09038 -8003F0496C7E12066E7EC87EA28181A21680A4123E127F487EA490C71300485C12E00060 -5C12700030495A00385C6C1303001E495A6C6C485A3907E03F800001B5C7FC38007FFCEB -1FE0213A7CB72A>I<EC3FC0903801FFF0010713FC90380FE03E90383F800790387E001F -49EB3F804848137F485AA2485A000FEC3F0049131E001F91C7FCA2485AA3127F90C9FCEB -01FC903807FF8039FF1E07E090383801F0496C7E01607F01E0137E497FA249148016C015 -1FA290C713E0A57EA56C7E16C0A2121FED3F807F000F15006C6C5B15FE6C6C5B6C6C485A -3900FE07F090383FFFC06D90C7FCEB03FC233A7DB72A>I<EB03F8EB1FFF017F13C09038 -FC07E03903F803F048486C7E48486C7E49137E121F48487FA2007F158090C7FCA248EC1F -C0A616E0A56C143FA27F123F001F147FA26C6C13FF3907E001DF0003149F3801F0033900 -FC0F1FD93FFC13C0EB07F090C7FC153F1680A316005D000F147E487E486C5BA24A5A4A5A -49485A6C48485A001C495A260F807FC7FC3807FFFC000113F038003FC0233A7DB72A>57 -D<121C127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317> -I<1538A3157CA315FEA34A7EA34A6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC18 -0FA202387FEC3007A202707FEC6003A202C07F1501A2D901807F81A249C77F167FA20106 -810107B6FCA24981010CC7121FA2496E7EA3496E7EA3496E7EA213E0707E1201486C81D8 -0FFC02071380B56C90B512FEA3373C7DBB3E>65 D<B712C016F816FE000190398001FF80 -6C90C7EA3FE0EE0FF0EE03F8707E707E177FA2EF3F8018C0171F18E0170F18F0A3EF07F8 -A418FCAC18F8A4EF0FF0A218E0A2171F18C0EF3F80A2EF7F0017FE4C5A4C5AEE0FF0EE3F -E0486DEBFF80B8C7FC16F816C036397DB83F>68 D<B812FCA30001903880000F6C90C712 -01EE007E173E171E170EA31706A317078316C0A394C7FCA31501A21503150F91B5FCA3EC -000F15031501A21500A21860A318E093C712C0A41701A3EF0380A21707A2170F173F177F -486D903807FF00B9FCA333397DB839>I<B812F8A30001903880001F6C90C71201EE00FC -177C173C171CA2170CA4170E1706A2ED0180A21700A41503A21507151F91B5FCA3EC001F -15071503A21501A692C8FCAD4813C0B612C0A32F397DB836>I<DBFF8013C0020FEBF001 -023F13FC9139FF803F03903A03FC000787D90FF0EB03CF4948EB00EF4948147F4948143F -49C8121F485A4848150F48481507A248481503A2485A1701123F5B007F1600A448481600 -AB93B6FCA26C7E9338007FE0EF3FC0A2123F7F121FA26C7EA26C7EA26C7E6C7E6C6C157F -6D7E6D6C14FF6D6C14EFD90FF8EB03C7D903FEEB0783903A00FFC03F0191393FFFFC0002 -0F01F0130002001380383D7CBA41>I<B612C0A3C6EBC0006D5AB3B3AD497EB612C0A31A -397EB81E>73 D<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770A317F0 -A216011603160FEE1FE0486D13FFB8FCA32D397DB834>76 D<B5933807FFF86E5DA20001 -F0FC002600DFC0ED1BF8A2D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC0183A3 -D9C0FEEC0303A2027F1406A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C13C0 -A3913901FC0180A3913900FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D5A48 -7ED80FFC6D48497EB500C00203B512F8A2ED018045397DB84C>I<B5913807FFFE8080C6 -9238007FE06EEC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F6E7E -A26E7E6E7E81140F6E7E8114036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07FCED -03FEA2ED01FF6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2177E -486C153E487ED80FFC151EB500C0140EA2170637397DB83E>I<EC03FF021F13E09138FE -01FC903901F8007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7E -49157E0003167F4848ED3F80A24848ED1FC0A2001F17E049150F003F17F0A3007F17F849 -1507A300FF17FCAC007F17F86D150FA3003F17F0A26C6CED1FE0A36C6CED3FC000071780 -6D157F000317006C6C15FEA26C6C4A5A017F4A5A6D6C495A6D6C495AD907E0EB1F80D903 -F8017FC7FC903900FE01FC91381FFFE0020390C8FC363D7BBA41>I<003FB812E0A3D9C0 -03EB001F273E0001FE130348EE01F00078160000701770A300601730A400E01738481718 -A4C71600B3B0913807FF80011FB612E0A335397DB83C>84 D<B6903807FFFEA300010180 -9038007FE06C90C8EA1F80EF0F001706B3B2170E6D150C80171C133F17186D6C14385F6D -6C14F06D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F807E91381FFFF8020713E09138 -007F80373B7DB83E>I<B500FC91387FFF80A30003018091380FFC006C90C8EA07E0715A -6C705A6E1403017F93C7FCA280013F1506A26E140E011F150C80010F5DA28001075DA26E -147001031560A26D6C5CA2806D4A5AA2ED8003027F91C8FCA291383FC006A215E0021F5B -A2EDF01C020F1318A26E6C5AA215FC02035BA2EDFEE002015BA26E6C5AA36FC9FCA3153E -A2151CA3393B7EB83E>I<B5D8FC07B5D8F001B5FCA30007902780001FFEC7EA1FF86C48 -C7D80FF8EC07E000010307ED03C01B807F6C6F6C1500A26E5F017F6E6C1406A280013F4A -6C5CA280011F4A6D5BEE067FA26D6C010E6D5BEE0C3FA26D6C011C6D5BEE181FA26D6C6F -5BEE300FA26D6C6F485AEE6007A26D6C4CC7FC9338C003FCA203805D913B7F818001FE06 -A203C1150EDA3FC3C7EAFF0CA203E3151CDA1FE6EC7F98A215F6DA0FFCEC3FF0A302075E -4B141FA202035E4B140FA202015E4B1407A2020093C8FC4B80503B7EB855>I<007FB590 -383FFFFCA3C601F801071380D97FE0D903FCC7FC013FEC01F06D6C5C5F6D6C5C6D6C1303 -4CC8FC6D6C1306160E6D6C5B6DEB8018163891387FC0306E6C5A16E06E6C5A91380FF180 -15FB6EB4C9FC5D14036E7EA26E7F6F7EA24B7E15DF9138019FF09138038FF8150F913806 -07FC91380E03FE140C4A6C7EEC38000230804A6D7E14E04A6D7E49486D7E130391C76C7E -01066E7E130E010C6E7E011C1401013C8101FE822607FF80010713E0B500E0013FEBFF80 -A339397EB83E>I<3901800180000313033907000700000E130E485B0018131800381338 -003013300070137000601360A200E013E0485BA400CE13CE39FF80FF806D13C0A3007F13 -7FA2393F803F80390E000E001A1974B92A>92 D<EB1FE0EBFFFC3803E03F3907000F8039 -0F8007E0486C6C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA03F8 -EA0FF0EA1FC0123F485A90C7FC160C12FEA31401A26C13036CEB077C903980063E18383F -C01E3A0FE0781FF03A03FFF00FE03A007F8007C026277DA52A>97 -D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F809039F7000FC001 -FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16FEA216FC15016D14 -F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E903800FFF8C7EA1FC028 -3B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F83907E001FC380FC0 -03A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127FA26C14067F001F14 -0E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381FFF00EB07F81F277D -A525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F9038F801EF3903F0 -007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA127E127FA27EA26C6C -131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F90381FFE0FD907F813 -C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001F0D807E013F8380F -C0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA5127EA2127FA26C14 -037F001F14076C6C13060007140E6D131CD801F013386C6C137090387E03E090381FFF80 -903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213 -FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I< -ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903E007C03A07C003E0 -10000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D48C7FC38073FFC38 -060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815C03A0F80007FE048 -C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0003F1407D80F80EB -0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A>I<EA03F012FFA3 -120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF70013FE496D7EA25B -A35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE0487EA56C5AEA0380 -C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I<EB01C0EB07F0EB0F -F8A5EB07F0EB01C090C7FCAAEB01F813FFA313071301B3B3A2123C127E00FF13F01303A2 -14E038FE07C0127C383C0F00EA0FFEEA03F8154984B719>I<EA03F012FFA3120F1203B1 -913801FFFCA39138007FC01600157C15705D4A5A4A5A4AC7FC141E1438147814FC13F1EB -F3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E7E811400157E157F811680ED1FC0486C -EB3FF0B500C0B5FCA3283A7EB92C>I<EA03F012FFA3120F1203B3B3AD487EB512C0A312 -3A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F8380 -3F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A348 -6C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F90 -39F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280 -A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800F84848137C48487F48487F -4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15F8A9007E15F0A2007F14 -076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C13F890387E03F090 -381FFFC0D903FEC7FC25277EA52A>I<3903F01FE000FFEB7FF89038F1E07E9039F3801F -803A0FF7000FC0D803FEEB07E049EB03F04914F849130116FC150016FEA3167FAA16FEA3 -ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F009038F1E07E9038F0FF -F8EC1FC091C8FCAB487EB512C0A328357EA42E>I<D903F813C090381FFE0190387E0781 -9038FC01C33903F000E3000714774848133749133F001F141F485A150F48C7FCA312FEAA -127FA37E6D131F121F6D133F120F6C6C137F6C6C13EF3901F801CF39007E078F90381FFE -0FEB07F890C7FCABED1FE00203B5FCA328357DA42C>I<3807E01F00FFEB7FC09038E1E3 -E09038E387F0380FE707EA03E613EE9038EC03E09038FC0080491300A45BB3A2487EB512 -F0A31C257EA421>I<EBFF03000313E7380F80FF381E003F487F487F00707F12F0A2807E -A27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB -0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A27 -7DA521>I<1318A51338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215 -C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E0 -00FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D133F0000EC77F86D9038E7 -FF8090383F03C790381FFF87903A03FC07E00029267EA42E>I<B538803FFEA33A0FF800 -0FF06C48EB07E00003EC03C06D148000011500A26C6C1306A26D130E017E130CA26D5BA2 -EC8038011F1330A26D6C5AA214E001075BA2903803F180A3D901FBC7FCA214FF6D5AA214 -7CA31438A227257EA32C>I<B53A1FFFE03FFEA3260FF8009038000FF86C48017EEB03E0 -18C00003023EEB0180A26C6C013FEB0300A36C6CEC8006156FA2017E9038EFC00C15C7A2 -D93F016D5A15830281EBF038D91F831430150102C3EBF87090260FC6001360A2D907E66D -5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A7FA20100141E4A130E0260130C37 -257EA33C>I<B538807FFFA33A03FE003FF00001EC1F80000092C7FC017E131C6D13186D -6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7 -E090380383F090380703F8EB0601496C7E011C137E49137F01787F496D7E486C80000FEC -3FF0D8FFFE90B51280A329247FA32C>I<B538803FFEA33A0FF8000FF06C48EB07C00003 -EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F1360A26D6C -5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A214701460A25CA2EA -7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C>I<003FB5 -12FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB1FC0EC3F800060137F15 -0014FE495AA2C6485A495AA2495A495A495AA290387F000613FEA2485A485A0007140E5B -4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F247EA325>I<B81280A2 -290280962A>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fi cmbx10 17.28 15 -/Fi 15 116 df<95B56C15E0053F02FCEC03F00407B76C1307043F04E0130F4BB800F813 -1F030705FE133F031F9438FF807F037F9126FC003FEBC1FF4AB60080010313F34A02F8C8 -6CB5FC020F02C0151F4A91C91207027F01FC8291B548824902E0707E494A83494A834991 -CB7E495B49498449865D90B5488448875D481C7F5D481C3F5D5A1D1F4891CDFCA3481C0F -5CA248F407E09AC7FCA35CA2B5FCB07EA280A47EF503E06EF207F07EA36C801D0F7E6F1A -E07E6F191F7E6FF13FC07E6D6DF17F80816DF3FF006D6D606D6D4E5A6D6E17076D6E4D5A -6D02F04D5A6D6E4D5A6E6D4D5A021F01FF4C485A6E02E003075B020302F8DB1FFEC7FC6E -DAFF80ECFFFC6E6C02FC011F13F0031F91B75A0307188003014DC8FCDB003F16F8040716 -C0DC003F4AC9FC05001480646677E377>67 D<BEFCA41D80A3D8000102F0C8FC1A071A00 -1B3F871B077513C087A2871C7FA21C3FA3F41FE0A31C0FF13F80A5F407F0A3197F99C7FC -A219FFA26060180F187F93B7FCA79338F0007F180F18038484A2197F1D7FA2193F1DFEA6 -1C0196C813FCA31C03A31C071DF8A21C0FA21C1F1C3F1DF01C7F1CFF63631B0F6398B512 -E01A0797B6FCBEFCA41DC0A360617AE06C>69 D<95B56C1570053F02FCEC01F80403B76C -1303043F04F0130793B800FC130F030705FF131F031FF0C03F037F9126FC001FEBE0FF92 -B60080010113F9020302FCC8003FB5FC020F02E0150F4A028015034A49C97E91B500F882 -494A834902C0171F495C4991CB7E49498449864B84495B90B54884481C7F5D481C3F5D48 -1C1F5D5A1D0F4891CDFCA3481C075CA2775A4899C8FCA35CA2B5FCB07E6E041FB9FCA47E -A36E93C8ECF8007EA36C80A26C80A27E817E816C807F6D7F816D7F6D806D6E5E6D806D80 -6D6E5E023F01FE5E6E6D6C5D6E02E05D020302FC157F0200DAFFC0903801FFF36F02FE01 -1F13E1031F91B7EAC07F0307F0001F03004D1307043F04F81301040304C0EB0070DC003F -4ACAFC050014C0706677E382>71 D<B700F80403B712F08282A2828383D800016F92C700 -3F90C7FC71EF07F8A2838383834A81816F806F806F80846F80816F806F80708070808582 -708070807080708085708183718071807180867180837180718072808772808472807280 -7280877280847314807314C07314E07314F01CF8857314FC7314FE7314FF7414871DC774 -14E7867414F77414FF86A28686878787A28787878787A2888888888888A28890260FFFC0 -84B700FC187F1D3F1D1FA21D0F1D07775A74627AE181>78 D<BA12FEF1FFF8F2FFC01BF8 -1BFEF3FFC01CF0D8000102E0C7001F80070014FE081F7F748008038074807480757F8987 -89A28987A28AA99BC8FCA2515BA265A2515B6598B55A505C505C080F91C9FC083F13FC4F -B55A071F14E093B9CAFC1BFC1BC0871BF804E0C714FE071F6D7E070780070114F0738074 -7F8688747F8689A28689A989A8F701F0F703F889A286A21F07746E14F08677130FB900C0 -6E16E0756D131F756DEB3FC0759138C0FF80090391B5120009005D0A3F5CCF000314F0E2 -001F13C075647AE17C>82 D<B900E0020FB712C0A7D8000102F0CB01FCC7FCF51FE0B3B3 -B3A96D1B3F66A2826E1A7F66A26E1AFF7096C8FC6E61656E6D17036E6D4D5A1C0F6E6E4C -5A6E6E4C5A6E6E4C5A6F6D4B485A6F01FC03075B6F01FF031F90C9FC030702C0ECFFFE6F -02FE011F5B030091B712F0043F5F040F178004034CCAFCDC007F15F005071580DD001F01 -F0CBFC72647AE17F>85 D<913803FFFE027FEBFFF00103B612FE010F6F7E013F16E049D9 -001F13F8D9FFE001077F486D01017F4801FC6D6D7E717F486D8085717FA2717FA3856C49 -80A26C5B38007FE0EB1F8090C9FCA5040FB5FC030FB6FC4AB7FC141F91B8FC0103ECF807 -010F1400013F13F890B512E04814804891C7FC4813FC485B5A485B5C5A5CB5FCA25CA25F -A36E5CA26C5E6E5C6C6D02FD7F0401ECFFC06C6DD903F9ECFF806C01FED90FF015C00003 -9039FFC07FE06C91B5EA807F6C6C4B7E011F02FC130F010302F001011480D9001F018090 -C9FC4A437BC150>97 D<92380FFFF092B67E020715F0023F15FC91B8FC4917800107DA00 -1F13C04901F8010313E04901E0010F13F0017F5B90B5484913F84891C7FC5C5A485BA248 -5B5A7113F05C487013E005011380489338007E0095C7FC5CA3B5FCAE7E80A37EA2806C18 -F8F001FC6C6D1503A26C6DED07F86C7FF00FF06C6E141F6C6E15E06D6DEC7FC06D01F814 -FF6D01FE010313800107903AFFC01FFE006D91B55A01005E023F15E0020F1580020102FC -C7FCDA000F13C03E437BC149>99 D<F13FFE0507B5FCA7EF00078484B3A7923807FFE092 -B512FC0207ECFF81021F15E1027F15F149B538C03FFD01079026FC0007B5FC4901F01301 -49496D7E017F01808090B5814891C87E4A814849815A485BA25A5C5AA35A5CA3B5FCAE7E -A46C7FA37EA26C7FA26C6D5D6C5F806C5F6C6D5D6D6D4A7F6D6D49B67E6D6D49EDFF8001 -0701F8130F6D01FFEBFFF3010091B512E3023F1583020FECFE03020114F8DA000F018002 -E0C7FC51657BE35C>I<92380FFFC04AB512FC020FECFF80023F15E091B712F80103D9FE -037F499039F0007FFE011F49EB1FFF4901806D7F4990C76C7F90B56E7F48496E7F5C4870 -7F485B8548177F4A825A183F4884A2485BA21A8084A2B5FCA391B9FCA41A0002E0CBFCA5 -7EA3807EA36C181F6EEE3F807E197F6C6D17006C606E5E6C6D15016C6E4A5A6D6D14076D -6DEC1FF86D01F8EC7FF06D01FE49485A01039026FFC01F5B6D91B6C7FC6D6C5D021F15F8 -020315E0DA007F91C8FC030713F041437BC14C>I<EE3FFE0307B512C0033F14F092B67E -020381020F9038F80FFF4AEBC03F027FD9007F13804A5A494990B512C0495BA2495BA249 -5BA349496D1380711300715A715AEF01E094C8FCAFB812E0A7D8001F01E0C9FCB3B3AE00 -7FB612FEA73A657BE432>I<902607FF80902607FFC0ED1FFFB6027F01FC4AB512F04CB6 -020714FC040703C0011F14FF041F6F017F8193263FF81F6D9026FFE07F7F9326FF800790 -28F803FE001F7F922781FE00039026FC07F86D7FC6DA83F89226FE0FE0816DD987F04C5A -6DD98FE06D6D48486D7F4C94C7FCDB9F80167E03BFC84A8003BE4D8215FE4B5FA24B5FA2 -4B5FA34B5FB3B1B7D8F803B7D8E00FB71280A781417AC08A>109 -D<902607FF80903807FFC0B6027F13FC4CB6FC040715C0041F8193263FF81F7F9326FF80 -077F922781FE00037FC6DA83F8816DEB87F06DD98FE06D7F5EED9F8003BFC8FC03BE8315 -FE5DA25DA25DA35DB3B1B7D8F803B712E0A753417AC05C>I<903A07FF8007FEB690381F -FFC0047F13F093B57E038314FE923987FC1FFFDCF07F1380ED8FC0C6DA9F80B512C07F6D -EBBF0015BE15FE5DA25D7113805D711300EF0FFCEF03F04B90C8FCA55DB3AEB712FCA73A -417BC044>114 D<913A3FFFC007800103B538FC1FC0011FECFF3F017F15FF9038FFF000 -000390C7121FD807FC1407484880484880484880177F485A173FA212FF6D151FA27F7F6D -ED0F8001FF92C7FC14E014FF15F86CECFFE016FC6C15FF17C06C16F06C826C16FE6C826C -17806C6C16C06D16E0130F010116F0EB003F020115F8EC0007DB003F13FC16071601007C -8100FE167F173F6C161FA36D150FA26D16F8A26D151F7F18F06D153F6DED7FE06D16C06D -6C903801FF8002E00107130002FCEB7FFE01DFB65A018715F0D8FE0315C048C66C91C7FC -0070010713E036437BC141>I E -%EndDVIPSBitmapFont +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def end + +%%EndProcSet +%%BeginFont: CMMI8 +%!PS-AdobeFont-1.1: CMMI8 1.100 +%%CreationDate: 1996 Jul 23 07:53:54 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 58 /period put +readonly def +/FontBBox{-24 -250 1110 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 +5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC +4391C9DF440285B8FC159D0E98D4258FC57892DDF753642CD526A96ACEDA4120 +788F22B1D09F149794E66DD1AC2C2B3BC6FEC59D626F427CD5AE9C54C7F78F62 +C36F49B3C2E5E62AFB56DCEE87445A12A942C14AE618D1FE1B11A9CF9FAA1F32 +617B598CE5058715EF3051E228F72F651040AD99A741F247C68007E68C84E9D1 +D0BF99AA5D777D88A7D3CED2EA67F4AE61E8BC0495E7DA382E82DDB2B009DD63 +532C74E3BE5EC555A014BCBB6AB31B8286D7712E0E926F8696830672B8214E9B +5D0740C16ADF0AFD47C4938F373575C6CA91E46D88DE24E682DEC44B57EA8AF8 +4E57D45646073250D82C4B50CBBB0B369932618301F3D4186277103B53B3C9E6 +DB42D6B30115F67B9D078220D5752644930643BDF9FACF684EBE13E39B65055E +B1BD054C324962025EC79E1D155936FE32D9F2224353F2A46C3558EF216F6BB2 +A304BAF752BEEC36C4440B556AEFECF454BA7CBBA7537BCB10EBC21047333A89 +8936419D857CD9F59EBA20B0A3D9BA4A0D3395336B4CDA4BA6451B6E4D1370FA +D9BDABB7F271BC1C6C48D9DF1E5A6FAE788F5609DE3C48D47A67097C547D9817 +AD3A7CCE2B771843D69F860DA4059A71494281C0AD8D4BAB3F67BB6739723C04 +AE05F9E35B2B2CB9C7874C114F57A185C8563C0DCCA93F8096384D71A2994748 +A3C7C8B8AF54961A8838AD279441D9A5EB6C1FE26C98BD025F353124DA68A827 +AE2AF8D25CA48031C242AA433EEEBB8ABA4B96821786C38BACB5F58C3D5DA011 +85B385124C2B6534F3CD1866AF92009D93B97F763AA3D16684AA65F029E776DA +3BFB75EDD46D562E6A284DB4F2FDBF7CDE7C1F3772CD7B6FD372842A0E07E3EF +68A98AB9278ADC2D35891543F57ED6DCFE8923368D556F1A8B3E35863112F409 +FBE67FC270328312BAA43A9A372C510717B50AAB01A1E02A9982113E2D7C601C +B0BDA1C0E081E546A97647B74EE5194C57ACD62502B329FED4D966BDEB4028F0 +F082EDD5DFC8387653D620E9E73FDCE3C155347D5929C3A24D6121AEA46BBF3A +B1C8A4793FB7F21C84400912C27D9AB0845537103553BF8F +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMTI8 +%!PS-AdobeFont-1.1: CMTI8 1.0 +%%CreationDate: 1991 Aug 18 21:07:42 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMTI8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMTI8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 45 /hyphen put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 121 /y put +readonly def +/FontBBox{-35 -250 1190 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 +525003F3DAD7933EB57E7DB1462E9D906F6D8F5BF740206C1EC5F36E00AAFF68 +F3EF6F3A2540E5F9564D1C215BC1E7E69C7D04DA5DB1CF195613C9CBF4BAA360 +84AEF3E10E24877FBE36AD731DC97305BDE6DB1F934909FAF60B8E28561FBC57 +0F5B6225425BFDE8F0C71CD4507B82FF803E9A301397975E38A259DE1E1B4FC0 +06BB1DC2D45B987A2268A77CE8DC025CB0D1B39788BBEE149103950650171C94 +5FED1063050A90BD38605BD9365D1C2AE42A7DA3DDB9A263FE10BD487F63D908 +D4F02758BD9D7BE53E6353A25BEFA29E42B50C1D078A8B3A746EEDB381CCE36C +93FC4BD1A8D1D6ACD0D355E948CFE397B74D243EB51597D251D0BAE6884D70E8 +FEE119462E1939A9783414DF59EEA5FF1529F13869D1FF0A44935C5198CC5DAA +E1FD2A17AEEBF4974052D06734A409E26C457C06700C55896C90BB33E044A737 +46590D9FA242819B9527FD59818D8829D4EB2D26A34CC05A2CC063E66F2DF193 +8E4F9670014BC243180E45B51DDB05AD1E6A7F619EE1CE09CFC1A4F02CB7270E +4482FEDF673EDED38EF3173C475C34BFB3F6623C5E942A7797FEDDD0EF1D54E9 +1D90D7076C0A9687E334907C22F2E7C603388D8D626B0E5A62B7543DCBB575D7 +9A6BE1528EC9BC18570001092524E4FBB02F3B29293BCB4F0EF14A2DD9DB22A5 +BB33455799E8120D2A4862424AA4A382972E2845E042506FC8F6E201D11DD0F2 +09FAD8DC29C3E12B66293ACBFB13FA0F26238981F2CD52B47A8CDE6DF5CDFAAF +3113E1A6366B806EABA9C34E5D41167CD10D7B639021FB4CFDAE28CE72A93F3C +E8929A4813956AAB24BE7C20FCF9196E8E2F30816FE2279CE3E6067667A39E44 +488D58BFD17606AE885FA06F478D359A6ECF5564C095FE0E5038425D8B152750 +F72F41B3D1E7420EE91CF4A9ED5BBE8C2275624AE257D2BDF5752E803B426F40 +924CB5C29460BC09EC84F3F3A95F6900836F0ECCF6A7BB85A3F8D650017E5FE0 +503A73644EC6C6B0254F0259F8DD4AB3945950974CEB34521881A2506E76EBB3 +7DBA7812E0186DE2C0AD3E6D42BCA320014368DD738408C54AE2CAAA9C05612B +E7F33218F2FECCE8DB2E4B3A3BCD9D8D0BAD7EDDCCAE45F6A15FD2B8ED263E45 +14AF0CC7B58EF52D5FE73023EE9DAB8249D1EB3B795C7B42BFD2A2852D2D16BF +CD71056F412571F41CF7EE80AA916EA4FF1630B1E226F474CC3195006043B1AB +915DA8A9484B930F1F00028287EA3802DA3C3F99961952E04B736CDEC7768307 +879B4D2D553518FBBA727266F94C3A607FFD5D85CD0FB802CA51E6A3792C80F9 +A637D47C13A787F5D9C5BAC24E843DA198B7CC898AD786DEAC0BA9B6EF955ECC +72DA3A8CCCF7F3B69597A2F868AE359737A9714AE6D81989B4152DA33095DAB8 +5759080AA156DF1F3767120018CE81D296D813DC52786586CF3F38EE3CE181D3 +9D79439EE13D4E5799E03338E93315C3F6BA8ADC731A0D8282637E524C1E9736 +29C594C6F19B49C859D7CCA98148215F7E6943637797641D44DC9FB8FA403FCA +BD581E477C7BBDBC84048141760B4EE0D181D585C519D02DEB7D1C650BB49874 +A75E95E6A17D8024346AF3288A32A7EDFFAE15BACD436CC76850F2EAC7EFF565 +C4273160FC5DC7434DB94BFA01D1648421FCFEF66D786CFF60F0031B649B6F14 +E9139B27185E6E9A70E439AA8D68C6535A42634FFDA55DE86BDEDDF3D6B73015 +37C7437A96CDAC620A29942E834F714D82774AED0A83771A152EAC0CC043CB09 +02574AFC4CA006FC0D24C3DAAF4D681CC1D2D7870F273773171A4977AD05A082 +0DF3F50C8A36D7D8AA96E82387AAFB48D048CFAE2CBAA88F1865B84CFBBC1731 +A212A44EB98265A8D4A8C118E038A0C3503B27D8B58846C4F3E8112C8B05A41A +9F8B0E1513528F5D7E509EE847F7224AA06819954974F8065AF49F21840E972D +C1B028B541BA1364045E814A9F8FB299B6B62CA150245D92588056992FE6D71B +FB16F2B42A3DE425B302051FCC4A2AA76F6146BAA385614913D2B11191CA6A09 +BAE8567DCAC342D013C7830A0F03D848397110F021C63C9D6AFA90ABBC2DE4C9 +69EDFEE42C028640F9784E8CA11B83B4E7AB58F8335FA294DD68BA87FFFCC743 +67239D7FF1C54B725D53581832F5307FF1995D8273EBA54372AC82B7D5EC5773 +8F52B55255502008E0EDA0646D4D71137D822A57C0E9E05F3D61B91436B5FFE5 +CD90CABEA89420F4ADD844733B9B0F0C72688B9184A2EF69966411DF2B23A25A +11F009C6F23E452854B77AA33129C531C2C7A8666D550A83CBA6F251CB016F0C +940EC74FF62C721F3D854404F431DB39548F0785C5140A9D406C06306CBB0C99 +B7AA0E4680D8DE074B369A7481F0C12BCEDB787A1A9E4C71C869F5022447E317 +E6B851B8D89144BEE028D2352745CB0C081A7E806482F74E7EDDB5F1601A58D9 +EC5B92F7DAD1B462B0EB9DF22604BB2D617AC6056E723110CEBACFB0F6ADFC92 +F64C98F9910F91A8C4B39EF508A1AA01656C41247E1E8280A97089C515A1792B +509D2DBD3C5B6972F6829B60135247B75DFA7C067675B7010FB2F116B5009B12 +1F139A8A3E25FF52BE00D9C4AE67496958CA3D1D4568218542B77C865056E45A +0A07947C4E7D16D24E07A77ED01F10226CBBC21E0DF75293CED54214149619A2 +4A591F3F99EB14032AE840BEC7313CF1F24250BD8D6BDDBE85883D35D6907C77 +FCF01A7E8DAA9BF8E47DA3225623B645891455874BA99ABF9AC9CFABC083127E +CA636C8673A1ECF967BABDABF1A569319A4E382E7C593CB954522CC9DF04BEA6 +57297331734B3959805B89F96DD23C38DC8CE17C7373EE5F7A9035557E40C310 +7D1DA91F87F0CF45E54518B549DDC5F91851E2899E9756A069CBAE8E63A42974 +299781A390072C7E59B9433F9D47111900DEF4E4F10913BAEE90794333454574 +37B7A46664522983EADBAF6155C6A8624CC7FF1A850313072EF5B066059CC840 +C4A1DA2BAC6DD27D3D3BC9653003D5B25405492BB64FE4A1C294F06492093093 +A4B0175F6DBFE6C4C28C310F71010F97035774250EE0468E54A7CCF54465C7FE +7A70ADA08BB5B6A4AEBB3F60FA39FB810E6D7B1FBF169DEF45FD7E7EEC4B273E +A11269ED5BC9F8250F8D29BCBB656105FF2D71FB624F7A67C899828D3A563491 +9CCE8EF268F2A8986577C3A752F91B650DC9717A89F76DBAC254DF1BC705308B +2E4C7C55A152ED1AE945337B93E411B46DF56DD8F0942DD8403ED15FA515079C +A1035F3C7A2648761792E241C6710503F7A6093FAD8BCA34C0378700928762E7 +FC371BDA7488C95F69518E1DB63068E740942234A79478DF18C5752490DF199F +95C654423257DE301117F3C379DA5C90392A7BA173BA19BF2C35C9A0EE180098 +C228CED65FD5241B5DA3D318891994D363AE49E3B0FFDE091C82DB4BE7B240EB +159050F74BD181337EE202011BC96EB74C68E8BBB26E46020355378E6EC2B9D8 +89DB7907378B83FDC294B134E69D5AC1B2CBC821420EE28CEE8681EA3EC902F8 +3E8503A833B675E21679D6C5B7041701FC553B95D2DB82987EB4A010C8DCD9A9 +C0FB4C048617716CEA638CE3A16C90E55DBF76408A71B3B7FB784820EC3971EF +726DBE12A1098F350D9FF84E1846CD57B6DDAEF32C6B839644F57EE6B256090E +C711154CB95AB2910587E15E3F16D402943157E9CBA2174BE93B820951499A42 +F797664141F9F2698166395DF7116293B6557266C7DA28E2FC1F8BDA4B00C07B +6F7FE6AD4937A694EA423A2B90F9EBD30B8D3710E7E6D7BE15BA631E6991EE2B +1A28A02C4CC51889C37702E57F13F1E54295D77148C7EBB6B006DD232EF94D83 +20FFCB794B221BDEB84DCD737D301A44B8414B4591BD1D184C85B09BC5E28A0D +7DB0830419C1D92775DBFAD72F2D7E581EB08E516B0DE87BFF2DC167EBACE23B +73A3E770832A7A22B28AD12CA07DD15D22FF5EE53C48C55CEE77BD2D429571F8 +9DC52FC92A2D4F7BEDC0F27C39E7BFBBE38721E56234E9AF5FF1EFC753C8E281 +4EAF702CA8F08D3407FEF7E177FDE6177F6604B47872CD9EC22A6644C5A78CDA +FE3C51033C45BC1BE224F09EAF923B058E13ACDC61A0E7CB5C999DB0C8543BFC +4D65815338F65AA12BDDFC1EF5A249270D84BF1377FA064F62F41787F3D875D3 +0E4EBD38E30D593389ED01180CA5AD540A89B31933BCEC4DEEA2CFA94C03FD0D +290573BB3162C80FA9783A66AF33F11CD9437A7EE16812BBC32D80DC10057A97 +C83152905B954CBE464EF39D40056FF3047D9D57B9088A7FAD48E997B5096D20 +E21F9FF5858FC241EC16527F66DE8B403281A8FCA32AF1408D05387C3BFF79CF +25C5E6EE231B17287ACC5643C94E54A6962CE33246F7D03060042B623CB80C2C +2E2AC47CB431B64828D8D35426810074E1B98188A866406D24B8020D2082961A +A4AA27528B60C098CC0F8D34FF1DC6C5A4836C028B2295A4D8281278264283A9 +ABE23AC0A2EC42562FFD6F5FAFA72C8A029F333C26D8CC5B972073019BFB320A +966156DEF26E9AE303FB4E20EEC86A48468755EB228C5BDAB00714F96797F5D7 +E099755C8F80F0E3331B038527D5743345DDB65784D8234292AEB642C74D95AB +8927727F73AF12F8B189BDA6BE8BE6A08333ED0E2F6F95CE8367174E0280565A +97E1F70518E142D658D2335C2FF8C7C401322D6405D0964966EAC8341F34BB5D +1C654BD9D3489E6F730BB646EDE9F8607F401C5DD1B310D7D422703F305ADDE4 +BC45DD88E798C4F4286B117962E210BB9EFDC968BEE0A9C3EB6B35D1C2E8E50F +9B9A8D965B63255791A17BF7E7596DDB15B617B98A8E838DE92775EE9338421C +9A4C9BF5B8E78E475E814EB117719239075BA70DC806DCEF05ACC948AEB8378F +DBAFC9D998270678435EE7F8E262C2341B173AEE3F9A2EBC2C74CB158BE302D7 +A4FE57E744271A24F3714DF24DDC103687754CFC72ADDED342B5FD5CF9D13D98 +1A13712D09148EF593050E8099035C6B9AE8CFD59948E786E3EC4E1F426FA3A7 +9082E10E79CE44C2D9FA830113503944F8D23CDB9C27A3570907FEAEF76D3ED7 +C8E1F81DA7A51CF5B723F0E4C42E3ECAC298B3E1ACB9679A1250633C373805E5 +C9496CF87FA7A858656D4A663D3EE3218D9792CF705C361994B69461026D8CCC +130FB9D34293701A137E393F5AE79DE677D13DF5AE9EDDC545496A8C5456A860 +B36397BCC78EF754B6965D22004B978B4A55409F73C44B9FF02801D524740B9C +E4F45750CD7E45235F376CC2CDCD3BC1B8C7658F52A5EB185EFDB6A0884FF0AF +1958FAA5FDF4595D6EDFE28FB5249A40BDE8BA11AB0E997E9876CA0A0CD05A5B +A26F60316F61DBF6E65F43089BDA2D57F00EC72BA3666952E730B14C79FFADB5 +7448ACE6463BD29995D6F6F571BF3D0B426897E457BD30FE76D6CDD6151A94D3 +3D53801608A7E865A01A2FF3D915CAC2614DFDA0A931E009FD1CB63FCEFD0A3D +B26711BE84286E389805941573E02841C8E653FD3131316E768E2D096E5BA648 +9F03F9825333B2DAC376A79850AC29CEABC8BB1E7D4E34F37D6E9F388124A9E1 +9981131FE0F6718FFC580E678C9D8C1AED790D0C0D78407050D5FF315E605C73 +A16D6868E5DE5E8C1F63A88E159CC44DC0BB3E5CEC35CCBB7493975DC55F52BB +A33709E5AE3066894885728EE784142B492056EF876521DA69BE39FF4E2BB95E +C60688678B37692CD40A8BCD585240B0AA809328CEC0F954F0D50DA10DF61A21 +EADE286E22F67227CA286D9A0512EC909DC28518994C6D6E207D4D00514B0EF9 +5DCDA5965D827642072E6DB4B23D1F6C3250081B4D8E66084AEFD663C5F26E7C +E19A4F3C9A100FC4AADA76F9E4AD474D033819801F7444B51203366CC709AD98 +F62722F700E13DB42D80041014AFCA8D12B23B85BB2302AB944C437FE0FAADF3 +E86291BA50463C32C29FC7D8E4B5EFED49EC40947016D0846AC79E3776E62388 +372568D2AD0DAADAFECEFBC4F7E6A8B47C214A +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMSY6 +%!PS-AdobeFont-1.1: CMSY6 1.0 +%%CreationDate: 1991 Aug 15 07:21:34 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY6) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /CMSY6 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 13 /circlecopyrt put +readonly def +/FontBBox{-4 -948 1329 786}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 +7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 +A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 +E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A +221A37D9A807DD01161779DDE7D5FC1B2109839E5B52DFB7605D7BA557CC35D6 +49F6EB651B83771034BA0C39DB8D426A24543EF4529E2D939125B5157482688E +9045C2242F4AFA4C489D975C029177CD6497EACD181FF151A45F521A4C4043C2 +1F3E76EF5B3291A941583E27DFC68B9211105827590393ABFB8AA4D1623D1761 +6AC0DF1D3154B0277BE821712BE7B33385E7A4105E8F3370F981B8FE9E3CF3E0 +007B8C9F2D934F24D591C330487DDF179CECEC5258C47E4B32538F948AB00673 +F9D549C971B0822056B339600FC1E3A5E51844CC8A75B857F15E7276260ED115 +C5FD550F53CE5583743B50B0F9B7C4F836DEF7499F439A6EBE9BF559D2EE0571 +CE54AEC461D354A32E69F39DD0C017BD6576F1E9500DC0328E8AF6EAB528FD7B +85132A2A9995EB211FCE849216BF6D663AD649AE92DA953C4D520AB9A22D27B5 +6C34121FD688F9E17FE39B939D8DCED9EDDE5AF6DD7DC2297F2A3E1287E5AF45 +0306EDBA3C843FB8234D0DDEC7595CDE6657E499324DA260BACAE9D6DB126FD9 +AAA7368F7164F6BBBBE11EFFFB65660DA0961A97D51ADAF2136A085FDC16C199 +72BC2CA210B330C03F4252A275FEAADC95CFBC79C3B7285C4C7B5C9665909A56 +4176C37DCB569C8EED1B59C58B5EBD3ADD31010DCFD59411FC2020E238A07B83 +2439DEB653AFF1CF197533724E45EDA9810B6793E27943CF51484A5BC7DC61C5 +E97F71E04BB623E0BC9C +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMR6 +%!PS-AdobeFont-1.1: CMR6 1.0 +%%CreationDate: 1991 Aug 20 16:39:02 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR6) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR6 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 53 /five put +dup 54 /six put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 73 /I put +dup 77 /M put +dup 78 /N put +dup 80 /P put +dup 83 /S put +dup 85 /U put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 121 /y put +readonly def +/FontBBox{-20 -250 1193 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C +68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 +3645B82392D5CAE11A7CB49D7E2E82DCD485CBA17D1AFFF95F4224CF7ECEE45C +BFB7C8C77C22A01C345078D28D3ECBF804CDC2FE5025FA0D05CCC5EFC0C4F87E +CBED13DDDF8F34E404F471C6DD2E43331D73E89BBC71E7BF889F6293793FEF5A +C9DD3792F032E37A364C70914843F7AA314413D022AE3238730B420A7E9D0CF5 +D0E24F501451F9CDECE10AF7E14FF15C4F12F3FCA47DD9CD3C7AEA8D1551017D +23131C09ED104C052054520268A4FA3C6338BA6CF14C3DE3BAF2EA35296EE3D8 +D6496277E11DFF6076FE64C8A8C3419FA774473D63223FFA41CBAE609C3D976B +93DFB4079ADC7C4EF07303F93808DDA9F651F61BCCF79555059A44CBAF84A711 +6D98083CEF58230D54AD486C74C4A257FC703ACF918219D0A597A5F680B606E4 +EF94ADF8BF91A5096A806DB64EC96636A98397D22A74932EB7346A9C4B5EE953 +CB3C80AA634BFC28AA938C704BDA8DC4D13551CCFE2B2784BE8BF54502EBA9AF +D49B79237B9C56310550BC30E9108BB06EAC755D6AA4E688EFE2A0AAB17F20FE +00CD0BFF1B9CB6BDA0FA3A29A3117388B6686657A150CE6421FD5D420F4F7FB5 +B0DAA1BA19D638676E9CF159AC7325EF17B9F74E082BEF75E10A31C7011C0FFA +99B797CE549B5C45238DD0FADD6B99D233AC69282DF0D91EA2DBD08CE0083904 +A6D968D5AE3BD159D01BDFF42D16111BC0A517C66B43972080D9DD4F3B9AE7FB +11B035CE715C1218B2D779761D8D7E9DEBE277531BD58F313EBD27E33BEF9DC5 +50C7821A8BBC3B9FDF899D7EAA0B94493B97AFEAC503EB5ED7A7AB600A22D03B +86A088CED7AE528182D2EBF4D351FD835B5DAB2036F44604002D0E21510DDCEA +F8DD36174C2CFEBAE2D183407AAC7D4D52D51D5B2890CD3B23A88228089D26BD +6E7ED4B31A60C45C7D8C00274A812ECF682228F241C13C41497BEAE1DB58C3B8 +3EED1B4F48D1A4706D71EB098C4FD67CC7890957724C12067CA54A2140855928 +E6197231734CB46E3EF820A1C19A6AE55A2547EDAA9994B59311C2D02BAF4950 +2A8739E2E60A1490884101F56392D67FBCB271783118B2568E2DD484465B899A +8312F466470B4A490266852CA56F7F56991A746CCD5A365EAFD700D47D11860E +2E2B21C90AA8B3F9915F81F0E2C2DF98D942F3CEA2300F2B9F6BC99FE21F2966 +AA932F222C35EECC2520F10C110D6FF9A32EF56A812D3760B54B451C79D6FE5F +3F93D3E5F9E4D56096A92B9E953F160551BB6FE26206D6A317219222AA58FE76 +6C758416537175D1F7DDA512DAE5A4794216C90B561F6C29C44FAAA5EB719F20 +43333A0605C0A095D8AAC862DE53BFE3EA97A756193E9E74E7604AB5EEFC1E7C +00888CF0F286073143ABD034A1BD66E81E588FF34930DA0421D01B48A71EF115 +BD68ECA6C15DB673CF17821A79484DA091B0FD42820B35ACBCC4E2873C3B4950 +F76EFCE8F0A80EAE5086450D76847F299FFEFAFB731C72B63DE42CDB342B1691 +0CAF1AD419B1B3102894D78C3ADE69C39ACD063566B0118C0E127D4A7C013D93 +C3F3A8D55B3A6BCFA37FC6796CB40EA156958F27435A2832A5FE55A08B76E258 +9440C4741B30E211BD4216DF1EDEE02D168A398B6769F8D165B7D7225D278BA8 +994DDDE391F57EB890156023E6E3D56E22843F3DCC582F7E6C571EF2BB436631 +A7E7738ADDAE7A0433C43A8A3B90AD8952E976F348973F79797E5B68469542DE +D610798FAFF13B24AFA2574BF898DBD661417C41BD0FB6D448CE99BFABB91117 +E8CDCADFAD71D882E51DF28B7D04624615C826CBFA745CD903E2303337AAA886 +DF481C65C7D914DE22A026BA75D232481DC320B89A9A2F6DA1D9E54C48CDCDF3 +F657A66DFEEA1FEB0E98A71666F115BAC1286D5E0273BE8A67ECEDAA1BFA4921 +E96E67138F28919D708719107D48D8F0C4E4DDBDFE6DEC21C27F260DF7A46327 +D924F8918E2F0837760BEC3666C7D5D60A9F2A7EB0DFAECA1AE4A79C15CEBDA9 +7592B665DFC923D1C6ECB7A3444016A1F9760493BA1D71232BF2576DB84CF966 +7A7466A55FDF764D4BD7810541055B989E8A8189ACA63014CF403E3926C4F455 +81E25361FE1339777B597EFF1CD63F007EE735B9049315DE035415170248B359 +EF4A0BD6960E23D3318A59E11190AFF749ECEBC81B0D3E26795B6369309ABA76 +C1E2EA4EC1DB3065E4618BFDE7729263920EFE5236EA355BC30C95C62718EDDC +69C3824B6A450B37974FE23553D0E1ECA572155E53DFCAD1E4F7C40FCCEB42F0 +8A41A4F516B5937D75FBB86BF290BB6548FF327853DC5A25D002A381A13DBAE8 +6CFD76979CBD26A4F4D97A791BC1E65AC1B34F43AA12D9F5E66E85E368AC33DA +2626EE4E399623D6449037D555E35E0A22E4AABC91B360D7A961FD335E37FAD1 +46DB866561D431B05A65BE91077FEBAD52EA5587D5DB86CBD753EB270B4AFDA6 +68C0F1232BDBC07B5D7E2B58AD4FCE8D004149EA212653A83BCA85A1BC8E5AD7 +D15D165521AB6377FA20A09413403C79B1266F49D983AD0BC50AB766F1CEC782 +4609F22694540DBCF5FD113626C89BDCAA59F4905D07BABD08BA49F976C0A79F +94A77AD26783AA9BC47B8A11CAA11090D09A88BA948844A45BCEDD3CDE0EF114 +2E16ABAC0D90E7B7345C04B53577218009E67C7B7010AD8DB0FF1073DE31C770 +670C6619622031490EA2A2D1A9FB80DD21A5ACC526C2BF0D999651B8E22A28FD +47B4708B288F5BED8E5DFBE57FB3FB33F00657B8544CDF6CAFE1A3BBDA9F2296 +3C5BEC4351412CCB9AB6F450188D307B9AC70CA7D9DD184414833868B27BCF62 +C8CDDF23A7D796D0A1F8155E66EC9D7B35BF0FBE185103A37EC12981EADBD16D +70CDB2D685FC168F08AE39F375739ADFC915A63C6A7246D164A12569155B956D +A7A5795A6EA9D4FDB0AFE54C63CBC01D5C338B68DAC3D23B110527B91BC0527A +30D7E8B7DB2A6CA19B7C71D78D71C41AE0557E0A9CF2F3285F53CEF69DC3C91A +B3EE632FC1416B4B36CD2FDB8BAE850FAC5E9E0B7B57534A8D86948074AB123B +B39EBA873F819AA42D36D4E07E2507EDBB3144337A743FB436545938E4DEABF7 +03EF9E9752B4DF79396023282325AC3AD52F42430A97C54287C94C3C910D025E +B6C40DC9A11D864614393CE973DE186B99F4B3C0F33CA18E1D30F8E8EA70223A +36853FEC29C0F96B59A6F59C0A33712B7053001FD554D23D0FF848FEB3C7EC9F +7455645E42209FD5B8CC08A4A882E34275F6EEC5B16E7A7DE6C9D8941EB6BB46 +ABA35AA067E0439AFFF7DF7A660D66C8503BF35EC83C32270E04512FFA90618F +6825695BB8ED9F97C4FA706BB84B66A9BB210628EBE19ADB36D679CF9E7B3BFA +4D4764BBB31682A14FD537266E2CE1F4640131D324382542FF8B8CD9BB108B69 +6655FE8FCFB277A88C58A7E2AFAC9B740D840EDF1DFC50747CD3EA1DC24B050F +B12404954E42E14DB6092B38F32CBAB9546A9784BFF7FB16FC0F3D2875A35A16 +75EEEA82FDD3DE0BAFF2C26BD37D229CA06A002529D27EAB41E20818ADFBBB5F +0AAA37BB95CAD96A3F700C2E5B7DD988E89049051077CBDC2DDA592E2B99C090 +53C7D459D85A72B01880F10F9919777AAC2A3133B8A7CC5926ACB6C87B0552BE +D310D8E86E5F4B142850D45664F2CB087C0E7546DA66214DE18E67D1BF098A30 +137068F9E9735933B96B4242E805B0D4E58FC9EDE7330D4217C9315BF6317608 +ECEE1BFED5BE0CBCDBE36119465AF20A6D7A3244652112A1E602C358D5271595 +213FC19C6562678CA6B38A817C0E7CD65FE588A1D9307FACB838C6F5461C0ED0 +888437043743899769E94B7EFD49B022E3A663EB0A00479B5C291937407B52DB +36E71F524C1C6F4A91BB99E1A824A25C3917DDD42FC2F9DF16BB14C4D28CFFA3 +BBA2BD381C27AD1885F7DECA566B15C763B3B4B3F3EAF3806275D8600FBE4B42 +D1FEBC74147DB1CF64549C9C7DBEED10F44F4D585371BBA5357ACE0BF864231A +436FEC2C90C94ED01324D5946B89CC05C087CEB96AF03E350BDF44683BDD566F +0B2C48C4041411EF91A57119C9ADB0F2523477F46F72FEA57ADBB2AC25D3135F +4F0BD460DC6D8E29830341C64BAB91275E9CA08B713955A5D344EDAEF871DCC1 +B50F30858C3C3666597B73A752E93DF128546D1A1812C5B916AE1F44CB36DBC5 +A26B5C3ECFE3A3E2A013B5BAD5722A8943BD678F651528ED340EBBF59FE47E0F +D7BC565E44C38FF7697C3F1569C241D339EBC685E7C4D7BBD318B74E6AAFC97C +49EECA3B147E485F1F2475AE983A18395063BFDE981F51E6A2CDBF1906E499CE +6C6403DBD85E65E44839011D7E3F62B7504A9CFBF6A5D3C9AFD6BA64E636D7AA +E43BD83ED14C6EFB36A5233A5D795622583AFAA09000C8557848705231B6ED8E +5E3FA79173C172763C70AD176F4F3DB0054F144F661F9F028B596107DDA43168 +11B6A56CE4D375EB9F3DACC6EC06F632CAD1D994217FA7DA1C56F681FE7CD0AC +6CA60BCD21FF4950D20D4A3F11E0662BC1D3CBD8AFE2DFF3DA1C609E0B337B88 +87B6FC6E735DDEFC00C491916F69D0478BA2C346608AECD337AA80031A269380 +45E450ED7BEAADFCBED412595BAC771ED3C1BFA4459A6278EA1F00CF89C9EBDB +0A43F9CDF70A0AF808CB329CE9907FD5B36C3AF5D1C475AC99A6D6F22596CD42 +1CB7B14123D38D8FD9109438D9F49EC8AF29176204C0A776C60009AA148697B7 +F5496C6FA123F9ADAC59400E139A0B886E110425839B747241A0FD2DCA8621E4 +AC3B71FFB6FF1BD4FC5DF726DA5F383D573640774EC6327F772290930F2656C3 +3D3B1FD3F6B321E0919720F03F3C6EC09D05629549549CAF621EF916071CB6F1 +22625657C27985471E16B21714100F8B80A2C4035C5905C54FF95AB7358117C0 +DE70C0FDA8187FA316189D13A9176C1171A318A81D6A77F0E54D6DE37E5D81C2 +5BF1C7EFFEB8D130DDEA4250C4FF4F1BD1B535A20C3FEF972323F114A9FE90D8 +48162CD532AA3423FDA9AB00AD6754C8216253CE936DAD6AED5BAFAA64921186 +E217F709A73D6083A8D04F11FFF49D2D8AD5A55415043A8EFB32A478B9D70F95 +D9E63A92B53EFAABD9BE62461FEAA541F5CA67FC137E3AAEECB5BE50FF74DAB4 +18BAAE0A7244F072B33F3AF7474EBC681DDB09F4A11663EDA56268CEE9E653D7 +4C068E233BD3F142653DCAEB01E2825AFD6ACC54659F66B21AEE64F66727F033 +B3D7D17C051B17B4BF41DAC5D8FCAB88A36DEB62BCB5D248854EEB8A9EB2672A +391013A66539BDAAD4189563B45C2FB57EBB9B02BA6845FE2E7D66CED6098014 +2831ED864C366FD3D2A36D9823E84C686D401BF9F01B71CB9864AE245E34D554 +4DE79FEE3B5C74846967D0512CC9FC103DCA3DF48D0D491E70C8A102AB9A92AD +E868509AEC8134C6587B505139FC438FA994819CD17F108C754DF744F31B0731 +E07BB4F12389EA058127E75F5AC024595CD8477F5FEC80AE9EF2109D0FF15326 +808FC436888B98938234E93EBFB0BB009F8FACC9D0BC0058E37040CED69EDA45 +D08942E834665C0595737BD2C4B18CEF53BE576C03427D0EBD25D335ACCB2473 +63B2FC3FF036BEF8DE2CAA9308E089C591C331DE41017E36914FBC5426358701 +151572CE393FABA2C55D67E7CDC90C78CC6D58C3C6DF6524E5A9804D0D9A0E3B +DE85F7D0057D2ADBB04FC0077E0080DB404726A8AF5029FAFC05589D835F9ABF +ABAB4C3B3F66384368D4A2B6B3D6C1EC0FB4121C59D1C5C50CE8E65E988D06AD +7D03BDC5B095F3BB54A1E4E7DE57601A28BDF6D1C8A26268FE2A8B510CC62B10 +A2F69EF9E8A766BE982C9D791B42C10502F3BE4516D103DE941633F021DDC99E +4C6BB01CAFD7B886E677897C775485878943292F8592C4DED879058D96EF9F10 +B89C8BFB5567EB7D53B13F1C9893A60D22246DE121C993E9EA563EF972E433BD +DA1119607CEC7C89145164BBF82194A31932BFA6EA40A2466EF148E9EF09209B +973714C0DADAD79BC4DC8F767D948AA227F9A12F46262ADC3FC80BD464EB3750 +51CDE98239A728AFBA32DFCDF0E04F1364399121FBA23EA9660E71F1BD2BF976 +F6DB04FE31B3D89112C8EACEC00D8BC0834D63025580AA2A77588FEF5F95BE78 +7AB5A9BBD218B94A7D7E14AE6FC65A615D39058DE4644A126ED9AA1EA03B0A90 +9B8162D84A883D5BA85B83BE8E7EE7B3EFB9F50ACFBFDE4178C4D12D6054A046 +7CC57C142E055B9B822422C9F6E3F2323278AD2299BF211302CAD720BD980980 +4D4EBA8BCE79BC6613EB227A233BF4E0C5B73FD1C424689FECC8949C19E581B5 +9B4534060BB017C315E46E102F9C54830C11CF867846427AFF0293B6EF11970F +A5E75BB89A8937512FAE083F1BA63BECF2B5ADCF9618F092F461096C565B55B8 +714F9AEAB4F76920A80BB74538CAE55A617C3B265F64E1B1EB19D96DEE120581 +7FDB28B9823C6F5241ED566AA02650CEEA40E6E1A2C6DB55590C5B5572D8F57B +6AEB288D7869B6A7A50B27E496905CE770852E9BE460CD2D1C723FC7236F92DD +727B27FAF82E9E7F32BADB7911ED3C6525D913BFA333EBDC18573F1441624892 +EB53FDBB6A945B38FC9C376C3D534127720420E20DF513EF381E2B6B5D5E5C23 +83412BD67435CD6BCE407B8FDFCE4F0A0C35E5DF9DDBB2D1D5D7CB2A45D886DD +58F908A07FC48C245DC31F28D30FFAD477A1D1AC593FFE8086D05B285C700996 +2CB06125A817D4850B6D3DD246D671554AC1F513932BFACF92A15B75F87DB140 +F5225D5B066A913E6E3631F160CF60F54709FA0DECEBF1BB203F4D902B4351EA +6369E4872617A98DDA8BFD29E8933D201A09149077EC934C0B082B92244DBBA5 +0E70943FE5E1E8823E0620C857D8A3CE3F857FA05A0DE16D7673E9CF27C847A7 +C8A8DC1F7B8E80A652C47C0AD748A60D76724354AE6D98D37E164B8DF1AA36C3 +04975386BD0C356DE67AF3AF9A2A7C5AB957994A588CD1BF864C64C2D00F8D07 +CCD30A5BEED0371BD23A4622BA3B8EFC35FF8A552E770FB899BFDD7A924F228B +95B56FDDF795C0D469B399FD0DDC140CDCB61C6A6E30561CA594D7A7A0E86CE6 +B8B4A04D3651CEAF4D11F86CC71A66DA5D66555E27B1D3503E92E368352A0501 +FD045A7D79716CA26C601CA2888B9E57DED1163C821C10EAFE81CF0461A92413 +BB96D2CBD385D17430F3DD50B260F58DB83423E826B9F55FE96ADC290621D17C +8E4BD1A39007D3EFFB5EC104D2FFC18DF08E16753C26836752BCA0F190882433 +00D86B38E658215741C887494D161A56FDEC75FD5C4E3802318C3D2B72987F3C +2DD3B75F669F2808F2A9C0880852A4A6236FE8A4AA4FFF753FB8E0403A9926F2 +73A342837512D46102279CC3B105A959516C9CD4FF86C704BD81A2DB5FC1BA55 +4798041822419EE5B201F48A1C182EEB9530D6205677136F81D3D911C98FB220 +C04E1532CBB717A68A5AE74FC5F6ACCFFE1ADBF194551F4E9E8C481C32345FDD +4615B1EF62FB11C900DF204485616A9D37EA2B41E81EB1854570A07B76C7A064 +2C897C81FF81F703AD989D304CF7AD99F9B900681C935A9FD79C0188B3E2B50F +19B15C3D95D0319406F917A31676DB06839E0180EB5AF09ACB81A4493CEF52FE +F606841668FF02BBA4492216D789B6A3C4D9C3FA1310305E9878D7457D7791E2 +4F4749102F501AFF64C3EAF5A90B7B85DF090316D74ACAC512B040C19BBC61CC +2534597944221052369729EDFF43EDAB917F2117353A8E76A6ED790FAEFD58CD +7B0F694B156BDCDA89DDF6DCF2B47B71CCC037111432C562AF9C6B6CA1D1BA78 +FCD24F49127731799F7A0C29786E2DAFBE0A24DBFBAE0E9A0DCD44E4649DCB7D +2916659DB0C65232B5CDCB015827F31A5530489B79A6BB45D68E19E3ED13D3B5 +31DC8454C68CF35E3E8FD307CB301884BDC0A03EDC4F08D4142E20494C59F6EA +8CE8046D29869C7DDCA98EC906411C57957D1C8FC5404434250881714434B1A4 +5E368208D33D37066855A8BA7318DBEAABC15A83F2E1E50362142A67E443CF03 +E31904E3AC02993022789C3A1638A2056A0D94EC8D64E2A13CED8014C4F4FA51 +8F54801B2BDE7F9F2D0F656A09EB713E8A97793DC5E7F7005241AC5D45BF297E +429C0CB733F1B86A28AE15CB627C98548AA0DFC81E7F62817989E325324AF65E +C44FB6A9E42A270D789463D125EEEAFDA57DFD09C94F1354D5FB7B10D8F9F47E +B6F581CFB243A6B634647EB496F2884CF4DEA98503F4EE906A38173D2A6BDADC +A21B3C206B15BC842DC7FFB7022AF0F963177F310E971319B9DD3BCE508D4B92 +AB9B051FDB2851502D383EE103C4B0B232E32642E305838BD2D3936387816961 +762185C7152062F990585E9055F94BDBF7BCF46EE1E5D30558BCCB4C996F27B9 +05F40807866C255B81A55D0739041B5275A66F58FC149778AF1D2D90BD83397A +33AAE594FF0A34FE74F524FEB43A223F8E29D7ACEB1E8838EB0AEE7A5AA401CC +9D93AA03026E0879E9B7C7BB3FED71492BDDBB28EEE6860FC9E453B0A73982DD +7AEA950B45736DB924A67B8E88945C2FD9CD01AEAABDFA43D12083AF7D4EB987 +FCD27CA7EDE61E5707AB481BC4B566887884C33C89A2D0B234D6135BBE98ADD7 +90BB22D3BCF19B4C69FAAF0F7946A8E3ACE5C933E2AB65511E861E3C5F9428B7 +B6B61DE712F224237AC705913D0C15E717D00F1913ACF411528D7A0BA81ECC2C +EE9C5A09F0414B01AA880EAF1776C3C4C965FDA4FF258C2C10ED0C0F894F67DC +1EC0876ED390CE114D4635F1F7837381CC94F52F4DA12FB9C700B94D75E282BA +C68B284F09331DCA78387C2F262FFC436FFE0B62F304CBC8BA5C287736ED17EB +7ACE389AC473AD84A72438FD57D3F8BC75E058F0ABCB016BE01ABC26E1F2EAF1 +406809EE7F30883E006C5D62FE0D92AF0FF209B881537F7B5A34443B9A94A6D4 +4C6749230716E53A28B429458A485D1C1530527C869EAC3DB8E0928515CA5370 +83D760905152AE563F58CD82D46F80BBD9D6CA797FC8720CBE190D7264D4C754 +4590D83891A2A01C4D43AE46AECFB938899BBFDD5A0719AB0B51BD705B33446F +24DCFD6C9D7CEC05CBC7084CFC316B0370E9F9C5F3808822C8D29CF927C76BDC +E6C31B044951C7F455686689CF06E8138A7B19B7CE1DFDE3343136DE9287DF1E +81778DDC3BCEF0D6DA8DBD4D56D3E06FD6AE0B51EABDB7B52024636DDC0A2396 +D34630D3E3F47889DB84CBEFB6270B85E448E02F6E81A338AE0230551D629FF4 +94A5859462DCEBE89BA8E57E107F6AC587F79CF8B427C493A5C14AF7BB045176 +A9FEE5E34663AB3AF9A8CF714DD1DD50E18889D04110634B15674D68601C4ED3 +BC8B95B927E5B2E16880E1BC5CE1FE385A2D416973B52C1A2FE4332E964074E2 +94A69FC4946F579CCBC12BD381A80B5F2B1C662CB98138B58EBB93BCA99564B0 +98CF2EB381B04F005343633B163C4DDE8A98500B447D2BEB878AFE8982510794 +D276A4A6DF3D36B0ECF8CFE7D3ED4B364B08AF5012B5AD4BA29FF5886BDF1BB0 +72378D823C1929FB02BF7C9E41B483EE3D18817B056E8FA98FB9863D79EAB517 +54BECBF7579400AC5DF7EDE80E202AF75E66C48257A50390A9784BD6077C8FDB +CBE3D17F8BAD802E97087A8353D3412C24B0F886AFF91D101A5833CDADF898B6 +DE548E996DAFF04D6CF8668A5CFCE8400C2737D0124A97083CC808CB80B24BD5 +0162448072D97FCD1FACC4146559DFFFA11BDDE0E2698D92A9733C10BFD23E38 +73151FA9C0D030872CFA02208A31647E1A7DD2C182044D90F90D48A9C4C422A0 +FB5A3A88331168A296EEDFAA02AEAEBFCA1A698BF8A01F109EF2FB767B4F679D +6A39AFF1972E93364E5FC5E52CCB76B06560A8FCEFEA58BE9893F9B20ED2CDA0 +F0A2EFF2C9142A50B73A1EB3547C2B7954BFA47C590FC35260C75BA557A36AD8 +18CBBC03CC65C597F432FA0F0F27DB31EEE7F754781BFCD4EFF6570BE397BFFC +35A7C0443A8172ED4FCB128DAA55D7A0AC14F9FFF97A43538C005ED8A1FB1760 +8D01F3440420FFFDEE149F036E278E481C35007888431CA712097362CFA27134 +36FCB600FD4C4541659571FC17B8136CF3860E2A41177C4E0B6B5E39B51ABC5D +5B5D6D732DD3D122B956D4B4328F15252762249F5D50EE7E37FBBFCFE28B12ED +48285FF811045768B7893A838F0E02536912157475D473DBB14CB666A00B400C +276DB1129A8D68681CED61F7E21C5761AE13FC383F55BB6FF75579CC533AB682 +E2811BC342AD6E899EBB2B16632CCEDE09B05F9DEBD65591D8CE0B6EF0FEC4DA +10A55429C85B679511962DB373C41EFAC813C0674DA0C2B02BFD0DC1CF82E26E +15BD338FC3236CA8DA4FB3437442EFC077549ED51208497C6B074DFB6D386333 +C0DA4772232A367AC13665201336B291E8F08BB7B30F88A3959B21C0303EAC16 +BF5BA8B4F051B58028544D56A13B171BC76F3854974A0632E262C2B90763593C +D85BA7A24030561D968C05E641F3A72EB769B4 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMBX8 +%!PS-AdobeFont-1.1: CMBX8 1.0 +%%CreationDate: 1991 Aug 20 16:36:07 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMBX8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMBX8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /ff put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +readonly def +/FontBBox{-59 -250 1235 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5F05C11F9A72F5DA508C30BC4BF52C8B1EC5FB +7F9DDDD0964A6D59193A389D490DAA6F6ACD02CF71C06802F3AE5A001F2B3A6D +EEB60E9DD26DBCE1D29C825A9BEFE3A6572E70DC7B60344C3E0C9C77ABE1804C +7ED61C544F0B4A3D6C7662DE8575C07BED3F6DBA7D64A9C8613AA152B74A140E +AAD9B66E0FAEED6AF9D1820F361C1269A5E90519A3E6D40782E06778C0AFAA30 +E8CEAB87054C4D156C1B14B4E8471D78648FDAC70A3B8ED474FA356393A77420 +4211F60E397D2FEFC6A8D91A80C84EB9E38E663249FB91D5C8A5CBA68BA04272 +5D5D42497E1CF5CA1E62EC2B139F5CD4D6318EBBA7AE28614D2D88709C2A3762 +611524B8A1FFC7B0FCBAF77AD8159C354F4887DB1A27781DE0A4BA7DF2CE2025 +D9278CED48584E8E6BDF30BFD24284BA1DF828B637BF84A02908BBCED67372C9 +EF44711BC2B1DA343C8D9D27A9745525C774F5D639B7AEC197CEEDD06FD27923 +35ED0D402AEEB51134665A47847429D91CF419CA9B09DC905F610F8DFC54E606 +ADCDA19D5CC68A7BC7108EC9236C64205B23CE68B9BC38EF3E5BF9E0E6ADF404 +7365C8D0436609438C82EEB2F356F79186DDF6C1C797D3C278108B1767D15178 +C4C3E8ADC2482BAB9536AE8419E5CF3EE1B6E53BDCE2A83E2E485F496A562C10 +B3F5A131BB19D1E5414C86C5F995521076340536E10613E42779FA15EFDB451F +53495CE8EFF239E4EC442E1439594549D45F5276F93D496C9AC712D762D0B702 +E894290BA028837304AFDDD8BAA6564E9DC307A14A7A206550FADDC7784DE3BF +3390188BBCDDD929C82B1D7B529553BA75ACF5B385D31EE3902D96B2B5DDFFF1 +9F0F90FD791E54128C1717F313486896868A34FAFF22E23CEF046D02C140CCD4 +9730CDEA373A7CAC4D69E3ED60590B4CF83F26EB66896E706DFAB81296288E1C +41CE859B3767F0AD86413F8EA2E72110FC52BF6804ED797C3B31CFEDB482B58B +39C27F22547956219CFA5F19855B8FBEF0272DACD598ED59993377D76FCE9551 +285694FC4109E112FB3B531145321D33201949D2B68213B0E7F96F20BBFDE3CC +992AADBF0DF7DE6B75436DE2D0BF13D8BC7535804A71D4544E98B9E203D5388A +89BB181750CEAD2FACB627BC6107EE1C9C2860E491AB54D40769F9822C77E830 +5F20BFCE14A539F27C0BEEA7B6F11FEA0FDA7B542C0C84F8FE811F0BB6EE47F7 +ED10C4FA171225FAE1E92DC79B62605BF720FB79F2B59B925D1B1BB08A2FE6D4 +6A888653F496E5199172B81D32FD04ED21EEEEE08CED51C87F22208FA48C8F70 +18573E3D31B1664D932578C1D24535B2FBA5B1628C3FFAADB4B29A481E754D4B +CB5BBE2AC2393AB94393C640E6429D99F55DC15761194DADA1C56B216EE4BB60 +1D106EF3DCC9D02631376C3448A47EEC7522AD087C4DADA713B72552E2B9627A +1FA7FABCEB12B5CC3C2789CA9351D3EB78DD73CD6442DD2122BAFDACD317747F +588DB4DB7E7FA894A13C7CBE2665D2F4E668BA4D5976832F8BBACC2F4EB6E00A +805AB5BFB52D402C1A5F607016CCA00602D2BDCF4953B503D5FBCD1F8CCD4930 +0212BCF99C3BF4D2055407A962FF2D451843A96BDB812D7EB7AEA8FC5B020ABF +312D8E98A261902F2085F5546BAD83F189615BBC3D431D43841C70016320E050 +33D0DD9FB670F25F3A47C818EE9D173209A95AF350AE5114D2B5B1F4A526BBF8 +951DC1B9994E77234A8106D74DE3F3CFCACAF4FF5B6608145C731A80E9C05A97 +6F118480BF5895FEDB8606E6B00409ADBD6D60C39A4A30CB9B5AE46508095FF2 +2E5E0BE6CC724DD66014BEC91FAA107F8AF7AC5986C1488995117DBA4616E335 +646BF32CB244FE26073330BCDBA19C29AEA59576F4141AFAEB3326FCD5304C62 +6E81506BB2AF943D196A033B89BC0E00BDE0863C05ACA121CB8777355FBF122E +80B452FEFEE07B3678DC1AA93B3F6975CF4EC48049FEB6BE4ED39B01C5D3AB00 +E0984A4F61D7384FF3D94ABFACD1ADE899E982E11BC9A0E984874EC2DF8D233A +DC199301547833C5C33E64B08E72FC8A097092E054BEC04E4E59CEB8328A646A +C9275AE8D781125676F18FAF1BA2B88BB814CB7AF980817B67C967EE7A1221E6 +CD311A025F5F258E0A9710DF92B6CA1919B859D0BEF4B00F49DC632D9A82BC37 +A5475BB3C27D56FE647D72EB0B96FEF22A43A2FB28A49C8F49CFB68514318208 +CAEE1EED06021A7E5550EBBD8745BAEDBC5320C87285B6DD4D5AEA230E47DC94 +6B704162CD8EB7F95C2B1E1FCBB3BDC5EB90A3A7E6B28A084EDCD665C626E0BF +288A680B54A79CA47EE352C57B6393DC6742C5B99AC3043A23D6B1E131A89059 +1B1CE7BADEBB878CA5A93B0CE4D4A6433EEA505E3E85E0CDD299CDACFC1E3945 +9733039E66152DF405081E320FECB14DCA425411EF73DEA0C10A9FD032EEE891 +F24B6AC497E42A796A565BC545418C889510BC82994DB46D47B27960F3BDBCCE +1FE918F7437310468D9C1D4CFA08A23586B23F209CA5E1D5B9219F9146FD4A67 +272861D66B633C6115E0512EA33E99E5A2C9F786BCF687DE4D94EF7F781A849B +B5AB60B6E571F5510242BF41FA501EDEDED1E98632385821B6111E7C243F0F8F +394554D6F3E6B7CCE3904DF60006BC23971460A063161D8C7B188C00691CC2C6 +744BB48BBB19BF42C81787A6A60352C30631B9DDC6B25635D09190C72539F39F +D2A60792DCB4D6C9B0E89B118C83266E6E545DCB0B40E2655EA02E1399C7F1CA +076C97D6CBD3A89350CFDDD35AFEB9F5DC6180FD53C667540D462848D1B0A575 +114DAD87E1C280AD20030C8C29E93F0FC77465D473C26EF10B332F3D9EB16C84 +93B2F19701547BCBFC251E9B7AA540C2889BD38A17DB039BF9B0C10B1ABA41D2 +BF051BA690B962CE839E6F9C2AFC081031C1049FBBE87B4067A63515BFD1D7C5 +857F560A16B9F7999509D8D825872DAA36E44EA4F7D3CDA7488566D5713CFDF3 +4138C9A981045F83D83FD19EFC2D14CB163A590DF68AA7E5F59E05C7A6F26B46 +5786456B43EF57FB329C91530D503848EA324CE9F87747C2B1D0182CC61C28F5 +98847100F23192937A5B5E3327605FFAD1ED0395B2AA53A41C52E014D3C15E15 +0E91D9D963F377629B43BF71DC3090DB109A56ECF6C5C9EAB8C8C9A12CCCD471 +E6FC1030D7FF7D400AE435D5C333958896A4F6E57BC68321F6B1E6D7540586DB +5A4F495CA2266A45D940FAE1C55AC750D2C650AB0A770DBC7DA2BAD9F14EF411 +64058DDBB9C050317F53D46B59DF5A8D2B4AAEED48ABE87CD5396FE2E8FAEA86 +BAE4C009CD71165A2EAEB72D680F70D55A9B866AEDC2690643B9B1A59CC85862 +AE40CCF7CED2EA6CD30D4B3BD5BE48C547FF52A9FAD1CD75BB7F21BEFCCAE738 +709CCA12294AA1EBA6A89204A8400E25466167B6A8CDA5E87CE571CD841F53D6 +AC5C57D5DE83FFDA77A5AFF1246B1B6B0527864B348DFD44CBD8205CCBD8B5A3 +51D56D897CA483951D2EDA954DD164D4252CAADCA3E5E0539BE0B9DADE6972E6 +3ADF7572F855F4825DC5FC85FDBF7F3A63F914CB5580676DA8FCFB9FAB170CB5 +CEB586F231153E29D03E85BB16F36BE558A91D706DD07CD6A426ED3BE8E64CA4 +5B9AE4FCBEA5EBB41ABB853A208D06F1668111A4D936C9A967ACB9D8263CA679 +79511E31CE1964ABEF5B4786CDFAE5CAF695F52DD437880746244CF68E793C27 +35E12A0BEDFC4CFA874A1FE53CAC6BC262BEF051087A988DC6B612C6E923268F +7960CF416473761118D9B9FDB2F4A8D0454D2472272ACAC1CB4012EC52FA4903 +5A34C2B762B9702583795F9E046D096CC2CDF32BBFD0852233316DB914863AD3 +7B44CD88BEC7A3B3F0BDD1A199A172E318A62F5099BEDBFFB9F0A0074D9D6FD9 +072CC2D9899A31290CC098A77A18688164C6B86D60FD64D2F2B4FB89A7DF8272 +56740E85F27F11A4C429A438A6489A9E9BAADD235CA7E2478EAE998AE0A083C3 +30ECC6ACAAC3AA5053BE5780F5E082A56720143C3482A0DC91B0E1BE3AFE0327 +1FCD1A1F7BAB38E208747D8F465C5D3CB763B8EBB4691C20899F9618D8AD30E5 +166F8F0484E62116B22FEAAFCC9E337F2188F3B0E6967AA8364930E6B300903A +AD310F61A1D9E37E5E81A6789981D000419B8D27048C525A7FA22B1F96F4946E +70C9578B257B67888E28D2A2A1586A460842A32F2C264F7514BC3C6630A0DC1B +BF4E583D6302A09EEBE76DB3AC28CC9D7DC341D14C745CB4AD539047DF9A5B59 +06A3FFE21DF9CE5F12A8C603B91652D07A044476729451FD8ADD752E6DC28972 +70D69C4491E906F5B0FE2008EB0705FA5D98B3AC8C8E2419BF34E2F4741FD369 +D07228085B26F57BD5DBF28CC92608FD0E0731BBC304D6B00308FC3C068B225A +5E9EA26A18BC3EEE444D6C40C6ACC6B583A6F87DC5CE75F51C871FA18E0883D1 +4978C0D8F123A1BA73B66A268ABE134F62F9A3A60AADD56B9039F9DB87099429 +ABE357CC0ACE37D572AD946D0481F6207C2A3369E9470B5C2317A9ACF4B73414 +9EF59CC9F3716AC5D1E3F048BA6542F16331A71222E5ED686F7E28D63DECDDF9 +9ACAC3D605063AB18089D375A321B14941969ED7E35D9F9AE73CD825C6104E2C +334534442103B9451EBC3688722A20404251C003AD0BDF43411609A20FB1E600 +7F328DDB7AF1746FBDE127447E0FE50050E678E4DD1E79291F7D83CD07821AEE +5DD61EEBCEDF75F183437C9AA6417BE61E74F8FB2DB0A7C1891C80C5D04E592E +FF1095AE86EEBF40998EE452520DC0D79332F77A7F3838716836C9E64D9EC809 +555A8C7FD72F6B3C9F4A81FD4CD9E66D2856FAA087A59248DDFD33AADCA0D403 +990DA961A15068ED6A20538A564E1F891439660BCEFB21D1E205B546BF63C89F +F80C6716A2364C1222E4DE7DCAABC01329C3C335EE1C9C6003FECFFE0ADAC78E +3256339722CA93243C823566ACFD0DDE09E237B5256CE9F4ABF43DC5790648BA +111E032BDB926A263C45B30024D2AB93E2D214BFDC2DBC93B8D38B1A6229F6CB +74FF545158BD92BFDBAC7613968EAD2083BD7748A581C2E5BFCD38D6EB672038 +36364AA51FC4B3683A408EBF1ACC7DBA0FBDDE1D455C6E03017A688D4E580BF6 +D9D44CA668C778AF4204A578B9E04A74DF77E13F19CDA2733679FA237CF1DF5B +81C8256833369AD723B9826B8C87A6E1122A84EB49AB63CDE1B281756ED3AC70 +BF7FCDC06B9183DC625C57C547962811D7F0AD3E43B3EA65FDF3878B3A06BF45 +4075A761241AA220E3043790143C688E2CB33B716D77C2C9FB9C1948B5F61457 +B0A6079251472EB89672AC6C3DEFE3A0A512A9899FF79A366463CD3E4A5EBB33 +5BDCDF65F66DB23C5F4478FE98D3CE0FBED50FAD539D6597568033FBF26D49FF +FD339DD37DD0D6361A981B794BB4571B7211F145E033E71962DF5FD3DAC4ACB1 +72A15DFF9A26CEAD20BFAC76440FC3F770B83E45A8C8AD9833E685BF589FE9B0 +7C12A2B3B9A3EBEC71FBE7FE08AC4F73E716522763A151E70DEC10519FA96831 +9D3F87869FF731EA332A5A240FA36B49BF2E010F976C9792B9C984C42CCF8A0F +5F40ACF8735D0C87406BB3E2555C81236696EE69DAF4AF68908E912316758B60 +CD6D36B7DE897E595711831D8B456FFF483CFB58CEF8594510B45D24E0F06571 +A5C0C45E73706657C7A26C244AD7860E71E1B41D5276DEDE69FBE758B18B6BCB +147E166575CE65AF8AEE345FE1A6266F4A82BAAADA58A989B5D30ED7F992A2EC +8E92B256EBA63FC6AFF2A5368E9ECCEB5541DBAF23D287DF8027359D4FB4C692 +540E7BFA0B12FF6084966A6FAEE65455AEA90803C44EFD50EFA95F6E6E41583A +934C8D1E72D95F1F3BF78B2D4F3BCA05E79A5A8AF5D48732BE2533F5434F8C6A +413A90A1922D46B894CCF8CA366C4ED049142245BF77753B4ED19700E16518D3 +3254A6EF730704AC9EBDF9EECDCCACE4525A6DFA808DE4094383C2F74281EC73 +86E106A3EED8497A15B6966E4E00C9F46577DB1AB5F6A3C2DE0360EF4C140165 +968A3D36B10258E2866764D324D9ED6B377F3026A433F2D850103906A729608C +6230339BE659B3E6CDC5239994088AFD77452A173E33BC1963F0B845737A3040 +CBB1351E499CC6D02684C0E019A709BC0826173B340D815533324FE52E6C851E +D4C734EB3064D292B077DF7EC087CAE537D54F5CC85920492C5E0631AA13DB19 +F50ED934FBECD744C468C443C1AF9904739589A6362CDD7C359E1B5D8B3D409F +A0EC10FF5A64FEA3F8E5809E1C2BC6C1EC220216A4D21627CCFEC0CF7C923F9F +1F18FA6BF44FE990AEF8E3C731431D044F4E3DE561DE8BC272FA8E28A0655DE6 +597B68539CC1320EE0B2F2B33D4877ECA9AFF56D2F8A67F65A47DDBCDBFE8818 +219E9FD419F00CCA14C2A79B8E225D9919F552567ED66E867CB91DC2074DC442 +A8E29392B0F40D77CBC215B60217D2BAC703954074F2BC90EDBA6470AA0F4A9E +F2401222256B7CA2F6D18A085E687E6ACD5F2A37147C2D7FF6F0CC7B87DA3803 +B3157E9615F61B4792C3DBF7A44139203C2B9B1398C72A2255BD5D8803780F0C +D2CCA4E7848F0E02C63C35E859B80B5B2953A9E68C221841EE10B1B0098BBBE8 +1DD9C187DB3C487238E92EEA4C762C9D48 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMTT8 +%!PS-AdobeFont-1.1: CMTT8 1.0 +%%CreationDate: 1991 Aug 20 16:46:05 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMTT8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +end readonly def +/FontName /CMTT8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 33 /exclam put +dup 34 /quotedbl put +dup 35 /numbersign put +dup 36 /dollar put +dup 37 /percent put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 42 /asterisk put +dup 43 /plus put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 58 /colon put +dup 60 /less put +dup 62 /greater put +dup 63 /question put +dup 64 /at put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 76 /L put +dup 77 /M put +dup 80 /P put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 87 /W put +dup 91 /bracketleft put +dup 92 /backslash put +dup 93 /bracketright put +dup 94 /asciicircum put +dup 95 /underscore put +dup 96 /quoteleft put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 123 /braceleft put +dup 124 /bar put +dup 125 /braceright put +readonly def +/FontBBox{-5 -232 545 699}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5F0187316F83DDE3E2D27FCDF6C5CE4F95B6EE +3317BD91B7921F3039DD35FEA387D5CFB6C6E9DC84C178F3432994FC7FAC6E5A +ED41A1E2EBA350178FBFEB45944511731BA827167DDAC238FC69A5486B995477 +C469E2E27493B0B711DF8E267D3D5613B450011921685147114106C9472580BD +F531022F6DF5432B2A4EBC51A8032C7F9689B6FA942D849B29709631613DA68D +4DF7B6F059A19304F40A3C3580CE3B51D79D42984194D4F178801720892FB6E7 +61FF43C63F9256B5E9F4227B1378222BAAD4D52C77462DF01892220E11129C16 +6C9E45BB9F01ED7C1AD5D8B4D72BE0E12969AFEA90FEF170603CDB91CB243173 +B19A56084D10293B80A35275F41BF78A054DDC98F4A1FFF592463D944960FB31 +6BE5F03960F9B1F213CBCC7FD448657FE388F10104D42B0715FC9571CC60CF23 +C72560CBB8835A0CA208FE06676B3B48B093CB7FB2C0C53AF17EC5B372A9771B +BFD52FFB7062B4FE0106A01A2A1A1DD4EF5C8C7623EC9324A2CB3B402FCC1FCE +52BFC8662F8A39D5F1B41C97E7CE34E16AC28A1E94007AEA7D4C519399F1B7A9 +48FA7DDB671067244F09C29F95DD60668223F45BBDA8B1C452E930A9F3F341C5 +351D59EA87462FFB30277D3B24E2104D4AAB873BB2B16DA5B23BEE25BE2C8128 +C4CF2F4F438A4E520CD864F3EAFB5363753B82978F6FD664A14E5D6F3A929348 +5839EA752FD635619C4FABF1E1454510BD9D6B538A343BE748AE05B47F917367 +1BA5EDB15F1BDBE806E51B294257D7087334165419A6520462D794D670A1D6E1 +3BB03BF689391D056D55AD660D15A386E6D222C9572BDC4DC8A46EEC75124BB5 +F0E8978FD6031A90E4768CCBF62A5ED8C8087FD66D2033011947634878BDC0AB +6501DA7E6D96E227068E993DBB0072F037CA4111CDD092DD0CAEC1DC6D0CEEC3 +B291B4AF285DBA243A3457A855171EA0527DFBF10E34A60D3BE2092B3218365F +07271A0CFA3AD15205D0D0886AAE1C89807C74C6BB23F55F0405A522BE78D4C3 +0E6C7A2C17EF66CDDD65AB75D03526DBD692FF1557B689A200BB5A593E92DA77 +01E5A82004AEF4402C06C65B21971E8240F87BE60F5F7E0B56D3024B7D49B9A7 +724C55353C362CB35B720A5405B2B9301A1A0083802E8766ADB7856925D45001 +1FA451AA61F72022FF0419B1650CE94208DEEC7EE3B53ED7F9E995F883338936 +EA6FCE2E2466BE5C04B46FC7DD9E80E6F1ECDF77599D3AB9E61C00D7E425636A +E0AAD63D341CE31564C7882916EC35366208A3C06435BF1F55086D627E06B996 +7C49FF12CC6D0E793EB19C4972C3904ED0FA9FE0C4E05140CBAB2C41EC148B05 +43A9AD2CA401532FE0045933AE0B08BC1F16D94D85420A26A9D32A9F2486BD9F +EA2553F2E8B6950F63A1102E9E8DE227BD756612412DB1520358DDB08CFFAEF4 +AC3597978F43E982BEDBAD042738D05AD42348840F9D0122535E6CE711AB2898 +9F1003DB762D3B15BF35F3B7F593C40282FCDA0CFB1DD0B2B3A8DB68E326251A +E4B6B6C559E735EEA2CB221ED8B8E2366B1BFAFAA234FCAB5F94F7134DB434C9 +7033F5ED902DE94FAB29392934E8DFFB00C5D27505CFDB2F1BDC7B10C9379B1B +8533F17A4369203D2C65B5C75975A65D20BF6880FFDF8043435779F26127B38E +09399EBB27BC2CC481594BEAF8A749445805A6EDA1DCDD02D7F23038B6EF99C3 +18918626F164B6F9FB32CFFB0D936C11AE7E2AC80543864A65EA8575DE49848B +B09FDE687FA8AD27D0221315119A0EF7CB87E6C72A232B51E48F4AA67AB0FE6F +36C4BA99B3C0C343EEBF2C0E5905E71FB897C0E80C9A3B15A9CBE81994D24580 +EC447198E94134154F103060C6CCEEC2006A2F7B8A01457493EDB59205B0194F +F4859CB75EAF60F98B0A213864DD8407DE4DF86AE6EDC5147FBED02C022B26D4 +158A8313188C7BFA5F185AF65FA75F0A17DE6A5CA276DCBDB01CF410114E8B17 +5DCCB1486455DDA266A778A9EEB6B41B9DE0F79021D241FEB9E9496DDEEB6558 +7145D3540032DD2F1848CF4AD9F88E67C4B77339BFA9EE3CF75FD78A63ADB40E +68B3D693AEB0E7AA4E46B84BAF08CDC361A106C566D01FE63AF40D245B717B92 +FD7391F92B159830ACA6303C8E96AFA4780DCD4963BD98AF67D8511E4E6C6E7A +32616CE5F6CB270F01B6AC4EE342610E0CA1AF1DFE51CECFF133AD714F5EE89E +978C4BF5EA08125733CFE4B0C3853429E910677D568EA9A4A0800AA5D391A772 +E8114BC600B2D6B2651BBF987CC3509B00CEEBDDBDD82330A9181D209271073F +B37241398D70D049B9FF607A41AC70E64B928DEAB1A0B4745D98ADEFB18F2D04 +0C44BD18F8687967984B9D48A5BF27E09CEFFD7953E6D9881A197CD09B8C75AE +31C9ED0FEF539E4D71E4DE6E65D106975A0F9C57966D50E678AE5EA9FB83EC80 +0020420E2FDB7F4234A3DF285B9D761E1F0A21018BDD9EB84934B808E345BF4E +91556AE5779EADC1BD02E198C73D1D10A56A0F09F01302BB91879DBB084C488C +972D39D4212AAD28F9B24C164F18CAAF595BB6F9EA9DB90C3AC98D0F37C36830 +F28A9DDAFBD9E3C84928E9EA230FBC0F3C3D05DE4084621B65D26AF4F07F74E6 +183E59EAAE390C8AC834DC662B06E83A9CADC8B891B3EDB56FCA7252600082BB +DCE150610319A3861811339A621DEEAD6D619D475BA86984561F489D052BAA18 +7AF5FF29298168AC79B1626F882CB19F6AF7DCC4E28124ECE52599C51890E580 +132273798D3013CF390A8569A8618258D3570D2F1E538E96793E4A939293BCAB +A9EAB62579E456B5C80CB9B79A70EB36080A6AAECB786FBDC7F19E6543F67B8B +39D24FF379D8C6C257C2E361FDB384C822DB095DA0F10211D6572E4DE6D4E8BD +1770868E2752631376DEDD29CC784ECD374D72232026BDF4650B9E2712190D39 +4C0748743D7EE4706B7B31C90E5743E85DAB062B01DA4960E0314D9D51293BEA +9DC2DA2C67DF7186F9346CA769A0C7C6E6DE1BD9B48709EB87C6E6139BDFB245 +69A02887DF104549CFDDD7FFD86E9822FFFD2DF186512BB81BEE95253FB15FEA +01E04ED643D2C7ED7B43AF1919ED54C69908A87FEF3C46BE979787C79F885451 +3C658541A8E388297ACE1CE31AF3DC7DE205B72F27EA432387A609D9401C0FA7 +B53EF719D0BA60B400DD9D02C7D9626799D39C51039B3D0408CBCFEBB0B2EF81 +220B69B2953E00666BB31C73F11F1E6108C62F4F54138631B9FAAC2C9F92935C +2B3D9989D3D78AE5CB66BB48F669178200ECEECAAF28DC0D5378238DFB8C4DEE +D337C8F28BBAC0840F950DF373EE8C3A59568D95648E33802210A3A563B5819B +14C059E7F4AC6F426CD4E7B3F1A2F6F4C2FC19C2C3E9DA7D2C8F950D7564C282 +860C60EADC8F9B71B90DAAD27095804884289E914F0BF17C555A91FD07B13DA0 +66232C27711289C4D5E20A39A4660BFC00566BB31FA6511B763EFBF1CF95AC91 +CCC63FB618BB886C3B7318CC8301E323EDB4E016F0F7889C4FEDE858094C23E2 +8429D32F5C52CAA03CFD74820F2B956E61560B64CCA58607B300CA9166864F66 +49FC01C8848EE25857AD731386858093E9F87299D452D9C13D06F90E9FEF2C9C +B9B78EA3D3F31785364D36B1650A567AE8CF30A7A5E5C6686B614DFFF65EE9E1 +04211CFDD13B3F021E5D9C965BB56FA136C0B14761ADEB5C8092088990E8D0D6 +B92F39F4E85E71FA38904C93EFB4D7FFA8012920C2445339BEEFC621CD4765D7 +01A9C397BDA9C3C0D0E6B15297BA0BBF6169BF10162524EA71D7CA539FC209BF +375314A88500ECFB9C7363C5AE0D7FB44D0D1AFA09F34E57AAEA2EA67E2888A0 +1B202C2FC4017AB742D5437E8BC89CB24A4A1B0DF2453026E69B60AD3AC8EEAF +ABCC24A1F4C628D67BBC03985396C05E5DFFDD98A0CD615D37EE0FC2C9173D91 +7F20B0964E1FACA7FEF48DDF1ABD76716E06B403998530C15C434F1FD2BBB250 +4B95E75486B54604D3687C2320FDF083A23C01A79363A225733925DBB954D366 +3C535E17565ACB00D3ACB5116996A172743511888EAA2D69B180A4C4FECCF034 +BBB539DCD94510B84AB82E9154C93F025FE50BF00B325A6CC4B6974BC3B67596 +CF605CC04A14625DB25A6EB9E9F9BE93066E34A285CDC45ED330AD2073A9DDF4 +8D3A6739CBF4E846C3BB01B9DC7F01055BD43AA0022FFFB2B93DC850419B4BF7 +97451F057CC0BC68C208DF288E8A1310A015BDD1019C17EBDB42CDCA2509CE3C +E74D55C55630B10A7F042F260D0B285DE8399D11D079E91F348317AA3DDE0CC2 +A8DAC75318B5FEA8A6359EE3765E6F75E58D354B9607034F6A8BF0B22C9F770A +F537347806E5FB7C0A6A9325D0519B02A0E7CA47946561B848BFB1C00B5AC67F +BE25853D147950FB70854C7F4C8D7C503850F1748DDA6210DDA2BDA36DE9AF9E +7D4DD3152165C9AFE4CAD15D146B71F0B7F2DEAA5EB3E1637A9CB5C3CF60ACB0 +7E6A11244B3FE758DF42E346A847B6FDCA6B6FCD7F02BE7D467CDC4AA2435E5E +34647FB8C7EFCBFD144895C0AECD5E0F2AA6375C005C75535C0833FCC123A07A +C841157D68C80ED5341FBCA8C83274C751016C40FB73A5EA4C6ABE1ADB730CC5 +1CD781A616C79C2B99EB1F13115FB00A8994DF8017791E23CCC269D90D49B402 +E1AEEF2326CB2AB44079CE18A1FFA08195CA2AFAD0ED73D907F4FC6422B882BE +F7CE67E17EE720B1767BB925E432CDE667B4D3F0483DBCA9EEF9A41A786DBC81 +AC9A52114892FB6D2FA892B6FDD27DDDB9E173AB1DB7FD612506E2D0338D1747 +1ABEB8BA78BF7127FEBBA18A70DAEEB612B7E48885C76CBB9DB5786C17B286C8 +A955C89B3DC4FBC16C3DA027D10148F5A2C685255F2D165570BF8BB7EF72A0C9 +F90C740E57BA036C38B3FD04BDE1119FD3582FAF9F254220CC20532D8C839CCD +ADB7ED9483CB784126475CDE0E8B2C602A14D13486C214AD6B53E14779E7DCD0 +59A4C4D62A704B4EFA896439CB66B953822B492265FFA6BE2367DE24DA97CD5E +31D715A3320B7D0E1EEC35EA1828A218BF3B2B4EFDADCF91DDF152D4E4F92155 +757446DD8D122A22AC3C02D9FB49D31732A03F9AAC36B0494F234466B3C239AB +4D41488FFB5EE503F69942287348E09637CCE28F1A6671B06E8F700A2276B2E9 +60BCDD1CBAECFE816F6A4A1277569D6EF85BB49503708F56A8411F76E53148F8 +A49C0623E3EC3DE32B280F5BD47AE3F759589C2E4DF29ED5DFC587E8241F559B +4B6A1F8646D292D966CBCF651D751E5C92751B289BB75A8058E9B19C375013AC +5B810252BF23FF9C7A0A568C6B4E329F5B71003118F3DE19F99760B525AC3D51 +AC85F6E4E47F1EB7589AC39379C35DE27F4FC5B79B8F5D33049D4BF72A8FAD0D +04A1C77795B44EDC59FEC22A5843F86D18FD4415FAC8AD44AA7520392D57B7B6 +2C755EF3AE81A83D965E65EE8583F575AE1CC4F50A37F0B3C007771A5B60B01C +19FF8858951E0E7CAC7D157D3F5BC7F0E453738DC33EB390F31D38781CDA8578 +F9555EA83FA8BF8BDF55740882D9140C9596ABD438E903B366ADF71304E81E58 +FF9B51BA19FE3EB5599C6D1787569B44BF26D4E14FE79C1D47F3FD4E573CCECC +BA3F8FD36B608D87CAAC3686BE994B252287AEFD9A14AB3051CD4D751F27DB18 +BED214064F065F20D3FE097DF160C63EA5CD01B3C27788A927C79A21C4F2164C +EEE8F38C79A7C68B1C1958F7B6F0F696A203C93918B3C23DBBEECCCB2EF2D96A +EF6BA2A7AE40979ACEEFF78FC82EA9B34F6126F515C307783045FE80587D0FD4 +D0F81422E0B82CCC82BEE3D4189536E2C08B35AFAF3FAE2D5D009DE9BB99598A +A91B9B58964B4CC7CB625084C0DC42ED14D685C25C85181A8735C4EA6BA9CFD2 +B7C8E67977D047470C7A778166FF42BC4B9A8F33C5451FD16878F6D65A47617C +543A1E51AC939FB97235FDCD67962AD3CB5985DFA5737B28AD2E24DFA5921B3A +CF2CF5FF6687C7EC9C66C4DF80C039DD5965CB1B49D0091ACAC40AA078DF781E +55A2457EE55B1E0422C5F8074A9D475E194E5742857BD6544A636AE573FD8E68 +70BF3858E463E94E5F5D956B9859DCF1917516005364779BB9DDB66F5DA107E4 +2B5BC512D0F9C32FDC34794BA631A0731CED84706E2FB9AF7CBD4ECD53B6157F +7B01BFFB519C87689E2A489833D22F3C1D812849B656E6C91088880F135DEE39 +FBE71EB03E6B5AD77280112F6C3E2636D22A38AD1D34F33B7C327122B9F4BE2E +791FED7545D52ABF2ACBDFCF770F8F874806DE0D1977776B330FB8D84A52834B +0D2BC3FC18BC1885959B65A2B395202A8BE49350C1E133EBAEDF41D36345C24F +86E4576E68E81EB707EEFED92F6F09FA46F2F54BA766E3B20F1CFBD6677B59EB +73778BADEBB3783A5CFA9138815187A86694E8965FABF1DF6960865AE363D418 +4C3401F3854DD5C241F3667E2CB34EBBE9A74D890283DCA529E1B63DEA16898E +FD241DAA19EECE2869780A8A03BE546819B3C82762F5757E72C0FA749F90050B +BDDE78E6D01685F6DCEB9A6F45E7EC9D253ED34D2EBCB98FDE257FE1AE7D39C7 +1171F5425F3604B93531EBD0DFF691A905ACAB90F760AF4A674C500119B91549 +0566246482F9454E3D3927239AD8DEEE6D4E9ECB56748D2965D7D4C59E358307 +F936122ECCF570568F9C8C8FE5F135AAE916CED51041840BC4B1F403FA632FD1 +E694065B7F48EE00FE1E6ACAD8B86A11F3ECCA19B5ADB114D0980766991F8AC1 +573EA9B5C8FB5669574CC0426377764CF911BD316C8A7D772F78F47524112BB2 +A32F11FA6A6D1B295D96456A0D621C2B8F284DBD8FEA152D9EDE6A68B9CE8CED +65E380ADEA02DD9C06733A4984AB4F7F8C5E87E58C9AEC65CD3490C87C04DCA3 +42AC5CFFDAF21995432D0115B425B20DFC3AF8206354267FD0A8242BE0B23B24 +7B8BFE5CB5A2340838F3BD77B6ED26A6E43D2F732F5036807505B5E8C155D194 +03E57F31DB974254F3CE52708587825117D646942431DC4A29E99E7DF8193B3F +2C9FA9049DF511A48E405A3B798F0855493AA0A2777BF1F9F55B6797F27B8711 +5B34A0C897B7B13543477D159232939A052E46DF470936A8479BCA8ED9F97F88 +A9D77E43F19DBDD737EA504D94AC6DDAF29AF0DFB73AF8B7681E501AE88A6264 +B879436A69BD0DCF3465BE9D480A31B9702B2BDDB87D647E5A03B7E931505CD6 +7FF4595F44DA7EC3B1BE6C3E713AB806A1737D026A890E77AD137A9317779D08 +B84026855E4D84BFF2B50ACD7E4E23A50B888916681BE1FFD83128E9C36029BB +AB6225DECF2F6DFE22E12A084C27F809F53074A272735FA977D783ADFA5555C5 +F2FF03C670E2018C9388CA3034414402C60E0D49E121FA06B54E649E73E65E2E +3376B59F3E3221FF238488418E7B969795938996B506C9CCAE529C1AD10CBCBD +B2DC727D9722C198F7BAA1BF583AEE1B88740668CC1E9EC960B33820981700CC +01F5AB0586DEA46B96A72EBA2568E8A3774935B4A17BB2DF361B4E4D30814CAE +7C6BABE324FE7FCC67E32F773924E8C995A025948E253CA14FD35DB48A4C9869 +10ADFBFEA18E729FE71A53584FF7CC8E50D04A3700181E0218558C262873C7D8 +DF424F5457D76FE99ACDF797E542433AAF9E811516AC28698A179E17915BB3E1 +368DC25C96394147D0483ECB7EC5543595AD8903BEBFB250C76ACC782BBA59DD +36D393AB25D84A09E19F7788CAA4A9110997581DCA6EA82B149660101B9DA10C +66A13ACB601596B68CBDEB3F8AAAB3DE33874C0B07B71BCB6E4BF05CA47A7AD0 +69B6F516E4ED20D017CE5D324FE97D7FD2412A73B92D8601B8D716AD4C87891B +53D9E95DFAC1F27A582CCA123096B12BC1BFD68F432956606CAAD9752102B925 +555EB728A26DCB480AFA1E87F2990585E477E5E83C045A72FB2DD04D0AFC8512 +640086008CD6989676719D94E4646EA41508A6A4C25E93E84B3928E9F875186D +B2C6079FA73A221FADDED66AA88F5B49208D10C2E1E91E25DB3818D69E69F10D +197A16CF687E74CDE885CB876C185F19D120D916E66F88D03B308ECD3BF2010C +7530AC389495B4E63B70999149C463F46DC3FBB0E77E74ACA0E0CE17172AEFB5 +F3D559DA122B384EC940CD845E8B5271D2859A12F5E913BA6CCF8576ED7F5C04 +9C4FE5B7DF849BBD08DB1B44A71A59CD1769853CF9E49A3425D48D19233988AC +3263BD7D1861EE4E99C9D33FCDE02854B0A9CCC24F337F04F9AA4F0292F5613B +0DC69AFFD972B2EA03B018057A588936F7868AC2FF5474B9A9584F2AB70A6813 +23571813A6B3B48ABA4CB44F6C14E9DD5EBC97D9A705F215B31352711E6DDC25 +27B5CF2AB2C4A1B2310A91711D39A4BB8EDC93361A18A38487F8D2E3C91E5D80 +53C2B713BB837DE72556FA3D1E797EB6A90D83DA02DE424D074B6A8EFF11BE23 +D9E905B15C4860FEC665B2182CA30293A86B5D1BB1F7230D7ACF88D7C53317F2 +57FABDDDC049CA2CF03E8F0FE9FD160736418DDAD7809A85D3F3CAE9F7C51E3D +2238449F781D61AE69614F0B307558D4423C86EE67C353E9B49DBEB7B060D7F5 +25AE5A7F64F20D22B4932E86D5F70632334D3F08F22B81472545ADD27C389FAE +F619E9FF87185F0F54BDDD40430CC44576CA2A2F3F4C115D3C82E53689203F93 +36421BCAEB7FE999BF2EA19D3B126C073EEEEDE1E841BA512B2A4D8E1BFB3A8C +B2272496B09DD88CC7C37EE8E06BB92797FEA48E4845D7EDB60A61206C581894 +1FB3FFFFA610E81026A7AFF8D400EF068D1797F8512F05223DDA51FE18DFDD7D +79FA8754A79D501826F705CC5450BE63C2390764D2AF32BDEF3E45940774C9AF +E869BCF5D5C028278DA373F0B0B6ADA106DBF419FFD5ECA3C60A6C1AD46C6C25 +5C3DC971BB07A23E3F3180DD9DEAEDFC2A96DF506424C5EFA695150D5B550AF8 +E60CDEA33876B075EF693883F6FB70EF5676B4552318E1EBBD4050B2BAD9273B +FA895B3DAB65E4202AB0EBBC633A0810F852824D3FA83865E505F0A226A85D26 +C7D69739B671A64FDAA895F7C98660E43B18923702C6E02C3B0806BC375AC535 +527265D76CAB05110C7854CB477F1ED55D0B876CF2421E3FD0F21337AFBEC2BD +24E8E304B141B878DDF0A9F692E1481FCE9FE8734E6FE9CC2114F0F341AB9E03 +8E4118316EEA0985914711F52F7D2CA2FF11FD9D79C5CBC12807B5992B8485DC +494FC91F87A7A8731CE88752D02E4527597BD7485D4B88BADA367D516EE4069E +12625CD755DE031815AE82EEABBFF8563BD74A2A5430F4B084D7F10CAB27224B +8A8ACAB00DD8B88D7A3B9F05D769D8328E46C1345B7BA0DAD75302227CE54C2C +AB035F296ADF6F7F7E7CDE3EA657F1244C2370C6D95EE876257AD318A92D90D9 +4249B2EF5F001B88C41BF9C9424E9904A28951038318B55BEDDD504F111622D0 +0F9D23CDB090D27E1A7B0B7DEF03C71D5F90523852FB2530A4832382EC10EDDD +EAA73D2C1CC08A53F1262BF636D56748631DEBE79B173EBF76B6E2334BF0D855 +74430668E6E49160A25FDE5DB59FE6320B10D00AFDAA328324572B6F767D98D5 +ABFF8B9418D51864EAAAAAA2872BEDBA9ADDD7F24012DDCD6200E5B322B2FBF2 +3A37639CBD9918FBAC813DDFF7A330CEAF3BBEC787D6B404C88E22F2EA4B0F88 +1260BC45253FDDB713D260F72F074FF766A841C7B258F281C092CF643013ED6D +F4C3DB7750E93E405958FD2DFB84FE26FB582A61A029088B6193560370751546 +230789365755CF9412EE72731564C80661E5D607DB15823CFD57DC71DB65996A +3093A3328998FC86ED7E2214BDAA5D70F0DF0D54D0E2380B71B9E321131F247D +37AB1EE17FEC0ABCFC5906695B15B21CF44DE062BDBC4B9088844D4F0E39E071 +0B33110F36C709E62F7129C3089F2C235F2EFCB1820B54FFA88F157C0CE08271 +AF58E9BEDEEB16F461B77596D9FCA92F3ED5B751FC0C0312769C23E85DB83BA1 +A1F8D74BC27276BD842D5856664582B3F5414E2213E382DDD8EC2EEF31E79B95 +C2497A33906574377E7FAF03CE9131A925189213E7BA883D30BDA2D03A696FDC +E62DC5B68FC604FC6E612BCDB18482FDAD3EE1E2E0ED7F93C91C81176D33BA53 +6CEBA5D8ECDF838640ED67372D1B2943A94D82DC93AC338C57CDE651DAE7C234 +03630634D5C816277DBC9EC71DC0A862F19B1756A11703DF5DB91E110FDC7271 +C2EBBC42F233B575752573E7C3DDC8EFC73A6B8DE7E6B8D48352C3733CB9635C +ECAD66C97F2DD346865CF018F46B4565883834D989216E3CA25556E1F9E98930 +394B985ECF798743D8277C2AB8DCAC16B483610DB7C3C90F71680D807BFD5493 +FBEA7F3FA4293659AE976D036FAD43D509C2DBA3992DD24DE8A99BF1FEEE7431 +31705015A098AD47A51E6D955DAA1A4B03CEA003E0273BA5671F7F1998238D88 +D0DA4262B134AC9003BCE375A75AC93715F8F2F8A628409CAE9FF9D119301B3E +E8147F1DE16649984430EC4BA948BF5C74111D0F8056383D444F6524C7FAD4F8 +6A4FDF445CF8EEDFED560A6C262E24C0444B2AF705926A9E0805A1911F0230ED +5B2030D956CEC14A102CF4F8E8C3DAC74ADC16C169BC4A4DE75DB3CE82376254 +00FA86DB89265200CEB4CC133B2A993AD95C5AE5A695DEBB05624CEE6DDA6B5E +A089344AFA90ACA83A413762F0153EAF7DE15333BF9AF6E75EFEB3964D59E183 +42C5E52A77C87E85E2B3049508C00ADA5D6F0A8EEB2A4D71DF16F3DACD580DD5 +68C68834C0778B469ED2F8C833A1BA9CD0DB2D6AD88C506F5BB23CFEF461D30C +ABF3164B702B433E0156590C1FD699268144766D3AE1F8E582ADC19B2D4FEC59 +0DDC8270512D3318D854BE1BA7F545AF9D9A0F3B59710609AD7A624CDCE04DAB +095A54E8FBBBB1987D01EB7CD1B6BEDCCAA46A07077655A73707D6902BE02565 +EC7C6145AF4E52D1073E3DAC7C087A14E9631570901BEE1FF3255B8D501384A4 +0658B67909EC2F6B90A1BCEFFA9D74C1CF5570D7EA96391CAB7CA4E0CFDDB3FB +C3591EEB49AB7B154973F0EEB9879D53DE90351F0F76BD90764ADE187C68FEB5 +AF1B4B290F2F0AA66E1D138B21C1D4EE491ED26EE44CE490F326A0407B0FA267 +1707218CA4EE1FDE220835476614DD67C7845DFB243FD2C5D856ABC7E97671AD +B85BCAABD214B9D9BA81B4E925A726A122F1FFF11F9581A3F08645BBC4197B27 +D40D2A95EE1DAFA9C8A6157E0E79866BA40C0702B26210725AA2239785D9D9F5 +017047AB62B57F6744B2D4A5D642E971074A2FB1F8809AB65A52E96C51415FC1 +A5286427DE8C81BBFB5A218090595CC14A86A40ED9709D5752157EA673A4084A +93BD7E215DBD1148BC140DDC68FF8F3C1AE10894D8BA9C4A3AE55992F88429C8 +DD9B8247EB0D653FFE69165BE6827825C1F88FB36E69F2A8A3CDB6D72FF96DDA +072C65F51A898EE82590678C43FC184B532ABBEEB801F0143111C9941F2B1C3A +484DF4C0AA7E738EB2063278EB7B70E1BAAA88C50BC462ED449B66E4E0978C1F +7DB04568AF5EB412C3E41BA22E8273C1996042DFF01F9702B676E858F4FDD430 +F6B417197D8999945E9A82DA43969580863825D31F9D59A0D87D0F313FE2C28B +C6B97A98DB142B88A45943DD49471C3424BEB1DB482E9650B0B92AC70FE8845C +DA7716D68C9C2A14BD68F379E2C9DBFF92DBACFA705F328AC2D196F472A24ACA +244A17F00C82EF653DCB067E0F3762CA52E58A5604D29EB1D56B2EB40417E2E7 +9406035A253BC2F539D5B09ACABB048EF1D689A5889B9C5FA6B2E0E2EDB9599B +F6F4B355E3733E6BF9B21DBF7580E52526F2900F980B3C28062A33A25CE7F6A7 +4F13D6AAD9327ECC7F3F97BF15C3BEDE1A0DE042E749F648354D061C3E52E7D9 +F376216E4BD2B782A5AA0D9FDC5551CF660285E4CA7363858C51DCC79F66072A +2FFD59D6799BC84EDC0C5DC09D9E40056A4608B235F1357D454ED3028322AB8F +DAF5CC60F8B5EF4E01A8ECE97C491D828A87CB85D50CD56E4A7BB6DE2315CB0B +D0113AE20B4EF27FC486B648C3C0E6F69C1FFAE0C766DFB8B16611CB504FCAD3 +06B8169190CC5F836CB68D7CC34A8434BDDBBEF33E2B778884A8070654378FB3 +744459C9FFD348B2059652D47335D7C864619700681D45A39F068430F8DBC4F0 +D1122FCC17182216F62C82A2800FEAB2247A07413B3809DBAD5A03E1F1968BBD +B41B98142B9B0403D882A3A70B334F0365353E51A7FE4309DE4EA9BE3B695601 +3CF86249952A437666BDFACB7D272F200A64B9C09A125287FE2779E950687EBB +3EB747653C8D95758407DC3AD8C95AC3D2E18994156FD13CC03A6653EC7A2993 +F9893778089FA63708B0E3942A226A5289090412CBED2CD71BE93DD4CC56F095 +2E41EB41DE3CA0F8953C28C3285C57B75C13CB8A7E588054BDBF3B5AD6E86965 +4BAC32C54CC88E2BA882A887BD84BBC8F15DE986DC2118D2DD0A0E154EE11815 +65B18565F5C97BA8F5753324CCB5CD8D40463D909E832CAD28E62AA2250D8DC3 +120252A10404200CEA8A2B67CF44676E6003B7FC2AC00ADDE1227724B9E8999E +B5A4E94223504B52575111E828E4AC03833844683B64101AB5D91EFB4CC8A822 +72C394436D8930F1541359194EAB8F44403958F415678D3EACC777022271EBA2 +2A76DC2E2E833B426A15D5AE648101CDB8116D353A837D466E4311DD86F1D921 +64EF76C5CB35B5B0E4B8B1B93861E03C1B635391276D77ECFCF247E714CC67EF +72209891C418D1472541D68A6761EBB440E360881E993D3FA4E29CADBFE733AA +7C260797DFE27403E70F6B1D2E493A1C55B2381AF9A815808B5081231FDF30D7 +CB3A1D091A4B6887F9EF692C736AB5770BA5921D48DB3F196A4515FEFD4317D5 +BCBE5394CB5EFDB4C4A972B669C294966E5D76171CE5B903E4D8E6AE50C5C075 +37C42B59E74CF491556B618191C3489D11288587FF05713B18529C7C7DE1B9FC +CEA7667AA32EC4F02F452F9F20E54C89E071ABFC4155ACDB4DF3900EAEC25386 +E14C88BB174890A966703ABE3B6EE4E229882DD0543C3E33025F072EECAC34A7 +7945C2D58A721E42FE71F1A2CBC59EE8278EE39F6BFDAE2AABA5562E0970991B +75A3AE1B2B0CE3B8BA0E32F6D281990054BB095B9E9B128D54E3492C08380208 +B6FD878894DE6F487363C826F26F5B810314E48E86C933B885D21887ECFC7FA7 +711F256D819274209A0E08AB6E147F7642D07C97F92E70699D88ADDFFC941A17 +E521A3D5E3596491CF5D9BB95E483C353441CC4748A59F9E49C79968AAD58F19 +38FE5E275EA22403CC4A287A30F7B616CD4B31519AAB4DD7237916906B59CBCB +C275E1E993B33AD6F76E945DD4CFC3CAC1BA88E5CF9D15F03212207182AA054E +9B53A2469E76F128006747A7E3E95720EC90B43BAF6E016205435EA4AC8C8303 +E1E41BF20358CDA809B88C72AB0C2011A6C91A884D542D92971327564E175217 +A40ED9EDA6B45192C46B648215A556591A5C8AFB8468947B8BEBFAB854983A44 +CB88DD24D3C8920383944E2FE13C18A45D4A5507110C61FBA11945DDE8F0E5C6 +265F450C30BDF5D3C95F40573B139857539F01E8C804BDC8DA9306C133E7FC0B +66F52013A1D7C4BBF2B2E1EBF80EC769D802C7117C06AE917206ED17D13A3E95 +5C987FBAFDF8B1B49E00376E8B4D60E9F2B140267A587BE8D14B1A0249C2B1DF +003533FDA36B565ED493CD1A807E139F6C2CE7148B6FE62615731CDFF1EFD40A +A79DCDDD7F4F4CA0D00DF277E7A38556B684A32AC4A8B6998EF6C1693F043E31 +374B86213BF7CAEE905D239D358FFCF91EF2F34DF7E0A1A16832A54640D42610 +8C77E6BDB82B862426F153B0C87170D31DA509ADAC29EE7A614EF359D584CA36 +787DA85840A14036378E25A53F907D10F7416D5334705DB9A111553FAF2EE20F +9C3A0BFE2D3BE88C28899043C8293D012CD8E2752F30A883C2287D5AE64D00D7 +443218C7F45449B4C9B2BCEBCEEBAE0AC8934549F5E27BC01AED860754AB4962 +12C42C1E066CE0B5726331F64A1B6A738F4D79388076AF52C46CE481988B5341 +85A8CFC7F9ACB1F0647D33B762CCC7C34F91BF607940DFC09040775AFC3FAF6A +41E89010D5700942F78D5F6E159CD13806F1F62C28EC0BD6F40E4E812B50F088 +A20C82231D47C911A9F4213077793947F6C8EA53BF2763F75779BBFA65A75E27 +791959727522E48FC28B9C649BB0AA1DFF96D7681CE5C8A42632EEC5CB7405FC +167DAB24900FF3CDFA2FADEB8829283B73CBA2B1A95B483CD3E6F02C693AAFF9 +9C09D3D2DC196A6EAF720FDFE7C060FECB0392610B17EC0AE65C72D89D892694 +99CADF5E3F60F6571E29EBA897831B8AB7253557713BA2529465C615D848A1CB +57633090AF2993CF37E19A97094B8686238056F22AAAC0CD81034661B9BFF73B +18151C4DDCFCBA332283CB1970BF1830DB778E626626DE94E0A8004E5FD830CA +93E4BC3607809BD56C75B558196999C92E7325ECDF73AA32B49C49C3C5FE4B95 +7F50AC40FD642A52CF12F3547ACAC754EB8F7164FE5624BEF7160B14258EDAD8 +E26A181219321F2AA523CFCA7B2E12878A5E242BB7BA5C9F22D0C5722766C564 +306F713ED39E883D2A7ED68A0D7C7EFD64EB39FC189A0C7FF8111660A188E19C +DE642C8F2B0D284AC2B52405206A5E1A449319D94B3DFA20DBCBC522B5D67431 +E3A072463B59BF356F924434B5AEA53BD49298D25738AA79AB1E274F0A7E9330 +2982789B56EE39AEE8DF359C968C704C7D3B8FCB09FFC69587EEFA7E39DD5370 +FF513753E7518954525B083BFA191115CF310A98EF5CF0C2540265031BCC9694 +8C6A3F1A053753838516389F26ED5D57BE285F92938D59B0DBC6047C0439E127 +55CF071FE044451EC5C557F6CC29D8C5256EB48AFB23A0CCA88307B7E8EE1E45 +91B46854300FF369C6D84072D4D1625A0613CD330AB55B0B326554909D57C7DD +73422A8588FAEA378B917785E75F25E4F4183A36AE15C7FC2C3E2C6E890B113E +0B3FEACB2A3C5ED2F7E5BFF91E8E273869D4143A954E6A5C1012A2FC7839A878 +B86D878370EF71ED0A7555E8858C68B1468E130C1CE3A6199D93FAD963AC0877 +1981237BF431B598966143C8DC7F3B802729DF288A39EDD5B06F0F808741C6AC +4D59EEDEE8655A6CB5FFFD911D8A942590E4BA2709403D0741C70B0FF9FBFA7C +C3FD928B5B265DEE100172E5E917F273918C7941AB9071E1C3EC631AC555CE9F +35F88068E213C0F9A4BA7D133755EFB674717B4FF225AA16BB0B7A930D7F4474 +F2C9C784CB7C8C0A2F2201B57541D25DB2C2C8EB11D172306F7F912149C2E61B +40B0A570CF8A47F792860E4CDCBEB9A05B511E4903921CB80EAEB5A3B6567E14 +71229E7AE16210B7F307E1FEB739554261547BFF5B559B88CB5BDD64124817D1 +AAE0DEDA95D830BBCFE0AE34A90A70E42BE5E9A54D420B7F15D678425F1F7408 +B0A45ED88BBC61FFF2433D65AEBC21CC21A454F416913AF8B4272F7E20CAE1E6 +0AFB2D16F862DFB2861CCDFE73BA66BA95636004349740C2E9292EA3C326F077 +1A69BE963D955A35B72920D063127E3C8DB8655C089312F094231517A9198B70 +CEB0F01B22DD451966D72B2152947AE928D38F39C34EA1A6DCAA758EE660700E +351A8E433028CD6ACD63B6745E0F501E72E3E3A001696B500F83B67E027E47C4 +36B251893D87A5B646C1BFCC94F2516C5A82CA364FCD3F128289F1DBBD0E1BD2 +8D641FBA92924ECDB132C1F89BA3650DAE6E68BAD856CDAC195A70FBB0D9ADD4 +BFE9194C5C2C525337AC29B8A55D56BB2BF90C004F1B5B3842DB2581E728BFE7 +4112D349EF2FD56CD145DC9CCE9F8364830E466E60F6F437EEE13DFC07D8009C +ECF876BCF50BF9C60CC60544EBD3BC42EE61F0DB1ED1EB920CD367149B52B2FD +353B4ADB2C18A087AA670E492BA5FAB513AFBE786F2A729D93F28D282A2A1945 +3A0D2565D395FB4A07E97F04E1A50AEA7EBCAB7D5DABA2603BDCA8FE770A4012 +114B736C19E1649153A74C74E7218A0A031EAAFD8420A712DEB1233036455045 +18F9902DB6390E82EF280BF3C104B4E25EDAD22880D74EE456D1E5225D683D5F +13E8DA2C4D1A8A1F456D9A3887EB3D9ED71BBE682C7FA3AD06CE4F2C554DBB72 +71FCCF5A8D945387E9FA42BE9D774C44FD296270FB67B1004273051EFB74C2AC +2E215CCEA6F18AADA4EE6B94915242B113F094ACC5D837566D5B49C51FA2012A +792357BA0162EA6D04C7106B60E25EDC02CC4FDDC90FA314E4D9DD972536C486 +7A772B06B55C1545C98E90E8104FD7AA76B0DC12C7331859B6DFD01FF9022F05 +34FCF3DB906EDDF0E8 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMBX10 +%!PS-AdobeFont-1.1: CMBX10 1.00B +%%CreationDate: 1992 Feb 19 19:54:06 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMBX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMBX10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /ff put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 87 /W put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +readonly def +/FontBBox{-301 -250 1164 946}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82 +7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378 +77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18 +2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91 +FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F +DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68 +7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4 +9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176 +CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D +6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6 +E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E +8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E +3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99 +EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4 +0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9 +4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF +1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910 +757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E +0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665 +6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED +E067598E1B8B781EB59569E3D0D54D8EFAE0F3EDE26279776ABA15341E42E636 +6E02817082BE6FE0B04249A4840C11F95F8ADEFF72173E9A5F2AB2F62C427E5B +DC010E18641EAC906A5EF0F9BC2108062134A7F10956219C5847C0D82F0E8663 +12D963E012DF0DD899911EC5D8096F80B49CA3444CF1294FBFAB57DFACC9D01C +46F3BA2F3D1C14EC30CBF83E5729F1C074D4F1665405CF54722827FBC24AEF08 +F6DD0BC6A79A2DB1FF539454E8F5D1A42D40CCFBC093AFD3E57973A009095CEA +B91FAFD236C47F453B38DB0067907A28EB5E9ADE87A2181F1D6DE4E183631716 +C21F0F952E0666AC74371F8B5C888DC44FBA5607435A619684F502CF625663C7 +94B0DAA79BE8E129E7F5C5AD1B7495C1BC9B1C759867467F55148C7FF2F914D8 +95218C4C3C2D2DB3482C21EA050F23D6A7A056B172EB210276CDB3B1DCA47A9E +8B03B9BADC72F42D28ACE31D0633A0A1B22254F37EBF0433F0EF1CFEBC1CC653 +E3EE6D197AAF36E7FFCC75FE1811BD701298F763AA466B7843770F5F21996A50 +DAA186F387AA9717FEBF91992ED5C4DED8E2C57F0C29F9E3C607A0B528DEC8EC +4908033A0EB87FE3614C55D35338F758606E2B971F4F1956D9009904DC07007D +FB7C7879D19CD37FB26769ADA21348B058957261B5A8CBB91F9A4E6BECC2445C +BF9F64DDD464C6FD2F3E8C89A40CA8FC75CBF6CADA6A6B7D2C63EB5714D15C26 +6E5AA387CF1587932E216BCB4E7391D63F1469206CBF2E297124D8B8C93B1418 +7855751D9C3112888B1E80AAACA230A30728456CA5B1AA59E075C5B534895B24 +F7689D6D6A998EB98A49CE1E2548C4059539E501B40B465322E26B47E2D64843 +E6E675F055A97BA488249709434A12E8F25CC476C8A43944BB37C25EC841F696 +0202AB3EA1EEB657105CA1EEC7B3BC1860F59E1D517B1EF715E9E7946401926E +D0A2FDEC1B14931699A266CFF4506DC74CFD11878E9675664F7B0984F807CBA1 +3F84CDEBCE60D893C887BAEEBD19C68D676727B36D31591AFD543F60669891BA +94B31E3E0267301F74D799F5116296B883D9940164A8FD9C5EF6BA97D75949E2 +32995ECDC83C8B55E12858B4AF11CA04CF1DBD9E89D9450AAC2B8E733A702D27 +8B5520A3577B7F8EA6A1D7B0B468262623D6C55D9BB33C6824BBF3F48BF10599 +42C77FF13EB7EB6F971B0BB2F06F856541DAF495B850AB6402528C284A4BA939 +65D7754A8AAE431D01DA7C7547C92F29A3D152A758D6237E52C61974DC49BBD3 +AF7E01C6CA74526E48515B5B19D8A96E67A403F8B96C699F750DC36C46D1167C +C3B84A260AB5E7A530B8D23B99D098F7160C4C3C275A1F76ED1E167807C65135 +BAD8BE880A844B64A6DA80CC40FEEA6CEB6EEF1FD01504E1BC8DCE99225BC02B +A4224B206C072E95B6A32B4CF6351CE1CCB009BDD15C304E566BDCCF714D2E90 +46B3DD8F3180A0FD2C814936742F96B99D6F8853F55FC596F782FFF3666137C7 +91642CFF9EA7F703E67820742B44104DD9355ECAEBB9779CECB2D6790A84FE34 +6194D3AB97C02C4AF635DAA0365BDC2B8FC811A9676143FFB839C488165F941A +6443A6CB4550F5399B1A4C60B4992A0BAB139F08EBE8FB4F072D208511888489 +27142135141C6F5CCFFA6A2494AE9985CE6B8864BD50B9CDD2D9C19A83371CCA +9626C02A938CD95A052DFD66C0C76F807732F578B9FA4057418055F9281787DA +8CA227B2A7A106E4BD09BC0D5F1D14D5C325B0CFBC4B2BD7E64037896E8C4D37 +CD4B78191DC36999E7AAA353DFA73251BB85006018BB901DEDA41D48339B6CA2 +DAB70C8465F78ADBE36BB42DFD2547E9A18D01FC529B4EAE6BB1EFCAC5FCC50A +4AA032B2FC7323488EDDF56A77C8C82FF09A97212C295946A81058C3266CEB83 +7F76EC815673B6449D53289112E3A09E874E0A75443AE4AB1796D3433C7AC5A9 +9E90C2515BA532B1037DF0B26E8A900888D57BA61CE086D8D48140D648BC4EAE +490CFE2D9694B7BD9C45020769AAA8C3CD90E1283F2A3F480DC7FB575B8B8435 +FBD16FD244321C4958142323025076A52067231FB64D602DC386E8AC85B76B99 +D702429C8DF0A17E51670DD63DF7274790D2464AAECB288BF7A02CFAECD3AC61 +1C5E6C819FC5F03E8A98952287A44DCFD9C9079DFA9772E94E768478D3632AFB +23E9195DA4473F141EB705A949F9F7149ECB0315EC56DF03F135E1ED0EA6A046 +AE61A8E88CF70A59CBE42C4987414F4593F53C98C8C7C82AD4D8F339E426AA61 +B207E51BAF2323771794FA1CF77BAB933A36EF91733FF412E7A621A8DAC07A96 +E8E68E22388EC51C61ECD1CF6E1812D894A9FF867F97F9B3A15EF0785B6AECAD +B4C3DAAF79DE59055A270A86A4C299906C90683A8AB69F06CC473C6B0E3470AE +5596DCF72CF801FB84A338C1BCF8AE0CC43D3581C628B5AD3EB2D01CC89A6845 +D1A66CDC12F662A4D9D73B1DDC2978E2B68B4F8B8E7B4389F5448680ED77BCBC +09CF4106FA91DC27E02A05747C31DBDAC47797CFE9452C43F6178D2F835EF7F1 +2DF381BBB65A9A2D390349E955D8A2126B17CD7431EE7AD45CB3B180049520AB +90EE579C057019BD152D9CD985EAD1D4E111BE36DE5503B7F55D95FAEC4A74C5 +D0A61A6AAC800729DA9F7F8762F6447A5A30B3591FD624C57CB42AC85A3DC6E4 +3884E778E4A76801AE7537536DF232DBCFFDA5B777784EEDEA44B184CEF28352 +6F9FC878EF329369D22C9DDB965615AE9551CA29E374332C3AB0DE815AB44196 +42F9C1AAD67133B5320CC69808D934491C1B963D0AC3F506052675A65AB37F5A +948EC38216D618F4F18555B956E82914D5218C956D08AECE229685B190CFC9E5 +C8D7A4567FE38E03273C47F698EFBB2950A73AD8C07543988399C7F586760C90 +9B527CBBAB1F343049BDFABDDE94B472FC19B269F15D3A315883526AAE6F931A +0EB3CAD700F88C29CE862CA43E43DAE03CA982A81F58FC879BD445945168326A +04C5A6380AECD7EBEA3D0FCFE1EF1B7C310368CFC0EDB1D6E0547DCD5831CDDD +E06450C1EA0D8345A0D17DE19A5EF92136C1F8F404825B82F50315DC696A921F +B8B2FEDCFA3E999E494B57010DB57E4345C721B4736C55DA23671088813BB09E +624BB63B38DAA68C21EBDF1F3DA652EB693CDE19C6FBFCF8FA9A2BF70A01ECF1 +1C358D5231D4135876E48E5FF1A4B9DEB14494E5A3282BC88F386165EBBA6928 +8E0DFF6D932D7FF591DF34A219D395561D905F49F89309314BFA91082B060960 +816C86DEC3BB0F6BE43E7F66782125B3925BA85D97CA2A1F48A3B2362777EE5F +3D476B1A16664CAAA5E7BD51D2C890828FDDFC33CB16FFCA42B6898472FD698D +D931B10B439675B5C003882A30447058FB4195831A27286F25027B10F5B603C8 +16254D13132471369A1800E3D5FE04806B8B445A293F6308F9C0DD0130CCB422 +764E87361242E7BC3EF8EA420A26B3F2ED9F1E03AB8CD73D60302389D6507AA0 +7356D610923699B603701A87D9E1C5632FA5856597F59FAE2CAA6D47D17A7EF0 +8D2F208F8818271BCC8896669BFA402F2002EA57261874640843CE0F1F8392DC +87109F142169FA8C83D4FA1D2971CAFEC7439D67DA2A615ED0C961601078A251 +5524579325C7A82A13096F32D3EC76A67E2493A91ED24A6B2DAAA49951B2D332 +3F58B00ADBA185CF3AA9BE207725A0B286CAA61D076117EE225E7C66E2462A01 +DE9D2885C5E97C472EE04F692703CD75A55E846B5B3E9672541F3EF0A8EF34C7 +CE1FFF82424D3EC2836BA099781D08F43EBF74C7DFB20FFC208D5B0FABB1B0BF +779B386917E1DF953E7DD89BEB6976ACAA42FF9206849397D61705835FB87958 +314BA40C37D62D6F02A70375A93056B55ACC9621CF94B19448AEA37D5B43D9BD +2050D71C3BDE5B624EAD096F67327B37746C3D07B4B408A97DD4AF4C0DF7473B +71916E53D2CE9A9A133FFD0B392B1FB47601C2A9D54D844B4BCEC5EF938E6D1A +DB2A905B37908A8072C54D5737300302306A586F388368CB7A506296DA6C5E17 +2B8B54B9EEE6AA1E11557B26B1D62C5B4ABA17FA10D4AE0D9E1D3C4FE91D9E8B +70B97F5A918DD46AED82E1E3EA4734BF45805D18531167A9ADA1ACBD8DEB48BC +9B5436EC24279DC4B0710A0270A919C2E9722CC029AC29FC5F270B314CD211A5 +ED2C93920FAC054DB2524ED3F8B27B07AD7A63DE96F00FDF2D74D7957D3C856F +647BF955B7EFDB0F01F9A64B07494878BDDDA08B63412234253C04D2AF94657B +B68483E6145D7312D96F12C69E6C854394C377B619BAB9B371C8A9ADA103859D +1C7BA93CD925C144D39AEBF2BA72E67C17437270992AD464626B43158AA7E7D5 +E8A25DD5D36AC2896D03FBD961432F735AD83F87C86F67025B749B4172AD9BA1 +6E452108889C5B1A3D656DF1B8993ECFF57C312F2B3B6DB4B8BC3C8380FA8681 +4C29470E19DC9E6A56F1D5D147D5D25FB88F890B750494BB9DB44AC231DD0CFD +EB7CFB59F76571C86EA2B17D85B0FC0D2DF014463111C932DE08820B3D3C0D17 +92AC0C9F00427FEEB1F53135198538CBF238446341B9CFDC17646194583A3F19 +649A1503A7F07F5DDC20A441B1C2C70F38AD5CD8981252DAE9A3A8F4238CB4F0 +3975E0084FF6C31F446853CDBFE77B87FD7EEF60D57373A95C062676B4F79102 +92300F652574833B0D0AF2D92C214BAAFD656BDED35DECF617EBFBEA2E5A8367 +0198E4BAEE596F1C54B3ECA7D4D7F9AA9BFD5AD5A9D228FC6C6D1B7BB512AADB +E84167C24B65291DB5814959E98A99931437B00AF36A30D5D98B17B278DD1D39 +13DF0B59AD0A1E91CF9B90CEEE1E487B6CD65E0CF3B3A74F2C7B8086B7270908 +F29076338AD4B4EA0D37C04856ABCAD938E9D4E9BD43BC3E13124727B2A085D0 +ACC979A96185BEAF79F042EE42CD352F37899A05176DEB9C4FBBD9D5B5A63D2B +82B195936FBB29B383ABB647CD51E704879A1AD69C451B2B0F2A3327A67C0425 +D3A1AC63C0F73C25168E393C1767E9D07B04D7A2D1ED3BBCE1153123A8A1C89C +64C6F53BB7BFFFB57040B3CA289669021C9F7800EF5F416042321D95DC5D225B +29B23FA7EC5F8151A9CAD269EBF1BF9A4DD0D4CEB63988FFFEDB55A34C3AD692 +5334E33E7BD882A4ADA0D98BC2E7B4EF04587F2CE9D25A1ABA29DA682EAE7533 +52E0734E35CE7FB158D520EE0D66242703429DAF3C4D167AD0685187193E9FE1 +06EF6C3E90315064EB2EC2EB8EF53FD56012D7426D2C8BC229CD39723C339BCD +989618B22949F6D4979D564D350D5E1300C71180BF74BDEDA4B5D961E887B357 +20DF075DD09FDBF469FC19981B48CD28CABB558C8AAEBAA54B36A6C303BBB215 +BB1C8B0ED96B418AF84C69CBBB60F054FA9B8279CCA8EBE8628FFF877217ABB4 +F2E1B8569CD2AA6B2224A275E6423E108FFD8508F17C703E9043476491687842 +5CE5795324D9B64EE0281A38BF37265355E8CC5D84CFAA60830C73271407126A +BF9E48D4AC6723B7A8D54A8880FAB3BAA5DFB1307F7149F8BE635BF7C79721B9 +9448FF1170781E6A773AAF493B5CC7CC0068FF421EF4923BC8F7FC547191BE15 +5D45809DC1303B2E1C4C7A23A1D8161CAA852036B453D8D1B4DF62BD0E8BE7CF +50B95DAC1C8E5844D4F18AFB129C71D0DFFF958BE26B57D4E57E3A0B275BDED2 +05E769FF2A073BC45BC3B2549DCE8204CF78B8950F38A92270F4AEA9FC428562 +60CC1A26B7B20BC6FB3B675B268138A49947ADD087B5B39FD45770DB5C10FB83 +DD18D7AB1C9EBB29BEC7983562265A1686CCD395AB0EF3C9748C5A33C2939D1F +DC3146AF0F2E30B4172984B73A48341311237E974697D1EE03533061B865FB76 +D1C26FBE4E0CA76C8B3C278C650DDBCBADECFC3028F402120F1190AEE9EBC9AA +A6EE57FF7082C113DDAFC9B094D4B9AF0E3405165BDAF284C478F7F10F294380 +ED8948BBD7AC87878B508D65797DC240B555DED69F8B883479CA5DF85F59F392 +93DD5C83334464657E7F5B344BD8B1803A42D4F3B365FD73D1237129A45488A2 +5350B2872598A5FE7E7E1C967C5A5E6533B85ADE0E855C6D559B8BD80E5C714D +CCB04307AEDFFDC41E693F64CA3674F1CC113448BED653DFE02508C07D0B57AB +FBAC51E87F46CD90ED99EDD6536E6BD9C5A12FDC8C38ABA2DE20D28E48911377 +49E573E47F6048A5616173EF23597922629BAF0577349E52F20E6F6D473C3AC6 +DDBBA3CC5901277D39F2EE81FF226E300A9BB0B5894C276F4718BE50EFEC1FF5 +8A2283EE27F5E199D62EDB8EA10C36020AF5312DED0050AA79D79F52F588AF4D +7436B3555D7B6ABA5502645511EA6F215FEEA1D5E7790202F6125E4AC4164A1F +B6A0C4B1AE9C25475DCDF4A9B34161858F7B7D0A2BA865C65E4BDD57F81CB8CB +A04CC0326814E419EAFF3ADF468C654187F9F9E4E699AC891BDC68CDD7B6238C +AD7DD458F9D2BDC35242631DF71A327A2BF6BCA1CC3D7236F8B9D615F5A310AB +DF553AD76FBDAEF228E3619DAC71528B4842E9EDF753F3F9F17F0D0DA81AF276 +056B9EF78A0EBC517B40D1157CEBEF8B9AE4DC17FEF5AABD97BFA91A3AE70112 +0F637C128631161CBD9D4C056F8E2D3B2A90F48108BCEC3871766E242B2E0C82 +1E4BBE0E468FC1C1B7389734BF0E9638634BCD62B00C8ABF2691CC2DB6972588 +A75B58640CD738ABA1BA4C17D66987D73A5C36081894FAF432EC3847DA898C6D +A4801F56CF236EEEB28C6263584B701254AB7112E62DF2AFCCE0A57D6D252359 +3609FC9E3721513165D54FD71A6DC7F2FC7EBBEB54659C0DD241ECF2CD6B835B +D43C1840855A3FFDDF4A260A97C86B01111A5AC6BC55CCAB612E68BF59F3B97B +8472B792F72B7BCFE16ADCEF782441D6B1ED237085AB948C1DF3C6A1AC5E548F +1651F3EDF3C8D445109FBB6EC5AD5889482F4B73AE2540A4AA1B3CD153BFE497 +93E758F6B2E07C6436353F809A66CD6D9AB482E75CE2B55ADA22A2B1C55F2810 +875ACF9E3F5B9E49C476FFDE0FDA12E05942EB9C4C59A10CA4231E1A04DC03E2 +6361E285E517DD39C80C97CDF6FDF4B794EDF24B78ADC7995501C8E3996C3FC5 +CBE409478E6192F9A782B5B163252BCB4968BAA2B0C9CA3FC905492F9BB70855 +25CA8873DD1C994D65E74F37C56FEEB948CF5CAB1C6D51DF6C1E06B3DB776740 +6080D9B0EEBFD8EE81F607A99DA723FD58AC40C2E23B095A3B74C0282A8B1B5D +03CF0FF89AA3F18CA86792F8AC6E29840019186058F9B000B7CDE938DF60F3CB +C202602F2378C608BA9D002281CDB22DF15D4722ADEC41EC942F7F826AC6F516 +6A1943156FB0DB95DC36A30ADBD988846B0C8EC476E5DF4E536FE4B7717FE1A8 +5FC19A2C469577B609073119029A9AE6A82C9E00E3E6694E62116AFC0D7CC96C +B645F7DAE1CBAC1FFBECE873E590614A13E21FD94A805561334767CE5E4FB6EF +ECD1A83016BD9F6469ED9F1D0EE77BF5E88492A1E569A8D1A54B2DB47A93369D +7E4DC9188ACB4523AF57A86E1595274B76FC566967989D50194F59F97F6F039E +243A91094E3CCA88A899A347BF94CCC8A733EB2A9F646C77A2C2FF36939CDFD1 +4AC0BC711B00B35B6BE4017CC994469CAE8500AB667153C99E9FD5CD386F114F +8ADC7426D9A1A229B604EC688610D0055F287739054F9BF7330C1716182C3A3B +5B1991C09C75D862DDC48CA11361F38C387F7CD147122BAA0F7CB1C8819006DA +7257789A3083A7C7349114871D8AF42677673A3AF007E9CEC3B27A63EEA877F1 +91C5820BA602AACC3351F64EAD99EF9D5AB7880B3949209CFB66A810673BB410 +73C7056D04F2CDC9457E790F649951B3AF95ED7DD5D9A97C1D7F6A5DD76A1B3A +9AA803F712E73573CEB3A1CE391D276B3FC20E1FAF2781FB035D7B1098E9692E +2E6909273D14F754778387B24C4CCD76DC6EFBA53AC2334653EAA12D96F986DD +44B283C6370D191113A5DB4F972FC2FEB6C7B51F6A41665F544C8B60460842F1 +869D4FF7A64E884830B866A7609ACC4B1F17B4337EEDA863FDD72AEE54113C65 +53EBEC75EA24C5F65FA0AA7321D24ECD23843A0317ACD32D09B1F3F690DAFD5F +0C328FDB63A9388B128ECDBBB6AB3C8D054D80BC3D2C6192960FEC592C295CE5 +503308B68AC6DE1FE8A0E6535FD283CCBDF820A23F399746BF54133535A5D7D2 +42A1BA10E73D90FDB75028936C4E6EC5FE86732BB869BE527E1074AC01CDF755 +AFBC2855A2DDC8B44AF4FE761E58B04E0FB1FDCEF4C45AEFFEC84AB88141D4D1 +038C6035009977652A3279A628CB134481FFD5281CD073714AADB87A8191A762 +912F238557F6A1825FC721BD32FF20E507138D479CC1FA57060A86C3748BC414 +9F475A5FC0E6096BF9C1E6946FBF9175C6F03D94284A214A83072D75CCA5FC40 +121EF84A9778E42F4D96D61B15518F855DC40A09A25B1221AC6FC13310F17AA4 +CBFF2950B4A6BD40E8DEEE0A0CE86A3C2314932C1C8D1651CBE2BF33C2A88ED9 +1DE9D87287EA84F2E6A4B9BCC914884B8305D9BBFCAAA91C52F44784F5B603CD +3C2106E067669F67E2371AC3BAEE828D14114AD032F9CD2D7607AFD9D6C4D170 +DF7C005B7085736CD303E6D18C64488EB35A210BDC5E9BB3B20B55D4DF6DDBC2 +B1BC0099CB2C7CFF4DF3086BA81EE3309D8BDFDA4AA59727E8B5A7D7E520B0AB +A1A123B776311DB50BF87E9E22A4C4F9A90ADD35397FEEB7C090A029A98D332B +B44D8E8DE0CDA3A605BCCA9A470A965EF9F3192599F5B2218828A88AC877434F +D7EEB17744ACF3C9E5DE73B08B1D49B517B8DFA306049D2F381CF68E47B6A85B +2C9E6C72CA5C7799FB6C71A79AFE7F00F96B8C9AB952CECA3FD3EB815BB3EB68 +0FB79E838F1CF01790ABB471298D304B18037CB71F291EEAB1D144B7F64A70CB +A1C754B12AD657D1CC0DBC66B7E6F93ACD9D5A8C7B36F959A99706B9AB5B3332 +7A1DBF66E13EE0E7F7EF900BB6B2BC14BD0F938E2E27E41FF4FFA8296EC1D829 +A58C7587E3BAC293A5FAFE95CFC4F8E133ED5F43A5FA80524C996B32C8E54B90 +C3BF4B3BB002D433D22440868DAA1061B9B95448F0425C138F877EF7CFD481CD +15B29B6CDD5B440D64C4246FB79BB080CB85477BC3E09A57AB9CE155339F2E50 +5EF003B07A68B6769C8D87621A69BCA512B59192C7D06CB4461B9C8FB29C8319 +2872479837E3EE93DFB86BC3376EE661220FFC3F5283C00F043FC5AF4C089E91 +F602DF07DF62BB3990C59490CEF80B1D736811157BF54FD83DDE66EC3B040A4D +E562EC4B502796F8602CC6F8C67A03FF2C6471A693143F57DBB5017C41998F33 +F6DF5B2C297C0C44C89C55465F7C0C2CC7846E7D3A096D7F6AC4B15D65704642 +CA4359A7E20456BE1AD12E5FE803C9F513912EE4584B522819186B8DE6BCFC77 +00F36A9CA7AF968675B0272A3DFDB13AB5AA3E6CB0B77E228F7A0CA45F45BA7F +B7F065631BF416BCC832C278C4AE249C3DBC77FE7CC5163D06AE9771471C445C +214E451884A7DD7E6F4D110EAA5EE71F5003A3FC9218EBCB2CD5E5C28BBC2FAD +3F4829CB50BB5B91DA35CE8E00B33DEA993154537396EC1904BD155F4B01EA4A +3F3BCD19E3F3BFD55A974A5518E622CFB06D525B8CA92AD7A290DE6D9FEA242B +8B89E069868760DC9BEC1E42EECA652C0A1CB4C1763AC63A582BB15120BCD29F +C1C5FDB0D353CF18385EEA4D99C8C69BC4B76921096870B2121084CAA1840CF6 +08AD34B322CE5C4AEAAA670F74E244EAF893134777DA2769A49767B49823AE41 +59CCD7B86F6B4532F672EFA35430B57871F768574A064C6EF9FC353BF988471E +921B377B6DAFE54517B3D3276CF95E5772B619D3430E89F2A693E32A6A15EF87 +017BC9446751B38B373C62EB6C9287D2C1851634A833771ED7D17FEF8683B643 +17B1F717FB3CFBFF9609D653E407C05B23567A5BD2E624250D69ACD2047F3A31 +897740E407D6FF79F719270ADB6163C47E6F97987BFC36AA5C0CE086FE19BA89 +688E90A92EA796E87C4BBC45493FD57199AC96BBBBC3677ECC3CA3DC5310E414 +65091454BDBC56D276CC3B1904955A5FD555C7CB3FB3C99837B7CF398CD00C2A +1273AEA37A40A4317A1F9519D725960ED08D184C2B42B2CE4D490CF870D88353 +7604CE9F854D134474F22516F9DA1D170AEDF6527C268D51693121D3E7D6F43A +5CBF12758A3F70D547ADC3388F8DB433B08C7046AF624C08BE63437B247F6E14 +922B66AC15F172A23F71AAC52D95405D851381ADB28C5773304199135FEE8E89 +345C35ABCB6FE96AC1E85ABF190CA64D8872E4ABBDE787E59976460FC0889076 +4D9658B6D71355053D5F200D25ADB1E529D8A8BB547C7DA5F4DF91614FEB198D +11A5B0ECBC8A9066C145A44B2E76DB97C8B964FE4E53EE9981D91814ABAE1697 +F003014BD58A125EE73C50CF278C4E7624B8387B496121CB8A41F13E076FC452 +9CB0962308EC2BA763565C6CD88AAB5EB9D499641BF50FB904152F64FF94147E +FBF463E3CAAA3C5409007BBF6B8C60654EDF9FF305487C45FB49491EFEC6F8A4 +5E417E861B0B86610995AEBD0479824574D9B8FCA4875B43E4B89E6B3CC785B1 +E524D81EDAE69E2B71774210EAEF78326910A836405A87A37FE227473A034FFD +1DCEB3468ECDA953BAD29F12DAC93653F615AFE7D374C7FFDCE9C15E52D7F2B7 +1D3CEDFD21059E9FF4B7E1355DE12E9C3B1E6BE7E4C0E28C5F4EE8E1514288EF +A0476F13B17388C0676A16DFF26939319C14F72AEEDB6D4D51FBD5CDFA885E36 +F49C78A363D0849A956E9D8D8D6BF45AF42C1630F2F01925CB855AC9838E9A91 +8467F3E1DA6B4B6473FB1EF853593891E2095FE159C7AF24E419B743B135CD42 +E89823DFC5F316D927C3956376C11375371AE45C8BD02E502DFBC9CA56982B48 +B69285102C9B38972612B3DC8AA9C8AFA35830FBD3CB7C9CEF46AA860DBAEDD9 +841063BCCB67FC242D63014362310F3A6BEBC614E67AAE395F4285604CC37E94 +4CBE201FC1085D87303503E39CD9C338948287FCA7F351E2B055E75F497558EF +33772AB2035A24C19D962E63397D7F9ADBDFD8EB3BEADF4C74E0A7B21E6240F8 +739237CA345BA42E0C6EE14D7087F655420E98B052199BEA5F71CF8B629D7518 +584B37E3B4DAE3B002B9F56A06D91A91DFB058096E4892C78314296C549EC7B0 +893EC4E3324B33E0CC412CA96DC4DC97AD7574FF232DE50AF0F2B581365EB7ED +A354613092C87F6088D8B7A1E702282F7E8FA12A1675C88B4A2A4DDCA858C14C +DA96EA3ACD45A05433BFC8502A02B5737D1F08534FD794A4022178F87A2C26E5 +10B4956A095EED54275C9B822E65D256F02355811FBF6B036E5F46B6F5EA4E05 +F3CFFB4D686A7A7501467F1BBDE90345A1CFD75C06A59A2315F35981338C1B0A +65094CD2498E40233CE54E475A6F3E139D215CFC2996CCCAFF9B76FAF0C4978A +CD54E73E7BF74C11DEC651602FA5B8D0D85E8A173599DEC761802DAB5157A40A +AE177E59E1BFC4AF440FDBEAAD87E9E702214BC1A378B0127AA405F26AC727A0 +2046173A3016A387B2A00FEB03A1EB4001017193B9DA6438792983FCCFDE2D5E +BECAD57F8CED5CB7002ED3E626B5477EA0108E85ED6D47BF044BD6C25BA9EEF7 +8E6A6E55179D18B9B652D8E13AC22A6B3DF1BC88F1FBB5534FC306D5473BF3EB +57014EEFA1E8D7E719D7D17DFC71830FAE02298E45C13573C413E0E5DF7EFA1A +C28B04DB57F3527364963B30164A58424C6907F7038B7DCAAEED91F0FAE03E24 +521BBA746344E36CAEC164EF0332475C75B2ED03459390C2BE49CDDA207A24B0 +BD764351D17B621D1933B2689379D15518775759A1091937EF8DC2D161BB4BCB +A15624C7AD3EF06162A1DAC94D8B6C6C0AC49F95FF6C5C86 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMR8 +%!PS-AdobeFont-1.1: CMR8 1.0 +%%CreationDate: 1991 Aug 20 16:39:40 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /ff put +dup 12 /fi put +dup 34 /quotedblright put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 49 /one put +dup 50 /two put +dup 57 /nine put +dup 58 /colon put +dup 65 /A put +dup 68 /D put +dup 69 /E put +dup 71 /G put +dup 73 /I put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 92 /quotedblleft put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 123 /endash put +readonly def +/FontBBox{-36 -250 1070 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C +68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 +3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65 +48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3 +9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB +0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB +8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F +EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466 +FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3 +9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62 +D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8 +9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5 +ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6 +10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582 +83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493 +2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA901C077A059F709F30 +4384CB5FA748F2054FAD9A7A43D4EA427918BD414F766531136B60C3477C6632 +BEFE3897B58C19276A301926C2AEF2756B367319772C9B201C49B4D935A8267B +041D6F1783B6AEA4DAC4F5B3507D7032AA640AAB12E343A4E9BDCF419C04A721 +3888B25AF4E293AACED9A6BDC78E61DA1C424C6503CC1885F762BE10AC538E4B +58C4B6BE0BBBE0D121DCD89FA1D8532F91EA374A83705EFA8FD4DFEB37C91DF0 +C1459A641899007FB972682950D1380B4537582E33C818CD46BE14D91C44836C +F921476D1F55F6225310120A5BF9FC29E9B3BBCE29CEF9FF78704C59022BB254 +BB0981F6948E37682E172ECFFD060080860B58BDAEF87EE9CC9606838CE391E4 +144F941CE0BB5A49FDBC5BCB2A47011EF3E7B4CA1FEB87503D5CC5CC0A4BD51C +D5CFC57415CBA0C3E89A334931243678CA19517332040320E2544F563ECF0A86 +542D89C23B40F671E78C8AD864FA543E49F43685DE66F6390C67CDE9CE1389A3 +A85EDBEC0A29C42FFF201BF642D9761D61E1BA6499B3EB61C2E313CB84E38ED8 +6F038A950AA7A3E12A60C14BC2A48252F1FC4A24049A52A9993FE1053401CE48 +34CDE4BD2C865DEBF6EF2E48F7C085FB8976B37383C9F8E3D4425417DA2F1DFF +33A95CE01B3BE1CAFE80D65D56AC63CB2D873856AE925337292925402BBA4CBF +70EC76AD6E5229CC4CB2B587DF328F780350D1E4AD579B4444F7BA546AC1AEE2 +C6E4BD774D3BF38E11F397F5439157F3CF809955C7927DC8CAF7D176720843B3 +6505A59181085C4F0C7D31E6A206F3C4CB427C031C459C797886CF2410745CDF +4C24248346ECA2767CCC3A3DBADA103F1A6A7C94EEA4210AD76877733CA35606 +BDCD78C5A626F031B8B9E98D91F2BAA7ED9C2AB4954DA5DC94FC48C859BB5B31 +43131A021C9C903021ABDAAE0B20BD5A3B28A51CCA07D41E5A99C1F14072573E +175F3465C772B0F4056E2716BE5E008D0FF1BA87B639E2B4A8F88539226E38DC +732CF5B742D29C364777828DE30F57B2A019A932A1544E8AC5841D6782411945 +B76ACE4C2562028102372626A5A264AE3F13F746F3E478D83C447F6AB7304D5E +5977DDF5C254E328F84FC29EB6E3010253BA4E6595364F15F06CA446F0B5CBE3 +578A9AEA1738D94DFB906593827521FB920B876CF9E89CA2E21AEF896492233E +D81C02F646907E0532B5D646B64EEFF6FA5E91AE6503954A7B60883FE7B08EE5 +0648FFE45080B84B9563E98A3F679DE8E9BD3FB7A1B2F035549BC2BE6766F4DF +A8400AE7A70C499D6C49264A77252B2D3738E666D7BFA5CDD9F1A5B203DACBE5 +F1EE7FF770A8A2567626162FC83143451EC2648AF80CC4EB48DA17BF683067DA +F465A3C6D4225BC2282B4DC86217CE5AF2F731D07A56FD61BA12F7C298A3D7B3 +B1401B0A31D378D5E15135C014F563DDFD8476AD4A94E24CABDB0C1756F8AF17 +5715B2F045BCD1E40FDF22A58F87C593DDC28F5A1F53A089296357878ED76CAC +A1E269C56FDA60DF76FB52F1950883B47A5E0DA7119ED98D56ED590AD19C1700 +34CEEB5576C8CEF59A22A39A026E0FDCF96205D452BC8FAD4D119E8E20DDD104 +9D7ECED52E420D85995B9F7969E560C7A49B3A4429891CF29E658D88D6AB6B1A +0C2854552EDE7C2F6F4488EAD52EEA40EFA7DBBF91360A062B926B30B78AD6CF +75F05CF91AC211C71A7317403461A525BDFF08C380FB2296672D864FA77BABF3 +D26D94EE5558F0985170F83730FBECC03E4BA0BBE3C3909CD9C520F05D8AD3DC +77C649A03DF750A1441E67954670D427DC267D13D5C1C43E38110378F66F7C83 +3AD0014DB37AAA9E1F399BC397FF7359FCCC7CE758BC69EF13E50016376E98C2 +2CEA7397E8EB4F96E2C9965A088B061063D5D8DB68C96DD3662363A929CD947B +CB477012BE5078D2C1E8B0179C57F7F67D3E2707067E27DB122D6563ECA39B2F +1CD189D785354263449E0028190D7EEFAF6D0424509AA2EA43F6A53B95EE3FE4 +82354DB8E3F7B7833F9B55E35BCCD28F608D3A9D8C4B81E588D3A15DFFCF3B66 +4B0D156B223C61A568D8451E7E65B473907900B5040E3486FD2B0E0E0A5D24AE +6D9406A9115DD0FC8F3B785CA4CB8E98DC1E7DF922485BEAD4AC9BB02374E852 +4960719075010F730A748A9E5B909A02CF7EF3EE368DDEC383D4FFB47A5096FF +6139811F850DB3E05910EB07D2F04D7CA61FAC4DA080161127F1CF088BB0B9C6 +376B635B2C57F30F7D594CDA88B2ED752D395F360DB50269DF6FCC0DBEA85839 +906AC2E9FCD5CB3F003E628BE01FABCBDB76FB97DAF6E5F76F2FFC30FEA042C7 +2353540DE16611F350A256E31B3891A38F9ABC2970651A3E2E48D6817CCA709D +A499AF22F1CEEFD30A005DA4CDE594F562135180985D21A5B180991E501F3CD7 +E46DBB5ADA616A329459559AF55E9C3C85BC89684860D5D9D0C798A213279CC0 +4AD06C510D69D922337E57789E0CD91D3F804341A7B803432621F3A166FFEAA0 +01A382152D1C61747C49C668B12D24FA861C72543FC3970F9117F454792A7349 +3BF873F2BFCAC89D0C17DD4898952DC1E69AF87B68043B385F1411EE9A879650 +ADA6501475945E5DAFAF42EE3E2FDD7868F01C17CB28A292DE35C305CD1A9FCC +8AF025E0AA1FFA9A579E0672257A513116B346541F511323FF26F57D2CE59501 +84BB15C355D729B0C41C20416BB3AEDE66F45D6D6E98710321D3B6ED8E718626 +03ED3AAB1DDF52FAE18C29F48C6CB31735A0F45F4188A1AA3C0959EC53F7CE05 +757D437A569826D882AC4517C33FD3FAECF06F03FCE758F9A777C629C44ADD0E +20DFFCD9976EEB5158BE2294D3691296201B19DD837779AA946441E673AA7AB5 +90BB2065E682F32A1D46EC589E3F0184A73AA5743765D6C53C137BEBBC9E01C5 +BD9F07165EB6C77393F4D4861A5C4CACB7E289FA428514C3C8045804C61B407B +2BAA59B8CEE81512382CF039001F0EFAF69EC62AF9BA2A4CB53874F0D93A2F9B +E74F9A58F9E317FCF8F82697E47665E55D518F607E6285CD826B439A775D4971 +D8EB1D2825633446806D7FF9AE54F62F82F5E00D2193DF1B23CC0A3323B8F6BA +654BD4383D0B476E52D381B99A3424A7F6A5DD1F7A807531799899E8ACA483B5 +08FE009CADC9F07121703B6DEEA0284B941EAD7D53ABF0E172A4F6F4FF0FD280 +F95BE8E25E9C01A4EDC0D5AC0500A7AB8D99E5D7E7816BA87C9E913BC14D8FB0 +A4A145C0E398CAB10B7F281213F96B848C19FBBE3985FE439420277848F91C60 +E90EAA66922DA62B69A14648DCEE900D7CE9C87F3F375DCE4565BDC0D6B05CE9 +A418CC881CF0266C9E0FF3E02D1EDF4F46488B36595D534FDB419212E180E910 +507044EF09D562A557636D5AF6D1D6A4E9D6888AF4AC91402C7E67FBED2B88E6 +947AAC3C8840DBF58286C1B94FBFF1BE0732896A26F61F772FF979B667D4765E +CC8380503610158EBB18002172D612EC5FBAACF8A724C7AFDAEB22CFD018FE14 +EC736E2D256FCC47DF8117477A7AD858BE6D8986F11762A775DCAFE44A81E309 +A16C619EBEB9623DFC1667C600409C30190113CB87A94512114E8A2C0105793C +8A74FA831F05C81ABF13786372681E1B3892C648867E75D2C7F5D501520B64E4 +CC0BAA74ECC6A2E033047CB14D854E7A198C181E3E4DF06A5EFE9C6AB13E65D5 +2172BFE493DC0C75F6A5997A5CC6F7A622F3F9318B08F32C3FF8A7ED14BD9743 +58E8C60C45C858F5145459893011E9D40A667876F48633D079C347BA66CF02A2 +0F6B7A08159EF5F4D71D370E18CD3159A17988962F9764640E18F7CD34707E50 +D46C7BE1466703F4E5A76FCB59FD68C6DFB4A205E770FD1F11811B52E1A11641 +7720ECF4B11FD3AD44C2FB5E37279AB0C320704A22B8F6F70F53E0F47A619F82 +D4166E5B7C1EA0CDC1FB1AD52A6FED667D61A200E64A15D2C974F07457BA976B +675764000F46AE8E91E351529562B217C9E9A3B93950ECF294996317EF4D929A +81A8CA086E4A7242D48587A676164B7DC98F9875D14B044276FB4A031845FD38 +C47BE4F77018375BAC63648275B477024FB35208B4061A495EB1A9FC667DAE70 +F417AEEB931CEE0C9A435FA3BD20144ADB5473CD137430BF267ADA3FF5E333CB +C80B1AD385E05F347329E68A1B2C7C0C05EFD8F49398922E9C6DEE3BA7198C89 +30B571D1B1AC79CD7390A46ACFF7AF92FC99CD10E9BA4407A2DB70D4BB1FCAEE +FC662BCD66CF83B63A2B3A9923A56B0540B72510E498037AF9BE8DD385F32BBC +99A202B137D4C540BDBAF6413877DEE14B26D58B357D8851CFB751DF2A2CE7D8 +F772D98DE7DD4A9FC7D4BA8D1DB4A439D57C9DB5F8F93D889D70E7716036E52C +5A92CD4157C0BE9FDD4660414AB9F29428A7407AAC0D28793BE17BEB46D9A953 +D5D5F27C852CF88E50BAD670BD0847D4E1B167074D2964AA4944DB45B879BE86 +9C56BF924719799969C9E7DE3FD0196F3CD0586855C490C430DA82B220D8E86E +767234CCAA939F9AF1FD74225DAC5746F3F29A8C89D001F193FFDA7580BCB069 +EC4A0F13D6C9D261F93055379E8E6CAE8359449B86057B2342CF4BD51787BAB0 +8F2E2277C7DE40A06BFA90C93C7F5DA6A3C71CCDBA9D944ED7B014FA426DB638 +1B39A364D6B98B631293FEDF6646F5D9E7B6BE216DBFA565907E308669012F27 +A84890F9E3D7B1BF61E831C8ADD8BCC441D02D964E6BD3128AE5030611AD6048 +66614FB904F2B8722DA5368D5E5FC7E1D60D20F2AC08B20E4E1FE618984C8A61 +391B281C55476EC56D1A51C1B1D39AF4A10CB0448B6AECBB9B014A233526B6CB +005610C9228DABEC64B56D1BFEAE81BC1E9007542BE5C47E3B05CF109A1A6709 +54EEA279D32E4040370B58E33B5A1A1D80B395A8AB364C88C2FDD3F7EF449A41 +10180533589D20244E5E0A65C5F1D4275434E19B8AFB84DCA93AC1937C6C2CEC +4A420730B464217660843AFFF049A99426D882FA2CC3680CEC254C6E4FF81C53 +4978AC63C602DBFDD81D14D3964C4739A1F3EF4B15C98B7A73D26BBF39F27559 +2AB8E8029F6E83EACFA1F8DA09CDF2562C002BD9367EBA5D682E5425CADDBFD1 +45FBE01862D7DE9D083C95502D03C779E8A51DF6131EDF12488396D512AD24FC +411F248AA851B54E399B81CDBD605919771A4F3FDCEAB92274EFA582F59C7771 +10AE7AA21801548A13EA8532E0543A9C560C20EE3C73AA75FAFA795BA39372E3 +0DE80F5F47F7AB05B4F21028EF298247B51ECD3E34E0D4AE3C1303958F0CDB35 +6BE93BE9D3014161D81A3E863F7C3767F5D82284CA2605E43E0CD6C9A01F3DC9 +433CA526AC3CA43869D1E5AF320C19A7A034C03658C30D5A5A72C25B4ED43ACA +E14D6B8C249D6E6D0C9C291CE0CBB404060E837A965A1F5D8937F681522BB956 +FA363C842256273A25E464B43A19B86DBF9EEAB1E7F70EEEEEEF3F93EF54262E +647DF4701506F4B346EECDF569C85F7D03B29B26D1E8FAA28386CE07A9BF8E3F +8DCA805F2CCBC55A6F5E32E50E32026BBCB128315E2D35E35EAB1E1C142D8C4F +CAC940888BC1DB394595A3F748C9CFA2ADF493EE70A41C7D26556DFE9DBB6A74 +FB23C9AC863CB34BDCFE560DDF98D231876003A86C5714BF76CD3CBEE1052963 +44C200A3918E0EA3F51231515ED5449E9B8F06B451BA7B124F05634868C24D2B +A14C0511EC27C28E836F76F1765BBFC3E9AC484721768F0475B3C98C775D5B70 +D9EC58945DDACA523EFDA41C4830A26E91E4C8D2006708EF956C7EBD7D19DFBC +DD20A6598F6894791A6C032DC5E6540597C97651D50F83F6A430E931DDC0C516 +1EC297528B9D72B9787DF9D6C9900AFD7F5EA607F790984984FA603ACEA8D05D +20560237F60CE521E9642CEE775EB04806912A01AB73EC92FFA64AA3A84999CA +1B57C6C133EC4B6865DA57E83828B8AA2635B3EB57F64D2D90F9AD559E049FB1 +26886D577CEED6C370EB6A303057172B46F443FD4BD9FD0E0D50CB441D970151 +F01DF840CE3DFB5CDA9104F4A4B6634693CA32F6FB73A38F3173014D8E1CFE0B +B163AFD91EA1D945AF548065FE55AE954FAABA468262E8BC19843EE3E11125A3 +CB3F59B3E32C6162D6F2C58B2CD5D28E87219F9A9A9722874A9B88911425E31B +EFF198DF3480030F6ED1555C91FF3DB151E5A566819674659C25271450CD9354 +330C9B1CDBC54E4DC98861764E3675C336BB5DF130A43BBC7B8E2C5C40D16C94 +033DE6EDCDE05F232B3FEF61EC182028EDF281F42591D1F597B4E424F73BBB10 +F3EFB5F275E722213E52AB94AA6D767A945E3E82F9A217B786DFCFC19593A88D +ABE66FCDF794E6356F991B754290088F9B55219AD3F20447B56716119A483003 +99E284DAA7321A4129BBCE1D9A58E7AF7C65994BB62D529EE7EC99CD1D1F658E +C37052410F535ABFEF7B401D0ED1277CCB6E18179925F6E7001330F8B939F7E1 +605C63BE858882DE246270507A0A1777ED4245DD7CB2FC4BD49CA6F5DE6697A6 +CE05A3022C84ECCAE8F0F1500885DD835E13E5BB336B208CBFE1870F80D52912 +3F777D348EFEAA77DA609ADC6D53372F3E01182EAB8A05FC4B3DDE07CCB10BBB +7441A3F2E4AFF140F6663B7DF0C96E804BF35AEABD1176D94B8974E199B6D6E8 +97D4EABFCD54C7B4629924F22C80DF1801EF9F8482660F5CED63AA229F225816 +5CEF2B6A12D736604089E3BC6F21E30A768890CC5DFDDCC10DFA1E614C4C913F +1DBED33CAA775B1C01D58B30B57F26B9E6FDFC0F1449B5EB002D9D5B999F95FB +AE0A1D9E7B8C7A7824463B841A0565EFE3F19F10920098BC0430A3A9A1898363 +8EA14F0A84D59DA321CB6A346FA3308AB7DB8A0BE4FB3FDCCF5F46B8B4AC9203 +A6428E9B510305140820AC86AD4BF419AF9094FD60FF3463DA0258C5F0FB767B +FBCA4B62160FAD8D2419796FF10D8AD44DDD1CE8BEC22067D7AD5096B1E6B326 +3AA531227B02B0672BFB2ADF9356ECC541C556151E59AE021D9043B1847292F7 +E6E00F991FE9376CE92307A13C037C14CF1413EFAAC096A19C0A4B14B2089621 +81B47727C6014FA86F0479AAB63C4944D78A9AB967AE17F4F7BA746EADED5417 +D5BBD68DDC822C744432CCBC00587AFF808EC0EB5DB4ACAE9E55A18E2DBE88E3 +5556976658B4E181DE93AC670431D90FB14ACCC19B9EE95E7AA3317B9345FC42 +C7A38347F930152E7A9525561904F9292955226AEFD2CA05D9823927FD34D582 +0139F662DE08AC60D0456883744557E9B78C6A4F2E6B7535B3F5BFE1754130C2 +C9BA2B6493F612D4307F183D82723FB73653EB980A379CE58FD7E8B7D688AD7D +CED57CF951D0B0D00671C9E0E25C748379A8BC89475616670952E796A1804B4F +30D9A6AA145712D1C1859A87FE4C8EF8210E9ACFE5193261183D0C170EB03C12 +84EF83013710D350AA0438C0EA0A9D66F4350796327B12019E6B4BC708094ECF +CD85AD6FFE5D5C6A9AC95FA066BB08F44AC97E8445FEA67E3520BF38024801E8 +912FAFDB543124BB8B03528F372B22FB2482D7667D57188118AB1C95B46AF0F1 +ADFF94D2E39D73DAE759928FC0D2F7DD00E854ACAC62B9D783075666A0FD9909 +99A6BB222AD272EFA07C9F4E62EA6E22B67C363E5AF7335CCF18DA0B59FB33B7 +2C352DA67F87B28AE464D1EE92E38AD396DABC9ED22CD973BB850797FA4BA155 +549F071280BB12C7A9B9D1834F32A3E4407963103ED244226E5892F5A2EA4144 +EFF6A0C4BA24BCF45B9366131D0C09D69AD50E1150859BC44E283EB84D257AA6 +F970EB9E48F6B60C8180C169626F43D5A232AD674B7438CAFDCA244F2F711FC2 +E50BE43FE379B9AB380882CD15CC1272450246E8FCDFB64E98309BE6FFCBFD43 +BB10D1826CA228C0C0331CA36216E680680289445471AF6528D2E3E4F6321298 +10B2D6AFFC5EAD6AA8721F46515473173C0040D5425E1D1BC660C864C5011FFC +ED996B2083F5CC11630D64B5C7029237004710B1EF765667C8DADA607452CAC4 +60A1CD85AAC006CB60786D9F566AB7E9624D571B7388D5CADF26274C7EDCA1D1 +D75D054F5D931D7950704B18921CDDDF5CEAE257671F377A0C1ABD7597D4FB29 +ECB923FF12083BA90BEBC95E93B61193595C0BE7181ACFC3F5A068E6E56026F6 +984E01B341C01685E1D306AD9A42A7DD375704DDD345647989A6CAC2FA407233 +82BA30F71584586AD5F8308DD164FD0E788555EED6B1E8B0E4484893076D1D71 +182578ED0C5C5D4DB805B7C75FF92C7A1CC96773BA32203CD0C893DD592117F2 +DAFE8C9E1FBE859D3AFE11FA068279D7B75C0157F065FA16577A872CD1B2CA71 +784CAE81D720FFA3EE1C6EA6220B253FB088698CCE811D37C9668D2F71302F9F +159C95BA8BC41BB56B7C584CBE6AEEF8D6716AC6B9C8BF657F340241FACB8B5F +863DA71BC37F91AEF5F3EC379AAA07DA8BA900E45AC3888A1435980BA7ADB033 +B4AA9054F9E855E1973BF162EC3F4DC2455CBD98FC31D5451246CC88F3FF5CDB +22880E3685C97149CCFCCF7DDD19B7AD61B46C8762194274F48237098AC5EC7C +F2D7F56EB2AC91CC5275D7D0838BC76DA9E0BB1F1B6E88F439EAB042B3487A77 +3694AE03422D5019416920E7D95618B24B07A8D2EF7F6C22EC67F22DADBF1499 +2A2CD15EC4B518BEF37BCF67EE085B7FC3D32F56EA6EE08180990371E83B1327 +8AAB1973E6DA6188E1732F4D66AFBB39E7C21E1A6D299D87043B0C86F6811B8F +A1B87646692587220A4AE0A91648F3E86BC6343EADADE07D89C674FDBF6CE091 +3C9BE0501AD4C13CB61B8985CC0C1FBA92A213B688A3DCCB1A13016E3196B7E8 +0B987D6417D7028DF1A94AE0B996962B085AF7584B0E29AC9EE2C22A7D124702 +F26855ACE2E21939D1746E843A679DFA46D7293F08CBC31EEA3D005D87C28B05 +D0AC1ABEFB49FFC9C5859926E7997A1F4007827221BC9077222208A7E6762563 +009E297BBADD0A33B009FDCB4EE02B6D1A5D4553C2A6A3FC4B1088E764F40A08 +59C9BA931D73143550D8AAFBE07891F64D4F748A3AE56F3923A8A49FBAFDD8CA +22A757FA39E915E2002D1D9EB83FA146FA8FE4A375CD8D8B8BBA8F3054999F07 +67F4BE0292774E5B221075824D3D57161860763927D2BE57F82CE63D178AEA54 +24FDDB4B529145B32BDDC83EDF5918FB6930AAFDC21E1A16A8F64007455DE27B +210CD374A3FD8291594DD90309D97D53EC23D2CE5105D54EAD696A035D72DC92 +98375DE338BC720E939F763BC5A3B9B1CA9742AEF605D4799E5149820B09A788 +F2777C9F485B2748E6DC1EAC03EBBD9D1160F679841BC8D068767A70E2503FFB +F16FD289760BED0C149CFF778B006EAA6D10E2381B853BA57557640F76C44F93 +F6A3FD5EAC05027F2CADC059BADCA6B2FA2380C7E24F91633804CC32F93AFB71 +42FC3C5430ECF3C363E9363BA165507B1E631D80919D740C83048E788E27CE03 +481334F41BDA50EA0C5AC08E45657210DF5E9E9049C99BD86075F7AEB96C1DF9 +812339D5E95DBB961A6CCD4432A842AD176C0F11DCD32044D5D4C3CD870A9C19 +C2F8F8108E94033960A12FBA170465E5BA2ED2B427B5C4259FF8D51248DB80C5 +778A7DC0CED69DCE784AAA3D3FB236C8CDF9ADD9E3A8A0566A15B95481D64D1B +3361C657A586B9E38AB0E98C6C67108DC7BE7413948E4488A1EB2E48F5111699 +3D5655D6B7F375FF90DC89490ADE36CD53B969C6B1491F020E70F926A4002F58 +D80516B0604E12A9EB0AD9F8369D90A690F390475F046ED82837106B989B081F +AB718EA8337DAB429DCC126F80E23217C98DD8EA3449A73C66E6E2162E7C3475 +739AC26909A195E6FD34821FCD52FCEF60BAB85D81031B93215BB137E4D7771E +6DEDD8C0512406BD0509050F499B20174F694019D33AC7B9923F11F9EC9EE79A +75DC1C6E23D78137543F3F39040144A3AF04075C8FCA201A18FEDB3A9CAB10C1 +BDC2395425B27631859D655AB5E00AD2E7D044243AF8DD4AFA7E898151B94AC8 +58B588E4E8C3A8EF78DBA31C88CE8EE5B9581B1894876327366C782E52A05004 +D14CC443A6A22493C70D7B32BBE8FEC14DDE0DF75EC3EDAB52A7D5AA1B41AE09 +0279F8AFF104EDBABA8BCC9E461E4FEBC5CB3D2FB012C2F0711FB4A12CF7E8C1 +E973D8C32EB71F362C6743AF79F86A772854DE6B4FA36ACCD814A7AEEE7D6BEB +BB431B064212DB00C054AB718D2579C22E81A6F49C76EB7382DA8A1764E04A74 +C67BE4207D93279A70240793BC6A5358E97D119B3F9A6F7DC8858B22BF8666F3 +91C9E444FF6EF893DA7454AD98E7B0BABF9615205979A8A69CAC43A9F69233F1 +BB922EE0DA52E8F41F955AF57586DC3BEA16FFBF55033CA2DD8F0C55297FB0B7 +E6CE026A3F2B08573DB1E91A34AED33429680E544A30108C90E597E8BD39BAE1 +75C4064951CFB38F1A64AB2AEBAAF6806DECE33488B580D9F9647EE41E8F9B0C +7A199225C9174D025B23A158F4F04D76B6BB9F5B78DC168DA7874426EA616009 +9BBCB08948CE5FE807C0979F61F386576329955001A680DAC16D925577DC20EB +E97243D030BF16DD5098275B6555B366B59989DB8D79D509D5775932DF6845E5 +4769CC4716952EE82FA2D09C4C419137B84E48EA64C7E119B43FA7D441BC2923 +35B8B5FC2A8FF5D46503AC496886596048611EE35DE217CCBBCF01749BB933FD +20C50750C54259A7EC0B2CECBD752BEB13A899D4552292D77F4B64781D61F090 +D34D66C2C7C6BBC4C85016A46DE2637680534300A04CB6E0C16B5A7FE654B06C +4FD71FA1A17B0E4A067CB9306A1AEA6CF5A590DC0E30961EDD056D60D6366819 +B3EC4E7C6B9E0082B86363666C83565C80FDCE6152F3B6607975822AA2897B78 +806881C6B8451B0C2BCF1FC07EB24BB304EDC5E64E777CCFA2B86DCC276D185E +8DE6294BEDC1FF52975B1F017327E27C04B121504F45CAD532164CCE73D4CFEB +3D216F46F9DB2C1C58EEAA9DA74586DA321A742E01C61773AD4D39261893DF6A +63F22F80F02B38FAF41D188F923F889EBF1B0709E34AD60331F323DCF2097672 +7EFC30127AB402A3C4D9C7AE88302D5A7B91247AE89AA98BEB035DF51954A42E +922E73FA4A66E378C6688A1CDF425A48563049C30216CA209BDF479914039327 +EB9175B4C8EA399F0BC02F4D3A1EF795F1F774D9C4FDAEB1DA6C0F977A4B4C5F +FB71B7790D704F4DCB3ACBA2B32C0434635DB7133E5EBC144C2868AB3C4E67A6 +5C4D347D0A77A23681281EFE53FCDDA9DF62C7AB0F8B537BE4B22544B5074BE8 +7B193D2B5339FD46A62B8B14E6660BDDCB157F016FDEA3ED1CB3CDCB5CD7E796 +2A12A21CCCC0E568D56733CD6FFC3199A776E31F044A32801203B11EED7E8BA2 +F7153E9ED49EDCA747A48D8ADCBC4CDB33B9E530FD51AC36D43FE8BC19B07311 +D765E02E4BAC5252B9DD5E0D02C554A25607341E5C437192F2BE10B8D895FAF9 +BC645E2E714F6F2E9716AB7AC7706C389F5A072C222D808848D61EA3222F935F +A58A4D0DE506E6EB351396E3F53AFEC44A0AC4CC6B22064AA6AC79E8BFCF477B +36311FB56CF3F2F4CF290610E4C9EC3FCA898AD685B083593A0355BA6D68BAE1 +ECD13F2752EBD5082AED23542184F6BD0820711BF6889F74335684720DB88A0B +D09973122AD44C6F8A29524427AEA937799C2A5A7530624872CCD6E0D5B4A4FB +71128163937E60CE472641E0BF20E5AA447B7BCDFF0430B0DC51ED862A942C77 +6559E7E729AD91B5FC8A8C0B9A3A81A7B25B79F867D290E051E61DB6584292C3 +1D3FF2A43B7F330CC4EF51F889CF6C41BC17C0A37D48CBFACA320D0F8F81FB6C +0FA345815B553245AFBF5757F50ED6443D1928ECDEA26D69132B144E610D67C6 +A097A94AD061A05F641FD4E8626FA58EC9AD6FBC956A161518732B84C1422EF9 +E70F0FAF340AA35FB904E50AE6B47F6C45A8E7D5B2B1368B45AD5B1CDE5C80A5 +9E65385C8C0C5CBB89189084E1C92C1BE209B2EE3EE712637127DD73FBFE6BFA +9D4ADB559F6F5883F215273D674784A1C4F64F79196676942D2B90840336F42E +EE44767432CFE2EBE2550487C9567C990BAF93A246A77F77AFCCA2BF738966BB +D811A2922F825AD11D769C15F24299D7405341FF867FD6E7550463DB69AC5C48 +767A9F55EDCF31421FB230322E493A5B99F347E33A811C890F69888B35045166 +B37C730F954856C8BB7DFED1ECDAF30AF7FDB675F727F6FFB931B81476DE3F0B +950456E6235B4E2DDEFB07CE3E96D1 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +TeXDict begin 55387786 39139632 1000 600 600 (refcard.dvi) +@start /Fa 197[20 58[{}1 66.4176 /CMMI8 rf /Fb 134[35 +3[38 24 29 30 1[36 36 40 58 18 2[22 36 33 1[33 36 33 +33 36 51[26 45[{}19 66.4176 /CMTI8 rf /Fc 242[61 13[{}1 +49.8132 /CMSY6 rf /Fd 134[32 1[43 32 34 24 24 24 1[34 +30 34 50 18 32 1[18 34 30 19 27 34 27 34 30 11[45 1[34 +2[41 1[45 54 3[22 1[47 39 41 1[43 42 45 10[30 30 1[30 +30 30 30 1[18 21 18 44[{}43 49.8132 /CMR6 rf /Fe 134[43 +43 59 43 45 32 32 34 43 45 41 45 68 23 43 1[23 45 41 +25 37 45 36 45 40 85[47 11[{}25 66.4176 /CMBX8 rf /Ff +130[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 +35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 +3[35 2[35 35 35 1[35 2[35 35 4[35 35 35 35 35 35 35 35 +35 35 1[35 1[35 4[35 35 35 35 35 35 35 35 35 35 35 35 +35 35 35 1[35 35 35 35 35 33[{}74 66.4176 /CMTT8 rf /Fg +133[51 60 60 83 60 64 45 45 47 1[64 57 64 95 32 60 1[32 +64 57 35 53 64 51 64 56 9[118 2[80 64 86 86 3[109 69 +90 1[43 90 90 72 75 88 83 81 87 53[67 11[{}42 99.6264 +/CMBX10 rf /Fh 132[35 31 37 37 51 37 39 27 28 28 37 39 +35 39 59 20 37 22 20 39 35 22 31 39 31 39 35 4[35 3[53 +72 53 53 51 4[55 53 65 44 2[25 1[55 1[48 54 2[53 6[20 +35 6[35 35 2[20 24 20 2[27 27 20 4[35 21[39 41 11[{}55 +66.4176 /CMR8 rf /Fi 140[54 57 3[76 115 6[42 63 76 61 +1[67 11[106 2[103 3[108 6[108 1[90 1[99 67[{}15 119.552 +/CMBX10 rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin -%%PaperSize: A4 - +%%BeginPaperSize: a4 +a4 +%%EndPaperSize + @landscape end %%EndSetup %%Page: 1 1 -1 0 bop 158 -320 a Fi(GNU)55 b(Emacs)g(Reference)f(Card)922 --185 y Fh(\(for)27 b(v)n(ersion)f(21\))0 56 y Fg(Starting)47 -b(Emacs)0 251 y Fh(T)-7 b(o)27 b(en)n(ter)g(GNU)i(Emacs)d(21,)h(just)h -(t)n(yp)r(e)g(its)g(name:)36 b Ff(emacs)0 383 y Fh(T)-7 -b(o)27 b(read)g(in)h(a)f(\014le)h(to)f(edit,)h(see)g(Files,)f(b)r(elo)n -(w.)0 611 y Fg(Lea)l(ving)45 b(Emacs)0 807 y Fh(susp)r(end)28 -b(Emacs)e(\(or)h(iconify)h(it)g(under)f(X\))405 b Ff(C-z)0 -906 y Fh(exit)28 b(Emacs)e(p)r(ermanen)n(tly)917 b Ff(C-x)42 -b(C-c)0 1134 y Fg(Files)0 1330 y Fe(read)28 b Fh(a)f(\014le)h(in)n(to)f -(Emacs)981 b Ff(C-x)42 b(C-f)0 1429 y Fe(sa)m(v)m(e)29 -b Fh(a)e(\014le)h(bac)n(k)e(to)i(disk)955 b Ff(C-x)42 -b(C-s)0 1529 y Fh(sa)n(v)n(e)26 b Fe(all)h Fh(\014les)1356 -b Ff(C-x)42 b(s)0 1628 y Fe(insert)27 b Fh(con)n(ten)n(ts)g(of)h -(another)e(\014le)i(in)n(to)f(this)h(bu\013er)134 b Ff(C-x)42 -b(i)0 1728 y Fh(replace)27 b(this)g(\014le)h(with)g(the)g(\014le)g(y)n -(ou)f(really)f(w)n(an)n(t)196 b Ff(C-x)42 b(C-v)0 1828 -y Fh(write)27 b(bu\013er)h(to)g(a)f(sp)r(eci\014ed)h(\014le)738 -b Ff(C-x)42 b(C-w)0 1927 y Fh(v)n(ersion)26 b(con)n(trol)g(c)n(hec)n -(kin/c)n(hec)n(k)n(out)616 b Ff(C-x)42 b(C-q)0 2168 y -Fg(Getting)47 b(Help)0 2363 y Fh(The)27 b(help)h(system)f(is)h(simple.) -37 b(T)n(yp)r(e)27 b Ff(C-h)f Fh(\(or)h Ff(F1)p Fh(\))g(and)g(follo)n -(w)g(the)h(direc-)0 2463 y(tions.)37 b(If)28 b(y)n(ou)f(are)f(a)h -(\014rst-time)h(user,)f(t)n(yp)r(e)h Ff(C-h)42 b(t)27 -b Fh(for)g(a)g Fe(tutorial)p Fh(.)0 2595 y(remo)n(v)n(e)f(help)i(windo) -n(w)1061 b Ff(C-x)42 b(1)0 2695 y Fh(scroll)26 b(help)i(windo)n(w)1128 -b Ff(C-M-v)0 2827 y Fh(aprop)r(os:)35 b(sho)n(w)27 b(commands)g(matc)n -(hing)g(a)g(string)199 b Ff(C-h)42 b(a)0 2927 y Fh(sho)n(w)27 -b(the)h(function)g(a)f(k)n(ey)g(runs)749 b Ff(C-h)42 -b(c)0 3027 y Fh(describ)r(e)27 b(a)g(function)1113 b -Ff(C-h)42 b(f)0 3126 y Fh(get)27 b(mo)r(de-sp)r(eci\014c)h(information) -726 b Ff(C-h)42 b(m)0 3354 y Fg(Error)j(Reco)l(v)l(ery)0 -3550 y Fe(ab)s(ort)28 b Fh(partially)f(t)n(yp)r(ed)h(or)e(executing)i -(command)154 b Ff(C-g)0 3649 y Fe(reco)m(v)m(er)29 b -Fh(a)e(\014le)h(lost)f(b)n(y)h(a)f(system)g(crash)286 -b Ff(M-x)42 b(recover-file)0 3749 y Fe(undo)28 b Fh(an)f(un)n(w)n(an)n -(ted)g(c)n(hange)826 b Ff(C-x)42 b(u)i Fh(or)e Ff(C-_)0 -3848 y Fh(restore)26 b(a)h(bu\013er)h(to)f(its)h(original)e(con)n(ten)n -(ts)228 b Ff(M-x)42 b(revert-buffer)0 3948 y Fh(redra)n(w)26 -b(garbaged)f(screen)947 b Ff(C-l)0 4176 y Fg(Incremen)l(tal)47 -b(Searc)l(h)0 4371 y Fh(searc)n(h)26 b(forw)n(ard)1269 -b Ff(C-s)0 4471 y Fh(searc)n(h)26 b(bac)n(kw)n(ard)1202 -b Ff(C-r)0 4571 y Fh(regular)26 b(expression)g(searc)n(h)892 -b Ff(C-M-s)0 4670 y Fh(rev)n(erse)26 b(regular)f(expression)i(searc)n -(h)614 b Ff(C-M-r)0 4803 y Fh(select)27 b(previous)g(searc)n(h)f -(string)782 b Ff(M-p)0 4902 y Fh(select)27 b(next)h(later)f(searc)n(h)f -(string)732 b Ff(M-n)0 5002 y Fh(exit)28 b(incremen)n(tal)f(searc)n(h) -960 b Ff(RET)0 5102 y Fh(undo)28 b(e\013ect)g(of)f(last)g(c)n(haracter) -785 b Ff(DEL)0 5201 y Fh(ab)r(ort)27 b(curren)n(t)g(searc)n(h)1061 -b Ff(C-g)0 5334 y Fh(Use)33 b Ff(C-s)g Fh(or)f Ff(C-r)g -Fh(again)h(to)g(rep)r(eat)g(the)h(searc)n(h)e(in)h(either)h(direction.) -54 b(If)0 5433 y(Emacs)27 b(is)g(still)h(searc)n(hing,)e -Ff(C-g)g Fh(cancels)h(only)g(the)h(part)f(not)h(done.)258 -5567 y Fd(c)239 5569 y Fc(\015)23 b Fd(1997)g(F)-5 b(ree)21 -b(Soft)n(w)n(are)h(F)-5 b(oundation,)20 b(Inc.)28 b(P)n(ermissions)22 -b(on)g(bac)n(k.)29 b(v2.2)3858 5663 y Fh(1)p eop +TeXDict begin @landscape 1 0 bop -358 -364 a Fi(GNU)45 +b(Emacs)h(Reference)g(Card)274 -256 y Fh(\(for)23 b(v)n(ersion)g(22\)) +-450 -58 y Fg(Starting)37 b(Emacs)-450 101 y Fh(T)-6 +b(o)24 b(en)n(ter)g(GNU)g(Emacs)g(22,)f(just)h(t)n(yp)r(e)h(its)e +(name:)32 b Ff(emacs)-450 295 y Fg(Lea)m(ving)37 b(Emacs)-450 +454 y Fh(susp)r(end)24 b(Emacs)g(\(or)g(iconify)f(it)h(under)g(X\))254 +b Ff(C-z)-450 533 y Fh(exit)24 b(Emacs)g(p)r(ermanen)n(tly)691 +b Ff(C-x)36 b(C-c)-450 728 y Fg(Files)-450 886 y Fe(read)23 +b Fh(a)h(\014le)g(in)n(to)g(Emacs)744 b Ff(C-x)36 b(C-f)-450 +966 y Fe(sa)n(v)n(e)23 b Fh(a)h(\014le)f(bac)n(k)i(to)f(disk)722 +b Ff(C-x)36 b(C-s)-450 1046 y Fh(sa)n(v)n(e)24 b Fe(all)f +Fh(\014les)1062 b Ff(C-x)36 b(s)-450 1125 y Fe(insert)16 +b Fh(con)n(ten)n(ts)j(of)e(another)h(\014le)f(in)n(to)g(this)g +(bu\013er)71 b Ff(C-x)36 b(i)-450 1205 y Fh(replace)24 +b(this)g(\014le)g(with)f(the)i(\014le)e(y)n(ou)i(really)e(w)n(an)n(t)78 +b Ff(C-x)36 b(C-v)-450 1285 y Fh(write)23 b(bu\013er)h(to)h(a)e(sp)r +(eci\014ed)i(\014le)538 b Ff(C-x)36 b(C-w)-450 1364 y +Fh(toggle)25 b(read-only)f(status)g(of)f(bu\013er)454 +b Ff(C-x)36 b(C-q)-450 1561 y Fg(Getting)h(Help)-450 +1719 y Fh(The)22 b(help)g(system)g(is)f(simple.)30 b(T)n(yp)r(e)22 +b Ff(C-h)h Fh(\(or)e Ff(F1)p Fh(\))i(and)f(follo)n(w)f(the)i(di-)-450 +1799 y(rections.)30 b(If)20 b(y)n(ou)g(are)g(a)g(\014rst-time)g(user,)g +(t)n(yp)r(e)h Ff(C-h)36 b(t)20 b Fh(for)f(a)h Fe(tutorial)p +Fh(.)-450 1905 y(remo)n(v)n(e)k(help)g(windo)n(w)813 +b Ff(C-x)36 b(1)-450 1985 y Fh(scroll)23 b(help)h(windo)n(w)869 +b Ff(C-M-v)-450 2092 y Fh(aprop)r(os:)32 b(sho)n(w)23 +b(commands)i(matc)n(hing)f(a)g(string)80 b Ff(C-h)36 +b(a)-450 2171 y Fh(describ)r(e)24 b(the)g(function)h(a)f(k)n(ey)g(runs) +449 b Ff(C-h)36 b(k)-450 2251 y Fh(describ)r(e)24 b(a)g(function)856 +b Ff(C-h)36 b(f)-450 2331 y Fh(get)25 b(mo)r(de-sp)r(eci\014c)f +(information)528 b Ff(C-h)36 b(m)-450 2524 y Fg(Error)j(Reco)m(v)m(ery) +-450 2683 y Fe(ab)r(ort)17 b Fh(partially)g(t)n(yp)r(ed)i(or)f +(executing)h(command)72 b Ff(C-g)-450 2762 y Fe(reco)n(v)n(er)23 +b Fh(\014les)g(lost)h(b)n(y)g(a)g(system)g(crash)142 +b Ff(M-x)36 b(recover-session)-450 2842 y Fe(undo)24 +b Fh(an)g(un)n(w)n(an)n(ted)h(c)n(hange)474 b Ff(C-x)36 +b(u,)g(C-_)g Fh(or)f Ff(C-/)-450 2922 y Fh(restore)24 +b(a)g(bu\013er)g(to)g(its)f(original)g(con)n(ten)n(ts)114 +b Ff(M-x)36 b(revert-buffer)-450 3001 y Fh(redra)n(w)23 +b(garbaged)i(screen)717 b Ff(C-l)-450 3196 y Fg(Incremen)m(tal)36 +b(Searc)m(h)-450 3354 y Fh(searc)n(h)24 b(forw)n(ard)990 +b Ff(C-s)-450 3434 y Fh(searc)n(h)24 b(bac)n(kw)n(ard)935 +b Ff(C-r)-450 3514 y Fh(regular)23 b(expression)h(searc)n(h)671 +b Ff(C-M-s)-450 3593 y Fh(rev)n(erse)24 b(regular)f(expression)h(searc) +n(h)435 b Ff(C-M-r)-450 3700 y Fh(select)24 b(previous)g(searc)n(h)g +(string)576 b Ff(M-p)-450 3780 y Fh(select)24 b(next)h(later)f(searc)n +(h)g(string)533 b Ff(M-n)-450 3859 y Fh(exit)24 b(incremen)n(tal)g +(searc)n(h)729 b Ff(RET)-450 3939 y Fh(undo)24 b(e\013ect)i(of)d(last)h +(c)n(haracter)580 b Ff(DEL)-450 4019 y Fh(ab)r(ort)24 +b(curren)n(t)g(searc)n(h)815 b Ff(C-g)-450 4125 y Fh(Use)27 +b Ff(C-s)h Fh(or)f Ff(C-r)h Fh(again)g(to)f(rep)r(eat)i(the)f(searc)n +(h)f(in)g(either)h(direction.)-450 4205 y(If)23 b(Emacs)h(is)f(still)g +(searc)n(hing,)h Ff(C-g)g Fh(cancels)h(only)e(the)i(part)f(not)g(done.) +-358 4311 y Fd(c)-375 4313 y Fc(\015)d Fd(2006)h(F)-5 +b(ree)22 b(Soft)n(w)n(are)g(F)-5 b(oundation,)20 b(Inc.)27 +b(P)n(ermissions)21 b(on)g(bac)n(k.)28 b(v2.3)1746 -364 +y Fg(Motion)1746 -201 y Fe(en)n(tit)n(y)e(to)g(mo)n(v)n(e)h(o)n(v)n(er) +472 b(bac)n(kw)n(ard)69 b(forw)n(ard)1746 -121 y Fh(c)n(haracter)885 +b Ff(C-b)302 b(C-f)1746 -42 y Fh(w)n(ord)1017 b Ff(M-b)302 +b(M-f)1746 38 y Fh(line)1058 b Ff(C-p)302 b(C-n)1746 +118 y Fh(go)24 b(to)g(line)g(b)r(eginning)g(\(or)g(end\))281 +b Ff(C-a)302 b(C-e)1746 197 y Fh(sen)n(tence)913 b Ff(M-a)302 +b(M-e)1746 277 y Fh(paragraph)855 b Ff(M-{)302 b(M-})1746 +357 y Fh(page)1028 b Ff(C-x)36 b([)231 b(C-x)37 b(])1746 +437 y Fh(sexp)1033 b Ff(C-M-b)232 b(C-M-f)1746 516 y +Fh(function)916 b Ff(C-M-a)232 b(C-M-e)1746 596 y Fh(go)24 +b(to)g(bu\013er)g(b)r(eginning)h(\(or)f(end\))212 b Ff(M-<)302 +b(M->)1746 704 y Fh(scroll)23 b(to)h(next)h(screen)822 +b Ff(C-v)1746 783 y Fh(scroll)23 b(to)h(previous)g(screen)700 +b Ff(M-v)1746 863 y Fh(scroll)23 b(left)1155 b Ff(C-x)36 +b(<)1746 943 y Fh(scroll)23 b(righ)n(t)1108 b Ff(C-x)36 +b(>)1746 1022 y Fh(scroll)23 b(curren)n(t)h(line)f(to)h(cen)n(ter)h(of) +f(screen)312 b Ff(C-u)36 b(C-l)1746 1213 y Fg(Killing)h(and)g(Deleting) +1746 1376 y Fe(en)n(tit)n(y)26 b(to)g(kill)723 b(bac)n(kw)n(ard)69 +b(forw)n(ard)1746 1456 y Fh(c)n(haracter)25 b(\(delete,)g(not)f(kill\)) +360 b Ff(DEL)302 b(C-d)1746 1536 y Fh(w)n(ord)1017 b +Ff(M-DEL)232 b(M-d)1746 1615 y Fh(line)23 b(\(to)i(end)f(of)5 +b(\))699 b Ff(M-0)36 b(C-k)161 b(C-k)1746 1695 y Fh(sen)n(tence)913 +b Ff(C-x)36 b(DEL)161 b(M-k)1746 1775 y Fh(sexp)1033 +b Ff(M--)36 b(C-M-k)91 b(C-M-k)1746 1882 y Fh(kill)23 +b Fe(region)1099 b Ff(C-w)1746 1962 y Fh(cop)n(y)25 b(region)e(to)i +(kill)d(ring)736 b Ff(M-w)1746 2042 y Fh(kill)23 b(through)h(next)h(o)r +(ccurrence)g(of)e Fb(char)329 b Ff(M-z)36 b Fb(char)1746 +2149 y Fh(y)n(ank)25 b(bac)n(k)f(last)g(thing)g(killed)620 +b Ff(C-y)1746 2229 y Fh(replace)24 b(last)g(y)n(ank)g(with)g(previous)g +(kill)358 b Ff(M-y)1746 2431 y Fg(Marking)1746 2594 y +Fh(set)24 b(mark)g(here)1018 b Ff(C-@)36 b Fh(or)f Ff(C-SPC)1746 +2673 y Fh(exc)n(hange)26 b(p)r(oin)n(t)e(and)g(mark)658 +b Ff(C-x)36 b(C-x)1746 2781 y Fh(set)24 b(mark)g Fb(ar)l(g)30 +b Fe(w)n(ords)22 b Fh(a)n(w)n(a)n(y)639 b Ff(M-@)1746 +2861 y Fh(mark)23 b Fe(paragraph)894 b Ff(M-h)1746 2940 +y Fh(mark)23 b Fe(page)1095 b Ff(C-x)36 b(C-p)1746 3020 +y Fh(mark)23 b Fe(sexp)1101 b Ff(C-M-@)1746 3100 y Fh(mark)23 +b Fe(function)966 b Ff(C-M-h)1746 3179 y Fh(mark)23 b(en)n(tire)h +Fe(bu\013er)852 b Ff(C-x)36 b(h)1746 3370 y Fg(Query)i(Replace)1746 +3533 y Fh(in)n(teractiv)n(ely)25 b(replace)f(a)g(text)h(string)414 +b Ff(M-\045)1746 3613 y Fh(using)24 b(regular)f(expressions)305 +b Ff(M-x)36 b(query-replace-regexp)1746 3721 y Fh(V)-6 +b(alid)23 b(resp)r(onses)h(in)f(query-replace)i(mo)r(de)f(are)1746 +3828 y Fe(replace)f Fh(this)h(one,)g(go)g(on)g(to)g(next)466 +b Ff(SPC)1746 3908 y Fh(replace)24 b(this)g(one,)g(don't)g(mo)n(v)n(e) +572 b Ff(,)1746 3988 y Fe(skip)23 b Fh(to)i(next)f(without)h(replacing) +488 b Ff(DEL)1746 4067 y Fh(replace)24 b(all)f(remaining)h(matc)n(hes) +525 b Ff(!)1746 4147 y Fe(bac)n(k)27 b(up)d Fh(to)g(the)g(previous)g +(matc)n(h)460 b Ff(^)1746 4227 y Fe(exit)23 b Fh(query-replace)871 +b Ff(RET)1746 4306 y Fh(en)n(ter)24 b(recursiv)n(e)g(edit)g(\()p +Ff(C-M-c)i Fh(to)e(exit\))370 b Ff(C-r)3942 -364 y Fg(Multiple)36 +b(Windo)m(ws)3942 -244 y Fh(When)27 b(t)n(w)n(o)f(commands)g(are)g(sho) +n(wn,)g(the)h(second)g(is)d(a)i(similar)e(com-)3942 -164 +y(mand)g(for)f(a)h(frame)f(instead)h(of)g(a)f(windo)n(w.)3942 +-67 y(delete)i(all)e(other)h(windo)n(ws)467 b Ff(C-x)36 +b(1)212 b(C-x)37 b(5)e(1)3942 12 y Fh(split)23 b(windo)n(w,)h(ab)r(o)n +(v)n(e)h(and)f(b)r(elo)n(w)267 b Ff(C-x)36 b(2)212 b(C-x)37 +b(5)e(2)3942 92 y Fh(delete)25 b(this)e(windo)n(w)640 +b Ff(C-x)36 b(0)212 b(C-x)37 b(5)e(0)3942 189 y Fh(split)23 +b(windo)n(w,)h(side)f(b)n(y)h(side)649 b Ff(C-x)36 b(3)3942 +286 y Fh(scroll)23 b(other)h(windo)n(w)838 b Ff(C-M-v)3942 +383 y Fh(switc)n(h)24 b(cursor)f(to)h(another)h(windo)n(w)206 +b Ff(C-x)36 b(o)212 b(C-x)37 b(5)e(o)3942 463 y Fh(select)25 +b(bu\013er)e(in)h(other)g(windo)n(w)320 b Ff(C-x)36 b(4)g(b)141 +b(C-x)37 b(5)e(b)3942 542 y Fh(displa)n(y)24 b(bu\013er)g(in)f(other)h +(windo)n(w)273 b Ff(C-x)36 b(4)g(C-o)71 b(C-x)37 b(5)e(C-o)3942 +622 y Fh(\014nd)24 b(\014le)g(in)f(other)h(windo)n(w)460 +b Ff(C-x)36 b(4)g(f)141 b(C-x)37 b(5)e(f)3942 702 y Fh(\014nd)24 +b(\014le)g(read-only)g(in)f(other)h(windo)n(w)148 b Ff(C-x)36 +b(4)g(r)141 b(C-x)37 b(5)e(r)3942 782 y Fh(run)23 b(Dired)h(in)f(other) +h(windo)n(w)390 b Ff(C-x)36 b(4)g(d)141 b(C-x)37 b(5)e(d)3942 +861 y Fh(\014nd)24 b(tag)h(in)e(other)h(windo)n(w)452 +b Ff(C-x)36 b(4)g(.)141 b(C-x)37 b(5)e(.)3942 958 y Fh(gro)n(w)24 +b(windo)n(w)f(taller)852 b Ff(C-x)36 b(^)3942 1038 y +Fh(shrink)23 b(windo)n(w)h(narro)n(w)n(er)698 b Ff(C-x)36 +b({)3942 1118 y Fh(gro)n(w)24 b(windo)n(w)f(wider)844 +b Ff(C-x)36 b(})3942 1264 y Fg(F)-10 b(ormatting)3942 +1384 y Fh(inden)n(t)25 b(curren)n(t)f Fe(line)f Fh(\(mo)r(de-dep)r +(enden)n(t\))267 b Ff(TAB)3942 1464 y Fh(inden)n(t)25 +b Fe(region)d Fh(\(mo)r(de-dep)r(enden)n(t\))420 b Ff(C-M-\\)3942 +1544 y Fh(inden)n(t)25 b Fe(sexp)f Fh(\(mo)r(de-dep)r(enden)n(t\))482 +b Ff(C-M-q)3942 1623 y Fh(inden)n(t)25 b(region)e(rigidly)g +Fb(ar)l(g)30 b Fh(columns)413 b Ff(C-x)36 b(TAB)3942 +1720 y Fh(insert)23 b(newline)h(after)g(p)r(oin)n(t)662 +b Ff(C-o)3942 1800 y Fh(mo)n(v)n(e)24 b(rest)g(of)f(line)h(v)n +(ertically)f(do)n(wn)437 b Ff(C-M-o)3942 1880 y Fh(delete)25 +b(blank)f(lines)f(around)h(p)r(oin)n(t)482 b Ff(C-x)36 +b(C-o)3942 1959 y Fh(join)23 b(line)g(with)h(previous)g(\(with)g(arg,)f +(next\))236 b Ff(M-^)3942 2039 y Fh(delete)25 b(all)e(white)h(space)h +(around)f(p)r(oin)n(t)358 b Ff(M-\\)3942 2119 y Fh(put)24 +b(exactly)h(one)g(space)f(at)h(p)r(oin)n(t)503 b Ff(M-SPC)3942 +2216 y Fh(\014ll)23 b(paragraph)1025 b Ff(M-q)3942 2295 +y Fh(set)24 b(\014ll)f(column)1005 b Ff(C-x)36 b(f)3942 +2375 y Fh(set)24 b(pre\014x)g(eac)n(h)h(line)e(starts)h(with)506 +b Ff(C-x)36 b(.)3942 2472 y Fh(set)24 b(face)1211 b Ff(M-o)3942 +2609 y Fg(Case)37 b(Change)3942 2730 y Fh(upp)r(ercase)25 +b(w)n(ord)961 b Ff(M-u)3942 2809 y Fh(lo)n(w)n(ercase)24 +b(w)n(ord)979 b Ff(M-l)3942 2889 y Fh(capitalize)25 b(w)n(ord)975 +b Ff(M-c)3942 2986 y Fh(upp)r(ercase)25 b(region)924 +b Ff(C-x)36 b(C-u)3942 3066 y Fh(lo)n(w)n(ercase)24 b(region)942 +b Ff(C-x)36 b(C-l)3942 3212 y Fg(The)h(Minibu\013er)3942 +3332 y Fh(The)24 b(follo)n(wing)f(k)n(eys)h(are)g(de\014ned)h(in)e(the) +i(minibu\013er.)3942 3429 y(complete)g(as)f(m)n(uc)n(h)g(as)f(p)r +(ossible)539 b Ff(TAB)3942 3509 y Fh(complete)25 b(up)f(to)g(one)h(w)n +(ord)673 b Ff(SPC)3942 3588 y Fh(complete)25 b(and)f(execute)778 +b Ff(RET)3942 3668 y Fh(sho)n(w)24 b(p)r(ossible)f(completions)636 +b Ff(?)3942 3748 y Fh(fetc)n(h)25 b(previous)e(minibu\013er)g(input)484 +b Ff(M-p)3942 3828 y Fh(fetc)n(h)25 b(later)e(minibu\013er)g(input)i +(or)e(default)276 b Ff(M-n)3942 3907 y Fh(regexp)24 b(searc)n(h)h(bac)n +(kw)n(ard)f(through)h(history)204 b Ff(M-r)3942 3987 +y Fh(regexp)24 b(searc)n(h)h(forw)n(ard)d(through)j(history)261 +b Ff(M-s)3942 4067 y Fh(ab)r(ort)24 b(command)953 b Ff(C-g)3942 +4164 y Fh(T)n(yp)r(e)28 b Ff(C-x)37 b(ESC)f(ESC)28 b +Fh(to)h(edit)f(and)h(rep)r(eat)f(the)h(last)f(command)h(that)3942 +4243 y(used)c(the)g(minibu\013er.)33 b(T)n(yp)r(e)26 +b Ff(F10)f Fh(to)g(activ)l(ate)h(the)g(men)n(u)f(bar)f(using)3942 +4323 y(the)h(minibu\013er.)p eop end %%Page: 2 2 -2 1 bop 0 -337 a Fg(Motion)0 -130 y Fe(en)m(tit)m(y)32 -b(to)g(mo)m(v)m(e)f(o)m(v)m(er)704 b(bac)m(kw)m(ard)86 -b(forw)m(ard)0 -30 y Fh(c)n(haracter)1181 b Ff(C-b)346 -b(C-f)0 69 y Fh(w)n(ord)1339 b Ff(M-b)346 b(M-f)0 169 -y Fh(line)1389 b Ff(C-p)346 b(C-n)0 268 y Fh(go)27 b(to)g(line)h(b)r -(eginning)g(\(or)e(end\))474 b Ff(C-a)346 b(C-e)0 368 -y Fh(sen)n(tence)1215 b Ff(M-a)346 b(M-e)0 468 y Fh(paragraph)1146 -b Ff(M-{)346 b(M-})0 567 y Fh(page)1351 b Ff(C-x)42 b([)260 -b(C-x)42 b(])0 667 y Fh(sexp)1358 b Ff(C-M-b)258 b(C-M-f)0 -767 y Fh(function)1221 b Ff(C-M-a)258 b(C-M-e)0 866 y -Fh(go)27 b(to)g(bu\013er)h(b)r(eginning)f(\(or)g(end\))393 -b Ff(M-<)346 b(M->)0 1002 y Fh(scroll)26 b(to)i(next)g(screen)1071 -b Ff(C-v)0 1101 y Fh(scroll)26 b(to)i(previous)e(screen)928 -b Ff(M-v)0 1201 y Fh(scroll)26 b(left)1466 b Ff(C-x)42 -b(<)0 1300 y Fh(scroll)26 b(righ)n(t)1409 b Ff(C-x)42 -b(>)0 1400 y Fh(scroll)26 b(curren)n(t)h(line)h(to)f(cen)n(ter)g(of)h -(screen)471 b Ff(C-u)42 b(C-l)0 1643 y Fg(Killing)k(and)h(Deleting)0 -1849 y Fe(en)m(tit)m(y)32 b(to)g(kill)996 b(bac)m(kw)m(ard)86 -b(forw)m(ard)0 1949 y Fh(c)n(haracter)26 b(\(delete,)i(not)f(kill\))568 -b Ff(DEL)346 b(C-d)0 2049 y Fh(w)n(ord)1339 b Ff(M-DEL)258 -b(M-d)0 2148 y Fh(line)28 b(\(to)g(end)f(of)6 b(\))966 -b Ff(M-0)42 b(C-k)172 b(C-k)0 2248 y Fh(sen)n(tence)1215 -b Ff(C-x)42 b(DEL)172 b(M-k)0 2348 y Fh(sexp)1358 b Ff(M--)42 -b(C-M-k)84 b(C-M-k)0 2483 y Fh(kill)28 b Fe(region)1400 -b Ff(C-w)0 2583 y Fh(cop)n(y)27 b(region)f(to)h(kill)h(ring)971 -b Ff(M-w)0 2682 y Fh(kill)28 b(through)f(next)g(o)r(ccurrence)g(of)g -Fb(char)494 b Ff(M-z)42 b Fb(char)0 2818 y Fh(y)n(ank)27 -b(bac)n(k)f(last)i(thing)f(killed)836 b Ff(C-y)0 2917 -y Fh(replace)27 b(last)g(y)n(ank)g(with)h(previous)e(kill)528 -b Ff(M-y)0 3170 y Fg(Marking)0 3377 y Fh(set)28 b(mark)e(here)1303 -b Ff(C-@)42 b Fh(or)h Ff(C-SPC)0 3476 y Fh(exc)n(hange)26 -b(p)r(oin)n(t)i(and)f(mark)879 b Ff(C-x)42 b(C-x)0 3612 -y Fh(set)28 b(mark)e Fb(ar)l(g)36 b Fe(w)m(ords)27 b -Fh(a)n(w)n(a)n(y)856 b Ff(M-@)0 3711 y Fh(mark)27 b Fe(paragraph)1162 -b Ff(M-h)0 3811 y Fh(mark)27 b Fe(page)1394 b Ff(C-x)42 -b(C-p)0 3911 y Fh(mark)27 b Fe(sexp)1400 b Ff(C-M-@)0 -4010 y Fh(mark)27 b Fe(function)1243 b Ff(C-M-h)0 4110 -y Fh(mark)27 b(en)n(tire)g Fe(bu\013er)1107 b Ff(C-x)42 -b(h)0 4353 y Fg(Query)k(Replace)0 4559 y Fh(in)n(teractiv)n(ely)26 -b(replace)h(a)g(text)h(string)592 b Ff(M-\045)0 4659 -y Fh(using)27 b(regular)f(expressions)448 b Ff(M-x)42 -b(query-replace-reg)o(ex)o(p)0 4794 y Fh(V)-7 b(alid)28 -b(resp)r(onses)e(in)i(query-replace)d(mo)r(de)j(are)0 -4930 y Fe(replace)g Fh(this)g(one,)f(go)g(on)g(to)h(next)653 -b Ff(SPC)0 5029 y Fh(replace)27 b(this)g(one,)h(don't)g(mo)n(v)n(e)776 -b Ff(,)0 5129 y Fe(skip)27 b Fh(to)h(next)g(without)g(replacing)678 -b Ff(DEL)0 5229 y Fh(replace)27 b(all)g(remaining)g(matc)n(hes)721 -b Ff(!)0 5328 y Fe(bac)m(k)33 b(up)28 b Fh(to)g(the)g(previous)e(matc)n -(h)646 b Ff(^)0 5428 y Fe(exit)27 b Fh(query-replace)1128 -b Ff(RET)0 5528 y Fh(en)n(ter)27 b(recursiv)n(e)f(edit)i(\()p -Ff(C-M-c)e Fh(to)h(exit\))530 b Ff(C-r)3858 5663 y Fh(2)p -eop -%%Page: 3 3 -3 2 bop 0 -337 a Fg(Multiple)47 b(Windo)l(ws)0 -173 y -Fh(When)28 b(t)n(w)n(o)f(commands)g(are)g(sho)n(wn,)f(the)i(second)f -(is)h(for)f(\\other)f(frame.")0 -48 y(delete)i(all)f(other)g(windo)n -(ws)920 b Ff(C-x)42 b(1)0 76 y Fh(split)28 b(windo)n(w,)f(ab)r(o)n(v)n -(e)f(and)i(b)r(elo)n(w)422 b Ff(C-x)42 b(2)257 b(C-x)42 -b(5)h(2)0 176 y Fh(delete)28 b(this)g(windo)n(w)860 b -Ff(C-x)42 b(0)257 b(C-x)42 b(5)h(0)0 301 y Fh(split)28 -b(windo)n(w,)f(side)h(b)n(y)f(side)869 b Ff(C-x)42 b(3)0 -425 y Fh(scroll)26 b(other)h(windo)n(w)1091 b Ff(C-M-v)0 -550 y Fh(switc)n(h)27 b(cursor)f(to)i(another)f(windo)n(w)349 -b Ff(C-x)42 b(o)257 b(C-x)42 b(5)h(o)0 650 y Fh(select)27 -b(bu\013er)h(in)g(other)f(windo)n(w)484 b Ff(C-x)42 b(4)h(b)170 -b(C-x)42 b(5)h(b)0 749 y Fh(displa)n(y)27 b(bu\013er)h(in)f(other)g -(windo)n(w)429 b Ff(C-x)42 b(4)h(C-o)82 b(C-x)42 b(5)h(C-o)0 -849 y Fh(\014nd)28 b(\014le)g(in)g(other)f(windo)n(w)648 -b Ff(C-x)42 b(4)h(f)170 b(C-x)42 b(5)h(f)0 948 y Fh(\014nd)28 -b(\014le)g(read-only)e(in)i(other)f(windo)n(w)281 b Ff(C-x)42 -b(4)h(r)170 b(C-x)42 b(5)h(r)0 1048 y Fh(run)27 b(Dired)h(in)g(other)f -(windo)n(w)566 b Ff(C-x)42 b(4)h(d)170 b(C-x)42 b(5)h(d)0 -1148 y Fh(\014nd)28 b(tag)f(in)h(other)f(windo)n(w)639 -b Ff(C-x)42 b(4)h(.)170 b(C-x)42 b(5)h(.)0 1272 y Fh(gro)n(w)26 -b(windo)n(w)h(taller)1107 b Ff(C-x)42 b(^)0 1372 y Fh(shrink)27 -b(windo)n(w)g(narro)n(w)n(er)924 b Ff(C-x)42 b({)0 1472 -y Fh(gro)n(w)26 b(windo)n(w)h(wider)1098 b Ff(C-x)42 -b(})0 1661 y Fg(F)-11 b(ormatting)0 1825 y Fh(inden)n(t)28 -b(curren)n(t)f Fe(line)f Fh(\(mo)r(de-dep)r(enden)n(t\))417 -b Ff(TAB)0 1924 y Fh(inden)n(t)28 b Fe(region)f Fh(\(mo)r(de-dep)r -(enden)n(t\))597 b Ff(C-M-\\)0 2024 y Fh(inden)n(t)28 -b Fe(sexp)g Fh(\(mo)r(de-dep)r(enden)n(t\))670 b Ff(C-M-q)0 -2123 y Fh(inden)n(t)28 b(region)e(rigidly)h Fb(ar)l(g)36 -b Fh(columns)591 b Ff(C-x)42 b(TAB)0 2248 y Fh(insert)27 -b(newline)h(after)f(p)r(oin)n(t)884 b Ff(C-o)0 2348 y -Fh(mo)n(v)n(e)26 b(rest)i(of)f(line)h(v)n(ertically)e(do)n(wn)618 -b Ff(C-M-o)0 2447 y Fh(delete)28 b(blank)f(lines)h(around)e(p)r(oin)n -(t)672 b Ff(C-x)42 b(C-o)0 2547 y Fh(join)28 b(line)g(with)g(previous)e -(\(with)j(arg,)d(next\))381 b Ff(M-^)0 2647 y Fh(delete)28 -b(all)f(white)h(space)f(around)g(p)r(oin)n(t)526 b Ff(M-\\)0 -2746 y Fh(put)28 b(exactly)f(one)g(space)g(at)h(p)r(oin)n(t)697 -b Ff(M-SPC)0 2871 y Fh(\014ll)28 b(paragraph)1308 b Ff(M-q)0 -2970 y Fh(set)28 b(\014ll)g(column)1287 b Ff(C-x)42 b(f)0 -3070 y Fh(set)28 b(pre\014x)f(eac)n(h)g(line)g(starts)g(with)701 -b Ff(C-x)42 b(.)0 3195 y Fh(set)28 b(face)1529 b Ff(M-g)0 -3394 y Fg(Case)46 b(Change)0 3558 y Fh(upp)r(ercase)27 -b(w)n(ord)1235 b Ff(M-u)0 3658 y Fh(lo)n(w)n(ercase)25 -b(w)n(ord)1256 b Ff(M-l)0 3757 y Fh(capitalize)27 b(w)n(ord)1252 -b Ff(M-c)0 3882 y Fh(upp)r(ercase)27 b(region)1191 b -Ff(C-x)42 b(C-u)0 3981 y Fh(lo)n(w)n(ercase)25 b(region)1212 -b Ff(C-x)42 b(C-l)0 4170 y Fg(The)k(Minibu\013er)0 4334 -y Fh(The)28 b(follo)n(wing)e(k)n(eys)h(are)f(de\014ned)i(in)g(the)g -(minibu\013er.)0 4459 y(complete)g(as)e(m)n(uc)n(h)i(as)f(p)r(ossible) -739 b Ff(TAB)0 4559 y Fh(complete)28 b(up)f(to)h(one)f(w)n(ord)897 -b Ff(SPC)0 4658 y Fh(complete)28 b(and)f(execute)1018 -b Ff(RET)0 4758 y Fh(sho)n(w)27 b(p)r(ossible)g(completions)852 -b Ff(?)0 4858 y Fh(fetc)n(h)28 b(previous)e(minibu\013er)j(input)674 -b Ff(M-p)0 4957 y Fh(fetc)n(h)28 b(later)f(minibu\013er)h(input)g(or)f -(default)430 b Ff(M-n)0 5057 y Fh(regexp)26 b(searc)n(h)h(bac)n(kw)n -(ard)e(through)i(history)344 b Ff(M-r)0 5156 y Fh(regexp)26 -b(searc)n(h)h(forw)n(ard)e(through)i(history)411 b Ff(M-s)0 -5256 y Fh(ab)r(ort)27 b(command)1225 b Ff(C-g)0 5381 -y Fh(T)n(yp)r(e)25 b Ff(C-x)42 b(ESC)g(ESC)24 b Fh(to)h(edit)g(and)g -(rep)r(eat)g(the)g(last)f(command)h(that)g(used)0 5480 -y(the)h(minibu\013er.)36 b(T)n(yp)r(e)26 b Ff(F10)e Fh(to)h(activ)-5 -b(ate)25 b(the)g(men)n(u)h(bar)e(using)h(the)h(mini-)0 -5580 y(bu\013er.)3858 5663 y(3)p eop -%%Page: 4 4 -4 3 bop 158 -320 a Fi(GNU)55 b(Emacs)g(Reference)f(Card)0 --42 y Fg(Bu\013ers)0 165 y Fh(select)27 b(another)g(bu\013er)1059 -b Ff(C-x)42 b(b)0 264 y Fh(list)28 b(all)f(bu\013ers)1303 -b Ff(C-x)42 b(C-b)0 364 y Fh(kill)28 b(a)f(bu\013er)1380 -b Ff(C-x)42 b(k)0 607 y Fg(T)-11 b(ransp)t(osing)0 814 -y Fh(transp)r(ose)26 b Fe(c)m(haracters)1005 b Ff(C-t)0 -913 y Fh(transp)r(ose)26 b Fe(w)m(ords)1184 b Ff(M-t)0 -1013 y Fh(transp)r(ose)26 b Fe(lines)1239 b Ff(C-x)42 -b(C-t)0 1112 y Fh(transp)r(ose)26 b Fe(sexps)1205 b Ff(C-M-t)0 -1355 y Fg(Sp)t(elling)47 b(Chec)l(k)0 1562 y Fh(c)n(hec)n(k)27 -b(sp)r(elling)g(of)h(curren)n(t)f(w)n(ord)711 b Ff(M-$)0 -1662 y Fh(c)n(hec)n(k)27 b(sp)r(elling)g(of)h(all)f(w)n(ords)f(in)i -(region)332 b Ff(M-x)42 b(ispell-region)0 1761 y Fh(c)n(hec)n(k)27 -b(sp)r(elling)g(of)h(en)n(tire)f(bu\013er)562 b Ff(M-x)42 -b(ispell-buffer)0 2013 y Fg(T)-11 b(ags)0 2220 y Fh(\014nd)28 -b(a)f(tag)g(\(a)h(de\014nition\))947 b Ff(M-.)0 2319 -y Fh(\014nd)28 b(next)g(o)r(ccurrence)e(of)i(tag)823 -b Ff(C-u)42 b(M-.)0 2419 y Fh(sp)r(ecify)28 b(a)f(new)h(tags)e(\014le) -732 b Ff(M-x)43 b(visit-tags-tabl)o(e)0 2554 y Fh(regexp)26 -b(searc)n(h)h(on)g(all)g(\014les)h(in)f(tags)g(table)259 -b Ff(M-x)42 b(tags-search)0 2654 y Fh(run)27 b(query-replace)f(on)h -(all)g(the)h(\014les)264 b Ff(M-x)42 b(tags-query-replac)o(e)0 -2754 y Fh(con)n(tin)n(ue)27 b(last)g(tags)g(searc)n(h)f(or)h -(query-replace)294 b Ff(M-,)0 2996 y Fg(Shells)0 3203 -y Fh(execute)27 b(a)h(shell)f(command)893 b Ff(M-!)0 -3303 y Fh(run)27 b(a)h(shell)f(command)g(on)h(the)g(region)529 -b Ff(M-|)0 3402 y Fh(\014lter)28 b(region)e(through)h(a)g(shell)g -(command)429 b Ff(C-u)42 b(M-|)0 3502 y Fh(start)27 b(a)g(shell)h(in)g -(windo)n(w)f Ff(*shell*)635 b(M-x)42 b(shell)0 3745 y -Fg(Rectangles)0 3951 y Fh(cop)n(y)27 b(rectangle)f(to)i(register)879 -b Ff(C-x)42 b(r)i(r)0 4051 y Fh(kill)28 b(rectangle)1330 -b Ff(C-x)42 b(r)i(k)0 4151 y Fh(y)n(ank)27 b(rectangle)1270 -b Ff(C-x)42 b(r)i(y)0 4250 y Fh(op)r(en)28 b(rectangle,)e(shifting)i -(text)g(righ)n(t)576 b Ff(C-x)42 b(r)i(o)0 4350 y Fh(blank)27 -b(out)h(rectangle)1095 b Ff(C-x)42 b(r)i(c)0 4450 y Fh(pre\014x)27 -b(eac)n(h)g(line)h(with)g(a)f(string)756 b Ff(C-x)42 -b(r)i(t)0 4692 y Fg(Abbrevs)0 4899 y Fh(add)27 b(global)g(abbrev)1146 -b Ff(C-x)42 b(a)i(g)0 4999 y Fh(add)27 b(mo)r(de-lo)r(cal)g(abbrev)971 -b Ff(C-x)42 b(a)i(l)0 5098 y Fh(add)27 b(global)g(expansion)f(for)i -(this)f(abbrev)472 b Ff(C-x)42 b(a)i(i)f(g)0 5198 y Fh(add)27 -b(mo)r(de-lo)r(cal)g(expansion)g(for)g(this)h(abbrev)296 -b Ff(C-x)42 b(a)i(i)f(l)0 5298 y Fh(explicitly)28 b(expand)f(abbrev)904 -b Ff(C-x)42 b(a)i(e)0 5433 y Fh(expand)27 b(previous)g(w)n(ord)f -(dynamically)537 b Ff(M-/)3858 5663 y Fh(4)p eop -%%Page: 5 5 -5 4 bop 0 -337 a Fg(Regular)46 b(Expressions)0 -130 y -Fh(an)n(y)27 b(single)g(c)n(haracter)e(except)j(a)f(newline)448 -b Ff(.)87 b Fh(\(dot\))0 -30 y(zero)26 b(or)h(more)g(rep)r(eats)1053 -b Ff(*)0 69 y Fh(one)27 b(or)g(more)g(rep)r(eats)1076 -b Ff(+)0 169 y Fh(zero)26 b(or)h(one)g(rep)r(eat)1142 -b Ff(?)0 268 y Fh(quote)27 b(regular)f(expression)g(sp)r(ecial)i(c)n -(haracter)d Fb(c)219 b Ff(\\)p Fb(c)0 368 y Fh(alternativ)n(e)26 -b(\(\\or"\))1162 b Ff(\\|)0 468 y Fh(grouping)1480 b -Ff(\\\()43 b Fa(:)14 b(:)g(:)43 b Ff(\\\))0 567 y Fh(same)27 -b(text)h(as)f Fb(n)6 b Fh(th)28 b(group)949 b Ff(\\)p -Fb(n)0 667 y Fh(at)27 b(w)n(ord)g(break)1291 b Ff(\\b)0 -767 y Fh(not)28 b(at)f(w)n(ord)g(break)1143 b Ff(\\B)0 -902 y Fe(en)m(tit)m(y)942 b(matc)m(h)32 b(start)102 b(matc)m(h)31 -b(end)0 1002 y Fh(line)1055 b Ff(^)543 b($)0 1101 y Fh(w)n(ord)1005 -b Ff(\\<)499 b(\\>)0 1201 y Fh(bu\013er)974 b Ff(\\`)499 -b(\\')0 1300 y Fe(class)32 b(of)f(c)m(haracters)430 b(matc)m(h)32 -b(these)83 b(matc)m(h)31 b(others)0 1400 y Fh(explicit)d(set)789 -b Ff([)44 b Fa(:)14 b(:)g(:)43 b Ff(])315 b([^)42 b Fa(:)14 -b(:)g(:)44 b Ff(])0 1500 y Fh(w)n(ord-syn)n(tax)25 b(c)n(haracter)376 -b Ff(\\w)499 b(\\W)0 1599 y Fh(c)n(haracter)26 b(with)i(syn)n(tax)e -Fb(c)329 b Ff(\\s)p Fb(c)461 b Ff(\\S)p Fb(c)0 1842 y -Fg(In)l(ternational)48 b(Character)e(Sets)0 2049 y Fh(sp)r(ecify)28 -b(principal)f(language)239 b Ff(M-x)42 b(set-language-env)o(ir)o(onm)o -(en)o(t)0 2148 y Fh(sho)n(w)27 b(all)g(input)h(metho)r(ds)592 -b Ff(M-x)42 b(list-input-method)o(s)0 2248 y Fh(enable)27 -b(or)g(disable)g(input)i(metho)r(d)667 b Ff(C-\\)0 2348 -y Fh(set)28 b(co)r(ding)f(system)g(for)g(next)h(command)465 -b Ff(C-x)42 b(RET)h(c)0 2447 y Fh(sho)n(w)27 b(all)g(co)r(ding)g -(systems)531 b Ff(M-x)42 b(list-coding-syst)o(em)o(s)0 -2547 y Fh(c)n(ho)r(ose)26 b(preferred)h(co)r(ding)g(system)224 -b Ff(M-x)42 b(prefer-coding-sys)o(te)o(m)0 2800 y Fg(Info)0 -3007 y Fh(en)n(ter)27 b(the)h(Info)g(do)r(cumen)n(tation)f(reader)481 -b Ff(C-h)42 b(i)0 3106 y Fh(\014nd)28 b(sp)r(eci\014ed)g(function)g(or) -f(v)-5 b(ariable)26 b(in)i(Info)321 b Ff(C-h)42 b(C-i)0 -3242 y Fh(Mo)n(ving)26 b(within)j(a)e(no)r(de:)83 3377 -y(scroll)f(forw)n(ard)1221 b Ff(SPC)83 3476 y Fh(scroll)26 -b(rev)n(erse)1248 b Ff(DEL)83 3576 y Fh(b)r(eginning)28 -b(of)f(no)r(de)1069 b Ff(.)87 b Fh(\(dot\))0 3711 y(Mo)n(ving)26 -b(b)r(et)n(w)n(een)i(no)r(des:)83 3847 y Fe(next)g Fh(no)r(de)1332 -b Ff(n)83 3946 y Fe(previous)27 b Fh(no)r(de)1165 b Ff(p)83 -4046 y Fh(mo)n(v)n(e)26 b Fe(up)1397 b Ff(u)83 4146 y -Fh(select)27 b(men)n(u)h(item)g(b)n(y)g(name)768 b Ff(m)83 -4245 y Fh(select)27 b Fb(n)6 b Fh(th)29 b(men)n(u)e(item)h(b)n(y)g(n)n -(um)n(b)r(er)f(\(1{9\))311 b Fb(n)83 4345 y Fh(follo)n(w)27 -b(cross)f(reference)h(\(return)g(with)h Ff(l)p Fh(\))373 -b Ff(f)83 4445 y Fh(return)27 b(to)h(last)f(no)r(de)h(y)n(ou)e(sa)n(w) -714 b Ff(l)83 4544 y Fh(return)27 b(to)h(directory)e(no)r(de)835 -b Ff(d)83 4644 y Fh(go)27 b(to)g(an)n(y)g(no)r(de)h(b)n(y)f(name)838 -b Ff(g)0 4779 y Fh(Other:)83 4915 y(run)27 b(Info)h Fe(tutorial)1080 -b Ff(h)83 5014 y Fe(quit)28 b Fh(Info)1379 b Ff(q)83 -5114 y Fh(searc)n(h)26 b(no)r(des)h(for)h(regexp)865 -b Ff(M-s)3858 5663 y Fh(5)p eop -%%Page: 6 6 -6 5 bop 0 -337 a Fg(Registers)0 -130 y Fh(sa)n(v)n(e)26 -b(region)g(in)i(register)1006 b Ff(C-x)42 b(r)i(s)0 -30 -y Fh(insert)27 b(register)f(con)n(ten)n(ts)h(in)n(to)h(bu\013er)566 -b Ff(C-x)42 b(r)i(i)0 105 y Fh(sa)n(v)n(e)26 b(v)-5 b(alue)28 -b(of)f(p)r(oin)n(t)h(in)g(register)729 b Ff(C-x)42 b(r)i(SPC)0 -205 y Fh(jump)28 b(to)g(p)r(oin)n(t)g(sa)n(v)n(ed)e(in)i(register)676 -b Ff(C-x)42 b(r)i(j)0 457 y Fg(Keyb)t(oard)h(Macros)0 -664 y Fe(start)28 b Fh(de\014ning)g(a)f(k)n(eyb)r(oard)f(macro)609 -b Ff(C-x)42 b(\()0 764 y Fe(end)28 b Fh(k)n(eyb)r(oard)e(macro)g -(de\014nition)672 b Ff(C-x)42 b(\))0 863 y Fe(execute)28 -b Fh(last-de\014ned)f(k)n(eyb)r(oard)f(macro)432 b Ff(C-x)42 -b(e)0 963 y Fh(app)r(end)28 b(to)f(last)h(k)n(eyb)r(oard)e(macro)665 -b Ff(C-u)42 b(C-x)h(\()0 1063 y Fh(name)27 b(last)h(k)n(eyb)r(oard)e -(macro)436 b Ff(M-x)42 b(name-last-kbd-ma)o(cr)o(o)0 -1162 y Fh(insert)27 b(Lisp)h(de\014nition)g(in)g(bu\013er)439 -b Ff(M-x)43 b(insert-kbd-macr)o(o)0 1405 y Fg(Commands)j(Dealing)g -(with)i(Emacs)d(Lisp)0 1612 y Fh(ev)-5 b(al)27 b Fe(sexp)h -Fh(b)r(efore)f(p)r(oin)n(t)981 b Ff(C-x)42 b(C-e)0 1711 -y Fh(ev)-5 b(al)27 b(curren)n(t)g Fe(defun)1111 b Ff(C-M-x)0 -1811 y Fh(ev)-5 b(al)27 b Fe(region)1199 b Ff(M-x)42 -b(eval-region)0 1911 y Fh(read)27 b(and)g(ev)-5 b(al)28 -b(minibu\013er)914 b Ff(M-:)0 2010 y Fh(load)27 b(from)g(standard)g -(system)g(directory)301 b Ff(M-x)42 b(load-library)0 -2263 y Fg(Simple)47 b(Customization)0 2470 y Fh(customize)27 -b(v)-5 b(ariables)27 b(and)g(faces)563 b Ff(M-x)42 b(customize)0 -2605 y Fh(Making)27 b(global)f(k)n(ey)h(bindings)h(in)g(Emacs)e(Lisp)i -(\(examples\):)0 2741 y Ff(\(global-set-key)37 b("\\C-cg")k -('goto-line\))0 2840 y(\(global-set-key)c("\\M-#")k('query-replace-re)o -(gex)o(p\))0 3093 y Fg(W)-11 b(riting)46 b(Commands)0 -3300 y Ff(\(defun)41 b Fb(c)l(ommand-name)51 b Ff(\()p -Fb(ar)l(gs)7 b Ff(\))87 3399 y(")p Fb(do)l(cumentation)f -Ff(")44 b(\(interactive)38 b(")p Fb(template)6 b Ff("\))87 -3499 y Fb(b)l(o)l(dy)h Ff(\))0 3634 y Fh(An)28 b(example:)0 -3770 y Ff(\(defun)41 b(this-line-to-top)o(-of)o(-w)o(ind)o(ow)c -(\(line\))87 3869 y("Reposition)i(line)j(point)g(is)g(on)h(to)g(top)f -(of)h(window.)0 3969 y(With)f(ARG,)g(put)g(point)g(on)g(line)g(ARG.")87 -4069 y(\(interactive)d("P"\))87 4168 y(\(recenter)h(\(if)i(\(null)g -(line\))697 4268 y(0)610 4368 y(\(prefix-numeric-v)o(al)o(ue)37 -b(line\)\)\)\))0 4503 y Fh(The)32 b Ff(interactive)c -Fh(sp)r(ec)k(sa)n(ys)f(ho)n(w)g(to)h(read)f(argumen)n(ts)g(in)n -(teractiv)n(ely)-7 b(.)0 4603 y(T)n(yp)r(e)27 b Ff(C-h)43 -b(f)g(interactive)23 b Fh(for)k(more)g(details.)476 4919 -y Fd(Cop)n(yrigh)n(t)805 4917 y(c)787 4919 y Fc(\015)22 -b Fd(1997)h(F)-5 b(ree)21 b(Soft)n(w)n(are)h(F)-5 b(oundation,)20 -b(Inc.)654 4998 y(v2.2)i(for)g(GNU)h(Emacs)e(v)n(ersion)h(21,)h(1997) -798 5078 y(designed)e(b)n(y)h(Stephen)e(Gildea)0 5194 -y(P)n(ermission)f(is)i(gran)n(ted)f(to)h(mak)n(e)e(and)i(distribute)d -(copies)i(of)g(this)h(card)e(pro)n(vided)g(the)h(cop)n(y-)0 -5273 y(righ)n(t)i(notice)f(and)h(this)g(p)r(ermission)f(notice)g(are)g -(preserv)n(ed)g(on)h(all)g(copies.)0 5389 y(F)-5 b(or)20 -b(copies)g(of)h(the)f(GNU)h(Emacs)f(man)n(ual,)g(write)g(to)h(the)f(F) --5 b(ree)20 b(Soft)n(w)n(are)g(F)-5 b(oundation,)19 b(Inc.,)0 -5468 y(59)k(T)-5 b(emple)20 b(Place,)h(Suite)g(330,)h(Boston,)h(MA)f -(02111-1307)h(USA)3858 5663 y Fh(6)p eop +TeXDict begin @landscape 2 1 bop -358 -364 a Fi(GNU)45 +b(Emacs)h(Reference)g(Card)-450 -141 y Fg(Bu\013ers)-450 +24 y Fh(select)24 b(another)h(bu\013er)811 b Ff(C-x)36 +b(b)-450 104 y Fh(list)23 b(all)g(bu\013ers)1018 b Ff(C-x)36 +b(C-b)-450 184 y Fh(kill)23 b(a)g(bu\013er)1084 b Ff(C-x)36 +b(k)-450 378 y Fg(T)-10 b(ransp)s(osing)-450 543 y Fh(transp)r(ose)24 +b Fe(c)n(haracters)760 b Ff(C-t)-450 623 y Fh(transp)r(ose)24 +b Fe(w)n(ords)915 b Ff(M-t)-450 703 y Fh(transp)r(ose)24 +b Fe(lines)964 b Ff(C-x)36 b(C-t)-450 782 y Fh(transp)r(ose)24 +b Fe(sexps)935 b Ff(C-M-t)-450 985 y Fg(Sp)s(elling)37 +b(Chec)m(k)-450 1151 y Fh(c)n(hec)n(k)25 b(sp)r(elling)e(of)h(curren)n +(t)g(w)n(ord)516 b Ff(M-$)-450 1231 y Fh(c)n(hec)n(k)25 +b(sp)r(elling)e(of)h(all)f(w)n(ords)g(in)g(region)201 +b Ff(M-x)36 b(ispell-region)-450 1310 y Fh(c)n(hec)n(k)25 +b(sp)r(elling)e(of)h(en)n(tire)g(bu\013er)395 b Ff(M-x)36 +b(ispell-buffer)-450 1514 y Fg(T)-10 b(ags)-450 1680 +y Fh(\014nd)24 b(a)g(tag)g(\(a)h(de\014nition\))716 b +Ff(M-.)-450 1760 y Fh(\014nd)24 b(next)h(o)r(ccurrence)g(of)e(tag)612 +b Ff(C-u)36 b(M-.)-450 1839 y Fh(sp)r(ecify)24 b(a)f(new)i(tags)f +(\014le)537 b Ff(M-x)36 b(visit-tags-table)-450 1948 +y Fh(regexp)24 b(searc)n(h)h(on)f(all)f(\014les)g(in)g(tags)i(table)138 +b Ff(M-x)36 b(tags-search)-450 2027 y Fh(run)23 b(query-replace)i(on)f +(all)f(the)h(\014les)144 b Ff(M-x)36 b(tags-query-replace)-450 +2107 y Fh(con)n(tin)n(ue)25 b(last)f(tags)g(searc)n(h)g(or)g +(query-replace)163 b Ff(M-,)-450 2310 y Fg(Shells)-450 +2476 y Fh(execute)26 b(a)e(shell)f(command)670 b Ff(M-!)-450 +2555 y Fh(run)23 b(a)h(shell)f(command)i(on)f(the)g(region)362 +b Ff(M-|)-450 2635 y Fh(\014lter)24 b(region)f(through)i(a)f(shell)f +(command)276 b Ff(C-u)36 b(M-|)-450 2715 y Fh(start)24 +b(a)g(shell)f(in)g(windo)n(w)h Ff(*shell*)467 b(M-x)36 +b(shell)-450 2909 y Fg(Rectangles)-450 3074 y Fh(cop)n(y)25 +b(rectangle)g(to)f(register)659 b Ff(C-x)36 b(r)g(r)-450 +3154 y Fh(kill)23 b(rectangle)1043 b Ff(C-x)36 b(r)g(k)-450 +3234 y Fh(y)n(ank)25 b(rectangle)992 b Ff(C-x)36 b(r)g(y)-450 +3313 y Fh(op)r(en)25 b(rectangle,)f(shifting)f(text)i(righ)n(t)401 +b Ff(C-x)36 b(r)g(o)-450 3393 y Fh(blank)24 b(out)h(rectangle)843 +b Ff(C-x)36 b(r)g(c)-450 3473 y Fh(pre\014x)24 b(eac)n(h)h(line)e(with) +h(a)g(string)553 b Ff(C-x)36 b(r)g(t)-450 3676 y Fg(Abbrevs)-450 +3841 y Fh(add)24 b(global)g(abbrev)886 b Ff(C-x)36 b(a)g(g)-450 +3921 y Fh(add)24 b(mo)r(de-lo)r(cal)g(abbrev)737 b Ff(C-x)36 +b(a)g(l)-450 4001 y Fh(add)24 b(global)g(expansion)h(for)e(this)g +(abbrev)313 b Ff(C-x)36 b(a)g(i)f(g)-450 4081 y Fh(add)24 +b(mo)r(de-lo)r(cal)g(expansion)h(for)e(this)g(abbrev)164 +b Ff(C-x)36 b(a)g(i)f(l)-450 4160 y Fh(explicitly)24 +b(expand)h(abbrev)680 b Ff(C-x)36 b(a)g(e)-450 4269 y +Fh(expand)25 b(previous)f(w)n(ord)f(dynamically)368 b +Ff(M-/)1746 -364 y Fg(Regular)37 b(Expressions)1746 -198 +y Fh(an)n(y)24 b(single)g(c)n(haracter)h(except)g(a)f(newline)291 +b Ff(.)71 b Fh(\(dot\))1746 -119 y(zero)24 b(or)f(more)h(rep)r(eats)807 +b Ff(*)1746 -39 y Fh(one)24 b(or)g(more)f(rep)r(eats)827 +b Ff(+)1746 41 y Fh(zero)24 b(or)f(one)i(rep)r(eat)882 +b Ff(?)1746 120 y Fh(quote)25 b(regular)e(expression)h(sp)r(ecial)g(c)n +(haracter)h Fb(c)96 b Ff(\\)p Fb(c)1746 200 y Fh(alternativ)n(e)25 +b(\(\\or"\))900 b Ff(\\|)1746 280 y Fh(grouping)1170 +b Ff(\\\()36 b Fa(:)11 b(:)h(:)34 b Ff(\\\))1746 359 +y Fh(same)24 b(text)h(as)e Fb(n)5 b Fh(th)25 b(group)718 +b Ff(\\)p Fb(n)1746 439 y Fh(at)24 b(w)n(ord)g(break)1009 +b Ff(\\b)1746 519 y Fh(not)24 b(at)h(w)n(ord)e(break)884 +b Ff(\\B)1746 627 y Fe(en)n(tit)n(y)676 b(matc)n(h)27 +b(start)84 b(matc)n(h)26 b(end)1746 707 y Fh(line)774 +b Ff(^)465 b($)1746 787 y Fh(w)n(ord)733 b Ff(\\<)430 +b(\\>)1746 866 y Fh(bu\013er)706 b Ff(\\`)430 b(\\')1746 +946 y Fe(class)27 b(of)f(c)n(haracters)238 b(matc)n(h)27 +b(these)71 b(matc)n(h)26 b(others)1746 1026 y Fh(explicit)e(set)549 +b Ff([)36 b Fa(:)11 b(:)h(:)35 b Ff(])276 b([^)36 b Fa(:)11 +b(:)g(:)35 b Ff(])1746 1105 y Fh(w)n(ord-syn)n(tax)24 +b(c)n(haracter)201 b Ff(\\w)430 b(\\W)1746 1185 y Fh(c)n(haracter)25 +b(with)f(syn)n(tax)g Fb(c)157 b Ff(\\s)p Fb(c)397 b Ff(\\S)p +Fb(c)1746 1388 y Fg(In)m(ternational)36 b(Character)g(Sets)1746 +1554 y Fh(sp)r(ecify)24 b(principal)f(language)643 b +Ff(C-x)36 b(RET)g(l)1746 1633 y Fh(sho)n(w)24 b(all)f(input)h(metho)r +(ds)423 b Ff(M-x)36 b(list-input-methods)1746 1713 y +Fh(enable)25 b(or)e(disable)g(input)i(metho)r(d)478 b +Ff(C-\\)1746 1793 y Fh(set)24 b(co)r(ding)h(system)f(for)f(next)h +(command)307 b Ff(C-x)36 b(RET)g(c)1746 1872 y Fh(sho)n(w)24 +b(all)f(co)r(ding)h(systems)372 b Ff(M-x)37 b(list-coding-systems)1746 +1952 y Fh(c)n(ho)r(ose)25 b(preferred)e(co)r(ding)h(system)114 +b Ff(M-x)36 b(prefer-coding-system)1746 2157 y Fg(Info)1746 +2323 y Fh(en)n(ter)24 b(the)h(Info)f(do)r(cumen)n(tation)i(reader)321 +b Ff(C-h)36 b(i)1746 2402 y Fh(\014nd)24 b(sp)r(eci\014ed)h(function)f +(or)f(v)l(ariable)h(in)g(Info)183 b Ff(C-h)36 b(S)1746 +2511 y Fh(Mo)n(ving)24 b(within)f(a)h(no)r(de:)1817 2619 +y(scroll)e(forw)n(ard)949 b Ff(SPC)1817 2699 y Fh(scroll)22 +b(rev)n(erse)973 b Ff(DEL)1817 2778 y Fh(b)r(eginning)24 +b(of)f(no)r(de)820 b Ff(.)71 b Fh(\(dot\))1746 2887 y(Mo)n(ving)24 +b(b)r(et)n(w)n(een)h(no)r(des:)1817 2995 y Fe(next)e +Fh(no)r(de)1043 b Ff(n)1817 3075 y Fe(previous)23 b Fh(no)r(de)900 +b Ff(p)1817 3154 y Fh(mo)n(v)n(e)24 b Fe(up)1097 b Ff(u)1817 +3234 y Fh(select)24 b(men)n(u)g(item)g(b)n(y)g(name)564 +b Ff(m)1817 3314 y Fh(select)24 b Fb(n)5 b Fh(th)25 b(men)n(u)f(item)g +(b)n(y)g(n)n(um)n(b)r(er)g(\(1{9\))176 b Fb(n)1817 3393 +y Fh(follo)n(w)22 b(cross)i(reference)g(\(return)g(with)g +Ff(l)p Fh(\))230 b Ff(f)1817 3473 y Fh(return)23 b(to)i(last)e(no)r(de) +i(y)n(ou)f(sa)n(w)518 b Ff(l)1817 3553 y Fh(return)23 +b(to)i(directory)f(no)r(de)621 b Ff(d)1817 3633 y Fh(go)24 +b(to)g(top)g(no)r(de)h(of)e(Info)h(\014le)578 b Ff(t)1817 +3712 y Fh(go)24 b(to)g(an)n(y)g(no)r(de)h(b)n(y)f(name)623 +b Ff(g)1746 3821 y Fh(Other:)1817 3929 y(run)23 b(Info)h +Fe(tutorial)825 b Ff(h)1817 4009 y Fh(lo)r(ok)23 b(up)h(a)g(sub)t(ject) +h(in)e(the)i(indices)398 b Ff(i)1817 4088 y Fh(searc)n(h)24 +b(no)r(des)g(for)f(regexp)648 b Ff(s)1817 4168 y Fe(quit)22 +b Fh(Info)1083 b Ff(q)3942 -364 y Fg(Registers)3942 -198 +y Fh(sa)n(v)n(e)24 b(region)g(in)f(register)767 b Ff(C-x)36 +b(r)g(s)3942 -119 y Fh(insert)23 b(register)h(con)n(ten)n(ts)i(in)n(to) +e(bu\013er)392 b Ff(C-x)36 b(r)g(i)3942 -10 y Fh(sa)n(v)n(e)24 +b(v)l(alue)h(of)e(p)r(oin)n(t)h(in)g(register)531 b Ff(C-x)36 +b(r)g(SPC)3942 69 y Fh(jump)23 b(to)i(p)r(oin)n(t)f(sa)n(v)n(ed)g(in)g +(register)486 b Ff(C-x)36 b(r)g(j)3942 274 y Fg(Keyb)s(oard)i(Macros) +3942 440 y Fe(start)22 b Fh(de\014ning)j(a)e(k)n(eyb)r(oard)i(macro)429 +b Ff(C-x)36 b(\()3942 519 y Fe(end)24 b Fh(k)n(eyb)r(oard)h(macro)f +(de\014nition)482 b Ff(C-x)36 b(\))3942 599 y Fe(execute)24 +b Fh(last-de\014ned)h(k)n(eyb)r(oard)g(macro)278 b Ff(C-x)36 +b(e)3942 679 y Fh(app)r(end)25 b(to)f(last)g(k)n(eyb)r(oard)h(macro)477 +b Ff(C-u)36 b(C-x)g(\()3942 758 y Fh(name)24 b(last)g(k)n(eyb)r(oard)h +(macro)292 b Ff(M-x)37 b(name-last-kbd-macro)3942 838 +y Fh(insert)23 b(Lisp)h(de\014nition)g(in)g(bu\013er)289 +b Ff(M-x)36 b(insert-kbd-macro)3942 1041 y Fg(Commands)i(Dealing)f +(with)g(Emacs)i(Lisp)3942 1207 y Fh(ev)l(al)24 b Fe(sexp)g +Fh(b)r(efore)g(p)r(oin)n(t)744 b Ff(C-x)36 b(C-e)3942 +1287 y Fh(ev)l(al)24 b(curren)n(t)g Fe(defun)855 b Ff(C-M-x)3942 +1366 y Fh(ev)l(al)24 b Fe(region)935 b Ff(M-x)36 b(eval-region)3942 +1446 y Fh(read)24 b(and)g(ev)l(al)g(minibu\013er)687 +b Ff(M-:)3942 1526 y Fh(load)24 b(from)f(standard)h(system)g(directory) +175 b Ff(M-x)36 b(load-library)3942 1731 y Fg(Simple)h(Customization) +3942 1896 y Fh(customize)25 b(v)l(ariables)e(and)i(faces)396 +b Ff(M-x)36 b(customize)3942 2004 y Fh(Making)24 b(global)g(k)n(ey)g +(bindings)g(in)f(Emacs)h(Lisp)f(\(examples\):)3942 2113 +y Ff(\(global-set-key)40 b("\\C-cg")d('goto-line\))3942 +2192 y(\(global-set-key)j("\\M-#")d('query-replace-regexp\))3942 +2397 y Fg(W)-10 b(riting)38 b(Commands)3942 2563 y Ff(\(defun)f +Fb(c)l(ommand-name)43 b Ff(\()p Fb(ar)l(gs)5 b Ff(\))4013 +2643 y(")p Fb(do)l(cumentation)g Ff(")38 b(\(interactive)g(")p +Fb(template)5 b Ff("\))4013 2722 y Fb(b)l(o)l(dy)h Ff(\))3942 +2831 y Fh(An)24 b(example:)3942 2939 y Ff(\(defun)37 +b(this-line-to-top-of-win)q(dow)42 b(\(line\))4013 3019 +y("Reposition)c(line)e(point)h(is)f(on)g(to)g(top)g(of)g(window.)3942 +3098 y(With)g(ARG,)h(put)f(point)h(on)f(line)g(ARG.")4013 +3178 y(\(interactive)i("P"\))4013 3258 y(\(recenter)f(\(if)g(\(null)f +(line\))4507 3337 y(0)4436 3417 y(\(prefix-numeric-value)41 +b(line\)\)\)\))3942 3525 y Fh(The)35 b Ff(interactive)k +Fh(sp)r(ec)c(sa)n(ys)g(ho)n(w)h(to)f(read)h(argumen)n(ts)g(in)n(terac-) +3942 3605 y(tiv)n(ely)-6 b(.)32 b(T)n(yp)r(e)24 b Ff(C-h)36 +b(f)g(interactive)26 b Fh(for)d(more)h(details.)4235 +3736 y Fd(Cop)n(yrigh)n(t)4538 3734 y(c)4521 3736 y Fc(\015)d +Fd(2006)i(F)-5 b(ree)21 b(Soft)n(w)n(are)i(F)-5 b(oundation,)20 +b(Inc.)4399 3800 y(v2.3)i(for)f(GNU)f(Emacs)h(v)n(ersion)h(22,)f(2006) +4532 3864 y(designed)f(b)n(y)h(Stephen)f(Gildea)3942 +3956 y(P)n(ermission)28 b(is)f(gran)n(ted)i(to)f(mak)n(e)h(and)e +(distribute)f(copies)j(of)f(this)f(card)h(pro-)3942 4020 +y(vided)23 b(the)h(cop)n(yrigh)n(t)h(notice)g(and)f(this)f(p)r +(ermission)h(notice)g(are)h(preserv)n(ed)g(on)3942 4084 +y(all)20 b(copies.)3942 4176 y(F)-5 b(or)21 b(copies)g(of)g(the)g(GNU)e +(Emacs)i(man)n(ual,)f(write)h(to)g(the)f(F)-5 b(ree)22 +b(Soft)n(w)n(are)g(F)-5 b(oun-)3942 4240 y(dation,)29 +b(Inc.,)g(51)g(F)-5 b(ranklin)28 b(Street,)h(Fifth)f(Flo)r(or,)h +(Boston,)i(MA)d(02110-1301)3942 4304 y(USA)p eop end %%Trailer -end + userdict /end-hook known{end-hook}if %%EOF
--- a/leim/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/leim/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,3 +1,11 @@ +2006-10-02 Kenichi Handa <handa@m17n.org> + + * Makefile.in (install): Fix previous change. + +2006-09-28 Kenichi Handa <handa@m17n.org> + + * Makefile.in (install): Be sure to make ${INSTALLDIR}. + 2006-09-15 Jay Belanger <belanger@truman.edu> * COPYING: Replace "Library Public License" by "Lesser Public
--- a/leim/Makefile.in Mon Oct 02 08:05:25 2006 +0000 +++ b/leim/Makefile.in Tue Oct 03 05:04:21 2006 +0000 @@ -217,8 +217,12 @@ install: all if [ x`(cd ${INSTALLDIR} && /bin/pwd)` != x`(/bin/pwd)` ] ; then \ - rm -rf ${INSTALLDIR}/leim-list.el; \ - rm -rf ${INSTALLDIR}/quail ${INSTALLDIR}/ja-dic ; \ + if [ -d ${INSTALLDIR} ] ; then \ + rm -rf ${INSTALLDIR}/leim-list.el; \ + rm -rf ${INSTALLDIR}/quail ${INSTALLDIR}/ja-dic ; \ + else \ + ${srcdir}/${dot}${dot}/mkinstalldirs ${INSTALLDIR}; \ + fi; \ echo "Copying leim files to ${INSTALLDIR} ..." ; \ if [ x`(cd ${srcdir} && /bin/pwd)` = x`(/bin/pwd)` ] ; then \ tar -chf - leim-list.el quail ja-dic \
--- a/lib-src/.cvsignore Mon Oct 02 08:05:25 2006 +0000 +++ b/lib-src/.cvsignore Tue Oct 03 05:04:21 2006 +0000 @@ -21,5 +21,6 @@ yow Makefile makefile +blessmail *-spd *.pdb
--- a/lib-src/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/lib-src/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,3 +1,7 @@ +2006-09-30 Eli Zaretskii <eliz@gnu.org> + + * .cvsignore: Add blessmail. + 2006-09-15 Jay Belanger <belanger@truman.edu> * COPYING: Replace "Library Public License" by "Lesser Public
--- a/lisp/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,12 +1,344 @@ +2006-10-03 Denis St,A|(Bnkel <dstuenkel@googlemail.com> (tiny change) + + * ibuf-ext.el (eval, view-and-eval) <define-ibuffer-op>: + Use the interactive spec of `eval-expression'. + +2006-10-02 Michael Welsh Duggan <md5i@cs.cmu.edu> + + * progmodes/sh-script.el (sh-prev-thing): Fix last change. + +2006-10-02 MIYOSHI Masanori <miyoshi@meadowy.org> (tiny change) + + * mail/smtpmail.el (smtpmail-try-auth-methods): Fix typo in + 2006-09-28 commit. + +2006-10-02 Kenichi Handa <handa@m17n.org> + + * international/code-pages.el (iso-8859-6): Table fixed. + +2006-10-01 Chris Moore <christopher.ian.moore@gmail.com> (tiny change) + + * dired.el (dired-build-subdir-alist): Fix previous change. + +2006-10-01 Johan Bockg,Ae(Brd <bojohan+mail@dd.chalmers.se> + + * simple.el (undo-elt-crosses-region): Fix the inequalities. + +2006-10-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/find-func.el (find-function-regexp): Don't match + "define-button-type". + + * pcvs.el (cvs-update-header): Fix handling of extra newlines so that + they don't keep accumulating. + +2006-10-01 Bob Rogers <rogers-emacs@rgrjr.dyndns.org> (tiny change) + + * ffap.el (ffap-rfc-path): Change the address of the RFC + repository to ftp.rfc-editor.org, as ds.internic.net seems to be gone. + +2006-10-01 Stephen Berman <Stephen.Berman@gmx.net> + + * allout.el (allout-expose-topic): Rectify implementation of "+" + spec, so that bodies are not exposed with headlines. + +2006-10-01 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el (allout-current-depth): Do aberrent check only at or + below doublecheck depth. + (allout-chart-subtree): Make it explicit that LEVELS being nil + means unlimited depth. Drop undocumented support for LEVELS value + t meaning unlimited depth. (This is consistent with + allout-chart-to-reveal, but contrary to allout-show-children, + which needs to use nil to default to depth of 1.) + (allout-goto-prefix-doublechecked): Wrap long docstring line. + (allout-chart-to-reveal): Be explicit in docstring about meaning + of nil LEVELS, and drop support for LEVELS value t. + (allout-show-children): Translate the level spec used by this + routine to that used by allout-chart-subtree and + allout-chart-to-reveal. + (allout-show-to-offshoot): Retry once when stuck, after opening + subtree - improvements in discontinuity handling likely will + enable progress. + +2006-09-30 Chong Yidong <cyd@stupidchicken.com> + + * wid-edit.el (widget-button-click-moves-point): New variable. + (widget-button-click): If widget-button-click-moves-point is + non-nil, set point after performing the button action + + * cus-edit.el (custom-mode): Set widget-button-click-moves-point. + +2006-09-30 Martin Rudalics <rudalics@gmx.at> + + * files.el (find-file-existing): Modify to not allow wildcards. + +2006-09-30 Johan Bockg,Ae(Brd <bojohan@dd.chalmers.se> + + * simple.el (undo-more): When undo information for the region is + exhausted, say "No further undo information FOR REGION". + +2006-09-30 Michael Welsh Duggan <md5i@cs.cmu.edu> + + * progmodes/sh-script.el (sh-prev-thing): + Take `sh-leading-keywords' into account. + +2006-09-29 Glenn Morris <rgm@gnu.org> + + * custom.el (defcustom): Doc fix. + + * calendar/calendar.el (european-calendar-style): + Call european-calendar or american-calendar as needed when set. + (diary-view-entries, list-calendar-holidays): Move autoloads + before use. + +2006-09-29 Juri Linkov <juri@jurta.org> + + * progmodes/cperl-mode.el (cperl-after-expr-p): Don't move point + to nil if there is no previous property change. + +2006-09-26 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org> + + * cus-edit.el (custom-save-all): Switch to emacs-lisp mode before + saving anything to be sure that `forward-sexp' behaves correctly. + +2006-09-29 Chong Yidong <cyd@stupidchicken.com> + + * simple.el (line-move-finish): Ignore field boundaries if the + initial and final points have the same `field' property. + +2006-09-29 Kim F. Storm <storm@cua.dk> + + * ido.el (ido-file-internal): Only bind minibuffer-completing-file-name + to t while calling ido-read-internal. + +2006-09-29 Carsten Dominik <dominik@science.uva.nl> + + * textmodes/org.el (org-file-remote-p): Get regexp from list. + (org-archive-subtree): Remove erraneous `]' from character list. + +2006-09-28 Jonathan Yavner <jyavner@member.fsf.org> + + * ses.el (ses-in-print-area, ses-goto-data, ses-load) + (ses-reconstruct-all): Make undo of "insert row" work by keeping + markers for data-area and parameters-area. + +2006-09-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/make-mode.el (makefile-mode): Don't disable jit-lock. + + * font-lock.el (font-lock-after-change-function): Refontify next line + as well if end is at BOL. + (font-lock-extend-jit-lock-region-after-change): Be more careful to + only extend the region as much as needed. + +2006-09-28 Richard Stallman <rms@gnu.org> + + * comint.el (comint-mode): Bind font-lock-defaults non-nil. + + * subr.el (insert-for-yank-1): Handle `font-lock-face' specially. + + * international/mule.el (after-insert-file-set-coding): + If VISIT, don't let set-buffer-multibyte make undo info. + +2006-09-28 Osamu Yamane <yamane@green.ocn.ne.jp> (tiny change) + + * mail/smtpmail.el (smtpmail-try-auth-methods): Do not break long + lines in base64-encoded authentication response. + +2006-09-26 Vinicius Jose Latorre <viniciusjl@ig.com.br> + + * progmode/ebnf2ps.el: Doc fix. Implement arrow spacing and scaling. + (ebnf-version): New version 4.3. + (ebnf-arrow-extra-width, ebnf-arrow-scale): New options. + (ebnf-prologue): Adjust PostScript programming. + (ebnf-begin-file, ebnf-insert-ebnf-prologue, ebnf-terminal-dimension1) + (ebnf-repeat-dimension, ebnf-except-dimension): Adjust code. + +2006-09-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * jit-lock.el (jit-lock-force-redisplay): Rename from + jit-lock-fontify-again, and undo the mistaken change I've just done. + + * jit-lock.el (jit-lock-fontify-now): Don't fontify the empty text. + (jit-lock-fontify-again): Don't refontify text that's not displayed. + +2006-09-26 Kenichi Handa <handa@m17n.org> + + * startup.el (display-splash-screen): Allow a prefix argument. + +2006-09-25 Jason Rumney <jasonr@gnu.org> + + * subr.el (shell-quote-argument): Use DOS logic for Windows + shells with DOS semantics. + +2006-09-24 Richard Stallman <rms@gnu.org> + + * progmodes/compile.el (compilation-goto-locus-delete-o): New fn. + (compilation-goto-locus): Use compilation-goto-locus-delete-o + to delete the overlay. Put it on pre-command-hook. + + * emacs-lisp/timer.el (timer-max-repeats): Doc fix. + + * startup.el (fancy-splash-screens, normal-splash-screen): + Call the splash buffer *About GNU Emacs*. + + * simple.el (next-error-highlight, next-error-highlight-no-select): + Default to 0.5. + (yank-excluded-properties): Add `fontified'. + + * font-lock.el (font-lock-compile-keywords): Allow value of + syntax-begin-function to enable paren-column-0 highlighting. + +2006-09-24 Chris Moore <christopher.ian.moore@gmail.com> (tiny change) + + * dired.el (dired-build-subdir-alist): When file ends in colon, + don't exit the loop, just disregard that file. + +2006-09-24 Chong Yidong <cyd@stupidchicken.com> + + * simple.el (line-move-finish): Handle corner case for fields in + continued lines. + (line-move-1): Remove flawed test for that case. + +2006-09-24 Ken Manheimer <ken.manheimer@gmail.com> + + * icomplete.el (icomplete-simple-completing-p): Use the correct + name for the new variable, `icomplete-with-completion-tables'. + (file local variables): Remove superfluous setting. + +2006-09-23 Jeff Miller <jmiller@cablespeed.com> (tiny change) + + * calendar/appt.el (appt-check): Fix typo for appointments just + after midnight. + +2006-09-23 Chong Yidong <cyd@stupidchicken.com> + + * help.el (describe-key-briefly, describe-key): Don't expect an + extra up event if a down-event is generated by a popup menu. + +2006-09-23 Michal Nazarewicz <mnazarewicz@gmail.com> (tiny change) + + * textmodes/ispell.el (ispell-change-dictionary): Don't check the + local dictionary when changing the global dictionary. + +2006-09-23 Ken Manheimer <ken.manheimer@gmail.com> + + * icomplete.el (icomplete-with-completion-tables): List of + specialized completion tables with which icomplete should + operate. Include the new `internal-complete-buffer', so icomplete + works with interactive buffer-selection. + (icomplete-simple-completing-p): Add acceptance of specialized + completion tables listed in icomplete-with-completion-tables. + +2006-09-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * frame.el (focus-follows-mouse): Set default to nil on Mac. + + * startup.el (command-line): Use `custom-reevaluate-setting' for + `focus-follows-mouse'. + +2006-09-22 Richard Stallman <rms@gnu.org> + + * cus-edit.el (custom-buffer-create-internal): In `emacs -q', + explain why Save is not available. + +2006-09-22 Juanma Barranquero <lekktu@gmail.com> + + * woman.el (woman0-so): Use `let*', not `let'. + (woman-horizontal-line): Remove unbalanced parenthesis. + +2006-09-22 Stefan Monnier <monnier@iro.umontreal.ca> + + * woman.el: Make sure all the end-of-region markers we use have + a non-nil insertion-type. + (woman0-so): Move things around so we can use copy-marker. + (woman0-roff-buffer, woman2-process-escapes-to-eol, woman2-roff-buffer): + Adjust marker type. + (woman2-process-escapes): Check marker type. + (woman-horizontal-line): Dispense with the use of a marker. + +2006-09-22 Jay Belanger <belanger@truman.edu> + + * calc/calc-lang.el: Add Greek letters to math-variable-table + property of tex. + +2006-09-22 Chong Yidong <cyd@stupidchicken.com> + + * files.el (save-some-buffers-action-alist): Display diff in + view-mode. + +2006-09-22 Masatake YAMATO <jet@gyve.org> + + * add-log.el (add-log-current-defun): Use `forward-sexp' + instead of `forward-word' to pick c++::symbol. + Reported by Herbert Euler <herberteuler@hotmail.com>. + +2006-09-22 Kenichi Handa <handa@m17n.org> + + * bindings.el: Fix setting self-insert-command for multibyte + characters in global-map. + +2006-09-21 David Kastrup <dak@gnu.org> + + * mouse.el (mouse-posn-property): Fix typo for `event-start' in + doc string. + +2006-09-21 Kim F. Storm <storm@cua.dk> + + * emacs-lisp/cl.el (pushnew-internal): Remove defvar. + (pushnew): Fix last change. + +2006-09-21 Kenichi Handa <handa@m17n.org> + + * language/european.el ("Latin-1"): Add windows-1252 to + coding-priority. + ("German"): Likewise. + +2006-09-21 Kim F. Storm <storm@cua.dk> + + * emacs-lisp/cl-macs.el (member*): Use memql instead of complex code. + Suggested by Miles Bader. + + * emacs-lisp/cl.el (pushnew): Rework 2006-09-10 change. Use memql + instead of add-to-list in the simple case. + +2006-09-20 Kenichi Handa <handa@m17n.org> + + * isearch.el (isearch-process-search-char): Cancel the previous + change. + (isearch-search-string): New function. + (isearch-search): Use isearch-search-string. + (isearch-lazy-highlight-search): Likewise. + +2006-09-20 Vinicius Jose Latorre <viniciusjl@ig.com.br> + + * lpr.el (lpr-page-header-switches): Insert `*' at beginning of doc + string to become an option. + +2006-09-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * files.el (find-buffer-visiting): Don't get fooled by a nil inode. + +2006-09-20 Kim F. Storm <storm@cua.dk> + + * simple.el (line-move-partial): Call pos-visible-in-window-p with + position t instead of trying both window-end and window-end - 1. + +2006-09-20 Carsten Dominik <dominik@science.uva.nl> + + * textmodes/org.el (org-scan-tags): Find end of subtrees also in + hidden trees. + 2006-09-20 David Kastrup <dak@gnu.org> * mouse.el (mouse-posn-property): Improve doc string. (mouse-on-link-p): Change buffers for function calls on links. - * menu-bar.el (clipboard-yank): bomb out in interactive use if + * menu-bar.el (clipboard-yank): Bomb out in interactive use if buffer is read-only. -2006-09-18 Ken Manheimer <ken.manheimer@gmail.com> +2006-09-20 Ken Manheimer <ken.manheimer@gmail.com> * allout.el (allout-unprotected): Let inhibit-read-only only when buffer-read-only isn't set. @@ -17,16 +349,15 @@ rather than allout-exposure-changed-hook, as a stronger assertion. (allout-keybindings-list): Add bindings for allout-copy-line-as-kill and allout-copy-topic-as-kill. - (allout-copy-line-as-kill, allout-copy-topic-as-kill): copy - wrappers for allout-kill-line and allout-kill-topic. + (allout-copy-line-as-kill, allout-copy-topic-as-kill): + Copy wrappers for allout-kill-line and allout-kill-topic. (allout-listify-exposed): Position correctly to accumulate lines. 2006-09-19 Chong Yidong <cyd@stupidchicken.com> * simple.el (line-move-1): Escape field boundaries occurring exactly at point. Update goal column if constrained to a field. - (line-move-finish): Escape field boundaries occurring exactly at - point. + (line-move-finish): Escape field boundaries occurring exactly at point. 2006-09-19 Stefan Monnier <monnier@iro.umontreal.ca>
--- a/lisp/add-log.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/add-log.el Tue Oct 03 05:04:21 2006 +0000 @@ -914,7 +914,7 @@ ;; Include certain keywords if they ;; precede the name. (setq middle (point)) - (forward-word -1) + (forward-sexp -1) ;; Is this C++ method? (when (and (< 2 middle) (string= (buffer-substring (- middle 2)
--- a/lisp/allout.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/allout.el Tue Oct 03 05:04:21 2006 +0000 @@ -2202,8 +2202,9 @@ (save-excursion (allout-beginning-of-current-line) (and (looking-at allout-regexp) - (not (allout-aberrant-container-p)) - (allout-prefix-data)))) + (allout-prefix-data) + (or (> allout-recent-depth allout-doublecheck-at-and-shallower) + (not (allout-aberrant-container-p)))))) ;;;_ > allout-on-heading-p () (defalias 'allout-on-heading-p 'allout-on-current-heading-p) ;;;_ > allout-e-o-prefix-p () @@ -2329,7 +2330,7 @@ (save-excursion (cond ((and depth (<= depth 0) 0)) - ((or (not depth) (= depth (allout-depth))) + ((or (null depth) (= depth (allout-depth))) (let ((index 1)) (while (allout-previous-sibling allout-recent-depth nil) (setq index (1+ index))) @@ -2505,13 +2506,13 @@ (defun allout-chart-subtree (&optional levels visible orig-depth prev-depth) "Produce a location \"chart\" of subtopics of the containing topic. -Optional argument LEVELS specifies the depth \(relative to start -depth) for the chart. +Optional argument LEVELS specifies a depth limit \(relative to start +depth) for the chart. Null LEVELS means no limit. When optional argument VISIBLE is non-nil, the chart includes only the visible subelements of the charted subjects. -The remaining optional args are not for internal use by the function. +The remaining optional args are for internal use by the function. Point is left at the end of the subtree. @@ -2618,16 +2619,19 @@ "Return a flat list of hidden points in subtree CHART, up to DEPTH. +If DEPTH is nil, include hidden points at any depth. + Note that point can be left at any of the points on chart, or at the start point." (let (result here) - (while (and (or (eq depth t) (> depth 0)) + (while (and (or (null depth) (> depth 0)) chart) (setq here (car chart)) (if (listp here) - (let ((further (allout-chart-to-reveal here (or (eq depth t) - (1- depth))))) + (let ((further (allout-chart-to-reveal here (if (null depth) + depth + (1- depth))))) ;; We're on the start of a subtree - recurse with it, if there's ;; more depth to go: (if further (setq result (append further result))) @@ -2697,7 +2701,10 @@ (defun allout-goto-prefix-doublechecked () "Put point at beginning of immediately containing outline topic. -Like `allout-goto-prefix', but shallow topics \(according to `allout-doublecheck-at-and-shallower') are checked and disqualified for child containment discontinuity, according to `allout-aberrant-container-p'." +Like `allout-goto-prefix', but shallow topics \(according to +`allout-doublecheck-at-and-shallower') are checked and +disqualified for child containment discontinuity, according to +`allout-aberrant-container-p'." (allout-goto-prefix) (if (and (<= allout-recent-depth allout-doublecheck-at-and-shallower) (allout-aberrant-container-p)) @@ -4620,8 +4627,13 @@ (allout-beginning-of-current-line) (save-restriction (let* (depth - (chart (allout-chart-subtree (or level 1))) - (to-reveal (or (allout-chart-to-reveal chart (or level 1)) + ;; translate the level spec for this routine to the ones + ;; used by -chart-subtree and -chart-to-reveal: + (chart-level (cond ((not level) 1) + ((eq level t) nil) + (t level))) + (chart (allout-chart-subtree chart-level)) + (to-reveal (or (allout-chart-to-reveal chart chart-level) ;; interactive, show discontinuous children: (and chart (interactive-p) @@ -4672,22 +4684,22 @@ (orig-pt (point)) (orig-pref (allout-goto-prefix-doublechecked)) (last-at (point)) - bag-it) - (while (or bag-it (allout-hidden-p)) + (bag-it 0)) + (while (or (> bag-it 1) (allout-hidden-p)) (while (allout-hidden-p) (move-beginning-of-line 1) (if (allout-hidden-p) (forward-char -1))) (if (= last-at (setq last-at (point))) - ;; Oops, we're not making any progress! Show the current - ;; topic completely, and bag this try. + ;; Oops, we're not making any progress! Show the current topic + ;; completely, and try one more time here, if we haven't already. (progn (beginning-of-line) (allout-show-current-subtree) (goto-char orig-pt) - (setq bag-it t) - (beep) - (message "%s: %s" - "allout-show-to-offshoot: " - "Aberrant nesting encountered.")) + (setq bag-it (1+ bag-it)) + (if (> bag-it 1) + (error "allout-show-to-offshoot: %s" + "Stumped by aberrant nesting."))) + (if (> bag-it 0) (setq bag-it 0)) (allout-show-children) (goto-char orig-pref))) (goto-char orig-pt))) @@ -4895,7 +4907,10 @@ (cond ((eq curr-elem '*) (allout-show-current-subtree) (if (> allout-recent-end-of-subtree max-pos) (setq max-pos allout-recent-end-of-subtree))) - ((eq curr-elem '+) (allout-show-current-branches) + ((eq curr-elem '+) + (if (not (allout-hidden-p)) + (save-excursion (allout-hide-current-subtree t))) + (allout-show-current-branches) (if (> allout-recent-end-of-subtree max-pos) (setq max-pos allout-recent-end-of-subtree))) ((eq curr-elem '-) (allout-show-current-entry))
--- a/lisp/calc/calc-lang.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/calc/calc-lang.el Tue Oct 03 05:04:21 2006 +0000 @@ -409,13 +409,54 @@ ( \\mu . calcFunc-moebius ))) (put 'tex 'math-variable-table - '( ( \\pi . var-pi ) - ( \\infty . var-inf ) - ( \\infty . var-uinf ) - ( \\phi . var-phi ) - ( \\gamma . var-gamma ) - ( \\sum . (math-parse-tex-sum calcFunc-sum) ) - ( \\prod . (math-parse-tex-sum calcFunc-prod) ))) + '( + ;; The Greek letters + ( \\alpha . var-alpha ) + ( \\beta . var-beta ) + ( \\gamma . var-gamma ) + ( \\Gamma . var-Gamma ) + ( \\delta . var-delta ) + ( \\Delta . var-Delta ) + ( \\epsilon . var-epsilon ) + ( \\varepsilon . var-varepsilon) + ( \\zeta . var-zeta ) + ( \\eta . var-eta ) + ( \\theta . var-theta ) + ( \\vartheta . var-vartheta ) + ( \\Theta . var-Theta ) + ( \\iota . var-iota ) + ( \\kappa . var-kappa ) + ( \\lambda . var-lambda ) + ( \\Lambda . var-Lambda ) + ( \\mu . var-mu ) + ( \\nu . var-nu ) + ( \\xi . var-xi ) + ( \\Xi . var-Xi ) + ( \\pi . var-pi ) + ( \\varpi . var-varpi ) + ( \\Pi . var-Pi ) + ( \\rho . var-rho ) + ( \\varrho . var-varrho ) + ( \\sigma . var-sigma ) + ( \\sigma . var-varsigma ) + ( \\Sigma . var-Sigma ) + ( \\tau . var-tau ) + ( \\upsilon . var-upsilon ) + ( \\Upsilon . var-Upsilon ) + ( \\phi . var-phi ) + ( \\varphi . var-varphi ) + ( \\Phi . var-Phi ) + ( \\chi . var-chi ) + ( \\psi . var-psi ) + ( \\Psi . var-Psi ) + ( \\omega . var-omega ) + ( \\Omega . var-Omega ) + ;; Others + ( \\ell . var-ell ) + ( \\infty . var-inf ) + ( \\infty . var-uinf ) + ( \\sum . (math-parse-tex-sum calcFunc-sum) ) + ( \\prod . (math-parse-tex-sum calcFunc-prod) ))) (put 'tex 'math-complex-format 'i)
--- a/lisp/calendar/appt.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/calendar/appt.el Tue Oct 03 05:04:21 2006 +0000 @@ -394,8 +394,8 @@ (if (and (< appt-comp-time appt-message-warning-time) (> (+ cur-comp-time appt-message-warning-time) appt-max-time)) - (setq min-to-app (+ (- (1+ appt-max-time) cur-comp-time)) - appt-comp-time)) + (setq min-to-app (+ (- (1+ appt-max-time) cur-comp-time) + appt-comp-time))) ;; issue warning if the appointment time is ;; within appt-message-warning time
--- a/lisp/calendar/calendar.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/calendar/calendar.el Tue Oct 03 05:04:21 2006 +0000 @@ -568,11 +568,20 @@ Names can be capitalized or not, written in full (as specified by the variable `calendar-day-name-array'), or abbreviated (as specified by -`calendar-day-abbrev-array') with or without a period. To take effect, -this variable should be set before the calendar package and its associates -are loaded. Otherwise, use one of the functions `european-calendar' or -`american-calendar' to force the appropriate update." +`calendar-day-abbrev-array') with or without a period. + +Setting this variable directly does not take effect (if the +calendar package is already loaded). Rather, use either +\\[customize] or the functions `european-calendar' and +`american-calendar'." :type 'boolean + ;; Without :initialize (require 'calendar) throws an error because + ;; american-calendar is undefined at this point. + :initialize 'custom-initialize-default + :set (lambda (symbol value) + (if value + (european-calendar) + (american-calendar))) :group 'diary) ;;;###autoload @@ -1582,6 +1591,19 @@ (calendar-only-one-frame-setup arg)) (t (calendar-basic-setup arg)))) +(autoload 'diary-view-entries "diary-lib" + "Prepare and display a buffer with diary entries. +Searches your diary file for entries that match ARG days starting with +the date indicated by the cursor position in the displayed three-month +calendar." + t) + +(autoload 'list-calendar-holidays "holidays" + "Create a buffer containing the holidays for the current calendar window. +The holidays are those in the list `calendar-notable-days'. Returns t if any +holidays are found, nil if not." + t) + (defun calendar-basic-setup (&optional arg) "Display a three-month calendar in another window. The three months appear side by side, with the current month in the middle @@ -1649,13 +1671,6 @@ (list-calendar-holidays))) (run-hooks 'initial-calendar-window-hook)) -(autoload 'diary-view-entries "diary-lib" - "Prepare and display a buffer with diary entries. -Searches your diary file for entries that match ARG days starting with -the date indicated by the cursor position in the displayed three-month -calendar." - t) - (autoload 'view-other-diary-entries "diary-lib" "Prepare and display buffer of diary entries from an alternative diary file. Searches for entries that match ARG days, starting with the date indicated @@ -1930,12 +1945,6 @@ to the date indicated by point." t) -(autoload 'list-calendar-holidays "holidays" - "Create a buffer containing the holidays for the current calendar window. -The holidays are those in the list `calendar-notable-days'. Returns t if any -holidays are found, nil if not." - t) - (autoload 'cal-tex-cursor-month "cal-tex" "Make a buffer with LaTeX commands for the month cursor is on. Optional prefix argument specifies number of months to be produced.
--- a/lisp/comint.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/comint.el Tue Oct 03 05:04:21 2006 +0000 @@ -650,7 +650,10 @@ (make-local-variable 'comint-process-echoes) (make-local-variable 'comint-file-name-chars) (make-local-variable 'comint-file-name-quote-list) - (set (make-local-variable 'comint-accum-marker) (make-marker)) + (make-local-variable 'comint-accum-marker) + (setq comint-accum-marker (make-marker)) + (make-local-variable 'font-lock-defaults) + (setq font-lock-defaults '(nil)) (add-hook 'change-major-mode-hook 'font-lock-defontify nil t) ;; This behavior is not useful in comint buffers, and is annoying (set (make-local-variable 'next-line-add-newlines) nil))
--- a/lisp/cus-edit.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/cus-edit.el Tue Oct 03 05:04:21 2006 +0000 @@ -1521,13 +1521,18 @@ (widget-insert description)) (widget-insert (format ". %s buttons; type RET or click mouse-1 to actuate one. -Editing a setting changes only the text in the buffer. -Use the setting's State button to set it or save changes in it. -Saving a change normally works by editing your Emacs init file. -See " +Editing a setting changes only the text in the buffer." (if custom-raised-buttons "`Raised' text indicates" "Square brackets indicate"))) + (if init-file-user + (widget-insert " +Use the setting's State button to set it or save changes in it. +Saving a change normally works by editing your Emacs init file.") + (widget-insert " +\nSince you started Emacs with `-q', which inhibits use of the +Emacs init file, you cannot save settings into the Emacs init file.")) + (widget-insert "\nSee ") (widget-create 'custom-manual :tag "Custom file" "(emacs)Saving Customizations") @@ -4152,6 +4157,8 @@ recentf-exclude))) (old-buffer (find-buffer-visiting filename))) (with-current-buffer (or old-buffer (find-file-noselect filename)) + (unless (eq major-mode 'emacs-lisp-mode) + (emacs-lisp-mode)) (let ((inhibit-read-only t)) (custom-save-variables) (custom-save-faces)) @@ -4548,6 +4555,13 @@ (setq widget-documentation-face 'custom-documentation) (make-local-variable 'widget-button-face) (setq widget-button-face custom-button) + + ;; We need this because of the "More" button on docstrings. + ;; Otherwise clicking on "More" can push point offscreen, which + ;; causes the window to recenter on point, which pushes the + ;; newly-revealed docstring offscreen; which is annoying. -- cyd. + (set (make-local-variable 'widget-button-click-moves-point) t) + (set (make-local-variable 'widget-button-pressed-face) custom-button-pressed) (set (make-local-variable 'widget-mouse-face) custom-button-mouse)
--- a/lisp/custom.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/custom.el Tue Oct 03 05:04:21 2006 +0000 @@ -210,11 +210,11 @@ `custom-initialize-reset'. :set VALUE should be a function to set the value of the symbol. It takes two arguments, the symbol to set and the value to - give it. The default choice of function is `custom-set-default'. + give it. The default choice of function is `set-default'. :get VALUE should be a function to extract the value of symbol. The function takes one argument, a symbol, and should return the current value for that symbol. The default choice of function - is `custom-default-value'. + is `default-value'. :require VALUE should be a feature symbol. If you save a value for this option, then when your `.emacs' file loads the value,
--- a/lisp/delim-col.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/delim-col.el Tue Oct 03 05:04:21 2006 +0000 @@ -5,10 +5,10 @@ ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> -;; Time-stamp: <2006-02-06 13:37:10 ttn> +;; Time-stamp: <2006/09/15 17:35:06 vinicius> ;; Version: 2.1 ;; Keywords: internal -;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ +;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre ;; This file is part of GNU Emacs.
--- a/lisp/dired.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/dired.el Tue Oct 03 05:04:21 2006 +0000 @@ -2204,40 +2204,40 @@ (concat "\\`" (match-string 1 default-directory))))) (goto-char (point-min)) (setq dired-subdir-alist nil) - (while (and (re-search-forward dired-subdir-regexp nil t) - ;; Avoid taking a file name ending in a colon - ;; as a subdir name. - (not (save-excursion - (goto-char (match-beginning 0)) - (beginning-of-line) - (forward-char 2) - (save-match-data (looking-at dired-re-perms))))) - (save-excursion - (goto-char (match-beginning 1)) - (setq new-dir-name - (buffer-substring-no-properties (point) (match-end 1)) - new-dir-name - (save-match-data - (if (and R-ftp-base-dir-regex - (not (string= new-dir-name default-directory)) - (string-match R-ftp-base-dir-regex new-dir-name)) - (concat default-directory - (substring new-dir-name (match-end 0))) - (expand-file-name new-dir-name)))) - (delete-region (point) (match-end 1)) - (insert new-dir-name)) - (setq count (1+ count)) - (dired-alist-add-1 new-dir-name - ;; Place a sub directory boundary between lines. - (save-excursion - (goto-char (match-beginning 0)) - (beginning-of-line) - (point-marker)))) + (while (re-search-forward dired-subdir-regexp nil t) + ;; Avoid taking a file name ending in a colon + ;; as a subdir name. + (unless (save-excursion + (goto-char (match-beginning 0)) + (beginning-of-line) + (forward-char 2) + (save-match-data (looking-at dired-re-perms))) + (save-excursion + (goto-char (match-beginning 1)) + (setq new-dir-name + (buffer-substring-no-properties (point) (match-end 1)) + new-dir-name + (save-match-data + (if (and R-ftp-base-dir-regex + (not (string= new-dir-name default-directory)) + (string-match R-ftp-base-dir-regex new-dir-name)) + (concat default-directory + (substring new-dir-name (match-end 0))) + (expand-file-name new-dir-name)))) + (delete-region (point) (match-end 1)) + (insert new-dir-name)) + (setq count (1+ count)) + (dired-alist-add-1 new-dir-name + ;; Place a sub directory boundary between lines. + (save-excursion + (goto-char (match-beginning 0)) + (beginning-of-line) + (point-marker))))) (if (and (> count 1) (interactive-p)) - (message "Buffer includes %d directories" count)) - ;; We don't need to sort it because it is in buffer order per - ;; constructionem. Return new alist: - dired-subdir-alist))) + (message "Buffer includes %d directories" count))) + ;; We don't need to sort it because it is in buffer order per + ;; constructionem. Return new alist: + dired-subdir-alist)) (defun dired-alist-add-1 (dir new-marker) ;; Add new DIR at NEW-MARKER. Don't sort.
--- a/lisp/emacs-lisp/cl-macs.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/emacs-lisp/cl-macs.el Tue Oct 03 05:04:21 2006 +0000 @@ -2578,21 +2578,7 @@ (cl-const-expr-val (nth 1 keys))))) (cond ((eq test 'eq) (list 'memq a list)) ((eq test 'equal) (list 'member a list)) - ((or (null keys) (eq test 'eql)) - (if (eq (cl-const-expr-p a) t) - (list (if (floatp-safe (cl-const-expr-val a)) 'member 'memq) - a list) - (if (eq (cl-const-expr-p list) t) - (let ((p (cl-const-expr-val list)) (mb nil) (mq nil)) - (if (not (cdr p)) - (and p (list 'eql a (list 'quote (car p)))) - (while p - (if (floatp-safe (car p)) (setq mb t) - (or (integerp (car p)) (symbolp (car p)) (setq mq t))) - (setq p (cdr p))) - (if (not mb) (list 'memq a list) - (if (not mq) (list 'member a list) form)))) - form))) + ((or (null keys) (eq test 'eql)) (list 'memql a list)) (t form)))) (define-compiler-macro assoc* (&whole form a list &rest keys)
--- a/lisp/emacs-lisp/cl.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/emacs-lisp/cl.el Tue Oct 03 05:04:21 2006 +0000 @@ -159,9 +159,7 @@ \n(fn X PLACE [KEYWORD VALUE]...)" (if (symbolp place) (if (null keys) - `(let ((pushnew-internal ,place)) - (add-to-list 'pushnew-internal ,x nil 'eql) - (setq ,place pushnew-internal)) + `(if (memql ,x ,place) ,place (setq ,place (cons ,x ,place))) (list 'setq place (list* 'adjoin x place keys))) (list* 'callf2 'adjoin x place keys)))
--- a/lisp/emacs-lisp/find-func.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/emacs-lisp/find-func.el Tue Oct 03 05:04:21 2006 +0000 @@ -64,7 +64,7 @@ (concat "^\\s-*(\\(def\\(ine-skeleton\\|ine-generic-mode\\|ine-derived-mode\\|\ ine\\(?:-global\\)?-minor-mode\\|ine-compilation-mode\\|un-cvs-mode\\|\ -foo\\|[^cfgv]\\(\\w\\|\\s_\\)+\\*?\\)\\|easy-mmode-define-[a-z-]+\\|easy-menu-define\\|\ +foo\\|[^icfgv]\\(\\w\\|\\s_\\)+\\*?\\)\\|easy-mmode-define-[a-z-]+\\|easy-menu-define\\|\ menu-bar-make-toggle\\)" find-function-space-re "\\('\\|\(quote \\)?%s\\(\\s-\\|$\\|\(\\|\)\\)")
--- a/lisp/emacs-lisp/timer.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/emacs-lisp/timer.el Tue Oct 03 05:04:21 2006 +0000 @@ -300,7 +300,11 @@ "Third-to-last timer that was run.") (defvar timer-max-repeats 10 - "*Maximum number of times to repeat a timer, if real time jumps.") + "*Maximum number of times to repeat a timer, if many repeats are delayed. +Timer invocations can be delayed because Emacs is suspended or busy, +or because the system's time changes. If such an occurrence makes it +appear that many invocations are overdue, this variable controls +how many will really happen.") (defun timer-until (timer time) "Calculate number of seconds from when TIMER will run, until TIME.
--- a/lisp/ffap.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/ffap.el Tue Oct 03 05:04:21 2006 +0000 @@ -954,7 +954,7 @@ (substring name 2)))) (defvar ffap-rfc-path - (concat (ffap-host-to-filename "ds.internic.net") "/rfc/rfc%s.txt")) + (concat (ffap-host-to-filename "ftp.rfc-editor.org") "/in-notes/rfc%s.txt")) (defun ffap-rfc (name) (format ffap-rfc-path
--- a/lisp/files.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/files.el Tue Oct 03 05:04:21 2006 +0000 @@ -1117,13 +1117,15 @@ (mapcar 'switch-to-buffer (cdr value)))) (switch-to-buffer-other-frame value)))) -(defun find-file-existing (filename &optional wildcards) - "Edit the existing file FILENAME. -Like \\[find-file] but only allow a file that exists." - (interactive (find-file-read-args "Find existing file: " t)) - (unless (file-exists-p filename) (error "%s does not exist" filename)) - (find-file filename wildcards) - (current-buffer)) +(defun find-file-existing (filename) + "Edit the existing file FILENAME. +Like \\[find-file] but only allow a file that exists, and do not allow +file names with wildcards." + (interactive (nbutlast (find-file-read-args "Find existing file: " t))) + (if (and (not (interactive-p)) (not (file-exists-p filename))) + (error "%s does not exist" filename) + (find-file filename) + (current-buffer))) (defun find-file-read-only (filename &optional wildcards) "Edit file FILENAME but don't allow changes. @@ -1365,7 +1367,7 @@ (number (nthcdr 10 attributes)) (list (buffer-list)) found) (and buffer-file-numbers-unique - number + (car-safe number) ;Make sure the inode is not just nil. (while (and (not found) list) (with-current-buffer (car list) (if (and buffer-file-name @@ -3729,7 +3731,13 @@ ;; Return nil to ask about BUF again. nil) "view this file") - (?d diff-buffer-with-file + (?d (lambda (buf) + (save-window-excursion + (diff-buffer-with-file buf)) + (view-buffer (get-buffer-create "*Diff*") + (lambda (ignore) (exit-recursive-edit))) + (recursive-edit) + nil) "view changes in file")) "ACTION-ALIST argument used in call to `map-y-or-n-p'.")
--- a/lisp/font-lock.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/font-lock.el Tue Oct 03 05:04:21 2006 +0000 @@ -1168,7 +1168,12 @@ ;; number of lines. ;; (setq beg (progn (goto-char beg) (line-beginning-position)) ;; end (progn (goto-char end) (line-beginning-position 2))) - ) + (unless (eq end (point-max)) + ;; Rounding up to a whole number of lines should include the + ;; line right after `end'. Typical case: the first char of + ;; the line was deleted. Or a \n was inserted in the middle + ;; of a line. + (setq end (1+ end)))) (font-lock-fontify-region beg end))))) (defvar jit-lock-start) (defvar jit-lock-end) @@ -1205,9 +1210,17 @@ (setq beg (or (previous-single-property-change beg 'font-lock-multiline) (point-min)))) - (setq end (or (text-property-any end (point-max) - 'font-lock-multiline nil) - (point-max))) + (when (< end (point-max)) + (setq end + (if (get-text-property end 'font-lock-multiline) + (or (text-property-any end (point-max) + 'font-lock-multiline nil) + (point-max)) + ;; Rounding up to a whole number of lines should include the + ;; line right after `end'. Typical case: the first char of + ;; the line was deleted. Or a \n was inserted in the middle + ;; of a line. + (1+ end)))) ;; Finally, pre-enlarge the region to a whole number of lines, to try ;; and anticipate what font-lock-default-fontify-region will do, so as to ;; avoid double-redisplay. @@ -1217,11 +1230,11 @@ (when (memq 'font-lock-extend-region-wholelines font-lock-extend-region-functions) (goto-char beg) - (forward-line 0) - (setq jit-lock-start (min jit-lock-start (point))) + (setq jit-lock-start (min jit-lock-start (line-beginning-position))) (goto-char end) - (forward-line 1) - (setq jit-lock-end (max jit-lock-end (point))))))) + (setq jit-lock-end + (max jit-lock-end + (if (bolp) (point) (line-beginning-position 2)))))))) (defun font-lock-fontify-block (&optional arg) "Fontify some lines the way `font-lock-fontify-buffer' would. @@ -1646,9 +1659,11 @@ (cons t (cons keywords (mapcar 'font-lock-compile-keyword keywords)))) (if (and (not syntactic-keywords) - (eq (or syntax-begin-function - font-lock-beginning-of-syntax-function) - 'beginning-of-defun) + (let ((beg-function + (or font-lock-beginning-of-syntax-function + syntax-begin-function))) + (or (eq beg-function 'beginning-of-defun) + (get beg-function 'font-lock-syntax-paren-check))) (not beginning-of-defun-function)) ;; Try to detect when a string or comment contains something that ;; looks like a defun and would thus confuse font-lock.
--- a/lisp/frame.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/frame.el Tue Oct 03 05:04:21 2006 +0000 @@ -681,7 +681,7 @@ (nreverse frame-initial-geometry-arguments)) (cdr param-list)) -(defcustom focus-follows-mouse t +(defcustom focus-follows-mouse (not (eq window-system 'mac)) "*Non-nil if window system changes focus when you move the mouse. You should set this variable to tell Emacs how your window manager handles focus, since there is no way in general for Emacs to find out
--- a/lisp/gnus/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/gnus/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,3 +1,16 @@ +2006-09-28 Reiner Steib <Reiner.Steib@gmx.de> + + * gmm-utils.el (gmm): Adjust custom version. + + * mm-util.el (mm-charset-override-alist, mm-charset-eval-alist): Adjust + custom version. + + * gnus-draft.el (gnus-draft-mode): Don't call `mml-mode'. + +2006-09-25 Chong Yidong <cyd@stupidchicken.com> + + * gnus-demon.el (gnus-demon): Use with-local-quit to avoid hangs. + 2006-09-19 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de> * nnslashdot.el (nnslashdot-request-article): Update end-of-article
--- a/lisp/gnus/gmm-utils.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/gnus/gmm-utils.el Tue Oct 03 05:04:21 2006 +0000 @@ -35,7 +35,7 @@ (defgroup gmm nil "Utility functions for Gnus, Message and MML" :prefix "gmm-" - :version "23.0" ;; No Gnus + :version "22.1" ;; Gnus 5.10.9 :group 'lisp) ;; Helper functions from `gnus-utils.el': gmm-verbose, gmm-message, gmm-error
--- a/lisp/gnus/gnus-demon.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/gnus/gnus-demon.el Tue Oct 03 05:04:21 2006 +0000 @@ -218,7 +218,7 @@ (< idle gnus-demon-idle-time)) ; Idle timed out. (t (< 0 gnus-demon-idle-time)))) ; Or just need to be idle. ;; So we call the handler. - (progn + (with-local-quit (ignore-errors (funcall (car handler))) ;; And reset the timer. (setcar (nthcdr 1 handler) @@ -232,14 +232,15 @@ (gnus-demon-is-idle-p)) ;; We want to call this handler each and every time that ;; Emacs is idle. - (ignore-errors (funcall (car handler)))) + (with-local-quit + (ignore-errors (funcall (car handler))))) (t ;; We want to call this handler only if Emacs has been idle ;; for a specified number of timesteps. (and (not (memq (car handler) gnus-demon-idle-has-been-called)) (< idle gnus-demon-idle-time) (gnus-demon-is-idle-p) - (progn + (with-local-quit (ignore-errors (funcall (car handler))) ;; Make sure the handler won't be called once more in ;; this idle-cycle.
--- a/lisp/gnus/gnus-draft.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/gnus/gnus-draft.el Tue Oct 03 05:04:21 2006 +0000 @@ -76,7 +76,6 @@ (when (gnus-visual-p 'draft-menu 'menu) (gnus-draft-make-menu-bar)) (gnus-add-minor-mode 'gnus-draft-mode " Draft" gnus-draft-mode-map) - (mml-mode) (gnus-run-hooks 'gnus-draft-mode-hook)))) ;;; Commands
--- a/lisp/gnus/mm-util.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/gnus/mm-util.el Tue Oct 03 05:04:21 2006 +0000 @@ -253,7 +253,7 @@ :tag "Other options" (cons (symbol :tag "From charset") (symbol :tag "To charset")))) - :version "23.0" ;; No Gnus + :version "22.1" ;; Gnus 5.10.9 :group 'mime) (defcustom mm-charset-eval-alist @@ -270,7 +270,7 @@ evaluated. This allows to load additional libraries providing charsets on demand. If supported by your Emacs version, you could use `autoload-coding-system' here." - :version "23.0" ;; No Gnus + :version "22.1" ;; Gnus 5.10.9 :type '(list (set :inline t (const (windows-1250 . (mm-codepage-setup 1250 t))) (const (windows-1251 . (mm-codepage-setup 1251 t)))
--- a/lisp/help.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/help.el Tue Oct 03 05:04:21 2006 +0000 @@ -571,11 +571,9 @@ ;; down-events on scroll bars and mode lines: the actual ;; event then is in the second element of the vector. (and (vectorp key) - (or (and (eventp (aref key 0)) - (memq 'down (event-modifiers (aref key 0)))) - (and (> (length key) 1) - (eventp (aref key 1)) - (memq 'down (event-modifiers (aref key 1))))) + (let ((last-idx (1- (length key)))) + (and (eventp (aref key last-idx)) + (memq 'down (event-modifiers (aref key last-idx))))) (read-event)) (list key @@ -643,11 +641,21 @@ (list key (prefix-numeric-value current-prefix-arg) - ;; If KEY is a down-event, read the corresponding up-event - ;; and use it as the third argument. + ;; If KEY is a down-event, read and discard the + ;; corresponding up-event. Note that there are also + ;; down-events on scroll bars and mode lines: the actual + ;; event then is in the second element of the vector. (and (vectorp key) + (let ((last-idx (1- (length key)))) + (and (eventp (aref key last-idx)) + (memq 'down (event-modifiers (aref key last-idx))))) (or (and (eventp (aref key 0)) - (memq 'down (event-modifiers (aref key 0)))) + (memq 'down (event-modifiers (aref key 0))) + ;; However, for the C-down-mouse-2 popup + ;; menu, there is no subsequent up-event. In + ;; this case, the up-event is the next + ;; element in the supplied vector. + (= (length key) 1)) (and (> (length key) 1) (eventp (aref key 1)) (memq 'down (event-modifiers (aref key 1)))))
--- a/lisp/ibuf-ext.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/ibuf-ext.el Tue Oct 03 05:04:21 2006 +0000 @@ -370,7 +370,11 @@ "Evaluate FORM in each of the buffers. Does not display the buffer during evaluation. See `ibuffer-do-view-and-eval' for that." - (:interactive "xEval in buffers (form): " + (:interactive + (list + (read-from-minibuffer + "Eval in buffers (form): " + nil read-expression-map t 'read-expression-history)) :opstring "evaluated in" :modifier-p :maybe) (eval form)) @@ -379,7 +383,11 @@ (define-ibuffer-op view-and-eval (form) "Evaluate FORM while displaying each of the marked buffers. To evaluate a form without viewing the buffer, see `ibuffer-do-eval'." - (:interactive "xEval viewing buffers (form): " + (:interactive + (list + (read-from-minibuffer + "Eval viewing in buffers (form): " + nil read-expression-map t 'read-expression-history)) :opstring "evaluated in" :complex t :modifier-p :maybe)
--- a/lisp/icomplete.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/icomplete.el Tue Oct 03 05:04:21 2006 +0000 @@ -157,6 +157,12 @@ (< (length x) (length y)))) ", ") ">")))))) +;;;_ = icomplete-with-completion-tables +(defvar icomplete-with-completion-tables '(internal-complete-buffer) + "Specialized completion tables with which icomplete should operate. + +Icomplete does not operate with any specialized completion tables +except those on this list.") ;;;_ > icomplete-mode (&optional prefix) ;;;###autoload @@ -184,8 +190,9 @@ (and (window-minibuffer-p (selected-window)) (not executing-kbd-macro) minibuffer-completion-table - ;; (or minibuffer-completing-file-name - (not (functionp minibuffer-completion-table)))) ;; ) + (or (not (functionp minibuffer-completion-table)) + (member minibuffer-completion-table + icomplete-with-completion-tables)))) ;;;_ > icomplete-minibuffer-setup () (defun icomplete-minibuffer-setup ()
--- a/lisp/ido.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/ido.el Tue Oct 03 05:04:21 2006 +0000 @@ -2224,7 +2224,6 @@ (let ((ido-current-directory (ido-expand-directory default)) (ido-context-switch-command switch-cmd) ido-directory-nonreadable ido-directory-too-big - (minibuffer-completing-file-name t) filename) (if (or (not ido-mode) (ido-is-slow-ftp-host)) @@ -2268,9 +2267,10 @@ (unless filename (setq ido-saved-vc-hb vc-handled-backends) - (setq filename (ido-read-internal item - (or prompt "Find file: ") - 'ido-file-history nil nil initial))) + (let ((minibuffer-completing-file-name t)) + (setq filename (ido-read-internal item + (or prompt "Find file: ") + 'ido-file-history nil nil initial)))) ;; Choose the file name: either the text typed in, or the head ;; of the list of matches
--- a/lisp/isearch.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/isearch.el Tue Oct 03 05:04:21 2006 +0000 @@ -1803,8 +1803,6 @@ ((eq char ?|) (isearch-fallback t nil t))) ;; Append the char to the search string, update the message and re-search. - (if (char-table-p translation-table-for-input) - (setq char (or (aref translation-table-for-input char) char))) (isearch-process-search-string (char-to-string char) (if (>= char ?\200) @@ -1989,6 +1987,36 @@ (t (if isearch-forward 'search-forward 'search-backward))))) +(defun isearch-search-string (string bound noerror) + ;; Search for the first occurance of STRING or its translation. If + ;; found, move point to the end of the occurance, update + ;; isearch-match-beg and isearch-match-end, and return point. + (let ((func (isearch-search-fun)) + (len (length string)) + pos1 pos2) + (setq pos1 (save-excursion (funcall func string bound noerror))) + (if (and (char-table-p translation-table-for-input) + (> (string-bytes string) len)) + (let (translated match-data) + (dotimes (i len) + (let ((x (aref translation-table-for-input (aref string i)))) + (when x + (or translated (setq translated (copy-sequence string))) + (aset translated i x)))) + (when translated + (save-match-data + (save-excursion + (if (setq pos2 (funcall func translated bound noerror)) + (setq match-data (match-data t))))) + (when (and pos2 + (or (not pos1) + (if isearch-forward (< pos2 pos1) (> pos2 pos1)))) + (setq pos1 pos2) + (set-match-data match-data))))) + (if pos1 + (goto-char pos1)) + pos1)) + (defun isearch-search () ;; Do the search with the current search string. (isearch-message nil t) @@ -2004,9 +2032,7 @@ (setq isearch-error nil) (while retry (setq isearch-success - (funcall - (isearch-search-fun) - isearch-string nil t)) + (isearch-search-string isearch-string nil t)) ;; Clear RETRY unless we matched some invisible text ;; and we aren't supposed to do that. (if (or (eq search-invisible t) @@ -2349,7 +2375,7 @@ (isearch-regexp isearch-lazy-highlight-regexp) (search-spaces-regexp search-whitespace-regexp)) (condition-case nil - (funcall (isearch-search-fun) + (isearch-search-string isearch-lazy-highlight-last-string (if isearch-forward (min (or isearch-lazy-highlight-end-limit (point-max))
--- a/lisp/jit-lock.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/jit-lock.el Tue Oct 03 05:04:21 2006 +0000 @@ -349,7 +349,7 @@ ;; Fontify chunks beginning at START. The end of a ;; chunk is either `end', or the start of a region ;; before `end' that has already been fontified. - (while start + (while (and start (< start end)) ;; Determine the end of this chunk. (setq next (or (text-property-any start end 'fontified t) end)) @@ -397,16 +397,18 @@ ;; eagerly extend the refontified region with ;; jit-lock-after-change-extend-region-functions. (when (< start orig-start) - (run-with-timer 0 nil 'jit-lock-fontify-again + (run-with-timer 0 nil 'jit-lock-force-redisplay (current-buffer) start orig-start)) ;; Find the start of the next chunk, if any. (setq start (text-property-any next end 'fontified nil)))))))) -(defun jit-lock-fontify-again (buf start end) - "Fontify in buffer BUF from START to END." +(defun jit-lock-force-redisplay (buf start end) + "Force the display engine to re-render buffer BUF from START to END." (with-current-buffer buf (with-buffer-prepared-for-jit-lock + ;; Don't cause refontification (it's already been done), but just do + ;; some random buffer change, so as to force redisplay. (put-text-property start end 'fontified t))))
--- a/lisp/lpr.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/lpr.el Tue Oct 03 05:04:21 2006 +0000 @@ -141,7 +141,7 @@ ;; Berkeley systems support -F, and GNU pr supports both -f and -F, ;; So it looks like -F is a better default. (defcustom lpr-page-header-switches '("-h %s" "-F") - "List of strings to use as options for the page-header-generating program. + "*List of strings to use as options for the page-header-generating program. If `%s' appears in one of the strings, it is substituted by the page title. The variable `lpr-page-header-program' specifies the program to use." :type '(repeat string)
--- a/lisp/mail/smtpmail.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/mail/smtpmail.el Tue Oct 03 05:04:21 2006 +0000 @@ -541,7 +541,7 @@ (decoded (base64-decode-string challenge)) (hash (rfc2104-hash 'md5 64 16 passwd decoded)) (response (concat (smtpmail-cred-user cred) " " hash)) - (encoded (base64-encode-string response))) + (encoded (base64-encode-string response t))) (smtpmail-send-command process (format "%s" encoded)) (if (or (null (car (setq ret (smtpmail-read-response process)))) (not (integerp (car ret))) @@ -554,12 +554,12 @@ (>= (car ret) 400)) (throw 'done nil)) (smtpmail-send-command - process (base64-encode-string (smtpmail-cred-user cred))) + process (base64-encode-string (smtpmail-cred-user cred) t)) (if (or (null (car (setq ret (smtpmail-read-response process)))) (not (integerp (car ret))) (>= (car ret) 400)) (throw 'done nil)) - (smtpmail-send-command process (base64-encode-string passwd)) + (smtpmail-send-command process (base64-encode-string passwd t)) (if (or (null (car (setq ret (smtpmail-read-response process)))) (not (integerp (car ret))) (>= (car ret) 400)) @@ -576,7 +576,7 @@ (concat "\0" (smtpmail-cred-user cred) "\0" - passwd)))) + passwd) t))) (if (or (null (car (setq ret (smtpmail-read-response process)))) (not (integerp (car ret))) (not (equal (car ret) 235)))
--- a/lisp/mh-e/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/mh-e/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,3 +1,18 @@ +2006-09-25 Stephen Gildea <gildea@stop.mail-abuse.org> + + * mh-junk.el (mh-spamassassin-whitelist): Add two missing + quotation marks, so that the last two arguments of sa-learn + are separated properly (closes SF #1565460). + + * (mh-spamassassin-blacklist): In example .procmailrc, add + PATH element to find mhparam on Debian. + +2006-09-24 Stephen Gildea <gildea@stop.mail-abuse.org> + + * mh-comp.el (mh-send-args): Initialize to "" instead of nil + so that we always have a valid string for split-string even if + nothing is added in mh-send-letter (closes SF #1564742). + 2006-07-03 Bill Wohler <wohler@newt.com> Release MH-E version 8.0.2.
--- a/lisp/mh-e/mh-comp.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/mh-e/mh-comp.el Tue Oct 03 05:04:21 2006 +0000 @@ -127,7 +127,7 @@ (make-syntax-table text-mode-syntax-table)) (modify-syntax-entry ?% "." mh-letter-mode-syntax-table)) -(defvar mh-send-args nil +(defvar mh-send-args "" "Extra args to pass to \"send\" command.") (defvar mh-annotate-char nil
--- a/lisp/mh-e/mh-junk.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/mh-e/mh-junk.el Tue Oct 03 05:04:21 2006 +0000 @@ -115,6 +115,9 @@ To use SpamAssassin, add the following recipes to \".procmailrc\": + # Append to $PATH the location of mhparam in some distros. + PATH=$PATH:/usr/bin/mh + MAILDIR=$HOME/`mhparam Path` # Fight spam with SpamAssassin. @@ -244,7 +247,7 @@ (when mh-sa-learn-executable (message "Recategorizing this message as ham...") (call-process mh-sa-learn-executable msg-file mh-temp-buffer nil - "--single" "--ham" "--local --no-rebuild")) + "--single" "--ham" "--local" "--no-rebuild")) (message "Whitelisting message %d..." msg) (setq from (car (mh-funcall-if-exists
--- a/lisp/mouse.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/mouse.el Tue Oct 03 05:04:21 2006 +0000 @@ -778,7 +778,7 @@ (defun mouse-posn-property (pos property) "Look for a property at click position. POS may be either a buffer position or a click position like -those returned from `start-event'. If the click position is on +those returned from `event-start'. If the click position is on a string, the text property PROPERTY is examined. If this is nil or the click is not on a string, then the corresponding buffer position is searched for PROPERTY.
--- a/lisp/pcvs.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/pcvs.el Tue Oct 03 05:04:21 2006 +0000 @@ -618,7 +618,6 @@ (str (car hf)) (done "") (tin (ewoc-nth cvs-cookies 0))) - (if (eq (length str) 2) (setq str "")) ;; look for the first *real* fileinfo (to determine emptyness) (while (and tin @@ -626,14 +625,17 @@ '(MESSAGE DIRCHANGE))) (setq tin (ewoc-next cvs-cookies tin))) (if add - (setq str (concat "-- Running " cmd " ...\n" str)) + (progn + ;; Remove the default empty line, if applicable. + (if (not (string-match "." str)) (setq str "\n")) + (setq str (concat "-- Running " cmd " ...\n" str))) (if (not (string-match (concat "^-- Running " (regexp-quote cmd) " \\.\\.\\.\n") str)) (error "Internal PCL-CVS error while removing message") (setq str (replace-match "" t t str)) - (if (zerop (length str)) (setq str "\n")) - (setq done (concat "-- last cmd: " cmd " --")))) - (setq str (concat str "\n") done (concat done "\n")) + ;; Re-add the default empty line, if applicable. + (if (not (string-match "." str)) (setq str "\n\n")) + (setq done (concat "-- last cmd: " cmd " --\n")))) ;; set the new header and footer (ewoc-set-hf cvs-cookies str (concat "\n--------------------- "
--- a/lisp/printing.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/printing.el Tue Oct 03 05:04:21 2006 +0000 @@ -5,10 +5,10 @@ ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> -;; Time-stamp: <2006-02-06 15:06:40 ttn> +;; Time-stamp: <2006/09/15 18:53:14 vinicius> ;; Keywords: wp, print, PostScript ;; Version: 6.8.4 -;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ +;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre (defconst pr-version "6.8.4" "printing.el, v 6.8.4 <2005/06/11 vinicius> @@ -2799,7 +2799,7 @@ (defalias 'pr-get-symbol - (if (fboundp 'easy-menu-intern) + (if (fboundp 'easy-menu-intern) ; hacked from easymenu.el 'easy-menu-intern (lambda (s) (if (stringp s) (intern s) s))))
--- a/lisp/progmodes/compile.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/progmodes/compile.el Tue Oct 03 05:04:21 2006 +0000 @@ -1784,17 +1784,31 @@ (current-buffer))) (move-overlay compilation-highlight-overlay (point) end (current-buffer))) - (if (numberp next-error-highlight) - (setq next-error-highlight-timer - (run-at-time next-error-highlight nil 'delete-overlay - compilation-highlight-overlay))) - (if (not (or (eq next-error-highlight t) - (numberp next-error-highlight))) - (delete-overlay compilation-highlight-overlay)))))) + (if (or (eq next-error-highlight t) + (numberp next-error-highlight)) + ;; We want highlighting: delete overlay on next input. + (add-hook 'pre-command-hook + 'compilation-goto-locus-delete-o) + ;; We don't want highlighting: delete overlay now. + (delete-overlay compilation-highlight-overlay)) + ;; We want highlighting for a limited time: + ;; set up a timer to delete it. + (when (numberp next-error-highlight) + (setq next-error-highlight-timer + (run-at-time next-error-highlight nil + 'compilation-goto-locus-delete-o))))))) (when (and (eq next-error-highlight 'fringe-arrow)) + ;; We want a fringe arrow (instead of highlighting). (setq next-error-overlay-arrow-position (copy-marker (line-beginning-position)))))) +(defun compilation-goto-locus-delete-o () + (delete-overlay compilation-highlight-overlay) + ;; Get rid of timer and hook that would try to do this again. + (if (timerp next-error-highlight-timer) + (cancel-timer next-error-highlight-timer)) + (remove-hook 'pre-command-hook + 'compilation-goto-locus-delete-o)) (defun compilation-find-file (marker filename directory &rest formats) "Find a buffer for file FILENAME.
--- a/lisp/progmodes/cperl-mode.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/progmodes/cperl-mode.el Tue Oct 03 05:04:21 2006 +0000 @@ -3914,12 +3914,14 @@ (if (get-text-property (point) 'here-doc-group) (progn (goto-char - (previous-single-property-change (point) 'here-doc-group)) + (or (previous-single-property-change (point) 'here-doc-group) + (point))) (beginning-of-line 0))) (if (get-text-property (point) 'in-pod) (progn (goto-char - (previous-single-property-change (point) 'in-pod)) + (or (previous-single-property-change (point) 'in-pod) + (point))) (beginning-of-line 0))) (if (looking-at "^[ \t]*\\(#\\|$\\)") nil ; Only comment, skip ;; Else: last iteration, or a label
--- a/lisp/progmodes/ebnf2ps.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/progmodes/ebnf2ps.el Tue Oct 03 05:04:21 2006 +0000 @@ -5,10 +5,10 @@ ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> -;; Time-stamp: <2005-09-18 07:27:20 deego> +;; Time-stamp: <2006/09/26 21:49:46 vinicius> ;; Keywords: wp, ebnf, PostScript -;; Version: 4.2 -;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ +;; Version: 4.3 +;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre ;; This file is part of GNU Emacs. @@ -27,8 +27,8 @@ ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. -(defconst ebnf-version "4.2" - "ebnf2ps.el, v 4.2 <2004/04/04 vinicius> +(defconst ebnf-version "4.3" + "ebnf2ps.el, v 4.3 <2006/09/26 vinicius> Vinicius's last change version. When reporting bugs, please also report the version of Emacs, if any, that ebnf2ps was running with. @@ -73,18 +73,18 @@ ;; ebnf2ps provides the following commands for generating PostScript syntactic ;; chart images of Emacs buffers: ;; -;; ebnf-print-directory -;; ebnf-print-file -;; ebnf-print-buffer -;; ebnf-print-region -;; ebnf-spool-directory -;; ebnf-spool-file -;; ebnf-spool-buffer -;; ebnf-spool-region -;; ebnf-eps-directory -;; ebnf-eps-file -;; ebnf-eps-buffer -;; ebnf-eps-region +;; ebnf-print-directory +;; ebnf-print-file +;; ebnf-print-buffer +;; ebnf-print-region +;; ebnf-spool-directory +;; ebnf-spool-file +;; ebnf-spool-buffer +;; ebnf-spool-region +;; ebnf-eps-directory +;; ebnf-eps-file +;; ebnf-eps-buffer +;; ebnf-eps-region ;; ;; These commands all perform essentially the same function: they generate ;; PostScript syntactic chart images suitable for printing on a PostScript @@ -94,14 +94,14 @@ ;; The word "print", "spool" and "eps" in the command name determines when the ;; PostScript image is sent to the printer (or file): ;; -;; print - The PostScript image is immediately sent to the printer; -;; -;; spool - The PostScript image is saved temporarily in an Emacs buffer. -;; Many images may be spooled locally before printing them. To -;; send the spooled images to the printer, use the command -;; `ebnf-despool'. -;; -;; eps - The PostScript image is immediately sent to a EPS file. +;; print - The PostScript image is immediately sent to the printer; +;; +;; spool - The PostScript image is saved temporarily in an Emacs buffer. +;; Many images may be spooled locally before printing them. To +;; send the spooled images to the printer, use the command +;; `ebnf-despool'. +;; +;; eps - The PostScript image is immediately sent to a EPS file. ;; ;; The spooling mechanism is the same as used by ps-print and was designed for ;; printing lots of small files to save paper that would otherwise be wasted on @@ -120,22 +120,22 @@ ;; The word "directory", "file", "buffer" or "region" in the command name ;; determines how much of the buffer is printed: ;; -;; directory - Read files in the directory and print them. -;; -;; file - Read file and print it. -;; -;; buffer - Print the entire buffer. -;; -;; region - Print just the current region. +;; directory - Read files in the directory and print them. +;; +;; file - Read file and print it. +;; +;; buffer - Print the entire buffer. +;; +;; region - Print just the current region. ;; ;; Two ebnf- command examples: ;; -;; ebnf-print-buffer - translate and print the entire buffer, and send it -;; immediately to the printer. -;; -;; ebnf-spool-region - translate and print just the current region, and -;; spool the image in Emacs to send to the printer -;; later. +;; ebnf-print-buffer - translate and print the entire buffer, and send it +;; immediately to the printer. +;; +;; ebnf-spool-region - translate and print just the current region, and +;; spool the image in Emacs to send to the printer +;; later. ;; ;; Note that `ebnf-eps-directory', `ebnf-eps-file', `ebnf-eps-buffer' and ;; `ebnf-eps-region' never spool the EPS image, so they don't use the ps-print @@ -148,13 +148,13 @@ ;; ;; To translate and print your buffer, type ;; -;; M-x ebnf-print-buffer +;; M-x ebnf-print-buffer ;; ;; or substitute one of the other four ebnf- commands. The command will ;; generate the PostScript image and print or spool it as specified. By giving ;; the command a prefix argument ;; -;; C-u M-x ebnf-print-buffer +;; C-u M-x ebnf-print-buffer ;; ;; it will save the PostScript image to a file instead of sending it to the ;; printer; you will be prompted for the name of the file to save the image to. @@ -162,7 +162,7 @@ ;; you may save the spooled images to a file by giving a prefix argument to ;; `ebnf-despool': ;; -;; C-u M-x ebnf-despool +;; C-u M-x ebnf-despool ;; ;; When invoked this way, `ebnf-despool' will prompt you for the name of the ;; file to save to. @@ -172,9 +172,9 @@ ;; ;; Any of the `ebnf-' commands can be bound to keys. Here are some examples: ;; -;; (global-set-key 'f22 'ebnf-print-buffer) ;f22 is prsc -;; (global-set-key '(shift f22) 'ebnf-print-region) -;; (global-set-key '(control f22) 'ebnf-despool) +;; (global-set-key 'f22 'ebnf-print-buffer) ;f22 is prsc +;; (global-set-key '(shift f22) 'ebnf-print-region) +;; (global-set-key '(control f22) 'ebnf-despool) ;; ;; ;; Invoking Ebnf2ps in Batch @@ -523,14 +523,14 @@ ;; ;; The following table summarizes the results: ;; -;; EPS FILE NAME NO SORT ASCENDING SORT DESCENDING SORT -;; ebnf--AA.eps A C A C C A -;; ebnf--BB.eps C B B C C B -;; ebnf--CC.eps A C B F A B C F F C B A -;; ebnf--D.eps D D D -;; ebnf--E.eps E E E -;; ebnf--G.eps G G G -;; ebnf--Z.eps Z Z Z +;; EPS FILE NAME NO SORT ASCENDING SORT DESCENDING SORT +;; ebnf--AA.eps A C A C C A +;; ebnf--BB.eps C B B C C B +;; ebnf--CC.eps A C B F A B C F F C B A +;; ebnf--D.eps D D D +;; ebnf--E.eps E E E +;; ebnf--G.eps G G G +;; ebnf--Z.eps Z Z Z ;; ;; As you can see if EPS actions is not used, each single production is ;; generated per EPS file. To avoid overriding EPS files, use names in ;[ that @@ -692,6 +692,11 @@ ;; ;; `ebnf-line-color' Specify flow line color. ;; +;; `ebnf-arrow-extra-width' Specify extra width for arrow shape +;; drawing. +;; +;; `ebnf-arrow-scale' Specify the arrow scale. +;; ;; `ebnf-user-arrow' Specify a sexp for user arrow shape (a ;; PostScript code). ;; @@ -824,6 +829,8 @@ ;; entry is the vertical position used to know where it should ;; be drawn the flow line in the current element. ;; +;; extra is given by `ebnf-arrow-extra-width'. +;; ;; ;; * SPECIAL, TERMINAL and NON-TERMINAL ;; @@ -835,17 +842,17 @@ ;; : | : : | : } font height / 2 } ;; : +==============+...:............................... ;; : : : : : : -;; : : : : : :...................... -;; : : : : : } font height } -;; : : : : :....... } -;; : : : : } font height / 2 } -;; : : : :........... } -;; : : : } text width } width -;; : : :.................. } -;; : : } font height / 2 } -;; : :...................... } -;; : } font height } -;; :............................................. +;; : : : : : :......................... +;; : : : : : } font height } +;; : : : : :....... } +;; : : : : } font height / 2 } +;; : : : :........... } +;; : : : } text width } width +;; : : :.................. } +;; : : } font height / 2 } +;; : :...................... } +;; : } font height + extra } +;; :................................................. ;; ;; ;; * OPTIONAL @@ -976,21 +983,21 @@ ;; : | : : : : | : } font height / 2 } ;; : +================+...:............................... ;; : : : : : : : : -;; : : : : : : : :...................... -;; : : : : : : : } font height } -;; : : : : : : :....... } -;; : : : : : : } font height / 2 } -;; : : : : : :........... } -;; : : : : : } X width } -;; : : : : :............... } -;; : : : : } font height / 2 } width -;; : : : :.................. } -;; : : : } text width } -;; : : :..................... } -;; : : } font height / 2 } -;; : :........................ } -;; : } font height } -;; :............................................... +;; : : : : : : : :.......................... +;; : : : : : : : } font height } +;; : : : : : : :....... } +;; : : : : : : } font height / 2 } +;; : : : : : :........... } +;; : : : : : } X width } +;; : : : : :............... } +;; : : : : } font height / 2 } width +;; : : : :.................. } +;; : : : } text width } +;; : : :..................... } +;; : : } font height / 2 } +;; : :........................ } +;; : } font height + extra } +;; :................................................... ;; ;; ;; * EXCEPT @@ -1003,21 +1010,21 @@ ;; : | : : : : | : } font height / 2 } ;; : +==================+...:............................... ;; : : : : : : : : -;; : : : : : : : :...................... -;; : : : : : : : } font height } -;; : : : : : : :....... } -;; : : : : : : } font height / 2 } -;; : : : : : :........... } -;; : : : : : } Y width } -;; : : : : :............... } -;; : : : : } font height } width -;; : : : :................... } -;; : : : } X width } -;; : : :....................... } -;; : : } font height / 2 } -;; : :.......................... } -;; : } font height } -;; :................................................. +;; : : : : : : : :.......................... +;; : : : : : : : } font height } +;; : : : : : : :....... } +;; : : : : : : } font height / 2 } +;; : : : : : :........... } +;; : : : : : } Y width } +;; : : : : :............... } +;; : : : : } font height } width +;; : : : :................... } +;; : : : } X width } +;; : : :....................... } +;; : : } font height / 2 } +;; : :.......................... } +;; : } font height + extra } +;; :..................................................... ;; ;; NOTE: If Y element is empty, it's draw nothing at Y place. ;; @@ -1089,7 +1096,8 @@ ;; ---------------- ;; ;; Thanks to Drew Adams <drew.adams@oracle.com> for suggestions: -;; - `ebnf-production-name-p', `ebnf-stop-on-error', +;; - `ebnf-arrow-extra-width', `ebnf-arrow-scale', +;; `ebnf-production-name-p', `ebnf-stop-on-error', ;; `ebnf-file-suffix-regexp'and `ebnf-special-show-delimiter' variables. ;; - `ebnf-delete-style', `ebnf-eps-file' and `ebnf-eps-directory' ;; commands. @@ -1911,6 +1919,29 @@ :group 'ebnf2ps) +(defcustom ebnf-arrow-extra-width + (if (eq ebnf-arrow-shape 'none) + 0.0 + (* (sqrt 5.0) 0.65 ebnf-line-width)) + "*Specify extra width for arrow shape drawing. + +The extra width is used to avoid that the arrowhead and the terminal border +overlap. It depens on `ebnf-arrow-shape' and `ebnf-line-width'." + :type 'number + :version "22" + :group 'ebnf-shape) + + +(defcustom ebnf-arrow-scale 1.0 + "*Specify the arrow scale. + +Values lower than 1.0, shrink the arrow. +Values greater than 1.0, expand the arrow." + :type 'number + :version "22" + :group 'ebnf-shape) + + (defcustom ebnf-debug-ps nil "*Non-nil means to generate PostScript debug procedures. @@ -2859,9 +2890,9 @@ /HeightNT FontHeight FontHeight add def /T HeightT HeightNT add 0.5 mul def -/hT T 0.5 mul def -/hT2 hT 0.5 mul def -/hT4 hT 0.25 mul def +/hT T 0.5 mul def +/hT2 hT 0.5 mul ArrowScale mul def +/hT4 hT 0.25 mul ArrowScale mul def /Er 0.1 def % Error factor @@ -2947,6 +2978,7 @@ RA-vector ArrowShape get exec Gstroke moveto + ExtraWidth 0 rmoveto }def % rotation DrawArrow @@ -3245,7 +3277,7 @@ % string width prepare-width |- string /prepare-width {/width exch def - dup stringwidth pop space add space add width exch sub 0.5 mul + dup stringwidth pop space add space add width exch sub ExtraWidth sub 0.5 mul /w exch def }def @@ -4877,7 +4909,6 @@ (progn ;; adjust creator comment (end-of-line) - (backward-char) (insert " & ebnf2ps v" ebnf-version) ;; insert ebnf settings & engine (goto-char (point-max)) @@ -5066,6 +5097,10 @@ (format "/ShadowR %s def\n" (ebnf-boolean ebnf-repeat-shadow)) ;; miscellaneous + (format "/ExtraWidth %s def\n" + (ebnf-format-float ebnf-arrow-extra-width)) + (format "/ArrowScale %s def\n" + (ebnf-format-float ebnf-arrow-scale)) (format "/DefaultWidth %s def\n" (ebnf-format-float ebnf-default-width)) (format "/LineWidth %s def\n" @@ -5152,7 +5187,7 @@ (len (length (ebnf-node-name node)))) (ebnf-node-entry node (* height 0.5)) (ebnf-node-height node height) - (ebnf-node-width node (+ ebnf-basic-width space + (ebnf-node-width node (+ ebnf-basic-width ebnf-arrow-extra-width space (* len font-width) space ebnf-basic-width)))) @@ -5173,6 +5208,7 @@ ebnf-font-height-S) ebnf-space-R ebnf-space-R)) (ebnf-node-width repeat (+ (ebnf-node-width element) + ebnf-arrow-extra-width ebnf-space-R ebnf-space-R ebnf-space-R ebnf-horizontal-space (* (length times) ebnf-font-width-R))))) @@ -5194,6 +5230,7 @@ ebnf-space-E ebnf-space-E)) (ebnf-node-width except (+ (ebnf-node-width factor) (ebnf-node-width element) + ebnf-arrow-extra-width ebnf-space-E ebnf-space-E ebnf-space-E ebnf-space-E ebnf-font-width-E
--- a/lisp/progmodes/make-mode.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/progmodes/make-mode.el Tue Oct 03 05:04:21 2006 +0000 @@ -836,8 +836,8 @@ nil nil ((?$ . ".")) backward-paragraph - (font-lock-syntactic-keywords . makefile-font-lock-syntactic-keywords) - (font-lock-support-mode))) ; JIT breaks on long series of continuation lines. + (font-lock-syntactic-keywords + . makefile-font-lock-syntactic-keywords))) ;; Add-log. (make-local-variable 'add-log-current-defun-function)
--- a/lisp/progmodes/sh-script.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/progmodes/sh-script.el Tue Oct 03 05:04:21 2006 +0000 @@ -2472,34 +2472,43 @@ (point)) (skip-chars-backward " \t;") (unless (looking-at "\\s-*;;") - (skip-chars-backward "^)}];\"'`({[") - (setq c (char-before)))) - (sh-debug "stopping at %d c is %s start=%d min-point=%d" - (point) c start min-point) - (if (< (point) min-point) - (error "point %d < min-point %d" (point) min-point)) - (cond - ((looking-at "\\s-*;;") - ;; (message "Found ;; !") - ";;") - ((or (eq c ?\n) - (eq c nil) - (eq c ?\;)) - (save-excursion - ;; skip forward over white space newline and \ at eol - (skip-chars-forward " \t\n\\\\") - (sh-debug "Now at %d start=%d" (point) start) - (if (>= (point) start) - (progn - (sh-debug "point: %d >= start: %d" (point) start) - nil) - (sh-get-word)) - )) - (t - ;; c -- return a string - (char-to-string c) - )) - ))) + (skip-chars-backward "^)}];\"'`({[") + (setq c (char-before))) + (sh-debug "stopping at %d c is %s start=%d min-point=%d" + (point) c start min-point) + (if (< (point) min-point) + (error "point %d < min-point %d" (point) min-point)) + (cond + ((looking-at "\\s-*;;") + ;; (message "Found ;; !") + ";;") + ((or (eq c ?\n) + (eq c nil) + (eq c ?\;)) + (let (done kwd next + (boundary (point))) + (skip-chars-forward " \t\n\\\\") + (while (and (not done) (not (eobp))) + (if next (setq boundary next)) + ;; skip forward over white space newline and \ at eol + (sh-debug "Now at %d start=%d" (point) start) + (if (>= (point) start) + (progn + (sh-debug "point: %d >= start: %d" (point) start) + nil) + (setq kwd (sh-get-word)) + (unless (eobp) (forward-char 1)) + (if (member kwd (sh-feature sh-leading-keywords)) + (setq next (point)) + (setq done t))) + (skip-chars-forward " \t\n\\\\")) + (goto-char boundary) + kwd)) + (t + ;; c -- return a string + (char-to-string c) + )) + )))) (defun sh-this-is-a-continuation ()
--- a/lisp/ps-print.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/ps-print.el Tue Oct 03 05:04:21 2006 +0000 @@ -12,7 +12,7 @@ ;; Keywords: wp, print, PostScript ;; Time-stamp: <2005/06/27 00:57:22 vinicius> ;; Version: 6.6.7 -;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ +;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre (defconst ps-print-version "6.6.7" "ps-print.el, v 6.6.7 <2005/06/27 vinicius>
--- a/lisp/ses.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/ses.el Tue Oct 03 05:04:21 2006 +0000 @@ -237,13 +237,6 @@ ses-initial-file-trailer) "The initial contents of an empty spreadsheet.") -(defconst ses-paramlines-plist - '(ses--col-widths 2 ses--col-printers 3 ses--default-printer 4 - ses--header-row 5 ses--file-format 8 ses--numrows 9 - ses--numcols 10) - "Offsets from last cell line to various parameter lines in the data area -of a spreadsheet.") - (defconst ses-box-prop '(:box (:line-width 2 :style released-button)) "Display properties to create a raised box for cells in the header line.") @@ -255,13 +248,19 @@ column printer or a global-default printer because they invoke the column or default printer and then modify its output.") + +;;---------------------------------------------------------------------------- +;; Local variables and constants +;;---------------------------------------------------------------------------- + (eval-and-compile (defconst ses-localvars '(ses--blank-line ses--cells ses--col-printers ses--col-widths ses--curcell ses--curcell-overlay ses--default-printer ses--deferred-narrow ses--deferred-recalc ses--deferred-write ses--file-format ses--header-hscroll ses--header-row ses--header-string ses--linewidth - ses--numcols ses--numrows ses--symbolic-formulas + ses--numcols ses--numrows ses--symbolic-formulas ses--data-marker + ses--params-marker ;;Global variables that we override mode-line-process next-line-add-newlines transient-mark-mode) "Buffer-local variables used by SES.")) @@ -272,6 +271,13 @@ (make-local-variable x) (set x nil))) +(defconst ses-paramlines-plist + '(ses--col-widths -5 ses--col-printers -4 ses--default-printer -3 + ses--header-row -2 ses--file-format 1 ses--numrows 2 + ses--numcols 3) + "Offsets from 'Global parameters' line to various parameter lines in the +data area of a spreadsheet.") + ;; ;; "Side-effect variables". They are set in one function, altered in @@ -408,6 +414,7 @@ "Execute BODY repeatedly, with the variables `row' and `col' set to each cell in the range specified by CURCELL. The range is available in the variables `minrow', `maxrow', `mincol', and `maxcol'." + (declare (indent defun) (debug (form body))) (let ((cur (make-symbol "cur")) (min (make-symbol "min")) (max (make-symbol "max")) @@ -429,9 +436,6 @@ (setq col (+ ,c mincol)) ,@body)))))) -(put 'ses-dorange 'lisp-indent-function 'defun) -(def-edebug-spec ses-dorange (form body)) - ;;Support for coverage testing. (defmacro 1value (form) "For code-coverage testing, indicate that FORM is expected to always have @@ -650,7 +654,7 @@ (defun ses-update-cells (list &optional force) "Recalculate cells in LIST, checking for dependency loops. Prints progress messages every second. Dependent cells are not recalculated -if the cell's value is unchanged if FORCE is nil." +if the cell's value is unchanged and FORCE is nil." (let ((ses--deferred-recalc list) (nextlist list) (pos (point)) @@ -709,7 +713,7 @@ (defun ses-in-print-area () "Returns t if point is in print area of spreadsheet." - (eq (get-text-property (point) 'keymap) 'ses-mode-print-map)) + (<= (point) ses--data-marker)) ;;We turn off point-motion-hooks and explicitly position the cursor, in case ;;the intangible properties have gotten screwed up (e.g., when @@ -953,14 +957,16 @@ ses--default-printer, ses--numrows, or ses--numcols." (ses-widen) (let ((inhibit-point-motion-hooks t)) ;In case intangible attrs are wrong - (goto-char (point-min)) (if col - ;;It's a cell - (forward-line (+ ses--numrows 2 (* def (1+ ses--numcols)) col)) - ;;Convert def-symbol to offset - (setq def (plist-get ses-paramlines-plist def)) - (or def (signal 'args-out-of-range nil)) - (forward-line (+ (* ses--numrows (+ ses--numcols 2)) def))))) + ;;It's a cell + (progn + (goto-char ses--data-marker) + (forward-line (+ 1 (* def (1+ ses--numcols)) col))) + ;;Convert def-symbol to offset + (setq def (plist-get ses-paramlines-plist def)) + (or def (signal 'args-out-of-range nil)) + (goto-char ses--params-marker) + (forward-line def)))) (defun ses-set-parameter (def value &optional elem) "Set parameter DEF to VALUE (with undo) and write the value to the data area. @@ -1070,6 +1076,23 @@ )))) result-so-far) +(defsubst ses-relocate-symbol (sym rowcol startrow startcol rowincr colincr) + "Relocate one symbol SYM, whichs corresponds to ROWCOL (a cons of ROW and +COL). Cells starting at (STARTROW,STARTCOL) are being shifted +by (ROWINCR,COLINCR)." + (let ((row (car rowcol)) + (col (cdr rowcol))) + (if (or (< row startrow) (< col startcol)) + sym + (setq row (+ row rowincr) + col (+ col colincr)) + (if (and (>= row startrow) (>= col startcol) + (< row ses--numrows) (< col ses--numcols)) + ;;Relocate this variable + (ses-create-cell-symbol row col) + ;;Delete reference to a deleted cell + nil)))) + (defun ses-relocate-formula (formula startrow startcol rowincr colincr) "Produce a copy of FORMULA where all symbols that refer to cells in row STARTROW or above and col STARTCOL or above are altered by adding ROWINCR @@ -1114,23 +1137,6 @@ result)))) (nreverse result)))) -(defun ses-relocate-symbol (sym rowcol startrow startcol rowincr colincr) - "Relocate one symbol SYM, whichs corresponds to ROWCOL (a cons of ROW and -COL). Cells starting at (STARTROW,STARTCOL) are being shifted -by (ROWINCR,COLINCR)." - (let ((row (car rowcol)) - (col (cdr rowcol))) - (if (or (< row startrow) (< col startcol)) - sym - (setq row (+ row rowincr) - col (+ col colincr)) - (if (and (>= row startrow) (>= col startcol) - (< row ses--numrows) (< col ses--numcols)) - ;;Relocate this variable - (ses-create-cell-symbol row col) - ;;Delete reference to a deleted cell - nil)))) - (defun ses-relocate-range (range startrow startcol rowincr colincr) "Relocate one RANGE, of the form '(ses-range min max). Cells starting at (STARTROW,STARTCOL) are being shifted by (ROWINCR,COLINCR). Result is the @@ -1337,6 +1343,7 @@ (goto-char (point-max)) (search-backward ";; Local Variables:\n" nil t) (backward-list 1) + (setq ses--params-marker (point-marker)) (let ((params (condition-case nil (read (current-buffer)) (error nil)))) (or (and (= (safe-length params) 3) (numberp (car params)) @@ -1366,7 +1373,9 @@ (forward-line ses--numrows) (or (looking-at ses-print-data-boundary) (error "Missing marker between print and data areas")) - (forward-char (length ses-print-data-boundary)) + (forward-char 1) + (setq ses--data-marker (point-marker)) + (forward-char (1- (length ses-print-data-boundary))) ;;Initialize printer and symbol lists (mapc 'ses-printer-record ses-standard-printer-functions) (setq ses--symbolic-formulas nil) @@ -1573,10 +1582,7 @@ ;;We're not allowed to narrow the buffer until after-find-file has ;;read the local variables at the end of the file. Now it's safe to ;;do the narrowing. - (save-excursion - (goto-char (point-min)) - (forward-line ses--numrows) - (narrow-to-region (point-min) (point))) + (narrow-to-region (point-min) ses--data-marker) (setq ses--deferred-narrow nil)) ;;Update the modeline (let ((oldcell ses--curcell)) @@ -1803,11 +1809,17 @@ (dotimes (row ses--numrows) (insert ses--blank-line)) (insert ses-print-data-boundary) + (backward-char (1- (length ses-print-data-boundary))) + (setq ses--data-marker (point-marker)) + (forward-char (1- (length ses-print-data-boundary))) ;;Placeholders for cell data (insert (make-string (* ses--numrows (1+ ses--numcols)) ?\n)) ;;Placeholders for col-widths, col-printers, default-printer, header-row (insert "\n\n\n\n") - (insert ses-initial-global-parameters)) + (insert ses-initial-global-parameters) + (backward-char (1- (length ses-initial-global-parameters))) + (setq ses--params-marker (point-marker)) + (forward-char (1- (length ses-initial-global-parameters)))) (ses-set-parameter 'ses--col-widths ses--col-widths) (ses-set-parameter 'ses--col-printers ses--col-printers) (ses-set-parameter 'ses--default-printer ses--default-printer) @@ -2880,7 +2892,8 @@ (cons 'list result))) ;;All standard formulas are safe -(dolist (x '(ses-range ses-delete-blanks ses+ ses-average ses-select)) +(dolist (x '(ses-cell-value ses-range ses-delete-blanks ses+ ses-average + ses-select)) (put x 'side-effect-free t))
--- a/lisp/simple.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/simple.el Tue Oct 03 05:04:21 2006 +0000 @@ -128,7 +128,7 @@ :group 'next-error :version "22.1") -(defcustom next-error-highlight 0.1 +(defcustom next-error-highlight 0.5 "*Highlighting of locations in selected source buffers. If number, highlight the locus in `next-error' face for given time in seconds. If t, highlight the locus indefinitely until some other locus replaces it. @@ -141,8 +141,8 @@ :group 'next-error :version "22.1") -(defcustom next-error-highlight-no-select 0.1 - "*Highlighting of locations in non-selected source buffers. +(defcustom next-error-highlight-no-select 0.5 + "*Highlighting of locations in `next-error-no-select'. If number, highlight the locus in `next-error' face for given time in seconds. If t, highlight the locus indefinitely until some other locus replaces it. If nil, don't highlight the locus in the source buffer. @@ -1501,8 +1501,7 @@ then call `undo-more' one or more times to undo them." (or (listp pending-undo-list) (error (concat "No further undo information" - (and transient-mark-mode mark-active - " for region")))) + (and undo-in-region " for region")))) (let ((undo-in-progress t)) (setq pending-undo-list (primitive-undo n pending-undo-list)) (if (null pending-undo-list) @@ -1649,12 +1648,12 @@ ((null (car undo-elt)) ;; (nil PROPERTY VALUE BEG . END) (let ((tail (nthcdr 3 undo-elt))) - (not (or (< (car tail) end) - (> (cdr tail) start))))) + (and (< (car tail) end) + (> (cdr tail) start)))) ((integerp (car undo-elt)) ;; (BEGIN . END) - (not (or (< (car undo-elt) end) - (> (cdr undo-elt) start)))))) + (and (< (car undo-elt) end) + (> (cdr undo-elt) start))))) ;; Return the first affected buffer position and the delta for an undo element ;; delta is defined as the change in subsequent buffer positions if we *did* @@ -2659,7 +2658,7 @@ ;; This is actually used in subr.el but defcustom does not work there. (defcustom yank-excluded-properties '(read-only invisible intangible field mouse-face help-echo local-map keymap - yank-handler follow-link) + yank-handler follow-link fontified) "*Text properties to discard when yanking. The value should be a list of text properties to discard or t, which means to discard all text properties." @@ -3496,11 +3495,9 @@ (>= rbot (frame-char-height)) (<= ypos (- (frame-char-height)))) (unless lh - (let* ((wend (window-end nil t)) - (evis (or (pos-visible-in-window-p wend nil t) - (pos-visible-in-window-p (1- wend) nil t)))) - (setq rbot (nth 3 evis) - vpos (nth 5 evis)))) + (let ((wend (pos-visible-in-window-p t nil t))) + (setq rbot (nth 3 wend) + vpos (nth 5 wend)))) (cond ;; If last line of window is fully visible, move forward. ((or (null rbot) (= rbot 0)) @@ -3606,15 +3603,6 @@ (let ((inhibit-field-text-motion t)) (setq line-end (line-end-position))) (goto-char (constrain-to-field line-end (point) t t)) - ;; When moving a single line, update the goal-column - ;; if we couldn't move to the end of line due to a - ;; field boundary. Otherwise we'll get stuck at the - ;; original position during the column motion in - ;; line-move-finish. - (and (/= line-end (point)) - (= orig-arg 1) - (setq temporary-goal-column - (max temporary-goal-column (current-column)))) ;; If there's no invisibility here, move over the newline. (cond ((eobp) @@ -3681,6 +3669,7 @@ (setq repeat nil) (let (new + (old (point)) (line-beg (save-excursion (beginning-of-line) (point))) (line-end ;; Compute the end of the line @@ -3695,6 +3684,17 @@ ;; Move to the desired column. (line-move-to-column column) + + ;; Corner case: suppose we start out in a field boundary in + ;; the middle of a continued line. When we get to + ;; line-move-finish, point is at the start of a new *screen* + ;; line but the same text line; then line-move-to-column would + ;; move us backwards. Test using C-n with point on the "x" in + ;; (insert "a" (propertize "x" 'field t) (make-string 89 ?y)) + (and forward + (< (point) old) + (goto-char old)) + (setq new (point)) ;; Process intangibility within a line. @@ -3734,8 +3734,15 @@ (goto-char opoint) (let ((inhibit-point-motion-hooks nil)) (goto-char - (constrain-to-field new opoint t t - 'inhibit-line-move-field-capture))) + ;; Ignore field boundaries if the initial and final + ;; positions have the same `field' property, even if the + ;; fields are non-contiguous. This seems to be "nicer" + ;; behavior in many situations. + (if (eq (get-char-property new 'field) + (get-char-property opoint 'field)) + new + (constrain-to-field new opoint t t + 'inhibit-line-move-field-capture)))) ;; If all this moved us to a different line, ;; retry everything within that new line.
--- a/lisp/startup.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/startup.el Tue Oct 03 05:04:21 2006 +0000 @@ -779,6 +779,7 @@ (custom-reevaluate-setting 'mouse-wheel-up-event) (custom-reevaluate-setting 'file-name-shadow-mode) (custom-reevaluate-setting 'send-mail-function) + (custom-reevaluate-setting 'focus-follows-mouse) (custom-reevaluate-setting 'global-auto-composition-mode) ;; Register default TTY colors for the case the terminal hasn't a @@ -1392,7 +1393,7 @@ (if (or (window-minibuffer-p) (window-dedicated-p (selected-window))) (pop-to-buffer (current-buffer)) - (switch-to-buffer "GNU Emacs")) + (switch-to-buffer "*About GNU Emacs*")) (setq buffer-read-only nil) (erase-buffer) (if pure-space-overflow @@ -1608,7 +1609,9 @@ (error (pop-to-buffer (current-buffer)))))) ;; Unwind ... ensure splash buffer is killed (if hide-on-input - (kill-buffer "GNU Emacs"))))) + (kill-buffer "GNU Emacs") + (switch-to-buffer "GNU Emacs") + (rename-buffer "*About GNU Emacs*" t))))) (defun startup-echo-area-message () @@ -1627,8 +1630,9 @@ (defun display-splash-screen (&optional hide-on-input) "Display splash screen according to display. Fancy splash screens are used on graphic displays, -normal otherwise." - (interactive) +normal otherwise. +With a prefix argument, any user input hides the splash screen." + (interactive "P") (if (use-fancy-splash-screens-p) (fancy-splash-screens hide-on-input) (normal-splash-screen hide-on-input)))
--- a/lisp/subr.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/subr.el Tue Oct 03 05:04:21 2006 +0000 @@ -2053,7 +2053,8 @@ (defun shell-quote-argument (argument) "Quote an argument for passing as argument to an inferior shell." - (if (eq system-type 'ms-dos) + (if (or (eq system-type 'ms-dos) + (and (eq system-type 'windows-nt) (w32-shell-dos-semantics))) ;; Quote using double quotes, but escape any existing quotes in ;; the argument with backslashes. (let ((result "") @@ -2067,19 +2068,17 @@ "\\" (substring argument end (1+ end))) start (1+ end)))) (concat "\"" result (substring argument start) "\"")) - (if (eq system-type 'windows-nt) - (concat "\"" argument "\"") - (if (equal argument "") - "''" - ;; Quote everything except POSIX filename characters. - ;; This should be safe enough even for really weird shells. - (let ((result "") (start 0) end) - (while (string-match "[^-0-9a-zA-Z_./]" argument start) - (setq end (match-beginning 0) - result (concat result (substring argument start end) - "\\" (substring argument end (1+ end))) - start (1+ end))) - (concat result (substring argument start))))))) + (if (equal argument "") + "''" + ;; Quote everything except POSIX filename characters. + ;; This should be safe enough even for really weird shells. + (let ((result "") (start 0) end) + (while (string-match "[^-0-9a-zA-Z_./]" argument start) + (setq end (match-beginning 0) + result (concat result (substring argument start end) + "\\" (substring argument end (1+ end))) + start (1+ end))) + (concat result (substring argument start)))))) (defun string-or-null-p (object) "Return t if OBJECT is a string or nil. @@ -2168,11 +2167,32 @@ (let* ((handler (and (stringp string) (get-text-property 0 'yank-handler string))) (param (or (nth 1 handler) string)) - (opoint (point))) + (opoint (point)) + end) + (setq yank-undo-function t) (if (nth 0 handler) ;; FUNCTION (funcall (car handler) param) (insert param)) + (setq end (point)) + + ;; What should we do with `font-lock-face' properties? + (if font-lock-defaults + ;; No, just wipe them. + (remove-list-of-text-properties opoint end '(font-lock-face)) + ;; Convert them to `face'. + (save-excursion + (goto-char opoint) + (while (< (point) end) + (let ((face (get-text-property (point) 'font-lock-face)) + run-end) + (setq run-end + (next-single-property-change (point) 'font-lock-face nil end)) + (when face + (remove-text-properties (point) run-end '(font-lock-face nil)) + (put-text-property (point) run-end 'face face)) + (goto-char run-end))))) + (unless (nth 2 handler) ;; NOEXCLUDE (remove-yank-excluded-properties opoint (point))) (if (eq yank-undo-function t) ;; not set by FUNCTION @@ -3106,8 +3126,8 @@ (defvar version-regexp-alist '(("^[-_+ ]?a\\(lpha\\)?$" . -3) - ("^[-_+]$" . -3) ; treat "1.2.3-20050920" and "1.2-3" as alpha releases - ("^[-_+ ]cvs$" . -3) ; treat "1.2.3-CVS" as alpha release + ("^[-_+]$" . -3) ; treat "1.2.3-20050920" and "1.2-3" as alpha releases + ("^[-_+ ]cvs$" . -3) ; treat "1.2.3-CVS" as alpha release ("^[-_+ ]?b\\(eta\\)?$" . -2) ("^[-_+ ]?\\(pre\\|rc\\)$" . -1)) "*Specify association between non-numeric version part and a priority.
--- a/lisp/textmodes/ispell.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/textmodes/ispell.el Tue Oct 03 05:04:21 2006 +0000 @@ -2583,8 +2583,9 @@ (cond ((equal dict "") (ispell-internal-change-dictionary) (message "Using %s dictionary" - (or ispell-local-dictionary ispell-dictionary "default"))) - ((equal dict (or ispell-local-dictionary + (or (and (not arg) ispell-local-dictionary) + ispell-dictionary "default"))) + ((equal dict (or (and (not arg) ispell-local-dictionary) ispell-dictionary "default")) ;; Specified dictionary is the default already. Could reload ;; the dictionaries if needed.
--- a/lisp/textmodes/org.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/textmodes/org.el Tue Oct 03 05:04:21 2006 +0000 @@ -4569,7 +4569,7 @@ ;; Make the subtree visible (show-subtree) (org-end-of-subtree t) - (skip-chars-backward " \t\r\n]") + (skip-chars-backward " \t\r\n") (and (looking-at "[ \t\r\n]*") (replace-match "\n\n"))) ;; No specific heading, just go to end of file. @@ -8660,7 +8660,7 @@ (push txt rtn)) ;; if we are to skip sublevels, jump to end of subtree (point) - (or org-tags-match-list-sublevels (org-end-of-subtree)))))) + (or org-tags-match-list-sublevels (org-end-of-subtree t)))))) (when (and (eq action 'sparse-tree) (not org-sparse-tree-open-archived-trees)) (org-hide-archived-subtrees (point-min) (point-max))) @@ -9816,7 +9816,7 @@ ((fboundp 'tramp-handle-file-remote-p) (tramp-handle-file-remote-p file)) ((and (boundp 'ange-ftp-name-format) - (string-match ange-ftp-name-format file)) + (string-match (car ange-ftp-name-format) file)) t) (t nil)))
--- a/lisp/url/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/url/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,3 +1,9 @@ +2006-09-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * url-dav.el (url-dav-file-attributes): Simplify. + + * url-http.el (url-http-head-file-attributes): Add device "info". + 2006-09-18 Michael Olson <mwolson@gnu.org> * url-methods.el (url-scheme-register-proxy): Handle case where
--- a/lisp/url/url-dav.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/url/url-dav.el Tue Oct 03 05:04:21 2006 +0000 @@ -621,59 +621,56 @@ (autoload 'url-http-head-file-attributes "url-http") (defun url-dav-file-attributes (url &optional id-format) - (let ((properties (cdar (url-dav-get-properties url))) - (attributes nil)) + (let ((properties (cdar (url-dav-get-properties url)))) (if (and properties (url-dav-http-success-p (plist-get properties 'DAV:status))) ;; We got a good DAV response back.. - (setq attributes - (list - ;; t for directory, string for symbolic link, or nil - ;; Need to support DAV Bindings to figure out the - ;; symbolic link issues. - (if (memq 'DAV:collection (plist-get properties 'DAV:resourcetype)) t nil) + (list + ;; t for directory, string for symbolic link, or nil + ;; Need to support DAV Bindings to figure out the + ;; symbolic link issues. + (if (memq 'DAV:collection (plist-get properties 'DAV:resourcetype)) t nil) - ;; Number of links to file... Needs DAV Bindings. - 1 + ;; Number of links to file... Needs DAV Bindings. + 1 - ;; File uid - no way to figure out? - 0 + ;; File uid - no way to figure out? + 0 - ;; File gid - no way to figure out? - 0 + ;; File gid - no way to figure out? + 0 - ;; Last access time - ??? - nil + ;; Last access time - ??? + nil - ;; Last modification time - (plist-get properties 'DAV:getlastmodified) + ;; Last modification time + (plist-get properties 'DAV:getlastmodified) - ;; Last status change time... just reuse last-modified - ;; for now. - (plist-get properties 'DAV:getlastmodified) + ;; Last status change time... just reuse last-modified + ;; for now. + (plist-get properties 'DAV:getlastmodified) - ;; size in bytes - (or (plist-get properties 'DAV:getcontentlength) 0) + ;; size in bytes + (or (plist-get properties 'DAV:getcontentlength) 0) - ;; file modes as a string like `ls -l' - ;; - ;; Should be able to build this up from the - ;; DAV:supportedlock attribute pretty easily. Getting - ;; the group info could be impossible though. - (url-dav-file-attributes-mode-string properties) + ;; file modes as a string like `ls -l' + ;; + ;; Should be able to build this up from the + ;; DAV:supportedlock attribute pretty easily. Getting + ;; the group info could be impossible though. + (url-dav-file-attributes-mode-string properties) - ;; t iff file's gid would change if it were deleted & - ;; recreated. No way for us to know that thru DAV. - nil + ;; t iff file's gid would change if it were deleted & + ;; recreated. No way for us to know that thru DAV. + nil - ;; inode number - meaningless - nil + ;; inode number - meaningless + nil - ;; device number - meaningless - nil)) + ;; device number - meaningless + nil) ;; Fall back to just the normal http way of doing things. - (setq attributes (url-http-head-file-attributes url id-format))) - attributes)) + (url-http-head-file-attributes url id-format)))) (defun url-dav-save-resource (url obj &optional content-type lock-token) "Save OBJ as URL using WebDAV.
--- a/lisp/url/url-http.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/url/url-http.el Tue Oct 03 05:04:21 2006 +0000 @@ -1151,19 +1151,19 @@ (defalias 'url-http-file-readable-p 'url-http-file-exists-p) (defun url-http-head-file-attributes (url &optional id-format) - (let ((buffer (url-http-head url)) - (attributes nil)) + (let ((buffer (url-http-head url))) (when buffer - (setq attributes (make-list 11 nil)) - (setf (nth 1 attributes) 1) ; Number of links to file - (setf (nth 2 attributes) 0) ; file uid - (setf (nth 3 attributes) 0) ; file gid - (setf (nth 7 attributes) ; file size - (url-http-symbol-value-in-buffer 'url-http-content-length - buffer -1)) - (setf (nth 8 attributes) (eval-when-compile (make-string 10 ?-))) - (kill-buffer buffer)) - attributes)) + (prog1 + (list + nil ;dir / link / normal file + 1 ;number of links to file. + 0 0 ;uid ; gid + nil nil nil ;atime ; mtime ; ctime + (url-http-symbol-value-in-buffer 'url-http-content-length + buffer -1) + (eval-when-compile (make-string 10 ?-)) + nil nil nil) ;whether gid would change ; inode ; device. + (kill-buffer buffer))))) ;;;###autoload (defun url-http-file-attributes (url &optional id-format)
--- a/lisp/wid-edit.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/wid-edit.el Tue Oct 03 05:04:21 2006 +0000 @@ -912,6 +912,10 @@ ;; backward-compatibility alias (put 'widget-button-pressed-face 'face-alias 'widget-button-pressed) +(defvar widget-button-click-moves-point nil + "If non-nil, `widget-button-click' moves point to a button after invoking it. +If nil, point returns to its original position after invoking a button.") + (defun widget-button-click (event) "Invoke the button that the mouse is pointing at." (interactive "e") @@ -922,7 +926,8 @@ (start (event-start event)) (button (get-char-property pos 'button (and (windowp (posn-window start)) - (window-buffer (posn-window start)))))) + (window-buffer (posn-window start))))) + newpoint) (when (or (null button) (catch 'button-press-cancelled ;; Mouse click on a widget button. Do the following @@ -974,12 +979,15 @@ ;; When mouse is released over the button, run ;; its action function. - (when (and pos - (eq (get-char-property pos 'button) button)) - (widget-apply-action button event))) + (when (and pos (eq (get-char-property pos 'button) button)) + (goto-char pos) + (widget-apply-action button event) + (if widget-button-click-moves-point + (setq newpoint (point))))) (overlay-put overlay 'face face) (overlay-put overlay 'mouse-face mouse-face)))) + (if newpoint (goto-char newpoint)) ;; This loses if the widget action switches windows. -- cyd ;; (unless (pos-visible-in-window-p (widget-event-point event)) ;; (mouse-set-point event)
--- a/lisp/woman.el Mon Oct 02 08:05:25 2006 +0000 +++ b/lisp/woman.el Tue Oct 03 05:04:21 2006 +0000 @@ -438,6 +438,7 @@ (eval-when-compile ; to avoid compiler warnings (require 'dired) + (require 'cl) (require 'apropos)) (defun woman-mapcan (fn x) @@ -2467,6 +2468,7 @@ (woman0-search-regex (concat woman0-search-regex-start woman0-search-regex-end)) woman0-rename-alist) + (set-marker-insertion-type woman0-if-to t) (while (re-search-forward woman0-search-regex nil t) (setq request (match-string 1)) (cond ((string= request "ig") (woman0-ig)) @@ -2540,7 +2542,7 @@ ;; String delimiter can be any non-numeric character, ;; including a special character escape: (looking-at "\\(\\\\(..\\|[^0-9]\\)\\(.*\\)\\1\\(.*\\)\\1\\'")) - (let ((end1 (copy-marker (match-end 2)))) ; end of first string + (let ((end1 (copy-marker (match-end 2) t))) ; End of first string. ;; Delete 2nd and 3rd delimiters to avoid processing them: (delete-region (match-end 3) woman0-if-to) (delete-region (match-end 2) (match-beginning 3)) @@ -2655,10 +2657,9 @@ (error "File `%s' not found" name)) (beginning-of-line) (woman-delete-line 1) - (let ((from (point)) - (to (make-marker)) - (length (woman-insert-file-contents filename 0))) - (set-marker to (+ from length)) + (let* ((from (point)) + (length (woman-insert-file-contents filename 0)) + (to (copy-marker (+ from length) t))) (woman-pre-process-region from to) (set-marker to nil) (goto-char from) @@ -3442,9 +3443,7 @@ (defsubst woman2-process-escapes-to-eol (&optional numeric) "Process remaining escape sequences up to eol. Handle numeric arguments specially if optional argument NUMERIC is non-nil." - (woman2-process-escapes - (save-excursion (end-of-line) (point-marker)) - numeric)) + (woman2-process-escapes (copy-marker (line-end-position) t) numeric)) (defun woman2-nr (to) ".nr R +/-N M -- Assign +/-N (wrt to previous value, if any) to register R. @@ -3645,6 +3644,7 @@ (woman-registers woman-registers) fn request translations tab-stop-list) + (set-marker-insertion-type to t) ;; ?roff does not squeeze multiple spaces, but does fill, so... (fset 'canonically-space-region 'ignore) ;; Try to avoid spaces inheriting underlines from preceding text! @@ -3687,7 +3687,8 @@ ;; Call the appropriate function: (funcall fn to))) (if (not (eobp)) ; This should not happen, but ... - (woman2-format-paragraphs (point-max-marker) woman-left-margin)) + (woman2-format-paragraphs (copy-marker (point-max) t) + woman-left-margin)) (fset 'canonically-space-region canonically-space-region) (fset 'set-text-properties set-text-properties) (fset 'insert-and-inherit insert-and-inherit) @@ -3899,6 +3900,7 @@ (defun woman2-process-escapes (to &optional numeric) "Process remaining escape sequences up to marker TO, preserving point. Optional argument NUMERIC, if non-nil, means the argument is numeric." + (assert (and (markerp to) (marker-insertion-type to))) ;; The first two cases below could be merged (maybe)! (let ((from (point))) ;; Discard zero width filler character used to hide leading dots @@ -3968,15 +3970,13 @@ (delete-char -1) (delete-char 1) (looking-at "\\(.\\)\\(.*\\)\\1") - (let ((to (make-marker)) from N c) - (set-marker to (match-end 2)) - (delete-char 1) - (setq from (point) - N (woman-parse-numeric-arg)) - (setq c (if (< (point) to) (following-char) ?_)) + (forward-char 1) + (let* ((to (match-end 2)) + (from (match-beginning 0)) + (N (woman-parse-numeric-arg)) + (c (if (< (point) to) (following-char) ?_))) (delete-region from to) (delete-char 1) - (set-marker to nil) (insert (make-string N c)) ))
--- a/lispref/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/lispref/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,3 +1,41 @@ +2006-09-29 Juri Linkov <juri@jurta.org> + + * modes.texi (%-Constructs): Reorder coding systems in the + documentation of %z to the real order displayed in the modeline. + +2006-09-25 Richard Stallman <rms@gnu.org> + + * os.texi (Timers): Describe timer-max-repeats. + +2006-09-25 Chong Yidong <cyd@stupidchicken.com> + + * os.texi (Timers): Mention with-local-quit. + +2006-09-24 Richard Stallman <rms@gnu.org> + + * searching.texi (Searching and Matching): Mention property search. + + * commands.texi (Command Loop Info): Explain how read-event affects + this-command-keys. + +2006-09-21 Kim F. Storm <storm@cua.dk> + + * lists.texi (Sets And Lists): Add memql. + +2006-09-20 Richard Stallman <rms@gnu.org> + + * os.texi (Timers): Clarify about REPEAT when timer is delayed. + + * windows.texi (Window Start): Minor cleanups. + +2006-09-20 Kim F. Storm <storm@cua.dk> + + * windows.texi (Window Start): pos-visible-in-window-p allows + specifying t for position to mean "end of window". + Add window-line-height. + + * anti.texi (Antinews): Mention window-line-height. + 2006-09-19 David Kastrup <dak@gnu.org> * keymaps.texi (Searching Keymaps): Small clarification.
--- a/lispref/anti.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/lispref/anti.texi Tue Oct 03 05:04:21 2006 +0000 @@ -325,7 +325,8 @@ think in terms of lines and columns, not pixel coordinates. (Sometime in the distant past, we will do away with graphical terminals entirely, in favor of text terminals.) For similar reasons, the -functions @code{posn-at-point} and @code{posn-at-x-y} have been removed, and +functions @code{posn-at-point}, @code{posn-at-x-y}, and +@code{window-line-height} have been removed, and @code{pos-visible-in-window-p} no longer worries about partially visible rows.
--- a/lispref/commands.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/lispref/commands.texi Tue Oct 03 05:04:21 2006 +0000 @@ -788,11 +788,13 @@ @anchor{Definition of this-command-keys} This function returns a string or vector containing the key sequence that invoked the present command, plus any previous commands that -generated the prefix argument for this command. However, if the -command has called @code{read-key-sequence}, it returns the last read -key sequence. @xref{Key Sequence Input}. The value is a string if -all events in the sequence were characters that fit in a string. -@xref{Input Events}. +generated the prefix argument for this command. Any events read by the +command using @code{read-event} without a timeout get tacked on to the end. + +However, if the command has called @code{read-key-sequence}, it +returns the last read key sequence. @xref{Key Sequence Input}. The +value is a string if all events in the sequence were characters that +fit in a string. @xref{Input Events}. @example @group
--- a/lispref/modes.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/lispref/modes.texi Tue Oct 03 05:04:21 2006 +0000 @@ -1966,7 +1966,7 @@ File Types}). @item %z -The mnemonics of buffer, terminal, and keyboard coding systems. +The mnemonics of keyboard, terminal, and buffer coding systems. @item %Z Like @samp{%z}, but including the end-of-line format.
--- a/lispref/os.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/lispref/os.texi Tue Oct 03 05:04:21 2006 +0000 @@ -1386,7 +1386,12 @@ things in an inconsistent state. This is normally unproblematical because most timer functions don't do a lot of work. Indeed, for a timer to call a function that takes substantial time to run is likely -to be annoying. +to be annoying. If a timer function needs to allow quitting, it +should use @code{with-local-quit} (@pxref{Quitting}). For example, if +a timer function calls @code{accept-process-output} to receive output +from an external process, that call should be wrapped inside +@code{with-local-quit}, to ensure that @kbd{C-g} works if the external +process hangs. It is usually a bad idea for timer functions to alter buffer contents. When they do, they usually should call @code{undo-boundary} @@ -1407,9 +1412,9 @@ @deffn Command run-at-time time repeat function &rest args This sets up a timer that calls the function @var{function} with arguments @var{args} at time @var{time}. If @var{repeat} is a number -(integer or floating point), the timer also runs every @var{repeat} -seconds after that. If @var{repeat} is @code{nil}, the timer runs -only once. +(integer or floating point), the timer is scheduled to run again every +@var{repeat} seconds after @var{time}. If @var{repeat} is @code{nil}, +the timer runs only once. @var{time} may specify an absolute or a relative time. @@ -1458,6 +1463,23 @@ @code{cancel-timer} (see below). @end deffn + A repeating timer nominally ought to run every @var{repeat} seconds, +but remember that any invocation of a timer can be late. Lateness of +one repetition has no effect on the scheduled time of the next +repetition. For instance, if Emacs is busy computing for long enough +to cover three scheduled repetitions of the timer, and then starts to +wait, it will immediately call the timer function three times in +immediate succession (presuming no other timers trigger before or +between them). If you want a timer to run again no less than @var{n} +seconds after the last invocation, don't use the @var{repeat} argument. +Instead, the timer function should explicitly reschedule the timer. + +@defvar timer-max-repeats +This variable's value specifies the maximum number of times to repeat +calling a timer function in a row, when many previously scheduled +calls were unavoidably delayed. +@end defvar + @defmac with-timeout (seconds timeout-forms@dots{}) body@dots{} Execute @var{body}, but give up after @var{seconds} seconds. If @var{body} finishes before the time is up, @code{with-timeout} returns
--- a/lispref/searching.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/lispref/searching.texi Tue Oct 03 05:04:21 2006 +0000 @@ -27,7 +27,8 @@ @end menu The @samp{skip-chars@dots{}} functions also perform a kind of searching. -@xref{Skipping Characters}. +@xref{Skipping Characters}. To search for changes in character +properties, see @ref{Property Search}. @node String Search @section Searching for Strings
--- a/lispref/windows.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/lispref/windows.texi Tue Oct 03 05:04:21 2006 +0000 @@ -1355,6 +1355,9 @@ @var{position} defaults to the current position of point in @var{window}; @var{window}, to the selected window. +If @var{position} is @code{t}, that means to check the last visible +position in @var{window}. + The @code{pos-visible-in-window-p} function considers only vertical scrolling. If @var{position} is out of view only because @var{window} has been scrolled horizontally, @code{pos-visible-in-window-p} returns @@ -1368,7 +1371,7 @@ corner of the window; otherwise it returns an extended list of the form @code{(@var{x} @var{y} @var{rtop} @var{rbot} @var{rowh} @var{vpos})}, where the @var{rtop} and @var{rbot} specify the number -of invisible pixels at the top and bottom of the row at +of off-window pixels at the top and bottom of the row at @var{position}, @var{rowh} specifies the visible height of that row, and @var{vpos} specifies the vertical position (zero-based row number) of that row. @@ -1385,6 +1388,30 @@ @end example @end defun +@defun window-line-height &optional line window +This function returns information about text line @var{line} in @var{window}. +If @var{line} is one of @code{header-line} or @code{mode-line}, +@code{window-line-height} returns information about the corresponding +line of the window. Otherwise, @var{line} is a text line number +starting from 0. A negative number counts from the end of the window. +The argument @var{line} defaults to the current line in @var{window}; +@var{window}, to the selected window. + +If the display is not up to date, @code{window-line-height} returns +@code{nil}. In that case, @code{pos-visible-in-window-p} may be used +to obtain related information. + +If there is no line corresponding to the specified @var{line}, +@code{window-line-height} returns @code{nil}. Otherwise, it returns +a list @code{(@var{height} @var{vpos} @var{ypos} @var{offbot})}, +where @var{height} is the height in pixels of the visible part of the +line, @var{vpos} and @var{ypos} are the vertical position in lines and +pixels of the line relative to the top of the first text line, and +@var{offbot} is the number of off-window pixels at the bottom of the +text line. If there are off-window pixels at the top of the (first) +text line, @var{ypos} is negative. +@end defun + @node Textual Scrolling @section Textual Scrolling @cindex textual scrolling
--- a/man/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/man/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,3 +1,30 @@ +2006-10-02 Reiner Steib <Reiner.Steib@gmx.de> + + * gnus.texi (Foreign Groups): Say where change of editing commands are + stored. Add reference to `gnus-parameters'. + +2006-10-01 Karl Berry <karl@gnu.org> + + * custom.texi (Customization Groups): page break to keep example buffer + on one page. + +2006-09-30 Karl Berry <karl@gnu.org> + + * programs.texi (Basic Indent): @need to improve page break. + * text.texi: rewording to improve page breaks, and use @LaTeX{}. + +2006-09-29 Glenn Morris <rgm@gnu.org> + + * calendar.texi (Date Formats): Doc fix for european-calendar-style. + +2006-09-29 Karl Berry <karl@gnu.org> + + * windows.texi (Basic Window): remove forced @break, no longer + desirable. + * frames.texi (Frame Commands), + * mark.texi (Marking Objects): reword to avoid bad page break. + * display.texi (Auto Scrolling): use @tie{} to avoid bad line break. + 2006-09-19 Richard Stallman <rms@gnu.org> * frames.texi (Dialog Boxes): Clean up wording: avoid passive,
--- a/man/calendar.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/man/calendar.texi Tue Oct 03 05:04:21 2006 +0000 @@ -1204,11 +1204,12 @@ If you prefer the European style of writing dates---in which the day comes before the month---type @kbd{M-x european-calendar} while in the calendar, or set the variable @code{european-calendar-style} to @code{t} -@emph{before} using any calendar or diary command. This mode interprets -all dates in the diary in the European manner, and also uses European -style for displaying diary dates. (Note that there is no comma after -the @var{monthname} in the European style.) To go back to the (default) -American style of writing dates, type @kbd{M-x american-calendar}. +with @kbd{M-x customize}, or @emph{before} using any calendar or diary +command. This mode interprets all dates in the diary in the European +manner, and also uses European style for displaying diary dates. (Note +that there is no comma after the @var{monthname} in the European style.) +To go back to the (default) American style of writing dates, type +@kbd{M-x american-calendar}. You can use the name of a day of the week as a generic date which applies to any date falling on that day of the week. You can abbreviate
--- a/man/custom.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/man/custom.texi Tue Oct 03 05:04:21 2006 +0000 @@ -231,7 +231,11 @@ top-level @code{Emacs} group and the second-level groups immediately under it. It looks like this, in part: +@c we want the buffer example to all be on one page, but unfortunately +@c that's quite a bit of text, so force all space to the bottom. +@page @smallexample +@group /- Emacs group: ---------------------------------------------------\ [State]: visible group members are all at standard values. Customization of the One True Editor. @@ -246,7 +250,7 @@ @var{more second-level groups} \- Emacs group end ------------------------------------------------/ - +@end group @end smallexample @noindent
--- a/man/display.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/man/display.texi Tue Oct 03 05:04:21 2006 +0000 @@ -167,7 +167,7 @@ number @var{n}, then if you move point just a little off the screen---less than @var{n} lines---then Emacs scrolls the text just far enough to bring point back on screen. By default, -@code{scroll-conservatively} is 0. +@code{scroll-conservatively} is@tie{}0. @cindex aggressive scrolling @vindex scroll-up-aggressively
--- a/man/ebrowse.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/man/ebrowse.texi Tue Oct 03 05:04:21 2006 +0000 @@ -59,7 +59,7 @@ @end ifnottex @menu -* Overview:: What is it and now does it work? +* Overview:: What is it and how does it work? * Generating browser files:: How to process C++ source files * Loading a Tree:: How to start browsing * Tree Buffers:: Traversing class hierarchies
--- a/man/frames.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/man/frames.texi Tue Oct 03 05:04:21 2006 +0000 @@ -516,13 +516,13 @@ @kindex C-z @r{(X windows)} @findex iconify-or-deiconify-frame Iconify the selected Emacs frame (@code{iconify-or-deiconify-frame}). +When typed on an Emacs frame's icon, deiconify instead. + The normal meaning of @kbd{C-z}, to suspend Emacs, is not useful under a graphical display that allows multiple applications to operate simultaneously in their own windows, so Emacs gives @kbd{C-z} a different binding in that case. -If you type this command on an Emacs frame's icon, it deiconifies the frame. - @item C-x 5 0 @kindex C-x 5 0 @findex delete-frame
--- a/man/gnus.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/man/gnus.texi Tue Oct 03 05:04:21 2006 +0000 @@ -2495,6 +2495,10 @@ groups under point---@code{gnus-subscribe-newsgroup-method} is not consulted. +Changes from the group editing commands are stored in +@file{~/.newsrc.eld} (@code{gnus-startup-file}). An alternative is the +variable @code{gnus-parameters}, @xref{Group Parameters}. + @table @kbd @item G m
--- a/man/mark.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/man/mark.texi Tue Oct 03 05:04:21 2006 +0000 @@ -334,11 +334,11 @@ @kbd{M-@@} (@code{mark-word}) puts the mark at the end of the next word, while @kbd{C-M-@@} (@code{mark-sexp}) puts it at the end of the next balanced expression (@pxref{Expressions}). These commands handle -arguments just like @kbd{M-f} and @kbd{C-M-f}. If you repeat these -commands, that extends the region. For example, you can type either -@kbd{C-u 2 M-@@} or @kbd{M-@@ M-@@} to mark the next two words. This -command also extends the region when the mark is active in Transient -Mark mode, regardless of the last command. +arguments just like @kbd{M-f} and @kbd{C-M-f}. Repeating these +commands extends the region. For example, you can type either +@kbd{C-u 2 M-@@} or @kbd{M-@@ M-@@} to mark the next two words. These +commands also extend the region in Transient Mark mode, regardless of +the last command. @kindex C-x h @findex mark-whole-buffer @@ -347,7 +347,7 @@ the beginning of the paragraph that surrounds or follows point, and puts the mark at the end of that paragraph (@pxref{Paragraphs}). It prepares the region so you can indent, case-convert, or kill a whole -paragraph. With prefix argument, if the argument's value is positive, +paragraph. With a prefix argument, if the argument's value is positive, @kbd{M-h} marks that many paragraphs starting with the one surrounding point. If the prefix argument is @minus{}@var{n}, @kbd{M-h} also marks @var{n} paragraphs, running back form the one surrounding point.
--- a/man/programs.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/man/programs.texi Tue Oct 03 05:04:21 2006 +0000 @@ -366,6 +366,7 @@ The basic indentation commands indent a single line according to the usual conventions of the language you are editing. +@need 1000 @table @kbd @item @key{TAB} Adjust indentation of current line.
--- a/man/texinfo.tex Mon Oct 02 08:05:25 2006 +0000 +++ b/man/texinfo.tex Tue Oct 03 05:04:21 2006 +0000 @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2006-07-17.16} +\def\texinfoversion{2006-08-26.17} % % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free @@ -2301,6 +2301,10 @@ }$% } +% @textdegree - the normal degrees sign. +% +\def\textdegree{$^\circ$} + % Laurent Siebenmann reports \Orb undefined with: % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 % so we'll define it if necessary. @@ -3524,6 +3528,7 @@ \definedummyword\point \definedummyword\print \definedummyword\result + \definedummyword\textdegree % % We want to disable all macros so that they are not expanded by \write. \macrolist @@ -3657,6 +3662,7 @@ \def\point{.}% \def\print{-|}% \def\result{=>}% + \def\textdegree{degrees}% % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now.
--- a/man/text.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/man/text.texi Tue Oct 03 05:04:21 2006 +0000 @@ -34,10 +34,10 @@ @end iftex For text which contains embedded commands for text formatters, Emacs -has other major modes, each for a particular text formatter. Thus, for +has other major modes, each for a particular formatter. Thus, for input to @TeX{}, you would use @TeX{} @iftex -mode (@pxref{TeX Mode}). +mode (@pxref{TeX Mode,,@TeX{} Mode}). @end iftex @ifnottex mode. @@ -106,7 +106,7 @@ @item M-@@ Mark the end of the next word (@code{mark-word}). @item M-t -Transpose two words or drag a word across other words +Transpose two words or drag a word across others (@code{transpose-words}). @end table @@ -156,7 +156,7 @@ containing point with the following word. The delimiter characters between the words do not move. For example, @w{@samp{FOO, BAR}} transposes into @w{@samp{BAR, FOO}} rather than @samp{@w{BAR FOO,}}. @xref{Transpose}, for -more on transposition and on arguments to transposition commands. +more on transposition. @kindex M-@@ @findex mark-word @@ -230,7 +230,7 @@ It is useful to follow this convention, because it makes a distinction between periods that end a sentence and periods that indicate abbreviations; that enables the Emacs sentence commands to distinguish, -too. These commands to not stop for periods that indicate abbreviations. +too. These commands do not stop for periods that indicate abbreviations. @vindex sentence-end-double-space If you want to use just one space between sentences, you can set the @@ -253,10 +253,10 @@ for this purpose. @vindex sentence-end-without-period - Some languages do not use period to indicate end of sentence. For -example, a sentence in Thai text ends with double space but without a + Some languages do not use periods to indicate the end of a sentence. +For example, sentences in Thai end with a double space but without a period. Set the variable @code{sentence-end-without-period} to -@code{t} to tell the sentence commands that a period is not necessary. +@code{t} in such cases. @node Paragraphs @section Paragraphs @@ -267,7 +267,7 @@ @findex backward-paragraph @findex forward-paragraph - The Emacs commands for manipulating paragraphs are also Meta keys. + The Emacs commands for manipulating paragraphs are also on Meta keys. @table @kbd @item M-@{ @@ -938,7 +938,7 @@ Emacs provides two other modes for editing text that is to be passed through a text formatter to produce fancy formatted printed output. @xref{Nroff Mode}, for editing input to the formatter nroff. -@xref{TeX Mode}, for editing input to the formatter TeX. +@xref{TeX Mode,,@TeX{} Mode}, for editing input to the formatter TeX. Another mode is used for editing outlines. It allows you to view the text at various levels of detail. You can view either the outline @@ -1373,10 +1373,10 @@ also free software, like GNU Emacs. La@TeX{} is a simplified input format for @TeX{}, implemented by @TeX{} macros; it comes with @TeX{}. Sli@TeX{} is a special form of La@TeX{}.@footnote{Sli@TeX{} is -obsoleted by the @samp{slides} document class in recent La@TeX{} -versions.} Doc@TeX{} (@file{.dtx}) is a special file format in which -the La@TeX{} sources are written, combining sources with -documentation. +obsoleted by the @samp{slides} document class and other alternative +packages in recent La@TeX{} versions.} Doc@TeX{} (@file{.dtx}) is a +special file format in which the La@TeX{} sources are written, +combining sources with documentation. Emacs has a special @TeX{} mode for editing @TeX{} input files. It provides facilities for checking the balance of delimiters and for @@ -2356,8 +2356,8 @@ Normally, Emacs knows when you are editing formatted text because it recognizes the special annotations used in the file that you visited. -However, there are situations in which you must take special actions -to convert file contents or turn on Enriched mode: +However, sometimes you must take special actions to convert file +contents or turn on Enriched mode: @itemize @bullet @item @@ -2398,6 +2398,7 @@ text-based tables. Here is an example of such a table: @smallexample +@group +-----------------+--------------------------------+-----------------+ | Command | Description | Key Binding | +-----------------+--------------------------------+-----------------+ @@ -2414,6 +2415,7 @@ | |end of buffer, stop and signal | | | |error. | | +-----------------+--------------------------------+-----------------+ +@end group @end smallexample Table mode allows the contents of the table such as this one to be @@ -2800,6 +2802,7 @@ @c sticks out to accommodate for the removal of @samp in the @c produced output!! @smallexample +@group +-----------------------------------------------------------------+ |@samp{table-capture} is a powerful command, but mastering its | |power requires some practice. Here are some things it can do: | @@ -2816,6 +2819,7 @@ | the specified region is placed in that | | cell. | +-----------------------------------------------------------------+ +@end group @end smallexample @noindent
--- a/man/windows.texi Mon Oct 02 08:05:25 2006 +0000 +++ b/man/windows.texi Tue Oct 03 05:04:21 2006 +0000 @@ -64,10 +64,6 @@ displayed in the window. The selected window's mode line appears in a different color. @xref{Mode Line}, for full details on the mode line. -@iftex -@break -@end iftex - @node Split Window @section Splitting Windows
--- a/nt/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/nt/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,3 +1,11 @@ +2006-09-24 Eli Zaretskii <eliz@gnu.org> + + * config.nt (HAVE_LANGINFO_CODESET): Define. + + * inc/langinfo.h: New file. + + * inc/nl_types.h: New file. + 2006-09-15 Jay Belanger <belanger@truman.edu> * COPYING: Replace "Library Public License" by "Lesser Public
--- a/nt/config.nt Mon Oct 02 08:05:25 2006 +0000 +++ b/nt/config.nt Tue Oct 03 05:04:21 2006 +0000 @@ -251,6 +251,7 @@ #define HAVE_SETSOCKOPT 1 #define HAVE_GETSOCKNAME 1 #define HAVE_GETPEERNAME 1 +#define HAVE_LANGINFO_CODESET 1 /* Local (unix) sockets are not supported. */ #undef HAVE_SYS_UN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nt/inc/langinfo.h Tue Oct 03 05:04:21 2006 +0000 @@ -0,0 +1,64 @@ +/* Replacement langinfo.h file for building GNU Emacs on Windows. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Emacs. + +GNU Emacs is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ + +#ifndef _LANGINFO_H +#define _LANGINFO_H + +#include <nl_types.h> + +enum { + CODESET, + DAY_1, DAY_2, DAY_3, DAY_4, DAY_5, DAY_6, DAY_7, + MON_1, MON_2, MON_3, MON_4, MON_5, MON_6, MON_7, MON_8, MON_9, MON_10, + MON_11, MON_12, + + /* Number of enumerated values. */ + _NL_NUM +}; + +#define CODESET CODESET + +#define DAY_1 DAY_1 +#define DAY_2 DAY_2 +#define DAY_3 DAY_3 +#define DAY_4 DAY_4 +#define DAY_5 DAY_5 +#define DAY_6 DAY_6 +#define DAY_7 DAY_7 + +#define MON_1 MON_1 +#define MON_2 MON_2 +#define MON_3 MON_3 +#define MON_4 MON_4 +#define MON_5 MON_5 +#define MON_6 MON_6 +#define MON_7 MON_7 +#define MON_8 MON_8 +#define MON_9 MON_9 +#define MON_10 MON_10 +#define MON_11 MON_11 +#define MON_12 MON_12 + +extern char *nl_langinfo (nl_item); + +#endif /* _LANGINFO_H */ + +/* arch-tag: a8917b7c-fb2c-4685-902b-742d0f67661b + (do not change this comment) */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nt/inc/nl_types.h Tue Oct 03 05:04:21 2006 +0000 @@ -0,0 +1,29 @@ +/* Replacement nl_types.h file for building GNU Emacs on Windows. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Emacs. + +GNU Emacs is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ + +#ifndef _NL_TYPES_H +#define _NL_TYPES_H + +typedef int nl_item; + +#endif /* _NL_TYPES_H */ + +/* arch-tag: 518aa765-b846-4a7a-a862-95fd022928a1 + (do not change this comment) */
--- a/src/ChangeLog Mon Oct 02 08:05:25 2006 +0000 +++ b/src/ChangeLog Tue Oct 03 05:04:21 2006 +0000 @@ -1,3 +1,121 @@ +2006-10-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * xdisp.c (handle_fontified_prop): Don't fontify at EOB. + +2006-09-30 Eli Zaretskii <eliz@gnu.org> + + * config.in Regenerated. + +2006-09-29 Juri Linkov <juri@jurta.org> + + * buffer.c (syms_of_buffer): Reorder coding systems in the + docstring of %z to the real order displayed in the modeline. + +2006-09-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * keymap.c (Fdefine_key): Yet another int/Lisp_Object mixup (YAILOM). + +2006-09-26 Chong Yidong <cyd@stupidchicken.com> + + * indent.c (Fvertical_motion): Do move back if the Lisp string + being displayed contains newlines. + +2006-09-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * macterm.c (mac_compute_glyph_string_overhangs, XLoadQueryFont) + [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw before QDTextBounds. + +2006-09-26 Kenichi Handa <handa@m17n.org> + + * keymap.c (Fsingle_key_description): For an invalid char, return + "Invalid char code NNNNN". + +2006-09-25 Chong Yidong <cyd@stupidchicken.com> + + * callint.c (Fcall_interactively): Doc fix. + +2006-09-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * macterm.c (x_underline_at_descent_line): New variable. + (syms_of_macterm): DEFVAR_BOOL it. + (x_draw_glyph_string): Use it. + (XLoadQueryFont): Calculate min_bounds.descent and max_bounds.descent. + +2006-09-25 Kenichi Handa <handa@m17n.org> + + * keymap.c (Fsingle_key_description): Return unique names for + generic characters. + +2006-09-24 Richard Stallman <rms@gnu.org> + + * search.c (compile_pattern_1): Don't BLOCK_INPUT. + +2006-09-24 Eli Zaretskii <eliz@gnu.org> + + * makefile.w32-in ($(BLD)/fns.$(O), $(BLD)/w32proc.$(O)): Depend + on nt/inc/langinfo.h and nt/inc/nl_types.h. + + * w32proc.c (nl_langinfo): New function. + + * w32fns.c (w32-pass-alt-to-system, w32-alt-is-meta) + (w32-pass-lwindow-to-system, w32-enable-num-lock) + (w32-enable-caps-lock, w32-scroll-lock-modifier) + (w32-lwindow-modifier, w32-rwindow-modifier) + (w32-apps-modifier, w32-mouse-button-tolerance): Doc fix. + +2006-09-23 Juanma Barranquero <lekktu@gmail.com> + + * minibuf.c (Finternal_complete_buffer, Fread_minibuffer) + (Fdisplay_completion_list): Fix typos in docstrings. + +2006-09-23 Romain Francoise <romain@orebokech.com> + + * s/gnu-linux.h (MAIL_USE_FLOCK): Check for HAVE_LIBLOCKFILE too. + +2006-09-23 Kenichi Handa <handa@m17n.org> + + * keymap.c (Fmap_keymap): Docstring mentions about generic character. + +2006-09-22 Stefan Monnier <monnier@iro.umontreal.ca> + + * regex.c (analyse_first): For eight-bit-control chars, mark both the + char's value and its leading byte in the fastmap. + (re_search_2): When fast-scanning without translation, be careful to + check that we only match the leading byte of a multibyte char. + + * charset.h (PREV_CHAR_BOUNDARY): Make it work from within a char's + byte sequence. + (AT_CHAR_BOUNDARY): New macro. + +2006-09-22 Kenichi Handa <handa@m17n.org> + + * fns.c (optimize_sub_char_table): Don't optimize a sub-char-table + whose default value is non-nil. + +2006-09-22 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> + + * gtkutil.c (xg_get_file_with_chooser): Only show C-l help for + Gtk+ versions < 2.10. + + * xfns.c (syms_of_xfns): Fix typo in help text for + x-gtk-file-dialog-help-text. + +2006-09-21 Kim F. Storm <storm@cua.dk> + + * fns.c (Fmemq): Refill doc string. + (Fmemql): New defun, like memq but using eql. + (syms_of_fns): Defsubr it. + +2006-09-20 Kim F. Storm <storm@cua.dk> + + * xdisp.c (pos_visible_p): CHARPOS < 0 means return info for + last visible glyph in window. + + * window.c (Fset_window_hscroll, Fwindow_line_height): + Doc fix. Use "off-window" instead of "off-screen". + (Fpos_visible_in_window_p): Likewise. + If POS is t, return info for last visible glyph in window. + 2006-09-19 Chong Yidong <cyd@stupidchicken.com> * search.c (struct regexp_cache): New entry syntax_table. @@ -242,7 +360,7 @@ 2006-08-27 Martin Rudalics <rudalics@gmx.at> - * xdisp.c (mouse_autoselect_window): Removed. + * xdisp.c (mouse_autoselect_window): Remove. (Vmouse_autoselect_window): New variable. DEFVAR_LISP it. * dispextern.h (mouse_autoselect_window): Remove extern.
--- a/src/buffer.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/buffer.c Tue Oct 03 05:04:21 2006 +0000 @@ -5507,7 +5507,7 @@ or print Bottom or All. %n -- print Narrow if appropriate. %t -- visited file is text or binary (if OS supports this distinction). - %z -- print mnemonics of buffer, terminal, and keyboard coding systems. + %z -- print mnemonics of keyboard, terminal, and buffer coding systems. %Z -- like %z, but including the end-of-line format. %e -- print error message about full memory. %[ -- print one [ for each recursive editing level. %] similar.
--- a/src/callint.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/callint.c Tue Oct 03 05:04:21 2006 +0000 @@ -257,9 +257,11 @@ Optional second arg RECORD-FLAG non-nil means unconditionally put this command in the command-history. Otherwise, this is done only if an arg is read using the minibuffer. + Optional third arg KEYS, if given, specifies the sequence of events to -supply if the command inquires which events were used to invoke it. -If KEYS is omitted or nil, the return value of `this-command-keys' is used. */) +supply, as a vector, if the command inquires which events were used to +invoke it. If KEYS is omitted or nil, the return value of +`this-command-keys-vector' is used. */) (function, record_flag, keys) Lisp_Object function, record_flag, keys; {
--- a/src/config.in Mon Oct 02 08:05:25 2006 +0000 +++ b/src/config.in Tue Oct 03 05:04:21 2006 +0000 @@ -124,10 +124,6 @@ don't. */ #undef HAVE_DECL_SYS_SIGLIST -/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. - */ -#undef HAVE_DECL_TZNAME - /* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you don't. */ #undef HAVE_DECL___SYS_SIGLIST @@ -809,7 +805,7 @@ /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. + automatically deduced at run-time. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */
--- a/src/fns.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/fns.c Tue Oct 03 05:04:21 2006 +0000 @@ -1383,11 +1383,10 @@ } DEFUN ("memq", Fmemq, Smemq, 2, 2, 0, - doc: /* Return non-nil if ELT is an element of LIST. -Comparison done with `eq'. The value is actually the tail of LIST -whose car is ELT. */) +doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `eq'. +The value is actually the tail of LIST whose car is ELT. */) (elt, list) - Lisp_Object elt, list; + register Lisp_Object elt, list; { while (1) { @@ -1410,6 +1409,30 @@ return list; } +DEFUN ("memql", Fmemql, Smemql, 2, 2, 0, +doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `eql'. +The value is actually the tail of LIST whose car is ELT. */) + (elt, list) + register Lisp_Object elt; + Lisp_Object list; +{ + register Lisp_Object tail; + + if (!FLOATP (elt)) + return Fmemq (elt, list); + + for (tail = list; !NILP (tail); tail = XCDR (tail)) + { + register Lisp_Object tem; + CHECK_LIST_CONS (tail, list); + tem = XCAR (tail); + if (FLOATP (tem) && internal_equal (elt, tem, 0, 0)) + return tail; + QUIT; + } + return Qnil; +} + DEFUN ("assq", Fassq, Sassq, 2, 2, 0, doc: /* Return non-nil if KEY is `eq' to the car of an element of LIST. The value is actually the first element of LIST whose car is KEY. @@ -5207,6 +5230,7 @@ defsubr (&Selt); defsubr (&Smember); defsubr (&Smemq); + defsubr (&Smemql); defsubr (&Sassq); defsubr (&Sassoc); defsubr (&Srassq);
--- a/src/gtkutil.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/gtkutil.c Tue Oct 03 05:04:21 2006 +0000 @@ -1382,7 +1382,9 @@ if (x_gtk_file_dialog_help_text) { message[0] = '\0'; - if (action != GTK_FILE_CHOOSER_ACTION_SAVE) + /* Gtk+ 2.10 has the file name text entry box integrated in the dialog. + Show the C-l help text only for versions < 2.10. */ + if (gtk_check_version (2, 10, 0) && action != GTK_FILE_CHOOSER_ACTION_SAVE) strcat (message, "\nType C-l to display a file name text entry box.\n"); strcat (message, "\nIf you don't like this file selector, use the " "corresponding\nkey binding or customize "
--- a/src/indent.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/indent.c Tue Oct 03 05:04:21 2006 +0000 @@ -2074,7 +2074,7 @@ { int it_start; int oselective; - int start_on_image_or_stretch_or_string_p; + int it_overshoot_expected_p; SET_TEXT_POS (pt, PT, PT_BYTE); start_display (&it, w, pt); @@ -2086,9 +2086,26 @@ while the end position is really at some X > 0, the same X that PT had. */ it_start = IT_CHARPOS (it); - start_on_image_or_stretch_or_string_p = (it.method == GET_FROM_IMAGE - || it.method == GET_FROM_STRETCH - || it.method == GET_FROM_STRING); + + /* We expect the call to move_it_to, further down, to overshoot + if the starting point is on an image, stretch glyph, or Lisp + string. We won't need to backtrack in this situation, except + for one corner case: when the Lisp string contains a + newline. */ + if (it.method == GET_FROM_STRING) + { + const char *s = SDATA (it.string); + const char *e = s + SBYTES (it.string); + + while (s < e && *s != '\n') + ++s; + + it_overshoot_expected_p = (s == e); + } + else + it_overshoot_expected_p = (it.method == GET_FROM_IMAGE + || it.method == GET_FROM_STRETCH); + reseat_at_previous_visible_line_start (&it); it.current_x = it.hpos = 0; /* Temporarily disable selective display so we don't move too far */ @@ -2099,10 +2116,9 @@ /* Move back if we got too far. This may happen if truncate-lines is on and PT is beyond right margin. - It may also happen if it_start is on an image, stretch - glyph, or string -- in that case, don't go back. */ + Don't go back if the overshoot is expected (see above). */ if (IT_CHARPOS (it) > it_start && XINT (lines) > 0 - && !start_on_image_or_stretch_or_string_p) + && !it_overshoot_expected_p) move_it_by_lines (&it, -1, 0); it.vpos = 0;
--- a/src/keymap.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/keymap.c Tue Oct 03 05:04:21 2006 +0000 @@ -725,7 +725,10 @@ DEFUN ("map-keymap", Fmap_keymap, Smap_keymap, 2, 3, 0, doc: /* Call FUNCTION once for each event binding in KEYMAP. FUNCTION is called with two arguments: the event that is bound, and -the definition it is bound to. +the definition it is bound to. If the event is an integer, it may be +a generic character (see Info node `(elisp)Splitting Characters'), and +that means that all actual character events belonging to that generic +character are bound to the definition. If KEYMAP has a parent, the parent's bindings are included as well. This works recursively: if the parent has itself a parent, then the @@ -1176,7 +1179,7 @@ meta_bit = VECTORP (key) ? meta_modifier : 0x80; - if (VECTORP (def) && ASIZE (def) > 0 && CONSP (AREF (def, make_number (0)))) + if (VECTORP (def) && ASIZE (def) > 0 && CONSP (AREF (def, 0))) { /* DEF is apparently an XEmacs-style keyboard macro. */ Lisp_Object tmp = Fmake_vector (make_number (ASIZE (def)), Qnil); int i = ASIZE (def);
--- a/src/macterm.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/macterm.c Tue Oct 03 05:04:21 2006 +0000 @@ -110,6 +110,10 @@ (Not yet supported.) */ int x_use_underline_position_properties; +/* Non-zero means to draw the underline at the same place as the descent line. */ + +int x_underline_at_descent_line; + /* This is a chain of structures for all the X displays currently in use. */ @@ -2632,6 +2636,11 @@ Rect r; MacFontStruct *font = s->font; +#if USE_CG_DRAWING + mac_prepare_for_quickdraw (s->f); +#endif + SetPortWindowPort (FRAME_MAC_WINDOW (s->f)); + TextFont (font->mac_fontnum); TextSize (font->mac_fontsize); TextFace (font->mac_fontface); @@ -3673,18 +3682,45 @@ /* Draw underline. */ if (s->face->underline_p) { - unsigned long h = 1; - unsigned long dy = s->height - h; + unsigned long tem, h; + int y; + +#if 0 + /* Get the underline thickness. Default is 1 pixel. */ + if (!XGetFontProperty (s->font, XA_UNDERLINE_THICKNESS, &h)) +#endif + h = 1; + + y = s->y + s->height - h; + if (!x_underline_at_descent_line) + { + /* Get the underline position. This is the recommended + vertical offset in pixels from the baseline to the top of + the underline. This is a signed value according to the + specs, and its default is + + ROUND ((maximum descent) / 2), with + ROUND(x) = floor (x + 0.5) */ + +#if 0 + if (x_use_underline_position_properties + && XGetFontProperty (s->font, XA_UNDERLINE_POSITION, &tem)) + y = s->ybase + (long) tem; + else +#endif + if (s->face->font) + y = s->ybase + (s->face->font->max_bounds.descent + 1) / 2; + } if (s->face->underline_defaulted_p) - mac_fill_rectangle (s->f, s->gc, s->x, s->y + dy, + mac_fill_rectangle (s->f, s->gc, s->x, y, s->background_width, h); else { XGCValues xgcv; XGetGCValues (s->display, s->gc, GCForeground, &xgcv); XSetForeground (s->display, s->gc, s->face->underline_color); - mac_fill_rectangle (s->f, s->gc, s->x, s->y + dy, + mac_fill_rectangle (s->f, s->gc, s->x, y, s->background_width, h); XSetForeground (s->display, s->gc, xgcv.foreground); } @@ -7989,6 +8025,9 @@ FontInfo the_fontinfo; int is_two_byte_font; +#if USE_CG_DRAWING + mac_prepare_for_quickdraw (NULL); +#endif /* Save the current font number used. */ GetPort (&port); #if TARGET_API_MAC_CARBON @@ -8104,6 +8143,8 @@ pcm->width); font->min_bounds.ascent = min (font->min_bounds.ascent, pcm->ascent); + font->min_bounds.descent = min (font->min_bounds.descent, + pcm->descent); font->max_bounds.lbearing = max (font->max_bounds.lbearing, pcm->lbearing); @@ -8113,6 +8154,8 @@ pcm->width); font->max_bounds.ascent = max (font->max_bounds.ascent, pcm->ascent); + font->max_bounds.descent = max (font->max_bounds.descent, + pcm->descent); } if ( #if USE_ATSUI @@ -11617,6 +11660,14 @@ NOTE: Not supported on Mac yet. */); x_use_underline_position_properties = 0; + DEFVAR_BOOL ("x-underline-at-descent-line", + &x_underline_at_descent_line, + doc: /* *Non-nil means to draw the underline at the same place as the descent line. +nil means to draw the underline according to the value of the variable +`x-use-underline-position-properties', which is usually at the baseline +level. The default value is nil. */); + x_underline_at_descent_line = 0; + DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars, doc: /* If not nil, Emacs uses toolkit scroll bars. */); #ifdef USE_TOOLKIT_SCROLL_BARS
--- a/src/makefile.w32-in Mon Oct 02 08:05:25 2006 +0000 +++ b/src/makefile.w32-in Tue Oct 03 05:04:21 2006 +0000 @@ -719,6 +719,8 @@ $(EMACS_ROOT)/src/s/ms-w32.h \ $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h \ + $(EMACS_ROOT)/nt/inc/langinfo.h \ + $(EMACS_ROOT)/nt/inc/nl_types.h \ $(SRC)/atimer.h \ $(SRC)/blockinput.h \ $(SRC)/buffer.h \ @@ -1044,6 +1046,8 @@ $(SRC)/w32proc.c \ $(SRC)/s/ms-w32.h \ $(SRC)/m/intel386.h \ + $(EMACS_ROOT)/nt/inc/langinfo.h \ + $(EMACS_ROOT)/nt/inc/nl_types.h \ $(SRC)/config.h \ $(SRC)/process.h \ $(SRC)/syssignal.h \
--- a/src/minibuf.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/minibuf.c Tue Oct 03 05:04:21 2006 +0000 @@ -1021,7 +1021,7 @@ Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS is a string to insert in the minibuffer before reading. \(INITIAL-CONTENTS can also be a cons of a string and an integer. Such -arguments are used as in `read-from-minibuffer') */) +arguments are used as in `read-from-minibuffer'.) */) (prompt, initial_contents) Lisp_Object prompt, initial_contents; { @@ -1910,7 +1910,7 @@ If the argument FLAG is nil, invoke `try-completion', if it's t, invoke `all-completions', otherwise invoke `test-completion'. -The arguments STRING and PREDICATE are as in `try-completion', +The arguments STRING and PREDICATE are as in `try-completion', `all-completions', and `test-completion'. */) (string, predicate, flag) Lisp_Object string, predicate, flag; @@ -2402,7 +2402,7 @@ It is used to put faces, `completions-first-difference' and `completions-common-part' on the completion buffer. The `completions-common-part' face is put on the common substring -specified by COMMON-SUBSTRING. If COMMON-SUBSTRING is nil +specified by COMMON-SUBSTRING. If COMMON-SUBSTRING is nil and the current buffer is not the minibuffer, the faces are not put. Internally, COMMON-SUBSTRING is bound to `completion-common-substring' during running `completion-setup-hook'. */)
--- a/src/regex.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/regex.c Tue Oct 03 05:04:21 2006 +0000 @@ -3989,7 +3989,13 @@ for (j = CHARSET_BITMAP_SIZE (&p[-1]) * BYTEWIDTH - 1, p++; j >= 0; j--) if (!!(p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH))) ^ not) - fastmap[j] = 1; + { + fastmap[j] = 1; +#ifdef emacs + if (j >= 0x80 && j < 0xa0) + fastmap[LEADING_CODE_8_BIT_CONTROL] = 1; +#endif + } if ((not && multibyte) /* Any leading code can possibly start a character
--- a/src/s/gnu-linux.h Mon Oct 02 08:05:25 2006 +0000 +++ b/src/s/gnu-linux.h Tue Oct 03 05:04:21 2006 +0000 @@ -142,8 +142,12 @@ movemail.c will use `maillock' when MAILDIR, HAVE_LIBMAIL and HAVE_MAILLOCK_H are defined, so the following appears to be the correct logic. -- fx */ +/* We must check for HAVE_LIBLOCKFILE too, as movemail does. + liblockfile is a Free Software replacement for libmail, used on + Debian systems and elsewhere. -rfr */ -#if !(defined (HAVE_LIBMAIL) && defined (HAVE_MAILLOCK_H)) +#if !((defined (HAVE_LIBMAIL) || defined (HAVE_LIBLOCKFILE)) && \ + defined (HAVE_MAILLOCK_H)) #define MAIL_USE_FLOCK #endif
--- a/src/search.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/search.c Tue Oct 03 05:04:21 2006 +0000 @@ -138,10 +138,11 @@ cp->buf.target_multibyte = multibyte; cp->whitespace_regexp = Vsearch_spaces_regexp; cp->syntax_table = current_buffer->syntax_table; - /* Doing BLOCK_INPUT here has the effect that - the debugger won't run if an error occurs. - Why is BLOCK_INPUT needed here? */ - BLOCK_INPUT; + /* rms: I think BLOCK_INPUT is not needed here any more, + because regex.c defines malloc to call xmalloc. + Using BLOCK_INPUT here means the debugger won't run if an error occurs. + So let's turn it off. */ + /* BLOCK_INPUT; */ old = re_set_syntax (RE_SYNTAX_EMACS | (posix ? 0 : RE_NO_POSIX_BACKTRACKING)); re_set_whitespace_regexp (NILP (Vsearch_spaces_regexp) ? NULL @@ -153,7 +154,7 @@ re_set_whitespace_regexp (NULL); re_set_syntax (old); - UNBLOCK_INPUT; + /* UNBLOCK_INPUT; */ if (val) xsignal1 (Qinvalid_regexp, build_string (val));
--- a/src/w32fns.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/w32fns.c Tue Oct 03 05:04:21 2006 +0000 @@ -8671,14 +8671,15 @@ Vw32_color_map = Qnil; DEFVAR_LISP ("w32-pass-alt-to-system", &Vw32_pass_alt_to_system, - doc: /* Non-nil if alt key presses are passed on to Windows. -When non-nil, for example, alt pressed and released and then space will -open the System menu. When nil, Emacs silently swallows alt key events. */); + doc: /* Non-nil if Alt key presses are passed on to Windows. +When non-nil, for example, Alt pressed and released and then space will +open the System menu. When nil, Emacs processes the Alt key events, and +then silently swallows them. */); Vw32_pass_alt_to_system = Qnil; DEFVAR_LISP ("w32-alt-is-meta", &Vw32_alt_is_meta, - doc: /* Non-nil if the alt key is to be considered the same as the meta key. -When nil, Emacs will translate the alt key to the Alt modifier, and not Meta. */); + doc: /* Non-nil if the Alt key is to be considered the same as the META key. +When nil, Emacs will translate the Alt key to the ALT modifier, not to META. */); Vw32_alt_is_meta = Qt; DEFVAR_INT ("w32-quit-key", &w32_quit_key, @@ -8687,14 +8688,32 @@ DEFVAR_LISP ("w32-pass-lwindow-to-system", &Vw32_pass_lwindow_to_system, - doc: /* Non-nil if the left \"Windows\" key is passed on to Windows. -When non-nil, the Start menu is opened by tapping the key. */); + doc: /* If non-nil, the left \"Windows\" key is passed on to Windows. + +When non-nil, the Start menu is opened by tapping the key. +If you set this to nil, the left \"Windows\" key is processed by Emacs +according to the value of `w32-lwindow-modifier', which see. + +Note that some combinations of the left \"Windows\" key with other keys are +caught by Windows at low level, and so binding them in Emacs will have no +effect. For example, <lwindow>-r always pops up the Windows Run dialog, +<lwindow>-<Pause> pops up the "System Properties" dialog, etc. However, see +the doc string of `w32-phantom-key-code'. */); Vw32_pass_lwindow_to_system = Qt; DEFVAR_LISP ("w32-pass-rwindow-to-system", &Vw32_pass_rwindow_to_system, - doc: /* Non-nil if the right \"Windows\" key is passed on to Windows. -When non-nil, the Start menu is opened by tapping the key. */); + doc: /* If non-nil, the right \"Windows\" key is passed on to Windows. + +When non-nil, the Start menu is opened by tapping the key. +If you set this to nil, the right \"Windows\" key is processed by Emacs +according to the value of `w32-rwindow-modifier', which see. + +Note that some combinations of the right \"Windows\" key with other keys are +caught by Windows at low level, and so binding them in Emacs will have no +effect. For example, <rwindow>-r always pops up the Windows Run dialog, +<rwindow>-<Pause> pops up the "System Properties" dialog, etc. However, see +the doc string of `w32-phantom-key-code'. */); Vw32_pass_rwindow_to_system = Qt; DEFVAR_LISP ("w32-phantom-key-code", @@ -8711,29 +8730,29 @@ DEFVAR_LISP ("w32-enable-num-lock", &Vw32_enable_num_lock, - doc: /* Non-nil if Num Lock should act normally. -Set to nil to see Num Lock as the key `kp-numlock'. */); + doc: /* If non-nil, the Num Lock key acts normally. +Set to nil to handle Num Lock as the `kp-numlock' key. */); Vw32_enable_num_lock = Qt; DEFVAR_LISP ("w32-enable-caps-lock", &Vw32_enable_caps_lock, - doc: /* Non-nil if Caps Lock should act normally. -Set to nil to see Caps Lock as the key `capslock'. */); + doc: /* If non-nil, the Caps Lock key acts normally. +Set to nil to handle Caps Lock as the `capslock' key. */); Vw32_enable_caps_lock = Qt; DEFVAR_LISP ("w32-scroll-lock-modifier", &Vw32_scroll_lock_modifier, - doc: /* Modifier to use for the Scroll Lock on state. + doc: /* Modifier to use for the Scroll Lock ON state. The value can be hyper, super, meta, alt, control or shift for the -respective modifier, or nil to see Scroll Lock as the key `scroll'. -Any other value will cause the key to be ignored. */); +respective modifier, or nil to handle Scroll Lock as the `scroll' key. +Any other value will cause the Scroll Lock key to be ignored. */); Vw32_scroll_lock_modifier = Qt; DEFVAR_LISP ("w32-lwindow-modifier", &Vw32_lwindow_modifier, doc: /* Modifier to use for the left \"Windows\" key. The value can be hyper, super, meta, alt, control or shift for the -respective modifier, or nil to appear as the key `lwindow'. +respective modifier, or nil to appear as the `lwindow' key. Any other value will cause the key to be ignored. */); Vw32_lwindow_modifier = Qnil; @@ -8741,7 +8760,7 @@ &Vw32_rwindow_modifier, doc: /* Modifier to use for the right \"Windows\" key. The value can be hyper, super, meta, alt, control or shift for the -respective modifier, or nil to appear as the key `rwindow'. +respective modifier, or nil to appear as the `rwindow' key. Any other value will cause the key to be ignored. */); Vw32_rwindow_modifier = Qnil; @@ -8749,7 +8768,7 @@ &Vw32_apps_modifier, doc: /* Modifier to use for the \"Apps\" key. The value can be hyper, super, meta, alt, control or shift for the -respective modifier, or nil to appear as the key `apps'. +respective modifier, or nil to appear as the `apps' key. Any other value will cause the key to be ignored. */); Vw32_apps_modifier = Qnil; @@ -8765,7 +8784,7 @@ &w32_mouse_button_tolerance, doc: /* Analogue of double click interval for faking middle mouse events. The value is the minimum time in milliseconds that must elapse between -left/right button down events before they are considered distinct events. +left and right button down events before they are considered distinct events. If both mouse buttons are depressed within this interval, a middle mouse button down event is generated instead. */); w32_mouse_button_tolerance = GetDoubleClickTime () / 2; @@ -8780,7 +8799,7 @@ DEFVAR_BOOL ("w32-pass-extra-mouse-buttons-to-system", &w32_pass_extra_mouse_buttons_to_system, - doc: /* Non-nil if the fourth and fifth mouse buttons are passed to Windows. + doc: /* If non-nil, the fourth and fifth mouse buttons are passed to Windows. Recent versions of Windows support mice with up to five buttons. Since most applications don't support these extra buttons, most mouse drivers will allow you to map them to functions at the system level.
--- a/src/w32proc.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/w32proc.c Tue Oct 03 05:04:21 2006 +0000 @@ -49,6 +49,11 @@ extern BOOL WINAPI IsValidLocale(LCID, DWORD); #endif +#ifdef HAVE_LANGINFO_CODESET +#include <nl_types.h> +#include <langinfo.h> +#endif + #include "lisp.h" #include "w32.h" #include "w32heap.h" @@ -1817,6 +1822,69 @@ return result; } +#ifdef HAVE_LANGINFO_CODESET +/* Emulation of nl_langinfo. Used in fns.c:Flocale_info. */ +char *nl_langinfo (nl_item item) +{ + /* Conversion of Posix item numbers to their Windows equivalents. */ + static const LCTYPE w32item[] = { + LOCALE_IDEFAULTANSICODEPAGE, + LOCALE_SDAYNAME1, LOCALE_SDAYNAME2, LOCALE_SDAYNAME3, + LOCALE_SDAYNAME4, LOCALE_SDAYNAME5, LOCALE_SDAYNAME6, LOCALE_SDAYNAME7, + LOCALE_SMONTHNAME1, LOCALE_SMONTHNAME2, LOCALE_SMONTHNAME3, + LOCALE_SMONTHNAME4, LOCALE_SMONTHNAME5, LOCALE_SMONTHNAME6, + LOCALE_SMONTHNAME7, LOCALE_SMONTHNAME8, LOCALE_SMONTHNAME9, + LOCALE_SMONTHNAME10, LOCALE_SMONTHNAME11, LOCALE_SMONTHNAME12 + }; + + static char *nl_langinfo_buf = NULL; + static int nl_langinfo_len = 0; + + if (nl_langinfo_len <= 0) + nl_langinfo_buf = xmalloc (nl_langinfo_len = 1); + + if (item < 0 || item >= _NL_NUM) + nl_langinfo_buf[0] = 0; + else + { + LCID cloc = GetThreadLocale (); + int need_len = GetLocaleInfo (cloc, w32item[item] | LOCALE_USE_CP_ACP, + NULL, 0); + + if (need_len <= 0) + nl_langinfo_buf[0] = 0; + else + { + if (item == CODESET) + { + need_len += 2; /* for the "cp" prefix */ + if (need_len < 8) /* for the case we call GetACP */ + need_len = 8; + } + if (nl_langinfo_len <= need_len) + nl_langinfo_buf = xrealloc (nl_langinfo_buf, + nl_langinfo_len = need_len); + if (!GetLocaleInfo (cloc, w32item[item] | LOCALE_USE_CP_ACP, + nl_langinfo_buf, nl_langinfo_len)) + nl_langinfo_buf[0] = 0; + else if (item == CODESET) + { + if (strcmp (nl_langinfo_buf, "0") == 0 /* CP_ACP */ + || strcmp (nl_langinfo_buf, "1") == 0) /* CP_OEMCP */ + sprintf (nl_langinfo_buf, "cp%u", GetACP ()); + else + { + memmove (nl_langinfo_buf + 2, nl_langinfo_buf, + strlen (nl_langinfo_buf) + 1); + nl_langinfo_buf[0] = 'c'; + nl_langinfo_buf[1] = 'p'; + } + } + } + } + return nl_langinfo_buf; +} +#endif /* HAVE_LANGINFO_CODESET */ DEFUN ("w32-get-locale-info", Fw32_get_locale_info, Sw32_get_locale_info, 1, 2, 0,
--- a/src/window.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/window.c Tue Oct 03 05:04:21 2006 +0000 @@ -333,6 +333,7 @@ If a character is only partially visible, nil is returned, unless the optional argument PARTIALLY is non-nil. If POS is only out of view because of horizontal scrolling, return non-nil. +If POS is t, it specifies the position of the last visible glyph in WINDOW. POS defaults to point in WINDOW; WINDOW defaults to the selected window. If POS is visible, return t if PARTIALLY is nil; if PARTIALLY is non-nil, @@ -340,7 +341,7 @@ where X and Y are the pixel coordinates relative to the top left corner of the window. The remaining elements are omitted if the character after POS is fully visible; otherwise, RTOP and RBOT are the number of pixels -off-screen at the top and bottom of the row, ROWH is the height of the +off-window at the top and bottom of the row, ROWH is the height of the display row, and VPOS is the row number (0-based) containing POS. */) (pos, window, partially) Lisp_Object pos, window, partially; @@ -357,7 +358,9 @@ buf = XBUFFER (w->buffer); SET_TEXT_POS_FROM_MARKER (top, w->start); - if (!NILP (pos)) + if (EQ (pos, Qt)) + posint = -1; + else if (!NILP (pos)) { CHECK_NUMBER_COERCE_MARKER (pos); posint = XINT (pos); @@ -369,8 +372,8 @@ /* If position is above window start or outside buffer boundaries, or if window start is out of range, position is not visible. */ - if (posint >= CHARPOS (top) - && posint <= BUF_ZV (buf) + if ((EQ (pos, Qt) + || (posint >= CHARPOS (top) && posint <= BUF_ZV (buf))) && CHARPOS (top) >= BUF_BEGV (buf) && CHARPOS (top) <= BUF_ZV (buf) && pos_visible_p (w, posint, &x, &y, &rtop, &rbot, &rowh, &vpos) @@ -402,10 +405,10 @@ Value is a list (HEIGHT VPOS YPOS OFFBOT), where HEIGHT is the height in pixels of the visible part of the line, VPOS and YPOS are the -vertical position in lines and pixels of the row, relative to the top -of the first text line, and OFFBOT is the number of off-screen pixels at -the bottom of the text row. If there are off-screen pixels at the top -of the (first) text row, YPOS is negative. +vertical position in lines and pixels of the line, relative to the top +of the first text line, and OFFBOT is the number of off-window pixels at +the bottom of the text line. If there are off-window pixels at the top +of the (first) text line, YPOS is negative. Return nil if window display is not up-to-date. In that case, use `pos-visible-in-window-p' to obtain the information. */) @@ -565,7 +568,7 @@ Return NCOL. NCOL should be zero or positive. Note that if `automatic-hscrolling' is non-nil, you cannot scroll the -window so that the location of point moves off-screen. */) +window so that the location of point moves off-window. */) (window, ncol) Lisp_Object window, ncol; {
--- a/src/xdisp.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/xdisp.c Tue Oct 03 05:04:21 2006 +0000 @@ -1284,6 +1284,7 @@ /* Return 1 if position CHARPOS is visible in window W. + CHARPOS < 0 means return info about WINDOW_END position. If visible, set *X and *Y to pixel coordinates of top left corner. Set *RTOP and *RBOT to pixel height of an invisible area of glyph at POS. Set *ROWH and *VPOS to row's visible height and VPOS (row number). */ @@ -1322,10 +1323,10 @@ start_display (&it, w, top); move_it_to (&it, charpos, -1, it.last_visible_y-1, -1, - MOVE_TO_POS | MOVE_TO_Y); + (charpos >= 0 ? MOVE_TO_POS : 0) | MOVE_TO_Y); /* Note that we may overshoot because of invisible text. */ - if (IT_CHARPOS (it) >= charpos) + if (charpos >= 0 && IT_CHARPOS (it) >= charpos) { int top_x = it.current_x; int top_y = it.current_y; @@ -3254,7 +3255,9 @@ && !NILP (Vrun_hooks) && (pos = make_number (IT_CHARPOS (*it)), prop = Fget_char_property (pos, Qfontified, Qnil), - NILP (prop))) + /* Ignore the special cased nil value always present at EOB since + no amount of fontifying will be able to change it. */ + NILP (prop) && IT_CHARPOS (*it) < Z)) { int count = SPECPDL_INDEX (); Lisp_Object val;
--- a/src/xfns.c Mon Oct 02 08:05:25 2006 +0000 +++ b/src/xfns.c Tue Oct 03 05:04:21 2006 +0000 @@ -5904,7 +5904,7 @@ x_gtk_show_hidden_files = 0; DEFVAR_BOOL ("x-gtk-file-dialog-help-text", &x_gtk_file_dialog_help_text, - doc: /* *If non-nil, the GTK file chooser will by show additional help text. + doc: /* *If non-nil, the GTK file chooser will show additional help text. If more space for files in the file chooser dialog is wanted, set this to nil to turn the additional text off. */); x_gtk_file_dialog_help_text = 1;