PK!Nmdc/__init__.py__version__ = "0.1.3" PK!h mdc/mdc.pyimport argparse import atexit from collections import defaultdict import importlib.resources import os import shutil import subprocess import sys from tempfile import NamedTemporaryFile, TemporaryDirectory from mdc import __version__ as mdc_version import mdc.resources import mdc.templates __all__ = ["build_pandoc_cmd", "run_compile"] DEFAULT_FROM = "markdown-markdown_in_html_blocks-native_divs" AVAILABLE_TEMPLATES = [ "icml", "neurips", "note", "simple", "standalone", "stylish", ] DEFAULT_TEMPLATE = "simple" TEMPLATE_RESOURCES = defaultdict( list, { "icml": ["icml.bst", "icml.sty"], "neurips": ["neurips.sty"], "stylish": ["futura-light.ttf", "futura-book.ttf", "futura-medium.ttf"], }, ) DEFAULT_BIBTYPE = "natbib" DEFAULT_META = [ "figPrefix=Figure", "eqnPrefix=Equation", "tblPrefix=Table", "lstPrefix=List", "secPrefix=Section", ] DEFAULT_PANDOC = "pandoc" DEFAULT_LATEXMK = "latexmk" DEFAULT_CROSSREF = "pandoc-crossref" DEFAULT_IMG_EXT = "pdf" DEFAULT_VERBOSE = False def build_pandoc_cmd( input_file, from_=DEFAULT_FROM, template=DEFAULT_TEMPLATE, bibliography=None, bib_type=DEFAULT_BIBTYPE, crossref=DEFAULT_CROSSREF, include=None, meta=DEFAULT_META, pandoc=DEFAULT_PANDOC, ): """Build required pandoc command from given arguments.""" cmd = [pandoc] cmd.append(f"--from={from_}") cmd.append("--to=latex") if template in AVAILABLE_TEMPLATES: template_context = importlib.resources.path( mdc.templates, f"{template}.tex" ) template = template_context.__enter__() atexit.register( lambda c: c.__exit__(None, None, None), template_context ) cmd.append(f"--template={template}") if bibliography is not None: cmd.append(f"--bibliography={bibliography}") cmd.append(f"--{bib_type}") if crossref is not None: cmd.append(f"--filter={crossref}") if include: for f in include: cmd.append(f"--include-before-body={f}") if meta: for m in meta: cmd.append(f"--metadata={m}") cmd.append(f"--default-image-extension={DEFAULT_IMG_EXT}") cmd.append(input_file) return cmd def run_compile( pandoc_cmd, template, output_file=None, latexmk=DEFAULT_LATEXMK, verbose=DEFAULT_VERBOSE, ): """Run pandoc command to generate tex/pdf output.""" if TEMPLATE_RESOURCES[template]: # Create and populate resources directory if not os.path.exists("resources"): os.mkdir("resources") for resc in TEMPLATE_RESOURCES[template]: if not os.path.exists(os.path.join("resources", resc)): with importlib.resources.path(mdc.resources, resc) as resc_path: shutil.copyfile(resc_path, os.path.join("resources", resc)) if output_file is None: subprocess.run(pandoc_cmd).check_returncode() elif output_file.endswith(".tex"): pandoc_cmd.append(f"--output={output_file}") subprocess.run(pandoc_cmd).check_returncode() elif output_file.endswith(".pdf"): # Generate tex, then compile with latexmk with NamedTemporaryFile(dir="") as temp_file: pandoc_cmd.append(f"--output={temp_file.name}") subprocess.run(pandoc_cmd).check_returncode() with TemporaryDirectory() as temp_dir: latexmk_cmd = [ latexmk, "-pdf", "-lualatex", f"-output-directory={temp_dir}", f"{temp_file.name}", ] if not verbose: latexmk_cmd.append("-quiet") subprocess.run(latexmk_cmd).check_returncode() # Copy generated output file tf_only_name = os.path.basename(temp_file.name) shutil.copyfile( os.path.join(temp_dir, f"{tf_only_name}.pdf"), f"{output_file}", ) else: raise ValueError("output file extension must be .tex/.pdf") def main(): """Entry point.""" def _meta_arg(string): """Argument type for passing meta variables.""" if "=" not in string: raise argparse.ArgumentTypeError( "meta var should be passed as " "`key=val`" ) k, v = string.split("=") return f"{k}:{v}" arg_parser = argparse.ArgumentParser() arg_parser.add_argument("input_file", type=argparse.FileType("r")) arg_parser.add_argument( "-V", "--version", action="version", version=f"%(prog)s {mdc_version}" ) arg_parser.add_argument( "-v", "--verbose", action="store_true", help="make latexmk verbose" ) arg_parser.add_argument( "-o", "--output-file", type=str, default=None, help="write output to this file (default stdout)", ) arg_parser.add_argument( "-f", "--from", type=str, dest="from_", metavar="FROM", default=DEFAULT_FROM, help=f"pandoc input format (default {DEFAULT_FROM})", ) template_parser = arg_parser.add_mutually_exclusive_group(required=False) template_parser.add_argument( "-t", "--builtin-template", type=str, dest="template", choices=AVAILABLE_TEMPLATES, help=f"use one of the built-in templates (default {DEFAULT_TEMPLATE})", ) template_parser.add_argument( "-T", "--custom-template", type=str, dest="template", metavar="CUSTOM_TEMPLATE", help="use a custom template", ) arg_parser.set_defaults(template=DEFAULT_TEMPLATE) arg_parser.add_argument( "-b", "--bibliography", type=argparse.FileType("r"), default=None, help="bibliography argument for pandoc", ) arg_parser.add_argument( "-B", "--bib-type", type=str, choices=["natbib", "biblatex"], default=DEFAULT_BIBTYPE, help=f"bibliography type sent to pandoc (default {DEFAULT_BIBTYPE})", ) arg_parser.add_argument( "-i", "--include", type=argparse.FileType("r"), nargs="*", help="files to include before body", ) arg_parser.add_argument( "-m", "--meta", type=_meta_arg, nargs="*", default=DEFAULT_META, help="additional meta variables to pass to pandoc", ) arg_parser.add_argument( "--pandoc", type=str, default=DEFAULT_PANDOC, help=f"path to pandoc executable (default {DEFAULT_PANDOC})", ) arg_parser.add_argument( "--latexmk", type=str, default=DEFAULT_LATEXMK, help=f"path to latexmk executable (default {DEFAULT_LATEXMK})", ) arg_parser.add_argument( "--crossref", type=str, default=DEFAULT_CROSSREF, help=f"path to crossref executable (default {DEFAULT_CROSSREF})", ) args = arg_parser.parse_args() try: pandoc_cmd = build_pandoc_cmd( args.input_file.name, args.from_, args.template, args.bibliography.name if args.bibliography is not None else None, args.bib_type, args.crossref, [i.name for i in args.include], args.meta, args.pandoc, ) run_compile( pandoc_cmd, args.template, args.output_file, args.latexmk, args.verbose, ) except ValueError as e: print(f"ERROR: {e}", file=sys.stderr) return 1 except subprocess.CalledProcessError as e: print(f"ERROR: {e.cmd[0]} failed with return code {e.returncode}") return e.returncode PK!mdc/resources/__init__.pyPK!G}$mdc/resources/futura-book-italic.ttfpOS/2`[NPCLTH`+6cmap}@^cvt 2fpgm8 8glyf kjhead ,6hheaOd$hmtxSy0kernl͸loca5pZ maxpTt nameGposth;CprepՆL-8$ !\}8 p : R Bh * p &DFuturaBook ItalicFuturaBT-BookItalicCopyright 1990-1993 Bitstream Inc. All rights reserved.Futura Book Italic, Geometric 211Futura Book Italic BTmfgpctt-v1.54 Tuesday, February 9, 1993 8:11:58 am (EST)Copyright 1990-1993 Bitstream Inc. All rights reserved.Futura Bk BTBook ItalicFutura Book Italic, Geometric 211Futura Book Italic BTmfgpctt-v1.54 Tuesday, February 9, 1993 8:11:58 am (EST)FuturaBT-BookItalicuNu)Rf3h  hJ)!HmjmP5P`XR=sDfhBuwoZs'){'^u)u'y'!L- fu-fw!'bmjPR5sP XZh)Xy-J {}hhZRywfBuoA;.*#SY&Y@&}}kDYG}} !!.&@YG]AYY  @ @k}a.a@.>>D$ |{eA{Szy`&yx wvutsrsrqpoSpoSnmml}kjkkjiYjAji`&iYi@feAffeAd}cbccbaYbba`&aYa@`&\ZYGZZYGXWVUST>PONNLKKGFEDCBA?=<};:k843k0//.--*)*)$#"! ! }K&& A   L}}d++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++@, %Id@QX Y!-,%Id@QX Y!-,  P y PXY%%# P y PXY%-,KPX EDY!-,%E`D-,KSX%%EDY!!-,ED-ff@WXW/10!%!!fsr)} #@ [ Z \  991074632#"&3}C0/A@01B9L/CB01BCFw^q@^]1<20###wu))hP@5 _ _     9122<<22<<220!!!3!!!!#!#!7!!7!_-3+^J++@`+X^b)){{++{{9!w!(/r@D)" * #d*d cf0*)#"  -&&-099991299907&&546773&&'#7&&6654&9:VG\aB,jAD\Am|O>atFky+Mz mcmRVO sOm bKiL} #/3U@/1$!04g*h!g$ g hgf$c43021'-499991990%32654&#"2#"&54632654&#"2#"&5463=@]n=@Zq;@\n;?Zqǀ8d]Y׹[W8^Xع\U95 ;@U<:73 6%&26ll,k6f<:7/&) /  67/%) 3/2 ;7/ )7"<999999999199999076654&#"3267'#"&54677&&54632667B7XAK>GY\ih`;y:=RRbТ;88|1\)i9a1)BX0-E}AoR^oR^ %@p qp    <<1/<<0!!#!5!vu)u'h"@ts 9919901\49y#@ vu9910!!L+^D @ [ Z  1074632#"&^C00CC01B^0CC00BBB@ w\/99103 iRL "@ddcf! !10#"476632%"324&L]UO}[ULRS3EP~wy,iwyәYWwf^=@ dy91/0!!7!ͪ@ V;8@ dcd99991/990!!6676654&#"#6$32!%V Rv yR"[jϲB+Q@+ " +d(xdd c(f, "%,999919990332654&#"732654&#"#6632#"&5B ~np ijФ}z~l}zm~ϼ ,@  dc  91/<290!!533#f+eT-ffJab G@'  dd dyf 999199907732654&#"'!!6632#"&rLT̴NH!n5Z'ٞpPKײ%& bV:@dzd a f 99919906632#"&547"32654&?z=꘬w’|”##"۶Ȕ2dnĘ̝yw#@dy9190'!7!7`/RT  /@@"$ d* ddc*f0$'! !-0991990%2654&#"2654&#"&&54632#"&546~̀mwRdg켼ӗ|o~Zpni}?.a۹Ÿ99@dzd c{ 9991990#"&5432'2654&#"?y>$ꗬnvQÒ}Ôy##ܶ&ɓ:bǘ̜ym! !@[ [| Z 1074632#"&4632#"&mC/0CB10BQC00CC00CL/CC/0CC/BB/0EE! 1@ t [| s  9919904632#"&B00AA00B/BA00CC\4Ly @~}291905fhkgh\@qq<210!5!5RRuuuuLy @~}<919055fg 3\@1!  1* 1l[ l$k Z4 ' . *!'.4999999199990%4632#"&#"&546767654&#"'66323263C00CC01Bet#\NXj"mt-NRCJeL/CC/0CCy"nW yc=JcbWA(toCQcqN[`@7POYL CYS"!YF=%SL%1!PO!"@CV7VI7+\991/<99990733267665!"32$7#"$'&5476$32#"&5465#"&54327&&#"326 :n77-n0Yeysy~eE-wec$f}xETcc3^[}8<nPf^fLy(,.0(L Dhez­cQWa[Bmp]\u6ţ${WQca79NMW[>O?Zdnw )@ \   91/<90##!!`^b qHN4:@#+ !\ ! "+ 4 .( 5991/9032676654&'&&###32676654&'&&###!2#fuig(@G1/ WZ9Jg|-FP74&eh8`879|ZTC?vN<^VCfV'/0S#zs:.&fF5@ llkf    999199990&&#"3267# 476$32goyO[_"al'Xj~}uif]YXT`BG..>7uinOSN/(@ \ 9991/0%3267654&'&&##32!_@x7fFhˠH#ĥ?#RgODN *@ \   91/0%!!!!!s9EJKL $@\  91/03!!!!L9A^K9f ;@llkf  99991990!! 476$32&&# 32$7!jv|wq3yg2,5 oD:slou}N^ '@ \   91/<<033!3#!NKL^`CH+T@\991/033TH-@ lf \  9919990'732673#"&F}S42w"6%\fmBC'4Y>CVN $@ \  91/<290333#NV'foe N!@\91/033!NX +@\   91/<290##FK1L%@\91/99033Li?nhu##@ llkf$ $104#"326766 # 476$~Uag1Y]hKxqЫwuo)4\Vb\X]Q{slu>9qjqN!+@ \!  "9991/032676654&'&&###32###dwpm'CH11!\b5JĠ<@CPN?D?TUAb(03]o<1+}hdq)N@,)&&&ll kf*)##*999199990'# 476$3 7654#"3267TVft~vs.HF{V_j?>y<''>5pmtyi%+Y!.\XaN 8@ \     <9991/<9032676654&##32##dwol)BIN=BERJX+|R|f(04\Z\&K@& l$lk$f'!  ! '9999199990732654&'&&54632&&#"#"& ix.ݤاWWZLRZml)3@ Z  9991990&&#"3267#"&5432hGWʯFQ6W)VMHC೐8A(**.01` 5@ Z  9991/990%2654&#"3#7#"5432􅺑uM͟Bi z.mޥרYU)lm)A@#  Z  99919903267#"&5432'&&#"#Q@nPqwvNRZhg-v|v=!:@"  z  91/<2999903#736632&&#"3#f#{'G$+.86&f ޣ T#H ,R@.# ,#)# z-  , & -99919990%2654&#"3#"&'732677#"&5432u¡\!;>yBh z,yܣԥ))ag]ʪ~YV*kjB8@  ! 99991/<99990336632#67654&#"B̞mFfLHd`~>[[|41 1RV1H !@  z  " 991/04632#"&3A-.??.-AyyD,@?-/@Am B !@  z " 99104632#"&#3A-.??.-A!D,@?-/@A,QB '@ z  91/<903##3% B̞_F@991/03#3̠B,I@,+" ( z ,+"!   %! -99991/<<<2990!6654&#"#366326632#6654&#"yJUSl>zA[\E\uLJUSo}=2*SU1XV[QVV|?1*SU1B8@ z ! 99991/<99990336632#67654&#"BxMdLHd`~>]Y|41 1RV1) #@Z # 10"32654&432#"&%ūĭ|(3߬ޫq/B 9@ Z z   9991990"32654&36632#"&'Nt¡.Cf{,Rݤզ#QZVkl5B 8@Z z  9991990%2654&#"3##"&5432u¡RBg {.mޥا&GZV/lmB.@   z 91/9990&&#"#366326i{:x?M/ P]U 'M@' %%Z(" $"$(9999199990'732654'&'&&54632&&#"#"&f2MVe$V\?`*rFE` \tyQQOCKA ?lR~DCs89O6JI:r\T%J '@ z   91/<203#7333#hg/1gqb<@  Z z !999912999990332673#"&54775f]{p;>!W4ak1JR/ ]7:1 @z9129033k|6 -@ z   912<9033rRPr6c (@ z   91/<290#33##{T49\B#@z9129033 ?dB"/sB!@z91/0#!7!!P)bZ0e@81 %" !/()""!/1 !/' &!%(1<<299991999990"&#"33#"&'&&554&#"#52326554676633ZyVWooWW~'#cy*7-nn-7*xd#F^]}$z{}#?@(10#?~bV0a@6%($( !(*1(+!%&)'$1<2<999919999903263"&#"##5232655467&&554&##5323oo,6'uf)xWWooWX}'#dz*6,X||$}__}#~)@ q q* 1990#"&'&'&#"566323267e]+_59dSyiX8yrWTxsHH HKUIH( :JTZ'$' "T@."   \ # !"+,+ #999991/<9032654&#"4632#"&3#!!}I44II45Hmaba`9>b 5HH54KJ3abbHquf'F'&\N'(s'Lf'1L'huZ'2'}LZ'8'5'D/5'DC/5'D/53'D/5?'D/5 (4W@/(/) )/%zZ(,. 0.2"59999991/99032654&#"4632#"&3#7#"54322654&#"I35JJ54Hm`cc`xBh z.u¡4KK44IH5abamYU)lmޥا)''F))'H)'HC)'H)3'HH1''C7''F3'B?'Q;)'R)'RC)'R)3'R)?'Rb'Xb'XCb'Xb3'XFB )@ \   91<20!7!3!!7oJJoB1ωD7ym  @  121104&#"3262#"&546uTTwwTTuuvvTuuTTvvoutvwR"`@6  #  #9991..9999990%&&54373&&'267###c=j.'1^8pGF'By8-`Eqp *"01i78" u)-K@J<2/ =HK@9 9d@d& ( c@fL)('&" " ,"<=/"K3"L999999999991<29999076676654&'#73&&54326654&#"!66323267#"'&'&'&#")*_3.*& ȿx3{?B#KDpW0`0`ASO 2*YH`5B Lz84rs:о  ] r!AQ$:33oHG150C9? E_@5437 F)2= 7/kF,&) =:4C:4,4&4C42F9991999904&#"326&&54632&&#"#"&55732654&'&&'&&546hf}eqea׬h\_|"%.gnc_ةi^]~"&)ejdlb{+d ajwX)D"L9j1_ůbmvW%D$U:h3! @ 5 104632#"&3{zz{{zzL'@6 691/<20####&&5463!}^`ײyy%!3c@72//)/ &$Z 43%$&2!,499991/<299999903#7376676632#"&'732654&##732654&#"Ph831TѢ&Y3$H%! zqof Ţ316ɨ! ʩt}w3.FO@, /);G  8 75859#7AG299991290#32654&'2###4&'&&#"3267662#"$'&5476$N{hm`j[`Z^놄Y^db\[ꀃ_[aw jfmmhmjinrke)BKOG\ruYwmHL[]a^Z_^\ba]Zdojfejqpkh kglw31II@*   2 2,>J : 78889&7DJ99190&&#"32673#"&546324&'&&#"3267662#"$'&5476$)oSusWu ē״ 3bZ\셄Z]cb\]遁_[_w ifmlgmjjoqjfMWaUv[\`_[_^\bd\Zcnifejqoji  lhmm L@)    <=;< ; <= 9991<<22903#######5R6R}^k66C-C#9@10#3 y#\/ZN3 @  > >1<204632#"&%4632#"&yA),?/)C@,0=>)?@# q q   <291<2<29990!!!!'7!5!!5!^X{;YVssFss@?@( \   91/<90#!!!!!!!!b/%sH#<%^}Cٚm= 7l@<8)$ '*673($l3l$k3f88(*-7 '6 )- 899999999199990&&#"3267654&'7&&5476$327#"&'GrZ]c00LClX`i63JJwt+]TLNwtիVBD_Z]eCXBJdYac>X㊳8qnsSSLX錰qmrVV /D@$ -!' $-'-0 $??*0999919999032654&#"&&#"32676632#"&'#"&546323Xfz[U3Viz[UsC``LG`a/_]nl?__pl튄٤xڣ~)2@ q q    <2<21<<0%!5!!#!5!RvuuuXuX! *@  q  <229190%!55b/buu}e! *@  q   <<29190%!555bb-uueq}CD}=@&    91/<<2<290!!7!'!7!333!!!PNٮ;mEu/ (2@# ) &  BC B)991026732#"&54&#"#"&54632-g  L\>35@ i +)1^I]?4/AKNA0;F9X^rvL;5>:&`!X S@-   k!! DED!999999199990!!73#7#"&54632"32654&ob^X -uI˞Yxnt]`ip/lqN54A2r`wo`u!  9@k  DD EF99102#"&5464&#"326!!ݬ~ck}fkӷ׸fsipdD@#   HGH G 9991/<2990%!5654#"!5!&5! Ly*+yoP4o0Ikυ T3:F@H%($!>4+!  47!(.>DZ.G;A1 :4$%A+:4 1AG9999999912999999903267#"&'#"&546326654&#"566326632'&&#"4&#"326R!Q>nQv6Dˆ۳Z?~JHRZ|!>xwuӈr|}k NRZjgeddc32$?gr))\T[Ys|wM]aWJX^7!+u@?,+"! % %Z,+"!( ( ( #(,.9999999199999990'7&&54327#"&'732654&''&&#"+=(((bJbaWA)toBSd#@[ \Z 9910##"&54632B//CA11@Ry0DE/0A@dZ@ q 10#!5sZ u9o *@    9190##'%w5w  oR}+D\';$Q@.%   $ c%$  %91<2999999990#7376632&&#"3##"&'73267z&J(,2?@\"5"t'%ɲ m޼T$'H@%!$  '!!q$q qq(* (<219999990#"$#"5663232675#"$#"566323267k\bdRjYo}VU}h[ddS}jYo{XW|KGGXIHGWIGHVIHFVV!@91/90%!bDC#JJr#?)/^ :@"    II 991<290+Td:Tb^VDVD/h^ :@"     I I 991<290%'7'7T)dR'c/VDRCcnVDRCc'/''$C'f'$'huf'2'j-Q@1*(!&$ ll&($"\fk*,-,+*)('&%$" ! # .9991/9904#"32676# 476$32!!!!!!zR\f.T^e5\Ƹ~|tq*3H'<:HR3^Wa]Yb[C7sovGӜ)*6^@2 "+ +1 Z%7("4(.79999912<299990&&#"3267#"&'#"&54326632"32654&7yx#Q>nOr7I'߀?F}S¨1{vNRZhggdch,hgfinצۦ@ 9910!!w@ 99107!)ww.@t\99991<290''55\?\2@t\  99991<290% \5@\51@ t\ 991990'13\'@ t\991990\5= ,@[ [ q p JJ <<102#"&546!52#"&546V/DC00CDRX0CC01BDmD//DC00C1uuC/0CC0/C#u"@91990 9%-B3'\sZ'<`'@103mo'V^ /@H&!.$!  -' % !/0/%*&-'*$ OLM.&OL*02299999999912299999999904&#"32666327'#"&''7&&5467'7<}GG.-@yy+f#{'G$+.86&fD-??-/@Am ޣ T=!!N@,  z  99991/<<299990!#3#736632&&#"3#Tˢ^f#{'G$+.86&f ޣ TBB@)   \   991<2<20!7!!7!3!!!!7FoPoEFoPoFB^^B @ P 104632#"&C00CB11B/DD/0AAh"@ts 9919901\47@ts  99991<299990%- \4?\4LJ #/;GKh@:I<9HL3gBh9gd^Vh;wVh'6P'''V{'='B']?@(<210##?~~~  D%@@%\& %&.99991/2203267654&'&&##!#7332!qL^?y7g7VaNEiH$ä?X!ߔE#SgOD)y *`@6( "("Z+    UT%+999999199990"32654&&&''%&&'77!"&5432:9CXLHx1!::t̘ɛ?kHe?EIb1uE9`5~bs'<`'B'\N 1@  \    9991/032676654&###332##;ba$CKJZ+-Bà=@CPNC0Tif(02_n<2,B 9@ Z    9991990"32654&#36632#"&Nu¡$Rm>h{ݤզXXk'@ qp10!5Rww-5 0@   V  <291<290'7ZR%R%#P%PR#%R%RR?#@ 910#7!1o)? ^?3@ 99991990!76676654&#"#6632!u6U6`Nahs]?2Ud7@O``|kPu+)+G@! " +(( , "%,999919990332654&#"732654&#"#6632#"&5+lbWbqmh wTHJ\lwl^TX%NXeWIMT\T@KJAjysdVyaL~{p U@-     29991/<290!7!533#3#7!\65Rnl@@loj'yrPwX$a@/  "" !#!$%2999991/990!!76676654&#"#6632!3#7!Eu&S2\J^clXloj'y999991/<299990!7!533#3332654&#"732654&#"'6632#"&5\65Rnl@@lo)h^U]khe  t|PEGWi|rhYPTrPwuIQ_QEGOTN=FE<bpk]Qr[HuuhL')Uf '*'#H^'JFT`',X'''6''VfF'&`')'FfF'&`')'F1) $H@*$  !Z  $  %9991/22990%2654&#"!7!33##7#"5432􅺑uZ##욟Cj z0mޥا} }yZT*kn9y#@ vu9910!!L+^B @ P 104632#"&C00CB11B/DD/0AAfNNw}N^'h9L51^mN9N^R^BVTwmwqdN^fNNLsfNTNyNLh9Nh`N q}{3 '+wX53)1){=#VBH BFJBVBh)5BHL%bs^fNLh}555555)))))H'VBh)h)h)h)h)bbbbBF7)B93Ld%ww/=huB/f`N%d hbw9L)hj9)NN+VV=)=Z=Z=BNNLNNNTJTThhRqh}}}H)9Pyf5 Hwsh)+9N-   +%%%)Lsf#T H^f)^f)19N  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~D: ~1BSax~ & 0 : !""""+"H"e%  0AR^x}  0 9 !""""+"H"`%^CiTjq_8 (BJbcdefghjikmlnoqprsutvwxzy{}|~!w  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ sfthyphenperiodcentered####Rtc>i$B)~V9\ S  E  L j  e $ O8Zp dG.\ R'_;] P],9F)6CP]jw;3+`~  O  !*!!!"A""#D#$I$%D%t%%&&&&&'-'>'>'K'X'e'(`({((())4)x))))*d**++w++,,5,,,----)-6-C-P-]-j----...7.~...//W/}///0*070D0Q0^001Z1g1t122&2_2~23&33444444445555|55  $&&*K-r2K4K6&79:; hheadT6hhea.$hmtxqvHkern,loca' maxpq4 namehposth}CprepYq8Oi8w  p  7 4? s p FuturaBookFuturaBT-BookCopyright 1990-1993 Bitstream Inc. All rights reserved.Futura Book, Geometric 211Futura Book BTmfgpctt-v1.54 Tuesday, February 9, 1993 8:09:25 am (EST)Copyright 1990-1993 Bitstream Inc. All rights reserved.Futura Bk BTBookFutura Book, Geometric 211Futura Book BTmfgpctt-v1.54 Tuesday, February 9, 1993 8:09:25 am (EST)FuturaBT-BookuP^ZmXuhV`V5f1mh9m V?}!HsuqP5P`XR=sDV^fhBuwZs){'du)uNyL- fu-fw'!bsquPR5P XZh)X-J {}ZRuyfBuuwwsAK]Y&Y@&}}DG}}>!! 77d.  Aa.a@.GG>>"   }  } S>5%k%S~S~S}||{z{}zyxyyxwYxxwv&wYw@v&srAssrAq}popponYoAonm&nYn@m&ihgfeb}a``^]]Y.WVUTRPO}NMkKED ED A@@?>?>9]8>7654)432}10/.-d.-d,}++*S)(&%#"! && 7}],dd%% 7 A6D }  7 } 7 D  d d d++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++@, %Id@QX Y!-,%Id@QX Y!-,  P y PXY%%# P y PXY%-,KPX EDY!-,%E`D-,KSX%%EDY!!-,ED-ff@fgf/10!%!!fsr) @ i h 1074632#"&3F11ED22E'P1FF12EE.s^q@kj1<20###wu))hP@5 l l     9122<<22<<220!!!3!!!!#!#!7!!7!_-3+^J++@`+X^b)){{++{{FB!(/j@;/ " (! )q !qp s0, %,)"%0<<9991<299990#5&&'7&&546753&&''6654&'fھOhOz3bDOWfWfOxtmmJ㭺Z \Hɏcc nf^KRlLUp+ug49 #/3L@*t u tt'ut1-0s430!21$!*4999912<0#"&546322654&#"2654&#"#"&546323JPNLIPP JPNLIPPv}J{Tȳ8ƳV% 9x@E 8510#$4{{*y4s85419-$' #'-09 -' - :99999991/9999032676654&#"'#"&5467'&&54632667d+x[sR@DE^NL`ma~<0.?(V0k+]3!RQtP%*j?K[`J%Fbc渃aC9vElT,qGuAq1^q@ kj10#u)? #@}h  2991990&7kvwuxklghw8#136P? #@ }h  <9919906'7Pkhgljyuwww1fI@, h   <<<29999190'7'737'#524f11fXX}Z}Z} %@   <<1/<<0!!#!5!vu)u'y @991990y!;y`@10!!- @i  1074632#"&F12GF32Eb1FE21CCBV@ h/99103#͉1i`X "@ qqps 10"32'2#"^'capm9./;@ 1/0!!7!/bsVs=@  qp  999991/9990%!6754&#"#4&546325:e榦o$Eq׿q.W@/ % .q+qq p+s/%"((/91999990332654&#"5232654&#"'6632#"&5q~ x {sps}wҳ Я-3 *@     <291/<290!!33#RJT;}^1F@' q qs  99919990'!!6632#"&'732654&#"!\2r?K{1lǦWɖindjʨ5w; D@#  qqsp 9999919999032654&#"6632#"547+u6n= N$" PR @s91907!5!qZ%qJ /A@$$ q*qp*s0$ !''-0991990"32654&2654&#"&&54632#"$546^xx|z-||vBqp~}qq$'Эw#)ʎÒs5 J@' q qp s 999991999904&#"326#"&5432'u6n=#"z (N{ @ ii <2104632#"&4632#"&F11ED22EE21ED22E1FF12EE1DD11EE { 0@  i    9919904632#"&E12ED32D1FF12EE !;Ly @291905fhkgh\@<210!5!5RRuuuuLy @<919055fgs*6U@.*  '{.i4{y47 $*1+1 $ 7999999919903#"&546767654&#"#5463232654632#"&d`QYaoK:LLF11FE22E![d ^ESof[f tg8Gbb1FF12EEqN[`@7POYL CYS"!YF=%SL%1!PO!"@CV7VI7+\991/<99990733267665!"32$7#"$'&5476$32#"&5465#"&54327&&#"326 :n77-n0Yeysy~eE-wec$f}xETcc3^[}8<nPf^fLy(,.0(L Dhez­cQWa[Bmp]\u6ţ${WQca79NMW[>O?Zdnw )@h  91/<90!#!#ľq?%$-9@" &%h #-'$ *  %!.291/903!2#32676654&'&&##32654&#17FMoj@9>ׇ{%-4>;#\a3!(4atX9=2 rEPv!slqmT%-@%""ys& "&2129990&&#"3267#"&'&5476$32TitQTT22Xcmt`qtptZrm^TWׂfH}tsOQEBoD©qlkMQ`*@ h  #!9991/0%3 676654&'&&!#! !#`oEZ^][Eo8`~`?/9K홚L:1?JaaJ? '@h $! 2221/03!!!!!VV\Ϣ !@h! 221/03!!!!V\-m1"?@!!!ys#! "#9991990!!"&'&5476$32&&#"327!\xgOuvc6fOC%^1p,*c]޷'p^`u  &@ h% ! 221/<<033!3#! 3H!`@h!1/033Hw)@  sh /91999903#"&'73265ǰZ@s6\2OAGJs80v &@ h ! 2991/<290333#glum@ h&!1/033!)1 *@ s  91/<290##Z9))9E#@hs!1/99033/nXm/#@ *ys0 ' $"010%2676654&'&&#"#"$'&5476$32{xWVZ[UVyzTVZYWXtooߛopuupn !not}[WVz{UVZZVW{zXXZ\lluulmmkttkl,@h (!299991/0#!2##'32654&##Z38FOOF81XXXo"'2jj2("irms5I@(  5  ,y s65 2' &"6999199906654&'&$#"3267#'#"&'&5476$323^e*(SyTTZ}}G]R<@Wz|_vopov} JZBZTTyZ45 "Ci32IGq=nlsfekݧff:@ h  )  !<991/<<03!2####32654&#X4AH/̊!(3hFF%iqP'K@)!' !ys(' $ $ *(9999919990#"&'732654&''&&54632&&#"ŏԭ) oqr贄61zMb}`e-=ʊNyb2L=pm\USx]Nr,@ h1/20!!5!!bd)@ s h %!1290332653! ʽqq')"@sh9129033R9`\ /@ sh s   912<9033suo5lF *@ h   91/<290#33# \:/a -Bw@ h 91/290!33}{bT#@h+991/0#!5!! 7dd@h2103!!#JDuBV@ h/991033ϾiNd@h<10#5!!5CfX@ 91290##PFFJ-@/10!5vv#@10#3x#\Z 4@ { { 0 /.,2991/9904&#"326#5#"54325\7js4omdi gf9 6@ { {  .2 0 191/99032654&#"36632#"&'#55qj6ŠfgkbT^1@  {{  .,991990%#"5432&&#"326^>Z L@0@sz_WN?DMŝ @9129033;9 +@    /912<9033ihop4Bw "@  /91/<290133#`cGF'b B"@9129033{ B9o?$@9991/03!5!!  bZ0e@81 %" !/()""!/1 !/< ;!:(1<<299991999990"&#"33#"&'&&554&#"#52326554676633ZyVWooWW~'#cy*7-nn-7*xd#F^]}$z{}#?@=10#?~bV0a@6%($( !(*1(+!:;)<$1<2<999919999903263"&#"##5232655467&&554&##5323oo,6'uf)xWWooWX}'#dz*6,X||$}__}#~)@  ? 1990#"&'&'&#"566323267e]+_59dSyiX8yrWTxsHH HKUIH( :JT^'$' "X@/ ! !h# "! ABA  #99999991/<9032654&#"4632#"&3#!#!G45JK43Hueeeeľ5HI43JI4eefL?qm)T'&d'(7'`'1'm^'2{'^'8'Z'DHZ'DCHZ'DHZ7'DHZ9'DHZ(4P@.&, 2{2{ C)B#C/0/. ,591/990#5#"543254&#"32632654&#"4632#"&7js4RG44KK43Hueeeemdi gf.4IJ33JI6ffeT)^'FP'HP'HCP'HP7'Hi''C'7'9'QBV9'RHV9'RCHV9'RHV97'RHV99'RH'X1'XC1'X17'X1ZB %@ h E  <<1<20!5!3!!mlB1ϏJ7ym  @  FGF104&#"3262#"&546uTTwwTTuuvvTuuTTvvoutvw;f!Z@-" !     " ."<<<<2199999990&&'667#5&547532^wi=Sb/ % > ("%/ =)%0%>99999999912<2<99999076676654&'#53&&54$32&&#"!!323267#"&'&'&#"V7|G2$ }-- 0,X13V)8e'S*#@6W-1X\+]2(U+uz:&DbuA#5v4o H' t3! @ H 104632#"&3{zz{{zzL'@I I91/<20####&&5463!}^`ײyy)7!7m@<5/&#!/)&!&/{{%&8&%5,. .25018<991/2999999903#534632#"&'532654&#""#532654&#"ϸkhA0B&$w}vpGk Ѫ| wrx~73MU\w3.FO@, /);G  K J5K5L#JAG299991290#32654&'2###4&'&&#"3267662#"$'&5476$N{hm`j[`Z^놄Y^db\[ꀃ_[aw jfmmhmjinrke)BKOG\ruYwmHL[]a^Z_^\ba]Zdojfejqpkh kglw31II@*   2 2,>J M J8K8L&JDJ99190&&#"32673#"&546324&'&&#"3267662#"$'&5476$)oSusWu ē״ 3bZ\셄Z]cb\]遁_[_w ifmlgmjjoqjfMWaUv[\`_[_^\bd\Zcnifejqoji  lhmm L@)    OPNO N OP 9991<<22903#######5R6R}^k66C-Cq#@103q#\V'7 @  Q Q1<204632#"&%4632#"&FC-.C@10@E..@=12A-CB.1@@1,DB.2?@)?@#     <291<2<29990!!!!'7!5!!5!^X{;YVssFss@R>@' h   91/<90#!!!!!!!!mz}d ľRϢ?V9m 7e@:8*% (+74)%4%y4s8*). (+7  .' "8999999199990&&#"32676654&''7&5476$327#"&'ScyVVZMHTOh{UTZIMPgnupohPhmupp䝀r?@ZVU|wLP?>YUU}l^bRemmtTRPemlsRR /D@$ -!' $-'-0 $RR*0999919999032654&#"&&#"32676632#"&'#"&546323Xfz[U3Viz[UsC``LG`a/_]nl?__pl튄٤xڣ~)2@    <2<21<<0%!5!!#!5!RvuuuXuX! *@    <229190%!55b/buu}e! *@     <<29190%!555bb-uueq}CD}C@# qq    229991/<<2<290!!5!'!5!33!!!!X[uy{wL{yV-&C@)' # $ '&$#  ' %'912<99990326733267#"&'#"&'#j~rg}-y %#  .FE)`W,q<-!D%mv'4@ !}FMFMDEu#)6@'! '!* $$*99919906654&#"#"&54632#"&546324&#"32 OH5-,_͓ٞc ZRqXTo\QN+;]Hզ^uuzw *@    91990!!!!53#1 ?褋-wX@SS120!#!#c-#b@6  " $   #" #T#$99999991/<2299990#3267#"&5467!##"#663!sn092@#nt!TŞ'7; bBa91gc0^>Eu/ (2@# ) &  UV U)991026732#"&54&#"#"&54632-g  L\>35@ i +)1^I]?4/AKNA0;F9X^rvL;5>:&D +@   29919904&#"326#5#"&546325fktwnivss)PU(smynt~{uFIHGxB+ #@  $ $1032654&#"4676632#"&'&&hhhiz754ML558856JM457weeffG~11343/~FD|224312|dD@#   XWX W 9991/<2990%!5654#"!5!&5! Ly*+yoP4o0Ikυ5/ <C@H"A+:7 63%+(!A=./{ 63= /3{:A{/+:D76>.( 0"!>...=0..YD<999991999999999032654&#"#"&546326654&#"566326632!3267#"&!&&#"xqutw})/èO9>IPK.%_3wEՎ/}pZ_gX[cdbg-,{&&k]cg!ebP|~hyL9!+k@:,#"  & {&{,#")  , ). 6).,,<9999999919999999077&&54327#"&'32654&&&#"Lu65VBwIt::^>%Aɰl'H@%!$  '!!$ (? (<219999990#"$#"5663232675#"$#"566323267k\bdRjYo}VU}h[ddS}jYo{XW|KGGXIHGWIGHVIHFVV!@91/90%!bDC#JJr#?D1\ 9@!    Z Z 9991<290%j1i1CHCD1\ =@#      Z Z 9991<2907'7'7bhpdk1HLTCilHLTCi#'''}'$C'`'$'m`'2{'m6J@(#5&2h&s2y!5"  ,"7<<<<21/99032676654&'&&#"!!!!!#"&'&5476$32%[WTyzUUY[UUwxTWYVVsrSvqq"tyWTXZTVzwUU[YUWa\Ϣ52m\КpmrV+7_@3&/%55{%"{/{) 82%&.2.,.,8299991<99999990&&#"#"&'&&54326632!3267#"&32654&#"`}r \5ہB9w$xJ8|-\9yEՎŠ1yss\o""FކecaicdP|~iɑ@/10!!u@/105!uuT'2@h99991<290'''>->V%2@h99991<290%);/;y@ h991990'Ἤ>y@ h991990y;= ,@   [\[ <<102#"&546!52#"&546V/DC00CDRX0CC01BDmD//DC00C1uuC/0CC0/C#u"@91990 9%- B7'\^'<J'@103}}'V^ /@H&!.$!  -' % !/0/%*&-'*$ a^_.&a^*02299999999912299999999904&#"32666327'#"&''7&&5467'7<}GG}}=\\'^?PWStxkLTH ?@? <6# ?  <,)0 0  ,6&  &39,-9 @2<299991/<29999990!5!33#3332654&#"'232654&#"#6632#"&5P/mml}}'n^N[dfc _bYKQZlVNR_~Pho >KTLOQRKH@KGBkpteIe lRpva')Um1R'*B'ZB+'JJd', 'P)'6?)'VmT'&h'T^'F)mT'&h'T^'F)Z $H@' " { { !#0 2.%<2991/<29904&#"3263##5#"5432!5!\6jr4hřscj gfy`@10!!-ZH @  104632#"&F12GG22E1FF12EEf\\N^'h9ZV1^NNPPf\y\V`sq-^wqs+qm+m13mmHPN;NVNNZTZPPZuuVZB?`w sm+3mZZZZZZTPPPPiuVVVVV````3Z7V3o3L)wwqmhuB/jDjB%d5L+9LTDTDm 9mVV{T{V\y\y VVDD333Z\\y{V9+++{mmRqm7B PB?sV -LJJJHHmZPB?mTmTZ\  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~D: ~1BSax~ & 0 : !""""+"H"e%  0AR^x}  0 9 !""""+"H"`%^CiTjq_8 (BJbcdefghjikmlnoqprsutvwxzy{}|~!u  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ sfthyphenperiodcentered####NpWf}$OnfY8"Ei .  x  0 a ) P o 1W|(pBC}N-U6\] -:GTan{ %2?LYfs-dfD_AYHy U !!l!""K"#I#$B$l$$%"%%%&%&6&6&C&P&]&']'r'''((!(e(((()Q)t))*O***+++++++++, ,,$,1,,,,,,,-=-R-x--. .1.Z.y....///9/000(0n0011#1j1223,393F3S3`3m3z33334 4"4A( &&*K-r2K4K6&7D9:; wmĢ%#}$B^ @ff  <21074632#"&4632#"&;++<<++;;++<<++;T+;;++;;+;;++<<^ -@  f  99919904632#"&'-;++<<++;T+;;++<<1='bd @291905f XXX=?@<210!5!5RRRRjOObd @<919055f=XZd 7_@3!"74 $"4-" 4"'f j8!-!#1  *89919999990%4632#"&#54632326553#"&546767654&#"<++;;++7&gm4ILzk>?@-x|/$HX!F '7`ug:<1qP"3@ " jz#"#91990&&# 3267#"$'&5476$32Nm~WYX~klvhknqjg#b^ZߑZX\VTBGrgjgerMM!*@ n   9991/0%3267654'&&###3 !#;B\^_]Fw1\zx_-s3=VR?4 '@n ! 2221/03!!!!!PP}6}} #@n 291/03!!!!:}6} q'"?@!" zj#"#9991990&$# 327!5!! 476$32fY[WXڂ5dhbj >VHۃZYY"stXhqp &@ n"  221/<<033!3#!RH ;@n1/033HX,@   zn # 9199903#"&'7326Ӆ]/^*[4bT'MKV96 &@ n  2991/<290333#J\RD1@ n$1/033!}XR (@ j  91/<290##Ro1Fm9 ^?#@n1/99033 |7`q/#@ *jz0%$010%2676654&'&&#"#"$'&5476$32][a`\[郂]\``\\voq䞞ppuupnnpuP`\]탄^\``\_酄^]_mnssnoompqlo ,@ n & 299991/03!2##32654&'&&## 7EL[&&'["'2jo{Am+,$q5E@&5  ,j z652%&69991999036654&'&&#"3267#'#"$'&5476$32XXa[[끀][__[]jEj慛lpuupnnpuuvX_င\\ba]]酅\\`?:DCqjomlsslm꜠r/3@ n   299991/<<032654&####!2#;nP ˲DwFɫF&J@& $j$z' ! ''99991999907732654&'&&54632&&#"#"&Fr niݒӨn3g uPl.~Ɛ=lwj\u}]]>?Bl g'@ n1/20!!5!!ml;}}*@ z n "1299990332653! ƅDo%){"@n9129033+Ù9X -@  n  912<9033n`k9o? *@ n   91/<2903#33#ylJMlEN V@ n 91/290!33a^b @n991/03!5!!f ?y{d@j)(210!#3!#bPcB9@ j/991033m̾i/dR@j()<10!53#5RݰcbV@ 91290##9}'%}+-m@/10!5mPP d@10#3^^T 0@  { {  -,*291/99032654&#"5#"543253ݛV,lq-{˲bg c` 4@ {{  ,/ .291/9904&#"326#36632#"&'s{{-qk,ǻ˹`cfc\d5@  { {  ,*991990&&#"3267#"5432V>J˞HGAZP7++Ӱ22%% X /@  { {  -,291/99032654&#"5#"54323ᛐT,kq-}˲cf c`9X?@!  {{{,,*991990&&#"!3267#"5432 {p ?b1qDŏ!ztijk> !!@@  {{   <<9991/<2999903#53632&&#"3#d!<-A6i l giZB#/I@)"$*{${*{ 0-" 0 ',-*0291990#"&'3326766555#"54325"32654&.mR!)mi%Պw#-caRT:3!W[/_lmZPŬʫ2@  {  1.991/<99990336632#4&#"u6f}otUU#1L/ @ 3 .1/04632#"&38''97)(7'77'(66WwBL/ @ 3 .104632#"&38''97)(7'77'(665 )@  . 2991/<90333#{%#r5+@.1/0!#3+"C@&" {  44.#291/<<<2990!#366326632#4&#"#4&#"{{,^a%5f{kjwzfkzwTXYVXW'-'~2@  {  1.991/<99990336632#4&#"u6f}otwUU#1Z ##@{ { $,5 ,*$10%2654&#""&'&&54676632;ʓʎ_GCFHCD`bEEIHDFLәқsKFBbaCDHHDD``CFKB 5@ {{  ,/ .2919904&#"32636632#"&'s1w3fk4ſ˿75`ggdZB 5@{{   /,*291990"32654&##"543253w4lg2w'Ŭʫbdgh_2@    .291/999906632&&#"#3DW5(+o{{s` tЛLw?&F@% {${$' !6'99991999907732654'&'&&54632&&#"#"&?unPN\ pl#qbG@SReqCJKOBfG7uVq^W??BK87H+3xjzg $@{ 7 7 <<1/<20#5333##yyiliw*@ {  1.129999032653#"&5svzwEʦNw@9129033hw`P -@   91229033{9RPw "@    /91/<29033##ٖJLwFV3f+Bw"@9129033#+5wJw @{{91/03!5!!3oobP(f@7 )#  $  ')': 98#)<<299999199999990#"33#"&554&#"#5326554633P%^VmmV]'+t s+mg eXZ-@;10#-ZbP(d@7) ## #%)#&89$:)<2<9999919999903263"&#"##532655467&&554&##532!t t+']WnnW^%+LZXe gX)@  =1990#"'&'&'&#"566323267jYc ZSxiZd ]SxJI=9 #9991/<9032654&#"4632#"&!3#!M87NM88Mgdccc!p'T8MM88MM8ddcy%Lq`P'&\'(B?P'1BqH'2BH'8BTd'D+Td'DC+Td'D+T'D+T'D+T (4N@,  &, 2{2 {  9)>#9/ -,*5291/99032654&#"5#"54325332654&#"4632#"&ݛV,lq-{N78MM87Nfdddb˲bg c`8NN88OO8ccc\`d'F!Xd'HXd'HCXd'HX'Hgd'qd'C d'''QZd'R;Zd'RC;Zd'R;Z'R;Z'R;d'Xd'XCd'X'XdB %@ n ?  <<1<20!5!3!!i{hBs?s<?b  @  @A@104&#"3262#"&546'~WY|}XX}prsW~|YY||kqrsr{9f!M@&"!  { {" ,"2<<2219999990&&'667#5&5475327k>Ob/9UPPDJV͏(+ /&## dN8@E2+/5(82! (o5. +o2or2v9 % "% .8(%/%99999999991229999076676654&'#53&&54632&&#"!!3267#"$#"d$a>)'342332[8=g/X7^T<;g/DT9d0,c>ZjNByZ7V#Gs+qEJ;gby>?s9 Bb@5C(-39)B  ?-)%jC*93 0B " )(B<B60B"6 BC99999991999990%2654&#"32654&'&&'&&5467&&54632#&&#"#"&5r{sqohv[|k<:~pkɪoja|g͢lmǜszs~tuqdQa>-56W{(.iz|t[Yn9J)/i3! @ C 104632#"&3{zz{{zzZ'@D D91/<20####&&5463!FFٲyy!#6k@;4%.($!.(!{(.{{(7%$4++ +4.7<991/999999903#534632#"&'532654&#"5232654&#"yyml<"A# ~{vEg i)Ѵt* |?: ^eT{/.FO@, /);G  F E5F5G#EAG299991290#32654&'2###4&'&&#"3267662#"$'&5476$Tm{mo\sb\_[_ed^^`]am hglkhkiinpie5HZNINqxYx wyNN]_cb\a^^ef_\aniffjqojh kgl{/1IJ@+   2 2,>JF H E8 F8G&EDJ190&&#"32673#"&546324&'&&#"3267662#"$'&5476$9wX~{[f ֯ Eb\_[_ed^^`]am hglkhkiinpieQ[ðiX{rŅ]_cb\a^^ef_\aniffjqojh kglT L@)    IL JIJ IL 9991<<22903#######5f;1@( n  91/<90!#!!!!!!!\;j)+)gb}6}}q 7e@:*%8 (+74)%4%j4z8*). (+7 .%8999999199990%32676654&''&&#"'7&5476$327#"&'anZ\`KOA[yZ[_PVAjoupogFaiupp⧌nLIc[\ubDOPa[]{eFfmmt^\CimmpTX /;@ $!- !'0 $NN*0999919032654&#"&&#"32676632#"&'#"&54632y6[k`W4\l`XbBa^GG_b-gfywNffyv닇ԟy՝ˁ;2@      <2<21<<0%!5!!#!5!R/P/RRP`Pb1 *@    <229190%!55ffPPXF1 *@     <<29190%!555ffPPFkX`^X!{C@#     P229991/<<<<290!!5!'!5!33!!!!b%!cwbd\3dbX'+D@*, ("%) ,+)(" , *,912<99990326733267#"&5467#"&'#F{ xr,}y#!  1DA+la wy<'+D~7 \ ` ?@SY[Q)8@'! '!* $$*9919906654&#"#"&54632#"&546324&#"326 LN-m6'zW֗a{^[u_ZrBEU%;VDүb}u} w -@     2912990!!!!5-5%3{y=w/@QQ120!#!#1f'#@@( " " #$91/<229990#3267#"&5467!##"#663!Nw1<-.\k!Xy'7= yx=>b;0l l^/B@Eg- %@ !RR!1032#"&#"#"&5463232AR7/M1 C4@T90!. B4BF7-5,E20;=J?1 '@    29199032654&#"5#"&5463253ulhyxihy"wPU{!]{x|sXpDGEBpD1 #@ $ $102654&#""&'&&54676632nonkH633532IK447635lkkkP32/wEDz0.21/1zCCy/14D@# o  UTU T 99991/<2990%!565#"!5!&5! byyyyfW RfyG=fH07Cz@A$' *#0A{ #1{;5{ {-' D12$#>*82+82,>,VD9999912<<<29999990!3267#"&'#"&546326654&#"766326632%!&&#"4&#"326?g/uEˎ{=%ǣW3LLKR0mH'{opuyptij>lqit,, &(cXYbTz{L\dXU[nX!+i@;,+"! % {%{,+"!(  (,5(,*,99999199999990'7&&54327#"&'732654&''&&#"7o;8UGn>q;:RER3k;""9-h>"$);qIP69q:nIT7:V*(ϟ!4JD9v_Ϫk b_?'H@%!$  '!!$ (= (<219999990#"$#"5663232675#"$#"566323267jYj]SiZj{]Si[j]SjYj{]QJIGY]IHGYIHGY\KIHZB!@91/90%!@PRy/H?-1? ;@#    W W 9991<290%VHV1555-1? ?@%      W W 9991<2907'7'7RVjTV15LX5u}5LX5u'/''$CdBP'$dBqP'2Bq6M@* %1nzj + 7<<<291/990!!!!!#"&'&5476$3232676654&'&&#"??FafSpkl0f'][U}VX]VVY|X[]}6}}743mXԝkmt/#`Z`^Z^킌Y]__[`\ 9\@093 !{ {{60$:  !3, , ,**:999912<2299990%2654&#"!&&#"!3267#"&'#"&'&&546766326632=ʓr'{o?g/uEȆ$9ՈaDDGHCCZ<)Lәқ{٥jk@lq}GDEc`CCKvtm}@/10!!P@/105!PPj'@j91<290''–ÔCCj'@j91<290%ÕlA A{@ jX991990'ÕC{@ jX991990{–A ,@   YZY <<102#"&546!52#"&546V)99))9:~RX)99))99m;*(:9))<RR9*(<;)):#u"@91990 9%-+B'\ VH'</B@r103km'^f} /w@D&!.-'$  % !/0/%*&$ -'^[\.&^[*02299999912299999904&#"32666327'#"&''7&&5467'7Š=D|tt=f @ _ 104632#"&=)*<=))=*>=+*== @ `a` 1032654&#"4632#"&sQ<FG=gnlk2vF ,,.,dOIRRBd@ 91<203!3D^^9Nf@   99991/0!33#"&5467=IF.6TOrlRkAt7.(pPTAxUd@ 91290#37Ւ\d^; 9@  n   $ <2.9991/903'%37!B@OV} -@   b <<.991/907#'73979?kR;{mRF'6B?d'Vb'==Bd']-@;<210##-ZZZ  +'9@  n &' /<2991/<20%32676654'&&###!!#533 !#FB\]_\FtV4Z{|\s3=VQ?4ffXZju^GcmKmvp')Uq'F'*FBZB'J+`N',BF`'6?`'VqP'&jB\dd'F1qP'&jB\dd'F1X\ $H@&   {{" {  ! #/,%<22991/2299032654&#"5#"5432!5!33#ᛐT+lq-h}˲bgc`e ewy=@10!!Lh5 @f  104632#"&;++;;++;+;;++<<fNN{'d'?Vd///VwNyN9fHb=R{}{{{ymqqNXqq9F'h/^ {/9// TTT\TXXTZ+P+wZTTZ?7j/'9+ qqTTTTTTTTTTTT\XXXXg+wZwZwZwZwZ7777d?{ds3Z#!{{{q!F -??ZD1XHwX{57--q q1\mjmjN{N{9+^ V^++dNNymj=uqqRqq-B9XF?{ sT^ 9+T5  / B%%%=qTZF?q\q\\XN  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~D: ~1BSax~ & 0 : !""""+"H"e%  0AR^x}  0 9 !""""+"H"`%^CiTjq_8 (BJbcdefghjikmlnoqprsutvwxzy{}|~!P  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ sfthyphenperiodcentered####OqZh(Sro[14X & z  t  . ] " ; Z AeW+z+dSh&Z|&Wd %2?L)6CP]jwzp7~RO  \ ! !P!!"1"#K##$$B$% %4%q%%%%%%&d&&''?'k'''(($(1(I(())~)**/*N*}++++8+E+R+_+l+y++++,,,*,7,D,Y,w,,,--P----...^.k.x.../////050L0001M12 22222223333)333 $&&*K-r2K4K6&7D9:;````````m`m`m`m``c`````c.\\\\Y Y ```l`l`l`l``.`m`m`m`m`m`l`l`l`l`cc#;-\\\ lM1'c.ccc8t&l`&l`&l` xl`:l?Ll?Jl?Ll??0550*\\\\\\|1 Y EYEYEY!=l?Ltt4%@V]$`X'^] 3BL!8t-t-t-t!! M]|x[B73yY9!|xx)MMMRh?E?EZ\\\l,M\\&/\`@ ~I~ (8    " & 0 : D !"!&""""""""+"H"`"e%  L &8    & 0 9 D !"!&""""""""+"H"`"d%rPON5&UPJIF=5,PMrogfda^R6۸P:DE&'FGe   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeivhimk|torzn|wk{twva}p`gr{C~uqlfcdfgFG<pqnoj}ehmHNuJKL~OMID,,,,,,,,J`H 8HVn~4P Z< <j:Lh|D  2 F Z j |  D x " D f 8 j  4 H d 4ff&j@ | BRtH0<HT`lxHT`lx&2X<HT`lx(4@r".:FR^jv(fr~&2>JVdp|(4R^jv ".:FR^jv*6BNZfr~&2>JVbnz  " \ !!"!6!N!j!!!!"" "" "*"4">"H"R"\"f"p"z""""""""""##(#@#d##$H$\$p$$$% %P%f%%%%%&&J&~&&' '('B'''(&(6(F(V(f(((((() ) )D)t)))))** *.*<*J*XDdU./<2<2/<2<23!%!!D $hUD 74632#"&3R99R)(:;Pp8RR9:)(P$Pm#!#!B+C+mm*#3#'!'#53#53!!!$;9<9$75'85$(V""ˬWWu![5&#"#5.'7327654'.'&'&54>75vDXXt/.y(qfe1-ADqnJI=y^=a.WQvzmhNG/.?7a-z- .A>GFoc<I+WImH|eJM#.=47632#"'&732654&#"'47632#"'&7327654'&#"MoqnnܛmltSQttRRt3mneoqnnomml9:SR9::9SQtkklkmmTttRQtt&>B:kklkjjllT::::RR::t|!$0B 7>7!'#"'&54?>7&5476323277>7654&#" -P%[?ޚ͏e fh98 43MP`1@RE?++6:[ 1^0(jEۃEbbdQQ c<>bDvvEc0 5!3!!#cHƺPP,!'!N?Q!!BQ 74632#"&R99R)(:;Pp8RR9:)(PZ'dRSW"7632#"'&327654'&#"WۚڜYYZZZZZZq !7!#+t.3@"%!!>7654&#"#!2?Ok9p"8ӏC"da0^Kl膆~y?vW/#+527654'&#"#>32# '&'3327654'&3[BAha53$ˀ8pqJJoA!:c>?/0rxwvqVpwKMvB&{ 3##5! 4'L !>32# 7327654'&#"#!5$L ᐑͱIJJk__^^rM~. |32be^a,q>!>32#"'&5474'&#"3276$* ҞUVyz{xUV> Ԙ̷z{UVyyUVb!5!'d2.u]"%4&547632#"'&532654&#"327654&#"d]56֋CD`___JKkjKKjiLK#xϼ~~~}~2``xcCD__kMLKLjkKKq"#'#"'&547632327654'&#"̫q* ӜmUVyyUVVUzxUV5՗˴}UVUVyyVUUV 74632#"&4632#"'&R99R)(:;PR99R)(::)(p8RR9:)(P,7RR9:)()(,'4632#"'&㘶R99R)(::)(!N?8RR9:)()(n\ 5n \c,5!5!c))pm[75 5 fh|p0>3#"'&5476767654&#"#.547632324632#"'&kQiab=>'(SEER kjmE +nR99R)(9;()ј]ydetFG56!!EEQPE7(iiԟd?;(V+ 98RR9:)(()l#?M327654'&! 32%7! '&'&5! #"'#"'&54763274'&#"3260?>WGF꾽DE|4 ӛWV_Cvw.{nlyyg5?A]e@AhRi5K{y隔Zxw~nS䣥y~wvo~]>>NMxhi !# # DkwiR N*332#32654&+327654'&+\]@A&'{GHM`ixIy|vRJNKIv9;XY[s*ih}Mqspmq>CgdDCl.&&#"327>7# '&7!2.H{V0g9}쩫(D0qI'c3!2#'32767654'&!#D金v}WihhTi.-ln++!#L  !!!!!! YkT- !!!#!-!lQ&$!! '&76!2&!"32767!~)(_Qʬ$3|lIPJJtu% !3#!#3f\/##"'732765uv#!5!c--0327653#"'&5AaaA阫^\Yb ! K[.|uS 3 NsbpSFk ! ! ! !W '6 C' O ! !# ab mieE%!!!5!-fp3!!Yt3Z5sSlf#5!!5/Y$,c#!#0,+!!zd7|nL`>3#5#"'&5432327654'&#"\⋠ʄŪKMu}MMMM{tNM2f$XYVYYWXYl 632#"'#4'&#"3276oŃȩLMt|NMLL|uMNČᓒfGXZWVUWWX`&'&#"32767#"'&5432M= 3#5#"'&547632327654'&#"\ⅨȄūKMu}MMMM{tNMgfڒXYVYYWXY`#!32767#"'&547632'&#"F EElT76E,bpLڄ}|/)H;* xGF((ljKkE 珍/B*El##5347632'&#"3wPP@X<[I/<xLj# %+*x`<!1%#"'&'3325#"'&547632534'&#"3276< F~ FwҸzLMxJCCIKEEi(nOilH'[/ՕnUW_UU]^U3632#4&#"#xcTS\v0/lk]@uiIJ)l#4632#"&o"V<=+++*==V2;V+*==++Vl#4632#"&o"V<=+++*==V ;V+*==++V ! !#o=.Y$;g$o#og 36763263 #4'&#"##"#A.1J`jI"#P]U_WZDq:;  3632#4'&#"#v_R('gp/.Zuk[ 78JI*`o432#"'&732654'&#"`.ژ۔NPOP(۔ܒUVUVl#3632#"'4'&#"3276oᅩɂƫLMu|ML|uLNjےtXYYWXX`> #"'&54763253327654'&#"\łǩLLu|MNMM{tNMޕj XZVWYWXY 367632&#"#>01CYag@=WA:.L&&#"#"'73254'.'&'&547632ĺ,A,|hef()9rX"D#b(3WY(cZ) 87Mn_ZYF&h<4 00=`SS5%3 ##5333v``e3253#"'&'&5oErrF/uUL=cc=LD4 3  # '' 3 {,s m !! ! ! Al N%! 3!J*0 G%!!!5!Cw_Tt%#"37#"&54&'5>5463tZ6RY9GF3232?632#"'&#"#"BggMT=.=MOPmZI"# @-#xF@(LUBAN8Y #"&547632#)(:9R():9R59)(R::()RQ>&.'&#"32767#5.'&'&5%5 zb(G=RQPZ;7#"'&#"'6767654'!53&5476324'&#"- 5z8+ )COPtTC7@(]7@k#a׊"ByNNjf(.q 1:+p:<;@4Te*3 O@EAnjUCONzf '+7&547'76327'#"'4'&#"32762nn株om~圭gfhgghgh-䘭ol⤢omgihgghgh('!533 33!!!#!5]QT^CEi3#3#mQI7G7332654'&'.547&547632#&#"#"'&'&327654'&#"am00Ֆ۴zy`>=fܢ21v]&'|}zde8:DEb`DEEDabCEmd],-DSblzy;:]~:$OwSRI?DGfvw42Z[_DBBB^_BBCBt47632#"'&%47632#"&**;;***,9<*)*+:<)**,9;T:)**);<*)*,::)**);<*)TM(-?'&#"32?#"5432! '&47676!2 ! 764'&'&z~]]]_z}(ӄ|,LMՂML~_^_[\bHCe*PqF]Z~^3#5#"&54632327654'&#"7V_~|iP-.HK////JH..9JNR4425PO5341]     ,),onqonM9j!!5!QQ!!BQM(); ##32'3254+! '&47676!2 ! 764'&'&-Yc55R$,LMՂML~}oEPWJH|z*PqF]Z~?!!C?\2#"'&5476"327654'&}ZZ[Z[Z[[E0/`BD.0/.[Z[ZZ[XZ--BFb11FA-.c0 5!3!!#5!cHH)ƺPo:Mj!!>7654&#"#!2UoR0?#XA$XZ)P?9Q8+=R0RQyJJ$jFfZ%527654&#"#>32# 3327654&u`4L=mOQanXYA**XI7E{~IJq|FD~QP*+CNDd '{Ll#33253#"'o῿Frta/uUL=c3%$#"'&5)###wbb̀=լhk y 4632#"&R99R)(:;P8RR9:)(P'I5j'#73#Xyb^4632#"'&732654.#"^____[]^QQ`.A'(A/ZYZY[[UecT*C0/C|? 7 ' 7 'Ԗ~Օnono# #73#'%3##5!\Xmn.cc*uyb>B䋂pK# $#73#'%!!>7654&#"#!2\XmnVoQ1A"XA$XZ*Q=yb>Bh:S4-;R0RQxLI#jF7~#%)25527654&#"#>32# 3327654&'%3##5!F`4L=mOQanXYA**Xmn.cc+tI7E{~IJq|FD~QP*+CND>B䋂p|q,9#4763232654'3#"&54767654&#"#"&54632Pj>=('TEER ֡mFD2n)(:9RR99RԖ_yʑtGF65!!DEQQE8(ԟd@:'W1D9)(R:9RR2&(2&(K&(&(&(I&(I!#!!!!!! OpaVbi^qLl.&&* 2&, 2&, K&,_ &,e2&02&0K&0z&0.c#3#53!2#'3276765'&!#!!D金v}WihhTiL.-ln++!"LZ&5Ul2&6l2&64lK&6l&6tl&6[@ 7   'IJJJmJ~I~Jl-%7! ''7&76! &#" 3254y&ꦀG:aݩL, ZauR02&< 02&<0K&<0&<2"@9#332#'3 54!#ZaOlWAMeL>,3#53547632#527654'&'52654'&#"PPr~Ɓخgj}PA@hyoz{yp9f^^W6}s`>={`>&HG``>&Hz`>&HH2`>&HN2`>&Hn*`>&HL `*/=!327#"'#"&5476324'&#"5632632'&#"327654&#"B GFje J+ĝzjk{78lh)3j8;SY<<|WRrvJHl=\i[\B45%v9&&'(;4LN`&J~`&LG1`&Lz`&LH`&Lno&_&Q&D&`o%377#"'&547632.''7&/&32654'&#"\CK-OzzޗRK=QI HQ NPOPD.|d瘕ڕmKd$*ڑUVUV&UN`o&VGb`o&Vz`o&VH$`o&VN;`o&Vn$cG5!47632#"'&47632#"'&c)j&)35LL56&&&)35LL56&&ƺ4&&L66L&)4&&L66L&)."&7#"''7&547632&#" 327654fmڸga٢=PhIUPOlؔfhהPA8Y(QRX&\G&\z&\H&\n N"`zl#3632#"'4'&#"3276oᅩɂƫLMu|ML|uLN˅ےtXYYWXX N&`ns&(`>?&Hu0&(`>&HJ- i&(MR` U&HMl.2"*`"Jzl.P&*H4`&JHl.&*K@`&JKl.K"*`"JIcK&+`&K.c#3#53!2#'3276765'&!#!!D金v}WihhTiL.-ln++!"LZ`(327654'&#"3##5#"'&547632#53FKMu}MMMM{tNMⅨȄūXYVYYWXY,ZfڒI+ s&,`?&Lu &,J3`&LJ &,6`&LK B&,M` &LM K&,`&LIlQO&.HM3`<&NHlQ".`<"NJlQ&.KF%`<&NKlQ&&.`<W&NX%H&/H,H&OH,&/gGF`@#&O#8'NZ0f1'NS^s&0?&'J",0?'J#[ &0M% &PM"0o#o2&01lx&PQH&1H,"'H6&2y&R ! !#o=.Y$;g$h2&3518t&SvBh&3r&Sh&3&SK&3KB&SKh'i %!!573*QXbb.5 #5735ᓓ9f gg6:2&5&Uzq&5{&U5K&5&UIt\Y'UGls&6J`o?&Vu'l&6JN,`o&VJl2&6`o&VOl &*!!!!!5# 7!25!327654'&#" EV~$sx?WD﨨榧-Մ76K/ ::𭭩`B$6!327!"'&'#"'&547632632'&#"32>54.#">9JInchpg=Ԙ'1KLElK''JjCNMrJIo23Uە~UU+QtJItP*TS2&9 &YzD&9W &YkK&9: &YIXlJ2&:L&ZzFlJH&:H/,J &ZHhlJ&&:~L'~GZlJO&:?'I]Z&;5%3&[K&;A5&[q&; *%3&[*0&<N&\N0s&<?&\u0&<J3&\J0I&<&\LD2&<lN&\O 0&<MR &\M~uO&>H3 '#&^HI&@H - N&`H&@cE2&A2G&azE&A}G&aKEK&AG&aI=`#3!#"'72767#737>32&#"m" ;1%;K%k+$ɮ>S)9-N'&ж^.Y;5Fa0/lJ&,0&'&#"#"'&'732654./$4763 '"502Oa@@Ƀ (Hm5T:Å k"p\ 76RqE?L۟Ջww44dp-K?7>uvM?L*'&#"#"'73254'.'&'&547632Y%,A,|hef()9rX"D#b(3WYI5cZ) 87Mn_ZYF&h<4 00=`SSt)K'=N<>t)K'aKN?d '_dAwd 77Awg 33273#"'&ݹ_^YXt47632#"&,/<>,--,>?X <,,,,>?+,Xd;47632#"'&732654&#"@@Y[?@@?Z[@?w9**99*$AX?@@@ZZ@@@@[+99**9$ !33267#"'&5476eG-O]nII.._R 1=:]Z=Bt'7>32327#"'&#",46:"Ngh8D`8[-7to)(7#45lj8.%dw ''c^cLlnLl@d'G{Vd=z{]d H{$tYN{`?u{Xg%J{'tUK{^tn{dL{dO{]d I{ ~{ [MZ3uB.sLTW 3#5!##!"zz3Q!!FQ8Q!!8Qt)!'a!N?tK''N<>N<>tK''a}KN?KN?t!''a}!N?JN?f@ 3!!#!5! >> f@3!!!!#!5!!5! >>>>EaBX2#"'&5476 \]]]_]^_X`_^__`^_ (74632#"&%4632#"'&%4632#"'&R99R)(:;PR9:R)(:;()R99R)(9;()p8RR9:)(P<8RR9:)(();8RR9:)(()M #.=M\47632#"'&732654&#"'47632#"'&7327654'&#"47632#"'&7327654'&#"MoqnnܛmltSQttRRt3mneoqnnomml9:SR9::9SQtoqnnomml9:SR9::9SQtkklkmmTttRQtt&>B:kklkjjllT::::RR::tLkklkjjllT::::RR::t]t  H,on| 7 'Ԗno#'@mm#>B& "!!67! '&!!3F)_k %DJIW NDX##5! # `$6%%RSq'ٗ'v@!B.!35!&576! !!5$4'&#"Bp/,˰nugȆwu.>uкˑ͡bӺ7O +7#"'&547632&'.'&"32654&wٚZQHG@>Q4}UUTUxy?CB~nꩨґ KJ%Cecadcʔ333%!3PW}Y !#3!53!3!53#Yǽ[[9#! !3!5 5Fs :Q~(Ol|5!|)ƺ#'@mm#>By 4632#"&R99R)(:;P8RR9:)(P!!#5!367NDբAL6U> l|)".#"'&54632632#"327654'&#"&#"32 ѡffΟ̞ڢdffd,oqF//0.GpmtF.//0Fq|fggfggo02HF2112FG21 7327657632&#"#".M'mF%\7.M&W6Z`f% D >.|p*M3232767#"/&#"'>3232767#"/&#"EqYB=)(/JRSrHw>=fQEq\F;)(/%L*StGw>=d%VF@PNBA91UF@POLm!A91M9;!!!!'7!5!7!5k~Z[xUc\A<GйGйMG9  5!59 ,MG9 5 55!M bVV,^E ZYLME@77h}(52632#"'&#"#"547632>7D)J{`5P%DHF\=+7[XADPV1suLjmZ>?;6'AFB1!F5^ufe>A!#ꕔBB7 )E!#54'&#"!!##5347632#303JI21PPtutu[J8987L\tuutE!#4'&#"!!##534763222II21PPuutu*J8987L\tuutu4632#"'&%4632#"'&T:<)**);<*)T;;TT;<*)4:T**<;***,;:TT<;T*,27@o]Z'M?2 'o1]B27H1o]tD47632#"'&%47632#"'&D*(<;***,9=()j**;;***,9<*):)**);<*)*,::)**);<*)*,d_ '_|Lldg7`|nLdQ 'ROTAw o'7'#53oK}=Q5. 33273#"'&_^ꞞYXK '3_d AwhK '_d Awl'7>32327#"'&#"46:"Ngh8D`8[-7o)(7#45lj8.,I47632#"'&732654&#",@@Y[?@@?Z[@?w9**99*$rX?@@@ZZ@@@@[+99**9$MK 77Aw2 'hoA]Bz 47632#"'&%47632#"&)*;;TT;=()y*+:;TT;;T48,*T<;T*,;:**T<;TT47632#"'&,/<>,--,>?,,;=,,,,>@+,,/|'7'#53|K}=QH5.cxW73#K}=Q5./2 ''hoAhoA]B]Bs!!Cs^s!![s?!!?M#MQ'# 1Q v     0 6D      F  ? Z ~ $  0 0  V  d p |       Copyright 1998, Neufville Digital. ALL RIGHTS RESERVED. This font is licensed, not sold, and may not be reproduced without the written consent of Neufville Digital. Parts Visualogik Technology & Design, 1998. Copyright 1998, Neufville Digital. ALL RIGHTS RESERVED. This font is licensed, not sold, and may not be reproduced without the written consent of Neufville Digital. Parts Visualogik Technology & Design, 1998.FuturaFuturaMediumMediumFutura Medium; 13.0d1e3; 2017-06-07Futura Medium; 13.0d1e3; 2017-06-07Futura MediumFutura Medium13.0d1e313.0d1e3Futura-MediumFutura-MediumFutura is a registered trademark of Bauer Types SA. Unauthorised use prohibited. ALL RIGHTS RESERVED. Neufville Digital is a trademark of Visualogik, used with the permission of Neufville SL.Futura is a registered trademark of Bauer Types SA. Unauthorised use prohibited. ALL RIGHTS RESERVED. Neufville Digital is a trademark of Visualogik, used with the permission of Neufville SL.Paul Renner (1928)Paul Renner (1928)Paul Renner (1878-1956) was a painter, typographer, typeface designer and teacher. Between 1908 and 1917 he designed thousands of books for Munich publishers in a refined traditional style. In the early 1920s he began to support the modern styles of architecture and typography, becoming a leading proponent of the New Typography. Renner is best known for designing the typeface Futura, which became a standard tool for the New Typography, and remains a popular typeface today. Futura does give a restful, almost bland impression, which accords with Renner's objectives. Futura seems classical, not only due to the form of its capitals, but also to the open, wide forms of the geometrical small letters. The typeface relies on notions of classical, yet contemporary form, - harmony and evenness of texture. Thanks to the modern digital technology Futura lives on in a greater variety than ever, offering a wide choice of typographic solutions for contemporary design in the new millennium.Paul Renner (1878-1956) was a painter, typographer, typeface designer and teacher. Between 1908 and 1917 he designed thousands of books for Munich publishers in a refined traditional style. In the early 1920s he began to support the modern styles of architecture and typography, becoming a leading proponent of the New Typography. Renner is best known for designing the typeface Futura, which became a standard tool for the New Typography, and remains a popular typeface today. Futura does give a restful, almost bland impression, which accords with Renner's objectives. Futura seems classical, not only due to the form of its capitals, but also to the open, wide forms of the geometrical small letters. The typeface relies on notions of classical, yet contemporary form, - harmony and evenness of texture. Thanks to the modern digital technology Futura lives on in a greater variety than ever, offering a wide choice of typographic solutions for contemporary design in the new millennium.http://www.neufville.comhttp://www.neufville.comhttp://www.neufville.comhttp://www.neufville.comN-MediumHalbfettMediumMoyenMedio00000̴MediumMediumMdio!@54=89MedelN-{IMedia  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjikmlnoqprsutvwxzy{}|~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ controlBS controlHT controlCR controlGS softhyphenAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccentGcedillagcedilla Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflexKcedillakcedilla kgreenlandicLacutelacuteLcedillalcedillaLcaronlcaron Ldotaccent ldotaccentNacutenacuteNcedillancedillaNcaronncaron quoterightnOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracuteRcedillarcedillaRcaronrcaronSacutesacute Scircumflex scircumflexTcedillatcedillaTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccent Scommaaccent scommaaccentgravecmbacutecmb circumflexcmbtildecmb macroncmbbrevecmb dotaccentcmb dieresiscmbringcmbhungarumlautcmbcaroncmb commaaccent cedillacmb ogonekcmbsoliduslongoverlaycmb Deltagreek OmegagreekzerowidthjoinerEuro divisionslashbulletoperatorDieresisGravejudgeupoakuniE770uniE773uniE774uniE772ashyeaicesurehungfeeCaronAcuteeatkickuniF6C3uniE784 HungarumlautMacronoozeuniE775dotlessj ) )*+,BCCDEF~ .<DFLTlatnliga PSM .<DFLTlatnkern Tb,:HBx 2\R|*`| 4 > T b l " , > X v @ v | @ Z HHHHHH\\\\\ ***  > > > > > > " b l l l l > X X X X X v v v v Z ZH >H >H > b bB l l l l 2  " " " > > >\ X\ X   RRR| @| @* v* v* v* v 4 4 4 0 V 0 jGg (d;=>@dddX\Ggb ^m^^LBf ZTLd5/!Z\jP"fhL*.68;<=>@yHIJKVX[\]^`qGgn(6=>@  (%/+2+6%%% (1;=>?@;(16HLPQVY\ (;=>@(*.6:;THLV\`)(V*.6:;<=>@}\`VVVNGgD#( *.6HLV\   (;=>?@oR(1HLV*.6;<=>@HLV\` (;=>@[#+!"(*.16:=\>\@dHJLP%Q%VY\]^`qn (TUWY#f!"(*.6:;\HLPVY\`qqqnq#d!"(}*.6:;\HLPVY\`qo}}}}}}o}no B*68HLV\`#!"(s*.6:;dH}L}PVuW\]q`ssssssfqn`]`Q]^`G]^`O5R5[]^_`GHLMDP+Q)S!V[JGR`G;%Q?HLV\]`W]^`;W]^`G;[ ]^_`G[`J\-!"HJKLMDOPQRSTUVWXY[J\]X^^_+`ZaG9 !F"+HLO)VGJG/! "HJLSV1! "HJLSVHJLVX)! "HJLSV (;=u>w@`((ITUWY]^` (f;'=?>?@5fffV (jKVY[]^jjjV (j;'=B>B@5jjjV(\;=w>@T/ (+ -.13579AHJ!LM$OP&RY([`067=>DJV\ajmnopqrstv |""$$&)./27<=??AAFGfhooդ'`^"oPK!D:j j jmdc/resources/icml.bst%% File: `icml2019.bst' %% A modification of `plainnl.bst' for use with natbib package %% %% Copyright 2010 Hal Daum\'e III %% Modified by J. Frnkranz %% - Changed labels from (X and Y, 2000) to (X & Y, 2000) %% - Changed References to last name first and abbreviated first names. %% Modified by Iain Murray 2018 (who suggests adopting a standard .bst in future...) %% - Made it actually use abbreviated first names %% %% Copyright 1993-2007 Patrick W Daly %% Max-Planck-Institut f\"ur Sonnensystemforschung %% Max-Planck-Str. 2 %% D-37191 Katlenburg-Lindau %% Germany %% E-mail: daly@mps.mpg.de %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN %% archives in directory macros/latex/base/lppl.txt; either %% version 1 of the License, or any later version. %% % Version and source file information: % \ProvidesFile{icml2010.mbs}[2007/11/26 1.93 (PWD)] % % BibTeX `plainnat' family % version 0.99b for BibTeX versions 0.99a or later, % for LaTeX versions 2.09 and 2e. % % For use with the `natbib.sty' package; emulates the corresponding % member of the `plain' family, but with author-year citations. % % With version 6.0 of `natbib.sty', it may also be used for numerical % citations, while retaining the commands \citeauthor, \citefullauthor, % and \citeyear to print the corresponding information. % % For version 7.0 of `natbib.sty', the KEY field replaces missing % authors/editors, and the date is left blank in \bibitem. % % Includes field EID for the sequence/citation number of electronic journals % which is used instead of page numbers. % % Includes fields ISBN and ISSN. % % Includes field URL for Internet addresses. % % Includes field DOI for Digital Object Idenfifiers. % % Works best with the url.sty package of Donald Arseneau. % % Works with identical authors and year are further sorted by % citation key, to preserve any natural sequence. % ENTRY { address author booktitle chapter doi eid edition editor howpublished institution isbn issn journal key month note number organization pages publisher school series title type url volume year } {} { label extra.label sort.label short.list } INTEGERS { output.state before.all mid.sentence after.sentence after.block } FUNCTION {init.state.consts} { #0 'before.all := #1 'mid.sentence := #2 'after.sentence := #3 'after.block := } STRINGS { s t } FUNCTION {output.nonnull} { 's := output.state mid.sentence = { ", " * write$ } { output.state after.block = { add.period$ write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { add.period$ " " * write$ } if$ } if$ mid.sentence 'output.state := } if$ s } FUNCTION {output} { duplicate$ empty$ 'pop$ 'output.nonnull if$ } FUNCTION {output.check} { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.nonnull if$ } FUNCTION {fin.entry} { add.period$ write$ newline$ } FUNCTION {new.block} { output.state before.all = 'skip$ { after.block 'output.state := } if$ } FUNCTION {new.sentence} { output.state after.block = 'skip$ { output.state before.all = 'skip$ { after.sentence 'output.state := } if$ } if$ } FUNCTION {not} { { #0 } { #1 } if$ } FUNCTION {and} { 'skip$ { pop$ #0 } if$ } FUNCTION {or} { { pop$ #1 } 'skip$ if$ } FUNCTION {new.block.checka} { empty$ 'skip$ 'new.block if$ } FUNCTION {new.block.checkb} { empty$ swap$ empty$ and 'skip$ 'new.block if$ } FUNCTION {new.sentence.checka} { empty$ 'skip$ 'new.sentence if$ } FUNCTION {new.sentence.checkb} { empty$ swap$ empty$ and 'skip$ 'new.sentence if$ } FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } { "\emph{" swap$ * "}" * } if$ } INTEGERS { nameptr namesleft numnames } FUNCTION {format.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { numnames #2 > { "," * } 'skip$ if$ t "others" = { " et~al." * } { " and " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {format.key} { empty$ { key field.or.null } { "" } if$ } FUNCTION {format.authors} { author empty$ { "" } { author format.names } if$ } FUNCTION {format.editors} { editor empty$ { "" } { editor format.names editor num.names$ #1 > { " (eds.)" * } { " (ed.)" * } if$ } if$ } FUNCTION {format.isbn} { isbn empty$ { "" } { new.block "ISBN " isbn * } if$ } FUNCTION {format.issn} { issn empty$ { "" } { new.block "ISSN " issn * } if$ } FUNCTION {format.url} { url empty$ { "" } { new.block "URL \url{" url * "}" * } if$ } FUNCTION {format.doi} { doi empty$ { "" } { new.block "\doi{" doi * "}" * } if$ } FUNCTION {format.title} { title empty$ { "" } { title "t" change.case$ } if$ } FUNCTION {format.full.names} {'s := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { numnames #2 > { "," * } 'skip$ if$ t "others" = { " et~al." * } { " and " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {author.editor.full} { author empty$ { editor empty$ { "" } { editor format.full.names } if$ } { author format.full.names } if$ } FUNCTION {author.full} { author empty$ { "" } { author format.full.names } if$ } FUNCTION {editor.full} { editor empty$ { "" } { editor format.full.names } if$ } FUNCTION {make.full.names} { type$ "book" = type$ "inbook" = or 'author.editor.full { type$ "proceedings" = 'editor.full 'author.full if$ } if$ } FUNCTION {output.bibitem} { newline$ "\bibitem[" write$ label write$ ")" make.full.names duplicate$ short.list = { pop$ } { * } if$ "]{" * write$ cite$ write$ "}" write$ newline$ "" before.all 'output.state := } FUNCTION {n.dashify} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = { t #1 #2 substring$ "--" = not { "--" * t #2 global.max$ substring$ 't := } { { t #1 #1 substring$ "-" = } { "-" * t #2 global.max$ substring$ 't := } while$ } if$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ } FUNCTION {format.date} { year duplicate$ empty$ { "empty year in " cite$ * warning$ pop$ "" } 'skip$ if$ month empty$ 'skip$ { month " " * swap$ * } if$ extra.label * } FUNCTION {format.btitle} { title emphasize } FUNCTION {tie.or.space.connect} { duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ * * } FUNCTION {either.or.check} { empty$ 'pop$ { "can't use both " swap$ * " fields in " * cite$ * warning$ } if$ } FUNCTION {format.bvolume} { volume empty$ { "" } { "volume" volume tie.or.space.connect series empty$ 'skip$ { " of " * series emphasize * } if$ "volume and number" number either.or.check } if$ } FUNCTION {format.number.series} { volume empty$ { number empty$ { series field.or.null } { output.state mid.sentence = { "number" } { "Number" } if$ number tie.or.space.connect series empty$ { "there's a number but no series in " cite$ * warning$ } { " in " * series * } if$ } if$ } { "" } if$ } FUNCTION {format.edition} { edition empty$ { "" } { output.state mid.sentence = { edition "l" change.case$ " edition" * } { edition "t" change.case$ " edition" * } if$ } if$ } INTEGERS { multiresult } FUNCTION {multi.page.check} { 't := #0 'multiresult := { multiresult not t empty$ not and } { t #1 #1 substring$ duplicate$ "-" = swap$ duplicate$ "," = swap$ "+" = or or { #1 'multiresult := } { t #2 global.max$ substring$ 't := } if$ } while$ multiresult } FUNCTION {format.pages} { pages empty$ { "" } { pages multi.page.check { "pp.\ " pages n.dashify tie.or.space.connect } { "pp.\ " pages tie.or.space.connect } if$ } if$ } FUNCTION {format.eid} { eid empty$ { "" } { "art." eid tie.or.space.connect } if$ } FUNCTION {format.vol.num.pages} { volume field.or.null number empty$ 'skip$ { "\penalty0 (" number * ")" * * volume empty$ { "there's a number but no volume in " cite$ * warning$ } 'skip$ if$ } if$ pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ":\penalty0 " * pages n.dashify * } if$ } if$ } FUNCTION {format.vol.num.eid} { volume field.or.null number empty$ 'skip$ { "\penalty0 (" number * ")" * * volume empty$ { "there's a number but no volume in " cite$ * warning$ } 'skip$ if$ } if$ eid empty$ 'skip$ { duplicate$ empty$ { pop$ format.eid } { ":\penalty0 " * eid * } if$ } if$ } FUNCTION {format.chapter.pages} { chapter empty$ 'format.pages { type empty$ { "chapter" } { type "l" change.case$ } if$ chapter tie.or.space.connect pages empty$ 'skip$ { ", " * format.pages * } if$ } if$ } FUNCTION {format.in.ed.booktitle} { booktitle empty$ { "" } { editor empty$ { "In " booktitle emphasize * } { "In " format.editors * ", " * booktitle emphasize * } if$ } if$ } FUNCTION {empty.misc.check} { author empty$ title empty$ howpublished empty$ month empty$ year empty$ note empty$ and and and and and key empty$ not and { "all relevant fields are empty in " cite$ * warning$ } 'skip$ if$ } FUNCTION {format.thesis.type} { type empty$ 'skip$ { pop$ type "t" change.case$ } if$ } FUNCTION {format.tr.number} { type empty$ { "Technical Report" } 'type if$ number empty$ { "t" change.case$ } { number tie.or.space.connect } if$ } FUNCTION {format.article.crossref} { key empty$ { journal empty$ { "need key or journal for " cite$ * " to crossref " * crossref * warning$ "" } { "In \emph{" journal * "}" * } if$ } { "In " } if$ " \citet{" * crossref * "}" * } FUNCTION {format.book.crossref} { volume empty$ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ "In " } { "Volume" volume tie.or.space.connect " of " * } if$ editor empty$ editor field.or.null author field.or.null = or { key empty$ { series empty$ { "need editor, key, or series for " cite$ * " to crossref " * crossref * warning$ "" * } { "\emph{" * series * "}" * } if$ } 'skip$ if$ } 'skip$ if$ " \citet{" * crossref * "}" * } FUNCTION {format.incoll.inproc.crossref} { editor empty$ editor field.or.null author field.or.null = or { key empty$ { booktitle empty$ { "need editor, key, or booktitle for " cite$ * " to crossref " * crossref * warning$ "" } { "In \emph{" booktitle * "}" * } if$ } { "In " } if$ } { "In " } if$ " \citet{" * crossref * "}" * } FUNCTION {article} { output.bibitem format.authors "author" output.check author format.key output new.block format.title "title" output.check new.block crossref missing$ { journal emphasize "journal" output.check eid empty$ { format.vol.num.pages output } { format.vol.num.eid output } if$ format.date "year" output.check } { format.article.crossref output.nonnull eid empty$ { format.pages output } { format.eid output } if$ } if$ format.issn output format.doi output format.url output new.block note output fin.entry } FUNCTION {book} { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.btitle "title" output.check crossref missing$ { format.bvolume output new.block format.number.series output new.sentence publisher "publisher" output.check address output } { new.block format.book.crossref output.nonnull } if$ format.edition output format.date "year" output.check format.isbn output format.doi output format.url output new.block note output fin.entry } FUNCTION {booklet} { output.bibitem format.authors output author format.key output new.block format.title "title" output.check howpublished address new.block.checkb howpublished output address output format.date output format.isbn output format.doi output format.url output new.block note output fin.entry } FUNCTION {inbook} { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.btitle "title" output.check crossref missing$ { format.bvolume output format.chapter.pages "chapter and pages" output.check new.block format.number.series output new.sentence publisher "publisher" output.check address output } { format.chapter.pages "chapter and pages" output.check new.block format.book.crossref output.nonnull } if$ format.edition output format.date "year" output.check format.isbn output format.doi output format.url output new.block note output fin.entry } FUNCTION {incollection} { output.bibitem format.authors "author" output.check author format.key output new.block format.title "title" output.check new.block crossref missing$ { format.in.ed.booktitle "booktitle" output.check format.bvolume output format.number.series output format.chapter.pages output new.sentence publisher "publisher" output.check address output format.edition output format.date "year" output.check } { format.incoll.inproc.crossref output.nonnull format.chapter.pages output } if$ format.isbn output format.doi output format.url output new.block note output fin.entry } FUNCTION {inproceedings} { output.bibitem format.authors "author" output.check author format.key output new.block format.title "title" output.check new.block crossref missing$ { format.in.ed.booktitle "booktitle" output.check format.bvolume output format.number.series output format.pages output address empty$ { organization publisher new.sentence.checkb organization output publisher output format.date "year" output.check } { address output.nonnull format.date "year" output.check new.sentence organization output publisher output } if$ } { format.incoll.inproc.crossref output.nonnull format.pages output } if$ format.isbn output format.doi output format.url output new.block note output fin.entry } FUNCTION {conference} { inproceedings } FUNCTION {manual} { output.bibitem format.authors output author format.key output new.block format.btitle "title" output.check organization address new.block.checkb organization output address output format.edition output format.date output format.url output new.block note output fin.entry } FUNCTION {mastersthesis} { output.bibitem format.authors "author" output.check author format.key output new.block format.title "title" output.check new.block "Master's thesis" format.thesis.type output.nonnull school "school" output.check address output format.date "year" output.check format.url output new.block note output fin.entry } FUNCTION {misc} { output.bibitem format.authors output author format.key output title howpublished new.block.checkb format.title output howpublished new.block.checka howpublished output format.date output format.issn output format.url output new.block note output fin.entry empty.misc.check } FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check author format.key output new.block format.btitle "title" output.check new.block "PhD thesis" format.thesis.type output.nonnull school "school" output.check address output format.date "year" output.check format.url output new.block note output fin.entry } FUNCTION {proceedings} { output.bibitem format.editors output editor format.key output new.block format.btitle "title" output.check format.bvolume output format.number.series output address output format.date "year" output.check new.sentence organization output publisher output format.isbn output format.doi output format.url output new.block note output fin.entry } FUNCTION {techreport} { output.bibitem format.authors "author" output.check author format.key output new.block format.title "title" output.check new.block format.tr.number output.nonnull institution "institution" output.check address output format.date "year" output.check format.url output new.block note output fin.entry } FUNCTION {unpublished} { output.bibitem format.authors "author" output.check author format.key output new.block format.title "title" output.check new.block note "note" output.check format.date output format.url output fin.entry } FUNCTION {default.type} { misc } MACRO {jan} {"January"} MACRO {feb} {"February"} MACRO {mar} {"March"} MACRO {apr} {"April"} MACRO {may} {"May"} MACRO {jun} {"June"} MACRO {jul} {"July"} MACRO {aug} {"August"} MACRO {sep} {"September"} MACRO {oct} {"October"} MACRO {nov} {"November"} MACRO {dec} {"December"} MACRO {acmcs} {"ACM Computing Surveys"} MACRO {acta} {"Acta Informatica"} MACRO {cacm} {"Communications of the ACM"} MACRO {ibmjrd} {"IBM Journal of Research and Development"} MACRO {ibmsj} {"IBM Systems Journal"} MACRO {ieeese} {"IEEE Transactions on Software Engineering"} MACRO {ieeetc} {"IEEE Transactions on Computers"} MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} MACRO {ipl} {"Information Processing Letters"} MACRO {jacm} {"Journal of the ACM"} MACRO {jcss} {"Journal of Computer and System Sciences"} MACRO {scp} {"Science of Computer Programming"} MACRO {sicomp} {"SIAM Journal on Computing"} MACRO {tocs} {"ACM Transactions on Computer Systems"} MACRO {tods} {"ACM Transactions on Database Systems"} MACRO {tog} {"ACM Transactions on Graphics"} MACRO {toms} {"ACM Transactions on Mathematical Software"} MACRO {toois} {"ACM Transactions on Office Information Systems"} MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} MACRO {tcs} {"Theoretical Computer Science"} READ FUNCTION {sortify} { purify$ "l" change.case$ } INTEGERS { len } FUNCTION {chop.word} { 's := 'len := s #1 len substring$ = { s len #1 + global.max$ substring$ } 's if$ } FUNCTION {format.lab.names} { 's := s #1 "{vv~}{ll}" format.name$ s num.names$ duplicate$ #2 > { pop$ " et~al." * } { #2 < 'skip$ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = { " et~al." * } { " \& " * s #2 "{vv~}{ll}" format.name$ * } if$ } if$ } if$ } FUNCTION {author.key.label} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { author format.lab.names } if$ } FUNCTION {author.editor.key.label} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ } { author format.lab.names } if$ } FUNCTION {author.key.organization.label} { author empty$ { key empty$ { organization empty$ { cite$ #1 #3 substring$ } { "The " #4 organization chop.word #3 text.prefix$ } if$ } 'key if$ } { author format.lab.names } if$ } FUNCTION {editor.key.organization.label} { editor empty$ { key empty$ { organization empty$ { cite$ #1 #3 substring$ } { "The " #4 organization chop.word #3 text.prefix$ } if$ } 'key if$ } { editor format.lab.names } if$ } FUNCTION {calc.short.authors} { type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.organization.label { type$ "manual" = 'author.key.organization.label 'author.key.label if$ } if$ } if$ 'short.list := } FUNCTION {calc.label} { calc.short.authors short.list "(" * year duplicate$ empty$ short.list key field.or.null = or { pop$ "" } 'skip$ if$ * 'label := } FUNCTION {sort.format.names} { 's := #1 'nameptr := "" s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := nameptr #1 > { " " * namesleft #1 = t "others" = and { "zzzzz" * } { numnames #2 > nameptr #2 = and { "zz" * year field.or.null * " " * } 'skip$ if$ t sortify * } if$ } { t sortify * } if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {sort.format.title} { 't := "A " #2 "An " #3 "The " #4 t chop.word chop.word chop.word sortify #1 global.max$ substring$ } FUNCTION {author.sort} { author empty$ { key empty$ { "to sort, need author or key in " cite$ * warning$ "" } { key sortify } if$ } { author sort.format.names } if$ } FUNCTION {author.editor.sort} { author empty$ { editor empty$ { key empty$ { "to sort, need author, editor, or key in " cite$ * warning$ "" } { key sortify } if$ } { editor sort.format.names } if$ } { author sort.format.names } if$ } FUNCTION {author.organization.sort} { author empty$ { organization empty$ { key empty$ { "to sort, need author, organization, or key in " cite$ * warning$ "" } { key sortify } if$ } { "The " #4 organization chop.word sortify } if$ } { author sort.format.names } if$ } FUNCTION {editor.organization.sort} { editor empty$ { organization empty$ { key empty$ { "to sort, need editor, organization, or key in " cite$ * warning$ "" } { key sortify } if$ } { "The " #4 organization chop.word sortify } if$ } { editor sort.format.names } if$ } FUNCTION {presort} { calc.label label sortify " " * type$ "book" = type$ "inbook" = or 'author.editor.sort { type$ "proceedings" = 'editor.organization.sort { type$ "manual" = 'author.organization.sort 'author.sort if$ } if$ } if$ " " * year field.or.null sortify * " " * cite$ * #1 entry.max$ substring$ 'sort.label := sort.label * #1 entry.max$ substring$ 'sort.key$ := } ITERATE {presort} SORT STRINGS { longest.label last.label next.extra } INTEGERS { longest.label.width last.extra.num number.label } FUNCTION {initialize.longest.label} { "" 'longest.label := #0 int.to.chr$ 'last.label := "" 'next.extra := #0 'longest.label.width := #0 'last.extra.num := #0 'number.label := } FUNCTION {forward.pass} { last.label label = { last.extra.num #1 + 'last.extra.num := last.extra.num int.to.chr$ 'extra.label := } { "a" chr.to.int$ 'last.extra.num := "" 'extra.label := label 'last.label := } if$ number.label #1 + 'number.label := } FUNCTION {reverse.pass} { next.extra "b" = { "a" 'extra.label := } 'skip$ if$ extra.label 'next.extra := extra.label duplicate$ empty$ 'skip$ { "{\natexlab{" swap$ * "}}" * } if$ 'extra.label := label extra.label * 'label := } EXECUTE {initialize.longest.label} ITERATE {forward.pass} REVERSE {reverse.pass} FUNCTION {bib.sort.order} { sort.label 'sort.key$ := } ITERATE {bib.sort.order} SORT FUNCTION {begin.bib} { preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ "\begin{thebibliography}{" number.label int.to.str$ * "}" * write$ newline$ "\providecommand{\natexlab}[1]{#1}" write$ newline$ "\providecommand{\url}[1]{\texttt{#1}}" write$ newline$ "\expandafter\ifx\csname urlstyle\endcsname\relax" write$ newline$ " \providecommand{\doi}[1]{doi: #1}\else" write$ newline$ " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" write$ newline$ } EXECUTE {begin.bib} EXECUTE {init.state.consts} ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ } EXECUTE {end.bib} PK!Liimdc/resources/icml.sty% File: icml2019.sty (LaTeX style file for ICML-2019, version of 2019-01-07) % This file contains the LaTeX formatting parameters for a two-column % conference proceedings that is 8.5 inches wide by 11 inches high. % % Modified by Iain Murray 2018: changed years, location. Remove affiliation notes when anonymous. % Move times dependency from .tex to .sty so fewer people delete it. % % Modified by Daniel Roy 2017: changed byline to use footnotes for affiliations, and removed emails % % Modified by Percy Liang 12/2/2013: changed the year, location from the previous template for ICML 2014 % Modified by Fei Sha 9/2/2013: changed the year, location form the previous template for ICML 2013 % % Modified by Fei Sha 4/24/2013: (1) remove the extra whitespace after the first author's email address (in %the camera-ready version) (2) change the Proceeding ... of ICML 2010 to 2014 so PDF's metadata will show up % correctly % % Modified by Sanjoy Dasgupta, 2013: changed years, location % % Modified by Francesco Figari, 2012: changed years, location % % Modified by Christoph Sawade and Tobias Scheffer, 2011: added line % numbers, changed years % % Modified by Hal Daume III, 2010: changed years, added hyperlinks % % Modified by Kiri Wagstaff, 2009: changed years % % Modified by Sam Roweis, 2008: changed years % % Modified by Ricardo Silva, 2007: update of the ifpdf verification % % Modified by Prasad Tadepalli and Andrew Moore, merely changing years. % % Modified by Kristian Kersting, 2005, based on Jennifer Dy's 2004 version % - running title. If the original title is to long or is breaking a line, % use \icmltitlerunning{...} in the preamble to supply a shorter form. % Added fancyhdr package to get a running head. % - Updated to store the page size because pdflatex does compile the % page size into the pdf. % % Hacked by Terran Lane, 2003: % - Updated to use LaTeX2e style file conventions (ProvidesPackage, % etc.) % - Added an ``appearing in'' block at the base of the first column % (thus keeping the ``appearing in'' note out of the bottom margin % where the printer should strip in the page numbers). % - Added a package option [accepted] that selects between the ``Under % review'' notice (default, when no option is specified) and the % ``Appearing in'' notice (for use when the paper has been accepted % and will appear). % % Originally created as: ml2k.sty (LaTeX style file for ICML-2000) % by P. Langley (12/23/99) %%%%%%%%%%%%%%%%%%%% %% This version of the style file supports both a ``review'' version %% and a ``final/accepted'' version. The difference is only in the %% text that appears in the note at the bottom of the first column of %% the first page. The default behavior is to print a note to the %% effect that the paper is under review and don't distribute it. The %% final/accepted version prints an ``Appearing in'' note. To get the %% latter behavior, in the calling file change the ``usepackage'' line %% from: %% \usepackage{icml2019} %% to %% \usepackage[accepted]{icml2019} %%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{icml2019}[2019/01/07 v2.0 ICML Conference Style File] % Before 2018, \usepackage{times} was in the example TeX, but inevitably % not everybody did it. \RequirePackage{times} % Use fancyhdr package \RequirePackage{fancyhdr} \RequirePackage{color} \RequirePackage{algorithm} \RequirePackage{algorithmic} \RequirePackage{natbib} \RequirePackage{eso-pic} % used by \AddToShipoutPicture \RequirePackage{forloop} %%%%%%%% Options \DeclareOption{accepted}{% \renewcommand{\Notice@String}{\ICML@appearing} \gdef\isaccepted{1} } \DeclareOption{nohyperref}{% \gdef\nohyperref{1} } \ifdefined\nohyperref\else\ifdefined\hypersetup \definecolor{mydarkblue}{rgb}{0,0.08,0.45} \hypersetup{ % pdftitle={}, pdfauthor={}, pdfsubject={ICML 2019 Workshop on Uncertainty and Robustness in Deep Learning}, pdfkeywords={}, pdfborder=0 0 0, pdfpagemode=UseNone, colorlinks=true, linkcolor=mydarkblue, citecolor=mydarkblue, filecolor=mydarkblue, urlcolor=mydarkblue, pdfview=FitH} \ifdefined\isaccepted \else \hypersetup{pdfauthor={Anonymous Submission}} \fi \fi\fi %%%%%%%%%%%%%%%%%%%% % This string is printed at the bottom of the page for the % final/accepted version of the ``appearing in'' note. Modify it to % change that text. %%%%%%%%%%%%%%%%%%%% \newcommand{\ICML@appearing}{Presented at the ICML 2019 Workshop on Uncertainty and Robustness in Deep Learning. Copyright 2019 by the author(s).} %%%%%%%%%%%%%%%%%%%% % This string is printed at the bottom of the page for the draft/under % review version of the ``appearing in'' note. Modify it to change % that text. %%%%%%%%%%%%%%%%%%%% \newcommand{\Notice@String}{Preliminary work. Under review at the ICML 2019 Workshop on Uncertainty and Robustness in Deep Learning\@. Do not distribute.} % Cause the declared options to actually be parsed and activated \ProcessOptions\relax % Uncomment the following for debugging. It will cause LaTeX to dump % the version of the ``appearing in'' string that will actually appear % in the document. %\typeout{>> Notice string='\Notice@String'} % Change citation commands to be more like old ICML styles \newcommand{\yrcite}[1]{\citeyearpar{#1}} \renewcommand{\cite}[1]{\citep{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % to ensure the letter format is used. pdflatex does compile the % page size into the pdf. This is done using \pdfpagewidth and % \pdfpageheight. As Latex does not know this directives, we first % check whether pdflatex or latex is used. % % Kristian Kersting 2005 % % in order to account for the more recent use of pdfetex as the default % compiler, I have changed the pdf verification. % % Ricardo Silva 2007 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \paperwidth=8.5in \paperheight=11in % old PDFLaTex verification, circa 2005 % %\newif\ifpdf\ifx\pdfoutput\undefined % \pdffalse % we are not running PDFLaTeX %\else % \pdfoutput=1 % we are running PDFLaTeX % \pdftrue %\fi \newif\ifpdf %adapted from ifpdf.sty \ifx\pdfoutput\undefined \else \ifx\pdfoutput\relax \else \ifcase\pdfoutput \else \pdftrue \fi \fi \fi \ifpdf % \pdfpagewidth=\paperwidth % \pdfpageheight=\paperheight \setlength{\pdfpagewidth}{8.5in} \setlength{\pdfpageheight}{11in} \fi % Physical page layout \evensidemargin -0.23in \oddsidemargin -0.23in \setlength\textheight{9.0in} \setlength\textwidth{6.75in} \setlength\columnsep{0.25in} \setlength\headheight{10pt} \setlength\headsep{10pt} \addtolength{\topmargin}{-20pt} \addtolength{\topmargin}{-0.29in} % Historically many authors tried to include packages like geometry or fullpage, % which change the page layout. It either makes the proceedings inconsistent, or % wastes organizers' time chasing authors. So let's nip these problems in the % bud here. -- Iain Murray 2018. %\RequirePackage{printlen} \AtBeginDocument{% % To get the numbers below, include printlen package above and see lengths like this: %\printlength\oddsidemargin\\ %\printlength\headheight\\ %\printlength\textheight\\ %\printlength\marginparsep\\ %\printlength\footskip\\ %\printlength\hoffset\\ %\printlength\paperwidth\\ %\printlength\topmargin\\ %\printlength\headsep\\ %\printlength\textwidth\\ %\printlength\marginparwidth\\ %\printlength\marginparpush\\ %\printlength\voffset\\ %\printlength\paperheight\\ % \newif\ifmarginsmessedwith \marginsmessedwithfalse \ifdim\oddsidemargin=-16.62178pt \else oddsidemargin has been altered.\\ \marginsmessedwithtrue\fi \ifdim\headheight=10.0pt \else headheight has been altered.\\ \marginsmessedwithtrue\fi \ifdim\textheight=650.43pt \else textheight has been altered.\\ \marginsmessedwithtrue\fi \ifdim\marginparsep=11.0pt \else marginparsep has been altered.\\ \marginsmessedwithtrue\fi \ifdim\footskip=0.0pt \else footskip has been altered.\\ \marginsmessedwithtrue\fi \ifdim\hoffset=0.0pt \else hoffset has been altered.\\ \marginsmessedwithtrue\fi \ifdim\paperwidth=614.295pt \else paperwidth has been altered.\\ \marginsmessedwithtrue\fi \ifdim\topmargin=-24.95781pt \else topmargin has been altered.\\ \marginsmessedwithtrue\fi \ifdim\headsep=10.0pt \else headsep has been altered.\\ \marginsmessedwithtrue\fi \ifdim\textwidth=487.8225pt \else textwidth has been altered.\\ \marginsmessedwithtrue\fi \ifdim\marginparwidth=65.0pt \else marginparwidth has been altered.\\ \marginsmessedwithtrue\fi \ifdim\marginparpush=5.0pt \else marginparpush has been altered.\\ \marginsmessedwithtrue\fi \ifdim\voffset=0.0pt \else voffset has been altered.\\ \marginsmessedwithtrue\fi \ifdim\paperheight=794.96999pt \else paperheight has been altered.\\ \marginsmessedwithtrue\fi \ifmarginsmessedwith \textbf{\large \em The page layout violates the ICML style.} Please do not change the page layout, or include packages like geometry, savetrees, or fullpage, which change it for you. We're not able to reliably undo arbitrary changes to the style. Please remove the offending package(s), or layout-changing commands and try again. \fi} %% The following is adapted from code in the acmconf.sty conference %% style file. The constants in it are somewhat magical, and appear %% to work well with the two-column format on US letter paper that %% ICML uses, but will break if you change that layout, or if you use %% a longer block of text for the copyright notice string. Fiddle with %% them if necessary to get the block to fit/look right. %% %% -- Terran Lane, 2003 %% %% The following comments are included verbatim from acmconf.sty: %% %%% This section (written by KBT) handles the 1" box in the lower left %%% corner of the left column of the first page by creating a picture, %%% and inserting the predefined string at the bottom (with a negative %%% displacement to offset the space allocated for a non-existent %%% caption). %%% \def\ftype@copyrightbox{8} \def\@copyrightspace{ % Create a float object positioned at the bottom of the column. Note % that because of the mystical nature of floats, this has to be called % before the first column is populated with text (e.g., from the title % or abstract blocks). Otherwise, the text will force the float to % the next column. -- TDRL. \@float{copyrightbox}[b] \begin{center} \setlength{\unitlength}{1pc} \begin{picture}(20,1.5) % Create a line separating the main text from the note block. % 4.818pc==0.8in. \put(0,2.5){\line(1,0){4.818}} % Insert the text string itself. Note that the string has to be % enclosed in a parbox -- the \put call needs a box object to % position. Without the parbox, the text gets splattered across the % bottom of the page semi-randomly. The 19.75pc distance seems to be % the width of the column, though I can't find an appropriate distance % variable to substitute here. -- TDRL. \put(0,0){\parbox[b]{19.75pc}{\small \Notice@String}} \end{picture} \end{center} \end@float} % Note: A few Latex versions need the next line instead of the former. % \addtolength{\topmargin}{0.3in} % \setlength\footheight{0pt} \setlength\footskip{0pt} %\pagestyle{empty} \flushbottom \twocolumn \sloppy % Clear out the addcontentsline command \def\addcontentsline#1#2#3{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% commands for formatting paper title, author names, and addresses. %%start%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% title as running head -- Kristian Kersting 2005 %%%%%%%%%%%%% %\makeatletter %\newtoks\mytoksa %\newtoks\mytoksb %\newcommand\addtomylist[2]{% % \mytoksa\expandafter{#1}% % \mytoksb{#2}% % \edef#1{\the\mytoksa\the\mytoksb}% %} %\makeatother % box to check the size of the running head \newbox\titrun % general page style \pagestyle{fancy} \fancyhf{} \fancyhead{} \fancyfoot{} % set the width of the head rule to 1 point \renewcommand{\headrulewidth}{1pt} % definition to set the head as running head in the preamble \def\icmltitlerunning#1{\gdef\@icmltitlerunning{#1}} % main definition adapting \icmltitle from 2004 \long\def\icmltitle#1{% %check whether @icmltitlerunning exists % if not \icmltitle is used as running head \ifx\undefined\@icmltitlerunning% \gdef\@icmltitlerunning{#1} \fi %add it to pdf information \ifdefined\nohyperref\else\ifdefined\hypersetup \hypersetup{pdftitle={#1}} \fi\fi %get the dimension of the running title \global\setbox\titrun=\vbox{\small\bf\@icmltitlerunning} % error flag \gdef\@runningtitleerror{0} % running title too long \ifdim\wd\titrun>\textwidth% {\gdef\@runningtitleerror{1}}% % running title breaks a line \else\ifdim\ht\titrun>6.25pt {\gdef\@runningtitleerror{2}}% \fi \fi % if there is somthing wrong with the running title \ifnum\@runningtitleerror>0 \typeout{}% \typeout{}% \typeout{*******************************************************}% \typeout{Title exceeds size limitations for running head.}% \typeout{Please supply a shorter form for the running head} \typeout{with \string\icmltitlerunning{...}\space prior to \string\begin{document}}% \typeout{*******************************************************}% \typeout{}% \typeout{}% % set default running title \chead{\small\bf Title Suppressed Due to Excessive Size}% \else % 'everything' fine, set provided running title \chead{\small\bf\@icmltitlerunning}% \fi % no running title on the first page of the paper \thispagestyle{empty} %%%%%%%%%%%%%%%%%%%% Kristian Kersting %%%%%%%%%%%%%%%%%%%%%%%%% %end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% {\center\baselineskip 18pt \toptitlebar{\Large\bf #1}\bottomtitlebar} } \gdef\icmlfullauthorlist{} \newcommand\addstringtofullauthorlist{\g@addto@macro\icmlfullauthorlist} \newcommand\addtofullauthorlist[1]{% \ifdefined\icmlanyauthors% \addstringtofullauthorlist{, #1}% \else% \addstringtofullauthorlist{#1}% \gdef\icmlanyauthors{1}% \fi% \ifdefined\nohyperref\else\ifdefined\hypersetup% \hypersetup{pdfauthor=\icmlfullauthorlist}% \fi\fi} \def\toptitlebar{\hrule height1pt \vskip .25in} \def\bottomtitlebar{\vskip .22in \hrule height1pt \vskip .3in} \newenvironment{icmlauthorlist}{% \setlength\topsep{0pt} \setlength\parskip{0pt} \begin{center} }{% \end{center} } \newcounter{@affiliationcounter} \newcommand{\@pa}[1]{% % ``#1'' \ifcsname the@affil#1\endcsname % do nothing \else \ifcsname @icmlsymbol#1\endcsname % nothing \else \stepcounter{@affiliationcounter}% \newcounter{@affil#1}% \setcounter{@affil#1}{\value{@affiliationcounter}}% \fi \fi% \ifcsname @icmlsymbol#1\endcsname \textsuperscript{\csname @icmlsymbol#1\endcsname\,}% \else %\expandafter\footnotemark[\arabic{@affil#1}\,]% \textsuperscript{\arabic{@affil#1}\,}% \fi } %\newcommand{\icmlauthor}[2]{% %\addtofullauthorlist{#1}% %#1\@for\theaffil:=#2\do{\pa{\theaffil}}% %} \newcommand{\icmlauthor}[2]{% \ifdefined\isaccepted \mbox{\bf #1}\,\@for\theaffil:=#2\do{\@pa{\theaffil}} \addtofullauthorlist{#1}% \else \ifdefined\@icmlfirsttime \else \gdef\@icmlfirsttime{1} \mbox{\bf Anonymous Authors}\@pa{@anon} \addtofullauthorlist{Anonymous Authors} \fi \fi } \newcommand{\icmlsetsymbol}[2]{% \expandafter\gdef\csname @icmlsymbol#1\endcsname{#2} } \newcommand{\icmlaffiliation}[2]{% \ifdefined\isaccepted \ifcsname the@affil#1\endcsname \expandafter\gdef\csname @affilname\csname the@affil#1\endcsname\endcsname{#2}% \else {\bf AUTHORERR: Error in use of \textbackslash{}icmlaffiliation command. Label ``#1'' not mentioned in some \textbackslash{}icmlauthor\{author name\}\{labels here\} command beforehand. } \typeout{}% \typeout{}% \typeout{*******************************************************}% \typeout{Affiliation label undefined. }% \typeout{Make sure \string\icmlaffiliation\space follows } \typeout{all of \string\icmlauthor\space commands}% \typeout{*******************************************************}% \typeout{}% \typeout{}% \fi \else % \isaccepted % can be called multiple times... it's idempotent \expandafter\gdef\csname @affilname1\endcsname{Anonymous Institution, Anonymous City, Anonymous Region, Anonymous Country} \fi } \newcommand{\icmlcorrespondingauthor}[2]{ \ifdefined\isaccepted \ifdefined\icmlcorrespondingauthor@text \g@addto@macro\icmlcorrespondingauthor@text{, #1 \textless{}#2\textgreater{}} \else \gdef\icmlcorrespondingauthor@text{#1 \textless{}#2\textgreater{}} \fi \else \gdef\icmlcorrespondingauthor@text{Anonymous Author \textless{}anon.email@domain.com\textgreater{}} \fi } \newcommand{\icmlEqualContribution}{\textsuperscript{*}Equal contribution } \newcounter{@affilnum} \newcommand{\printAffiliationsAndNotice}[1]{% \stepcounter{@affiliationcounter}% {\let\thefootnote\relax\footnotetext{\hspace*{-\footnotesep}\ifdefined\isaccepted #1\fi% \forloop{@affilnum}{1}{\value{@affilnum} < \value{@affiliationcounter}}{ \textsuperscript{\arabic{@affilnum}}\ifcsname @affilname\the@affilnum\endcsname% \csname @affilname\the@affilnum\endcsname% \else {\bf AUTHORERR: Missing \textbackslash{}icmlaffiliation.} \fi }. \ifdefined\icmlcorrespondingauthor@text Correspondence to: \icmlcorrespondingauthor@text. \else {\bf AUTHORERR: Missing \textbackslash{}icmlcorrespondingauthor.} \fi \ \\ \Notice@String } } } %\makeatother \long\def\icmladdress#1{% {\bf The \textbackslash{}icmladdress command is no longer used. See the example\_paper PDF .tex for usage of \textbackslash{}icmlauther and \textbackslash{}icmlaffiliation.} } %% keywords as first class citizens \def\icmlkeywords#1{% % \ifdefined\isaccepted \else % \par {\bf Keywords:} #1% % \fi % \ifdefined\nohyperref\else\ifdefined\hypersetup % \hypersetup{pdfkeywords={#1}} % \fi\fi % \ifdefined\isaccepted \else % \par {\bf Keywords:} #1% % \fi \ifdefined\nohyperref\else\ifdefined\hypersetup \hypersetup{pdfkeywords={#1}} \fi\fi } % modification to natbib citations \setcitestyle{authoryear,round,citesep={;},aysep={,},yysep={;}} % Redefinition of the abstract environment. \renewenvironment{abstract} {% % Insert the ``appearing in'' copyright notice. %\@copyrightspace \centerline{\large\bf Abstract} \vspace{-0.12in}\begin{quote}} {\par\end{quote}\vskip 0.12in} % numbered section headings with different treatment of numbers \def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue % Altered the following line to indent a section's first paragraph. % \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \fi \if@nobreak \everypar{}\else \addpenalty{\@secpenalty}\addvspace{\@tempskipa}\fi \@ifstar {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sict{#1}{#2}{#3}{#4}{#5}{#6}}}} \def\@sict#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth \def\@svsec{}\else \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname}\fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6\relax \@hangfrom{\hskip #3\relax\@svsec.~}{\interlinepenalty \@M #8\par} \endgroup \csname #1mark\endcsname{#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}\else \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname {#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}}\fi \@xsect{#5}} \def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth \def\@svsec{}\else \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 0.4em }\fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6\relax \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par} \endgroup \csname #1mark\endcsname{#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}\else \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname {#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}}\fi \@xsect{#5}} % section headings with less space above and below them \def\thesection {\arabic{section}} \def\thesubsection {\thesection.\arabic{subsection}} \def\section{\@startsection{section}{1}{\z@}{-0.12in}{0.02in} {\large\bf\raggedright}} \def\subsection{\@startsection{subsection}{2}{\z@}{-0.10in}{0.01in} {\normalsize\bf\raggedright}} \def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-0.08in}{0.01in} {\normalsize\sc\raggedright}} \def\paragraph{\@startsection{paragraph}{4}{\z@}{1.5ex plus 0.5ex minus .2ex}{-1em}{\normalsize\bf}} \def\subparagraph{\@startsection{subparagraph}{5}{\z@}{1.5ex plus 0.5ex minus .2ex}{-1em}{\normalsize\bf}} % Footnotes \footnotesep 6.65pt % \skip\footins 9pt \def\footnoterule{\kern-3pt \hrule width 0.8in \kern 2.6pt } \setcounter{footnote}{0} % Lists and paragraphs \parindent 0pt \topsep 4pt plus 1pt minus 2pt \partopsep 1pt plus 0.5pt minus 0.5pt \itemsep 2pt plus 1pt minus 0.5pt \parsep 2pt plus 1pt minus 0.5pt \parskip 6pt \leftmargin 2em \leftmargini\leftmargin \leftmarginii 2em \leftmarginiii 1.5em \leftmarginiv 1.0em \leftmarginv .5em \leftmarginvi .5em \labelwidth\leftmargini\advance\labelwidth-\labelsep \labelsep 5pt \def\@listi{\leftmargin\leftmargini} \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 2pt plus 1pt minus 0.5pt \parsep 1pt plus 0.5pt minus 0.5pt \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 1pt plus 0.5pt minus 0.5pt \parsep \z@ \partopsep 0.5pt plus 0pt minus 0.5pt \itemsep \topsep} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} \abovedisplayskip 7pt plus2pt minus5pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip 0pt plus3pt% \belowdisplayshortskip 4pt plus3pt minus3pt% % Less leading in most fonts (due to the narrow columns) % The choices were between 1-pt and 1.5-pt leading \def\@normalsize{\@setsize\normalsize{11pt}\xpt\@xpt} \def\small{\@setsize\small{10pt}\ixpt\@ixpt} \def\footnotesize{\@setsize\footnotesize{10pt}\ixpt\@ixpt} \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} \def\large{\@setsize\large{14pt}\xiipt\@xiipt} \def\Large{\@setsize\Large{16pt}\xivpt\@xivpt} \def\LARGE{\@setsize\LARGE{20pt}\xviipt\@xviipt} \def\huge{\@setsize\huge{23pt}\xxpt\@xxpt} \def\Huge{\@setsize\Huge{28pt}\xxvpt\@xxvpt} % Revised formatting for figure captions and table titles. \newsavebox\newcaptionbox\newdimen\newcaptionboxwid \long\def\@makecaption#1#2{ \vskip 10pt \baselineskip 11pt \setbox\@tempboxa\hbox{#1. #2} \ifdim \wd\@tempboxa >\hsize \sbox{\newcaptionbox}{\small\sl #1.~} \newcaptionboxwid=\wd\newcaptionbox \usebox\newcaptionbox {\footnotesize #2} % \usebox\newcaptionbox {\small #2} \else \centerline{{\small\sl #1.} {\small #2}} \fi} \def\fnum@figure{Figure \thefigure} \def\fnum@table{Table \thetable} % Strut macros for skipping spaces above and below text in tables. \def\abovestrut#1{\rule[0in]{0in}{#1}\ignorespaces} \def\belowstrut#1{\rule[-#1]{0in}{#1}\ignorespaces} \def\abovespace{\abovestrut{0.20in}} \def\aroundspace{\abovestrut{0.20in}\belowstrut{0.10in}} \def\belowspace{\belowstrut{0.10in}} % Various personal itemization commands. \def\texitem#1{\par\noindent\hangindent 12pt \hbox to 12pt {\hss #1 ~}\ignorespaces} \def\icmlitem{\texitem{$\bullet$}} % To comment out multiple lines of text. \long\def\comment#1{} %% Line counter (not in final version). Adapted from NIPS style file by Christoph Sawade % Vertical Ruler % This code is, largely, from the CVPR 2010 conference style file % ----- define vruler \makeatletter \newbox\icmlrulerbox \newcount\icmlrulercount \newdimen\icmlruleroffset \newdimen\cv@lineheight \newdimen\cv@boxheight \newbox\cv@tmpbox \newcount\cv@refno \newcount\cv@tot % NUMBER with left flushed zeros \fillzeros[] \newcount\cv@tmpc@ \newcount\cv@tmpc \def\fillzeros[#1]#2{\cv@tmpc@=#2\relax\ifnum\cv@tmpc@<0\cv@tmpc@=-\cv@tmpc@\fi \cv@tmpc=1 % \loop\ifnum\cv@tmpc@<10 \else \divide\cv@tmpc@ by 10 \advance\cv@tmpc by 1 \fi \ifnum\cv@tmpc@=10\relax\cv@tmpc@=11\relax\fi \ifnum\cv@tmpc@>10 \repeat \ifnum#2<0\advance\cv@tmpc1\relax-\fi \loop\ifnum\cv@tmpc<#1\relax0\advance\cv@tmpc1\relax\fi \ifnum\cv@tmpc<#1 \repeat \cv@tmpc@=#2\relax\ifnum\cv@tmpc@<0\cv@tmpc@=-\cv@tmpc@\fi \relax\the\cv@tmpc@}% % \makevruler[][][][][] \def\makevruler[#1][#2][#3][#4][#5]{ \begingroup\offinterlineskip \textheight=#5\vbadness=10000\vfuzz=120ex\overfullrule=0pt% \global\setbox\icmlrulerbox=\vbox to \textheight{% { \parskip=0pt\hfuzz=150em\cv@boxheight=\textheight \cv@lineheight=#1\global\icmlrulercount=#2% \cv@tot\cv@boxheight\divide\cv@tot\cv@lineheight\advance\cv@tot2% \cv@refno1\vskip-\cv@lineheight\vskip1ex% \loop\setbox\cv@tmpbox=\hbox to0cm{ % side margin \hfil {\hfil\fillzeros[#4]\icmlrulercount} }% \ht\cv@tmpbox\cv@lineheight\dp\cv@tmpbox0pt\box\cv@tmpbox\break \advance\cv@refno1\global\advance\icmlrulercount#3\relax \ifnum\cv@refno<\cv@tot\repeat } } \endgroup }% \makeatother % ----- end of vruler % \makevruler[][][][][] \def\icmlruler#1{\makevruler[12pt][#1][1][3][\textheight]\usebox{\icmlrulerbox}} \AddToShipoutPicture{% \icmlruleroffset=\textheight \advance\icmlruleroffset by 5.2pt % top margin \color[rgb]{.7,.7,.7} \ifdefined\isaccepted \else \AtTextUpperLeft{% \put(\LenToUnit{-35pt},\LenToUnit{-\icmlruleroffset}){%left ruler \icmlruler{\icmlrulercount}} % \put(\LenToUnit{1.04\textwidth},\LenToUnit{-\icmlruleroffset}){%right ruler % \icmlruler{\icmlrulercount}} } \fi } \endinput PK!>!+!+mdc/resources/neurips.sty% partial rewrite of the LaTeX2e package for submissions to the % Conference on Neural Information Processing Systems (NeurIPS): % % - uses more LaTeX conventions % - line numbers at submission time replaced with aligned numbers from % lineno package % - \nipsfinalcopy replaced with [final] package option % - automatically loads times package for authors % - loads natbib automatically; this can be suppressed with the % [nonatbib] package option % - adds foot line to first page identifying the conference % - adds preprint option for submission to e.g. arXiv % - conference acronym modified % % Roman Garnett (garnett@wustl.edu) and the many authors of % nips15submit_e.sty, including MK and drstrip@sandia % % last revision: March 2019 \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{neurips_2019}[2019/03/13 NeurIPS 2019 submission/camera-ready style file] % declare final option, which creates camera-ready copy \newif\if@neuripsfinal\@neuripsfinalfalse \DeclareOption{final}{ \@neuripsfinaltrue } % declare nonatbib option, which does not load natbib in case of % package clash (users can pass options to natbib via % \PassOptionsToPackage) \newif\if@natbib\@natbibtrue \DeclareOption{nonatbib}{ \@natbibfalse } % declare preprint option, which creates a preprint version ready for % upload to, e.g., arXiv \newif\if@preprint\@preprintfalse \DeclareOption{preprint}{ \@preprinttrue } \ProcessOptions\relax % determine whether this is an anonymized submission \newif\if@submission\@submissiontrue \if@neuripsfinal\@submissionfalse\fi \if@preprint\@submissionfalse\fi % fonts \renewcommand{\rmdefault}{ptm} \renewcommand{\sfdefault}{phv} % change this every year for notice string at bottom \newcommand{\@neuripsordinal}{33rd} \newcommand{\@neuripsyear}{2019} \newcommand{\@neuripslocation}{Vancouver, Canada} % handle tweaks for camera-ready copy vs. submission copy \if@preprint \newcommand{\@noticestring}{% Preprint. Under review.% } \else \if@neuripsfinal \newcommand{\@noticestring}{% \@neuripsordinal\/ Conference on Neural Information Processing Systems (NeurIPS \@neuripsyear), \@neuripslocation.% } \else \newcommand{\@noticestring}{% Submitted to \@neuripsordinal\/ Conference on Neural Information Processing Systems (NeurIPS \@neuripsyear). Do not distribute.% } % line numbers for submission \RequirePackage{lineno} \linenumbers % fix incompatibilities between lineno and amsmath, if required, by % transparently wrapping linenomath environments around amsmath % environments \AtBeginDocument{% \@ifpackageloaded{amsmath}{% \newcommand*\patchAmsMathEnvironmentForLineno[1]{% \expandafter\let\csname old#1\expandafter\endcsname\csname #1\endcsname \expandafter\let\csname oldend#1\expandafter\endcsname\csname end#1\endcsname \renewenvironment{#1}% {\linenomath\csname old#1\endcsname}% {\csname oldend#1\endcsname\endlinenomath}% }% \newcommand*\patchBothAmsMathEnvironmentsForLineno[1]{% \patchAmsMathEnvironmentForLineno{#1}% \patchAmsMathEnvironmentForLineno{#1*}% }% \patchBothAmsMathEnvironmentsForLineno{equation}% \patchBothAmsMathEnvironmentsForLineno{align}% \patchBothAmsMathEnvironmentsForLineno{flalign}% \patchBothAmsMathEnvironmentsForLineno{alignat}% \patchBothAmsMathEnvironmentsForLineno{gather}% \patchBothAmsMathEnvironmentsForLineno{multline}% }{} } \fi \fi % load natbib unless told otherwise \if@natbib \RequirePackage{natbib} \fi % set page geometry \usepackage[verbose=true,letterpaper]{geometry} \AtBeginDocument{ \newgeometry{ textheight=9in, textwidth=5.5in, top=1in, headheight=12pt, headsep=25pt, footskip=30pt } \@ifpackageloaded{fullpage} {\PackageWarning{neurips_2019}{fullpage package not allowed! Overwriting formatting.}} {} } \widowpenalty=10000 \clubpenalty=10000 \flushbottom \sloppy % font sizes with reduced leading \renewcommand{\normalsize}{% \@setfontsize\normalsize\@xpt\@xipt \abovedisplayskip 7\p@ \@plus 2\p@ \@minus 5\p@ \abovedisplayshortskip \z@ \@plus 3\p@ \belowdisplayskip \abovedisplayskip \belowdisplayshortskip 4\p@ \@plus 3\p@ \@minus 3\p@ } \normalsize \renewcommand{\small}{% \@setfontsize\small\@ixpt\@xpt \abovedisplayskip 6\p@ \@plus 1.5\p@ \@minus 4\p@ \abovedisplayshortskip \z@ \@plus 2\p@ \belowdisplayskip \abovedisplayskip \belowdisplayshortskip 3\p@ \@plus 2\p@ \@minus 2\p@ } \renewcommand{\footnotesize}{\@setfontsize\footnotesize\@ixpt\@xpt} \renewcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt} \renewcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt} \renewcommand{\large}{\@setfontsize\large\@xiipt{14}} \renewcommand{\Large}{\@setfontsize\Large\@xivpt{16}} \renewcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{20}} \renewcommand{\huge}{\@setfontsize\huge\@xxpt{23}} \renewcommand{\Huge}{\@setfontsize\Huge\@xxvpt{28}} % sections with less space \providecommand{\section}{} \renewcommand{\section}{% \@startsection{section}{1}{\z@}% {-2.0ex \@plus -0.5ex \@minus -0.2ex}% { 1.5ex \@plus 0.3ex \@minus 0.2ex}% {\large\bf\raggedright}% } \providecommand{\subsection}{} \renewcommand{\subsection}{% \@startsection{subsection}{2}{\z@}% {-1.8ex \@plus -0.5ex \@minus -0.2ex}% { 0.8ex \@plus 0.2ex}% {\normalsize\bf\raggedright}% } \providecommand{\subsubsection}{} \renewcommand{\subsubsection}{% \@startsection{subsubsection}{3}{\z@}% {-1.5ex \@plus -0.5ex \@minus -0.2ex}% { 0.5ex \@plus 0.2ex}% {\normalsize\bf\raggedright}% } \providecommand{\paragraph}{} \renewcommand{\paragraph}{% \@startsection{paragraph}{4}{\z@}% {1.5ex \@plus 0.5ex \@minus 0.2ex}% {-1em}% {\normalsize\bf}% } \providecommand{\subparagraph}{} \renewcommand{\subparagraph}{% \@startsection{subparagraph}{5}{\z@}% {1.5ex \@plus 0.5ex \@minus 0.2ex}% {-1em}% {\normalsize\bf}% } \providecommand{\subsubsubsection}{} \renewcommand{\subsubsubsection}{% \vskip5pt{\noindent\normalsize\rm\raggedright}% } % float placement \renewcommand{\topfraction }{0.85} \renewcommand{\bottomfraction }{0.4} \renewcommand{\textfraction }{0.1} \renewcommand{\floatpagefraction}{0.7} \newlength{\@neuripsabovecaptionskip}\setlength{\@neuripsabovecaptionskip}{7\p@} \newlength{\@neuripsbelowcaptionskip}\setlength{\@neuripsbelowcaptionskip}{\z@} \setlength{\abovecaptionskip}{\@neuripsabovecaptionskip} \setlength{\belowcaptionskip}{\@neuripsbelowcaptionskip} % swap above/belowcaptionskip lengths for tables \renewenvironment{table} {\setlength{\abovecaptionskip}{\@neuripsbelowcaptionskip}% \setlength{\belowcaptionskip}{\@neuripsabovecaptionskip}% \@float{table}} {\end@float} % footnote formatting \setlength{\footnotesep }{6.65\p@} \setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@} \renewcommand{\footnoterule}{\kern-3\p@ \hrule width 12pc \kern 2.6\p@} \setcounter{footnote}{0} % paragraph formatting \setlength{\parindent}{\z@} \setlength{\parskip }{5.5\p@} % list formatting \setlength{\topsep }{4\p@ \@plus 1\p@ \@minus 2\p@} \setlength{\partopsep }{1\p@ \@plus 0.5\p@ \@minus 0.5\p@} \setlength{\itemsep }{2\p@ \@plus 1\p@ \@minus 0.5\p@} \setlength{\parsep }{2\p@ \@plus 1\p@ \@minus 0.5\p@} \setlength{\leftmargin }{3pc} \setlength{\leftmargini }{\leftmargin} \setlength{\leftmarginii }{2em} \setlength{\leftmarginiii}{1.5em} \setlength{\leftmarginiv }{1.0em} \setlength{\leftmarginv }{0.5em} \def\@listi {\leftmargin\leftmargini} \def\@listii {\leftmargin\leftmarginii \labelwidth\leftmarginii \advance\labelwidth-\labelsep \topsep 2\p@ \@plus 1\p@ \@minus 0.5\p@ \parsep 1\p@ \@plus 0.5\p@ \@minus 0.5\p@ \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii \advance\labelwidth-\labelsep \topsep 1\p@ \@plus 0.5\p@ \@minus 0.5\p@ \parsep \z@ \partopsep 0.5\p@ \@plus 0\p@ \@minus 0.5\p@ \itemsep \topsep} \def\@listiv {\leftmargin\leftmarginiv \labelwidth\leftmarginiv \advance\labelwidth-\labelsep} \def\@listv {\leftmargin\leftmarginv \labelwidth\leftmarginv \advance\labelwidth-\labelsep} \def\@listvi {\leftmargin\leftmarginvi \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} % create title \providecommand{\maketitle}{} \renewcommand{\maketitle}{% \par \begingroup \renewcommand{\thefootnote}{\fnsymbol{footnote}} % for perfect author name centering \renewcommand{\@makefnmark}{\hbox to \z@{$^{\@thefnmark}$\hss}} % The footnote-mark was overlapping the footnote-text, % added the following to fix this problem (MK) \long\def\@makefntext##1{% \parindent 1em\noindent \hbox to 1.8em{\hss $\m@th ^{\@thefnmark}$}##1 } \thispagestyle{empty} \@maketitle \@thanks \@notice \endgroup \let\maketitle\relax \let\thanks\relax } % rules for title box at top of first page \newcommand{\@toptitlebar}{ \hrule height 4\p@ \vskip 0.25in \vskip -\parskip% } \newcommand{\@bottomtitlebar}{ \vskip 0.29in \vskip -\parskip \hrule height 1\p@ \vskip 0.09in% } % create title (includes both anonymized and non-anonymized versions) \providecommand{\@maketitle}{} \renewcommand{\@maketitle}{% \vbox{% \hsize\textwidth \linewidth\hsize \vskip 0.1in \@toptitlebar \centering {\LARGE\bf \@title\par} \@bottomtitlebar \if@submission \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@} Anonymous Author(s) \\ Affiliation \\ Address \\ \texttt{email} \\ \end{tabular}% \else \def\And{% \end{tabular}\hfil\linebreak[0]\hfil% \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\ignorespaces% } \def\AND{% \end{tabular}\hfil\linebreak[4]\hfil% \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\ignorespaces% } \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\@author\end{tabular}% \fi \vskip 0.3in \@minus 0.1in } } % add conference notice to bottom of first page \newcommand{\ftype@noticebox}{8} \newcommand{\@notice}{% % give a bit of extra room back to authors on first page \enlargethispage{2\baselineskip}% \@float{noticebox}[b]% \footnotesize\@noticestring% \end@float% } % abstract styling \renewenvironment{abstract}% {% \vskip 0.075in% \centerline% {\large\bf Abstract}% \vspace{0.5ex}% \begin{quote}% } { \par% \end{quote}% \vskip 1ex% } \endinput PK!mdc/templates/__init__.pyPK!h mdc/templates/icml.tex\RequirePackage{luatex85} \documentclass{article} \usepackage[T1]{fontenc} \usepackage[babel=true,protrusion=true,expansion=true]{microtype} \usepackage[american]{babel} \usepackage{nowidow} \usepackage[unicode=true,hidelinks]{hyperref} \usepackage{fancyhdr} \usepackage{graphicx} \usepackage{subcaption} \usepackage{dblfloatfix} \usepackage{xcolor} \usepackage{tikz} \usepackage{booktabs} \usepackage{longtable} \usepackage{footnote} \usepackage{acronym} \usepackage{relsize} \usepackage{upquote} \usepackage{fancyvrb} \usepackage{mathtools} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mleftright} \usepackage{bm} \usepackage$if(submission)$$else$[accepted]$endif${$if(local)$icml$else$resources/icml$endif$} % Pandoc tightlist \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} % Fix tables \makesavenoteenv{longtable} % Place floats at the top of float-only pages \makeatletter \setlength{\@fptop}{0pt} \setlength{\@fpbot}{0pt plus 1fil} \makeatother % Set defaults for figure, table placement \makeatletter \def\fps@figure{!tb} \def\fps@table{!tb} \makeatother % Configure acronyms \renewcommand*{\acsfont}[1]{\textsc{\textsmaller{#1}}} % Use mleftright \renewcommand\left\mleft \renewcommand\right\mright % Automatically use \left and \right with parentheses \makeatletter \def\resetMathstrut@{% \setbox\z@\hbox{% \mathchardef\@tempa\mathcode`\[\relax \mathchardef\@tempc\mathcode`\]\relax \def\@tempb##1"##2##3{\the\textfont"##3\char"}% \expandafter\@tempb\meaning\@tempa \relax }% \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@} \makeatother \begingroup \catcode`(\active \xdef({\left\string(} \catcode`)\active \xdef){\right\string)} \endgroup \mathcode`(="8000 \mathcode`)="8000 $for(include-before)$$include-before$$endfor$ \icmltitlerunning{$if(running-title)$$running-title$$else$$title$$endif$} \begin{document} % Configure basic typography \nowidow[2] \parindent=2.5em \lefthyphenmin=2 \righthyphenmin=3 \twocolumn[ \icmltitle{$title$} \icmlsetsymbol{equal}{*} \begin{icmlauthorlist} $for(author)$ \icmlauthor{$author.name$}{$if(author.equalcontrib)$equal,$endif$$author.affiliation.id$} $endfor$ \end{icmlauthorlist} $for(institute)$ \icmlaffiliation{$institute.id$}{$institute.name$} $endfor$ $for(author)$ $if(author.corresponding)$ \icmlcorrespondingauthor{$author.name$}{$author.email$} $endif$ $endfor$ $if(keyword)$ \icmlkeywords{$for(keyword)$$keyword$$sep$, $endfor$} $endif$ \vskip 0.3in ] $if(skipequal)$\printAffiliationsAndNotice{}$else$\printAffiliationsAndNotice{\icmlEqualContribution}$endif$ \begin{abstract} $abstract$ \end{abstract} $body$ \bibliography{$bibliography$} \bibliographystyle{$if(local)$icml$else$resources/icml$endif$} \end{document} PK!| mdc/templates/neurips.tex\documentclass{article} \PassOptionsToPackage{square,numbers,super,sort&compress}{natbib} \usepackage$if(submission)$$else$[final]$endif${$if(local)$neurips$else$resources/neurips$endif$} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[babel=true,protrusion=true,expansion=true]{microtype} \usepackage[american]{babel} \usepackage{nowidow} \usepackage[unicode=true,hidelinks]{hyperref} \usepackage{url} \usepackage{graphicx} \usepackage{subcaption} \usepackage{dblfloatfix} \usepackage{xcolor} \usepackage{tikz} \usepackage{booktabs} \usepackage{longtable} \usepackage{footnote} \usepackage{acronym} \usepackage{relsize} \usepackage{upquote} \usepackage{fancyvrb} \usepackage{mathtools} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mleftright} \usepackage{bm} \usepackage{algpseudocode} \usepackage{algorithmicx} % Footnote without marker \newcommand\blfootnote[1]{% \begingroup \renewcommand\thefootnote{}\footnote{#1}% \addtocounter{footnote}{-1}% \endgroup } % Put year in citet \newcommand*{\nolink}[1]{% {\protect\NoHyper#1\protect\endNoHyper}% } \renewcommand{\citet}[1]{\nolink{\citeauthor{#1} (\citeyear{#1})}\citep{#1}} % Pandoc tightlist \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} % Fix tables \makesavenoteenv{longtable} % Place floats at the top of float-only pages \makeatletter \setlength{\@fptop}{0pt} \setlength{\@fpbot}{0pt plus 1fil} \makeatother % Set defaults for figure, table placement \makeatletter \def\fps@figure{!tb} \def\fps@table{!tb} \makeatother % Use mleftright \renewcommand\left\mleft \renewcommand\right\mright % Automatically use \left and \right with parentheses \makeatletter \def\resetMathstrut@{% \setbox\z@\hbox{% \mathchardef\@tempa\mathcode`\[\relax \mathchardef\@tempc\mathcode`\]\relax \def\@tempb##1"##2##3{\the\textfont"##3\char"}% \expandafter\@tempb\meaning\@tempa \relax }% \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@} \makeatother \begingroup \catcode`(\active \xdef({\left\string(} \catcode`)\active \xdef){\right\string)} \endgroup \mathcode`(="8000 \mathcode`)="8000 % Configure acronyms \renewcommand*{\acsfont}[1]{\textsc{\textsmaller{#1}}} $for(include-before)$$include-before$$endfor$ \title{$title$} \author{% $for(author)$% $author.name$$if(author.equalcontrib)$$if(skipequal)$$else$$$^\ast$$$endif$$endif$\\ $author.affiliation.name$\\ \texttt{$author.email$}\\ $sep$\And$endfor$% } \begin{document} \maketitle $if(skipequal)$$else$\blfootnote{\textsuperscript{\ast}Equal contribution.}$endif$ \begin{abstract} $abstract$ \end{abstract} $body$ \small \bibliographystyle{humannat} \bibliography{$bibliography$} \end{document} PK!?OOmdc/templates/note.tex\documentclass[letterpaper]{article} \usepackage[hmargin=1.5in,tmargin=1in,bmargin=1.5in]{geometry} \usepackage[T1]{fontenc} \usepackage[babel=true,protrusion=true,expansion=true]{microtype} \usepackage[american]{babel} \usepackage{cfr-lm} \usepackage[no-math]{fontspec} \usepackage{nowidow} \usepackage{parskip} \usepackage[unicode=true,hidelinks]{hyperref} \usepackage{fancyhdr} \usepackage{titlesec} \usepackage{graphicx} \usepackage{subcaption} \usepackage{dblfloatfix} \usepackage{xcolor} \usepackage{tikz} \usepackage{booktabs} \usepackage{longtable} \usepackage{footnote} \usepackage{acronym} \usepackage{relsize} \usepackage{upquote} \usepackage{fancyvrb} % Pandoc tightlist \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} % Fix tables \makesavenoteenv{longtable} % Place floats at the top of float-only pages \makeatletter \setlength{\@fptop}{0pt} \setlength{\@fpbot}{0pt plus 1fil} \makeatother % Set defaults for figure, table placement \makeatletter \def\fps@figure{!tb} \def\fps@table{!tb} \makeatother % Disable page numbers \pagenumbering{gobble} % Configure acronyms \renewcommand*{\acsfont}[1]{\textsc{\textsmaller{#1}}} $for(include-before)$$include-before$$endfor$ \title{$title$} \author{$for(author)$$author.name$$sep$\quad $endfor$} \date{} \begin{document} \maketitle $body$ \end{document} PK!@bmdc/templates/simple.tex\documentclass[letterpaper,twocolumn]{article} \usepackage[hmargin=46pt,tmargin=1in,bmargin=1.5in,footskip=0.75in]{geometry} \usepackage[T1]{fontenc} \usepackage[babel=true,protrusion=true,expansion=true]{microtype} \usepackage[american]{babel} \usepackage{cfr-lm} \usepackage{nowidow} \usepackage[unicode=true,hidelinks]{hyperref} \usepackage{fancyhdr} \usepackage[absolute]{textpos} \usepackage{titlesec} \usepackage[square,numbers,super,sort&compress]{natbib} \usepackage{graphicx} \usepackage{subcaption} \usepackage{dblfloatfix} \usepackage{xcolor} \usepackage{tikz} \usepackage{booktabs} \usepackage{longtable} \usepackage{footnote} \usepackage{acronym} \usepackage{relsize} \usepackage{upquote} \usepackage{fancyvrb} \usepackage{mathtools} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mleftright} \usepackage{bm} \usepackage{algpseudocode} \usepackage{algorithmicx} % Put year in citet \newcommand*{\nolink}[1]{{\protect\NoHyper#1\protect\endNoHyper}} \renewcommand{\citet}[1]{\nolink{\citeauthor{#1} (\citeyear{#1})}\citep{#1}} % Pandoc tightlist \providecommand{\tightlist}{\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} % Fix tables \makesavenoteenv{longtable} % Place floats at the top of float-only pages \makeatletter \setlength{\@fptop}{0pt} \setlength{\@fpbot}{0pt plus 1fil} \makeatother % Set defaults for figure, table placement \makeatletter \def\fps@figure{!tb} \def\fps@table{!tb} \makeatother % Configure acronyms \renewcommand*{\acsfont}[1]{\textsc{\textsmaller{#1}}} % Use mleftright \renewcommand\left\mleft \renewcommand\right\mright % Automatically use \left and \right with parentheses \makeatletter \def\resetMathstrut@{% \setbox\z@\hbox{% \mathchardef\@tempa\mathcode`\[\relax \mathchardef\@tempc\mathcode`\]\relax \def\@tempb##1"##2##3{\the\textfont"##3\char"}% \expandafter\@tempb\meaning\@tempa \relax }% \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@} \makeatother \begingroup \catcode`(\active \xdef({\left\string(} \catcode`)\active \xdef){\right\string)} \endgroup \mathcode`(="8000 \mathcode`)="8000 % Configure headings \titleformat{\section}[hang]{\raggedright\normalfont\Large}{\thesection}{3\wordsep}{} \titleformat{\subsection}[hang]{\raggedright\normalfont\large}{\thesubsection}{3\wordsep}{} \titleformat{\subsubsection}[hang]{\raggedright\normalfont\normalsize\itshape}{\thesubsubsection}{4\wordsep}{} \titleformat{\paragraph}[runin]{\normalfont\normalsize\scshape}{}{4\wordsep}{} % Set column separation \setlength{\columnsep}{1.6em} % Configure page no. \pagestyle{fancy} \fancyhf{} \renewcommand{\headrulewidth}{0pt} \fancyfoot[R]{\scriptsize\thepage} $for(include-before)$$include-before$$endfor$ \title{% \vspace{-5ex}% \begin{minipage}{\textwidth}% \begin{flushleft}% {\normalfont\Huge $title$}% \end{flushleft}% \end{minipage}% \vspace{-2ex}% } \author{% \begin{minipage}{\textwidth}% \begin{flushleft}% \hspace{-0.5em}% {% \normalfont\large\scshape% $for(author)$$author.name$\textsuperscript{$author.affiliation.id$$if(author.equalcontrib)$$if(skipequal)$$else$,*$endif$$endif$}$sep$\quad $endfor$% }% \end{flushleft}% \end{minipage}% \vspace{4ex}% } \date{} \begin{document} % Configure basic typography \nowidow[2] \parindent=2.5em \lefthyphenmin=2 \righthyphenmin=3 \maketitle \thispagestyle{fancy} \textblockorigin{0in}{11in} \setlength{\TPHorizModule}{1pt} \setlength{\TPVertModule}{1in} \begin{textblock}{400}(46,-0.9) \parindent=0pt \normalfont\scriptsize\raggedright \hrule \hrule \vspace{1.5ex} $if(skipequal)$$else$\textsuperscript{*}Equal contribution.$endif$ $for(institute)$\textsuperscript{$institute.id$}$institute.name$.$endfor$ Email:~$for(author)$\texttt{$author.email$}$sep$, $endfor$. \end{textblock} $if(abstract)$ \section*{Abstract} $abstract$ $endif$ $body$ $if(bibliography)$ \footnotesize \bibliographystyle{humannat} \bibliography{$bibliography$} $endif$ \end{document} PK!jeSmdc/templates/standalone.tex\documentclass[preview,varwidth=100in]{standalone} \usepackage[T1]{fontenc} \usepackage[babel=true,protrusion=true,expansion=true]{microtype} \usepackage[american]{babel} \usepackage{cfr-lm} \usepackage[unicode=true,hidelinks]{hyperref} \usepackage{xcolor} \usepackage{tikz} \usepackage{booktabs} \usepackage{longtable} \usepackage{acronym} \usepackage{relsize} \usepackage{mathtools} \usepackage{amssymb} \usepackage{mleftright} \usepackage{bm} \usepackage{algpseudocode} \usepackage{subcaption} \usepackage{pgf} % Use mleftright \renewcommand\left\mleft \renewcommand\right\mright % Automatically use \left and \right with parentheses \makeatletter \def\resetMathstrut@{% \setbox\z@\hbox{% \mathchardef\@tempa\mathcode`\[\relax \mathchardef\@tempc\mathcode`\]\relax \def\@tempb##1"##2##3{\the\textfont"##3\char"}% \expandafter\@tempb\meaning\@tempa \relax }% \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@} \makeatother \begingroup \catcode`(\active \xdef({\left\string(} \catcode`)\active \xdef){\right\string)} \endgroup \mathcode`(="8000 \mathcode`)="8000 % Configure acronyms \renewcommand*{\acsfont}[1]{\textsc{\textsmaller{#1}}} $for(include-before)$$include-before$$endfor$ \begin{document} $body$ \end{document} PK!tWmdc/templates/stylish.tex\documentclass[letterpaper,twocolumn]{article} \usepackage[hmargin=0.75in,vmargin=0.75in,footskip=0.5in]{geometry} \usepackage[T1]{fontenc} \usepackage[no-math]{fontspec} \usepackage[babel=true,protrusion=true,expansion=true]{microtype} \usepackage[american]{babel} \usepackage{cfr-lm} \usepackage{nowidow} \usepackage[unicode=true,hidelinks]{hyperref} \usepackage{fancyhdr} \usepackage{sectsty} \usepackage[square,numbers,super,sort&compress]{natbib} \usepackage{graphicx} \usepackage{caption} \usepackage{subcaption} \usepackage{dblfloatfix} \usepackage{xcolor} \usepackage{tikz} \usepackage{booktabs} \usepackage{longtable} \usepackage{footnote} \usepackage{acronym} \usepackage{relsize} \usepackage{upquote} \usepackage{fancyvrb} \usepackage{etoolbox} \usepackage{mathtools} \usepackage{amssymb} \usepackage{amsthm} \usepackage{amsopn} \usepackage{mleftright} \usepackage{bm} \usepackage{algpseudocode} \usepackage{algorithmicx} % Footnote without marker \newcommand\blfootnote[1]{% \begingroup \renewcommand\thefootnote{}\footnote{\raggedright \hspace{-20pt} #1}% \addtocounter{footnote}{-1}% \endgroup } % Put year in citet \newcommand*{\nolink}[1]{{\protect\NoHyper#1\protect\endNoHyper}} \renewcommand{\citet}[1]{\nolink{\citeauthor{#1} (\citeyear{#1})}\citep{#1}} % Pandoc tightlist \providecommand{\tightlist}{\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} % Fix tables \makesavenoteenv{longtable} % Place floats at the top of float-only pages \makeatletter \setlength{\@fptop}{0pt} \setlength{\@fpbot}{0pt plus 1fil} \makeatother % Set defaults for figure, table placement \makeatletter \def\fps@figure{!tb} \def\fps@table{!tb} \makeatother % Use mleftright \renewcommand\left\mleft \renewcommand\right\mright % Automatically use \left and \right with parentheses \makeatletter \def\resetMathstrut@{% \setbox\z@\hbox{% \mathchardef\@tempa\mathcode`\[\relax \mathchardef\@tempc\mathcode`\]\relax \def\@tempb##1"##2##3{\the\textfont"##3\char"}% \expandafter\@tempb\meaning\@tempa \relax }% \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@} \makeatother \begingroup \catcode`(\active \xdef({\left\string(} \catcode`)\active \xdef){\right\string)} \endgroup \mathcode`(="8000 \mathcode`)="8000 % Configure acronyms \renewcommand*{\acsfont}[1]{\textsc{\textsmaller{#1}}} % Configure (sub(sub))section fonts \sectionfont{\raggedright\normalfont\fontspec{futura-medium.ttf}[Path=resources/]\fontsize{15}{0}\selectfont} \subsectionfont{\raggedright\normalfont\fontspec{futura-book.ttf}[Path=resources/]\fontsize{13}{0}\selectfont} \subsubsectionfont{\raggedright\normalfont\fontspec{futura-book.ttf}[Path=resources/]\fontsize{9}{0}\selectfont\MakeUppercase} % Configure (sub(sub))section numbers \renewcommand*{\thesection}{\arabic{section}.} \renewcommand*{\thesubsection}{\arabic{section}.\arabic{subsection}} \renewcommand*{\thesubsubsection}{\arabic{section}.\arabic{subsection}.\arabic{subsubsection}} % Configure captions \captionsetup{justification=raggedright,singlelinecheck=true} \renewcommand{\captionfont}{\fontspec{futura-light.ttf}[Path=resources/]} \renewcommand{\captionlabelfont}{\fontspec{futura-medium.ttf}[Path=resources/]} % Set column separation \setlength{\columnsep}{0.3in} % Configure page no. \pagestyle{fancy} \fancyhf{} \renewcommand{\headrulewidth}{0pt} \fancyfoot[R]{\scriptsize{\thepage}} $for(include-before)$$include-before$$endfor$ \title{% \vspace{-3ex}% \begin{minipage}{\textwidth}% \begin{flushleft}% {\fontspec{futura-medium.ttf}[Path=resources/]\fontsize{20}{0}\selectfont $title$}% \end{flushleft}% \end{minipage}% \vspace{-1ex}% } \author{% \begin{minipage}{\textwidth}% \begin{flushleft}% \hspace{-0.5em}% {% \fontspec{futura-book.ttf}[Path=resources/]\fontsize{12}{0}\selectfont% $for(author)$$author.name$\textsuperscript{$author.affiliation.id$$if(author.equalcontrib)$$if(skipequal)$$else$,*$endif$$endif$}$sep$\quad $endfor$% }% \end{flushleft}% \end{minipage}% } \date{\vspace{-3ex}} % Configure basic typography \fussy \pretolerance 400 \emergencystretch 2em \begin{document} \maketitle \thispagestyle{fancy} \blfootnote{% {% \scriptsize\fontspec{futura-light.ttf}[Path=resources/]% $if(skipequal)$$else$\textsuperscript{*}Equal contribution.$endif$% $for(institute)$\mbox{\textsuperscript{$institute.id$}$institute.name$.}\enspace$endfor$% Email:~$for(author)$\mbox{\texttt{$author.email$}}$sep$, $endfor$.% }% } $if(abstract)$ \hrule height 1pt \vspace{0.5em} {\small\bfseries $abstract$} \vspace{0.5em} \hrule height 1pt $endif$ $body$ $if(bibliography)$ \footnotesize \setlength{\bibsep}{0pt plus 0.3ex} \bibliographystyle{humannat} \bibliography{$bibliography$} $endif$ \end{document} PK!H3I88#$)shinymdc-0.1.3.dist-info/entry_points.txtN+I/N.,()MIb= MPK!Hu)GTUshinymdc-0.1.3.dist-info/WHEEL HM K-*ϳR03rOK-J,/R(O-)$qzd&Y)r$UV&UrPK!H{ v !shinymdc-0.1.3.dist-info/METADATAn0 vR ˖54U|Iǟ/#F*~`L; K,JHvmj/wQ^sUqy p|K9C ] A30(zEP-BUj%+V5(G<ȱʃt.1~܊EO|s@ppgmde_Q~קz᪼7FYOh|6O %\A_ض zN:z2s]'XFWc\Vä >n!+g^ғ3*+ڞFn=lDh*shinymdc-0.1.3.dist-info/RECORD˒J}? p)XDl S ǘ8=ޝEE2(Ҁ兟gK?7u ?(e6ŲoSy%ŪGPCQc5,L|L`rp'g}V)Q_DoC}]gp537ȹvS})oٵn3L2RB:%H"&>-.Z*>8(+;І]2z{EaJ.i@WxVζsq8Φǃ(C0;iÃ(`nOgO0ڑϩbId7uCw}b-TO̷%ȆbE|u(ZUql0Z㼪Dʤrӣ-Q{%eG.{*'+oaڜl7]F4Cah" *< מ~%&hծ**mVH!`בɭA(m8m1REEahvأ~H6Jt]#B~+j8£ّ/SUuzi% I=S :{zh6m OoV v$( ʿP4BKl7jwvM#OGvQ$r pbX^:K_E( +[!mȟ ߺӓ;pW?PIɯ+\G6 .6V2GGˣz E?)2kCqRUm)L? v& h]bM#p!+!+Cmdc/resources/neurips.styPK!7omdc/templates/__init__.pyPK!h nomdc/templates/icml.texPK!| yzmdc/templates/neurips.texPK!?OOmdc/templates/note.texPK!@b?mdc/templates/simple.texPK!jeS)mdc/templates/standalone.texPK!tWLmdc/templates/stylish.texPK!H3I88#$)Ashinymdc-0.1.3.dist-info/entry_points.txtPK!Hu)GTUshinymdc-0.1.3.dist-info/WHEELPK!H{ v !;shinymdc-0.1.3.dist-info/METADATAPK!H>*"shinymdc-0.1.3.dist-info/RECORDPK