%% %% This is file `acmart.cls', %% generated with the docstrip utility. %% %% The original source files were: %% %% acmart.dtx (with options: `class') %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from acmart.cls. %% %% For distribution of the original source see the terms %% for copying and modification in the file acmart.dtx. %% %% This generated file may be distributed as long as the %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{acmart} [2016/12/03 v1.25 Typesetting articles for Association of Computing Machinery] \def\@classname{acmart} \RequirePackage{xkeyval} \define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{% manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph, sigplan, sigchi, sigchi-a}[manuscript]{}{% \ClassError{\@classname}{The option format must be manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph, sigplan, sigchi or sigchi-a}} \def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}} \@DeclareACMFormat{manuscript} \@DeclareACMFormat{acmsmall} \@DeclareACMFormat{acmlarge} \@DeclareACMFormat{acmtog} \@DeclareACMFormat{sigconf} \@DeclareACMFormat{siggraph} \@DeclareACMFormat{sigplan} \@DeclareACMFormat{sigchi} \@DeclareACMFormat{sigchi-a} \ExecuteOptionsX{format} \define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{% \if@ACM@screen \PackageInfo{\@classname}{Using screen mode}% \else \PackageInfo{\@classname}{Not using screen mode}% \fi}{\PackageError{\@classname}{Option screen can be either true or false}} \ExecuteOptionsX{screen=false} \define@boolkey+{acmart.cls}[@ACM@]{review}[true]{% \if@ACM@review \PackageInfo{\@classname}{Using review mode}% \else \PackageInfo{\@classname}{Not using review mode}% \fi}{\PackageError{\@classname}{Option review can be either true or false}} \ExecuteOptionsX{review=false} \define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{% \if@ACM@authorversion \PackageInfo{\@classname}{Using authorversion mode}% \else \PackageInfo{\@classname}{Not using authorversion mode}% \fi}{\PackageError{\@classname}{Option authorversion can be either true or false}} \ExecuteOptionsX{authorversion=false} \newif\if@ACM@natbib@override \@ACM@natbib@overridefalse \define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{% \@ACM@natbib@overridetrue \if@ACM@natbib \PackageInfo{\@classname}{Explicitly selecting natbib mode}% \else \PackageInfo{\@classname}{Explicitly deselecting natbib mode}% \fi}{\PackageError{\@classname}{Option natbib can be either true or false}} \define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{% \if@ACM@anonymous \PackageInfo{\@classname}{Using anonymous mode}% \else \PackageInfo{\@classname}{Not using anonymous mode}% \fi}{\PackageError{\@classname}{Option anonymous can be either true or false}} \ExecuteOptionsX{anonymous=false} \def\ACM@fontsize{} \DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}} \DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}} \DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}} \DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}} \DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}} \DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}} \ProcessOptionsX \ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr} \newif\if@ACM@manuscript \newif\if@ACM@journal \newif\if@ACM@sigchiamode \ifnum\ACM@format@nr=0\relax \@ACM@manuscripttrue \else \@ACM@manuscriptfalse \fi \@ACM@sigchiamodefalse \ifcase\ACM@format@nr \relax % manuscript \@ACM@journaltrue \or % acmsmall \@ACM@journaltrue \or % acmlarge \@ACM@journaltrue \or % acmtog \@ACM@journaltrue \or % sigconf \@ACM@journalfalse \or % siggraph \@ACM@journalfalse \or % sigplan \@ACM@journalfalse \or % sigchi \@ACM@journalfalse \or % sigchi-a \@ACM@journalfalse \@ACM@sigchiamodetrue \fi \if@ACM@natbib@override\else \@ACM@natbibtrue \fi \ifx\ACM@fontsize\@empty \ifcase\ACM@format@nr \relax % manuscript \def\ACM@fontsize{9pt}% \or % acmsmall \def\ACM@fontsize{10pt}% \or % acmlarge \def\ACM@fontsize{10pt}% \or % acmtog \def\ACM@fontsize{9pt}% \or % sigconf \def\ACM@fontsize{9pt}% \or % siggraph \def\ACM@fontsize{9pt}% \or % sigplan \def\ACM@fontsize{9pt}% \or % sigchi \def\ACM@fontsize{10pt}% \or % sigchi-a \def\ACM@fontsize{10pt}% \fi \fi \ClassInfo{\@classname}{Using fontsize \ACM@fontsize} \LoadClass[\ACM@fontsize, reqno]{amsart} \RequirePackage{microtype} \RequirePackage{totpages} \RequirePackage{environ} \if@ACM@manuscript \RequirePackage{setspace} \onehalfspacing \fi \if@ACM@natbib \RequirePackage{natbib} \renewcommand{\bibsection}{% \section*{\refname}% \phantomsection\addcontentsline{toc}{section}{\refname}% } \renewcommand{\bibfont}{\bibliofont} \renewcommand\setcitestyle[1]{ \@for\@tempa:=#1\do {\def\@tempb{round}\ifx\@tempa\@tempb \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi \def\@tempb{square}\ifx\@tempa\@tempb \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi \def\@tempb{angle}\ifx\@tempa\@tempb \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi \def\@tempb{curly}\ifx\@tempa\@tempb \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi \def\@tempb{semicolon}\ifx\@tempa\@tempb \renewcommand\NAT@sep{;}\fi \def\@tempb{colon}\ifx\@tempa\@tempb \renewcommand\NAT@sep{;}\fi \def\@tempb{comma}\ifx\@tempa\@tempb \renewcommand\NAT@sep{,}\fi \def\@tempb{authoryear}\ifx\@tempa\@tempb \NAT@numbersfalse\fi \def\@tempb{numbers}\ifx\@tempa\@tempb \NAT@numberstrue\NAT@superfalse\fi \def\@tempb{super}\ifx\@tempa\@tempb \NAT@numberstrue\NAT@supertrue\fi \def\@tempb{nobibstyle}\ifx\@tempa\@tempb \let\bibstyle=\@gobble\fi \def\@tempb{bibstyle}\ifx\@tempa\@tempb \let\bibstyle=\@citestyle\fi \def\@tempb{sort}\ifx\@tempa\@tempb \def\NAT@sort{\@ne}\fi \def\@tempb{nosort}\ifx\@tempa\@tempb \def\NAT@sort{\z@}\fi \def\@tempb{compress}\ifx\@tempa\@tempb \def\NAT@cmprs{\@ne}\fi \def\@tempb{nocompress}\ifx\@tempa\@tempb \def\NAT@cmprs{\@z}\fi \def\@tempb{sort&compress}\ifx\@tempa\@tempb \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi \def\@tempb{mcite}\ifx\@tempa\@tempb \let\NAT@merge\@ne\fi \def\@tempb{merge}\ifx\@tempa\@tempb \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi \def\@tempb{elide}\ifx\@tempa\@tempb \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb \NAT@longnamestrue\fi \def\@tempb{nonamebreak}\ifx\@tempa\@tempb \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi \expandafter\NAT@find@eq\@tempa=\relax\@nil \if\@tempc\relax\else \expandafter\NAT@rem@eq\@tempc \def\@tempb{open}\ifx\@tempa\@tempb \xdef\NAT@open{\@tempc}\fi \def\@tempb{close}\ifx\@tempa\@tempb \xdef\NAT@close{\@tempc}\fi \def\@tempb{aysep}\ifx\@tempa\@tempb \xdef\NAT@aysep{\@tempc}\fi \def\@tempb{yysep}\ifx\@tempa\@tempb \xdef\NAT@yrsep{\@tempc}\fi \def\@tempb{notesep}\ifx\@tempa\@tempb \xdef\NAT@cmt{\@tempc}\fi \def\@tempb{citesep}\ifx\@tempa\@tempb \xdef\NAT@sep{\@tempc}\fi \fi }% \NAT@@setcites } \renewcommand\citestyle[1]{% \ifcsname bibstyle@#1\endcsname% \csname bibstyle@#1\endcsname\let\bibstyle\@gobble% \else% \@latex@error{Undefined `#1' citestyle}% \fi }% \fi \newcommand{\bibstyle@acmauthoryear}{% \setcitestyle{% authoryear,% open={(},close={)},citesep={;},% aysep={},yysep={,},% notesep={, }}} \newcommand{\bibstyle@acmnumeric}{% \setcitestyle{% numbers,sort&compress,% open={[},close={]},citesep={,},% notesep={, }}} \citestyle{acmnumeric} \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse \fi \if@nobreak \everypar{}% \else \addpenalty\@secpenalty\addvspace\@tempskipa \fi \@ifstar {\@ssect{#3}{#4}{#5}{#6}}% {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} \def\@sect#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth \let\@svsec\@empty \else \refstepcounter{#1}% \protected@edef\@svsec{\@seccntformat{#1}\relax}% \fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6{% \@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\relax \@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\@xsect#1{% \@tempskipa #1\relax \ifdim \@tempskipa>\z@ \par \nobreak \vskip \@tempskipa \@afterheading \else \@nobreakfalse \global\@noskipsectrue \everypar{% \if@noskipsec \global\@noskipsecfalse {\setbox\z@\lastbox}% \clubpenalty\@M \begingroup \@svsechd \endgroup \unskip \@tempskipa #1\relax \hskip -\@tempskipa \else \clubpenalty \@clubpenalty \everypar{}% \fi}% \fi \ignorespaces} \def\@seccntformat#1{\csname the#1\endcsname\quad} \def\@ssect#1#2#3#4#5{% \@tempskipa #3\relax \ifdim \@tempskipa>\z@ \begingroup #4{% \@hangfrom{\hskip #1}% \interlinepenalty \@M #5\@@par}% \endgroup \else \def\@svsechd{#4{\hskip #1\relax #5}}% \fi \@xsect{#3}} \let\@footnotemark@nolink\@footnotemark \let\@footnotetext@nolink\@footnotetext \RequirePackage[bookmarksnumbered]{hyperref} \urlstyle{rm} \ifcase\ACM@format@nr \relax % manuscript \or % acmsmall \or % acmlarge \or % acmtog \or % sigconf \or % siggraph \or % sigplan \urlstyle{sf} \or % sigchi \or % sigchi-a \urlstyle{sf} \fi \if@ACM@screen % \hypersetup{colorlinks, % linkcolor=ACMRed, % citecolor=ACMPurple, % urlcolor=ACMDarkBlue, % filecolor=ACMDarkBlue} \else \hypersetup{hidelinks} \fi \if@ACM@natbib \let\citeN\cite \let\cite\citep \let\citeANP\citeauthor \let\citeNN\citeyearpar \let\citeyearNP\citeyear \let\citeyear\citeyearpar \let\citeNP\citealt \def\shortcite#1{\citeyear{#1}} \DeclareRobustCommand\citeA {\begingroup\NAT@swafalse \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}% \providecommand\newblock{}% \else \providecommand\citename[1]{#1} \fi \def\bibliographystyle#1{% \ifx\@begindocumenthook\@undefined\else \expandafter\AtBeginDocument \fi {\if@filesw \immediate\write\@auxout{\string\bibstyle{#1}}% \fi}} \RequirePackage{graphicx, xcolor} \definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1} \definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0} \definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01} \definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0} \definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0} \definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19} \definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15} \definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21} \RequirePackage{geometry} \ifcase\ACM@format@nr \relax % manuscript \geometry{letterpaper,head=1pc}% \or % acmsmall \geometry{twoside=true, includeheadfoot, head=1pc, foot=2pc, paperwidth=6.75in, paperheight=10in, top=58pt, bottom=44pt, inner=46pt, outer=46pt }% \or % acmlarge \geometry{twoside=true, head=1pc, foot=2pc, paperwidth=8.5in, paperheight=11in, includeheadfoot, top=78pt, bottom=114pt, inner=81pt, outer=81pt }% \or % acmtog \geometry{twoside=true, head=1pc, foot=2pc, paperwidth=8.5in, paperheight=11in, includeheadfoot, columnsep=24pt, top=52pt, bottom=75pt, inner=52pt, outer=52pt }% \or % sigconf \geometry{twoside=true, head=1pc, paperwidth=8.5in, paperheight=11in, includeheadfoot, columnsep=2pc, top=57pt, bottom=73pt, inner=54pt, outer=54pt }% \or % siggraph \geometry{twoside=true, head=1pc, paperwidth=8.5in, paperheight=11in, includeheadfoot, columnsep=2pc, top=57pt, bottom=73pt, inner=54pt, outer=54pt }% \or % sigplan \geometry{twoside=true, head=1pc, paperwidth=8.5in, paperheight=11in, includeheadfoot=false, columnsep=2pc, top=1in, bottom=1in, inner=0.75in, outer=0.75in }% \or % sigchi \geometry{twoside=true, head=1pc, paperwidth=8.5in, paperheight=11in, includeheadfoot, columnsep=2pc, top=66pt, bottom=73pt, inner=54pt, outer=54pt }% \or % sigchi-a \geometry{twoside=false, head=1pc, paperwidth=11in, paperheight=8.5in, includeheadfoot, marginparsep=72pt, marginparwidth=170pt, columnsep=20pt, top=72pt, bottom=72pt, left=314pt, right=72pt }% \@mparswitchfalse \reversemarginpar \fi \setlength\parindent{10\p@} \setlength\parskip{\z@} \ifcase\ACM@format@nr \relax % manuscript \or % acmsmall \or % acmlarge \or % acmtog \setlength\parindent{9\p@}% \or % sigconf \or % siggraph \or % sigplan \or % sigchi \or % sigchi-a \fi \def\copyrightpermissionfootnoterule{\kern-3\p@ \hrule \@width \columnwidth \kern 2.6\p@} \RequirePackage{manyfoot} \SelectFootnoteRule[2]{copyrightpermission} \DeclareNewFootnote{copyrightpermission} \def\footnoterule{\kern-3\p@ \hrule \@width 4pc \kern 2.6\p@} \def\endminipage{% \par \unskip \ifvoid\@mpfootins\else \vskip\skip\@mpfootins \normalcolor \unvbox\@mpfootins \fi \@minipagefalse %% added 24 May 89 \color@endgroup \egroup \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} \def\@makefntext{\noindent\@makefnmark} \if@ACM@sigchiamode \long\def\@footnotetext#1{\marginpar{% \reset@font\small \interlinepenalty\interfootnotelinepenalty \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% \color@begingroup \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% \color@endgroup}}% \fi \long\def\@mpfootnotetext#1{% \global\setbox\@mpfootins\vbox{% \unvbox\@mpfootins \reset@font\footnotesize \hsize\columnwidth \@parboxrestore \protected@edef\@currentlabel {\csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup\centering \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% \color@endgroup}} \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} \newif\if@ACM@newfonts \@ACM@newfontstrue \IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not have libertine package installed. Please upgrade your TeX}\@ACM@newfontsfalse} \IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not have zi4 package installed. Please upgrade your TeX}\@ACM@newfontsfalse} \IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not have newtxmath package installed. Please upgrade your TeX}\@ACM@newfontsfalse} \if@ACM@newfonts \RequirePackage[tt=false]{libertine} \RequirePackage[varqu]{zi4} \RequirePackage[libertine]{newtxmath} \else \RequirePackage{textcomp} \fi \if@ACM@sigchiamode \renewcommand{\familydefault}{\sfdefault} \fi \RequirePackage{caption, float} \captionsetup[table]{position=top} \if@ACM@journal \captionsetup{labelfont={sf, small}, textfont={sf, small}, margin=\z@} \captionsetup[figure]{name={Fig.}} \else \captionsetup{labelfont={bf}, textfont={bf}, labelsep=colon, margin=\z@} \ifcase\ACM@format@nr \relax % manuscript \or % acmsmall \or % acmlarge \or % acmtog \or % sigconf \or % siggraph \captionsetup{textfont={it}} \or % sigplan \captionsetup{labelfont={bf}, textfont={normalfont}, labelsep=period, margin=\z@} \or % sigchi \captionsetup[figure]{labelfont={bf, small}, textfont={bf, small}} \or % sigchi-a \captionsetup[figure]{labelfont={bf, small}, textfont={bf, small}} \fi \fi \newfloat{sidebar}{}{sbar} \floatname{sidebar}{Sidebar} \renewenvironment{sidebar}{\Collect@Body\@sidebar}{} \long\def\@sidebar#1{\bgroup\captionsetup{type=sidebar}% \marginpar{\small#1}\egroup} \newenvironment{marginfigure}{\Collect@Body\@marginfigure}{} \long\def\@marginfigure#1{\bgroup\captionsetup{type=figure}% \marginpar{\centering\small#1}\egroup} \newenvironment{margintable}{\Collect@Body\@margintable}{} \long\def\@margintable#1{\bgroup\captionsetup{type=table}% \marginpar{\centering\small#1}\egroup} \newdimen\fulltextwidth \fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep) \if@ACM@sigchiamode \def\@dblfloat{\bgroup\columnwidth=\fulltextwidth \let\@endfloatbox\@endwidefloatbox \def\@fpsadddefault{\def\@fps{tp}}% \@float} \fi \if@ACM@sigchiamode \def\end@dblfloat{% \end@float\egroup} \fi \def\@endwidefloatbox{% \par\vskip\z@skip \@minipagefalse \outer@nobreak \egroup \color@endbox \global\setbox\@currbox=\vbox{\moveleft \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}% \wd\@currbox=\textwidth } \ifcase\ACM@format@nr \relax % manuscript \or % acmsmall \or % acmlarge \or % acmtog \or % sigconf \or % siggraph \or % sigplan \def\labelenumi{\theenumi.} \def\labelenumii{\theenumii.} \def\labelenumiii{\theenumiii.} \def\labelenumiv{\theenumiv.} \or % sigchi \or % sigchi-a \fi \renewcommand{\descriptionlabel}[1]{\hspace\labelsep \upshape\bfseries #1} \renewenvironment{description}{\list{}{% \itemindent-12\p@ \labelwidth\z@ \let\makelabel\descriptionlabel}% }{ \endlist } \let\enddescription=\endlist % for efficiency \define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{% CIE,% CSUR,% IMWUT,% JACM,% JDIQ,% JEA,% JERIC,% JETC,% JOCCH,% PACMPL,% TAAS,% TACCESS,% TACO,% TALG,% TALLIP,% TAP,% TCPS,% TEAC,% TECS,% TIIS,% TISSEC,% TIST,% TKDD,% TMIS,% TOCE,% TOCHI,% TOCL,% TOCS,% TOCT,% TODAES,% TODS,% TOG,% TOIS,% TOIT,% TOMACS,% TOMM,% TOMPECS,% TOMS,% TOPC,% TOPS,% TOPLAS,% TOS,% TOSEM,% TOSN,% TRETS,% TSAS,% TSC,% TSLP,% TWEB% }{% \ifcase\@journalCode@nr \relax % CIE \def\@journalName{ACM Computers in Entertainment}% \def\@journalNameShort{ACM Comput. Entertain.}% \def\@permissionCodeOne{1544-3574}% \or % CSUR \def\@journalName{ACM Computing Surveys}% \def\@journalNameShort{ACM Comput. Surv.}% \def\@permissionCodeOne{0360-0300}% \or % IMWUT \def\@journalName{PACM on Interactive, Mobile, Wearable and Ubiquitous Technologies}% \def\@journalNameShort{PACM Interact. Mob. Wearable Ubiquitous Technol.}% \def\@permissionCodeOne{2474-9567}% \or % JACM \def\@journalName{Journal of the ACM}% \def\@journalNameShort{J. ACM}% \def\@permissionCodeOne{0004-5411}% \or % JDIQ \def\@journalName{ACM Journal of Data and Information Quality}% \def\@journalNameShort{ACM J. Data Inform. Quality}% \def\@permissionCodeOne{1936-1955}% \or % JEA \def\@journalName{ACM Journal of Experimental Algorithmics}% \def\@journalNameShort{ACM J. Exp. Algor.}% \def\@permissionCodeOne{1084-6654}% \or % JERIC \def\@journalName{ACM Journal of Educational Resources in Computing}% \def\@journalNameShort{ACM J. Edu. Resources in Comput.}% \def\@permissionCodeOne{1073-0516}% \or % JETC \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}% \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}% \def\@permissionCodeOne{1550-4832}% \or % JOCCH \def\@journalName{ACM Journal on Computing and Cultural Heritage}% \def\@journalName{ACM J. Comput. Cult. Herit.}% \or % PACMPL \def\@journalName{PACM on Programming Languages}% \def\@journalName{PACM Progr. Lang.}% \def\@permissionCodeOne{2475-1421}% \or % TAAS \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}% \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}% \def\@permissionCodeOne{1556-4665}% \or % TACCESS \def\@journalName{ACM Transactions on Accessible Computing}% \def\@journalNameShort{ACM Trans. Access. Comput.}% \def\@permissionCodeOne{1936-7228}% \or % TACO \def\@journalName{ACM Transactions on Architecture and Code Optimization}% \or % TALG \def\@journalName{ACM Transactions on Algorithms}% \def\@journalNameShort{ACM Trans. Algor.}% \def\@permissionCodeOne{1549-6325}% \or % TALLIP \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}% \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}% \def\@permissionCodeOne{2375-4699}% \or % TAP \def\@journalName{ACM Transactions on Applied Perception}% \or % TCPS \def\@journalName{ACM Transactions on Cyber-Physical Systems}% \or % TEAC \def\@journalName{ACM Transactions on Economics and Computation}% \or % TECS \def\@journalName{ACM Transactions on Embedded Computing Systems}% \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}% \def\@permissionCodeOne{1539-9087}% \or % TIIS \def\@journalName{ACM Transactions on Interactive Intelligent Systems}% \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}% \def\@permissionCodeOne{2160-6455}% \or % TISSEC \def\@journalName{ACM Transactions on Information and System Security}% \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}% \def\@permissionCodeOne{1094-9224}% \or % TIST \def\@journalName{ACM Transactions on Intelligent Systems and Technology}% \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}% \def\@permissionCodeOne{2157-6904}% \or % TKDD \def\@journalName{ACM Transactions on Knowledge Discovery from Data}% \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}% \def\@permissionCodeOne{1556-4681}% \or % TMIS \def\@journalName{ACM Transactions on Management Information Systems}% \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}% \def\@permissionCodeOne{2158-656X}% \or % TOCE \def\@journalName{ACM Transactions on Computing Education}% \def\@journalNameShort{ACM Trans. Comput. Educ.}% \def\@permissionCodeOne{1946-6226}% \or % TOCHI \def\@journalName{ACM Transactions on Computer-Human Interaction}% \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}% \def\@permissionCodeOne{1073-0516}% \or % TOCL \def\@journalName{ACM Transactions on Computational Logic}% \def\@journalNameShort{ACM Trans. Comput. Logic}% \def\@permissionCodeOne{1529-3785}% \or % TOCS \def\@journalName{ACM Transactions on Computer Systems}% \def\@journalNameShort{ACM Trans. Comput. Syst.}% \def\@permissionCodeOne{0734-2071}% \or % TOCT \def\@journalName{ACM Transactions on Computation Theory}% \def\@journalNameShort{ACM Trans. Comput. Theory}% \def\@permissionCodeOne{1942-3454}% \or % TODAES \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}% \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}% \def\@permissionCodeOne{1084-4309}% \or % TODS \def\@journalName{ACM Transactions on Database Systems}% \def\@journalNameShort{ACM Trans. Datab. Syst.}% \def\@permissionCodeOne{0362-5915}% \or % TOG \def\@journalName{ACM Transactions on Graphics}% \def\@journalNameShort{ACM Trans. Graph.}% \def\@permissionCodeOne{0730-0301} \or % TOIS \def\@journalName{ACM Transactions on Information Systems}% \def\@journalName{ACM Transactions on Information Systems}% \def\@permissionCodeOne{1046-8188}% \or % TOIT \def\@journalName{ACM Transactions on Internet Technology}% \def\@journalNameShort{ACM Trans. Internet Technol.}% \def\@permissionCodeOne{1533-5399}% \or % TOMACS \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}% \or % TOMM \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}% \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}% \def\@permissionCodeOne{1551-6857}% \def\@permissionCodeTwo{0100}% \or % TOMPECS \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}% \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}% \def\@permissionCodeOne{2376-3639}% \or % TOMS \def\@journalName{ACM Transactions on Mathematical Software}% \def\@journalNameShort{ACM Trans. Math. Softw.}% \def\@permissionCodeOne{0098-3500}% \or % TOPC \def\@journalName{ACM Transactions on Parallel Computing}% \def\@journalNameShort{ACM Trans. Parallel Comput.}% \def\@permissionCodeOne{1539-9087}% \or % TOPS \def\@journalName{ACM Transactions on Privacy and Security}% \def\@journalNameShort{ACM Trans. Priv. Sec.}% \def\@permissionCodeOne{2471-2566}% \or % TOPLAS \def\@journalName{ACM Transactions on Programming Languages and Systems}% \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}% \def\@permissionCodeOne{0164-0925}% \or % TOS \def\@journalName{ACM Transactions on Storage}% \def\@journalNameShort{ACM Trans. Storage}% \def\@permissionCodeOne{1553-3077}% \or % TOSEM \def\@journalName{ACM Transactions on Software Engineering and Methodology}% \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}% \def\@permissionCodeOne{1049-331X}% \or % TOSN \def\@journalName{ACM Transactions on Sensor Networks}% \def\@journalNameShort{ACM Trans. Sensor Netw.}% \def\@permissionCodeOne{1550-4859}% \or % TRETS \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}% \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}% \def\@permissionCodeOne{1936-7406}% \or % TSAS \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}% \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}% \def\@permissionCodeOne{2374-0353}% \or % TSC \def\@journalName{ACM Transactions on Social Computing}% \def\@journalNameShort{ACM Trans. Soc. Comput.}% \def\@permissionCodeOne{2469-7818}% \or % TSLP \def\@journalName{ACM Transactions on Speech and Language Processing}% \def\@journalNameShort{ACM Trans. Speech Lang. Process.}% \def\@permissionCodeOne{1550-4875}% \or % TWEB \def\@journalName{ACM Transactions on the Web}% \def\@journalNameShort{ACM Trans. Web}% \def\@permissionCodeOne{1559-1131}% \fi \ClassInfo{\@classname}{Using journal code \@journalCode}% }{% \ClassError{\@classname}{Incorrect journal #1}% }% \def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}} \def\@journalCode@nr{0} \def\@journalName{}% \def\@journalNameShort{\@journalName}% \def\@permissionCodeOne{XXXX-XXXX}% \def\@permissionCodeTwo{}% \newcommand\acmConference[4][]{% \gdef\acmConference@shortname{#1}% \gdef\acmConference@name{#2}% \gdef\acmConference@date{#3}% \gdef\acmConference@venue{#4}% \ifx\acmConference@shortname\@empty \gdef\acmConference@shortname{#2}% \fi} \acmConference[Conference'17]{ACM Conference}{July 2017}{Washington, DC, USA} \def\subtitle#1{\def\@subtitle{#1}} \subtitle{} \newcount\num@authorgroups \num@authorgroups=0\relax \newif\if@insideauthorgroup \@insideauthorgroupfalse \renewcommand\author[2][]{% \if@insideauthorgroup\else \global\advance\num@authorgroups by 1\relax \global\@insideauthorgrouptrue \fi \ifx\addresses\@empty \if@ACM@anonymous \gdef\addresses{\@author{Anonymous Author(s)}}% \gdef\authors{Anonymous Author(s)}% \else \gdef\addresses{\@author{#2}}% \gdef\authors{#2}% \fi \else \if@ACM@anonymous\else \g@addto@macro\addresses{\and\@author{#2}}% \g@addto@macro\authors{\and#2}% \fi \fi \if@ACM@anonymous \ifx\shortauthors\@empty \gdef\shortauthors{Anon.}% \fi \else \def\@tempa{#1}% \ifx\@tempa\@empty \ifx\shortauthors\@empty \gdef\shortauthors{#2}% \else \g@addto@macro\shortauthors{\and#2}% \fi \else \ifx\shortauthors\@empty \gdef\shortauthors{#1}% \else \g@addto@macro\shortauthors{\and#1}% \fi \fi \fi} \newcommand{\affiliation}[2][]{% \global\@insideauthorgroupfalse \if@ACM@anonymous\else \g@addto@macro\addresses{\affiliation{#1}{#2}}% \fi} \renewcommand{\email}[2][]{% \if@ACM@anonymous\else \g@addto@macro\addresses{\email{#1}{#2}}% \fi} \let\orcid\@gobble \def\@titlenotes{} \def\titlenote#1{% \g@addto@macro\@title{\footnotemark}% \if@ACM@anonymous \g@addto@macro\@titlenotes{% \stepcounter{footnote}\footnotetext{Title note}}% \else \g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}% \fi} \def\@subtitlenotes{} \def\subtitlenote#1{% \g@addto@macro\@subtitle{\footnotemark}% \if@ACM@anonymous \g@addto@macro\@subtitlenotes{% \stepcounter{footnote}\footnotetext{Subtitle note}}% \else \g@addto@macro\@subtitlenotes{% \stepcounter{footnote}\footnotetext{#1}}% \fi} \def\@authornotes{} \def\authornote#1{% \if@ACM@anonymous\else \g@addto@macro\addresses{\@authornotemark} \g@addto@macro\@authornotes{% \stepcounter{footnote}\footnotetext{#1}}% \fi} \def\acmVolume#1{\def\@acmVolume{#1}} \acmVolume{1} \def\acmNumber#1{\def\@acmNumber{#1}} \acmNumber{1} \def\acmArticle#1{\def\@acmArticle{#1}} \acmArticle{1} \def\acmArticleSeq#1{\def\@acmArticleSeq{#1}} \acmArticleSeq{\@acmArticle} \def\acmYear#1{\def\@acmYear{#1}} \acmYear{2016} \def\acmMonth#1{\def\@acmMonth{#1}} \acmMonth{1} \def\@acmPubDate{\ifcase\@acmMonth\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi~\@acmYear} \def\acmPrice#1{\def\@acmPrice{#1}} \acmPrice{15.00} \def\acmISBN#1{\def\@acmISBN{#1}} \acmISBN{978-x-xxxx-xxxx-x/YY/MM} \def\acmDOI#1{\def\@acmDOI{#1}} \acmDOI{10.1145/nnnnnnn.nnnnnnn} \newif\if@ACM@badge \@ACM@badgefalse \newlength\@ACM@badge@width \setlength\@ACM@badge@width{5pc} \newlength\@ACM@title@width \newlength\@ACM@badge@skip \setlength\@ACM@badge@skip{1pc} \newcommand\acmBadgeR[2][]{\@ACM@badgetrue \def\@acmBadgeR@url{#1}% \def\@acmBadgeR@image{#2}} \def\@acmBadgeR@url{} \def\@acmBadgeR@image{} \newcommand\acmBadgeL[2][]{\@ACM@badgetrue \def\@acmBadgeL@url{#1}% \def\@acmBadgeL@image{#2}} \def\@acmBadgeL@url{} \def\@acmBadgeL@image{} \def\startPage#1{\def\@startPage{#1}} \startPage{} \def\terms#1{\def\@terms{#1}} \terms{} \def\keywords#1{\def\@keywords{#1}} \keywords{} \renewenvironment{abstract}{\Collect@Body\@saveabstract}{} \long\def\@saveabstract#1{\long\gdef\@abstract{#1}} \@saveabstract{} \long\def\@lempty{} \define@boolkey+{@ACM@topmatter@}[@ACM@]{printcss}[true]{% \if@ACM@printcss \ClassInfo{\@classname}{Printing CSS}% \else \ClassInfo{\@classname}{Suppressing CSS}% \fi}{\ClassError{\@classname}{printcss must be true or false}} \define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{% \if@ACM@printacmref \ClassInfo{\@classname}{Printing bibformat}% \else \ClassInfo{\@classname}{Suppressing bibformat}% \fi}{\ClassError{\@classname}{printacmref must be true or false}} \define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{% \if@ACM@printfolios \ClassInfo{\@classname}{Printing folios}% \else \ClassInfo{\@classname}{Suppressing folios}% \fi}{\ClassError{\@classname}{printfolios must be true or false}} \def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}} \settopmatter{printcss=true, printacmref=true} \if@ACM@manuscript \settopmatter{printfolios=true} \else \if@ACM@journal \settopmatter{printfolios=true} \else \settopmatter{printfolios=false} \fi \fi \def\@received{} \newcommand\received[2][]{\def\@tempa{#1}% \ifx\@tempa\@empty \ifx\@received\@empty \gdef\@received{Received #2}% \else \g@addto@macro{\@received}{; revised #2}% \fi \else \ifx\@received\@empty \gdef\@received{#1 #2}% \else \g@addto@macro{\@received}{; #1 #2}% \fi \fi} \AtEndDocument{% \ifx\@received\@empty\else \par\bigskip\noindent\small\normalfont\@received\par \fi} \RequirePackage{comment} \excludecomment{CCSXML} \let\@concepts\@empty \newcommand\ccsdesc[2][100]{% \ccsdesc@parse#1~#2~} \def\ccsdesc@parse#1~#2~#3~{% \expandafter\ifx\csname CCS@#2\endcsname\relax \expandafter\gdef\csname CCS@#2\endcsname{\textbullet\textbf{#2} $\to$ }% \g@addto@macro{\@concepts}{\csname CCS@#2\endcsname}\fi \expandafter\g@addto@macro\expandafter{\csname CCS@#2\endcsname}{% \ifnum#1>499\textbf{#3; }\else \ifnum#1>299\textit{#3; }\else #3; \fi\fi}} \newif\if@printcopyright \@printcopyrighttrue \newif\if@printpermission \@printpermissiontrue \newif\if@acmowned \@acmownedtrue \define@choicekey*{ACM@}{acmcopyrightmode}[% \acm@copyrightinput\acm@copyrightmode]{none,acmcopyright,acmlicensed,% rightsretained,usgov,usgovmixed,cagov,cagovmixed,% licensedusgovmixed,licensedcagovmixed,othergov,licensedothergov}{% \@printpermissiontrue \@printcopyrighttrue \@acmownedtrue \ifnum\acm@copyrightmode=0\relax % none \@printpermissionfalse \@printcopyrightfalse \@acmownedfalse \fi \ifnum\acm@copyrightmode=2\relax % acmlicensed \@acmownedfalse \fi \ifnum\acm@copyrightmode=3\relax % rightsretained \@acmownedfalse \fi \ifnum\acm@copyrightmode=4\relax % usgov \@printpermissiontrue \@printcopyrightfalse \@acmownedfalse \fi \ifnum\acm@copyrightmode=6\relax % cagov \@acmownedfalse \fi \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed \@acmownedfalse \fi \ifnum\acm@copyrightmode=9\relax % licensedcagovmixed \@acmownedfalse \fi \ifnum\acm@copyrightmode=10\relax % othergov \@acmownedtrue \fi \ifnum\acm@copyrightmode=11\relax % licensedothergov \@acmownedfalse \fi} \def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}} \setcopyright{acmcopyright} \def\@copyrightowner{% \ifcase\acm@copyrightmode\relax % none \or % acmcopyright ACM\@. \or % acmlicensed Copyright held by the owner/author(s). Publication rights licensed to ACM\@. \or % rightsretained Copyright held by the owner/author(s). \or % usgov \or % usgovmixed ACM\@. \or % cagov Crown in Right of Canada. \or %cagovmixed ACM\@. \or %licensedusgovmixed Copyright held by the owner/author(s). Publication rights licensed to ACM\@. \or %licensedcagovmixed Copyright held by the owner/author(s). Publication rights licensed to ACM\@. \or % othergov ACM\@. \or % licensedothergov Copyright held by the owner/author(s). Publication rights licensed to ACM\@. \fi} \def\@formatdoi#1{\url{http://dx.doi.org/#1}} \def\@copyrightpermission{% \ifcase\acm@copyrightmode\relax % none \or % acmcopyright Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and\hspace*{.5pt}/or a fee. Request permissions from permissions@acm.org. \or % acmlicensed Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and\hspace*{.5pt}/or a fee. Request permissions from permissions@acm.org. \or % rightsretained Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner\hspace*{.5pt}/author(s). \or % usgov This paper is authored by an employee(s) of the United States Government and is in the public domain. Non-exclusive copying or redistribution is allowed, provided that the article citation is given and the authors and agency are clearly identified as its source. \or % usgovmixed ACM acknowledges that this contribution was authored or co-authored by an employee, or contractor of the national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only. Permission to make digital or hard copies for personal or classroom use is granted. Copies must bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. To copy otherwise, distribute, republish, or post, requires prior specific permission and\hspace*{.5pt}/or a fee. Request permissions from permissions@acm.org. \or % cagov This article was authored by employees of the Government of Canada. As such, the Canadian government retains all interest in the copyright to this work and grants to ACM a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, provided that clear attribution is given both to the authors and the Canadian government agency employing them. Permission to make digital or hard copies for personal or classroom use is granted. Copies must bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the Canadain Government must be honored. To copy otherwise, distribute, republish, or post, requires prior specific permission and\hspace*{.5pt}/or a fee. Request permissions from permissions@acm.org. \or % cagovmixed ACM acknowledges that this contribution was co-authored by an affiliate of the national government of Canada. As such, the Crown in Right of Canada retains an equal interest in the copyright. Reprints must include clear attribution to ACM and the author's government agency affiliation. Permission to make digital or hard copies for personal or classroom use is granted. Copies must bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. To copy otherwise, distribute, republish, or post, requires prior specific permission and\hspace*{.5pt}/or a fee. Request permissions from permissions@acm.org. \or % licensedusgovmixed Publication rights licensed to ACM\@. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of the United States government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only. \or % licensedcagovmixed Publication rights licensed to ACM\@. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of the national government of Canada. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only. \or % othergov ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only. \or % licensedothergov Publication rights licensed to ACM\@. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only. \fi} \def\copyrightyear#1{\def\@copyrightyear{#1}} \copyrightyear{\@acmYear} \def\@teaserfigures{} \newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{} \long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}} \renewcommand{\thanks}[1]{% \@ifnotempty{#1}{% \if@ACM@anonymous \g@addto@macro\thankses{\thanks{A note}}% \else \g@addto@macro\thankses{\thanks{#1}}% \fi}} \newbox\mktitle@bx \def\maketitle{% \if@ACM@anonymous % Anonymize omission of \author-s \ifnum\num@authorgroups=0\author{}\fi \fi \begingroup \let\@footnotemark\@footnotemark@nolink \let\@footnotetext\@footnotetext@nolink \renewcommand\thefootnote{\@fnsymbol\c@footnote}% \@topnum\z@ % this prevents figures from falling at the top of page % 1 \hsize=\textwidth \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}% \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers \@printtopmatter \if@ACM@sigchiamode\@mkauthors\fi \setcounter{footnote}{0}% \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}% \@titlenotes \@subtitlenotes \@authornotes \let\@makefnmark\relax \let\@thefnmark\relax \let\@makefntext\noindent \ifx\@empty\thankses\else \footnotetextcopyrightpermission{% \def\par{\let\par\@par}\parindent\z@\@setthanks}% \fi \footnotetextcopyrightpermission{\parindent\z@\parskip0.1\baselineskip \if@ACM@authorversion\else \if@printpermission\@copyrightpermission\par\fi \fi \if@ACM@manuscript\else \if@ACM@journal\else % Print the conference short name {\itshape \acmConference@shortname, \acmConference@venue}\par \fi \fi \if@printcopyright \copyright\ \@copyrightyear\ \@copyrightowner\ \else \@copyrightyear.\ \fi \if@ACM@manuscript Manuscript submitted to ACM\\ \else \if@ACM@authorversion This is the author's version of the work. It is posted here for your personal use. Not for redistribution. The definitive Version of Record was published in \if@ACM@journal \emph{\@journalName}% \else \emph{Proceedings of \acmConference@name, \acmConference@date}% \fi \ifx\@acmDOI\@empty . \else , \@formatdoi{\@acmDOI}. \fi\\ \else \if@ACM@journal \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle\ \$\@acmPrice\\ DOI: \nolinkurl{\@acmDOI}% \else % Conference \@acmISBN \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\ DOI: \nolinkurl{\@acmDOI}% \fi \fi \fi}% \endgroup \setcounter{footnote}{0}% \@mkabstract \if@ACM@printcss \ifx\@concepts\@empty\else\bgroup {\@specialsection{CCS Concepts}% \@concepts\par}\egroup \fi \fi \if\@terms\@empty\else\bgroup {\@specialsection{General Terms}% \@terms\par}\egroup \fi \ifx\@keywords\@empty\else\bgroup {\if@ACM@journal \@specialsection{Additional Key Words and Phrases}% \else \@specialsection{Keywords}% \fi \@keywords}\par\egroup \fi \andify\authors \andify\shortauthors \global\let\authors=\authors \global\let\shortauthors=\shortauthors \if@ACM@printacmref \@mkbibcitation \fi \hypersetup{pdfauthor={\authors}, pdftitle={\@title}, pdfkeywords={\@concepts}}% \@printendtopmatter \@afterindentfalse \@afterheading } \def\@specialsection#1{% \ifcase\ACM@format@nr \relax % manuscript \par\medskip\small\noindent#1: % \or % acmsmall \par\medskip\small\noindent#1: % \or % acmlarge \par\medskip\small\noindent#1: % \or % acmtog \par\medskip\small\noindent#1: % \or % sigconf \section*{#1}% \or % siggraph \section*{#1}% \or % sigplan \paragraph*{#1}% \or % sigchi \section*{#1}% \or % sigchi-a \section*{#1}% \fi} \def\@printtopmatter{% \ifx\@startPage\@empty \gdef\@startPage{1}% \else \setcounter{page}{\@startPage}% \fi \thispagestyle{firstpagestyle}% \noindent \ifcase\ACM@format@nr \relax % manuscript \box\mktitle@bx\par \noindent\hrulefill\par \or % acmsmall \box\mktitle@bx\par \noindent\hrulefill\par \or % acmlarge \box\mktitle@bx\par \noindent\hrulefill\par \or % acmtog \twocolumn[\box\mktitle@bx]% \or % sigconf \twocolumn[\box\mktitle@bx]% \or % siggraph \twocolumn[\box\mktitle@bx]% \or % sigplan \twocolumn[\box\mktitle@bx]% \or % sigchi \twocolumn[\box\mktitle@bx]% \or % sigchi-a \par\box\mktitle@bx\par\bigskip \if@ACM@badge \marginpar{\noindent \ifx\@acmBadgeL@image\@empty\else \href{\@acmBadgeL@url}{% \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}% \hskip\@ACM@badge@skip \fi \ifx\@acmBadgeR@image\@empty\else \href{\@acmBadgeR@url}{% \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}% \fi}% \fi \fi } \def\@mktitle{% \ifcase\ACM@format@nr \relax % manuscript \@mktitle@i \or % acmsmall \@mktitle@i \or % acmlarge \@mktitle@i \or % acmtog \@mktitle@i \or % sigconf \@mktitle@iii \or % siggraph \@mktitle@iii \or % sigplan \@mktitle@iii \or % sigchi \@mktitle@iii \or % sigchi-a \@mktitle@iv \fi } \def\@titlefont{% \ifcase\ACM@format@nr \relax % manuscript \LARGE\bfseries\sffamily \or % acmsmall \LARGE\bfseries\sffamily \or % acmlarge \LARGE\bfseries\sffamily \or % acmtog \Huge\sffamily \or % sigconf \Huge\sffamily\bfseries \or % siggraph \Huge\sffamily\bfseries \or % sigplan \Huge\bfseries \or % sigchi \Huge\sffamily\bfseries \or % sigchi-a \Huge\bfseries \fi} \def\@subtitlefont{% \ifcase\ACM@format@nr \relax % manuscript \mdseries \or % acmsmall \mdseries \or % acmlarge \mdseries \or % acmtog \LARGE \or % sigconf \LARGE\mdseries \or % siggraph \LARGE\mdseries \or % sigplan \LARGE\mdseries \or % sigchi \LARGE\mdseries \or % sigchi-a \mdseries \fi} \def\@mktitle@i{\hsize=\textwidth \@ACM@title@width=\hsize \ifx\@acmBadgeL@image\@empty\else \advance\@ACM@title@width by -\@ACM@badge@width \advance\@ACM@title@width by -\@ACM@badge@skip \fi \ifx\@acmBadgeR@image\@empty\else \advance\@ACM@title@width by -\@ACM@badge@width \advance\@ACM@title@width by -\@ACM@badge@skip \fi \setbox\mktitle@bx=\vbox{\noindent\@titlefont \ifx\@acmBadgeL@image\@empty\else \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% \hskip\@ACM@badge@skip \fi \parbox[t]{\@ACM@title@width}{\raggedright \@titlefont\noindent \@title \ifx\@subtitle\@empty\else \par\noindent{\@subtitlefont\@subtitle} \fi}% \ifx\@acmBadgeR@image\@empty\else \hskip\@ACM@badge@skip \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% \fi \par\bigskip}}% \def\@mktitle@iii{\hsize=\textwidth \setbox\mktitle@bx=\vbox{\@titlefont\centering \@ACM@title@width=\hsize \if@ACM@badge \advance\@ACM@title@width by -2\@ACM@badge@width \advance\@ACM@title@width by -2\@ACM@badge@skip \parbox[b]{\@ACM@badge@width}{\strut \ifx\@acmBadgeL@image\@empty\else \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% \fi}% \hskip\@ACM@badge@skip \fi \parbox[t]{\@ACM@title@width}{\centering\@titlefont \@title \ifx\@subtitle\@empty\else \par\noindent{\@subtitlefont\@subtitle} \fi }% \if@ACM@badge \hskip\@ACM@badge@skip \parbox[b]{\@ACM@badge@width}{\strut \ifx\@acmBadgeR@image\@empty\else \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% \fi}% \fi \par\bigskip}}% \def\@mktitle@iv{\hsize=\textwidth \setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par \noindent\@title \ifx\@subtitle\@empty\else \par\noindent\@subtitlefont\@subtitle \fi \par\bigskip}}% \newbox\@ACM@commabox \def\@ACM@addtoaddress#1{% \ifvmode\else \setbox\@ACM@commabox=\hbox{, }% \unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox \fi #1} \if@ACM@journal \let\position\@gobble \def\institution#1{#1\ignorespaces}% \let\department\@gobble \let\streetaddress\@gobble \let\city\@gobble \let\state\@gobble \let\postcode\@gobble \let\country\@gobble \else \def\position#1{#1\par}% \def\institution#1{#1\par}% \def\department#1{#1\par}% \def\streetaddress#1{#1\par}% \let\city\@ACM@addtoaddress \let\state\@ACM@addtoaddress \def\postcode#1{\unskip\space#1}% \let\country\@ACM@addtoaddress \fi \def\@mkauthors{\begingroup \hsize=\textwidth \ifcase\ACM@format@nr \relax % manuscript \@mkauthors@i \or % acmsmall \@mkauthors@i \or % acmlarge \@mkauthors@i \or % acmtog \@mkauthors@i \or % sigconf \@mkauthors@iii \or % siggraph \@mkauthors@iii \or % sigplan \@mkauthors@iii \or % sigchi \@mkauthors@iii \or % sigchi-a \@mkauthors@iv \fi \endgroup } \def\@authorfont{\Large\sffamily} \def\@affiliationfont{\normalsize\normalfont} \ifcase\ACM@format@nr \relax % manuscript \or % acmsmall \def\@authorfont{\large\sffamily} \def\@affiliationfont{\small\normalfont} \or % acmlarge \or % acmtog \def\@authorfont{\LARGE\sffamily} \def\@affiliationfont{\large} \or % sigconf \def\@authorfont{\LARGE} \def\@affiliationfont{\large} \or % siggraph \def\@authorfont{\normalsize\normalfont} \def\@affiliationfont{\normalsize\normalfont} \or % sigplan \def\@authorfont{\Large\normalfont} \def\@affiliationfont{\normalsize\normalfont} \or % sigchi \def\@authorfont{\bfseries} \def\@affiliationfont{\mdseries} \or % sigchi-a \def\@authorfont{\bfseries} \def\@affiliationfont{\mdseries} \fi \def\@typeset@author@line{% \andify\@currentauthors\par\noindent \@currentauthors\def\@currentauthors{}% \ifx\@currentaffiliations\@empty\else \andify\@currentaffiliations \unskip, {\@currentaffiliations}\par \fi \def\@currentaffiliations{}} \def\@mkauthors@i{% \def\@currentauthors{}% \def\@currentaffiliations{}% \global\let\and\@typeset@author@line \def\@author##1{% \ifx\@currentauthors\@empty \gdef\@currentauthors{\@authorfont\MakeUppercase{##1}}% \else \g@addto@macro{\@currentauthors}{\and\MakeUppercase{##1}}% \fi \gdef\and{}}% \def\email##1##2{}% \def\affiliation##1##2{% \def\@tempa{##2}\ifx\@tempa\@empty\else \ifx\@currentaffiliations\@empty \gdef\@currentaffiliations{\@affiliationfont##2}% \else \g@addto@macro{\@currentaffiliations}{\and##2}% \fi \fi \global\let\and\@typeset@author@line} \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip \noindent\addresses\@typeset@author@line \par\medskip}% } \newbox\author@bx \newdimen\author@bx@wd \newskip\author@bx@sep \author@bx@sep=1pc\relax \def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd\def\and{\par}% \global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi \@authorfont\@currentauthors\par\@affiliationfont \@currentaffiliation}\egroup \box\author@bx\hspace{\author@bx@sep}% \gdef\@currentauthors{}% \gdef\@currentaffiliation{}} \def\@mkauthors@iii{% \author@bx@wd=\textwidth\relax \advance\author@bx@wd by -\author@bx@sep\relax \ifcase\num@authorgroups \relax % 0? \or % 1=one author per row \or % 2=two authors per row \divide\author@bx@wd by \num@authorgroups\relax \or % 3=three authors per row \divide\author@bx@wd by \num@authorgroups\relax \or % 4=two authors per row (!) \divide\author@bx@wd by 2\relax \else % three authors per row \divide\author@bx@wd by 3\relax \fi \advance\author@bx@wd by -\author@bx@sep\relax \gdef\@currentauthors{}% \gdef\@currentaffiliation{}% \def\@author##1{\ifx\@currentauthors\@empty \gdef\@currentauthors{\par##1}% \else \g@addto@macro\@currentauthors{\par##1}% \fi \gdef\and{}}% \def\email##1##2{\ifx\@currentaffiliation\@empty \gdef\@currentaffiliation{\nolinkurl{##2}}% \else \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% \fi}% \def\affiliation##1##2{\ifx\@currentaffiliation\@empty \gdef\@currentaffiliation{##2}% \else \g@addto@macro\@currentaffiliation{\par##2}% \fi \global\let\and\@typeset@author@bx }% \hsize=\textwidth \global\setbox\mktitle@bx=\vbox{\noindent \box\mktitle@bx\par\medskip\leavevmode \lineskip=1pc\relax\centering\hspace*{-1em}% \addresses\let\and\@typeset@author@bx\and\par\bigskip}} \def\@mkauthors@iv{% \author@bx@wd=\columnwidth\relax \advance\author@bx@wd by -\author@bx@sep\relax \ifcase\num@authorgroups \relax % 0? \or % 1=one author per row \else % 2=two authors per row \divide\author@bx@wd by 2\relax \fi \advance\author@bx@wd by -\author@bx@sep\relax \gdef\@currentauthors{}% \gdef\@currentaffiliation{}% \def\@author##1{\ifx\@currentauthors\@empty \gdef\@currentauthors{\par##1}% \else \g@addto@macro\@currentauthors{\par##1}% \fi \gdef\and{}}% \def\email##1##2{\ifx\@currentaffiliation\@empty \gdef\@currentaffiliation{\nolinkurl{##2}}% \else \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% \fi}% \def\affiliation##1##2{\ifx\@currentaffiliation\@empty \gdef\@currentaffiliation{##2}% \else \g@addto@macro\@currentaffiliation{\par##2}% \fi \global\let\and\@typeset@author@bx}% \bgroup\hsize=\columnwidth \par\raggedright\leftskip=\z@ \lineskip=1pc\noindent \addresses\let\and\@typeset@author@bx\and\par\bigskip\egroup} \def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark}} \def\@mkteasers{% \ifx\@teaserfigures\@empty\else \def\@teaser##1{\par\bigskip\bgroup \captionsetup{type=figure}##1\egroup\par} \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par \noindent\@teaserfigures\par\medskip}% \fi} \def\@setaddresses{} \def\@mkabstract{\bgroup \ifx\@abstract\@lempty\else {\if@ACM@journal \small\noindent \else \section*{Abstract}% \fi \phantomsection\addcontentsline{toc}{section}{Abstract}% \ignorespaces\@abstract\par}% \fi\egroup} \def\@mkbibcitation{\bgroup \def\footnotemark{}% \par\medskip\small\noindent{\bfseries ACM Reference format:}\par\nobreak \noindent\authors. \@acmYear. \@title. \if@ACM@journal \textit{\@journalNameShort} \@acmVolume, \@acmNumber, Article~\@acmArticle\ (\@acmPubDate), \ref{TotPages}~pages. \else In \textit{Proceedings of \acmConference@name, \acmConference@venue, \acmConference@date \ifx\acmConference@name\acmConference@shortname\else \ (\acmConference@shortname)\fi ,} \ref{TotPages}~pages. \fi\par \noindent DOI: \nolinkurl{\@acmDOI} \par\egroup} \def\@printendtopmatter{\par\medskip \ifcase\ACM@format@nr \relax % manuscript \noindent\hrulefill\par\medskip \or % acmsmall \noindent\hrulefill\par\medskip \or % acmlarge \noindent\hrulefill\par\medskip \or % acmtog \par\bigskip \or % sigconf \par\bigskip \or % siggraph \par\bigskip \or % sigplan \par\bigskip \or % sigchi \par\bigskip \or % sigchi-a \fi } \def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses} \RequirePackage{fancyhdr} \if@ACM@review \newsavebox{\ACM@linecount@bx} \savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{% \newlength\ACM@linecount@bxht\setlength{\ACM@linecount@bxht}{-\baselineskip} \@tempcnta\@ne\relax % \loop{\color{ACMRed}\scriptsize\the\@tempcnta}\\ \loop{\scriptsize\the\@tempcnta}\\ \advance\@tempcnta by \@ne \addtolength{\ACM@linecount@bxht}{\baselineskip} \ifdim\ACM@linecount@bxht<\textheight\repeat}} \fi \def\ACM@linecount{% \if@ACM@review \begin{picture}(0,0)% \put(-26,-22){\usebox{\ACM@linecount@bx}}% \end{picture}% \fi} \def\@shortauthors{\if@ACM@anonymous Anon.\else\shortauthors\fi} \def\@headfootfont{% \ifcase\ACM@format@nr \relax % manuscript \sffamily \or % acmsmall \sffamily \or % acmlarge \sffamily \or % acmtog \sffamily \or % sigconf \sffamily \or % siggraph \sffamily \or % sigplan \sffamily \or % sigchi \sffamily \or % sigchi-a \sffamily \fi} \fancypagestyle{standardpagestyle}{% \fancyhf{}% \renewcommand{\headrulewidth}{\z@}% \renewcommand{\footrulewidth}{\z@}% \ifcase\ACM@format@nr \relax % manuscript \fancyhead[LE]{\ACM@linecount\if@ACM@printfolios\thepage\fi}% \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}% \fancyhead[RE]{\@shortauthors}% \fancyhead[LO]{\ACM@linecount\shorttitle}% \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}% \or % acmsmall \fancyhead[LE]{\ACM@linecount\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}% \fancyhead[RO]{\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}% \fancyhead[RE]{\@headfootfont\@shortauthors}% \fancyhead[LO]{\ACM@linecount\@headfootfont\shorttitle}% \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% \or % acmlarge \fancyhead[LE]{\ACM@linecount\@headfootfont \@acmArticle:\if@ACM@printfolios\thepage\quad\textbullet\quad\fi\@shortauthors}% \fancyhead[LO]{\ACM@linecount}% \fancyhead[RO]{\@headfootfont \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi}% \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% \or % acmtog \fancyhead[LE]{\ACM@linecount\@headfootfont \@acmArticle:\if@ACM@printfolios\thepage\quad\textbullet\quad\fi\@shortauthors}% \fancyhead[LO]{\ACM@linecount}% \fancyhead[RO]{\@headfootfont \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi}% \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% \else % Proceedings \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% \fancyhead[LO]{\ACM@linecount\@headfootfont\shorttitle}% \fancyhead[RE]{\@headfootfont\@shortauthors}% \fancyhead[LE]{\ACM@linecount\@headfootfont\acmConference@shortname, \acmConference@date, \acmConference@venue}% \fancyhead[RO]{\@headfootfont\acmConference@shortname, \acmConference@date, \acmConference@venue}% \fi \if@ACM@sigchiamode \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}% \fi } \pagestyle{standardpagestyle} \newdimen\@folio@wd \@folio@wd=\z@ \newdimen\@folio@ht \@folio@ht=\z@ \newdimen\@folio@voffset \@folio@voffset=\z@ \def\@folio@max{1} \ifcase\ACM@format@nr \relax % manuscript \or % acmsmall \@folio@wd=45.75pt\relax \@folio@ht=1.25in\relax \@folio@voffset=.2in\relax \def\@folio@max{8} \or % acmlarge \@folio@wd=43.25pt\relax \@folio@ht=79pt\relax \@folio@voffset=.55in\relax \def\@folio@max{10} \fi \def\@folioblob{\@tempcnta=\@acmArticleSeq\relax \loop \ifnum\@tempcnta>\@folio@max\relax \advance\@tempcnta by - \@folio@max \repeat \advance\@tempcnta by -1\relax \@tempdima=\@folio@ht\relax \multiply\@tempdima by \the\@tempcnta\relax \advance\@tempdima by -\@folio@voffset\relax \begin{picture}(0,0) \makebox[\z@]{\raisebox{-\@tempdima}{% \rlap{% \raisebox{-0.45\@folio@ht}[\z@][\z@]{% \rule{\@folio@wd}{\@folio@ht}}}% \parbox{\@folio@wd}{% \centering \textcolor{white}{\LARGE\bfseries\sffamily\@acmArticle}}}} \end{picture}} \fancypagestyle{firstpagestyle}{% \fancyhf{}% \renewcommand{\headrulewidth}{\z@}% \renewcommand{\footrulewidth}{\z@}% \ifcase\ACM@format@nr \relax % manuscript \fancyhead[L]{\ACM@linecount}% \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}% \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% \or % acmsmall \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% \fancyhead[LE]{\ACM@linecount\@folioblob}% \fancyhead[LO]{\ACM@linecount}% \fancyhead[RO]{\@folioblob}% \fancyheadoffset[RO,LE]{0.6\@folio@wd}% \or % acmlarge \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% \fancyhead[RO]{\@folioblob}% \fancyhead[LE]{\ACM@linecount\@folioblob}% \fancyhead[LO]{\ACM@linecount}% \fancyheadoffset[RO,LE]{1.4\@folio@wd}% \or % acmtog \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% \fancyhead[L]{\ACM@linecount}% \else % Conference proceedings \fancyhead[L]{\ACM@linecount}% \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% \fi } \renewcommand\section{\@startsection{section}{1}{\z@}% {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% {.25\baselineskip}% {\@secfont}} \renewcommand\subsection{\@startsection{subsection}{2}{\z@}% {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% {.25\baselineskip}% {\@subsecfont}} \renewcommand\subsubsection{\@startsection{subsubsection}{3}{10pt}% {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% {-3.5\p@}% {\@subsubsecfont\@adddotafter}} \renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% {-3.5\p@}% {\@parfont\@adddotafter}} \renewcommand\part{\@startsection{part}{9}{\z@}% {-10\p@ \@plus -4\p@ \@minus -2\p@}% {4\p@}% {\@parfont}} \def\section@raggedright{\@rightskip\@flushglue \rightskip\@rightskip \leftskip\z@skip \parindent\z@} \def\@secfont{\sffamily\bfseries\section@raggedright\MakeUppercase} \def\@subsecfont{\sffamily\bfseries\section@raggedright} \def\@subsubsecfont{\sffamily\itshape} \def\@parfont{\itshape} \setcounter{secnumdepth}{3} \ifcase\ACM@format@nr \relax % manuscript \or % acmsmall \or % acmlarge \def\@secfont{\sffamily\large\section@raggedright\MakeUppercase} \def\@subsecfont{\sffamily\large\section@raggedright} \or % acmtog \def\@secfont{\sffamily\large\section@raggedright\MakeUppercase} \def\@subsecfont{\sffamily\large\section@raggedright} \or % sigconf \def\@secfont{\bfseries\Large\section@raggedright\MakeUppercase} \def\@subsecfont{\bfseries\Large\section@raggedright} \or % siggraph \def\@secfont{\bfseries\sffamily\Large\section@raggedright\MakeUppercase} \def\@subsecfont{\bfseries\sffamily\Large\section@raggedright} \or % sigplan \def\@secfont{\bfseries\Large\section@raggedright} \def\@subsecfont{\bfseries\section@raggedright} \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% {.25\baselineskip}% {\@subsubsecfont}} \def\@subsubsecfont{\bfseries\section@raggedright} \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% {-3.5\p@}% {\@parfont\@addspaceafter}} \def\@parfont{\bfseries\itshape} \renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}% {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% {-3.5\p@}% {\@subparfont\@addspaceafter}} \def\@subparfont{\itshape} \or % sigchi \setcounter{secnumdepth}{1} \def\@secfont{\bfseries\sffamily\section@raggedright\MakeUppercase} \def\@subsecfont{\bfseries\sffamily\section@raggedright} \or % sigchi-a \setcounter{secnumdepth}{0} \def\@secfont{\bfseries\sffamily\section@raggedright\MakeUppercase} \def\@subsecfont{\bfseries\sffamily\section@raggedright} \fi \def\@adddotafter#1{#1\@addpunct{.}} \def\@addspaceafter#1{#1\@addpunct{\enspace}} \def\@acmplainbodyfont{\itshape} \def\@acmplainindent{\parindent} \def\@acmplainheadfont{\scshape} \def\@acmplainnotefont{\@empty} \ifcase\ACM@format@nr \relax % manuscript \or % acmsmall \or % acmlarge \or % acmtog \or % sigconf \or % siggraph \or % sigplan \def\@acmplainbodyfont{\itshape} \def\@acmplainindent{\z@} \def\@acmplainheadfont{\bfseries} \def\@acmplainnotefont{\normalfont} \or % sigchi \or % sigchi-a \fi \newtheoremstyle{acmplain}% {.5\baselineskip\@plus.2\baselineskip \@minus.2\baselineskip}% space above {.5\baselineskip\@plus.2\baselineskip \@minus.2\baselineskip}% space below {\@acmplainbodyfont}% body font {\@acmplainindent}% indent amount {\@acmplainheadfont}% head font {.}% punctuation after head {.5em}% spacing after head {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec \def\@acmdefinitionbodyfont{\normalfont} \def\@acmdefinitionindent{\parindent} \def\@acmdefinitionheadfont{\itshape} \def\@acmdefinitionnotefont{\@empty} \ifcase\ACM@format@nr \relax % manuscript \or % acmsmall \or % acmlarge \or % acmtog \or % sigconf \or % siggraph \or % sigplan \def\@acmdefinitionbodyfont{\normalfont} \def\@acmdefinitionindent{\z@} \def\@acmdefinitionheadfont{\bfseries} \def\@acmdefinitionnotefont{\normalfont} \or % sigchi \or % sigchi-a \fi \newtheoremstyle{acmdefinition}% {.5\baselineskip\@plus.2\baselineskip \@minus.2\baselineskip}% space above {.5\baselineskip\@plus.2\baselineskip \@minus.2\baselineskip}% space below {\@acmdefinitionbodyfont}% body font {\@acmdefinitionindent}% indent amount {\@acmdefinitionheadfont}% head font {.}% punctuation after head {.5em}% spacing after head {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmdefinitionnotefont(#3)}}}% head spec \theoremstyle{acmplain} \newtheorem{theorem}{Theorem}[section] \newtheorem{conjecture}[theorem]{Conjecture} \newtheorem{proposition}[theorem]{Proposition} \newtheorem{lemma}[theorem]{Lemma} \newtheorem{corollary}[theorem]{Corollary} \theoremstyle{acmdefinition} \newtheorem{example}[theorem]{Example} \newtheorem{definition}[theorem]{Definition} \theoremstyle{acmplain} \def\@proofnamefont{\scshape} \def\@proofindent{\indent} \ifcase\ACM@format@nr \relax % manuscript \or % acmsmall \or % acmlarge \or % acmtog \or % sigconf \or % siggraph \or % sigplan \def\@proofnamefont{\itshape} \def\@proofindent{\noindent} \or % sigchi \or % sigchi-a \fi \renewenvironment{proof}[1][\proofname]{\par \pushQED{\qed}% \normalfont \topsep6\p@\@plus6\p@\relax \trivlist \item[\@proofindent\hskip\labelsep {\@proofnamefont #1\@addpunct{.}}]\ignorespaces }{% \popQED\endtrivlist\@endpefalse } \specialcomment{acks}{% \begingroup \section*{Acknowledgments} \phantomsection\addcontentsline{toc}{section}{Acknowledgments} }{% \endgroup } \def\grantsponsor#1#2#3{#2} \newcommand\grantnum[3][]{#3% \def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi} \if@ACM@screen \includecomment{screenonly} \excludecomment{printonly} \else \excludecomment{screenonly} \includecomment{printonly} \fi \if@ACM@anonymous \excludecomment{anonsuppress} \excludecomment{acks} \else \includecomment{anonsuppress} \fi \newcommand\showeprint[2][arxiv]{% \def\@tempa{#1}% \ifx\@tempa\@empty\def\@tempa{arxiv}\fi \def\@tempb{arxiv}% \ifx\@tempa\@tempb arXiv:\href{http://arxiv.org/abs/#2}{#2}\else arXiv:#2% \fi} \normalsize\normalfont \endinput %% %% End of file `acmart.cls'.