diff --git a/mohit/elsarticle-num.bst b/mohit/elsarticle-num.bst deleted file mode 100644 index 7c26b98..0000000 --- a/mohit/elsarticle-num.bst +++ /dev/null @@ -1,1508 +0,0 @@ -%% -%% This is file `elsarticle-num.bst' (Version 2.1), -%% -%% Copyright 2007-2019 Elsevier Ltd -%% -%% This file is part of the 'Elsarticle Bundle'. -%% --------------------------------------------- -%% -%% It may be distributed under the conditions of the LaTeX Project Public -%% License, either version 1.2 of this license or (at your option) any -%% later version. The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.2 or later is part of all distributions of LaTeX -%% version 1999/12/01 or later. -%% -%% -%% $Id: elsarticle-num.bst 174 2019-04-05 09:50:32Z rishi $ -%% -%% $URL: http://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-num.bst $ -%% -%% ---------------------------------------- - -ENTRY - { address - author - booktitle - chapter - edition - editor - howpublished - institution - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - volume - year - eprint % urlbst - doi % urlbst - url % urlbst - lastchecked % urlbst - } - {} - { label } - -INTEGERS { output.state before.all mid.sentence after.sentence after.block } - -STRINGS { urlintro eprinturl eprintprefix doiprefix doiurl openinlinelink closeinlinelink } % urlbst... -INTEGERS { hrefform inlinelinks makeinlinelink addeprints adddoiresolver } -FUNCTION {init.urlbst.variables} -{ - "Available from: " 'urlintro := % prefix before URL - "http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref - "arXiv:" 'eprintprefix := % text prefix printed before eprint ref - "https://doi.org/" 'doiurl := % prefix to make URL from DOI - "doi:" 'doiprefix := % text prefix printed before DOI ref - #1 'addeprints := % 0=no eprints; 1=include eprints - #1 'adddoiresolver := % 0=no DOI resolver; 1=include it - #2 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs - #1 'inlinelinks := % 0=URLs explicit; 1=URLs attached to titles - % the following are internal state variables, not config constants - #0 'makeinlinelink := % state variable managed by setup.inlinelink - "" 'openinlinelink := % ditto - "" 'closeinlinelink := % ditto -} -INTEGERS { - bracket.state - outside.brackets - open.brackets - within.brackets - close.brackets -} -FUNCTION {init.state.consts} -{ #0 'outside.brackets := % urlbst - #1 'open.brackets := - #2 'within.brackets := - #3 'close.brackets := - - #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} - -STRINGS { s t } - -FUNCTION {output.nonnull.original} -{ '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 {setup.inlinelink} -{ makeinlinelink - { hrefform #1 = % hypertex - { "\special {html: }{" * 'openinlinelink := - "\special {html:}" 'closeinlinelink := - } - { hrefform #2 = % hyperref - { "\href{" url * "}{" * 'openinlinelink := - "}" 'closeinlinelink := - } - 'skip$ - if$ % hrefform #2 = - } - if$ % hrefform #1 = - #0 'makeinlinelink := - } - 'skip$ - if$ % makeinlinelink -} -FUNCTION {add.inlinelink} -{ openinlinelink empty$ - 'skip$ - { openinlinelink swap$ * closeinlinelink * - "" 'openinlinelink := - } - if$ -} -FUNCTION {output.nonnull} -{ % Save the thing we've been asked to output - 's := - % If the bracket-state is close.brackets, then add a close-bracket to - % what is currently at the top of the stack, and set bracket.state - % to outside.brackets - bracket.state close.brackets = - { "]" * - outside.brackets 'bracket.state := - } - 'skip$ - if$ - bracket.state outside.brackets = - { % We're outside all brackets -- this is the normal situation. - % Write out what's currently at the top of the stack, using the - % original output.nonnull function. - s - add.inlinelink - output.nonnull.original % invoke the original output.nonnull - } - { % Still in brackets. Add open-bracket or (continuation) comma, add the - % new text (in s) to the top of the stack, and move to the close-brackets - % state, ready for next time (unless inbrackets resets it). If we come - % into this branch, then output.state is carefully undisturbed. - bracket.state open.brackets = - { " [" * } - { ", " * } % bracket.state will be within.brackets - if$ - s * - close.brackets 'bracket.state := - } - if$ -} - -FUNCTION {inbrackets} -{ bracket.state close.brackets = - { within.brackets 'bracket.state := } % reset the state: not open nor closed - { open.brackets 'bracket.state := } - if$ -} - -FUNCTION {format.lastchecked} -{ lastchecked empty$ - { "" } - { inbrackets "cited " lastchecked * } - if$ -} - -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.original} -{ 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 {add.blank} -{ " " * before.all 'output.state := -} - -FUNCTION {date.block} -{ - add.blank -} - -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} -{ skip$ } - -FUNCTION {capitalize} -{ "u" change.case$ "t" change.case$ } - -FUNCTION {space.word} -{ " " swap$ * " " * } - - % Here are the language-specific definitions for explicit words. - % Each function has a name bbl.xxx where xxx is the English word. - % The language selected here is ENGLISH -FUNCTION {bbl.and} -{ "and"} - -FUNCTION {bbl.etal} -{ "et~al." } - -FUNCTION {bbl.editors} -{ "Eds." } - -FUNCTION {bbl.editor} -{ "Ed." } - -FUNCTION {bbl.edby} -{ "edited by" } - -FUNCTION {bbl.edition} -{ "Edition" } - -FUNCTION {bbl.volume} -{ "Vol." } - -FUNCTION {bbl.of} -{ "of" } - -FUNCTION {bbl.number} -{ "no." } - -FUNCTION {bbl.nr} -{ "no." } - -FUNCTION {bbl.in} -{ "in" } - -FUNCTION {bbl.pages} -{ "pp." } - -FUNCTION {bbl.page} -{ "p." } - -FUNCTION {bbl.chapter} -{ "Ch." } - -FUNCTION {bbl.techrep} -{ "Tech. Rep." } - -FUNCTION {bbl.mthesis} -{ "Master's thesis" } - -FUNCTION {bbl.phdthesis} -{ "Ph.D. thesis" } - -FUNCTION {bbl.first} -{ "1st" } - -FUNCTION {bbl.second} -{ "2nd" } - -FUNCTION {bbl.third} -{ "3rd" } - -FUNCTION {bbl.fourth} -{ "4th" } - -FUNCTION {bbl.fifth} -{ "5th" } - -FUNCTION {bbl.st} -{ "st" } - -FUNCTION {bbl.nd} -{ "nd" } - -FUNCTION {bbl.rd} -{ "rd" } - -FUNCTION {bbl.th} -{ "th" } - -MACRO {jan} {"Jan."} - -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr."} - -MACRO {may} {"May"} - -MACRO {jun} {"Jun."} - -MACRO {jul} {"Jul."} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sep."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -FUNCTION {eng.ord} -{ duplicate$ "1" swap$ * - #-2 #1 substring$ "1" = - { bbl.th * } - { duplicate$ #-1 #1 substring$ - duplicate$ "1" = - { pop$ bbl.st * } - { duplicate$ "2" = - { pop$ bbl.nd * } - { "3" = - { bbl.rd * } - { bbl.th * } - if$ - } - if$ - } - if$ - } - if$ -} - -MACRO {acmcs} {"ACM Comput. Surv."} - -MACRO {acta} {"Acta Inf."} - -MACRO {cacm} {"Commun. ACM"} - -MACRO {ibmjrd} {"IBM J. Res. Dev."} - -MACRO {ibmsj} {"IBM Syst.~J."} - -MACRO {ieeese} {"IEEE Trans. Softw. Eng."} - -MACRO {ieeetc} {"IEEE Trans. Comput."} - -MACRO {ieeetcad} - {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} - -MACRO {ipl} {"Inf. Process. Lett."} - -MACRO {jacm} {"J.~ACM"} - -MACRO {jcss} {"J.~Comput. Syst. Sci."} - -MACRO {scp} {"Sci. Comput. Programming"} - -MACRO {sicomp} {"SIAM J. Comput."} - -MACRO {tocs} {"ACM Trans. Comput. Syst."} - -MACRO {tods} {"ACM Trans. Database Syst."} - -MACRO {tog} {"ACM Trans. Gr."} - -MACRO {toms} {"ACM Trans. Math. Softw."} - -MACRO {toois} {"ACM Trans. Office Inf. Syst."} - -MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} - -MACRO {tcs} {"Theoretical Comput. Sci."} - -FUNCTION {write.url} -{ url empty$ - { skip$ } - { "\newline\urlprefix\url{" url * "}" * write$ newline$ } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{f.~}{vv~}{ll}{, jj}" format.name$ - 't := - nameptr #1 > - { - namesleft #1 > - { ", " * t * } - { - "," * - s nameptr "{ll}" format.name$ duplicate$ "others" = - { 't := } - { pop$ } - if$ - t "others" = - { - " " * bbl.etal * - } - { " " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} -FUNCTION {format.names.ed} -{ format.names } -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > - { " (" * bbl.editors * ")" * } - { " (" * bbl.editor * ")" * } - if$ - } - if$ -} - -FUNCTION {format.in.editors} -{ editor empty$ - { "" } - { editor format.names.ed - editor num.names$ #1 > - { " (" * bbl.editors * ")" * } - { " (" * bbl.editor * ")" * } - if$ - } - if$ -} - -FUNCTION {format.note} -{ - note empty$ - { "" } - { note #1 #1 substring$ - duplicate$ "{" = - 'skip$ - { output.state mid.sentence = - { "l" } - { "u" } - if$ - change.case$ - } - if$ - note #2 global.max$ substring$ * - } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ - } - if$ -} - -FUNCTION {output.bibitem.original} -{ newline$ - "\bibitem{" 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 {word.in} -{ bbl.in - ":" * - " " * } - -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - month - } - if$ - } - { month empty$ - 'year - { month " " * year * } - if$ - } - if$ - duplicate$ empty$ - 'skip$ - { - before.all 'output.state := - " (" swap$ * ")" * - } - if$ -} - -FUNCTION{format.year} -{ year duplicate$ empty$ - { "empty year in " cite$ * warning$ pop$ "" } - { "(" swap$ * ")" * } - if$ -} - -FUNCTION {format.btitle} -{ title -} - -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$ - { "" } - { bbl.volume volume tie.or.space.connect - series empty$ - 'skip$ - { bbl.of space.word * 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 = - { bbl.number } - { bbl.number capitalize } - if$ - number tie.or.space.connect - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { bbl.in space.word * series * } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {is.num} -{ chr.to.int$ - duplicate$ "0" chr.to.int$ < not - swap$ "9" chr.to.int$ > not and -} - -FUNCTION {extract.num} -{ duplicate$ 't := - "" 's := - { t empty$ not } - { t #1 #1 substring$ - t #2 global.max$ substring$ 't := - duplicate$ is.num - { s swap$ * 's := } - { pop$ "" 't := } - if$ - } - while$ - s empty$ - 'skip$ - { pop$ s } - if$ -} - -FUNCTION {convert.edition} -{ edition extract.num "l" change.case$ 's := - s "first" = s "1" = or - { bbl.first 't := } - { s "second" = s "2" = or - { bbl.second 't := } - { s "third" = s "3" = or - { bbl.third 't := } - { s "fourth" = s "4" = or - { bbl.fourth 't := } - { s "fifth" = s "5" = or - { bbl.fifth 't := } - { s #1 #1 substring$ is.num - { s eng.ord 't := } - { edition 't := } - if$ - } - if$ - } - if$ - } - if$ - } - if$ - } - if$ - t -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { convert.edition "l" change.case$ " " * bbl.edition * } - { convert.edition "t" change.case$ " " * bbl.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 - { bbl.pages pages n.dashify tie.or.space.connect } - { bbl.page pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.journal.pages} -{ pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { - " " * - format.year * " " * - pages n.dashify * - } - if$ - } - if$ -} - -FUNCTION {format.vol.num.pages} -{ - % volume field.or.null - " " - volume empty$ - { pop$ "" } - { volume * } - if$ - number empty$ - 'skip$ - { - "~(" number * ")" * * - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - { "" } - { type empty$ - { bbl.chapter } - { type "l" change.case$ } - if$ - chapter tie.or.space.connect - } - if$ -} - -FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { editor empty$ - { word.in booktitle * } - { word.in format.in.editors * ", " * - booktitle * } - if$ - } - if$ -} - -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and 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$ - { bbl.techrep } - '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$ - "" - } - { word.in journal emphasize * } - if$ - } - { word.in key * " " *} - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.crossref.editor} -{ editor #1 "{vv~}{ll}" format.name$ - editor num.names$ duplicate$ - #2 > - { pop$ - " " * bbl.etal * - } - { #2 < - 'skip$ - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { - " " * bbl.etal * - } - { bbl.and space.word * editor #2 "{vv~}{ll}" format.name$ - * } - if$ - } - if$ - } - if$ -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - word.in - } - { bbl.volume volume tie.or.space.connect - bbl.of space.word * - } - 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$ - "" * - } - { series emphasize * } - if$ - } - { key * } - if$ - } - { format.crossref.editor * } - if$ - " \cite{" * 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$ - "" - } - { word.in booktitle * } - if$ - } - { word.in key * " " *} - if$ - } - { word.in format.crossref.editor * " " *} - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.org.or.pub} -{ 't := - "" - year empty$ - { "empty year in " cite$ * warning$ } - 'skip$ - if$ - address empty$ t empty$ and - year empty$ and - 'skip$ - { - t empty$ - { address empty$ - 'skip$ - { address * } - if$ - } - { t * - address empty$ - 'skip$ - { ", " * address * } - if$ - } - if$ - year empty$ - 'skip$ - { t empty$ address empty$ and - 'skip$ - { ", " * } - if$ - year * - } - if$ - } - if$ -} - -FUNCTION {format.publisher.address} -{ publisher empty$ - { "empty publisher in " cite$ * warning$ - "" - } - { publisher } - if$ - format.org.or.pub -} - -FUNCTION {format.organization.address} -{ organization empty$ - { "" } - { organization } - if$ - format.org.or.pub -} - -FUNCTION {make.href.null} -{ - pop$ -} -FUNCTION {make.href.hypertex} -{ - "\special {html: }" * swap$ * - "\special {html:}" * -} -FUNCTION {make.href.hyperref} -{ - "\href {" swap$ * "} {\path{" * swap$ * "}}" * -} -FUNCTION {make.href} -{ hrefform #2 = - 'make.href.hyperref % hrefform = 2 - { hrefform #1 = - 'make.href.hypertex % hrefform = 1 - 'make.href.null % hrefform = 0 (or anything else) - if$ - } - if$ -} - -FUNCTION {format.url} -{ inlinelinks #1 = url empty$ or - { "" } - { hrefform #1 = - { % special case -- add HyperTeX specials - urlintro "\url{" url * "}" * url make.href.hypertex * } - { urlintro "\url{" * url * "}" * } - if$ - } - if$ -} - -FUNCTION {format.eprint} -{ eprint empty$ - { "" } - { eprintprefix eprint * eprinturl eprint * make.href } - if$ -} - -FUNCTION {format.doi} -{ doi empty$ - { "" } - { doiprefix doi * doiurl doi * make.href } - if$ -} - -FUNCTION {output.url} -{ url empty$ - 'skip$ - { new.block - format.url output - format.lastchecked output - } - if$ -} - -FUNCTION {output.web.refs} -{ - new.block - output.url - addeprints eprint empty$ not and - { format.eprint output.nonnull } - 'skip$ - if$ - adddoiresolver doi empty$ not and - { format.doi output.nonnull } - 'skip$ - if$ -} - -FUNCTION {output.bibitem} -{ outside.brackets 'bracket.state := - output.bibitem.original - inlinelinks url empty$ not and - { #1 'makeinlinelink := } - { #0 'makeinlinelink := } - if$ -} - -FUNCTION {fin.entry} -{ output.web.refs % urlbst - makeinlinelink % ooops, it appears we didn't have a title for inlinelink - { setup.inlinelink % add some artificial link text here, as a fallback - "[link]" output.nonnull } - 'skip$ - if$ - bracket.state close.brackets = % urlbst - { "]" * } - 'skip$ - if$ - fin.entry.original -} - -FUNCTION {webpage} -{ output.bibitem - author empty$ - { editor empty$ - 'skip$ % author and editor both optional - { format.editors output.nonnull } - if$ - } - { editor empty$ - { format.authors output.nonnull } - { "can't use both author and editor fields in " cite$ * warning$ } - if$ - } - if$ - new.block - title empty$ 'skip$ 'setup.inlinelink if$ - format.title "title" output.check - inbrackets "online" output - new.block - year empty$ - 'skip$ - { format.date "year" output.check } - if$ - % We don't need to output the URL details ('lastchecked' and 'url'), - % because fin.entry does that for us, using output.web.refs. The only - % reason we would want to put them here is if we were to decide that - % they should go in front of the rather miscellaneous information in 'note'. - new.block - note output - fin.entry -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.title "title" output.check - crossref missing$ - { journal - "journal" output.check - % add.blank - before.all 'output.state := - format.vol.num.pages output - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - format.journal.pages - format.note output - pages empty$ - { format.date "year" output.check } - 'skip$ - if$ - fin.entry - write.url -} - -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.btitle "title" output.check - crossref missing$ - { format.edition output - format.bvolume output - format.number.series output - format.publisher.address output - } - { - format.book.crossref output.nonnull - } - if$ - format.note output - fin.entry - write.url -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.title "title" output.check - howpublished output - address output - format.note output - format.date "year" output.check - fin.entry - write.url -} - -FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.btitle "title" output.check - crossref missing$ - { - format.edition output - format.bvolume output - format.number.series output - format.publisher.address output - format.chapter.pages "chapter and pages" output.check - } - { - format.chapter.pages "chapter and pages" output.check - format.book.crossref output.nonnull - } - if$ - format.pages "pages" output.check - format.note output - fin.entry - write.url -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.title "title" output.check - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.edition output - format.bvolume output - format.number.series output - format.publisher.address output - format.chapter.pages output - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ - format.pages "pages" output.check - format.note output - fin.entry - write.url -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.title "title" output.check - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.edition output - format.bvolume output - format.number.series output - publisher empty$ - { format.organization.address output } - { organization output - format.publisher.address output - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - format.pages "pages" output.check - format.note output - fin.entry - write.url -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - author empty$ - { organization empty$ - 'skip$ - { organization output.nonnull - address output - } - if$ - } - { format.authors output.nonnull } - if$ - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.btitle "title" output.check - author empty$ - { organization empty$ - { - address output - } - 'skip$ - if$ - } - { - organization output - address output - } - if$ - format.edition output - format.note output - format.date "year" output.check - fin.entry - write.url -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.title "title" output.check - bbl.mthesis format.thesis.type output.nonnull - school "school" output.check - address output - format.note output - format.date "year" output.check - fin.entry - write.url -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.title output - howpublished output - format.note output - format.date "year" output.check - fin.entry - write.url - empty.misc.check -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.title "title" output.check - bbl.phdthesis format.thesis.type output.nonnull - school "school" output.check - address output - format.note output - format.date "year" output.check - fin.entry - write.url -} - -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { organization output } - { format.editors output.nonnull } - if$ - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.btitle "title" output.check - format.bvolume output - format.number.series output - editor empty$ - { publisher empty$ - 'skip$ - { - format.publisher.address output - } - if$ - } - { publisher empty$ - { - format.organization.address output } - { - organization output - format.publisher.address output - } - if$ - } - if$ - format.note output - fin.entry - write.url -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.title "title" output.check - format.tr.number output.nonnull - institution "institution" output.check - address output - format.note output - format.date "year" output.check - fin.entry - write.url -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - title empty$ 'skip$ 'setup.inlinelink if$ % urlbst - format.title "title" output.check - format.note "note" output.check - format.date "year" output.check - fin.entry - write.url -} - -FUNCTION {default.type} { misc } - -READ - -STRINGS { longest.label } - -INTEGERS { number.label longest.label.width } - -FUNCTION {initialize.longest.label} -{ "" 'longest.label := - #1 'number.label := - #0 'longest.label.width := -} - -FUNCTION {longest.label.pass} -{ number.label int.to.str$ 'label := - number.label #1 + 'number.label := - label width$ longest.label.width > - { label 'longest.label := - label width$ 'longest.label.width := - } - 'skip$ - if$ -} - -EXECUTE {initialize.longest.label} - -ITERATE {longest.label.pass} - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{" longest.label * "}" * - write$ newline$ - "\expandafter\ifx\csname url\endcsname\relax" - write$ newline$ - " \def\url#1{\texttt{#1}}\fi" - write$ newline$ - "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi" - write$ newline$ - "\expandafter\ifx\csname href\endcsname\relax" - write$ newline$ - " \def\href#1#2{#2} \def\path#1{#1}\fi" - write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.urlbst.variables} -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} -%% End of customized bst file -%% -%% End of file `elsarticle-num.bst'. - diff --git a/mohit/elsarticle.cls b/mohit/elsarticle.cls deleted file mode 100644 index 53a1072..0000000 --- a/mohit/elsarticle.cls +++ /dev/null @@ -1,1056 +0,0 @@ -%% -%% This is file `elsarticle.cls', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% elsarticle.dtx (with options: `class') -%% -%% Copyright 2007-2019 Elsevier Ltd -%% -%% This file is part of the 'Elsarticle Bundle'. -%% ------------------------------------------- -%% -%% It may be distributed under the conditions of the LaTeX Project Public -%% License, either version 1.2 of this license or (at your option) any -%% later version. The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.2 or later is part of all distributions of LaTeX -%% version 1999/12/01 or later. -%% -%% The list of all files belonging to the 'Elsarticle Bundle' is -%% given in the file `manifest.txt'. -%% -%% -%% -%% - \def\RCSfile{elsarticle}% - \def\RCSversion{3.2}% - \def\RCSdate{2019/02/25}% - \def\@shortjnl{\relax} - \def\@journal{Elsevier Ltd} - \def\@company{Elsevier Ltd} - \def\@issn{000-0000} - \def\@shortjid{elsarticle} -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesClass{\@shortjid}[\RCSdate, \RCSversion: \@journal] -\def\ABD{\AtBeginDocument} -\newif\ifpreprint \preprintfalse -\newif\ifnonatbib \nonatbibfalse -\newif\iflongmktitle \longmktitlefalse -\newif\ifnopreprintline \nopreprintlinefalse -\newif\ifdoubleblind \doubleblindfalse - -\def\@blstr{1} -\newdimen\@bls -\@bls=\baselineskip - -\def\@finalWarning{% - *****************************************************\MessageBreak - This document is typeset in the CRC style which\MessageBreak - is not suitable for submission.\MessageBreak - \MessageBreak - Please typeset again using 'preprint' option\MessageBreak - for creating PDF suitable for submission.\MessageBreak - ******************************************************\MessageBreak -} - -\DeclareOption{preprint}{\global\preprinttrue - \gdef\@blstr{1}\xdef\jtype{0}% - \AtBeginDocument{\@twosidefalse\@mparswitchfalse}} -\DeclareOption{nopreprintline}{\global\nopreprintlinetrue} -\DeclareOption{final}{\gdef\@blstr{1}\global\preprintfalse} -\DeclareOption{review}{\global\preprinttrue\gdef\@blstr{1.5}} -\DeclareOption{authoryear}{\xdef\@biboptions{round,authoryear}} -\DeclareOption{number}{\xdef\@biboptions{numbers}} -\DeclareOption{numbers}{\xdef\@biboptions{numbers}} -\DeclareOption{nonatbib}{\global\nonatbibtrue} -\DeclareOption{longtitle}{\global\longmktitletrue} -\DeclareOption{5p}{\xdef\jtype{5}\global\preprintfalse - \ExecuteOptions{twocolumn}} - \def\jtype{0} -\DeclareOption{3p}{\xdef\jtype{3}\global\preprintfalse} -\DeclareOption{1p}{\xdef\jtype{1}\global\preprintfalse - \AtBeginDocument{\@twocolumnfalse}} -\DeclareOption{times}{\IfFileExists{txfonts.sty}% - {\AtEndOfClass{\RequirePackage{txfonts}% - \gdef\ttdefault{cmtt}% - \let\iint\relax - \let\iiint\relax - \let\iiiint\relax - \let\idotsint\relax - \let\openbox\relax}}{\AtEndOfClass{\RequirePackage{times}}}} - -\DeclareOption{endfloat}{\IfFileExists{endfloat.sty} - {\AtEndOfClass{\RequirePackage[markers]{endfloat}}}{}} -\DeclareOption{endfloats}{\IfFileExists{endfloat.sty} - {\AtEndOfClass{\RequirePackage[markers]{endfloat}}}{}} -\DeclareOption{numafflabel} - {\AtBeginDocument{\def\theaffn{\arabic{affn}}}} %*% -\DeclareOption{lefttitle} - {\AtBeginDocument{\def\elsarticletitlealign{flushleft}}} %*% -\DeclareOption{centertitle} - {\AtBeginDocument{\def\elsarticletitlealign{center}}} %*% -\DeclareOption{reversenotenum} - {\AtBeginDocument{\def\theaffn{\arabic{affn}} - \def\thefnote{\alph{fnote}}}} -\DeclareOption{doubleblind}{\doubleblindtrue} - -\ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint,centertitle} -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} -\ProcessOptions -\LoadClass{article} -\RequirePackage{graphicx} -\let\comma\@empty -\let\tnotesep\@empty -\let\@title\@empty - -\def\useelstitle{} - -\def\title#1{\g@addto@macro\@title{#1% - \global\let\tnoteref\@gobble}% - \g@addto@macro\useelstitle{#1}} - -\def\elsLabel#1{\@bsphack\protected@write\@auxout{}% - {\string\Newlabel{#1}{\@currentlabel}}\@esphack} -\def\Newlabel#1#2{\expandafter\xdef\csname X@#1\endcsname{#2}} - -\def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}} - -\let\@tnotemark\@empty - -\ifdoubleblind - \def\tnotemark[#1]{} -\else - \def\tnotemark[#1]{\@for\mytmark:=#1\do{% - \expandafter\ifcase\elsRef{\mytmark}\or$^{\star}$\or - $^{,\star\star}$\fi - }% -} -\fi - -\def\tnoteref#1{\tnotemark[{#1}]} -\let\@tnotes\@empty -\newcounter{tnote} -\def\tnotetext[#1]#2{\g@addto@macro\@tnotes{% - \stepcounter{tnote}\elsLabel{#1}% - \def\thefootnote{\ifcase\c@tnote\or$\star$\or$\star\star$\fi}% - \footnotetext{#2}}} - -\let\@nonumnotes\@empty -\def\nonumnote#1{\g@addto@macro\@nonumnotes{% - \let\thefootnote\relax\footnotetext{#1}}} - -\newcounter{fnote} -\def\thefnote{\arabic{fnote}} -\def\fnmark[#1]{\let\comma\@empty - \def\@fnmark{\@for\@@fnmark:=#1\do{% - \edef\fnotenum{\@ifundefined{X@\@@fnmark}{1}{\elsRef{\@@fnmark}}}% - \unskip\comma\fnotenum\let\comma,}}% -} - -\def\fnref#1{\fnmark[#1]} - -\let\@fnotes\@empty\let\@fnmark\@empty -\def\fntext[#1]#2{\g@addto@macro\@fnotes{% - \refstepcounter{fnote}\elsLabel{#1}% - \def\thefootnote{\c@fnote}% - \global\setcounter{footnote}{\c@fnote}% - \footnotetext{#2}}} - -\def\cormark[#1]{\edef\cnotenum{\elsRef{#1}}% - \unskip\textsuperscript{\sep\ifcase\cnotenum\or - $\ast$\or$\ast\ast$\fi\hspace{-1pt}}\let\sep=,} - -\let\@cormark\@empty -\let\@cornotes\@empty -\newcounter{cnote} -\def\cortext[#1]#2{\g@addto@macro\@cornotes{% - \refstepcounter{cnote}\elsLabel{#1}% - \def\thefootnote{\ifcase\thecnote\or$\ast$\or - $\ast\ast$\fi}% - \footnotetext{#2}}} - -\let\@corref\@empty -\def\corref#1{\edef\cnotenum{\elsRef{#1}}% - \edef\@corref{\ifcase\cnotenum\or - $\ast$\or$\ast\ast$\fi\hskip-1pt}} - -\def\resetTitleCounters{\c@cnote=0 - \c@fnote=0 \c@tnote=0 \c@footnote=0} - -\let\eadsep\@empty -\def\@elseads{} -\let\@elsuads\@empty -\let\@cormark\@empty -\def\hashchar{\expandafter\@gobble\string\~} -\def\underscorechar{\expandafter\@gobble\string\_} -\def\lbracechar{\expandafter\@gobble\string\{} -\def\rbracechar{\expandafter\@gobble\string\}} - -\gdef\ead{\@ifnextchar[{\@uad}{\@ead}} -\gdef\@ead#1{\bgroup - \def\_{\underscorechar}% - \def\{{\lbracechar}% - \def~{\hashchar}% - \def\}{\rbracechar}% - \edef\tmp{\the\@eadauthor}% - \immediate\write\@auxout{\string\emailauthor - {#1}{\expandafter\strip@prefix\meaning\tmp}}% - \egroup -} -\newcounter{ead} -\gdef\emailauthor#1#2{\stepcounter{ead}% - \g@addto@macro\@elseads{\raggedright% - \let\corref\@gobble\def\@@tmp{#1}% - \eadsep{\ttfamily\expandafter\strip@prefix\meaning\@@tmp} - (#2)\def\eadsep{\unskip,\space}}% -} -\gdef\@uad[#1]#2{\bgroup - \def~{\hashchar}% - \def\_{\underscorechar}% - \def~{\hashchar}% - \def\}{\rbracechar}% - \edef\tmp{\the\@eadauthor} - \immediate\write\@auxout{\string\urlauthor - {#2}{\expandafter\strip@prefix\meaning\tmp}}% - \egroup -} -\gdef\urlauthor#1#2{\g@addto@macro\@elsuads{\let\corref\@gobble% - \def\@@tmp{#1}\raggedright\eadsep - {\ttfamily\expandafter\strip@prefix\meaning\@@tmp}\space(#2)% - \def\eadsep{\unskip,\space}}% -} - -\def\elsauthors{} -\def\useauthors{} -\def\elsprelimauthors{} - -\def\pprinttitle{} -\let\authorsep\@empty -\let\prelimauthorsep\@empty -\let\sep\@empty -\newcounter{author} -\def\author{\@ifnextchar[{\@@author}{\@author}} - -\newtoks\@eadauthor -\def\@@author[#1]#2{% - \g@addto@macro\elsprelimauthors{% - \prelimauthorsep#2% - \def\prelimauthorsep{\unskip,\space}}% - \g@addto@macro\elsauthors{% - \def\baselinestretch{1}% - \authorsep#2\unskip\textsuperscript{%#1% - \@for\@@affmark:=#1\do{% - \edef\affnum{\@ifundefined{X@\@@affmark}{1}{\elsRef{\@@affmark}}}% - \unskip\sep\affnum\let\sep=,}% - \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi - \ifx\@corref\@empty\else\unskip\sep\@corref\let\sep=,\fi - }% - \def\authorsep{\unskip,\space}% - \global\let\sep\@empty\global\let\@corref\@empty - \global\let\@fnmark\@empty}% - \@eadauthor={#2}% - \g@addto@macro\useauthors{#2; }% -} - -\def\@author#1{% - \g@addto@macro\elsprelimauthors{% - \prelimauthorsep#1% - \def\prelimauthorsep{\unskip,\space}}% - \g@addto@macro\elsauthors{\normalsize% - \def\baselinestretch{1}% - \upshape\authorsep#1\unskip\textsuperscript{% - \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi - \ifx\@corref\@empty\else\unskip\sep\@corref\let\sep=,\fi - }% - \def\authorsep{\unskip,\space}% - \global\let\@fnmark\@empty - \global\let\@corref\@empty \global\let\sep\@empty}% - \@eadauthor={#1}% - \g@addto@macro\useauthors{#1; }% -} - -\AtBeginDocument{% - \@ifpackageloaded{hyperref}{% - \expandafter\gdef\csname Hy@title\endcsname{\useelstitle}% - \expandafter\gdef\csname Hy@author\endcsname{\useauthors}% - }{} -} - -\def\elsaddress{} -\def\addsep{\par\vskip6pt} -\def\address{\@ifnextchar[{\@@address}{\@address}} - -\def\@alph#1{% - \ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or - l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or - y\or z% - \or aa\or ab\or ac\or ad\or ae\or af\or ag\or ah\or ai\or aj\or - ak\or al\or am\or an\or ao\or ap\or aq\or ar\or as\or at\or au\or - av\or aw\or ax\or ay\or az% - \or ba\or bb\or bc\or bd\or be\or bf\or bg\or bh\or bi\or bj\or - bk\or bl\or bm\or bn\or bo\or bp\or bq\or br\or bs\or bt\or bu\or - bv\or bw\or bx\or by\or bz% - \or ca\or cb\or cc\or cd\or ce\or cf\or cg\or ch\or ci\or cj\or - ck\or cl\or cm\or cn\or co\or cp\or cq\or cr\or cs\or ct\or cu\or - cv\or cw\or cx\or cy\or cz% - \or da\or db\or dc\or dd\or de\or df\or dg\or dh\or di\or dj\or - dk\or dl\or dm\or dn\or do\or dp\or dq\or dr\or ds\or dt\or du\or - dv\or dw\or dx\or dy\or dz% - \or ea\or eb\or ec\or ed\or ee\or ef\or eg\or eh\or ei\or ej\or - ek\or el\or em\or en\or eo\or ep\or eq\or er\or es\or et\or eu\or - ev\or ew\or ex\or ey\or ez% - \or fa\or fb\or fc\or fd\or fe\or ff\or fg\or fh\or fi\or fj\or - fk\or fl\or fm\or fn\or fo\or fp\or fq\or fr\or fs\or ft\or fu\or - fv\or fw\or fx\or fy\or fz% - \or ga\or gb\or gc\or gd\or ge\or gf\or gg\or gh\or gi\or gj\or - gk\or gl\or gm\or gn\or go\or gp\or gq\or gr\or gs\or gt\or gu\or - gv\or gw\or gx\or gy\or gz% - \else\@ctrerr\fi} - -\newcounter{affn} -\renewcommand\theaffn{\alph{affn}} - -\long\def\@@address[#1]#2{\g@addto@macro\elsaddress{% - \def\baselinestretch{1}% - \refstepcounter{affn} - \xdef\@currentlabel{\theaffn} - \elsLabel{#1}% - \textsuperscript{\theaffn}#2\par}} - -\long\def\@address#1{\g@addto@macro\elsauthors{% - \def\baselinestretch{1}% - \addsep\footnotesize\itshape#1\def\addsep{\par\vskip6pt}% - \def\authorsep{\par\vskip8pt}}} - -\newbox\absbox -\let\@elsarticleabstitle\@empty %*% -\def\abstracttitle#1{\gdef\@elsarticleabstitle{#1}} %*% -\abstracttitle{Abstract} %*% -\renewenvironment{abstract}{\global\setbox\absbox=\vbox\bgroup - \hsize=\textwidth\def\baselinestretch{1}% - \noindent\unskip\textbf{\@elsarticleabstitle} %*% - \par\medskip\noindent\unskip\ignorespaces} - {\egroup} - -\newbox\elsarticlehighlightsbox -\newbox\elsarticlegrabsbox -\def\@elsarticlehighlightstitle{Highlights} -\def\@elsarticlegrabstitle{Graphical Abstract} -\newif\ifelsprelimpagegrabs\global\elsprelimpagegrabsfalse -\newif\ifelsprelimpagehl\global\elsprelimpagehlfalse -\def\elsarticleprelims{% - \ifelsprelimpagegrabs\relax% - \thispagestyle{empty}% - \unvbox\elsarticlegrabsbox% - \pagebreak\clearpage% - \fi% - \ifelsprelimpagehl\relax% - \thispagestyle{empty} - \unvbox\elsarticlehighlightsbox% - \pagebreak\clearpage% - \setcounter{page}{1}% - \fi% -} -\newenvironment{highlights}{% - \global\elsprelimpagehltrue% - \global\setbox\elsarticlehighlightsbox=\vbox\bgroup - \hsize=\textwidth\def\baselinestretch{1}% - \noindent\unskip{\Large\@elsarticlehighlightstitle}%*% - \par\vskip12pt\noindent\unskip\ignorespaces\textbf{\@title}% - \ifx\elsprelimauthors\@empty\relax\else% - \par\vskip6pt\noindent\unskip\ignorespaces\elsprelimauthors% - \fi% - \par\medskip\noindent\unskip\ignorespaces - \begin{itemize} - } - {\end{itemize} - \egroup} -\newenvironment{graphicalabstract}{% - \global\elsprelimpagegrabstrue% - \global\setbox\elsarticlegrabsbox=\vbox\bgroup - \hsize=\textwidth\def\baselinestretch{1}% - \noindent\unskip{\Large\@elsarticlegrabstitle}%*% - \par\vskip12pt\noindent\unskip\ignorespaces\textbf{\@title}% - \ifx\elsprelimauthors\@empty\relax\else% - \par\vskip6pt\noindent\unskip\ignorespaces\elsprelimauthors% - \fi% - \par\medskip\noindent\unskip\ignorespaces} - {\egroup} - -\newbox\keybox -\let\@elsarticlekwdtitle\@empty %*% -\def\keywordtitle#1{\gdef\@elsarticlekwdtitle{#1}} %*% -\def\keywordtitlesep#1{\gdef\@elsarticlekeywordtitlesep{#1}} %*% -\keywordtitle{Keywords} %*% -\keywordtitlesep{:\ } -\def\keyword{% - \def\sep{\unskip, }% - \def\MSC{\@ifnextchar[{\@MSC}{\@MSC[2000]}} - \def\@MSC[##1]{\par\leavevmode\hbox {\it ##1~MSC:\space}}% - \def\PACS{\par\leavevmode\hbox {\it PACS:\space}}% - \def\JEL{\par\leavevmode\hbox {\it JEL:\space}}% - \global\setbox\keybox=\vbox\bgroup\hsize=\textwidth - \normalsize\normalfont\def\baselinestretch{1} - \parskip\z@ - \noindent\textit{\@elsarticlekwdtitle\@elsarticlekeywordtitlesep} - \raggedright % Keywords are not justified. - \ignorespaces} -\def\endkeyword{\par \egroup} - -\newdimen\Columnwidth -\Columnwidth=\columnwidth - -\def\printFirstPageNotes{% - \iflongmktitle - \let\columnwidth=\textwidth - \fi -\ifdoubleblind -\else - \ifx\@tnotes\@empty\else\@tnotes\fi - \ifx\@nonumnotes\@empty\else\@nonumnotes\fi - \ifx\@cornotes\@empty\else\@cornotes\fi - \ifx\@elseads\@empty\relax\else - \let\thefootnote\relax - \footnotetext{\ifnum\theead=1\relax - \textit{Email address:\space}\else - \textit{Email addresses:\space}\fi - \@elseads}\fi - \ifx\@elsuads\@empty\relax\else - \let\thefootnote\relax - \footnotetext{\textit{URL:\space}% - \@elsuads}\fi -\fi - \ifx\@fnotes\@empty\else\@fnotes\fi - \iflongmktitle\if@twocolumn - \let\columnwidth=\Columnwidth\fi\fi -} - -%% Pushing text to begin on newpage %*% -\def\newpage@after@title{title} -\def\newpage@after@author{author} -\def\newpage@after@abstract{abstract} -\def\newpageafter#1% - {\gdef\@elsarticlenewpageafter{#1}} - -\long\def\pprintMaketitle{\clearpage - \iflongmktitle\if@twocolumn\let\columnwidth=\textwidth\fi\fi - \resetTitleCounters - \def\baselinestretch{1}% - \printFirstPageNotes - \begin{\elsarticletitlealign}% - \thispagestyle{pprintTitle}% - \def\baselinestretch{1}% - \Large\@title\par\vskip18pt% - \ifx\@elsarticlenewpageafter\newpage@after@title% %*% - \newpage - \fi% - \ifdoubleblind - \vspace*{2pc} - \else - \normalsize\elsauthors\par\vskip10pt - \footnotesize\itshape\elsaddress\par\vskip36pt - \fi - \ifx\@elsarticlenewpageafter\newpage@after@author% %*% - \newpage - \fi% - \hrule\vskip12pt - \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi - \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi - \hrule\vskip12pt - \ifx\@elsarticlenewpageafter\newpage@after@abstract% %*% - \newpage - \fi% - \end{\elsarticletitlealign}% - \gdef\thefootnote{\arabic{footnote}}% - } - -\def\printWarning{% - \mbox{}\par\vfill\par\bgroup - \fboxsep12pt\fboxrule1pt - \hspace*{.18\textwidth} - \fcolorbox{gray50}{gray10}{\box\warnbox} - \egroup\par\vfill\thispagestyle{empty} - \setcounter{page}{0} - \clearpage} - -\long\def\finalMaketitle{% - \resetTitleCounters - \def\baselinestretch{1}% - \MaketitleBox - \thispagestyle{pprintTitle}% - \gdef\thefootnote{\arabic{footnote}}% - } - -\long\def\MaketitleBox{% - \resetTitleCounters - \def\baselinestretch{1}% - \begin{\elsarticletitlealign}% - \def\baselinestretch{1}% - \Large\@title\par\vskip18pt - \ifdoubleblind - \vspace*{2pc} - \else - \normalsize\elsauthors\par\vskip10pt - \footnotesize\itshape\elsaddress\par\vskip36pt - \fi - \hrule\vskip12pt - \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi - \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi - \hrule\vskip12pt - \end{\elsarticletitlealign}% -} - -\def\FNtext#1{\par\bgroup\footnotesize#1\egroup} -\newdimen\space@left -\def\alarm#1{\typeout{******************************}% - \typeout{#1}% - \typeout{******************************}% -} - -\def\titlespancalculator#1#2#3#4{% - % break count - \@tempcnta=#4\relax% - % pagebreakcount increment - \advance\@tempcnta by 1\relax% - % title page height - \@tempdima=#1\relax% - % Page height - title page notes height (only for first break) - % Page height - textheight (for remaining breaks) - % Page height - title page notes height - \@tempdimb=#2\relax% - % Remaining title page height - \advance\@tempdima -\the\@tempdimb% - % Checks if remaining title page - % height less than textheight - \ifdim\the\@tempdima>#3\relax% - \titlespancalculator% - {\the\@tempdima}{#3}{#3}{\the\@tempcnta}%Break again - \else% - % Save break count and exit. - \xdef\savetitlepagespan{\the\@tempcnta}% - \fi% -}% - -\long\def\myfor#1#2#3{% - \@tempcnta=#1\relax% - \ifnum#1<#2\relax% - \advance\@tempcnta by 1\relax% - #3% - \myfor{\the\@tempcnta}{#2}{#3}% - \fi} - -\long\def\getSpaceLeft{%\global\@twocolumnfalse% - \global\setbox0=\vbox{\hsize=\textwidth\MaketitleBox}% - \global\setbox1=\vbox{\hsize=\textwidth - \let\footnotetext\FNtext - \printFirstPageNotes}% - \xdef\noteheight{\the\ht1}% - \xdef\titleheight{\the\ht0}% - \@tempdima=\vsize - \advance\@tempdima-\noteheight - \advance\@tempdima-1\baselineskip - \xdef\savefpageheight{\the\@tempdima}% - \setbox2=\vbox{\titlespancalculator{\titleheight}% - {\savefpageheight}{\textheight}{0}}% -} - - \skip\footins=24pt - -\newbox\els@boxa -\newbox\els@boxb - -\ifpreprint - \def\maketitle{\elsarticleprelims\pprintMaketitle} - \else - \ifnum\jtype=1 - \def\maketitle{% - \elsarticleprelims% - \iflongmktitle\getSpaceLeft - \ifdim\noteheight>0pt% - \advance\@tempdima-1.35\baselineskip - \fi% - \global\setbox\els@boxa=\vsplit0 to \@tempdima - \box\els@boxa\par\resetTitleCounters - \thispagestyle{pprintTitle}% - \printFirstPageNotes - \ifnum\savetitlepagespan>1\relax% - \myfor{2}{\savetitlepagespan}{% - \global\setbox\els@boxb=\vsplit0 to \textheight%\@tempdima - \box\els@boxb} - \else% - \fi% - \box0% - \else - \finalMaketitle\printFirstPageNotes - \fi - \gdef\thefootnote{\arabic{footnote}}}% - \else - \ifnum\jtype=5 - \def\maketitle{% - \elsarticleprelims% - \iflongmktitle\getSpaceLeft - \ifdim\noteheight>0pt% - \advance\@tempdima-1.35\baselineskip - \fi% - \global\setbox\els@boxa=\vsplit0 to \@tempdima - \box\els@boxa\par\resetTitleCounters - \thispagestyle{pprintTitle}% - \printFirstPageNotes - \ifnum\savetitlepagespan>1\relax% - \myfor{2}{\savetitlepagespan}{% - \global\setbox\els@boxb=\vsplit0 to \textheight%\@tempdima - \twocolumn[\box\els@boxb]} - \else% - \fi% - \twocolumn[\box0]%\printFirstPageNotes - \else - \twocolumn[\finalMaketitle]\printFirstPageNotes - \fi - \gdef\thefootnote{\arabic{footnote}}} - \else - \if@twocolumn - \def\maketitle{% - \elsarticleprelims% - \iflongmktitle\getSpaceLeft - \ifdim\noteheight>0pt% - \advance\@tempdima-1.35\baselineskip - \fi% - \global\setbox\els@boxa=\vsplit0 to \@tempdima - \box\els@boxa\par\resetTitleCounters - \thispagestyle{pprintTitle}% - \printFirstPageNotes - \ifnum\savetitlepagespan>1\relax% - \myfor{2}{\savetitlepagespan}{% - \global\setbox\els@boxb=\vsplit0 to \textheight%\@tempdima - \twocolumn[\box\els@boxb]} - \else% - \fi% - \twocolumn[\box0]% - \else - \twocolumn[\finalMaketitle]\printFirstPageNotes - \fi - \gdef\thefootnote{\arabic{footnote}}}% - \else - \def\maketitle{% - \elsarticleprelims% - \iflongmktitle\getSpaceLeft - \ifdim\noteheight>0pt% - \advance\@tempdima-1.35\baselineskip - \fi% - \global\setbox\els@boxa=\vsplit0 to \@tempdima - \box\els@boxa\par\resetTitleCounters - \thispagestyle{pprintTitle}% - \printFirstPageNotes - \ifnum\savetitlepagespan>1\relax% - \myfor{2}{\savetitlepagespan}{% - \global\setbox\els@boxb=\vsplit0 to \textheight%\@tempdima - \box\els@boxb} - \else% - \fi% - \box0% - \else - \elsarticleprelims% - \finalMaketitle\printFirstPageNotes - \fi - \gdef\thefootnote{\arabic{footnote}}}% - \fi - \fi - \fi -\fi - -\let\@elsarticlemyfooter\@empty -\let\@elsarticlemyfooteralign\@empty -\def\@elsarticlemyfooteralignleft{L} -\def\@elsarticlemyfooteralignright{R} -\def\@elsarticlemyfooteraligncenter{C} - -\def\myfooter[#1]#2 %*% - {\gdef\@elsarticlemyfooteralign{#1} - \gdef\@elsarticlemyfooter{#2}} - -\def\myfooterfont#1{\gdef\@myfooterfont{#1}} -\myfooterfont{\footnotesize\itshape} -\def\ps@pprintTitle{% - \let\@oddhead\@empty - \let\@evenhead\@empty - \def\@oddfoot - {\hbox to \textwidth% - {\ifnopreprintline\relax\else - \@myfooterfont% - \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteraligncenter% - \hfil\@elsarticlemyfooter\hfil% - \else% - \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteralignleft% - \@elsarticlemyfooter\hfill{}% - \else% - \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteralignright% - {}\hfill\@elsarticlemyfooter% - \else% - Preprint submitted to \ifx\@journal\@empty% - Elsevier% - \else\@journal\fi\hfill\@date\fi% - \fi% - \fi% - \fi% - } - }% - \let\@evenfoot\@oddfoot} -\def\@seccntDot{.} -\def\@seccntformat#1{\csname the#1\endcsname\@seccntDot\hskip 0.5em} - -\renewcommand\section{\@startsection {section}{1}{\z@}% - {18\p@ \@plus 6\p@ \@minus 3\p@}% - {9\p@ \@plus 6\p@ \@minus 3\p@}% - {\normalsize\bfseries\boldmath}} -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% - {12\p@ \@plus 6\p@ \@minus 3\p@}% - {3\p@ \@plus 6\p@ \@minus 3\p@}% - {\normalfont\normalsize\itshape}} -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% - {12\p@ \@plus 6\p@ \@minus 3\p@}% - {\p@}% - {\normalfont\normalsize\itshape}} - -\def\paragraph{\secdef{\els@aparagraph}{\els@bparagraph}} -\def\els@aparagraph[#1]#2{\elsparagraph[#1]{#2.}} -\def\els@bparagraph#1{\elsparagraph*{#1.}} - -\newcommand\elsparagraph{\@startsection{paragraph}{4}{0\z@}% - {10\p@ \@plus 6\p@ \@minus 3\p@}% - {-6\p@}% - {\normalfont\itshape}} -\newdimen\leftMargin -\leftMargin=2em -\newtoks\@enLab %\newtoks\@enfont -\def\@enQmark{?} -\def\@enLabel#1#2{% - \edef\@enThe{\noexpand#1{\@enumctr}}% - \@enLab\expandafter{\the\@enLab\csname the\@enumctr\endcsname}% - \@enloop} -\def\@enSpace{\afterassignment\@enSp@ce\let\@tempa= } -\def\@enSp@ce{\@enLab\expandafter{\the\@enLab\space}\@enloop} -\def\@enGroup#1{\@enLab\expandafter{\the\@enLab{#1}}\@enloop} -\def\@enOther#1{\@enLab\expandafter{\the\@enLab#1}\@enloop} -\def\@enloop{\futurelet\@entemp\@enloop@} -\def\@enloop@{% - \ifx A\@entemp \def\@tempa{\@enLabel\Alph }\else - \ifx a\@entemp \def\@tempa{\@enLabel\alph }\else - \ifx i\@entemp \def\@tempa{\@enLabel\roman }\else - \ifx I\@entemp \def\@tempa{\@enLabel\Roman }\else - \ifx 1\@entemp \def\@tempa{\@enLabel\arabic}\else - \ifx \@sptoken\@entemp \let\@tempa\@enSpace \else - \ifx \bgroup\@entemp \let\@tempa\@enGroup \else - \ifx \@enum@\@entemp \let\@tempa\@gobble \else - \let\@tempa\@enOther - \fi\fi\fi\fi\fi\fi\fi\fi - \@tempa} -\newlength{\@sep} \newlength{\@@sep} -\setlength{\@sep}{.5\baselineskip plus.2\baselineskip - minus.2\baselineskip} -\setlength{\@@sep}{.1\baselineskip plus.01\baselineskip - minus.05\baselineskip} -\providecommand{\sfbc}{\rmfamily\upshape} -\providecommand{\sfn}{\rmfamily\upshape} -\def\@enfont{\ifnum \@enumdepth >1\let\@nxt\sfn \else\let\@nxt\sfbc \fi\@nxt} -\def\enumerate{% - \ifnum \@enumdepth >3 \@toodeep\else - \advance\@enumdepth \@ne - \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi - \@ifnextchar[{\@@enum@}{\@enum@}} -\def\@@enum@[#1]{% - \@enLab{}\let\@enThe\@enQmark - \@enloop#1\@enum@ - \ifx\@enThe\@enQmark\@warning{The counter will not be printed.% - ^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi - \expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}% - \expandafter\let\csname the\@enumctr\endcsname\@enThe - \csname c@\@enumctr\endcsname7 - \expandafter\settowidth - \csname leftmargin\romannumeral\@enumdepth\endcsname - {\the\@enLab\hskip\labelsep}% - \@enum@} -\def\@enum@{\list{{\@enfont\csname label\@enumctr\endcsname}}% - {\usecounter{\@enumctr}\def\makelabel##1{\hss\llap{##1}}% - \ifnum \@enumdepth>1\setlength{\topsep}{\@@sep}\else - \setlength{\topsep}{\@sep}\fi - \ifnum \@enumdepth>1\setlength{\itemsep}{0pt plus1pt minus1pt}% - \else \setlength{\itemsep}{\@@sep}\fi - %\setlength\leftmargin{\leftMargin}%%%{1.8em} - \setlength{\parsep}{0pt plus1pt minus1pt}% - \setlength{\parskip}{0pt plus1pt minus1pt} - }} - -\def\endenumerate{\par\ifnum \@enumdepth >1\addvspace{\@@sep}\else - \addvspace{\@sep}\fi \endlist} - -\def\sitem{\@noitemargtrue\@item[\@itemlabel *]} - -\def\itemize{\@ifnextchar[{\@Itemize}{\@Itemize[]}} - -\def\@Itemize[#1]{\def\next{#1}% - \ifnum \@itemdepth >\thr@@\@toodeep\else - \advance\@itemdepth\@ne - \ifx\next\@empty\else\expandafter\def\csname - labelitem\romannumeral\the\@itemdepth\endcsname{#1}\fi% - \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% - \expandafter\list\csname\@itemitem\endcsname - {\def\makelabel##1{\hss\llap{##1}}}% - \fi} -\def\newdefinition#1{% - \@ifnextchar[{\@odfn{#1}}{\@ndfn{#1}}}%] -\def\@ndfn#1#2{% - \@ifnextchar[{\@xndfn{#1}{#2}}{\@yndfn{#1}{#2}}} -\def\@xndfn#1#2[#3]{% - \expandafter\@ifdefinable\csname #1\endcsname - {\@definecounter{#1}\@newctr{#1}[#3]% - \expandafter\xdef\csname the#1\endcsname{% - \expandafter\noexpand\csname the#3\endcsname \@dfncountersep - \@dfncounter{#1}}% - \global\@namedef{#1}{\@dfn{#1}{#2}}% - \global\@namedef{end#1}{\@enddefinition}}} -\def\@yndfn#1#2{% - \expandafter\@ifdefinable\csname #1\endcsname - {\@definecounter{#1}% - \expandafter\xdef\csname the#1\endcsname{\@dfncounter{#1}}% - \global\@namedef{#1}{\@dfn{#1}{#2}}% - \global\@namedef{end#1}{\@enddefinition}}} -\def\@odfn#1[#2]#3{% - \@ifundefined{c@#2}{\@nocounterr{#2}}% - {\expandafter\@ifdefinable\csname #1\endcsname - {\global\@namedef{the#1}{\@nameuse{the#2}} - \global\@namedef{#1}{\@dfn{#2}{#3}}% - \global\@namedef{end#1}{\@enddefinition}}}} -\def\@dfn#1#2{% - \refstepcounter{#1}% - \@ifnextchar[{\@ydfn{#1}{#2}}{\@xdfn{#1}{#2}}} -\def\@xdfn#1#2{% - \@begindefinition{#2}{\csname the#1\endcsname}\ignorespaces} -\def\@ydfn#1#2[#3]{% - \@opargbegindefinition{#2}{\csname the#1\endcsname}{#3}\ignorespaces} -\def\@dfncounter#1{\noexpand\arabic{#1}} -\def\@dfncountersep{.} -\def\@begindefinition#1#2{\trivlist - \item[\hskip\labelsep{\bfseries #1\ #2.}]\upshape} -\def\@opargbegindefinition#1#2#3{\trivlist - \item[\hskip\labelsep{\bfseries #1\ #2\ (#3).}]\upshape} -\def\@enddefinition{\endtrivlist} - -\def\@begintheorem#1#2{\trivlist - \let\baselinestretch\@blstr - \item[\hskip \labelsep{\bfseries #1\ #2.}]\itshape} -\def\@opargbegintheorem#1#2#3{\trivlist - \let\baselinestretch\@blstr - \item[\hskip \labelsep{\bfseries #1\ #2\ (#3).}]\itshape} - -\def\newproof#1{% - \@ifnextchar[{\@oprf{#1}}{\@nprf{#1}}} -\def\@nprf#1#2{% - \@ifnextchar[{\@xnprf{#1}{#2}}{\@ynprf{#1}{#2}}} -\def\@xnprf#1#2[#3]{% - \expandafter\@ifdefinable\csname #1\endcsname - {\@definecounter{#1}\@newctr{#1}[#3]% - \expandafter\xdef\csname the#1\endcsname{% - \expandafter\noexpand\csname the#3\endcsname \@prfcountersep - \@prfcounter{#1}}% - \global\@namedef{#1}{\@prf{#1}{#2}}% - \global\@namedef{end#1}{\@endproof}}} -\def\@ynprf#1#2{% - \expandafter\@ifdefinable\csname #1\endcsname - {\@definecounter{#1}% - \expandafter\xdef\csname the#1\endcsname{\@prfcounter{#1}}% - \global\@namedef{#1}{\@prf{#1}{#2}}% - \global\@namedef{end#1}{\@endproof}}} -\def\@oprf#1[#2]#3{% - \@ifundefined{c@#2}{\@nocounterr{#2}}% - {\expandafter\@ifdefinable\csname #1\endcsname - {\global\@namedef{the#1}{\@nameuse{the#2}}% - \global\@namedef{#1}{\@prf{#2}{#3}}% - \global\@namedef{end#1}{\@endproof}}}} -\def\@prf#1#2{% - \refstepcounter{#1}% - \@ifnextchar[{\@yprf{#1}{#2}}{\@xprf{#1}{#2}}} -\def\@xprf#1#2{% - \@beginproof{#2}{\csname the#1\endcsname}\ignorespaces} -\def\@yprf#1#2[#3]{% - \@opargbeginproof{#2}{\csname the#1\endcsname}{#3}\ignorespaces} -\def\@prfcounter#1{\noexpand\arabic{#1}} -\def\@prfcountersep{.} -\def\@beginproof#1#2{\trivlist\let\baselinestretch\@blstr - \item[\hskip \labelsep{\scshape #1.}]\rmfamily} -\def\@opargbeginproof#1#2#3{\trivlist\let\baselinestretch\@blstr - \item[\hskip \labelsep{\scshape #1\ (#3).}]\rmfamily} -\def\@endproof{\endtrivlist} -\newcommand*{\qed}{\hbox{}\hfill$\Box$} - -\@ifundefined{@biboptions}{\xdef\@biboptions{numbers}}{} -\InputIfFileExists{\jobname.spl}{}{} -\ifnonatbib\relax\else - \RequirePackage[\@biboptions]{natbib} -\fi -\newwrite\splwrite -\immediate\openout\splwrite=\jobname.spl -\def\biboptions#1{\def\next{#1}\immediate\write\splwrite{% - \string\g@addto@macro\string\@biboptions{% - ,\expandafter\strip@prefix\meaning\next}}} - -\let\baselinestretch=\@blstr -\ifnum\jtype=1 - \RequirePackage{geometry} - \geometry{twoside, - paperwidth=210mm, - paperheight=297mm, - textheight=562pt, - textwidth=384pt, - centering, - headheight=50pt, - headsep=12pt, - footskip=12pt, - footnotesep=24pt plus 2pt minus 12pt, - } - \global\let\bibfont=\footnotesize - \global\bibsep=0pt - \if@twocolumn\global\@twocolumnfalse\fi -\else\ifnum\jtype=3 - \RequirePackage{geometry} - \geometry{twoside, - paperwidth=210mm, - paperheight=297mm, - textheight=622pt, - textwidth=468pt, - centering, - headheight=50pt, - headsep=12pt, - footskip=18pt, - footnotesep=24pt plus 2pt minus 12pt, - columnsep=2pc - } - \global\let\bibfont=\footnotesize - \global\bibsep=0pt - \if@twocolumn\input{fleqn.clo}\fi -\else\ifnum\jtype=5 - \RequirePackage{geometry} - \geometry{twoside, - paperwidth=210mm, - paperheight=297mm, - textheight=682pt, - textwidth=522pt, - centering, - headheight=50pt, - headsep=12pt, - footskip=18pt, - footnotesep=24pt plus 2pt minus 12pt, - columnsep=18pt - }% - \global\let\bibfont=\footnotesize - \global\bibsep=0pt - \input{fleqn.clo} - \global\@twocolumntrue -%% -%% End of option '5p' -%% -\fi\fi\fi -\def\journal#1{\gdef\@journal{#1}} - \let\@journal\@empty -\newenvironment{frontmatter}{}{\maketitle} - -\long\def\@makecaption#1#2{% - \vskip\abovecaptionskip\footnotesize - \sbox\@tempboxa{#1: #2}% - \ifdim \wd\@tempboxa >\hsize - #1: #2\par - \else - \global \@minipagefalse - \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% - \fi - \vskip\belowcaptionskip} - -\AtBeginDocument{\@ifpackageloaded{hyperref} - {\def\@linkcolor{blue} - \def\@anchorcolor{blue} - \def\@citecolor{blue} - \def\@filecolor{blue} - \def\@urlcolor{blue} - \def\@menucolor{blue} - \def\@pagecolor{blue} -\begingroup - \@makeother\`% - \@makeother\=% - \edef\x{% - \edef\noexpand\x{% - \endgroup - \noexpand\toks@{% - \catcode 96=\noexpand\the\catcode`\noexpand\`\relax - \catcode 61=\noexpand\the\catcode`\noexpand\=\relax - }% - }% - \noexpand\x - }% -\x -\@makeother\` -\@makeother\= -}{}} -%% -\def\appendixname{Appendix } -\renewcommand\appendix{\par - \setcounter{section}{0}% - \setcounter{subsection}{0}% - \setcounter{equation}{0} - \gdef\thefigure{\@Alph\c@section.\arabic{figure}}% - \gdef\thetable{\@Alph\c@section.\arabic{table}}% - \gdef\thesection{\appendixname~\@Alph\c@section}% - \@addtoreset{equation}{section}% - \gdef\theequation{\@Alph\c@section.\arabic{equation}}% - \addtocontents{toc}{\string\let\string\numberline\string\tmptocnumberline}{}{} -} - -%%%% \numberline width calculation for appendix. -\newdimen\appnamewidth -\def\tmptocnumberline#1{% - \setbox0=\hbox{\appendixname} - \appnamewidth=\wd0 - \addtolength\appnamewidth{2.5pc} - \hb@xt@\appnamewidth{#1\hfill} -} - -%% Added for work with amsrefs.sty - -\@ifpackageloaded{amsrefs}% - {} - {%\let\bibsection\relax% - \AtBeginDocument{\def\cites@b#1#2,#3{% - \begingroup[% - \toks@{\InnerCite{#2}#1}% - \ifx\@empty#3\@xp\@gobble\fi - \cites@c#3% -}}} -%% -%% Added for avoiding clash with cleveref.sty -\@ifpackageloaded{cleveref}% - {} - {\def\tnotetext[#1]#2{\g@addto@macro\@tnotes{% - \refstepcounter{tnote}% - \immediate\write\@auxout{\string\Newlabel{#1}{\thetnote}} - \def\thefootnote{\ifcase\c@tnote\or$\star$\or$\star\star$\fi}% - \footnotetext{#2}}} -%%% - \def\fntext[#1]#2{\g@addto@macro\@fnotes{% - \refstepcounter{fnote}% - \immediate\write\@auxout{\string\Newlabel{#1}{\thefnote}} - \def\thefootnote{\thefnote}% - \global\setcounter{footnote}{\c@fnote}% - \footnotetext{#2}}} -%%% - \def\cortext[#1]#2{\g@addto@macro\@cornotes{% - \refstepcounter{cnote}% - \immediate\write\@auxout{\string\Newlabel{#1}{\thecnote}} - \def\thefootnote{\ifcase\c@cnote\or$\ast$\or - $\ast\ast$\fi}% - \footnotetext{#2}}} -} - -\def\textmarker#1#2{\textcolor{#1}{#2}}%*% -\endinput -%% -%% End of file `elsarticle.cls'. diff --git a/mohit/figs/comp_filter_three_hinf.pdf b/mohit/figs/comp_filter_three_hinf.pdf deleted file mode 100644 index e142d48..0000000 Binary files a/mohit/figs/comp_filter_three_hinf.pdf and /dev/null differ diff --git a/mohit/figs/comp_fir_ligo_hinf.pdf b/mohit/figs/comp_fir_ligo_hinf.pdf deleted file mode 100644 index 5877f4b..0000000 Binary files a/mohit/figs/comp_fir_ligo_hinf.pdf and /dev/null differ diff --git a/mohit/figs/fir_filter_ligo.pdf b/mohit/figs/fir_filter_ligo.pdf deleted file mode 100644 index 9499bd0..0000000 Binary files a/mohit/figs/fir_filter_ligo.pdf and /dev/null differ diff --git a/mohit/figs/fusion_super_sensor.pdf b/mohit/figs/fusion_super_sensor.pdf deleted file mode 100644 index cdcfda6..0000000 Binary files a/mohit/figs/fusion_super_sensor.pdf and /dev/null differ diff --git a/mohit/figs/h_infinity_robust_fusion.pdf b/mohit/figs/h_infinity_robust_fusion.pdf deleted file mode 100644 index efde504..0000000 Binary files a/mohit/figs/h_infinity_robust_fusion.pdf and /dev/null differ diff --git a/mohit/figs/hinf_filters_results.pdf b/mohit/figs/hinf_filters_results.pdf deleted file mode 100644 index 57005c7..0000000 --- a/mohit/figs/hinf_filters_results.pdf +++ /dev/null @@ -1,1581 +0,0 @@ -%PDF-1.4 -% -1 0 obj -<< -/Producer (Apache FOP Version 2.4.0-SNAPSHOT: PDFDocumentGraphics2D) -/CreationDate (D:20201116103433+01'00') ->> -endobj -2 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -3 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -4 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -5 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -6 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -7 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -8 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -9 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -10 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -11 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -12 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -13 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -14 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -15 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -16 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -17 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -18 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -19 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -20 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -21 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -22 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -23 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -24 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -25 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -26 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -27 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -28 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -29 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -30 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -31 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -32 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -33 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -34 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -35 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -36 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -37 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -38 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -39 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -40 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -41 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -42 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -43 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -44 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -45 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -46 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -47 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -48 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -49 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -50 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -51 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -52 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -53 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -54 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -55 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -56 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -57 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -58 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -59 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -60 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -61 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -62 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -63 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -64 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -65 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -66 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -67 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -68 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -69 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -70 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -71 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -72 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -73 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -74 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -75 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -76 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -77 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -78 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -79 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -80 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -81 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -82 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -83 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -84 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -85 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -86 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -87 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -88 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -89 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -90 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -91 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -92 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -93 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -94 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -95 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -96 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -97 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -98 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -99 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -100 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -101 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -102 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -103 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -104 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -105 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -106 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -107 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -108 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -109 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -110 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -111 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -112 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -113 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -114 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -115 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -116 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -117 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -118 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -119 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -120 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -121 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -122 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -123 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -124 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -125 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -126 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -127 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -128 0 obj -<< /Length 129 0 R /Filter /FlateDecode >> -stream -xͮ47n$`#@z&hdC @b1+#{v>է~O]L$#oǁO^_W>_kZ[>{ׁׯ9ȩ'uzǿkG/͙__o?.GU\?GOOW~_R>x?kad ߖu5 -Յq>-!5>z-?s10摞=7|1A-1ǖm[c=V;ߖ/\w֞H|K|aK|Ŭգ>z-?wQa| ߖ0^:~| ߖL:M~| h;%|~[~>Ύ>z-?w>z-[ٖ!֐-yn<ëUEWo?z]mkٿsNyW?w幻u!ye+BU ۘ7H6ԯiOM{cdc2JOm$8֕V-1w(?|@;ɻ{_K:?ecj_q$=QOm{#pIzv`ɻyo.t>y1oK-w;F:>#pƼ7Fƞ('68swOm{#0ŵ1iOm{#pΜjo{v3Fuҟncsim}nSs˜-wk[c;wގu>y1ÌӚsmKw9kzNwb6J/lƼ7 -׮ɻyoM%}1wFSflƁ_:w29>Ƽ7O *35^Nm{0 -^w1vL?x)-_m?MyoeH]Fݦ7V %Νݦо1:Gsݦ됾F ->x76M]cZ0wx{h#O" Ի遗=).&"nS~z -f]…ZeӇӔ#^= -G^աO qy2?uדO]sO];b~ꪻKo_WuG}ϣgouϜ\1Q pSʩX;Pv)cC*v||X;v)_cCt?e}T; v! cC쟏?k~>֎V>t?e}4T;ev!cCv̢YEk2>֎7^{kvmw~qMPb%Ngڐc .ڇkv>ԆXt{6z3aC׏efnfjC/s1P^m>s[ANه v>ӆ[ه v>ԆX36R5aWC׏jn;bjC,Ls Png mCmon;`iímCmnn;_jC,ssPbyێׇv>ԆX6||溷9!͹n} r9!ɹj} sWyk{3XwY>h| Wuߌ[`whƧBf8JwM}^7OGhrOD-ū -fK,fBq،2K?hF,K?iF(tk/K+͸R -uQ4#Q5~ЌX>)6㷅~ЌX8)6%~ЌX2)6œ~ЌX,)6e~ЌX&)6~ЌX )6㷥~ҌP֌_IA3bQ،ߖGI3B9[3~Yk[=،VfA3b%،dA3b ،VcA3b،aA3bݥ،V`I3Bť[3~Y{b+~Yu'Une4#Wml^JfĚJfjJf:Jf -JfIf&f~O%ݚIv[,ZM#bЈm4F\߈X)4ⷅ~ 3ݶbW'$mwř~1U~W'Kg_r]Ax[St~Ygҟ:?.\UqD#?v|<ClLJ$=v|DClLJ$<3o:pkgN%:v|XClLJ%a9v|`ClLJN&!8v|hxClLJ&6Éo :pkg' qdh"C߰"b;>tB &"CG"b;>tF "Cp!n)+"63 n97 ؎T|ÀI7؎U|C~Y7Ї؎V|{i7[;>s\ !Cńŷ¾ ӎG:xKV|,ZCWDhŇN-^y=ۏ[$n[9xH6^>rp --?rrʎg.YRſ_Ri>=? fV -іC._mڎQ٤%??]*1e;vjW,k̂/^2K]O_3>FCsR{?H#ҁAF*<վMm[ / ˫h_ -w_+fb[&]2cG6Ӂ^?\m2RcIG1ܻ=0Z~)-?^_?_xvϵ#wԗvϵ#e5׎v`9RKVROmf`IC6ڌw2F?~0g|kSlVz˗= hN11b}%0q3_֛gk1sNI>ߓ-#pfs?H&hAL9T1Sw\̩d5}e~ /DBeƳ)Z}WN[Fލk}!g\\RXJ_UZ+CbaZ294ne [Qm^h[.!1X4Ѧkl8̨Ʒ>yq̦i&q"%~XҰ4f&4(d -%ކI-E4C@s5+솱Fmb F˴$_+&oc1 :X1yh]վ#%o]y -)oxJ3MX2yURFCX|;,s)`zXEyf|kJMͤ+%?WiCS5gc8WN35}܎ڰLf$?Sci떮z203eqSd1᣸zb1eX']S5QWtMՐ0g)Wk/͑ly΂;씸%bگ<!e|6#f2Y]y$nTsX/mwW8Yu~/s˪! z ;i8v|޹fT!]f KӬX4I_gvX/]f=9k5e8J;ά!Aٓ%˪ى5M8k90xRl -˨Q~}&>qFwm# dMz.fϨPO2i#/e֐xQkHp/sY/.`+HYc8v1wV 6nڥXzYH^}8ƚoo,RXΤyY۰q7R9Mu .Z]sNpf\ˮR\zbc-g,w|ZRw.+Xx>-;ˮ)uN_63iא2eהhCζ]%xEɚvMMJ̚g\1d@YSZҴ7Qeօ>#V0_v]ʼn%K4lJtyoҺ kN {Ɉ|6%4t6$xoD4&Az6$Գo˰)-T %IRg -/SZkj>8O 1~9Et\+븜pHK˥ Q纼é$bkmhҴm2ESLD֗/=N`fHe+j -N^IjV*xӗUcjˌUCQeoV2oӪ)au,u6.уYCji`z5M_6w?"K3k4<Y3knkάa`Iřu8וeP8h 85ƌ'Wqfhbtu1Gg ;'ήvc[q0^.VQ]B=7q8]l-/J]31.6c9s BC#VQ]WԷeؕ^O|Ԋ %c>Q@ 2kqaRsa^z -MB0()t؅u׃g9csz cx8"i]S6Cq(W9esD=™) cqkrJ)3ʹ*i+mg<Ā2mى3nx0,eVgܜjaVMqcd8:Җ.KjH73nOۨ:bɑ˶Ƒ!kNg.c:g|E𾸋5+5&"xh{ŚApkP3kTsO[ -5'J@=R>)y$r[_j'P(u*XōNă9Ͱv›-y`7RlVT)dl; $s`3jHnM־#%6MZ>4Q! dJ\qz -.CTT{܇HUOgDNt1T\ l/keؕVGna]pzaW@e _v` R'E #[zv$hZSr#t]kpz*UC+:S/b8Ee Iprm'sfBPG4Zfl4Zq?:cZ%=glz^mɗYC¢ ̦ˬ xLS][/k`mˮcdeˮ!1̑V[z5343lq5eF p9jҼ1k$ˮ-}-=>6O6k=.f%[-ך.Æ}gt_kug /^eԃ3pY6qmi``iٸh.ue{˨Ǵkfb²$kY9eOpMQWla1&ktMWl.#걫^SdۡS05a59_8eb L)sjrf)m[. RodD]՞:]i~#Rz5& !$m, 0$h350(C{蛗SX8{cz|0 g6|\7X m'ۚ37^~z+m{ȫ[p -֞38зqY?Y/Sgsŏp%e,rYqZg=wKl:lj6[;],`u -Rc^찮kO -Cm TNsQj+6IUgχZR#]ZD˟_fn^"'1c8gɻ-fyMj ĢVLrj++M[]mEYa{至|šFu?̙0-;gߑe\#g~%mYK}Lwf!)L}hK[Ӻ ]cj`禓N "J,5jLfp4()eOi$ge(^}Kpt8ۇ5XByV.كgGoof! .ל7ۈ,iŰ% c8D0a5n`:gn!9E.bYms,C.çVgrSPmg 4̖qa5sJc.ݬa$EQei -i-B[*$ImQT[f5 :zrqmLT\%n*͌[$SbS -mkO켪-E (iGi~y4,#Wmd^Kemv_] -}ݎWR|[c' Rt[rma>$>|~_n]4F19p7֥(7&2b0ᤓM凩F^jd18i?tf{*hbat?SjW+?Ăo)h?3Qp?\:,`xf<>x0kŶOzrovsOI`iyBޘ I7Ud1ox,+SfuE13֣qil;;|efa1)qa 2Կ\`]ǜe]'f:?EW㾵+Wf♜ruC˂t-Gi6Y* ׺~fr|;_Gi]Ԟn?ThB옧aʐiSB#w\sX-.O83|j3h`Z~jSqntB1.q^Mފgv+ֶ;3Pۍtǎ鸼~JJ~KS͢~2%7ʶ7F -8֊Y1# -oV6 f{7s5^Q>j'y3}33%8u{f8#Mg6tI;5ʝs]nand|*Wֱ&}fJE%r%eI*4*fVy7yca#w,pQfc ,gC->uu2)-<ݬ!G-F^>ygػ5fQƍ3a=}ю1v 6Jq>bHEg*\EԖRݼ t4ukq{މƻyxpB=63V-Q9@su0Q|e Xi\ڲr`<ǽDj׼L]z2|W<@V3k~N(eă71mϞ}׬Ϥ]1[sotvmYF1fvVDLƵG /a~c fQǔ^5uI/n^};4GmfLj^Ss -k.8)֮~;Zq2`~q8aZ\K5Xi`RJO ǘ62ve8a @[sp'!md8IFwqzM혍-{,Z:D cB1Vpf{,3Bl\x/֮)r_V-)qwN OIG.ڕ:A1 Kogae=#Բ2`$!.}Yo`k3VZ ^] &:wf8zԺK> -cPeV3YLxLoND6.tXMV@׼853-M֦QMhnKCLg "И.X.+Vx˶p,3Uak[lIQj!{(>jx\VԴ~] ϯnLGm۶t`͙(#}tHgufvr|kUXrmGu, d ngj6Zغb `r-[:aUg9}s"vu՜W&3 A.r}XieSk8ۯ:J\H5HjrA}(S8W0Lsa}&T33}戳, -oSl6Lyu}vL*1G:,3cm_[."sgv˹t "sOeb>a.V mtXT.H>t1iZXtmvtSZˤcɽS?S ¶"(]~3q߫\@_VC\@5\vq4Wd p״ &S̾n rr~.ƻv6X8r\}س3F!~X_i3ѷ||F**rfDŽ|,l_%s1Y`)=LM|Kgha(#햯чSՐ#yIG.V\妹p>Ap3݂ep>j\æ֮ٞgY'όbk=r++uaV3OYf#bSsQNj.*6ݾXtb6Gfr l 7YvU2fs|Wsgs|,yΦJx>+ X:{.JX \<5B(r6W,9ꀇ3.JXqj3&a>.w.ϪX$ M+;Dx>VHV2XM -]8%U04G\1c v۷vM淺G(qg+QvvGm`MzY(Y۲.ϊt=]Ϙ+0 裆Wm>jXs>jļG=.as33P2 LbuĚ_hPhO 8($4}BQKP e2%wP(HPBQ;2߱Pa8O4<$ /h(2UEQl(j<=P&B2@nPVf5>gj:QeZp;#hͰMeZcIG2)N0QN9LA4QQuω2C]Dٳ*F΃( LӁG)CE;y6ңLEDYQ*7ųw4_>n(ӎrdZ5P&!.>bAM4(+,Ԙ/^FWy j<1+nĀ2hG'Wă-R84JQ=Cy*Rcex¡[R#t euQ: erpZurIV|K/) -=9vI%7x M|5 B/?4ih)jh7O¬ E :Z2L RPqHQèYV#eo8R<<5*:HRX4`lؕGIQ?w&E0o[IF'g=N -\1X6 Y9=e,f -c=:%Ϫ )j -+l>n)j̭m3ja@šb>cZSq(chSXeGMi5al0Uqpw:vqjW,;! ŴtjS԰,N,A5-IlCxEhaK@rdi=E n,u?q?,mOi%Upɟ.[ms:?e+7TcO q~Ae+r-L3wR9iC- qPQLK_kʶD3r*JrUŊt`U wDa V˕o#Y):*mXʎY:Uj@VQkpfUg*j()29ɧ&z򸱫x/*jMj}ѫqgPƀ๔5X=En;=S9aE°1#'}<ĪXjAX]<ƪzrA&Fղadeɉ$!OZpOyz7˪ze:eff}x^g*YxKDbz<,P|x@Z|sOyXuVVjeaIntbS䀶F|U bDgсX6f܇mC#2O-V `XY'ꪮ)0rpeA%ڞG\Q˖7>r  먙Z}(WFFPXQ)F,Vt+ a>!+t~z uehu\TRveJJT)8'rZpW Ž1ŵ6+jxǍxU,}a|}!,"o^1{ev7<"CIoy]U2UE^E(ǾvLٌSs~UR<1v1a畊 bzHN4+)v +0=8x mbd(?x<ˢM+MGa1uCYXLga33аsv1jOέӳ@,W+U"/,,)l% &@-/7*V{qbYP5Wv - -`,jOa?94C9f1[3.|p7:ٙĀDz8:B]/вxB4njPyD`Va [vNDf% -Y獙Ś2K1^whk@vWj֜#76Y9WW,/PnDg\Yv.u45f"=˪bd('"AŻ)ŝTN?`$x/#A19y=-N܌dxs⑶?KS60@iecLa=m[ŖU۲veպ -n|^y[hA,[VkjmپO1إKpә^[f*Gnqbtl[~' -n1t++2F];&+`l/y"rx1emlVڻ!U[ˉϼ]Hsm4Lwj%D2N[r"=~˪Jw]ӏpqz\ȁeۻF9 e\_01^\ܗxmveJNe#pharHفÕEāţ90lz@qxvЕNγøx -ʲ'ӸgwDr~<Z|%/"BWW[?nD.?-&mGrL ?;Y^K,!9(ɸ}6USxFVv\<3x. LUzlvXm sd1%kx\^3a78G'2йuZ -~xPa讫vh ]<DgE,7DWR񖺳J.x"!xFW2tz?va>ߛ|&X < a{g:"<ǸS񸁺#P] ,pWe5#&pu1Cu=ybc*0 b-g61#LbzxfBss f@!Š*@ΩX~b9O1<b0ԙt]Ԏc0>^sA TYNFsg`ѱB*+ ] qЁIwN:j#x%;I^ *$'^ԅkSË`OpuAC?Z{(^KsEkƋlt08m\y1|H^ cת퐀N(b B1׍!4/8/F*f$]{lXe _;rɣ}eXNcxr޿s_"f A7U󾒡QXX_XGi̠, -b ȯdA`/WPpth_LuO~Q;#2< v1/&mVOk2+bHӰ﹠?`bd , gÿBeV@bz ^cO*LhnQC?+0f谞mK0Ǭ.-?f ut]yAхƘTl$ yydQ;ċpcƈ?誉p>B{y9R>B tD΢]y#ۚ@p`u߸\w/e oowز\6!jgm#.2G ;n\`y҅c=3lw)`CƁ)`G$[<bu_ʞ=}θ (`ύ!<:uo>;MƓ(+Oc0Ĥj]"_(`R&K )`ԃ|Sf< -ҁp_&Rq-Ci)`Ɇ>^(`iS@c+.6 -ŭ\Pr| )IJK -GJĦy@ǍeuU'06l)˦@@8`,4kU^_LbX!3u&_̄G[|_\l pIr=)w,zW)EDr/<`U$ wb3q~n1-\,n1)8 $Fn< <(}1Oַk/:Fs}ųW= b!߼\A*b%xwٞ#WEEQv5Ex6r1_SKŴ'OR3g @Xx`\RAfybxS9.//Zx@w% WcTWyWD7ӽRab!WS^ &7z@0NИ^,C(zڀ.ǵ6)1p"A7F$*>P@?8Wj6pP/w^vHG#@"uixAz1-&K$^\{&p^|dEZۀ-Wb&6*!Fp<$aj0$3TfQVuPa|A\$Ѽ\\3V=@yصC]яZ}J`xUKe#W#E~ps>n/+ԧrxvv]˕`&L.yzd;qwqW],FCi2d@s1y:@ AlhފkDb -h.v~\sZŔ|n \`r$AX91|CL`iMߪ>ÓhU>r=nD.8k$3ǾT԰tuoV+/ImkBUdC]øH FbzCvas`%:t@\VUıΊU .5] .Vx`*vGpdrʦs9 *2SwS+E4Sr-2%7nJ  {Tp[x&2#o؎ rQs Dlq`r&ݢ /O^V=2ٲ5=n-٢ONc@l1 jrYaVwn5_P'|-[]/kQ*XmfOk/w aRru13]~#Y(YO`h!rV7Et[9 -Z<&`,"+UcZ^S #dEH-1+Pky,5p:8'DiД2b5=/R>zPE=6Sh Sxî0v^3&reD ,9\@"rkb]ܴr?yY܎XЂ.`cmhY z51XY|PYA>R+Feyt%yNOV 0Y5#Ta@b$L( X Y$ϵFFd|ޚi'"˖XwBMTȚLaL<kN͒XS~qX(Y׍eOv`1E]xkbFE-t,*V@b ׁ<ŏ,5Re# \ǝ2F_Y$Y55  +bsGWvM1ʯ+nKWx6z|5,a#I+X6Ի -DA~h +nݰWL''/2,pyE6Ed4`xwEM+N(x}KM^=TvXd$] n9%ga`4ys4,ebc]+*ByƕI+Ng<*6qC\\'pE3O\8ߊRc|$Y9鮑Lb[Q/x+!n 9N[e_BVaQ7k,ÃLJ͚EQ`{ܰV&#VNYd \͚~ܘV&1ZGZQbLP@#5EjJv0xYن`f牺fͬŸfm gEAS-2cի,>(<$ QXV&UX24sX6@V&etcE++SLbYXĂ-=*[y5=ʤ^v&C X[S2)幭<0kVYWWr0Ɛ-0cgpj3LJ;:z<ʤLb1yWG`<못3{lC&Z0q1 _U&UO.gV-qCVj*Ji2Kqy^I-MJg]^yX) LbY9CUE<^HU&?Q)=0@ U }:qB21=UӚ%SVR90QeRB25O)X5O]1Oe&/fn`)*Yaj4zI^OrTj kc0=TJ$h\voL)In!pFJJN2z'%; Tt͂1sSjO^15&e;gII⡕t X-Ѳ.v LQɘ}LuVzHI]_ R&a=ݛ'* `Rl7G]tCGbG1I]Q[a/S낟vԩqcGm8+;M`Gm̀rSmc.tԖ.CGZ9^Q[Ø&>GGZe=:jk7WS.t)-:jktYBrS$OWclCGڡH݀ڬyӨ:jk-CGZVGGm 7^Q[cQ({`ujY!%%ujQ[ 58uBbELQTQ[;2ѣ1T)G:C*58x|+=qGm--9:?:9Q[ϸ@{0Pn3t:RW2cOk>NGmۥb6BD r IHJZQ[k<>xQ[;|ԩIQ[Q[kClڙQ[c0ȣ$]!| ixvzt4n,{tyrԖV3aZsz$G l5 ZKoړ6ʆxrvi4?nਭ1F ܋*], -fƂq#Gm%7r0s,G?839jk6jDÇuFd{9tԖC% tX f=n設1Em]Y% ~H:jkㆎZf設;7ՙ6УT1ሗǍ%0k@rjNT?QҸթ˓Jߘ JeO%`6H qI\5LV@@G6-.>n設_cK7r$,6ԓV#rfLQ[bh~ݬ% Q[CQص6zrz7O֏/(i*A:n?UGq#GI+LI6ơ$e=n設1gCEgRy!Gm mƓ}S7R]e8pԖCqg|0&(i$ Q[;I{% 9jk󸑣:^QZ ਭe&=G (i~}<ʍjQp[*NQ[CjLsܠfXԼK)ǮqEQR\P<5JZm!=GVd@P$L'+Ԩ-UQ,#mLDqFI tLDp(IC_QHHSʌR`^Iz|IPzFI#@T2\+4Jf\Ԗq3}S`y3}VQj 4J{˩EӷNjFICFVX]|t@MfɅ(iu{(i̛zh427CA?"xhi`b%m0 Y6o~aFI£}31hm,*?ޖ޶FI(ԺB V2+͝Jc@(eT=@qQx%̥%+ -L=^Q҆17fc:a4,:I9f4_<34X j~槆ѸB֛ljx󧆙[M\YSiW(im፟ -bI*O<1J795}O( 0USx܈QJݥ1JqLk?A<1JZYew-O?eg!F'FI+L1JAOOW38'LK:+}܈QҞL% ul#FF_s(i]eU~B%% !b'Fƚڀ(inNFWp(w)amQüSJFIc,L#(D 3%-1 zFVɠn/(i OTQs`iƂy`jt% K%bisٸ&Jb42ǖ~ǵQae21JZ& =n(XJ@2Dwq`re,Պ㦧j0bi=ewBQ2N*Tخ(@OcB0$,60ʴў2هͿ7eR~9xe6-6L7)kEi5^i;+(Jyye:COhQaH -.(ѢLcUZa18zenHEÇiX#]5qEFrnF'k+>heZHj7o <-4l`EQ+dxZIâL~Ek#Z4{͍ 0(;gҶQQ ,(ӰM?((xVA= QȐ67Tin(i?n(jK3ǍeZ[SfEwqEfG (E״;Lk,bX_@Q1BUe,6!xeLs(`%pLc)R==NVdA9o,E3ω2%TNi@_YMo[8Q5Fi>JLw(o,SȀ2 w&f/VxqDH9ӇưL0wX4捿1g'R"gyRi,b7~V7`=MMX,( LO!<dZ@2 .)p?롉ʑLatZ<*"vznRI#5fxRT2w HQ<6i2q3Āj0(jSUK1`LKVWL\6zcz (8ozD1 A+˗Չr<'7\1<'Z'vZGɁe7k{N5Ɖ -jN5)&;N5=[=G_@paV#vyD%dI_!u’n(jhwIؑŃeVDc^v8rD&jDY -e3'^<m9Q,[$[D gMnǝE&शqIEV0r(FenD:뉂r?N,)`(³nlD -3vSxD$]~EL̓^^Dp8֦J\Ӵ$(bȕM -(Tǝ%S$ސ5FLa05WLU(LD1UwiT8#&O֭h1uVVusbL u4w.ODvF}0qD)`uX<=ǣZ╧D{:#&= N[P/ (/ʉbuH,Qs1; ~ǭ` (am |EPe?LJ'f -KQх"PA(+ŊsVC (b Xu{Dc<' UU(CS-ȉ:%;&V(ӑYU0Q,{YMw0QY*0QLSkD7+`@ǝ\%CFNL|DJd|fDqJ!S; H}U T |A>C?#2"&ў墛iHGԽ[A ef)Y`D-;:aVJqpT&$'D ~n@gxP%t[.ʞ<|Ür8Ghףk`^+7#Bq@ZųAڰ0Sk3$#vs=6-E s:<(ނ/UN %~4(:r$HDA42]GaPc<6ʱZPP8 @<  ejXy lQnߣ9 3q{E˻@20e?TĦ':ޑ*G6*0W?qBQeS{*'S x?52y-R?qX?54u:/mESg,R'tnaxDt/X?pӋZf1bC.R^Um?qz l?qaJ2Ó2>a|7GiiNֱq!ġ{V'։ Zs?q0ǍA?Yeg@ag<ƎYu:OԈʭJ -(ԅO~!@3T"̭;+ n)s)dϣÚ3C`&۔&Q|gg_7 ߱\@+Lt47ÃѴ2gHEiK< ڜpn4(s͚U[l0SݣeAq++ Pԁ5 D([>1HUۇ UAx1lUl<VrUQ{vZㆅ~w.;t*ZC,Vq#C6o*SK C.!cSs-jF5);scnqAoQ;uMƈӢ%lD11q|B+B6"c,ii(~Ĉc\<( Rsƃ?n(cD;N+ MAG -R7O5 5rO5C`Me})LaS(,'iHM$)h -H9z(mMN{JA+#P:<#B٪;̅t -()h#*Bu(1=7" у:zT38YV/z -š苑; )h>9*G]E6R:SE`':P*OR|=*TZTZ: -)y؁A[kU!T((NPr2)Tа݃BQx -G+,<"P8йHYD\"$*)MM'@Q}3,; -taeQk,O -ťY<*hlRg'oI -B-8 -H\1Ж~" ٧/B)T;{l Me޻ - < -C63͐Nzd?4uEx<֢lS5P*fz0 -}gTU9k@mY7܁RB$J -UޯSUHcr QiO.OH?szTUQc1%ϪBP,01QVUpWLxP -(mL*H+:o( -V^TeCQ -t*-ahvW#PŠ \b2K`VUff~V\":SP -UEưȭB|o*MGue8=*?= -*Tl]%g yҫ0;fQ$^BgzWq(hGVs< -oץB'iO)~gX@8)V1"?$b/> +=owX$Ym(_2O# -SH}ڑe%5 0+MFd%.r<+u6x+,urk>򭐍=NuMJPpP|\QѺuY=12\^e.dky}PJU/r/h %݉i+mŐrzQA ?Hl@-B\ˢ*rjpXq[vC: -ū©p -Bf ,e9j4G-uPmd0NfrP<iA=u3ўm7-W9JΕ@rtw8<~jW~ .O3P2z`w4Yu7}8)B;bu%i2@P78 d"Cp=(gU5iT*'q4}Aȑ(r4Ųy#dz5ゆՀƅzH8.hXx\/O䂆[(,j{DSbJ`ri~UKC>~u\T.-ᗥw:\U۱eHЇriy,g>OBEna< Mͅp.|QIHZsA{\:wN .hD oX ^Is.<4K&%6CCs҅=g' Ц|]= zq} uACv ,h(Σ2il낆yB$օvh.(b낦( .4Qo_V]pca@ g1ĖCy)}@=+Gځ(&  -./K [GwAZ8bZA`wՃUwAhl QqS|-n`fcBtl^zg;/|jgzuG;4ܖ;/hUuPa{ ,SK0^Ph6:b^K__ȒB&79y44*uIr/hR(_x?(_eDOҶReı-T3_IxGFMM/ޜv%@_9Η* _ڑqG1!* Qe3L|l_Ȼ|rКI&;¸ FC /!rK # U5TXӚ9& $4K-( Z./$+z5/!j/({BgXῚw_O~|!z;B|iT>nK[P7'[= Z^<|! @VI|!tl 0 - Xl7]&!$>%Kje1;*o`'9˟-ݮ_ywao@l&8( t4D"\ )ϭz4=\ _H͖y].qMfV+zgCv&'AL_ڇ ]2mHQr |?dĒ _U{M.Ae0ݓ 763/l&N3a,h.3$¾0I}𿐃.?:`]TbK" ʏbOCG9 ќD< H^ vn=  0+'*d] -G~u-6Hh=x(0 :k, L .И LHyOS -S'#JObA7%)Vh ֞$#sb`g"A^ ZA1g^SiVLY]8y*Hv$ua9n.rE.,i5" (sh0Ew3k!O;`NinЗ)ն3Ã)F MB:gS`3C5x^!LH$(tgUp`)}!.q!3[H$%7Gz(w "N֑u>@p`.T6=u%op` -Ӓ64(r~Drw#˧Z -?ha 0:9f_7, -8I?ɯA_0ɰ |*°)\Z釾ߣN8K$ - Cu"yLޞ(a8Y]bC|q$l`ۊޒl@A* ɔ99"T弐M`Eߚ0 -7c5 2ޑa` -e]J  =l+Jyפx92֘D"y0v;`JQ:`dJ\T0&..2 -mC<L~LEN,,[VOF,m^~@PF&;nV&vSPD%T0eXSb -R%eg4fxjS< S3`# 9 '@C|R0Y& `6N6tO[' efn"LtKN(&\)F(X)92@aMP0,Yy`v%m:`<L)]x9OCIC5u3}`$?>`X'ZNQc%9$ -4:`%ig%MLCSZ`7A4"Pd|aVF$e $Xll|i,/d#y$`il:`AOHAF 0O" lA6]njD-[۝G b6|eiŅ"Cy<L\,iky`R 龜ZLa7 !ع3#Ce=W&X|  lz@-e80$H%Iǁ!DX?8ckRHC>V7vF63{̖ovsIG^]/ 7p d%,C`! ?oX`UjlY`" k]' ,#*H'LT i x[%!㘃܂@S%6$0"U2U53]1P`7Ged&OP< -L,yC^*rʌ,0 *Zuu]![7evdѼ,%# ;*p ,G&y&edC? " - ÂU2U.+hs;Y`Y{Vxe_.aCR+)" cR`K#߅Ye" r3 -\%'9.h:< OP~s1DU`4U&&M-`i`j&s/X` T{4qxj(00hCT⮱Odyjh Lx>lKh`@S -h`O|fi9J+AQ\DGa^"7C* q`>>h` -Wѹ7aJdAzȼR_@OSM&̪@ZK:h`aZ-2O Ln% L5Ɗ7u'Tc ҁyW @S i,40h< -L (0=1IUALS ;1#y4 =kyG -G6O"v?P`p@$TرkP`i.ayݹopz;w^Q`*kѕ(#j oNI]Smא^[?:-Y= -L5-x@qp(0Г0} |0rQ ג{(K LAD nq>U љ;_IOSm@A :P`mM#ңTCz< L%YMp~$0ZcVdLcIyj 2?$EO} 00^ӃTOy@`dCL5Ժ/̽Ƒ@` o5–&JL؃i, 0@ 9`l7'x42M3ThCPg&f`j 0Pex|*3jhJ|c`=L%6n#r'A=hM 93RОT{M~f$T 2s^/p0͢^$yjHʍ -?KddK@t jޣSiM4}ORSHjq_ /gQzKQw.TSl__6z{_Mk,ejy_Rm%1j%ƫG`9E5 ֐uE ܎/IvFƏg܇r4~tp)+T+8:_FQ[^K%tE! H#1'TkLCDV\703࿨ î(ZwkQhw/Js%6/ЌZו3Qw0࿨-6wh]nląZy/J26`cQO<,2<4t3/qݗhyL)3 }>n8X}0Iұ/:xRn&\8iq_LnX?}y^V2;2fjrapXx`΢3mXQ+s0ӴuL^tI 0ffƢQ+&w8O3Mc+7Ȟ0~fZ'ˍJQV.vf}`aFƿnQz<֬pl^/HFB8wJ-Z3Msf(CǺm0=`aGhT{Wǿ:.;WJ/]kڤz>_hEOڢjop/Y_}t߯J}/k˽7* A#'gH3/QgׯFToL);7тeAU70 7O}8Ѐg,+'XOx>՗c4IF ܿ]%_h%V޳ O&߉ekWOpqjߌ3[NG/F3><F?/i`&|;Y_ wq;_ :k"8;>䯏{UW;)_ ꚴ'lm4Mh9u1*p0MwFӾ> &|;|}&F ;l>|}*FꊮM跆E}gyG5O(O8gc fo 1jaKf6o }L{7>|}B N跆YɅ9z9N<5o 2,dN跆Y)::ge鄏~k8_q*)o 2R N跆YGV);=+?]=qa} Ko `qU%}++Ϻ/$ $KsiԻWꬢ뷿s}_xNo\Y{N/?./ޠl髿Kh9?ڟSw]gw];Nu=VEBtJ?nuw߭ﺲ[w뻮}ORns\5[Uh욿:qo/%m8qo/!m8~qkǯ:m8qp5m 8q$_+SǯKm8'qo/Dm8 q,M췍'5_~8~qm!뷍6_~8~qmo6Qܾ-ƫ}8GvG7HqI4,oǙMYw]j࣐q ||8>*>igG7(qʀTpV| |8Ro9w] q|T"|8> >JigG70(:q4q||8~g]`(jq  32oYQM8> -igyG7K(Uq 5 -4ZӓlKMOh|_Uxr G˓E/̮v-GiY|t4gŶ,n{_Q~l?h3pz+~ %v/=yќEԅSE. /]=9O~S-E~v?v{ \ nt|]R/>Y5` M?5{aٴ5ACDX9痫p? ˊsRlU_W/\ZKufQ_hu߯¥:^OR}UR?vrp?z -e% ^Ko7軌VG8qHp/ _hpI4+q/%yнW?tItk?~pɼQo~6Wك^?Q+K -i]r K۩dwGn?=2x{f|?2K]5HW?wlzݜ 'sY?:l%_30iMoOl ؇  ƁTY}'I?ٝM :=$ܐoPbk ,܏o|SkQgϥMƪg7L?}?~+wp&%,JA<>(%A)7ӰBUղZdMLʦ$!T`ɿW̉jM1 02pӪue*hRP[G&iee s׌^cզފ6TRZN 3V#H&K6 9#*ÔqpEY_0܍RQ[qڐK/xNd'\MY0ȍ<#~֔6A6֕7$DP[SZ=)7Zn aI4Mnzq-{2•&b\K2_&s-uEA* -y`ܛ"fPUXx^ԚP6fiJzaZ)Deq oMr/48ΩGPnm5s,?_/ Ja_(ZM$|~I&[A50ky1Ī ^oM޳BGӚgJ3mc[in~zk\S?3d -uޚS/W&E/2U%ʋ~4HZ_*aEwaEfM_*ia]_,N/Sjz|a -#Pھ l }n_Asjֳ2c^&h񣗹ik%/ZXbyƙy4MD!"}1d武=G0p, _|qܔ?KnA<ˬx}ZѪP-WM;+T|Zm0o?lxG¿h6#5^NE믉Vhz|z`󯲂-zEc*+RDx6ۿ<y3_ȗv̇?ۅo:تaE=>u~g@XTaaqheWYqؿ1rymbs/6^yӢW+>̿vj听_W4UGR vtZE/DѴa2s[aʺPa;vp[ퟏZl6F[wk_LjѢwco1|X.6od~l_)\qe[_I뷺+aMl̢Eov{/(.m_-e)g[`'SwhaM^Ư,οYzؾbqW&SamEۗ%}5oS8jEvk}&}d|y{=Z\zմOu햋k>jS2d٨5_I]'XOnZ\hdWeɯw5|~LCD7N ELj{TLï0m%T?(! Wٯ[y:` eXFQˇ}ҔMm g`!O\6rr-ھ%yqY"ӻ2hqWD~8,_ry|yX!^-,{hbmEӗd&hECЌLo l֢ˏc/| B0}ٴˎWiK/lu=Z\eⱘk7Coq_9+-Kx}l!jmc_)KV"TNJ/1ʱ//G+񺞙@+>V3֫:{oڐ@Wޫ-|jㇽV-{5,=_I, \~ jVٝV+e٣-hNG~wHi10g2%4{~=zZ<3MV9%Uvn˾G6%3Kj픫6-ڽv-ihyIǡDzy}X/2&hܫNhUeM|aA~k͕o./nK ѰTq6l_g3e;5xewBq cUvj>#Qgl`?[rm>Nm(s/#$am^hG =Q*;#' 9yX۫:K7-Zl^daۇr#UhX=Z4ql/iʇ_l'[ %ͮw_F/vuk$*Qj9XjO{U됽Zplբo@p5,I}*&"dFȋjYT xE nTs 4YC6}HKA[^WMjݙJ1U{M_s;FZJ27g^WU;U{-_,stl^Ӈ&3!Ց#Yy&9Wt]eھj2f=kк4m]eھjHU!{Uu}D`L}zTvRGUUhClufk I-;Wm*jӉWB!cԲ0Sn?2Omßr+js^o?>٭ JM:[{~2;}_-i)nUӬ>܍{C&Xڿ}H.W?|Ɛmd߬_Oe3U;蕿0y?0n ."{K[ -viɃ2n0ЈZӕ )wO'i..1es.?+ɦv/2,?>JȝՁ'wT$HhGS]G7;̾'՛XBf=Znҡ9_Hp_»\q"faVGw~O[x9u"M= VO>jy -'& ?[޾Q-9G&p#Y6o)鞇jƏ[B/7^EnNMs/CƏ=/"N=OZe$Ȗh; -YH즼>: -T>tR0CY>l(#?`A蹮wľ} +-$<{R6#@ sѦڙNqw Lyxӗ'1 >qɂМ9zuSzC^|F[y}e^u;!o}:Kj9/Xn*ÆҜ&Ceޝ#\Ŭև3~,v_!2u^G(_YM mg -1~Zk GZcd# fw2ʍ+dw~sL }?+r=CʞeE -)r}?rgb(+ Ýlh,lһ/ڜ>OWK wOڙ\_w"~>4.P,?w>:gՈr!`ss֏zq51}bhrwdu22O%ِUG'!>䍚>OVs3|^hS$y}pC{_4h>doTϖOC. g f&3}MwLY|72dLaZ#];Gj4d-(R҂Trigjmfrci:8#Z>q4D]_G1dhﺏd7v~},Z%/DsU*nGr1][ag&wG]}vw>YaL-H6$Y^B&.AtOCEfI} q -Dk'aE|UzI}&(gR'Ji#IE%3Z>* kLO[O> ,ʍ:>!>BLgtKcci]h;'if:KZ,If';'!*+̨TM_SaF9Ƥ>ޢ!yٴE0I}qUu{۳OC̤̓xm>kXea?9}ReI>kVn1i}nTv/qR~ڲ.eܚϨ.ْQu -q -]Pj3;ڻ ;K2g,?4̑tçrLfgkΨ.5U|gQ{l0[$dׇj-sABQMf9tOC6ʴ>-%Ch>E 9i} &]Y-Iח㝟ݫ҆m&և,+V~O8!?Bת{4E)뉨jY>oTK U9%ggY[v>uֽ7mP`D"L_4$͔5"Ph#qiK}hf)Vy}jW7M웺AJ|b -fl0]%K#U}(m9'O[܍]X-({qhxk͸>{uL.(OaԾ0׿3DC@Xoqd9x3Oz3tz _RyӗC~c׊nڻ@ -uU}a¦Srh|[v{_>92(+ Mțn<44g8CźviH.ioާg ( Q(ڋ؞Fk70+5m-PZE@y%;Y X @7Fys}??ţ}3'EQ&zmye۹=Am>o1v?n2d6v :TǏD@{ny,4Ru.?`3<]48M&Jw֝}agiǿ~Z4c/?mX71o0ڒ77hg5U˲#me݇JMg>.䕝l|vb$+BtY9D 6 ǯ yxFcoҞ*U_] }ԚMs4<-bٯCmm4,|o;C.u-_Bʯc"C_4_>ql/;əڻCO+⿯飺V 4o܉:GX)g!d>.NvH>LxԈCsgݘCs88pCC]*>ܡﲏzcy -u'V_äϲZn}:~)R`k8!ѭoۚ=$PmoXw/ٴwه&;N.j:&^ϲ/A>IN]]G |jrFŖ]ekhZކ[7&Y3}x8[ɣc jUլ'~$;dvӓ[WlaBgma>>4s/ڛ1}tt/(su5*K9GJľ0ؾhrg}nmyg !H_-l7~Lewʣ^I9̑M>O5-`VC[4nZoyW w>:rgMgo>mZhq];)onS'o(U7"EQifhuD 5_b\/0K0~DJ'%4_&cSom̓E0~$,&.B Mxo򋫽?+Eout+G㗹b_|Hu96 cgO.μ z4~\%1ӿbb@bݡy߭U6MHCdv[C勀(Jv -kyNǤZ:]?9(B @O~5/aj6(yr -=.2/B#{֟m(47>L2Qװ|;c/tD|ȿvL"%4ZB>R~МcWvy ?NHK~![3bw,#3;pTʟէ Ij7e_&Yk,>4S~7}d:X~GӊtVՇ -rS?X-4폘@f:ܩt>@Z[ʅ/\P?Oo^ҏt}'Cs~ubNHFW-D4|Vh^o>3ӸgQ|?: ç'yuUoXs&{Əvow|b(|&1!R6ЫӆDH̱1_{J/ođIAߍ|}!O[Bmܜٟe7Wnd{2՟!J׺klQAu$K?K8vΖf.󶏺,*|>UY ͙ms9;} 8OmSS0|_a]pX=|qZ>OWb7deC|b6Tл;@R2:C{}~܆}>!ô;)n\~D y}-ѽ*̠O6CtSXOψIҭٟ#Ǣ$6OC %:Vs(RUi}'jd3|Tl.'C$F-EǶCavx&''wUٲ(X9daXΐ'cZ -SV};v3gw̾b8UꃀH|O%94'6Q-uhNvY%FU}JH2ҜϏt3P1ίp.?j7T}*Ohˏʐ{3 `;Yvp>:>)ef#GUcVAzmHq\~[X9_[%+:>wcJ;W{BSz]%Ϫ>OSȺڴGrUևFY|ӡ%ԋa,.i>p. ([cPh#AȤ+>A j-wXMƈC7]QvC}g,\V_GR-9Dh?.3f7Sl> d۫>$j ->4ѼQ4_^:+\+6z/kOwvNn2>'w= y}7>lG>#;^z>U4hz$8&Bs(7oE -cs>#E2|j --4ϏW-Mp}?jgx+,V=q5|n_׉#CscZ>}j#}dcrwZg`=Y,k>_rd><d۹|b&:dV (Yi -M:bL2E@07EF X硷.bXu=x҃4cC'/4P܏ɴa!CB~;=k6SU`T)L>GI1NޗcA)igArw [fnˎM b *X!P`j˒ -НH`n+m$Tyժ@`PpC RC;v>$0he?s(0h9=uNݴv4 -u(0H.l+ $0MfI AGyAXm u=:yPm=4':ۙyX'?p,L 0h"/^$l6q 4ٚXA!zᯃ M-oXAN -4 -"d唁9Ϲmu=xZ= 4Tغ0`];A!ћ/Ài:r7 RҌ.d9 -X܉z -0hAAiyeN% GO'<}4,F=<h"`S 4`Yc؀Ӛ&ׁ&7n0`]3X[>VdGdU d2]OZVL%xSEhEw[j0Anb ry -44:(`ժ U CvAo#ƭ>5- -MyT`ВQ&uT04ݲn| - -i `d2Ԫ뀂AZoTz(ݖ:`К  RԨ(4 P0ղl]: -1BbuMgSuWY:`] 6*x,vu-S_ `&)!Y9%`X{'y FvsԊ7N_ Z#p֜#iDޭ2?`2)S-=/ǂAuׁST0d wSq ,jm;=ZY5 aj<Sm2 X066_\=Lo#'JƏOL66COE^ ZUL5$fكX0}9YDԘkls>` -į 6מ\S[ZOAoyup8 \0NE2}q -SSߖYk锹lj!l.ZFstFvm>\|rg=peţ.W?iY ~rLNyф6毁 Kܔ`7q+ A:`Qt1 , rT0_^m߃Mz^ -~x6GyE*$ʯ3̯~rz?0[L=ƞ*AS\{˶~'L=nyƉ T0xAuPz*4k`HVrPex3 Z?P%#뀂F-EP0݀ C`ɂ`M, x4r`Ж‰Hi~@-?]F5ݮxW`3;^nu.z?`\}i~,U?P4&"b<LC I P0h`\g`iԾ&FQdgV7&_;܉'44Æx;4z("ChsY`lz7LT[`zS< ۓ90 8l q6y $Ҕ{Ő^} ZP@AsMLCoʀ&_8H< aR誼7CMOa.04@,<Ls_(4`6 -H0R`+} ӶDSBCnS M}=Lڸ&(h f&F zL0 uD&4MUy&ҀD`AC?`z$a$d<S@⻲?CIx$Nv H0ۡn ΒQ`8@G~<kо,`ēYׁSdW r5$ce H 璼C)"B6| p̓#dD?X4D?HYE`4myY?`G\ ' '4;Eqp64Aak/sP%1D!!BlpTKay>:O 9~]S U|z4#PXoKQѮ3@&Ve !!eIl4C=`J@CR5:`H2^E1jDOG! c mGP` -H0<[Ol6-6k,ċz$2Jw0Cc{&ZDl ypZ!O.CqP0\`WiB|dM `1EyqkcZf }ry } o_{a(*uO@1j&q|!uTK3@OCejP05GsC SCĘ5oP0v*Pbfݏkns -Ɔ8䞨`4!JjF -^XSqP0)87`lx& -oSP0v|4;aF3cWqϔ6`EƴAW`(o65+8:"&LMqVLф](qۂ!~C(|놂AmM2 Y\<]wQt -l*Q0D( tQ0d= -,h -vhȚ `a~~ vqlq -?<W -;Ș -K!8 Q`TY0Bf.Cm w; ,βų \'g U4:a0dhLM D /ď1a~R`|7 1f; : cI.<C7CY0d065Y0d(X0hPU6`Ȧc`ᘾmu8u]0D;.X6u]0d U.b<) nC"5W`,%xC;b`xC~>hC텆MOꀻ`(j߇n.X!!C6: ,7qm m.=󏌲cM;g K;a0rl0>΂!`lmeݫagf&X0dyE,Վ`{^/qYY0dU0tBx2YAqlč`Cׂ -[O:Lc\G"v_V S|I( -FT!{XWZbt͏ 彙 -ָ\g1{u Yc c֫QY0.~ߌCkY0f7Rfjȱ΂1QgKu)1k`,}܋ 4vO\0fd`5cGM'~dw!!8 l!Qco2*!ó- cG0Vڹ %d.-[Nvf k矒`0=ɰ{ -Gp8J :ܺc) &cC`̎cV[΂15U0f{?t4h7E]1 -k ]Cvݮ1;Y~w3cV`8Y3p]kWi**\cvo1ã 'Lc6FP -Ƭ׳W}88%g#oI*|WY*1Nqr2`~u,π3Y͍1a.3Re.I㺖/j kDj03d=vGD] LYE/_JcH0fGB\'j&u. ?EgcvV`>L0fM0fc`z\s;k:]@_i[mY}N`8x2_J1ӣmE5YU0fqTԦq.꣈U0fqF5slO1;-pWW9 ƈc%qdVY|*w٘*RA`~.\c_; -lLcvd`8j[Q0f'Ժ/F/XU(3-ۂ)+6GU`(_M0d{e`j`Xc]?[ ,N<cXn1I0E1YT4$Q&/ Gtc6: -}3( -ƌmEd7Al)B-' <'VL[`pf'Re[I0f7L0fO mzA  E%z3gL'n /L0ec4SX*7)G_g(켏83U$ ST`mz`hkk`uUU0e*wWUq+%WY IS]9U0dFJ?w/k3dLScs`XsYST=n){> -endobj -134 0 obj -<< - /Type /FontDescriptor - /FontName /EAAAAA+mwb_cmsy10 - /FontBBox [11 -215 942 727] - /Flags 33 - /CapHeight 0 - /Ascent 727 - /Descent -215 - /ItalicAngle 0 - /StemV 0 - /MissingWidth 500 - /FontFile2 135 0 R - /CIDSet 136 0 R ->> -endobj -135 0 obj -<< - /Length1 1992 - /Length 137 0 R - /Filter /FlateDecode ->> -stream -xUmle=Ҏ{`3^wLz׭s%["AZC[خueAM/CD%:_r4!HBb  m >s/^:jxiZ |'T~lTvvSdg҆70$\qm#U7s3lxl~b{gUg -l;"9I=g,Q!_^~uK_2 -y'.zWJYN,1qPo~eev2EcQw)8fg33 uk5Uuen(H",͍!UYl3&񆞄Mzmb'LHU3vUYy1VMHi=iD%S˺\> 5'- JnML1DIO&^S|r]O>Rl͹-6Wl0ȹAсQMU%EƉRXɤ0Yk4+R%nH+0EYL2&'kQU􀪜EX􊰨$-p&L"aMXTTao BUrIU̺vua7YKn-&#*ĸ9 Ony}-4h"'\YxkC%B5nń`9U;[ֽq_.|[_ޮٰT]ɚ` -U;͞6c%Z!_FΈghyF'ʌ +hR}Bfp'ޥ.Kd km ѽwBxc[EwqrSaw0/;`l>pJv.BLXG uLr0*`-,`l^sMtFS 4ioh:F֠SO KxzGI;MJ$El-Z (;Iˎ9DHu<&*+qdlU;Aԡ٩L*=-m InEb&+ -R@feVbFј*@gKӇQ]'Igt&?H{U5JQ#TG*;Ixtld> -stream -xk -endstream -endobj -138 0 obj -9 -endobj -139 0 obj -<< - /Type /Font - /Subtype /Type0 - /BaseFont /EAAAAA+mwb_cmsy10 - /Encoding /Identity-H - /ToUnicode 140 0 R - /DescendantFonts [141 0 R] ->> -endobj -141 0 obj -<< /Type /Font -/BaseFont /EAAAAA+mwb_cmsy10 -/CIDToGIDMap /Identity -/Subtype /CIDFontType2 -/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> -/FontDescriptor 134 0 R -/DW 0 -/W [ 0 [750 776 ] ] ->> -endobj -140 0 obj -<< /Length 142 0 R /Filter /FlateDecode >> -stream -x]Pj0+l CԒX}q z0h[lE^X gBpjV& -:G:g} -endstream -endobj -142 0 obj -234 -endobj -143 0 obj -<< - /Type /FontDescriptor - /FontName /EAAAAB+mwa_cmmi10 - /FontBBox [-34 -250 1047 750] - /Flags 33 - /CapHeight 683 - /Ascent 750 - /Descent -250 - /ItalicAngle 0 - /StemV 0 - /MissingWidth 500 - /FontFile2 144 0 R - /CIDSet 145 0 R ->> -endobj -144 0 obj -<< - /Length1 2680 - /Length 146 0 R - /Filter /FlateDecode ->> -stream -xV{L[} 68k.`K ` 0 67SL iD(nGM:ETuQFݪh(ݴnMM#f߽nc{~|w~经s@>|h/pN./O<@|b)x/<=ɝ8Nʑl?Ř8o1wtMhWSK -hYYż7.JɧGTWA)tfiIDZȠ=v5pNe3`:n"o.܄Wp.|uHD` -F(CHp N87>ٹw[e]{}}=˞aOì>s&NS+T="7s7m-x ܀p ^- -?DuW`YTj=gai8 x\S>aDЍ;;Ysj))6 -c"N ܄٪R.kԺvSu - %zW:ѳs"'MBWI|/# -]=0!A#x؉m&*`޸ ; -zd!G&B^s8BOJiU \Q萜鞑DOЂE(6Bk( ٔ=^sKt*:v>KD}>n{fx7 Էosorڷh -!l*ͪ[׈4W9nVqǯv3wpyzƠ?P\2DPk5GCb66x퀡1MG+G/n *$Tp:M*ǛUgF)PKAxh8e"x~l_v# ;S`3;?5ۺ*LJS}9UQˣOUB5>T8uaO/h8r{⍙꺎HÑ+^rl`kH`[ϰrk Zk;vk5"v#X)GG e` -O;<|OMPa -3zƀM-J,a -L+i 9̠ϳ9B9QrC4, AdkA+Xw$C$12QQXָ.dTѽl͊b9Arj&4"TUj(y s#Am(.pz1/5Z%9H^~HNģ^+GU ?Do/!M@(LFgy?]&E 'H -F)%P7~VT*C..wьN&eCM;Efp>'M!jW |^_/M/MG*.;s}Zucjæ xc łfx~~ x4 -endstream -endobj -146 0 obj -1900 -endobj -145 0 obj -<< /Length 147 0 R /Filter /FlateDecode >> -stream -xk`, -endstream -endobj -147 0 obj -16 -endobj -148 0 obj -<< - /Type /Font - /Subtype /Type0 - /BaseFont /EAAAAB+mwa_cmmi10 - /Encoding /Identity-H - /ToUnicode 149 0 R - /DescendantFonts [150 0 R] ->> -endobj -150 0 obj -<< /Type /Font -/BaseFont /EAAAAB+mwa_cmmi10 -/CIDToGIDMap /Identity -/Subtype /CIDFontType2 -/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> -/FontDescriptor 143 0 R -/DW 0 -/W [ 0 [365 714 831 ] ] ->> -endobj -149 0 obj -<< /Length 151 0 R /Filter /FlateDecode >> -stream -x]Pj0 +t'JJ!>hpl954QCRfA:g#w:M8€uEU*o5P$99Ჱv&H9 -G&H#Y7n%i~E"ë;H6$c|f\m8=jeS F}K:&UèJ, Ռidϼ#ZRV^ c + -endstream -endobj -151 0 obj -242 -endobj -152 0 obj -<< - /Type /FontDescriptor - /FontName /EAAAAC+mwa_cmr10 - /FontBBox [-43 -250 1008 750] - /Flags 33 - /CapHeight 683 - /Ascent 750 - /Descent -250 - /ItalicAngle 0 - /StemV 0 - /MissingWidth 500 - /FontFile2 153 0 R - /CIDSet 154 0 R ->> -endobj -153 0 obj -<< - /Length1 7180 - /Length 155 0 R - /Filter /FlateDecode ->> -stream -xY T[畾mZI !-H!Xfll=qb'NtqǓ$uevn>Imuڜ6$'frx4'3'<=qvwxpX^[XV`|FoݳҖ?W&{o nޝCM54ѷ~^DeC4Y(sw왒Sflbk/`у1D\0Z*O\ɉ]w@8?s`OOQ YxW|<Şuxށ[<g x8l-PU `e_c9~˹w99go&_qq19x_ H'KgMn5x· -|.Eg| G$'nY ⩏y VZAjR*B.xe3/x=싁:Ke?:ĸz{R8|J%fv ai 1hc|Nso{#s6ۻ͕>H^ϫtm@䉆[;%iX{ed=vqJ+0 Z$cfE2hE;;c@{p^a(|}Al-K {޺FX#)T-zjbi^H<^!\E%1z*xˆ@b2~ ?otz ~$ }24OI} @ٟ4w C%ee!.0/_ ?$yZa,\<}r{ndnIH,%rh Z9Pheؕ!)].,`%6ͪ0CY$h-GdwjXswHtL r  cu4e 06:Eі%ٌ>\%e@)g3 F_^Ɍ r7Q/>Ycoh,sO!7S;_{ r &( ;ӑ1MTҕMVaDFQ22ԡ 7 Y<|D4_o U!ɶ%goޜY=3qۢlLidcf15܌2@6 Ppȗ&: d9y1Np+ǮU(x3hX6GV`JEHbNJXJ}HbI6g!A>-IAIY,gqXWy*K쫭V?Լ=-{fǯ ʊ /igtS]\X[m>>l7f;}!]x.݉-S`m5lQAaȐ9UJlSO5?lH.)kĨ2Uo#d"]Džb7:7GMrW&<:77a..W2,筍rǍ;_EF#sn6Jo{}ɾ*Tp -ӨsŅOS,Thd,q؀<+$p -L,,-'/Ted'I 4t> Xdl{fKB6y=?j˵Y+Z +7/|yhXxC7>Yh -+*džuyѣݾ}u;knU!Sx{J6i]H -EVgR//@_W\un1gS`ˊd[\19&grh`檼Vϱٮ@`a׻aۊo}8zhd{*؇( *TŕTˑKW(@2a.+C%2*S0ɁtƥKU]Zͧj*jLaX5cinCǨ'b6wG83#%.r)FlO1{%ΜĘ.XƮ.tD,ι[w4}g[L6^`YL닌 XOy+aMɁ&](r2C8: -J[e 6Ŋr8!3ؕ< p ΰ(0RC -K{_&,%!,Zѳ%jvD7{z6*W]G^l>1s_꾈i,>]:b+}Ba'tw45?=k7,DH.?(;!.1`PhPՌ\6TeB!NBHf۱U&/1IBLOXɭS$J(f5sspy(Ǿx| -9G@m4>u6!+{4<6-a"]ܖ ;UW3,t'\F !b!&vXnp9\Þ;'!G4\nj%Oq!L5niأ0SO3gnkBBp|k~Fy~~to(ttk&IP\1~svWo r2W6mJ&̞J4p.S\6CRMij%۽TZx'53h2)w {4W-xqی53g3WW(uf=Xε 8h~I59ҢъOhںYj3[K(J60T@/9EDQãbJgz}L o>O;T mI9@L16ݬUpjE6ނjxuZ̺"Ed昞9?zn(d|_l6㞿XcH79RHbdFef"!/{IjWgTaZM/`Vhd QkSyeÎ֐H].peCvF.rC&lKR' -\z㳒x」Kr$$wAr]P)m= ǔU,ҧV}ҪMETVAr2,!]C~Tܖ(i:^ʱS Y )2ghɤ]d&(aВ\1roߏn:}}|ƾk~ۛ7Uhl;۵=+6OCF[Xur\v6t?Wra*\9|"P(Jb*G:UicϔB[ lq䠰&HY[h ACBŨ,*K8(VS\wNwGMafϗW䡼}`@Qo}H׎wl9UP^^WO8%=|"g'饬 g!859h)V5`%݃ -HkGyoO#~em4x/RL'{θ6|OSF|R -'U(do -EPOm\nx(QyMV -sSN/XϢ;˥7C**4Ga`JU5n>$2_5Fg!.Pc"$ҐRE^%'":+Ƈ(:1RJI7=sdl{PJZ'`Fn֜R=/*!Aj ͪ]WGm[yAn>4OxW垅mL? -] $%.x}\9?!G. yi v1.~GQ+})ni'=D8mvR&w@ .7>"[ϋVpAi,B־O\Ԉk2/Q\+o=XD$Nao jг[2\\w3t'. e - 4 Y C^[ DNAW"C@2V/,Xpњh2Z7&`fa' .b|j)C)x^5cDbf1GqEnSRo:c"ڻDs%/dF/|!r%4[idXX%4@3^P?19sxph%>R\^^N YV,ͽcSC{|ڱ1Kl605s@wDsqb;MO l58babl1%ؼBVT K-{>H} -e.֦ʑpIF:վ߸ѝGg eڬ -endstream -endobj -155 0 obj -5258 -endobj -154 0 obj -<< /Length 156 0 R /Filter /FlateDecode >> -stream -xk`3`X*^0_u -endstream -endobj -156 0 obj -20 -endobj -157 0 obj -<< - /Type /Font - /Subtype /Type0 - /BaseFont /EAAAAC+mwa_cmr10 - /Encoding /Identity-H - /ToUnicode 158 0 R - /DescendantFonts [159 0 R] ->> -endobj -159 0 obj -<< /Type /Font -/BaseFont /EAAAAC+mwa_cmr10 -/CIDToGIDMap /Identity -/Subtype /CIDFontType2 -/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> -/FontDescriptor 152 0 R -/DW 0 -/W [ 0 [365 500 500 500 500 916 500 500 555 276 388 555 555 443 500 651 391 526 443 526 276 750 443 276 333 500 500 680 555 394 ] ] ->> -endobj -158 0 obj -<< /Length 160 0 R /Filter /FlateDecode >> -stream -x]n0E -/E )TĢ5{H ,_Hg/$2Ȓw׫+iv4Sjf#R[5F -wII|uF*,Cld,/f}}MLSߜ&ך~]k:YC#3H*;bIU'K xPJENmNܯ3;=u^9F}K7~ Og8(r *Q@GD@ 4@*q',P'ೄ} > ,%>i{P8/hdᱳ_E42vJM(QJ?]fs59g%fe> -endobj -161 0 obj -<< - /Type /Catalog - /Pages 133 0 R - /Lang (x-unknown) ->> -endobj -132 0 obj -<< - /Font << - /F1358 139 0 R - /F1357 148 0 R - /F1359 157 0 R ->> - /ProcSet [/PDF /ImageB /ImageC /Text] - /ExtGState << - /GS1 2 0 R - /GS2 3 0 R - /GS3 4 0 R - /GS4 5 0 R - /GS5 6 0 R - /GS6 7 0 R - /GS7 8 0 R - /GS8 9 0 R - /GS9 10 0 R - /GS10 11 0 R - /GS11 12 0 R - /GS12 13 0 R - /GS13 14 0 R - /GS14 15 0 R - /GS15 16 0 R - /GS16 17 0 R - /GS17 18 0 R - /GS18 19 0 R - /GS19 20 0 R - /GS20 21 0 R - /GS21 22 0 R - /GS22 23 0 R - /GS23 24 0 R - /GS24 25 0 R - /GS25 26 0 R - /GS26 27 0 R - /GS27 28 0 R - /GS28 29 0 R - /GS29 30 0 R - /GS30 31 0 R - /GS31 32 0 R - /GS32 33 0 R - /GS33 34 0 R - /GS34 35 0 R - /GS35 36 0 R - /GS36 37 0 R - /GS37 38 0 R - /GS38 39 0 R - /GS39 40 0 R - /GS40 41 0 R - /GS41 42 0 R - /GS42 43 0 R - /GS43 44 0 R - /GS44 45 0 R - /GS45 46 0 R - /GS46 47 0 R - /GS47 48 0 R - /GS48 49 0 R - /GS49 50 0 R - /GS50 51 0 R - /GS51 52 0 R - /GS52 53 0 R - /GS53 54 0 R - /GS54 55 0 R - /GS55 56 0 R - /GS56 57 0 R - /GS57 58 0 R - /GS58 59 0 R - /GS59 60 0 R - /GS60 61 0 R - /GS61 62 0 R - /GS62 63 0 R - /GS63 64 0 R - /GS64 65 0 R - /GS65 66 0 R - /GS66 67 0 R - /GS67 68 0 R - /GS68 69 0 R - /GS69 70 0 R - /GS70 71 0 R - /GS71 72 0 R - /GS72 73 0 R - /GS73 74 0 R - /GS74 75 0 R - /GS75 76 0 R - /GS76 77 0 R - /GS77 78 0 R - /GS78 79 0 R - /GS79 80 0 R - /GS80 81 0 R - /GS81 82 0 R - /GS82 83 0 R - /GS83 84 0 R - /GS84 85 0 R - /GS85 86 0 R - /GS86 87 0 R - /GS87 88 0 R - /GS88 89 0 R - /GS89 90 0 R - /GS90 91 0 R - /GS91 92 0 R - /GS92 93 0 R - /GS93 94 0 R - /GS94 95 0 R - /GS95 96 0 R - /GS96 97 0 R - /GS97 98 0 R - /GS98 99 0 R - /GS99 100 0 R - /GS100 101 0 R - /GS101 102 0 R - /GS102 103 0 R - /GS103 104 0 R - /GS104 105 0 R - /GS105 106 0 R - /GS106 107 0 R - /GS107 108 0 R - /GS108 109 0 R - /GS109 110 0 R - /GS110 111 0 R - /GS111 112 0 R - /GS112 113 0 R - /GS113 114 0 R - /GS114 115 0 R - /GS115 116 0 R - /GS116 117 0 R - /GS117 118 0 R - /GS118 119 0 R - /GS119 120 0 R - /GS120 121 0 R - /GS121 122 0 R - /GS122 123 0 R - /GS123 124 0 R - /GS124 125 0 R - /GS125 126 0 R - /GS126 127 0 R ->> ->> -endobj -xref -0 162 -0000000000 65535 f -0000000015 00000 n -0000000145 00000 n -0000000197 00000 n -0000000249 00000 n -0000000301 00000 n -0000000353 00000 n -0000000405 00000 n -0000000457 00000 n -0000000509 00000 n -0000000561 00000 n -0000000614 00000 n -0000000667 00000 n -0000000720 00000 n -0000000773 00000 n -0000000826 00000 n -0000000879 00000 n -0000000932 00000 n -0000000985 00000 n -0000001038 00000 n -0000001091 00000 n -0000001144 00000 n -0000001197 00000 n -0000001250 00000 n -0000001303 00000 n -0000001356 00000 n -0000001409 00000 n -0000001462 00000 n -0000001515 00000 n -0000001568 00000 n -0000001621 00000 n -0000001674 00000 n -0000001727 00000 n -0000001780 00000 n -0000001833 00000 n -0000001887 00000 n -0000001941 00000 n -0000001995 00000 n -0000002049 00000 n -0000002103 00000 n -0000002156 00000 n -0000002209 00000 n -0000002262 00000 n -0000002315 00000 n -0000002368 00000 n -0000002421 00000 n -0000002474 00000 n -0000002527 00000 n -0000002580 00000 n -0000002633 00000 n -0000002686 00000 n -0000002739 00000 n -0000002792 00000 n -0000002845 00000 n -0000002898 00000 n -0000002951 00000 n -0000003004 00000 n -0000003057 00000 n -0000003110 00000 n -0000003163 00000 n -0000003216 00000 n -0000003269 00000 n -0000003322 00000 n -0000003375 00000 n -0000003428 00000 n -0000003481 00000 n -0000003534 00000 n -0000003587 00000 n -0000003640 00000 n -0000003693 00000 n -0000003746 00000 n -0000003799 00000 n -0000003852 00000 n -0000003905 00000 n -0000003958 00000 n -0000004011 00000 n -0000004064 00000 n -0000004117 00000 n -0000004170 00000 n -0000004223 00000 n -0000004276 00000 n -0000004329 00000 n -0000004382 00000 n -0000004435 00000 n -0000004489 00000 n -0000004543 00000 n -0000004597 00000 n -0000004650 00000 n -0000004703 00000 n -0000004756 00000 n -0000004809 00000 n -0000004862 00000 n -0000004915 00000 n -0000004968 00000 n -0000005021 00000 n -0000005074 00000 n -0000005127 00000 n -0000005180 00000 n -0000005233 00000 n -0000005286 00000 n -0000005339 00000 n -0000005393 00000 n -0000005447 00000 n -0000005501 00000 n -0000005555 00000 n -0000005609 00000 n -0000005663 00000 n -0000005717 00000 n -0000005771 00000 n -0000005825 00000 n -0000005879 00000 n -0000005933 00000 n -0000005987 00000 n -0000006041 00000 n -0000006095 00000 n -0000006149 00000 n -0000006203 00000 n -0000006257 00000 n -0000006311 00000 n -0000006366 00000 n -0000006421 00000 n -0000006476 00000 n -0000006531 00000 n -0000006586 00000 n -0000006641 00000 n -0000006696 00000 n -0000006751 00000 n -0000006806 00000 n -0000006861 00000 n -0000069425 00000 n -0000069448 00000 n -0000069475 00000 n -0000082180 00000 n -0000082041 00000 n -0000069673 00000 n -0000069925 00000 n -0000071369 00000 n -0000071347 00000 n -0000071456 00000 n -0000071475 00000 n -0000071866 00000 n -0000071635 00000 n -0000072178 00000 n -0000072199 00000 n -0000072455 00000 n -0000074475 00000 n -0000074453 00000 n -0000074569 00000 n -0000074589 00000 n -0000074984 00000 n -0000074749 00000 n -0000075304 00000 n -0000075325 00000 n -0000075580 00000 n -0000080958 00000 n -0000080936 00000 n -0000081056 00000 n -0000081076 00000 n -0000081577 00000 n -0000081235 00000 n -0000082020 00000 n -0000082103 00000 n -trailer -<< - /Root 161 0 R - /Info 1 0 R - /ID [ ] - /Size 162 ->> -startxref -84255 -%%EOF diff --git a/mohit/figs/hinf_synthesis_ligo_results.pdf b/mohit/figs/hinf_synthesis_ligo_results.pdf deleted file mode 100644 index 7effb64..0000000 --- a/mohit/figs/hinf_synthesis_ligo_results.pdf +++ /dev/null @@ -1,951 +0,0 @@ -%PDF-1.4 -% -1 0 obj -<< -/Producer (Apache FOP Version 2.4.0-SNAPSHOT: PDFDocumentGraphics2D) -/CreationDate (D:20201116104636+01'00') ->> -endobj -2 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -3 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -4 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -5 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -6 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -7 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -8 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -9 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -10 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -11 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -12 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -13 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -14 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -15 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -16 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -17 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -18 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -19 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -20 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -21 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -22 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -23 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -24 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -25 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -26 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -27 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -28 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -29 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -30 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -31 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -32 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -33 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -34 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -35 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -36 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -37 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -38 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -39 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -40 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -41 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -42 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -43 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -44 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -45 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -46 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -47 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -48 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -49 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -50 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -51 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -52 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -53 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -54 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -55 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -56 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -57 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -58 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -59 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -60 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -61 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -62 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -63 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -64 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -65 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -66 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -67 0 obj -<< /Length 68 0 R /Filter /FlateDecode >> -stream -xŽˎ$;8?_?P.#O@- k&hԍ+5zп̓:YYp+WҝF#7{?_㸧\#(QYRezϷ>ZOƁ?8n鏔y#UM:;@P!=-G?YiqVy4VrKu~}ZKg]/t%*_VJj״֏^2iM2Ys~i/OL':/q%_VƬkZG/yǡ6>zɴ旧Ѱ% ^2t|}^F,yf^_e`qJ=Ǽ֏^3 =qEnf^_}֏^`]{Q{:ε^0KqM{m9`b_\hW~}]kbۀ~vMl AΉMi<&~}]s2cbG/UwM,w|~%֏^0X˓Z &u]>!N֏^0.Ƕ^89ɟkwk&~Pg.Ƕ^0@6@h}^`Z?'١H1xG/ YzRl9|ƶ^0 :6}Oxƶ^0wL~6}TTw)~iO%QZ &sRm`b?'qJ*8֏^0I* sRgEl9ߪt:5L$~J s&)\(~ig, -VP^9I~`Z?`'&qp/aWV~b JCyҟ_0C*jG=C~WOvϘeNG0E.~ÔocwjHz$>P =6ȷ``&0) mwL)cJ?H SQtǔ~;Cۧ1$ ) O7LG)¿cJ?SAbrǔ~;Cۧ1%)(%wLȿcJ?HDSAҏÔ~y;~s{>|-nx}6}B5ϦO =>? -g#'\{ln Sy_'\lj~ SYz}6BO&O詮٠ =>?Jgc'طO蹦ِ =?>*g#'T>lꆟ Sz~6޿}B%ϦOhY-8K΃䥤-4! 3ĤY/uΙ?xh |e0 R?'@=OG5NJ߹>g7+\'?/'^׵]~ʳ{=[-lo }aBOm &`o ;}aBO W&7&z_m6}ɍwv}Sz/DffܚiS~'߭ y>wk~BOݚfS~'TOSv'$߭E|sowkns nO9)}[^}Jc5?اn͏,O3n'߭ Ӕݭ#l3|ݭ75?اnO>)}[}Jc5?z3v'O3v'T߭eIs,'>wk~fn͏!ۄ߭7d5?2l~G}BϾۭɝ;tú<ܚ_/SKRL閰T+֎R?{ʙA傹^Hs{9}\LuyI~a|2Vz<𗣔{?7?ßPzCK^|ϫ''3OVF38O\#<ẇ+_b.hue)Zs UK{~{fTN<2dRq<^?69-uͰ%h\Q+ɻE(w#4>Fi1q~4=cM4>5Ӡc~&#`(,>ikfգ-gLRïEm4֢:cea=8OJi,#{[ۗFnBOI_Yn3ٝq[oW:ksóݦ[Y=c/Z׈aGdPG)~~ r觠5jd/"c6sY:,جgKǴ1*tr`Pj-1fjbت3 XMx=3ƵRcPQŸqKWe44vB8h3Mhqd?bqϝ́j<̅:H`|Xme(.ᯍGO~C -(acz'[Gg V30hv[>OϳK륍:@Xk1rKx{4Iq}i'mLKek ,ƝɓIh[ EL,Xᯜw\݉0< @mk0 Kql9Kekמgk3`K;ygLēfrz.r71)l4=0M/o+jtK[#!Ri'5^щ1yaP`);8H9ã\ -4v8Lzg=8mVK*V ԘKI\`#v%B#Ж< x,<Tcof c*.Gah8zr" ѱ01Ib~@`qĠDtț7!L puW=@xmfLM ;QzYEʽ&[aㇳxXы_ۍJ/ޜx5n7z *ڽ-Xaoؐts瀖:w 6bOˁ Ru4t@saQZs3;; -Me.lޝ nnm ;uB3`eiC^Q]aGFư tԽU!&v ӱ?Tyİw:oI3x ];8P,Plч3b\ mPTƈq)M|q3 +('r),NR6yz\K3![,(sZ$$0\=Q X(XǛ8p BT `qV9b -WDp -EH4W2 !X!>& a{ص#54A h}0#lo a\y[  iߛVqAD'_@pq)pcO|{;||o3ƍ|F*`EC“wjL_܀0v׭;$ɰi19XT lP'=fGn4cT -p=R{A ÎoͳƸN7喇 ydsc #d - ]ƠO!\N:KSA o,~IYUڋNiՋ1;77 ASOKX|h:Ey+b6[L :^p1n`t>`<7wÖ`7Di`Ģ22>=j;mE faY܆%{d90nf^6qRl]7eMU`N9p,!w8687ɶA\UOU MzOgЇhavvƠ7,q^-uæW@xA$dG`:6Wش-' D>CAY%O1\ Ng8lƑƺU޸~%6!b=ݩH[jzW*xX(d5\5Kge^+j oƢGMH悻?M(V8+v0g m^ zWhWm;y,89 R(.p?X/0CcQz26VbQ:P`iSKezF;nK&<= &EpPLdx$]+<<8Y??"6)mMWbbZ4f/R}+ JIM\ՂaxccAԯ -[= |bb`<T;J`8A"FlEl}:ㄵ3_Fb~"՗Fwᛰʌ-I8쓇I>Ylp\Wr臽fs;c"/m%ˊ}uM6!69뜀F.s32hugTwfb -'k)$W~ZJ*34a7< دn4鞄 -Ma2OE**:T9<."ИA%hsaB?OuSyxܤMƐElz F8`ke&whfZMC|KN؄uM - -8daTIt6\a2‘iDyT2/ ֥xVsBQN.as4i.Fc+Cl)DzR$}u!S 6U>Z H*U$A]5H\SaPp͞88?i VU8NS ދqsb ~ krưRGBȈq)U+v%8PS8,lO0tx\Ý`)1nU$XK<~ፂM'mxw4Mg0zH^)PG -ރj<͛=*$D{h;Tby!$wNfՊ%ZĤ>_zGS꣍C718A8>E u όl4atyJO#K*/Nj4Vh4Ó611 7ê$z3=bQϋ -2 yΛE劇:E#&p9q C@FW EJXS#,Tz3-χFbtAsƛuilL[i1qJʾqp>.ߟ{Ll0?%d z nJ -V76¨ce Oay5K4S#AjMYHDMGg`#mƦ|RVvCV$ݡȳ0IOZ'[,ܝm2-M9(iq@ , kL2D ac5{k *!x4G] AaM%*anB>(9̀1)tuy1d 2_L:d7ܙ=8.<%&aQV3a Tl(y1(Y,*^;~GB6xx[i2o):`1 :eրA &l 'ohqT2{3tP3N,1ؒ| -*Mp;t`qAcJ730!㨙0 f¸l˪5 l;=$Gf^CL0:faq tS˛Y`9Ď^+ |#T+%ِ=? .ˋC dF%ﲗ*G/v(toj1kod`V:xT!DV-娅7G> 4^gc\҅E0 r °Z`۝> UD+TA*d$i8=R8.z q+4de<ۥqv jK$nw\bBřJl `0aF/ P'u:,i0-3HLpY !|TRqڤ.5=).p&-B.NRO4p0$ g[~1 Wt;ۘĜd`DƂ6CZ OgprZԓDKz>̩a]p1}bש&EM!ܭ3M4vPca\3Hu(0XN#IFÌ1Q27ǯJ 4^c"l`wi\j4WҲq'MI!4`f})*h㾽1þMbuW01Qbb 8EFcmCmƋ,(Ӏ(TN éh՘ f -;tdai1Lj0P=1 8-+xK"`jGq#z[hk4i6Ғ@ IgyB{2x14`0H-IwZƘte. tÏhf|TА(1 D4S+oX2͖"ύWVwfEAü:A»1 fuB0*UʟNu&C&+-r7 SX OG`we⇧˜Fc"ZAe5©8;v$l&,ESkzb/SeII |nPS"^ f#-8 EZIiƓNɏwUqKpݹ';](2ܮLNTICxrf1)c%o2~鮺A<S9p#fKdR*xk#ʼn۔̑ԥHy" hP΋sF75&4./4]=!R(Q!+ se oxs"O)9(M_cԢh$0!=p*40hG2lQsxbqϞ l4#,1W ;HUhxCy`:_ixウ ܩlVgƔ+f|ғ lPqxZQ6?幀o$Rh*IcRK( -)cðp+ь0m{:!ݘQKa=;[0C"d! -Y7&aŀ\ :Cˉ{劗J],Tw -{X|3,1LA gjº_pL-.`вX`&sЩ>cC̫jBk7[⻏p u0)ox#ʍ ^7B*R#L[&$0eAWU쯤Vɤ AyՓ:5D -]JAޓ)73£EkyP9&+y,l>n0x*TOf]T?]Wnkö$t z2Y{s6^Ud(:7 -BC\G"oH(-#8<*`;lc@2S]\SiASփ$!e'V`sBT  36.DJN)<2H9BB7y@9lbc92((酶YR3-ј2N0XpFpz;u mSY+Zpg]/Vx1H`%ag,[ D\ʕ8)hą [8[ 0Gc .X7PBr^h.!cF}QtB@gwM/sm>DAUMsDJ̜ɚ3 -iH{Rj!S=M&>X!*ٺ@c FEx* X&ZXE-!,n\A50!Sl)GIPYpߜTԭƬ$ Z,DX :riǐ -HlͿxt!4Y$M\+1P,)d4 Mji究; -q32>SQC/ S!8d!wu0^8*l9b" 4\O'"TXC1kq[NXpf& )5;wr4^wn\+c ]uqv4L@3Q)j0y"qAۓ6a\'yH $0#4VLuC[iN+mf`Fh"+2 ҈+(1Jv:c ^184152ziFb(j,=QEv7ć΄hƂhN=n(ҋ}Brh,kyף$ a LRcF) S,k ;W1@aѹ̬/1 L̙1 OSoE=13,m-Hׯc%x!lB睛FIMke>]G. -XChXaD7nbCf ώ0a%hSө҆G]l5jtybMxo>c r }60R ,nBYCiz6Շ{^E=jc3WJd-k\|Wre۾o 64IWa %9QU2ƐYt/H7,דJj*軳*m :M-~/[³^c!&RIvB8Y _fI,i0b-)~C*F٩~\S|%4lv*)=cI׸@M -&>W _9߆*C -Cj!p c^aVl :00?cK1pƊ1Y]5Zk?Ws 5 T0Ó1c5tz͓%봚lkuWm1 F=:CXo n>S ch2&WQn4c6ÔSw"Ęy2.̸}X c`=MwaDu( &ش䉰N;Hb;6tLcH5%:O; -~TUsSa(! Tz<|NP5dP Irv-￧!cNPy^N3o^:"rzDp`Z8L09qv VMkأa$1c؎.N޲H Ur;DqthZa9j ]IA_` twOH28g@=ӏJU_XTp;7O̒Ǹ.ذ -Sqp/HGx=8sf`30?:;"J|SҘpqWBbYYR5c1;[^.5GWN"O2e5G MG9ICfdgT*6 mG4c\XBDS% ){oa qZvf-ɸD-X3J{`]s j7ƪk+XIaָ^Y]M鐢 ;t'u{BWǹts'Yz`C]IaHo@at_Y-ŎP}o, ys9La0븰~wf9bK< X8zzal4[{(wxüPudYS1! <t)w'XUc0|PPnˌȭ =cTD =XXHX'`gqcS>}&&Gꄩ'M̓IlO1cK/Mv8v9@F&XrDH~`.ytf MMثuƽ0W0+۝pu[q^qYchU@Z11%$fƏUj:)KTec<=.A3r`axi'| mD6҅u5pFgXuτ7pڡxO#i~G`L+={`tPOc|Tchi3] ߅{\H+1}R[3u7358諒hJ53Rw[դf-03Ne&$hz=ayς7%)nP"}a*)Pb=< 5q}ol,8N%V 59c.`ƙջИX]ܞ\H3դpzwV*t1Y-"it/^F85yA DF%*\KLcSYe{-rfH&5/Ga f՞q$- -h O3c-X\Ƙ3yG>f)*]g5ƹ?0}4q'z,_u]1L1,PVSa38/+4u -ea&de*VrȆ8yKy] 1L{Τa0{,RhnW{;c8txgC/Ga5d0^ҷ'XhoODcD4Uv5S݈scf̈,ܞhs%X`yT?3V'1c`3q (Ah,3fٙ X`UX`):m1cms=gɌm~-0#yWV1c4f XpLcƌXUؘƌ3ycq5@LcxzW1c̳=2S^ Ә1eR)d4fQӼ1 ;iLcƠmF5fX[ $LcF E2ÁB4&(;-4f cZƌ Ә1Hew٘ƌk3HxƄAW1cE& 3Fh^$d1c,`YƌQM -Dcƚsv1cW1CX''mlDcXr5L9<sw1CЃhX%W1A -Nj%38J4f gсh3,bB4&,9-DcƺbDc¬xۉƌ1F= b`*]ƌUhPq3h3u|~1A)ƌ);b a%Օh> )gs%33ϘӦg$qQ=h E7ηfL}iƌ|3͘0\8=hƌU B4cҕ+ь ph!V1c+͘1 [hƈdWfy'l4c#ь}؃ge'lDc ]h%3&Sj-Dc>)s;eưiLX}XӘ|nLc -j2{tܘƄz7C4fKhe0;W1a,J:M2b{0 9ݵ<ۈƈrr+h̘61Á?a ˘1D0deF V1CL\ RfLX+WGȍfL;8ь#Ek2&I ;`3XJ`1aYFoa3v\4&,=361ȃt4FK61cL-؃jL`sB5&6՘16\Ƅ5N\cȔ,+٘] {hXƌ1dc #ic"mgƬ3h1b}71aҹ;6&-B7&׭71auUtc [tc°nLSGP-tc ̑ a'EYƒVzY]V1al " ciW1Al?.טM+טiSW1 4FKcE1A4MnLc~[Ƅ iLpPTc zYƄw޸ԫaVa۩y郼P b V174& $g4&,UO4Vt0EK -wee Lclљ biLYllLcpa"oLc^՘:psYƄ1wQ:{P -gL0TcJb`@5B5#7R Ũw1w39 A5.(3_61AW25* -d~s?F56.Rt08~;+՘[e+՘QL4W1wũӘ7ؘƄUr2%unN5W괳QEC>՘[1bcؒ-\cn>Dt5&!uFgט щ&٘;$=kh{zƄ9q=`|i Z06&%D*W'ʷlLu4ٕk){4& laS#ܝdcF5.iL^ƈ{9kaݬLcOtc& oSOB7&,EF7F(S:Hэ)˙ ƈQ4mcdt6ƈqߨON7FL@7T7v))1=07B7,6$O-tcO;!nF7F_Ӎ7vc.+!K#SQy[ƈTmlc/_ƈsJ;} !֤#Hl%S*61&c:mKzL\ƈZd.11bL)f{da1"Ry% ҍL -N7DŽt?B7rnq!lcOygS}ƮMceUN]J;XVq8BF7Fc˵э ,ӍiRҍl01O(ƲcݘhoLҍe=sN7iʕnvJ7YP#A+X:Yf갅p:ֲsc$S(Sc> re#;{Xocn`V1`. >'w'#SDR=@ pfӓ[&t-voMd67F k'|c,x7F-&+ݘQ/nIY эzlcMf"[ƒbTy6~+b"{gKڤ Vqz6F9SMs/ ,*6tL6gcc[`g)Էm,)s5ƒұٿV\ m,) :fZ p6X^C~m,/mvu=Ώlc دE;ۘD6Fݑpcc -&~0_6:KvL_715&;#_z\)pu@tm٧\܏\coy;bJ61bmLcJv4v(b@J5ƪ[B4FP!-~iiÓ%V^iN<>وh=9ۄO2f:u%c`:/A2lR<cSH܄(Ʀh$ToЃal*[Z0rvMo^Lߙo>1_Vr1S' &\/~#nsZ^v+nbDLr 1M+{ g Z+sAj1ud q[}Y$n1.g-Ό&6?-IAv-if8D ϼ5@g"N0{{cM7Z ޟ`N^`lՃ7m!i#^F06->A+WxcW`:ن4;ؼ 6~}ت)w1xOܼ1х@7B+o?R#i#Se?l!chF0&6H<=j!=I7[i,cbdSVlclB`[[ g+sHN+o `L}X3W-ouM,{~ c;PXUآ˻1AN -D7B06O c;A b{3mjr^$b~1va -_lZ_Iz۝"񋑰=1e]  -e\X{xa._mtyl! =f\ WJ0b>z/Oe}j!I1q_Qm!aT7^ƸLX1-`l?~j+lyV1Uoo;+ymTmѤa=_(b3lE"S BV~1mG#=L_Lq+t wmbNN/F˛oﻍ^}c:eF/FY.ޞņ.qc(U// -?Wb|0]b* ˣVz1VeKyX]biVz1 c߸Ћq"ʔ%q5vr1b؅\m&b,9߹Vr1Ξ-NF.F ih%㣩_B\+:Rh+*fX-?MPx!/.Cϼs/7v1~'V[8.g8)z.la㒕 (.7Tňj6]L9ɴ.}vc+%xhesMm\֒=V*r1.d;lbZ J.fp䷝\L&%[Ŵ'LX2  k[ň(B\ZײgwA.=mX;^̎ +[ńkv1}ebIkA{t: 1 -A/EGb7z1I7v3.h%5-b)ֽ( ՌVlo;EZN.ÿT#]Lg.Fu!6v1m"1.^tK`v1=h7R+h!yň-xvr1[aj#qWr1cp[$H"\Lei$G-F.I:Ŵb`ыy$^,GMKЋͲF:nbl{RMҋ|embedNŴ;+{kӮf_LlbCt]&Zt| \,b1Ȏ_cp(g#r4W1"43J04$w$XZL2IϙUv1"#V1[mg#;,10V1_͍U3ʅeLgN}cY R5E@`%2&?]U27 b#T22&=_f2S =V1 xW1:yp%13 7cR ō61]A=F1={1$,V1c:搦-V1_BL(41"8ƈwq cD3ocw:X n4dLM71+\VՄ-$c١ywHyIƤ -$dL:#V(`ZH,y$cֲ4[J2&2J2BxFXqHƤv(,,cR*Ԭ_ ˘5c ˘O ve,]U -eb--laQ˘$@aeL"lɢ1ɰom61afLʉ-fZƄ1FhLAhLW1ul!ȹkfL}Ў]Ҍi5S4cz )gi #v -)ޕgUj3F3'W1 :g+ӘT %ӘBaӘB1]lo;ӘT-kev1TLcWGiLLV t3-LcCre$5Lɦ|o#Ip<9l ?EA4&a 3CDcr+j9ؽ1Y% 3K[kS"UmJɦZyt=eVt&l,A?Ip?zi-$clp1& nc1fp(HƬ4ՕeLEɘD&S$cèHƄEwc*aQ*q D/hn[r c٢ ǘvhoc[(<ɤA X~(Ƭ^߭cVULdBw1+[de\#\ɘm6ƱZIye561*qv1kmg}`Vz61;|2fȏ>ٗVrjl,cƃacxV1 ~`s@X+͘;>~s{4c i$O?U?ЌI zhƄY7N3&N05J3teLni2ۇ,c|hv+˘3,c6dKӍeL7d:˘eLwn?x2`Id61Y=oߵ8:2&$nIhb65ЌIz}TC Øߞ(d5Wߞ(Ƥ-Ҳ-cҲ(Ƅ]yrOc -dm#bLekmc:М'1iFj+ŘN2cRZy#9|jֲw1,H}e ˘th1BmNʘ䟢KqOE?Ɉ>.:,A|!}2p1vj$.ᶀI<`Gy![yBO\܃s'/vbl{|Zn?-,`;UO~ ?_%'UO~ܟܟ?p5~MƱSGe-2+-1QhO/6Eٞ}9//3&m0?p"={4@;?tEٹ/Pá'6ՇY~em-ˊ?Ԏ,B -endstream -endobj -68 0 obj -25389 -endobj -69 0 obj -[67 0 R] -endobj -70 0 obj -<< - /Resources 71 0 R - /Type /Page - /MediaBox [0 0 307 179] - /CropBox [0 0 307 179] - /BleedBox [0 0 307 179] - /TrimBox [0 0 307 179] - /Parent 72 0 R - /Contents 69 0 R ->> -endobj -73 0 obj -<< - /Type /FontDescriptor - /FontName /EAAAAA+mwb_cmsy10 - /FontBBox [11 -215 942 727] - /Flags 33 - /CapHeight 0 - /Ascent 727 - /Descent -215 - /ItalicAngle 0 - /StemV 0 - /MissingWidth 500 - /FontFile2 74 0 R - /CIDSet 75 0 R ->> -endobj -74 0 obj -<< - /Length1 1992 - /Length 76 0 R - /Filter /FlateDecode ->> -stream -xUmle=Ҏ{`3^wLz׭s%["AZC[خueAM/CD%:_r4!HBb  m >s/^:jxiZ |'T~lTvvSdg҆70$\qm#U7s3lxl~b{gUg -l;"9I=g,Q!_^~uK_2 -y'.zWJYN,1qPo~eev2EcQw)8fg33 uk5Uuen(H",͍!UYl3&񆞄Mzmb'LHU3vUYy1VMHi=iD%S˺\> 5'- JnML1DIO&^S|r]O>Rl͹-6Wl0ȹAсQMU%EƉRXɤ0Yk4+R%nH+0EYL2&'kQU􀪜EX􊰨$-p&L"aMXTTao BUrIU̺vua7YKn-&#*ĸ9 Ony}-4h"'\YxkC%B5nń`9U;[ֽq_.|[_ޮٰT]ɚ` -U;͞6c%Z!_FΈghyF'ʌ +hR}Bfp'ޥ.Kd km ѽwBxc[EwqrSaw0/;`l>pJv.BLXG uLr0*`-,`l^sMtFS 4ioh:F֠SO KxzGI;MJ$El-Z (;Iˎ9DHu<&*+qdlU;Aԡ٩L*=-m InEb&+ -R@feVbFј*@gKӇQ]'Igt&?H{U5JQ#TG*;Ixtld> -stream -xk -endstream -endobj -77 0 obj -9 -endobj -78 0 obj -<< - /Type /Font - /Subtype /Type0 - /BaseFont /EAAAAA+mwb_cmsy10 - /Encoding /Identity-H - /ToUnicode 79 0 R - /DescendantFonts [80 0 R] ->> -endobj -80 0 obj -<< /Type /Font -/BaseFont /EAAAAA+mwb_cmsy10 -/CIDToGIDMap /Identity -/Subtype /CIDFontType2 -/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> -/FontDescriptor 73 0 R -/DW 0 -/W [ 0 [750 776 ] ] ->> -endobj -79 0 obj -<< /Length 81 0 R /Filter /FlateDecode >> -stream -x]Pj0+l CԒX}q z0h[lE^X gBpjV& -:G:g} -endstream -endobj -81 0 obj -234 -endobj -82 0 obj -<< - /Type /FontDescriptor - /FontName /EAAAAB+mwa_cmmi10 - /FontBBox [-34 -250 1047 750] - /Flags 33 - /CapHeight 683 - /Ascent 750 - /Descent -250 - /ItalicAngle 0 - /StemV 0 - /MissingWidth 500 - /FontFile2 83 0 R - /CIDSet 84 0 R ->> -endobj -83 0 obj -<< - /Length1 2576 - /Length 85 0 R - /Filter /FlateDecode ->> -stream -xVkL[~sc@c $4Xք6!id4V8c{1EZEUPm*VʪVݦ*JQ*Z*EjHݴ^bavs}wTQ=t-R@ {lb~N;XL:Ϲ KNO,ɤO8J?""nLz4ds<%C#k0AQF+_?#Y[ߌSf -Źs~f65sI䝐`ۡhE/ ebMEp?.$F1#]Dl-Y|;uO[xS"R|L<# 8_?W%ۼ[ڸ&ʞf{6ܦ*Du:ޠz*^U.rϚU>EU.Z1Iq¬|Pp*D?U߻Y@tǶx=5nQUYaY-(Cp{B^<ħ qdm9noY_lε;C/31.mRiu!hr,x4@ȡFy0[4.&k#GJMM[<6bc{?6)wum-`8 -;?W+ƉXTH JN0JzLͺ>?a~}Ȉ.*q -xV甸^RL -7ĵTĊ[12/iAjXhR  jWXIzc]{Ňi ֳb-,A,-EZH8@?'س'/ oSFw,.qc6(G 1JFǎ ~ܵSqV٭[ILsahmE#]Ύ&2Ǣ);,ܓgS%J2S1j&UXφ'v=k engYהZiӶIJ -:y%D!l5~tBBc[[s9R ǿ)æK:ptO0(ub31X0ܒj+9N&5NNhU䯭7 qLdQ֯^uQGxV5ou=T> >cY»Nozˁ &¾Ev(3h\1z//ѭkgǹ.ۘ57ӽ/okWK JlÏ7(ҟߌ1xpPl,gȜ|>w0Nو?ӅiaS黣@Pͫp(#yc}t7WМtT9pOWdI!T:|Z[4? -endstream -endobj -85 0 obj -1742 -endobj -84 0 obj -<< /Length 86 0 R /Filter /FlateDecode >> -stream -xk`%( -endstream -endobj -86 0 obj -12 -endobj -87 0 obj -<< - /Type /Font - /Subtype /Type0 - /BaseFont /EAAAAB+mwa_cmmi10 - /Encoding /Identity-H - /ToUnicode 88 0 R - /DescendantFonts [89 0 R] ->> -endobj -89 0 obj -<< /Type /Font -/BaseFont /EAAAAB+mwa_cmmi10 -/CIDToGIDMap /Identity -/Subtype /CIDFontType2 -/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> -/FontDescriptor 82 0 R -/DW 0 -/W [ 0 [365 831 680 ] ] ->> -endobj -88 0 obj -<< /Length 90 0 R /Filter /FlateDecode >> -stream -x]Pj0 +t=,N=JJ!mK~c˩B~43 m9AW=F0i/+UqG|IB$q׍3G̑V8=i?4#d?N"C]W9!t:l\/I\B͸2(qR!I7bq+S5p{IdtMQPY>> -endobj -92 0 obj -<< - /Length1 6620 - /Length 94 0 R - /Filter /FlateDecode ->> -stream -xY pו>I$˖e%Ye#l ?`[BiidؔIRSamn%nd6ngͶLXɄ4mW{ss@@ewSdYoώMSKXoxCK㣃#'1DZ#cvE{'ޖƱ=a\*|gg 7q6}o]۸>ܞ{@`0>{t¶o1p %ܽ%\y>.ko@.ppiq - :B|20K߳7{X).#@}B}H5MR!/!2Ml{]mgp np~E -E-exp9qit f*NV2 -J8)xMSCܮM pv{ĪVҞi.ˉ J}XWm ZL# چ)4YM#WBSf\s^OG 06SxBbkLn161l춖Y?6Yοߜ w>pbJv^cA+JjNMlJUBMM֦SVH0pNB.WiHMމF#ʂh1&== %5<ᄢ425Gܮ -{/Q*dBѧ B݉@ۅCM&T.ujHhJݐtc~E r3 -HP?JObG_21paAUdgy>z(ۅ^/eW%W^_^) --tBU Z!^Ye3ʔ,"lןa^Cl'(/# H8GUByқdgNg3TWV*Y{swK2D7zT.,DAǽ%2 &rHb`h( nPrB~oePүUQvvE6|ĥ^s3+/&ϐcp4|MOfwy7>Qj:<`s)儣u"ͨU¯ -eRLh#pL`Լs;'yk%E{ģTTUV9fD -7UYxN"xA3QT~?Jr ^1M:床30іDTJq>UZ(U *D-Ot?qv|\˷h\]Tk)%CV7 ^;WJ.b(#xu0Ļ 3Qy0yN&-"OEI(hWiR Z}~mlÖFfdoHnX㺶LZ~n8(`}HЯ|!() ^H:_WMo@T9/TG] -%%c-IgKoMW{@j/$5N]F\'%ICE%+uE^ R٦1.Wخ\oyw.:Pʮ*Ĭ. j^3KJ=CÃ' YNVxMx7Ƿ(|/m~|a@!pqd?E!W(Ux%\\f4h,V5t,Hy,Fj D0YkjFC$DIO'3#k.귯qFt6lM>v*vW=DJ& -o\ǮF+GY&*}\J!SPHaBVRKX§SyʬHΏ~DB Rqq -52KF! -xC6Bm5xF bMdBbC[ -h$8+F{P¨L.QK/}iR*GJPM9Hj̃>B1eP=%{`$ۀ'|6)=4# -B"5,F#!Kw9]A=u`oY(uKV}[I,Cट|+uLE̸@Z۝ND@݅3?11$!&}$(6f.|hw]`w[\-l#MmP+<{?cq B3D:.5KK˗Rސ'K8nƙ3;=b,/\ y]YE j8W!巗aX~f6H\Ҝx7ѡT › T):"yEOOc# RVc/xPd[S\Rss~"|CYf>? O8ʾ6tgZ낎cIoqSqgcŖP[gx}t(፺rPߣZ }YJmXkH -R7 Rb_WѤE0r0L)i@\O WETYE%G ׂ{S3=F7!\LY` -0ic[i HjE"D*SVՓKu[C K]\ar=-n?ss϶4?;s ֗5##k֝_=/Xӿ9[ .ngm>VW\:]z[w47>q `|!I9wgRY2IFH,!<^UJ"VIX/ёI QsO=A%&45örF}/4tq(tz^q95_m]lL77Z*9*'Z_4n" mwmŊMPdɸW~;ZwL>ҤM:hu_ScƬ;ODgn-WĻ!u#77ԇԌHR)Z1u"e Rہ''|*r?uݏ;ТS+osJAV=t^:oxD;򢺇pœO#:Wo[wL8GV -K@9!). C t> <茗"<A ynR+0gdA; ":34v@ ʻ(qov_Nb~}_lq}vl9][|ˏ6v"`k5w>!vE`QxHj9NQ}9 3b/${>uSt2k -b+c /G J?߸FKiJW\!\ҁelh33Pp| l;|;5(%bXvmþK˜TRAu(݄>J|_ms*-SLCYL y&-Anegu)A&&LԧeLdSZfpΣi\ʹamh8 q#E7A xja93Z&hÞ)qy{͉QGqyvZ_X-(L?!h%4 -3!Zw7>hc*n*1UTWWL)Zmp*>7>:15NMb´9Sltnt舧2 -endstream -endobj -94 0 obj -4925 -endobj -93 0 obj -<< /Length 95 0 R /Filter /FlateDecode >> -stream -xk`U<Va -endstream -endobj -95 0 obj -20 -endobj -96 0 obj -<< - /Type /Font - /Subtype /Type0 - /BaseFont /EAAAAC+mwa_cmr10 - /Encoding /Identity-H - /ToUnicode 97 0 R - /DescendantFonts [98 0 R] ->> -endobj -98 0 obj -<< /Type /Font -/BaseFont /EAAAAC+mwa_cmr10 -/CIDToGIDMap /Identity -/Subtype /CIDFontType2 -/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> -/FontDescriptor 91 0 R -/DW 0 -/W [ 0 [365 500 500 500 500 651 391 443 526 555 555 443 526 276 750 443 276 916 500 500 276 388 555 555 555 276 500 ] ] ->> -endobj -97 0 obj -<< /Length 99 0 R /Filter /FlateDecode >> -stream -x]j0)rX4waʖ=Pɸj Q/|B?N~g[T~fѻeC3z,Mb%>^΁]"ܬLCP%cч{f[z`m*׭wŘH,{Fa^@,9ʉy=?j%9 GEw:\c*v}vھ/Hk;-.ܪ> -endobj -100 0 obj -<< - /Type /Catalog - /Pages 72 0 R - /Lang (x-unknown) ->> -endobj -71 0 obj -<< - /Font << - /F1358 78 0 R - /F1357 87 0 R - /F1359 96 0 R ->> - /ProcSet [/PDF /ImageB /ImageC /Text] - /ExtGState << - /GS1 2 0 R - /GS2 3 0 R - /GS3 4 0 R - /GS4 5 0 R - /GS5 6 0 R - /GS6 7 0 R - /GS7 8 0 R - /GS8 9 0 R - /GS9 10 0 R - /GS10 11 0 R - /GS11 12 0 R - /GS12 13 0 R - /GS13 14 0 R - /GS14 15 0 R - /GS15 16 0 R - /GS16 17 0 R - /GS17 18 0 R - /GS18 19 0 R - /GS19 20 0 R - /GS20 21 0 R - /GS21 22 0 R - /GS22 23 0 R - /GS23 24 0 R - /GS24 25 0 R - /GS25 26 0 R - /GS26 27 0 R - /GS27 28 0 R - /GS28 29 0 R - /GS29 30 0 R - /GS30 31 0 R - /GS31 32 0 R - /GS32 33 0 R - /GS33 34 0 R - /GS34 35 0 R - /GS35 36 0 R - /GS36 37 0 R - /GS37 38 0 R - /GS38 39 0 R - /GS39 40 0 R - /GS40 41 0 R - /GS41 42 0 R - /GS42 43 0 R - /GS43 44 0 R - /GS44 45 0 R - /GS45 46 0 R - /GS46 47 0 R - /GS47 48 0 R - /GS48 49 0 R - /GS49 50 0 R - /GS50 51 0 R - /GS51 52 0 R - /GS52 53 0 R - /GS53 54 0 R - /GS54 55 0 R - /GS55 56 0 R - /GS56 57 0 R - /GS57 58 0 R - /GS58 59 0 R - /GS59 60 0 R - /GS60 61 0 R - /GS61 62 0 R - /GS62 63 0 R - /GS63 64 0 R - /GS64 65 0 R - /GS65 66 0 R ->> ->> -endobj -xref -0 101 -0000000000 65535 f -0000000015 00000 n -0000000145 00000 n -0000000197 00000 n -0000000249 00000 n -0000000301 00000 n -0000000353 00000 n -0000000405 00000 n -0000000457 00000 n -0000000509 00000 n -0000000561 00000 n -0000000614 00000 n -0000000667 00000 n -0000000720 00000 n -0000000773 00000 n -0000000826 00000 n -0000000879 00000 n -0000000932 00000 n -0000000985 00000 n -0000001038 00000 n -0000001091 00000 n -0000001144 00000 n -0000001197 00000 n -0000001250 00000 n -0000001303 00000 n -0000001356 00000 n -0000001409 00000 n -0000001463 00000 n -0000001517 00000 n -0000001571 00000 n -0000001625 00000 n -0000001678 00000 n -0000001731 00000 n -0000001784 00000 n -0000001837 00000 n -0000001890 00000 n -0000001943 00000 n -0000001996 00000 n -0000002049 00000 n -0000002102 00000 n -0000002155 00000 n -0000002208 00000 n -0000002261 00000 n -0000002314 00000 n -0000002367 00000 n -0000002420 00000 n -0000002473 00000 n -0000002526 00000 n -0000002579 00000 n -0000002632 00000 n -0000002685 00000 n -0000002738 00000 n -0000002791 00000 n -0000002844 00000 n -0000002897 00000 n -0000002950 00000 n -0000003003 00000 n -0000003056 00000 n -0000003109 00000 n -0000003162 00000 n -0000003215 00000 n -0000003268 00000 n -0000003321 00000 n -0000003375 00000 n -0000003429 00000 n -0000003483 00000 n -0000003537 00000 n -0000003591 00000 n -0000029056 00000 n -0000029078 00000 n -0000029103 00000 n -0000041224 00000 n -0000041088 00000 n -0000029297 00000 n -0000029546 00000 n -0000030987 00000 n -0000030966 00000 n -0000031072 00000 n -0000031090 00000 n -0000031476 00000 n -0000031247 00000 n -0000031786 00000 n -0000031806 00000 n -0000032059 00000 n -0000033918 00000 n -0000033897 00000 n -0000034006 00000 n -0000034025 00000 n -0000034415 00000 n -0000034182 00000 n -0000034732 00000 n -0000034752 00000 n -0000035004 00000 n -0000040046 00000 n -0000040025 00000 n -0000040142 00000 n -0000040161 00000 n -0000040645 00000 n -0000040317 00000 n -0000041068 00000 n -0000041148 00000 n -trailer -<< - /Root 100 0 R - /Info 1 0 R - /ID [ ] - /Size 101 ->> -startxref -42325 -%%EOF diff --git a/mohit/figs/ligo.png b/mohit/figs/ligo.png deleted file mode 100644 index 29dfe7b..0000000 Binary files a/mohit/figs/ligo.png and /dev/null differ diff --git a/mohit/figs/ligo_specifications.pdf b/mohit/figs/ligo_specifications.pdf deleted file mode 100644 index 9b1b4ca..0000000 Binary files a/mohit/figs/ligo_specifications.pdf and /dev/null differ diff --git a/mohit/figs/ligo_weights.pdf b/mohit/figs/ligo_weights.pdf deleted file mode 100644 index f9ff805..0000000 Binary files a/mohit/figs/ligo_weights.pdf and /dev/null differ diff --git a/mohit/figs/sensor_fusion_dynamic_uncertainty.pdf b/mohit/figs/sensor_fusion_dynamic_uncertainty.pdf deleted file mode 100644 index c9fa72d..0000000 Binary files a/mohit/figs/sensor_fusion_dynamic_uncertainty.pdf and /dev/null differ diff --git a/mohit/figs/three_complementary_filters_results.pdf b/mohit/figs/three_complementary_filters_results.pdf deleted file mode 100644 index 9f81428..0000000 --- a/mohit/figs/three_complementary_filters_results.pdf +++ /dev/null @@ -1,2093 +0,0 @@ -%PDF-1.4 -% -1 0 obj -<< -/Producer (Apache FOP Version 2.4.0-SNAPSHOT: PDFDocumentGraphics2D) -/CreationDate (D:20201116103621+01'00') ->> -endobj -2 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -3 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -4 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -5 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -6 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -7 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -8 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -9 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -10 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -11 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -12 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -13 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -14 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -15 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -16 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -17 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -18 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -19 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -20 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -21 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -22 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -23 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -24 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -25 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -26 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -27 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -28 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -29 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -30 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -31 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -32 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -33 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -34 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -35 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -36 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -37 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -38 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -39 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -40 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -41 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -42 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -43 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -44 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -45 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -46 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -47 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -48 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -49 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -50 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -51 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -52 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -53 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -54 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -55 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -56 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -57 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -58 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -59 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -60 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -61 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -62 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -63 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -64 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -65 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -66 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -67 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -68 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -69 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -70 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -71 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -72 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -73 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -74 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -75 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -76 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -77 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -78 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -79 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -80 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -81 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -82 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -83 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -84 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -85 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -86 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -87 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -88 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -89 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -90 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -91 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -92 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -93 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -94 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -95 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -96 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -97 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -98 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -99 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -100 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -101 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -102 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -103 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -104 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -105 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -106 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -107 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -108 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -109 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -110 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -111 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -112 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -113 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -114 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -115 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -116 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -117 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -118 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -119 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -120 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -121 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -122 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -123 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -124 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -125 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -126 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -127 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -128 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -129 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -130 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -131 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -132 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -133 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -134 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -135 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -136 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -137 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -138 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -139 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -140 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -141 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -142 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -143 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -144 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -145 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -146 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -147 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -148 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -149 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -150 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -151 0 obj -<< -/Type /ExtGState -/CA 0.2509804 ->> -endobj -152 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -153 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -154 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -155 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -156 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -157 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -158 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -159 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -160 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -161 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -162 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -163 0 obj -<< -/Type /ExtGState -/CA 0.14901961 ->> -endobj -164 0 obj -<< /Length 165 0 R /Filter /FlateDecode >> -stream -xˎ4ˎ9O/p~ ] $jA=Z;iy" -3F3??Is_1U>9Juώ1ZOEx(}IO  T5$\%j9@į\B5y|%f/GT?}Jz_R+9SWmcTN='+RWdk-^~*mUR_5JG>Pebt4s*棏Uר9ՖcUUhxb?X*m|ufz*U}]fA0S纼?0f۩s]ޟjs -_O-uy9~?>)7牁ZAN.uyͥeL%%؏>I7>\g<9ۗ<1JN]G[R%~: uy-p/]G{rϻuq}n.uy-=b纼?x/uy-s]ޟwGs]ޟwkM>\>y/uyޭ3z8Ϸϻ q}nsKgkϸt1}nUTGZ3>yLg%t`GY飵kڏ>yǴ/uyp(鬄ꩋs]ޟw;6f>\J z.Oޟw{⬘}.ϻ}q}y_G;r纼?v}.ϻ0q}l_G;ns]ޟw*Yvz.u9]cr+7E4BW#7;'y׎o^;p37[0iktnϯ[޼ng׮o^zr p]jyf.ɧ|0Q\f%_O>Uy$8 1V|(r|i }ST kgib?TNUlc5ʘO>Uٰm+Se>p9E5Yy^ʘO>U eOU*-|QZ)O>U7VhSe>}s݇.e'*CR/]ܛcj-acO]'}|6ύR|2;9/Lq+SU>{9f,~2ͽmԑ>TTW5VB>TfT^I*ߖ2OlM!<2OlMa5pO>U7U*<1|g/sR!|&ɧnͿmOe'*xjg'* G)G8Se>c+_&~wYSe>c_q0OUlp/Kr$ɧ|6ܿk1OlOsOUl}-Rˬ'*9f߉ot$|6feOUlm+$Pq!|6³Į |6˨3g3n_1bZ멉SU>u@SWaڧ}>DUҵi.y檚ܠϤj&4y誾G|Hߛ{G>֓{E>Ž!bOzooLJt=C:^[!L~CW]x3:lݼXC:.[!|-k_|H߭{->ҽwb?sխK|H|#>{}ogtz|oqçtpC:[!L}CW÷8C:[!|->[-6;|H| >wb=tUs|>k|=1~{o1tķxS:L'|`[|?%.:Fw߮,©T{bf{ov?ixyG Ig6ַ_Pwljwj^^vmCh{-mwp75~٣oWcuwwp75~ٗ 5\v/;m/7׽WP[ZJN^\G c}SPuWZ;J ߨ߿5vjj^6wC ݫ۶o۸{5~ 5|wo[kݾ&oᛶ{5~۾5\M_6nC ߨݫۖo[N_7kC ߜݫ6oڲ{-~٠ %|Cvo[omSw԰M7-~׎ %|uok8j|c R| -?}{:E0^Dj5%]01 n-gSN8[ _jOF8zu&h U .{Q𥎧ӣ=MGNGh%}xLUCq||L-u[5cj`]mU;_=IN`|kkJzjl8 ,{PQ2l6'>l"i!G7<ǭVWNP E*^?EqKeT!(u,QT2֎_h"NuS%c*K=-%bARQ3N*_9Ys"bDha6yHr*4SKaBGoջ\ƒP*zzSV|U/j*+ =*…&0frnK5vx4@H$c"n)F5Prb64_ʄkbOME;JhKdmSUEt|4.`m:Aٖl:WyMM'La "Q3J|k3jN}Hd} NӀMTg՜a`sVl7c#vkLsPf*쳥ךbvD+h`dO]M`5IF1~)Ѯ3l&W^̎1]HzD}N5Quqc5^h: %tA]3넵%қi57^;ƕ{-SEYu| Xf:NpE-8NX7\*f-6uQc3&c֘MEQKή8_/e].L5Vİ~FE2YÆPie5g^|0,ΰ3%DְPpv Z֬a!pNt5 sd -buf1Y[EYchޛT֬3`uf /K&wӜ]f:'7tٕ능OEuʋ!v]W^ 063vqތή"GY1JD]cRG_GnygsJQجήń#lή_] ,D֮1 F'(Z6d:bd-0pWc-1pYy#,cbA ^2Ibe)"*δax9bSYpA&)Tg%kKS9X˱~|Հd%iW -5rS%C,;N"ccCCRlx;~ ;&kٓ}5)w藒 ¤* [۲&gl -\[U>[- -6$o1lL SDW116D0\1 m>( {[:ef[3 4a4=R`If#>*c'.~x☆0* -%;ֳYb؂^+ac\yv!Mvƺ/jnDTŰ:E .  QA4x?ưix.]ljtu%tB[bb2St5u`ڂN$ln -w"YsӝF1ܬƜYC93At5DSY1ETYO&TǮ^!=@+6a[5E*G֝Deu\`t5=xx!kɢ4nÞz\oۮ!kQg+n ]m']#뚊~?oJ?0v=9-Ӈgʾ]cli au+Q~o0̑uaU&1D_9)4GIk|YXyg&Y]*iܕ7ؿ<l;ҵ`0Z;#/l"nW8+( 6́snZ3o ] 6DxmZoܡ.2Rm c`=IAOcDe8r[(Y$"gl/Jo/}Ih)߅-5Q2PDŮ)i\4-L4kZ/E؃҅"~ءY~+Ӭ?5I2ѪGglìb QkQW<"lcNQhUC}6IVĪGYĒ]V^cy5xnp)lb N]F ^(1Q{˨`` -ۨ8aY*j6̶VWkrַڽZs=Stu,0~,Ȅ>lyaaj[[^9ӈarWkjـ0lȑJ^!tiG^6Kbu *Yki -ѵXL.r׎}x x RRŨ+fIN4( D6M\9@({e8pPobCjհgYw2Ϯ~@ R}ae,`3ѮpB&ӌ)zt8vk\/xfcXs$j.pc!"lqW:_z[u!qS'v5R&<{6j[\x"Usy]faeWe;u - m샎 .ƺ<0""8u9&>ͺdټmօ~}Po.EB}%(]f ϵRHe2Uv5DB.kـ5쁰omqށˬ۬$,Hإ%̺b͚EQ͚'|_EN2kvKQt59Eo.1) ˮɨvs]() =o& ;]v i{bRzGkVɸZL~ov]~DÛd<^v`tk810CRa`7u5@7Pvp -nI1GLmڕp';]M{G LJ@<ݶ2 -۶+TY rmC49.eە5ϡd)͓fX}żMxx:2葞8"[ -l*ǭ۲!j;3SyTYv`cQI37̣Yv&ՠj0SV_4/cz" 'kʀKn'S[3z?$]f so"mIrކn#!"\-c,oʩAȊh3Ͼd3`h#c'fy W4?XMl5&4ͪ9u&'"w,1IPX1$ B,$1dIl1Io4ܐkїv$1^[i֘WO&oM2<%]0 ?8dLeDܷ|S_R9f5I8BNϗJfQ`lG~Į9p3` 2Og5AO Kb٘ n):Igc6lW&no6&D\EfSڸ`Ôp1$}4L0 +ɠ[Mk Uadžw0t,Wg6-0kGm L]j6rzPkr#Ӓ-ew ̡ܨ1?s1~-vэcv@70>oWT`r^h] ?#X?Y!ykg|2my3+?0>32]r^徚!Rr r.Rt{g;dQd^Ħ.M\>\<FE2ht)qy -C-gq|ph۔8<2BYmج8j÷~f1ݗnjv|Wn cY8`^Q -D]z\N.?ɑYrQ`7 qLcIPhZ[RM9r;fP1遤% %04m[,G3Ⱥ1ŕQqBo ԘʁB236ݩ)eһ†JMM-dXN,2)y5ny"Ѷ9,1 }ɮeQ``]3F^)SELn \Rݫ>O5,$4i>C iehfɚc>8S%QJWEYjĹsAv+:5f9.ŒhH3 -{bC*XoN됐.@y&{`9q)}ui6yɮ>uԚjbrm8y -IO·XǛ_a&C7x1JqM6h NSd>crQY۵drô@7X A\;F23乔zeI,zRl.|Ϯ&pj_-6ykμ)kPRҊL ZMNTa$H Ve5*Ցڴ:)yR&b KMYyR|lsTQfs|O=M+|,`iz B!vcKv[?ø {Xq-gQܓl3eR s:Ȍ"֦3%]\{dmX0U]Ysiv,l֌񳸰\T 1~ya[CsvQ -d=g,368Ŕd;Ls[^h*aDQc|;^j%d0o},m9?Em+}eZ/W<fӯ٤;]x"s+濾d[Wy\`AM̻JVa:mɅGW,hc)p -inXusUMØrF6][qh Z^Ћ4Ȇc$:FƬhfo j.%˘?}YӤ:4T2Q[-$eMcT'4ʰQ=M*r>%/(RdX;J~lʤzZvK~&d$35R"+pE9oRq0woM<0GԌ<^F˙ֵXNGԦ:S6؟!&'QTSEe&-m AFm7|{ ݯ%^1ϰ~{ؾ^?e! 5c[vn8S54}T6gл3yT4;o;)14RѢΣE -QG oML~ "QQw-Jcv؏TӢУ sy@ٽ30L$-/ե ?C4$iM^Lq(G<-vwV4[Y , /5Mero`.Nw#,2> XZ,<HI ׷/5%Gd^)~fw39{%kZDͬ -=t 3JvY8՛4+?UjdQI[f ۰H)q76 2˶kaMd@I(?Yʏu2./Kd&2CnYQF"3)|Y"Ol5wsϘ,5I|aMYcO-OtI+?fYg-ӭc#[GY}OZIyTtH,ٽ3o!OT>%R/O[(&2D Pj vʍen@[,ck&O`>iQdhj c]H̪?\뭚>x>V̪*ֱ]&2MUٚ>Sj0zTZn%Gd՚~]Zm91'k,Z4ZC1}FgZڊ ~߭Ȧ5}@%Z_h2(3υGjo-Ӈk[[Nu"!{(L1=Y2c3`dj-[΄L\ϳEU˯imXgF]`p^2cl";gir=Yo<%[dZlJ֋|$Sk.Wk6fmR6랳nM[ZOkMrAjPyt;֧}V~ '˟`m!i}"=τ!uEG/e@-]k#[g3PWnA:F߾4'C'ьOfeh0}ك".[oT}x.z{S -5~f6Jt}`)DQw)'H %,Ef <}U&z:|ؽ:kufߙPV06g姬`5}iۧ҈ lH-foxZ"|M|F̲ sVm{Z>[4Q>Nn2XOcr^U=~Z^9?U /cv⼚y.,l ,kr4m̢Ϯ>$FU5FυE)򱸈,EIcxQ>ʜW R>e\&dxۯfA=U곞8B>!KͮL䃗e{ǎեaW}$G@73l.Y9Q7qjzDd9e 7FraoeӋ_ U*s b}<+M:$ φHc_XGXE+z/yE2vE,gQ7|TO$ST*u({%&%0eɜwF4K5|"r6Mܨ'{Od5Hv9\a9,3mMApSFoO)(pnQh({ؑ#yg],kwi(.3u؛i]{C:3zمM~gT +z qs[ϖ'];%o -˒9ǚČ4-{0z+j9Wޘ,w|g7WCRUyk˛iï\76#a5WYi.aP?EdGKؓ{>n5BϛP^{^+ytuSd+9/]fl]-e8dc3}ni>>f m2w)}'=]%(G:Ol?9ndVy']Rftodr(sb0tBުjޕs%qoMnE LX&ī*3y)xGhgޣ7 4wXe?d)CƏaVV፟vMRQ>7~<[H*ygۂ۔9g3ř!{JS F(!2ET!x*sY-eٜCP ?|zf% o#E6c A)s?؈_9#olj#FoV4TH/y|aP:Wmp2b3=_!;om.ZK[ܫj7g]dW~c,1fqI#I-'e[ˆ s_H#9Re Ms}tG*ggyl?fW͛!mo(-Yu1 ?%vUt.`/,9lu*凌syOyyk1r:x0dBgY>hgfSeg.XsF &Wea/%zғd3WeD"oSdl>۴lY~Q)~bo/Z ?+4J>,QGQݳ2E?!ec[u~a[![QnuQӶa O:;j|6}ߨemOM em7vPT1 [dsV.ۢ줗l-hq[SXLi7~-eݙP>L7Z>Y:z؊MCFwvlK|v6>k$-r6Ӈi)q[@P~gΉ\py[S'lOf/cQe~Շ "NUXo۪ؓGwxn&KY?a4:M_幌[?{BKBq_5/>2u&׍UQ٪y_bqu*6)gs+6 =\|{<Vs;*wB(- Ɗϰ׻9V(a‚$ \FHV}7y-e%I W+.l$V,+I0%`V$S+c4+4<̢+YIV&9>ȧ~l<+ɵ :}ύ&:e,2coP+&4MnRN+Vl`o%y=Mux+aV̞%Z- ̠[兎pEY9v{u+/4E6[$+5$K!7KT}bu -k+fH@WGHW/x8;]1|}+268w+i&;pvȎ fWLb?#ksM&8XzRWR`C˽b9Dƴedت#_IiFa%`W,R~M~r+֖нW,Ws^%Kqw+`cǿbJpp`xRWF`(۰v9w,YG^ G}ʂV!,[bhkn`ͬ6r,)EFnVizhIXY$(U\YPlұ/Ja֌ZԨeJv<,ֽM6zde.:vD,"!*DpK_XY}lP,)l7\%eR_cX?|K}ŪE^.;M}*I:wlh,VWʑB 5eE45ѱ>RlcX;Kj ūX0V#f Y8IcCdVEY,[:6FklI\]$K43D Ys55Cb%01J\,S\yź&jT0Y,s`BZNˣ'GbUb8cCe[@LQ ‚~Mņln6=,KJ\Tce1PYyYÝѓW`ۀ2ccY+J=2*{?3S!nk1$4h4S7bR3uج!J Svs4ՓXeYL4=9ڤ --nCgѯol4_YLO+<.WM9z֐X H|#pyW{WUlPnbaU)4((.r MLeŒtmY_\tcڍqJc.>!s+W)Csљַ+±f_csɾ[:*X,rWF4KDt~tE6`x!tqoF2|P -Ctɞg]&bWBEB():]YJwlha%ʎrO!a;W~I,=C&!+̐atBbΛp;CK؛^f{1"U#f0ȅ .Z;0t/Ǡ$R{ b29($`<+t40K5 !(…2((Bdx;Q^Š$1(b(c狾|1 ; , AVJw/F1ڿ8e2k^-mAaG7Yۍ\ QqnBXWי], ;(-1r3~1?6>6e ذ_L$ȸ"b^zXbRٔu,Hs/&JOǴ Ew?Wf_wDWY9הP -_tYgޫ~4a!oN -%%H/,y! kZJu -E/`H I3=-q/<4A`_tfͳ/xM:(̴ a&,Ei3]d-%i]hJ5/Hϱؑw͢h#bKRPCK!dž>K2ʱ:6Mn/`0$%qw8:* rA -Kc 4Uh]яc~1Oy,;/<ҏ8.=Ų- jq_lefi_/~:6ؗMנ0 ϒ.H_]B#,-KhJ꫺DyN dа Pd4%3O2j63/ߛpmY0'8`^EqX/i챾n˴\Y\X;8WSO[kezV̤ҋ9U%Ŧ+!ي2@&EBe~Ԡ2W% xQ'sn[0U9')+UРw ɫWQ Gd𢔙vJjXW3@,ŋ5@8p/QǫcxqY' غ4Qm&^4 8X,胢|" zu2p^PQ{ YKQ}A:6vEUu GQ[ZCerΐ -:pEl vQD@]*פU ب]\YU풅ۤZ&NDJ.uj:]r-=>6`5 U/.Q04~~ql.hStt}134.8z% X_`])M:. -:s ezp%VqPE(Xf3%uɟ]=KI+/B(bJ\OgZ^]Mmq{!tq>hpk]E` Mۋ:>J_x.<G 8 LM.VeY6vDEs5$ٻԌGyES(lwjF8/_'E", -2ulcP.F(\ݺU&K"N5O!2 `'Kbt%Zd-bv2EMs<.h|JC< -9 (;BŒJ$,gi vkGeZvt!0] ⒞Ϥ+ӱs`X2ⶁJ<2.x6w.*fg :b_$DpsvE _Ww$Ip ?Zw/oiJXu[]bv~o  -2.Sw&Y^eo1)]ΡCoyQK/-B\wK _`kb ~_"ނJ_nI;wxxM1!0{\ru-BH؀[b,[e,]x%Kb_AVi")gY[,7E1cKߎ%=,Wh8[CXi buh [CJ#bi;b!9,LfҐ:Xt082c `s/[9çmca.^ʤ1RCcscckM呵>,ZKz⯴~ߑddwh-Y]v -qd-&1B򱁵`L er㘘dž"h -ھbTP*?il %42XejM鬏4 ԒGuz'Gӏų|:O{6θ5 -l\:IEXϸL`yZRGu<-)OK -ף<-KViQ_3(1_bqZ&KpZP$+Ҵ׀юѴ(DŽ7VvVA4-FV3д`sCbTWᴤ$6OٵKK",N&1[bli1Ɉw7ŘY<86ejGbNKÇV+8Vudma$&tq,s(ZI}hX]ylJIz<(ZU LGbUhZ, q-V4?(ZI+\ͺEKjsr"eKbikD8H8rL|L9chƆg\$)}5m ZIBT_AXG:QR7D2Tb O/ch% sZL(1XaZ,*au -èW0X c"1X6$u-VI -VqВj1Xa~,C+  ":GD1Y$;$ՎҡZR`1X"GEh% bUڰh%4175w"yuu-㮛Ob ނ> :|Uh!Z,$lݖ/gDv)RX,gb -ܕhZ*0GbȠ' E"Sy(Z\yS}h#0-/jɒK6 PhI`qnpx▢FHs?67؉ sr Eim }rnnZ2b:8+40ul-8NďXZ}Ųzu)Q@v.U馎E;Cd;E$VSSB2Q+9#!r-&h<~L^1Zͱs"/Uvh0I_JRӷ8Z`hӫYW9vkX_ N Қ2]l8ҚUz5̶pY%@lw`IZR]P+JKJE -s(-Y75ţɥcGiA]+V,F2X,\hvgA(ޢQ(> *z^2VmѢ vLeCDeTO$hIU:eb`RƋhQjE2|ER Vahq6vw-2ChIݕ+ZEFFТhQ՝GQnWIGТn_,G6by39V1dZ"̄[ZVkO;㹎E6p-5ŢU䜧̩qFI>-aEY gP -v)<%2!k_Ѣx a); %OuGV.P(:g(Z"+)\.i>hlMoK3[QDv%DKDәl-&A)*g*YRlq- -QDjwjKL?6˞Nr,FKdse'*`7-Ou-5[-ax`rMsv y?ve쯠?t͐-SO-DKDC>%7yE- HTq-3mQ1(Z"c$e9z=0n`DKdAѢL 9Ș2Oq-El 0ZR GزE70Z"+O1Z"Qa3$aI2YlTu[$z?Tv%2W(lnOŢ9e -EKD h,Ԧ ŜV]EKdZx-tǓ%22 +EKdx!S>E_{x 5769/T"h{,2gƨd,orDo6F="~*khIۚ,FKDd/h?84\ RD (: -ɍ Z"# g!Z"c9jpE Z"s.y|nCꢽ`k Z"Û$$mE`QC6%2=Dmo!Z"#I[XE,Ξ a!Z"bvoL6\shL(m?%.ڽBD4 ZŻAD& -Ie&(2zdIXJp-ʂFұADY! X0ՅU-1s-œLMN)ha1v٪ ;6ȴi>7I@9Gh͓q Z"+ xQ&TOg(ZYqXȪ(Z"ƅ-:R:vl-oS)/-echL`X:,EބOg(Z"WhQƴ}FKdup%eUj+rD|JvhP'ɂ(cS4NbQZ"OJ+ e%T:qYfǮmJKdLu5b,q,-ڴ8I%v1WұDӵ/ci u8 -,;;VR%Rek?|Q'9`l)GΒ4';:ȂPΗ!iQO`EY"L۫8虳pY%T[8JKzWxJ[ِS+GK{_ G2l^AOѢ,62,,GKTf@ZaV?A9'Pue;/3H2m`C€(qYEY$ -v=2 bd}hW?т!q(2$OђD~h1_(Jb(c74aZe,)ua/(O%oqǦco%AMtV-nC]{[ICIѷ]}dנ3đ3 ` WN)X}ҴBAp&OH;9 a -Z%~-u .qs$.1aDŽ["Yv0$\cV^иx~cqLn 醣{ܰ -Jߛ{X`Ęuؐ\<ƌh r Vx\uPy*IsWI"RWIz- - -i>2t$^5gʾp$u\iV``$HMVIt~U.1m*I;c'd뮣܋zr\ -J8T^^hUրԺ`U%ƫ^r6xR$K_Uމ7.*IEʘ*ImTI$qn J8bUxJ`HP%iTRU!M@Kv943f>$J]lj(^Ԭ{ ކU2*srASI:->Y&SIo6ɮm JҰ~賌듲e\%c$MKRVRIrPk_?L*@AMe\P=K!RI鞁TL JMx/ppHҮ$,Ӿ 생Pmؤ }4PN-F>D%tOsu|Iuz C%FʊMP(8Bbd$/e`{I{]M -GOI-ꂝk_ըpJSTǰUAOImt,eY4 -)<6|՛S!*ܩPi_.|ҭSBZjTG5{YA2nJBJ˰NUwOMM} ~YFIS!gԪ$ДμpVi,eBહʱԵz -Ԣ\uIAʽ$=R]:mTmKR[tTsѐ>_:IsI:Fܩ9"R]tCڶhBe*=I&QMQOmYQ'e.2YjڜOauPIV'ZuZ{@}|e"%Ԫe.2?i,.+訏R?XO9OaSe2PpF-RER[$G8Qؙ8Q v1SGTFTHx~QuDl #*4_1Ȍ@WmaDIIsTDd. -G &JN(3&J pR‰fo 'ʵ?@DI;Sy‰6H)q's\?uDI;>)QR52%5ʔ(i :;-䬃P'lTꪃ7UΔ(iM?&3%ɮK2*0U(Q.)QM%JZcHRl*A BdV>&x8o $JNSY?UO4:/J4[c!˔(N%J5p\;RJV?@W`?3'5b2P)(lHf*'JWfKNG% ܙZ$QDf/ːWDI!QD֥'̉rF 'JZ'j*^y>(l7-;?(wm1,QG9 -(5~ģ=/( }ķdmigNkc{~8Q]i̠(lr͎}((l{;̖IQ 'OcSR}qhIQͽmeuTo )ʵ!EF"$5\8CjIQu@L L儧j -&ʵgD7DUIINDfG/ ׶ZH>c,OSws BFy%(4{ -: &5;yG`\딹KJ.Q)QhU(Q٭ b}D6ykɔ(XvtW(Q8l+QDvt)] E.0jD*(hUfDykS 2$5 eD,(:!f2! -5vig^"]-*|(_‡r 6٭o 5S)‡Bb ,|(Cd@F∇ QA<3! -7'- LO`/<- \&D!ݜ_T"DV^8Bk8^AJ(: $3" - ׀`dBKlTg_QhsX"`&D'|2" -n>sUr ^ TZG@ mAD ҃مAdD:޸-)?v!QZD-6vyBBspm 2EO7:CU)~>Cl[ Q@ Bϑ@}ܹ-(4yC>ռ2.(bTcDٌq6مHg~TqwDuKTP Qh:ZmΐKFcI{+( - -$CeHН_TZ  -# -n -cD+(G=F): -">QhߵϹ)CˆBKZ̦݋[2#y7 vZ"2#}[*1Т^יh H4[-fv|Q́ȱ>#)+(9PE}"mk3= <1u3"#u( [Qhi! ЮݾY᷂B9/(OiN|Ȉ(ag (DZ#VVAD9U")ZFD!po!2"ʳ -s " - !QhǠ"JDFDݳoYFDƅ~ZzjH Qh_ߏyv -b̃O8Bddߝywlެ\!D/~A!uy _-CLrpGб.38%}0%ɭElyu|Q.a~mDtyg -ZQvwk-(׀ ^Q@{4T3!_8 A˄([1C LwCl̽2YGZNz6D`7^dCu0.(4-(kӯK&>5BOmbgBϥq ܟmAD.cTeDkxkhN -iC -BB#u˻hMP&D2=pn*(F:ǭ<\ 3I ό_wvl ˄(ߙl/]˝> ʭQ7޻bl w 1If>XP~IsrCėS-07ڈAل xQyմMa `CywP*|PQ]}>~{t < B|ʙ(QQ*܄LX - T.k'>P^֭P؝ð^̇r?‡Ŗ̱lbZP ?M{x2x(QC5"ICQB#OCQqblࡨ8atB>{a‡dJCQUhض(+UEv[P+|(JGxʍ -}6yTHň GEȩ*r}kNXQdCQB%ޭlWCQBcS-؅ռt>wpL=w#E kܛPۂB::@ʆUqw6'`CDĆv$KH Ee͗L' r+l5?1S%,eDCvBQ=O7X(* .vIJP -JΆ -yN j,\(X(*@.X(Jlڳoe2 KY&!2K `( Cȶp|sNo  _,즼Ȩ\w{l-X(RMB P'3̅}0z *8wn ;Gu E}g,+&kN[P#e 49 E~S}-+q^mgr/3]#;v KBg>a $sH&7rud\(ŧmY.9a2; =rQ_P$yqٯB䵁g]P$kne? p߱/3 H{2+c)qHNv-3m`&O|VpSvƵF(ąrI~=7k=^̅"kyjO.ljP16ܚm2IB`g#&EIJ:d)VP=<{o>s RC9ĐLsLBulS<g <);ȗQhCø=1DPxL"Ex\qJ`([k-pZf (1BڶH)م=QYP Ej`(?~o_Cys[PW@j"4őA0ޣiÜP^nL2/`(r(6v[ůmC Yj(d( j -|B򼅗ӓP$'(ce2iFq0h( }*<]џ>2v6ϗ7# E~oʎl *L"XҾu!+:yG E| ԄPDFUVAC>~{B"mC %2AA`L^m!CqЁb.d(*'ph&C9RP30Ol(B6v";С{ >eCŚ]W3 +5s6}_2 F"JN҅Eu $8"K]lDy4ԾVL"j㻒m1M<"^8Qܟ7`[@Q5/giIQD.@VEt:":{>Z!ȩNZ$@^1H{IEAՅqƋ522@=T60{I>&PK"xuvl1D8WCN[-(6B*(Bq%joҝJ}De(ŽnNc? S#*8nQ {[QDp2xr[Qc}fC{ -s]OdS ̐"-|H$HS(RÓ5Hy! #PAHރ6e_THRh/# -JYRD\XRj -ndpש?K]Gh2U!ô'M>b{${%ށ[ -VݠKԅ+E)e"~GxY!Kٸ4-ElmWEgaKȳ [1] -\%%SR=/IH!RC/E􎢤[=X0EN11EM˜"DS>@~LzdjozyqWΦN4UNc\/ūpLx|b70)ޮHӪ΂ܿ<=ʚblo9 l-1gQG02nH[MXSh6Mic.Q*bLfN_NcBBo)xŨkI}+3!P{PReR*3yʃx`w>x1ӧ0*UٛN\A͈5{:IX+kT!ANf>4ۙrPé&Kζi=.cJ~-,*"|saQٴFLmz ndQ=7?T]^H-@* RnL[$AN:Jc - - #}&STIUTh@pa|B:l|ýoBh*[IaRmFzU\ThT:T?Z?n.|*"b`\&b5\O֗UӏTjz!`S> ƕ$ntM*4j m -^)iAWDJ*UaWM?-*ˆB8DzuZZ3p=x+4w 3 -!toAXy|J%3w%C;t)+$ SowNpn/!pL廐< -OyjP,2jzsm[XVh1j'QXVw9ި%,KOU}hD=U=qwlտ8i53XJU}H3u -iVhZ!0Z!t/ - -?µ PVCbm![hq(3RVhv_9%τcKt+@NegPk!<`dry.RYapi>̌, n'.f|P -%˵R-,4ܟ{[8Y=tȠ,u΂$RK?嚍)uaeFU ò\CVE V}i5`CReizVr<ޔf!fF9L -25T1]Yhxl 45NNVjkVyYwfGQ-pgKK ߻qסor _rVxnjvOiWKu2l Y˵KuDۂr5gKuOD%^}еn*5-x)L-|-:5%qcm!l|Pl/I T)[.`VطELQA\kn\{ۂB:񦒳DmILj- oKگ\;B&3q˵ 2@T{l-ukp%k/kw~ FOѬ[h6 SF*;_g]/>kek[a ZofKKR-ר>T[٣/ *-6hW ˵oHi=G^CJkAlkWU)\ M1]/s\o gkI\AWfqF@0!3Z3%Q.8.(o Rkqv`N/\bx\<;+"km35vuP..jCYlT,}ۮP\kv35JQ_\7m!s!k5}4 r^Z3˵Ls^]@kvBr͎G=}ԅڡc@\g۫O:_mtFߣI 5*$q Ӳ*.[< 咽uSB|"|y6).$ NM܅'\k3fuMqyR܉rƺjv!5F}ZZQڅswP\3N-vV^:(5n'm|(.聗Swyamb|:,tAZϣ /lqF9Cf^;VW0ۺb>ycVL- /z< ҕ-/hk|7f%J/0jσE0"$kmy5i^hQ)-Qw/wGJ[)#h93즼Vu])Ln:mzQ(j2-)d/4jC5=qcf{yGͤ 9BcG~M5B& f܇7 6}I˅}-Ļ9_h6Sx5 eZ=M6l33eOB:ʅ}'cm}!L}MɷHܗ7ccсиGFH #HV|x*/¢BdF~!bB;ݦgPszBBu9c&e]eꣂ^wd.2*M?!W PFڏ{.WQi0/}o3 e¸7%ÿ.LB{FtA-陻)=xO\e&M/dema)`9SGiC M͙4RrIm{xVΨhk=Ve]_q`H]pc.oK<0z7GQ/?k /Y`4؎|]1)|"=o9"Z찄JD0z<+ -l䯜>%aճ =w!a}*,Ұev ƃDd?m3-804f?N䑔p`@n#,(t\O -p`؜*q`H;1?Fێ)#ItBt9ۊ(3m',.UƁѓ|Fty lxɛq`Hvw2 IQ޸DJ40ڴxp - hRCQ'f c-/,0@ir),0l6A5TTo+^.`&hceZX`ݱ2),0_;[a!%Ӏ]h~i 8^^2dxW(~P`7:H6s_ma ϛځ0ܰ ]GsBfSX`tlMЫv֌Y`yzF*lۂz%E﬐X`2⻀=R Y;F> NTU+,05((0z|?>A|j__P`xxk[-(0mj6bdηSALs[5B. ^׻ڣ - `6``X8xȩ80u fSߔ õ&({=53 ݎ{{a0!nt|^sˊoa o8\6vә}{ {J,07*]s߮Fx̔[tIN.!T8 >8ڮspc] 0)40|=>-40PX¡'m Ku[mݑm[h`xDȈpag2r n4gXw ZZ 1NBF}[``߸uh&6tm* C* ` )DI?~@t >12 L4Ê. JD/# "[ll^[eȄVi|+U?[ϝpJ^o{4 - -̙O Qy_ၹ ^F8sY(LuLc%NORz)}p:pqumX&^WijeUx`0fy]TB၁;k[ - 0{l)!Uva-G  M"ſ<0'Q/Ek>TRx`t"~D07t$AM8mدoN|?H0<(ەu-H0U~2#9x pkz - NU*|  Η3-H0O `!gjZ`\QU{R'`~Z *C'@Ve(;^KL=Cx|CP0wCۋ,P0^G{^5i3+Q`$V[10w Ku*#Kd*XWu.T0f8ȩ2SS?OX0+ѕ29HOxc,{m^e PƂu'7n^`.R -rbOڵ-T0!wh🞩`,m+]:*K"18e*XlH -g*Lj 5S.[Bc/0Q2S|1``nwpłʙ2ۊ`os1bh>+ԡ"Jcwj+a}V*?jM*T0\ume:f2 Bo -~#@,612Vك`' BJc2p3U`l*TˍK`j m+~;  njGYq]82P.L:N/1pyˆJ#"U -Fc7?<foHLt!U*IİLE J#˂m[`d[t+1t -歊7wL6vqf(P0JөZRde>F, -&-VdnD_,T0"X`4TV`Dl l[`M:\`t-hnhF 0 FE;4_,O複 l߸dU`v}\^U!Qzq d0Xq28%>8޳d0#(+=IljVT2!TD!FXNL yA[`lz+ i[P`V)]`g#WTt/ O FYkjW`򳻅ȶr#]W傹mq 5`%ooW.n6 kޫX0L%dłanW,H`':ӕ`xc_sW 'œz  O{!c<9aU`xsH9~_5w4[T.mdpOͮJ/Kƫnł9=ջMhT0/״>@ <O  :Qi - 4E`6 m&t? - Ou -AÞa[`͏Ry?_(MJ۵J - s) -FLnz]]b3L -#k3a0 -Ñyysu -@8Q#ya?97T`lu"[\zdGYa6(=_``* y,(0,F!! bﲍ -q3MC]O"& ۥ_/7v 77]93x\vz7KV!Ŧ5 WB=~ϫ -' j -ymaA=^_ *{j*NOPJ"PyMRR]W2;#aոw}+/ь)#&u\+}&MsyRs *9#jen1Vs=ejvh,%Ne2E>%g:FAL!Q_8L첌uۺY_,)2loA/ViN9V%T_)R`l.l3Sg4"Q`Nv}dQ#i{G&GH.MNE* -]11-xJZ"a< 浜6d]`,g:m)0E`y3!ή82G%N4Kî]=|L#@ n_~S`#VFa̪v/+ ߙ;#GmF+m04`/ p$8C; u!dk 3>3Y&e>\ -Lm 0lNY~`'1tlURGa{_) YrJ_`?_,t3 %;<w -ZJX1@Az -́v3\3izv;!nߧB󩁳)T^&B+ Zy_nj\`5A2gӇ>!2gaC}iҦNq6ƮC]x_w7a'q_ܔM//Lzخآw}s%8.ЛQ_)sh+qPlf͘/$&GJ|!1*MP _^grd+{f ^jw3(B˼6@/*zЋJ1FT`f=ReuLW5< VtTW^^y7ygWI0~7veWscFF?/{?m?q`du'DXEOF~@b+@/ӼN{]N]Kʣgl0WTVԶ8tmzy(rY ]AzQzAk.%ݞ?^R?2^^w(= gEr-@/}@/:l%|SREm[`e%٤*XUrhaw֠~w7跟P(ZUyEᶍczQ=ݺ5eW=Zu2ԋ8zC,\JEld&*xlG3ի{(vLP`4Z7Nn2dEcEs~B్q{/ahTGG՝e랺R+L2֋ Esƥwpрh4W^v'0ԔZ^L(x`My -7' 1Q -׋MEmߒE6^ -2؋V?m{ђ;V^t{k#SU@q,|]E{>m ؋# 4|^b4ϗ}\^`.NmDd VF E E}>B6^tםq 0!uN=贗QJy}b۰-`/% ㇺ&$i{^E`/:~ȥs?doŭ -؋Νۤe;+\/Wrh_9 rZzѢb.(`/ZT4g=ZTdqlD69`[^< L|_"{чٻ(63/^&{P´ \:=J E $xVgV[B džm!{yHX)l ً[~!{}':,m!jJLh/B7% Z^-l/͋v/E l?xa{92ma{7 Z2Km[]=<^>@a{ pM: ۋVc?df{gA:JMf{Ոp)l/(+f7l?rK~C[7oNbna-p/z1NuC ^b؟R+aC|_/aEC_ܻr X 7'.2;*ڧ[=6aC`A{4 ˻&qŞ'Ih0Dф^HP[-T<$т S$E#馚-Jy2 ۋfZ?/؇ma{p:71..e}f{p&EC/!3JAݽ><Mv ZJA{KMߥ=4GFIMF{ёւBV<ᴲ*h/5ȩޢ=e LJڝm -'OP^4Ϟ]9\^?8e7E\^udc6B^7~k+v\>^埰VuPve{Qwުl/TvXx -ۋk,+ۋ*X^{ʕl// ׵@y^NLt mE ڋ&^<ճh/7tE "a@[i ܫ9zpq)gfy,-p/nl/Y^m~ -{½F -DP\j -{:{zh+R^dHP p%xu 冩Oݨjο]F?Y -UW#_@3RՈp6E޼{W{ɱw+Y^#`_'wjp/: w+ܫynj^[cK^ ܑj{A,_'en{QuG7 -*ݫy~ 0Brj֬½H}ل֔p/J~Xe{xp8h/J Ťӷe,Ԡ6{wW}.f -ګvVF{^bo鶭h/`VE㎅U2ګQazK!<;E7]za{;lq l/rMKE式ةVWC{5g__^ $FZ^x~Jj+\^s"}+W^m -xF( Rr_gﰢ:+mJNxh/W{)+ڋ)ewoh/ަw[ E),d/Uዃ2]kEinS=pޕ^;;M<]qZ!dA7F2٫{/˳kW^}fI%{])`/ږRV³b#Ww4y/d>;[7Dd/jG݇.ˡ0i/`/mvP^VOV;5Cpwm1]E8(Ev*ڋisjY,hΘCD#ppW_RF{QbV=k_^5#ꞹ - '6IEA({eYa{u)ۊrS%x*ڋy{xѿW^ûe8IW=Sh/)?BbA{UUKU^Ñ#+ۋu?Ee{ G^p//r2O~ys?t/!pB5W񬮅R-|/i5V__}|nAJЎCrs}d|IϗВ_!v[hB -ͦu %͙ʄ -Meė$~nтft) R—$0T"vd—4WhoyB\?WH=Ʉ/it~Ʉ/׆; K<}d"|և K>.ӽ@$[^=OpP~2KY^dK-x/ixL%֠d\{d_Nd[^~q^u+x/iЂfj4\$U#㽤)5-|/zua36%Mkʶy_6^FKZxfEc-\pО%w,㽤b^Bm{IyrfoޞX4~,%͖s_AJt/IvyJ58#@c%Mym{Ih2KZ<25[t/iнƮk dk -1ӽٗнk5iqb[^QO sj_a{IQZ6c}??t/-t/i^|Br4^Ҏ˪нd -K(f4LNE^t/v{ -t/IGe}~[^}hfC%^?A(x/I] f}\reI8A6^%|/(|/iͣr =V{v`_x{f_w5d>.H֨X^~ fQǿA9 fC -K:r G5kt/|/ R\4^.-x/E.>x/'+]^hƺj -5":k#ekE2\;pW*_&v[_ww3\jwto ˵YcBgyΙ/\ \;*r1G ˵魋?e[_)>m|y|v=oI|:S-HR72>234A2b&O125j"^xkaP^)/fP3uy[GȀ/:']6m??/'X.\CMk3\nU|?Ps|vس-\ޒ xRI|] rm m|f/L; g r 3+_w6`̟~m 52{)|/0?4$L/gۅggl۹/|/_rq35J]^٤Bc_W\kNx+,|/ך'zor^ڂ ]{7&'!CZ'Ct/KO{y¸'h[੣W{$K_q{fG{yc^h+Gm{fZ - >ⱇ%KpmH{y_3kzăG?ch7Hњ͠ -I{y:- EC|dWc[ -n[ge -+CH%|bU*6ӎ&)ὼe'^*rnIm2Kw ˋ-xB{y *񽼜ϞDpW؋v3˫ A@|MY9r)T!p|a"(OW_b=-/wXIZ< B`(:%w_&K]_3r?B;ȊՓ^i| 8 ?offyg*x3Wl/lkտ}{Qj+qQh{,tO2kp-(/8Q;{!ot˥ئN#bSmn% k8ohC{{>cf[SF -ҲmmDNWƉašc {}I/NX i,y8aη-/NG/ )OOP,3˝Cgk{K14QN[_nݬqN඙EZe^VΌ"tŌ"T4! %'{u࿈^ȯ}5뒓q5?q5qġ^B$bw]Bn)/ڳ7j &kdAŠxx%Ww/o2 ͈ -˽ m;V_ف%#B"Y4!!uد{]CP1wSi(o"gna˲8Hz ./LW_;U`Ws#@ ޟ_W*J}_r!'D__E|au O`W_=㶅# T_ܮ¿R[d .I۸IW¿xee4_. c'XɌY|E*/ /df2 jI¿_IVi۹MTEE$ea h,/R.%|ghy{/:-/l`_l#d>*N[90~)seq֡%Kg+$JmeFarIk8/N=47f ->C4J/KJbWhmҿo<%&BCп,;wt[_f*kzZ݅EqlJbqlvoD/xn0O*j&!MQ} z3GSC&Q Nܣ6{ rRfQyno0 E`Q<#|nBsm#-UQ|SJa.@ʹ )hAhŪg U{ aiı!6 <hsP3~ {K+#t3T*7Pma'f&$NU_tу /cߖD#N\Ƃ570}c-s㙀Dg} L=; g`< R`N&?:;yD F;1J$[ @Hn #A<FT' -HG fJyO)a/`AGi9zTìC>_V;b)Ȱ04{7hQ¼y͞P̂ Òc~ sǩ -&]B ~~||ia.x@0g #u7 . ,ݎ.yF/X7(RA #wDLcoۇuօ+0(v0Jl N1[*.9jmŅ:)\|~_ƅvFkɸ0_vŅ5\ITt :nV^^m -/`n\ʼ0BSi^T//0=T2a+aΪj@z& V;o*1 T(a[a{z` O,E6+0&0?$7!R!1m*[aڶ_ f {D(k&a:;T0f#L3<ܓy +0b% FZa$f]zyٗYGOkƜ}Qx 10ј+07''Պ LsnK![FJ+1y&$ÄYi*Z*0^+H\^~̥ - #nkkWaGӰvEAk0p+0N:bA*0Ϝ(8t}yaTw;jRyam* n+h0<qq)Fסr{l|eb{,rȅF#r+1euhUbw-:xSK*)+1YCSo!y:^ʚ 1ne*1ym<ߍ sΒ*YOזbɌXY -0#[a' 󍇽` -0{));o%^T^̶EU兹NQWya^d/N.w:+/@H #:nG kS l-ᆴ@fe\$" NztW -. w -YpaV͂ s~mO-06w+.;:U\#YiZWpa^u뻶F EphU_ya$lSz° -ܣxg$XR4x(0[Z慡nٶ@hLl305;s]*030:K^w6eSX9Vٹ`k**lfHkyÔlw`km$N 0}5l>5a~ab vayOTt*/%{]6؅z2/A#%\;4kގvc~־:uhɼ0n"@\#x[\(Rxa`2h2(\c9 ɼ04rf dNy\yÏF~*iN/)6p¤w!s¤|,BƄIBG ft`2&5v:WF^^sB 3L)0i~]P¤ =-0i6_0a4 &LZFW(aQ}S~TB FVL vM}&nJ\ -%5QIm %L_J4 -v5?T6J4ӣP¤ٰ)aVP¤ٙ ]GWC9 s}su-N2&*%,N4:|-0i%&v(Y@alAAa+a>4}!ShBtl (LM6WثV?ȷ&.%BCw%BRYxAa]}"V>Bڼ - *cwvU}ȞB{IZBcb -l V_~춀Bc -(,eR45eQQIaQĮew!I{)xI>IpB?-0IDɴgLXh#," &,QFFib2;$L2&LJLXhv`BMr/cV~H&,Vp¤ O@2iDG{iXzjSmjl ":ǏZ a겟}"LG;ױ_gZ~eڳߐ1aЖVgLG˖?=>?oBƄoPƄ}sJ,;ۂ [GƄ*a^>^3#5c^m/& &ˌuʌuʌe+e,:D+ 5 "}-#^2"lY% -#lYT2$lY -$]};1C^l"2Y;ߏj"$r"@ -$ݹ\eFػᱝP[m۱r-3By5 !aN~Qds%v6;,=z޼"o+ =3<VFf#Hga' KUR¶ o?[O ߮&lr=0aۘ3gG [`(a>ڌQ¶YxJy,RX}(5c7[]!HJq%+E&l{P?Ä-Gkڥ-Wc姿OU/Oզ='lJÎds)=-YX'Len⋍./tkKZ8aKV.#>}Qj8JRc%\l_A;U_Kd V`K*/3$M0oB_Kۿ_$[f?pib+?,op`7nF|KA;C!k؞/z,3g_j D]8xuh|\-ڍK$H-#fQwGhjK|+sόWyo_ZN]ޤtWS; 0/+z*- -Q&բU_]= -BAoT_ = -KA9oM8X!ٞjE~Ok0b7ۗ1X<%kaq?v~ngŻ)dY{//䛻B~u_C+7^_ܛy];/ Nd31U؁zbΫ'x#ɿ5]?4\+Gi0vs{-Էth#oXS?4&h(CRcGi c'a~ovfGa8Cuᘏ~4HJ':%vXñh8!8O~gƏ|b ~|=&&`a5яPя5яU|>GLAc?p*>p*y9̚p*qh8_ٻa️~4lwG?NN{}|Uf#7D5яU]G>4nc>p*45яU}_wG?We'Wuc?p*: ;l?p*a️~4]ף')_YwG?WeҸc?p*&u}|Ufqh8_YwG?We<яUI{}|Ufqh8_~wG?We=?OS*3ƍ؏~4*1}z<;kgo^ t3h]|Dq;ge9}lSpv~.߿y}v/^zKhĘ*/eУ q2_K e,l*rX'y,] -9NLsI>c(c#]A@:ߐϑl?y-jtDvk7Ͻ~{U_ww]ol+]W=(A*NFtXw]yCmnzוI:޶֡w]yo:CﺪۇPC^ŷo/S6/r57_g#m_!m_o/컮EEUEvEZ|ƷDƷ Ʒ{ Wo)ooIoِǯ 6/6ڛUEEEvEZU>Dʷ ʷGu/66/256/R45r36/26/17_am__m'x)WoIoٝoioǯ96/286 2^iʣʛhlQ<ۨtVy8^Ty8S^ziώ)/MT4g)3wmW~vgyiq<۲tjy8^hy8X^zi,/MY5G땗n,odzK7lʛrvgov/KS>/odzK7女˛Mx6nyq<:4qy8Z^i/Kw1odz-K7E̛lMxvyi -q~yqGodzK7^~rEH[D^kq̡~yٵOl°f%3uH2%_A&C#om,Ρ؉rϛS8jd/oz(XY97߿{=?{z _} AYx$d)j Hzy ! 3]o~)-|]og{MJqw=߿{=_<;2=߿{=_<٣!o,xhf -c|J&Rfh-Ȟ|9/a -gv/O]̣.Z?ӿE3ɝ?uQ,.(3M5&|6S6cC]VOY5k()ٲP5{(9?t͑?$~V囶>F򜟶oa>ht=1٦e]}!K~K#.$^cϩſlHw8?ܜ?fo}/.gH4h rey䟹˚ ̚^4d%%JK'1p/;{lOfz:qqgK&<{p%G$B? ?q {:c $|)$f?y"DZ@Ǡy8"O'P6T=7\?`t,mm8Ǐ-X`Q?Y!,E [//ũ8 ^l[TDF?-"2x52X2 -a7Hač,Y7lҖIe挭ѡoN\:G70F^ٹ/V'WImFLs.GN%Z//SՐxԔquqL4^IÌ^#,: U@@XL"ӗ ![9=qh&-Ӥ3懼]>S@*ʻ&WlK6-ăw/KTLa9c[Cx5CIߚ \L?wd }2,߃1 .\SJҠSaYYo}y >t>Tf}9T '9-N^e.39'~x<*p#"˪Ж-oQdETVуPlETS<ΒC:|VZ٬o4x,] Auld\2ۤLQg]2>О%⸢$xKFH2XgD!κd\f} z35mjs x}PT8E+=uX?C??n0N}xt&@#[?9jEeLUvj'u]DdXx%jWN̑z{`FJy&8~>J^ݲpCZs;tt3D&qȇW|,-%'5OYY2 kN:<Y_Au[k>~$dq5& ]F2x7jA&<SBd+>qKIn6,5uD^1.ys8՟Ys/Ti>~f\2O|Â+>llEN1O5B]d+>s 5@S9DVG8\[lV)+o{cM2m[2>v27SdCT?scS*ȦZ"*Â,zX* O >D? (v%eF)&U}`<{>dpڱزzZ7-͢Yݧ *kVezuXB&(U}6=̨>]XU6CbjAޑU}0u +Za] 1X+Vh@OXqasj[X7<>4\9MRFgA࡙M?J b6b->kDZ(3~b%椠x -U m2lPG3/"`yLc̾OUiUBZP]tKY'27*> M{]T?#x2Qf&dT|*"VԋF| :ƊWOԨ%EfY v0|LUV}SEKX6=ET :g"qrpO6!Qޏ^Msp̦E'Xl0k5/ө6G=+3XE;Mmvʹ&䤾=S>H4"xif/ҰH܃2!1a)K3>&y3̦׀Nl"bomMCo5ˆs5uN'7~a:Yc`Á%)ߓD+xD]Nl٫ei w0hY#jɌef-3?V^?VYw:ab(32jZ-4Q45[]3ڏ\ DF%;j|9Lxcר6MKI>=hd[y=t[F VJ1%uȪLK/mG><8B"F3,W\[y0H gzTK4-wd n*? P}>%܅;3m*٨>$ص0[s-5.Tu$h>\(8]K+al:nT8c\B:݊OjAs/|0A+ϼQBrp!˕hTdжd;V}xY$Q,/<<9lRcC&և2f[p6yUcE6 ' s/<\[dL̩n&mWZסLcW9}Ə%x~WEHj an\lVO93<79|Z*maCGF3bޣ1*M޵$isxFHO9})}>]3fB -n5S3OgtYĔ>=H\'BY^Ԍ>Y#Ԍ>@Qdm4dҟs|h̝7śLGIF=P SFgΣ1Z)})҅M^fb`Md)."˷.lRvl~<:@w )rt&OO Sv2>XfEdVCS4xe=,ܺyXΙV}#O3[a\azbu2bQbu1,5K,S6V؝RN9U뙤>`"{&|pK4I}a3T gnahr(#,m=(GVݝQIcZ -Ў2G<$%*;Shw a8rϜ飬`WBOoA)j"kOf -Sƽw(;[?emrl[g<,k e9[?ee^x~VGDϰV;%[##XԈ-a(حuJj8h?8IYim܍3OWzʆQ$o(Oaめ˒%'9fd b{6꟢^19}1x(?iܥ>hubc+ŤQi7Gj~Q)&Pɑ>a¨dQ|D&2̠Rvb~Ml+ȑ[ajt;TסTw* \ 0:UyO4\cn%v!B׵6a'V -TIt"F)|תul&9_l?x"YbT_deYl6- 7tV#]Z}a9_e8"j/Pt$vE |9Xnw_K});khˊ)}̆[EN9)=Z/6d>2L|*V#sVXLd\EVceg^~OH:(Yޭsm/Y:$Kqp{V癇"e'sɌ3 PV#G:HRs''Ȳ1¬5F{>v:LڟG{>cڇ^=glP(enǶ 3[ /9 5Dǰ{~e]{f-0y&`|F0ܚȹ-sN4lx^Xn^o4o:+bj-n08m D֭Owéԅhvkfͨ)eocAcٜ~oZQ::Kx`M~lWEk3 c,1B8a5i;ij0Y}^ wt,Uqn|b#_"3I}tab ۶GS zL&0lFߔE8ZmFqx(}|}2Ag~l+wewo,Pday\}պf1Iv)2+b X!mF#x}1zS^ M2(07%K;L Av^I)~_zcV󀩓ݥ`"} @sX"eSsbkJwkDb*Uj DobPvySj*&PEDZ5a~&V=Lt*(=3!*x63Ä9.~* }6oڔ>fxyWI%oL/n5kN%$ЗOn^6oH,v`E͇Cƚ\9}6D>h &hVM,iVlX6GXMxx9eX{0z1MoІQB Fms,`C!^[fn[d}LK%RS iє?$wyw9GCjV'm^2x2k怟yLp@Agmzg sQR 28|d`K >ԯ’TIch`dpniܡ&QF; LF!Df3xkqeT!Aάc,DCSataH7ZyIrEfxDvg)y}MMy^n始m^;iLKf3,<ؚuM(?3~ndCFv[ nSx& Vf[s+\ ,x>OkY(uqOT>IFY3E}Wڐس4HN9gDMUH쳎f~2&~uhؼ>s`mh^)2N˧̜w`UMs̬NfV63;Giq$Syn ՘멳!{TʎOznlI!DuުOj.4OV":uYYwk?mv*ȰRrvdvXRTLYL%haub6[?Xjѯ>wyס{P_x1}ZEdD_dcSv+?d1D63욱̾h#}}{oEjEw͏xs&Gf]t%K.>֟yZd.x%T:.>gby62S3[?d0olv_X2LSKv?ScױLKWNJL_z|ܯ4G92SnɗFW{%DZﭟig[_L뼷|vU϶owsj̦eVXv4}<*4xIpjƯےݛbjun}ZyoBkK&-7,\Q4KXOV]{O}қKS? ^R ,IN]%)G7Y%1RփQ~%)mzWb Rv+?Ofޭ '/{L[ 4V}FW$F3+dѪ?ӟ`N>la޲g]&Ⱦ'S}'Am9;OFbOR,dCK]ȠA-5OWU ~Rޔ" }*6O: sj)mUAiRQi~TӲuk?Ud<3|5L]3[c[bKSi( {_׌7g -^mKXߩ<21d} X4%A~ld].tɟX0rKxdU,mNS7Ȣc3ŕ$$l&KY/>EVO3k :e/m\Lby+_>먪?a.ӟ9[S˸}'=4b0?e|}u \ZZ%ygw3j[Z^xϤK:cߵL,3ﭟ2k L1/Űuw(?eZ-1ƺ0O(@XZ^ѓP8og*Ԉ?E):~һOE[ g].&bw%?CQArL1o.˶/j^-mS5 NGZޣ`*w~MmPdIx%Ik/Ktor:r(FP kˇ]>Ȱxcž)u~Yׁ=޵YΔB}CNOau?蹯jilzls7?e/[s=hםK=OSu!|DLIٽ3fTkǓ LdIOQ=Z/*g}>+f,Xʌw[K5Q?Ii+KmK/$o]KOZ^L&G6uFj?e9^ ,HYdk?Ӵ -<(;A?u:jʏu2kʏ۞+@kqW룒 [.97畽6< -{ڗW7-ʜGMק9GAKz ^c>ޢW=#^oɫ\K?:ցW{iū?$m"nY1qeְY͢I5si~u oݫ?6 T/33yv63cu[\ҶD{g-{%'u-{?tԿgؽG`Sydz]k{ovg&ENVƴwswhOއ~LęvէfGt"!#zأo\"F+4j/mK۷jFҦ?٬(`QDsOO+e +3x ,zh7!3Z2LgiKtmj%-YcJtp-2VWrVEzX̵탷iz eFyк;MUI="Fp]${eAQI Lߨ?O״o/qZKf}t_Oqe8CfQt[a?z뜘/_@W ~ SYD7IKң>JX#qF~ `A7cX%u 6ÏN7mIxO呱h:.F}rrG -6yxGf}́;msh},iA^ %+ İ+;(O!F*>Їս)#U#5oצ1(XG#>5[&_7KOSh|]V#?#O%^N [Q{ ]߮ <>3$p0>$Gs&W(6G&YNu=OZBaAgSF1}lSO(6͘{{,6O*@)9eF;gң>fS>>I.ڕJz#ebdjsv#Qmn_F0Wiln_b,}} SBNdjTۗd_+1iTcjSxyͦS%3R F}<п3>6.`ͦe8b>7fRxB|ՍfS+73ljSH:LǕ.qsݲa~Ϧ1sZalj˛qvܗe ِ#M{nu2w֪CϑF}Y: lrd]|Fɞ}iyRfy1ˌncP~t'y69u6c})<%3'&DnqKaشxhlvS9+ 32FK=0"H0&#< &X FY`Ҟ*CI~}f`e\$sWH0ʰԶ^7(Ҋ ;$e5CQ B,䫳(Ke`UCuvˎ׃FWh`І"31E/D0ʒP2%1K QVdc(l ƺr-p>wґCQ$vH0!H``:H L˷ X`-9$:`, czT"vCP'!X}* FjU5j6@QVh֑CQ"Aota W!ibY$eOE`rL*Aw.,)&`FW&eYcJz=?2ଞގ ƪNѵcUiwc,UBf2!Y&ey %KE ,7mtpy$ExqOsH0G6<3$e ZSe`T:sZM`R7qXGzp@04 hIڷ~('t=x`R6x`U4,;M8AV<M<0 -˜.J ސ En!,݃ CsV%)ɏFY9$#h>&pD0V⹈mz=`AOBH"(Kl FWLY$T9{H04é (ۓx (\c漏32ncQVWr,-L -;TaQzyaXtx sn,XqvD FYxGV -FQ~T,2Ln<`uA-n*E}c GJXLOV W7q(3 F3s\0VMёBφUUr(Er(frZ.XOsU:.T' Ɗur(32& FY='Pz` &5ѣTqkhzp(cg -5zr(Ъ Fd /`Bޭor 82e.wd*^с(-<q0XD`0B> J~pd*=I)R!IZ4ȘK[z(!CQV~q &N2aaQLda7pd0`{In QrF &2sx",)ӁD&eށ9_Y|A;Ldl"Q6i8`"ځD&ť`*c%q`0ݍh3G5800V&v}`"FG KJL$qTvz9.ؒl 22G:Le'qF\0}bď׃ &tqDV[*h|0qDv||00kН`5MIJ|0ʆ@ pB/Z>X _> -V(kZrf~9hÃUUtŃMK~ÃQY \L w -L9>4SjV5@Z^KKL0Z6,( Qf!L"G0UW#QFrJs0L$58iZGv㬭!LiECH׃Fٍq0F"변0i#xRF 3le3 ->"FYyc:-LSi;Is(p(&AYڲ[ݬ)n`}uL`8V/+dC<?ڐl_]q=`3v-&1]ÃIl4=> Khܡ;G,#6_:e`<+  a`r -"X$,bDa W;6^V ª{Q40ie`kƃ&,c(+}=a<(¢uLN斳w=`1Ti`<,' `ըzHj`/hI3yz8>O\k*;7$&}0V89FI_lƓT`҅,-|x.N&ܑƏf>{\oW49@fe{{C?7|=a74ؽ_ #UaUa^  -#L;>f aU:T2FqXcSLv=h&=Mr*%:" f1/0ʴ"Dۡ5alyf&nt46{c34 #Q6aٮEGcrc! -(FF 'W( ,!p3u!J!2 Bۨ;a&G i>jR;%I;UG jY!2luu""x2:tc(adaZj,tOi!jlҲFv0VKS"/0ʰo9ialVƶk)WLRϨA%!g1(U6ckPfV{6t0ʚԏDwOtH]c6,v+$h,!`5nG!(Oa 6,"wQ#IGp03;@;醪(? .qwVu0v}s9.ALyy@ \M0YZ#mnY_h0(MZ'ۑ]ɥ,  Ljγדq5(0DBG;BOXxD4][3 tvy]"˜ ^ #9e ,XgR",HB@^}X6>!(~(ЯBEF9Be꬞%QV~!"-#5)fº#I ka#QxlBiXxQp&zZtlG F(8Degp^,$KȜ;BecH!Mc]aݽ! ߦfuMD;>aM""l-GLE r0ƍu0v0 - v8&"LMƦù;BXwPaBf%8Tex?~ *۱,+LZN]D& ma&vA|#"'}^&n|GK cAXn-LZ&dšZg[6&´Sv0nd8Zߴ: -c!=u&'soʱat/p0i0,}=F(Վ#pP0R^.&}Ɇs0ƿ#8a/H\ӄ ca_78a*62ezæ,(- -bAay0fBs -0Ə9[ - Ͻ/IXaa1b,a[X*'J0 ik0 cAEg`a=GVJ!',xXAXl+ MqeaakWc!MIx1} TYl 5b+O=ᕧ$[׉r`D%x:TƴIMf"ͼ;TzZ0fቬJO IaWZ̘ϙa06Wfݍ{Zd`0fFuYZKCO-k|F٭=-9'ƈ5i,KO c-IjPO cR҂_OZ{8ÝiXXX@A+9X j:7CJ0S,>9C@0R*>0,IZX#4.Dt(&Q 01[|tt/0<~aCm˜wpA nm.z'!q0VcU\` c>dy\r Z<.&x8\DE]&=W>Z}=yafDž1 w=.ll߳=Ei8v@ Kx@{9\yPדꧻsČgN #A*tfG iN@N cb^ssXui<&E^>*KdGչV9f1a,>7L ".ޛÄzQxLY0hFzN"y<&lqƌDX0aፇzLճp9NOWzrԔ) cdeS5'pc'LNݘۨㄱz.KonU9ai~s09>g!5~z''Lwم''L<{ɵ0w%0v\Mi$Q'$w鳇*0:e!a<ˊz!aqaLK]|cSH,},"/X:cf@<0S!X֨eaB6GѳwG1fVzD¡yDؔӜ}<aS+D"x@T05_OD$9;DE!L -AFzB Ʈ0:U a$ID=!2ELƌw'M Sp 2G f/6Y O,.c}(+S$Q$Xg aS2* as a\W#QFhbq:BʶX6N|0H>-C$@f aGדFW>ݞƼHUa90wGG~FsMq0M)SeI{=# i/2豦'1q>oGèu= aLM^T2x2ޟ"  LmF(֟03[!>mF؉3ƃyr*= Xhzi-K&.Oc8¤d;xB;8-$uE5;Oc;-N.GcM.}?KzDttR="Ua i ,lYDʐnjƆx"U]k'"Z>""= z2 <c@;CRcIKܕ%꣡ab3L cDX9ae0`yB07Vx'IC;{B4st_ aU($&|5== Fsv9:&ݟ%˜\9¤R -XeS*ay>{4[V~88Bctx"z>7n}RYz(מ&=` Hm`zUYA% %,\,ƣLΦDŽS}Ia%j)=6m#Q? )d xRXfJ_iFv VQH*0:E04Vi{L[ƮXy_62)WQV<'2CL{NXvR 8=04\&Qhc Y)MŽ&"*rr!&Aarw'Aa؃rFyPex c/GY?U9h6OkY?i8FY; )=(L*'0HAaR۾afeTreYk "l"<', 9K0՜<ѻI}\2]b-z?@aýl -vX@P/ -#| <@alXւPϾ;\OPؤ1P5 -T -ڹ^ -ܷ>@aR{=@at%9_d0ےΪ'(D,ˁŠ[IǥsAaBU~ -+TV  -!%!](بG0n0=(H)xPV˜@<(g: -cO*ȿ - -c @`6*L5*L<\LrPM:TjG -Ӿc7)LdZB -^wgG ->aHa"*)Em=Ha"qG -,Lv= -fņXTpl|yT$X -Ys9Tt踑{&Z2*Ld)v0a~,)LzG - 0m1" -30bݜ!Q/ oRM&Ҥ OuB -F(qWR"AXRȨ] &p߸%IOA -ΡU\8QaIa BSU(L:Jgt0ŹQ8N4a tඅq(9aw0:kYD[w#¤I>6[0&Sad:DXgӃ="L2<a]:e뿞0NHނ%LN Bui XGia~D c܀eY0ʊz@;PҎPt33< gYܫ <;p0&GfaMJIcҡ}I'!bxB c9BXcJ>s0& -&w"X cr<^G55-#r'#°Oq -"V&p#rl8xƝ)6Mw6 S -+%IaV0cXyHXc!aH.o٭ѠhC$ƴ)5*s0V#0]/0lԢ'" KA5yFX#ؔ,L}+v0⹁3V$BYFSaal}w0y78FkQ>90I.vs&ٲ}";3伇}a҉al0˜ѤG",#-z$aL1|8(1 :,60q6#XjnVat sYFnmaf=-j<"~.͓q00P$q0%F0{0,!a]o #FsSck3ˆSsP<#y;H;K#qw)a.x<)av[fO SOXS¢D!a\h}A¸>K=$_U*\B3y ,0آ[{v0Ɩ\71Jd -#06*"d m<"L5D#yH a<ߴ0\3xO.Rp%o~حr&11xPvG1.|TcnaA 0FٶGZFAϊ"2`;Dev c{6T.(z{e2aF;rCgZ0ʰM0}O;VM r06O:-%LOiy,g)a'%yf73MDQ9<0ʒvPi"Ri^HXV`cu]r0`x $HFB(tL0iܾus|@+Smxz0(C:<0 -K*3}` kUq,")XBjn~%QO%vB๏2 _8& A%BX/`0s˻lG^ &ڷG`" Lsm^`l2z`D6j?xSm -o9{PdvlvF(Qd6&*X&R`wT0[T"y͆٧3KSc=,LK׃ -V$&X*W -& |4͝Q}#L‰uS:(ؙz=`kMnLfю -FY; -&lJP>f$V -FYk!2c? --iaW*]`j -P0!Fe>`5<)B'[g j"\:VU  -}o`4rʢ)|=`~=`U@N]JQW"z@pы\(^--JfP0 yԃ tX¶LZ Ȧ:d`U@ׯ4&0)>0 KV:e -FS?ϤYˏݺ8KנGts -&]`RmtEZ*x mm3o<%c>Kit9G?+KG%x!0Lѯcct -FLKUdiQiU׭O$yZg,LWQB o`)GS.kEiy  -!:(e#1`* -z;8(h` Dh*rP0_ -@Lja^@<-yf`߸L9(P'2:Z(XBR'답P0ƵƍqP0:R-Z(X˺O9fSiB…3i}ـ5ɑ -V)} d81(1AO@:-R VdXbs4j#Gc$/xrD0Fbb`J/.REI4;?g`8<GljK=!⏓l`r,` : XgJ@ƓӒhƻ%S'7MAu@*TzZ$O0X"xonV_V9NtL09TұU1cӞ-vA}mlLRb!g]`lf#qq,'Ie9D07t}2"Uf.?Ơy` -ÎƔ!ǁ9 4V,20`'LQT0imQwǂ twpT0`CatP0Lc-i<L©'h`aZ;ۃ(+v`AZpѹw`0~VOlMI .GAְ )h0 `5h0zZ<,zZy4N%1Y2b^@G,<"+L:(Lbᰡty0e:`0߳d00MWCGR7.֘EQ㮷h0ʪa]O4eUsΣ(<,J\g FYpʢ~t F*h0sh(aP&EY4Ʉh0ʰG_ FY>? FV̢( Y^GQֱf} F;jGI==({|ϡ( ՟6+ԡ(*#G ePv0У(1F FsMGQ.ЕQkjamQ֪D6vT(J걃Q&gU[&) Vkxzz6N +ֽ86ȄL_mc -_,l0M|ql0,+zʼn?e`)˪l01sRFU;`"SQV2iOijon &k=Ld.`l0mCE)ZH &"XSaJ &_ Gl`0e)z'xItY0E^Yr`0$ &2x -c}E\0I ®W'LdrΠ'LKKvň炉 מ &C~.|4Tzr(>PrV[:zVWq^O.ȄĭuiC'80XFtkի>ɼ_ &sb`" &2![0XQ2W.\u &"Qu\0}`"[dF y `"}`p_M=Ld39Yq YM۪qX0ə>.">LDcx,9z*Jl}{Tz~zBDvzx(6fbP0CD{S\~x(Ȧl]O(ex&"kUet &+G=Ldr<j7+l84P0)zBD& -kYzl%y0zx(eSC  -&vP01`"; -&P0no>@P0lStP0IdܶF竃lwP0P0@|=`"T08Ef{QDWɗhDž=Ldi9LEmx&5C"k䣂' -SѮ5@0Ѿ`*}<Ld-2T6â.Y T{ FZEze&"LydaRq@0@00WRsS&Vx s)TW2HRdUП^iFQQ^) <0uZy`"rvTv&chLE;D$aQkC,STqD&Yߵwl\a(xO*,#7Oj/@H;ҮfjcDXoC]&EuVsޔB0=X(;cdB0woPĶhLL7wLt]`b5ؾ`b[(;bJ0ᵅL_. `b[ C -&|)b3@>`m9N)XiSOKrw`bH)X+;+6곘R035..+Jr"`bG,L쌍##1J)XM/`WZָL,2i?~[lR0yZvX -`bk"` ,I+X^ -&7E.n˛gXoZ0Zn V0! `b}1V` -&àu4֑ -&c괂_Z6V0{Lw.n R*B/X\ ( &4fGjrZ0gOY] ¤I-Xgc`N+֏\ &Ԃ`* 6CjV?0S ,A9< -:Do^Ocb0g?*r9#,Pg-Y fw*1s{ᱟ>i34w,iYfep`Ίm< o'N|0Ku[\ -?e%p9[=Ox8HBb _!`.|0K[\ -zY -")Ĵ>/Hm'{׽$R0gsoXR -@AJ^i -êa.sz~=jRߟ??p -endstream -endobj -165 0 obj -90550 -endobj -166 0 obj -[164 0 R] -endobj -167 0 obj -<< - /Resources 168 0 R - /Type /Page - /MediaBox [0 0 334 298] - /CropBox [0 0 334 298] - /BleedBox [0 0 334 298] - /TrimBox [0 0 334 298] - /Parent 169 0 R - /Contents 166 0 R ->> -endobj -170 0 obj -<< - /Type /FontDescriptor - /FontName /EAAAAA+mwa_cmsy10 - /FontBBox [-28 -959 1123 778] - /Flags 33 - /CapHeight 683 - /Ascent 778 - /Descent -959 - /ItalicAngle 0 - /StemV 0 - /MissingWidth 500 - /FontFile2 171 0 R - /CIDSet 172 0 R ->> -endobj -171 0 obj -<< - /Length1 2008 - /Length 173 0 R - /Filter /FlateDecode ->> -stream -xUale~ul] -xۭʶn,v (B&ZQX41cQCn!$ `I0nj(Jk{}ywox*x;Y}pyzd8# _iMYNje%3w%.?MFի)>A+Ozs*;sBP.ɆLnDvYDuEWY=:OֲHoH|hF -9f^r pm, -b / {Ѝh +b"z5aX \? -oEv]cǘy[\D (N:qNA1A -m۰^V{*UEs j~<7>G4 -OXhwD#ָµ4תl܂3ޯrHXlŠ!'CFh?0b_HYnaHc%wDЈҮkhWPdzǮzsLMݚ%mN.rFz,2kjl^b.B˥>+VȐ6%(:Q0EO[[V^aNE$yXhx -|JrԀ.hjUת=u!8D&gh)]G~zJC#]jRcWٙpRcql@!TUV0o " u޹^}R͖-5oX[__4HO<2goA p$dh_Gn)R /85y35= -u\]XU,{@gY`Յ?U,?d\w,:o);v"6z\ŕ9*2f˘N|T2+du}D٘eʘGּY0ED9L#$Rmdm!ҍ.ucBQdΓc#"h&Ir陠pQ~IT9®f21A㱫d2ɣQtU.?;Nfm9ݥʺQHg䡀52Y }Y0f"ԍ\ԐrS2sb&R}fh:%8U7JudYǍщla6H\Ǩ$6<1m'ȤFsSIszWfs~JNmuw*9c%_^4$lnF=B*xs6O -endstream -endobj -173 0 obj -1349 -endobj -172 0 obj -<< /Length 174 0 R /Filter /FlateDecode >> -stream -xk` -endstream -endobj -174 0 obj -12 -endobj -175 0 obj -<< - /Type /Font - /Subtype /Type0 - /BaseFont /EAAAAA+mwa_cmsy10 - /Encoding /Identity-H - /ToUnicode 176 0 R - /DescendantFonts [177 0 R] ->> -endobj -177 0 obj -<< /Type /Font -/BaseFont /EAAAAA+mwa_cmsy10 -/CIDToGIDMap /Identity -/Subtype /CIDFontType2 -/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> -/FontDescriptor 170 0 R -/DW 0 -/W [ 0 [365 276 ] ] ->> -endobj -176 0 obj -<< /Length 178 0 R /Filter /FlateDecode >> -stream -x]Pj0 +t')JB}i?԰k+! -if$s6"z`ӄ_H! 8ZWT5hV H~#N37^#pz~'hr4u#~KwE(N+w> Dq='{ 5jˠ9H$݈ťL嚪tMQPYH쒷qDT QJX9uxl5U|}B -endstream -endobj -178 0 obj -235 -endobj -179 0 obj -<< - /Type /FontDescriptor - /FontName /EAAAAB+mwb_cmsy10 - /FontBBox [11 -215 942 727] - /Flags 33 - /CapHeight 0 - /Ascent 727 - /Descent -215 - /ItalicAngle 0 - /StemV 0 - /MissingWidth 500 - /FontFile2 180 0 R - /CIDSet 181 0 R ->> -endobj -180 0 obj -<< - /Length1 1992 - /Length 182 0 R - /Filter /FlateDecode ->> -stream -xUmle=Ҏ{`3^wLz׭s%["AZC[خueAM/CD%:_r4!HBb  m >s/^:jxiZ |'T~lTvvSdg҆70$\qm#U7s3lxl~b{gUg -l;"9I=g,Q!_^~uK_2 -y'.zWJYN,1qPo~eev2EcQw)8fg33 uk5Uuen(H",͍!UYl3&񆞄Mzmb'LHU3vUYy1VMHi=iD%S˺\> 5'- JnML1DIO&^S|r]O>Rl͹-6Wl0ȹAсQMU%EƉRXɤ0Yk4+R%nH+0EYL2&'kQU􀪜EX􊰨$-p&L"aMXTTao BUrIU̺vua7YKn-&#*ĸ9 Ony}-4h"'\YxkC%B5nń`9U;[ֽq_.|[_ޮٰT]ɚ` -U;͞6c%Z!_FΈghyF'ʌ +hR}Bfp'ޥ.Kd km ѽwBxc[EwqrSaw0/;`l>pJv.BLXG uLr0*`-,`l^sMtFS 4ioh:F֠SO KxzGI;MJ$El-Z (;Iˎ9DHu<&*+qdlU;Aԡ٩L*=-m InEb&+ -R@feVbFј*@gKӇQ]'Igt&?H{U5JQ#TG*;Ixtld> -stream -xk -endstream -endobj -183 0 obj -9 -endobj -184 0 obj -<< - /Type /Font - /Subtype /Type0 - /BaseFont /EAAAAB+mwb_cmsy10 - /Encoding /Identity-H - /ToUnicode 185 0 R - /DescendantFonts [186 0 R] ->> -endobj -186 0 obj -<< /Type /Font -/BaseFont /EAAAAB+mwb_cmsy10 -/CIDToGIDMap /Identity -/Subtype /CIDFontType2 -/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> -/FontDescriptor 179 0 R -/DW 0 -/W [ 0 [750 776 ] ] ->> -endobj -185 0 obj -<< /Length 187 0 R /Filter /FlateDecode >> -stream -x]Pj0+l CԒX}q z0h[lE^X gBpjV& -:G:g} -endstream -endobj -187 0 obj -234 -endobj -188 0 obj -<< - /Type /FontDescriptor - /FontName /EAAAAC+mwa_cmmi10 - /FontBBox [-34 -250 1047 750] - /Flags 33 - /CapHeight 683 - /Ascent 750 - /Descent -250 - /ItalicAngle 0 - /StemV 0 - /MissingWidth 500 - /FontFile2 189 0 R - /CIDSet 190 0 R ->> -endobj -189 0 obj -<< - /Length1 2648 - /Length 191 0 R - /Filter /FlateDecode ->> -stream -xV}L޻{`8)g}@JksHF -67SL YUEEZmit,VEkTQ?NSM]Lm6ðfk{~} < ,Ğ8\7a~o`vW2Ze=0e803SpC 30C0B?fOZY۬Ֆ*h)2x(Om'T$zԫO-()ʴITAW$ BVIl΂EEHbKG~+ߞ<$ fUCӀߧxwҧGb]_]I}&m8N9jz/l -ɥ+ Y -*+ʫ_qAD٣Vi7@N)CAuЧK&U*肈rNeDYy0헂t-XuPfAXa%YT"bbGjl"œw10H)MgQ{>=0)$>h]5pgֹ{WY!M5z/ދ5"8&Fr9K~=@~8Ia?tBLOJFl$\u3BMxVC]<ɐ !m tP6DĆI|2Hdw׮fdH>Lib .I2\6g`t!Cx5FF\&琫28̯ؽ׮O>bms߾!P9eoպ|*jk{1" 5Sı#>;+{jq[(D^f{[o`/ vFP&ˇ~Ы>Y61-n=yɜ-ykL˖nC-߹9n58ޏ=fo`5шd(\?c9X>.@`p?AW[ycXݾcڊc&+9\,8 -P -PMnU0Qp&nV&"B3`%}BIV0:/T0mD`C0 Yv"ۊsz ePpA> -stream -xk` -endstream -endobj -192 0 obj -14 -endobj -193 0 obj -<< - /Type /Font - /Subtype /Type0 - /BaseFont /EAAAAC+mwa_cmmi10 - /Encoding /Identity-H - /ToUnicode 194 0 R - /DescendantFonts [195 0 R] ->> -endobj -195 0 obj -<< /Type /Font -/BaseFont /EAAAAC+mwa_cmmi10 -/CIDToGIDMap /Identity -/Subtype /CIDFontType2 -/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> -/FontDescriptor 188 0 R -/DW 0 -/W [ 0 [365 943 831 ] ] ->> -endobj -194 0 obj -<< /Length 196 0 R /Filter /FlateDecode >> -stream -x]Pj0 +t'ٖJJ!>hpl954QCRfA:g#w:M8€uEU*o5P$99Ჱv&H9 -G&H#Y7n%i~E"ë;H6$c|f\m8>jeS F}K:&UèJ,7T3}`]=nj!JYy52dz/w -endstream -endobj -196 0 obj -242 -endobj -197 0 obj -<< - /Type /FontDescriptor - /FontName /EAAAAD+mwa_cmr10 - /FontBBox [-43 -250 1008 750] - /Flags 33 - /CapHeight 683 - /Ascent 750 - /Descent -250 - /ItalicAngle 0 - /StemV 0 - /MissingWidth 500 - /FontFile2 198 0 R - /CIDSet 199 0 R ->> -endobj -198 0 obj -<< - /Length1 7180 - /Length 200 0 R - /Filter /FlateDecode ->> -stream -xY T[畾mZI !-H!Xfll=qb'NtqǓ$uevn>Imuڜ6$'frx4'3'<=qvwxpX^[XV`|FoݳҖ?W&{o nޝCM54ѷ~^DeC4Y(sw왒Sflbk/`у1D\0Z*O\ɉ]w@8?s`OOQ YxW|<Şuxށ[<g x8l-PU `e_c9~˹w99go&_qq19x_ H'KgMn5x· -|.Eg| G$'nY ⩏y VZAjR*B.xe3/x=싁:Ke?:ĸz{R8|J%fv ai 1hc|Nso{#s6ۻ͕>H^ϫtm@䉆[;%iX{ed=vqJ+0 Z$cfE2hE;;c@{p^a(|}Al-K {޺FX#)T-zjbi^H<^!\E%1z*xˆ@b2~ ?otz ~$ }24OI} @ٟ4w C%ee!.0/_ ?$yZa,\<}r{ndnIH,%rh Z9Pheؕ!)].,`%6ͪ0CY$h-GdwjXswHtL r  cu4e 06:Eі%ٌ>\%e@)g3 F_^Ɍ r7Q/>Ycoh,sO!7S;_{ r &( ;ӑ1MTҕMVaDFQ22ԡ 7 Y<|D4_o U!ɶ%goޜY=3qۢlLidcf15܌2@6 Ppȗ&: d9y1Np+ǮU(x3hX6GV`JEHbNJXJ}HbI6g!A>-IAIY,gqXWy*K쫭V?Լ=-{fǯ ʊ /igtS]\X[m>>l7f;}!]x.݉-S`m5lQAaȐ9UJlSO5?lH.)kĨ2Uo#d"]Džb7:7GMrW&<:77a..W2,筍rǍ;_EF#sn6Jo{}ɾ*Tp -ӨsŅOS,Thd,q؀<+$p -L,,-'/Ted'I 4t> Xdl{fKB6y=?j˵Y+Z +7/|yhXxC7>Yh -+*džuyѣݾ}u;knU!Sx{J6i]H -EVgR//@_W\un1gS`ˊd[\19&grh`檼Vϱٮ@`a׻aۊo}8zhd{*؇( *TŕTˑKW(@2a.+C%2*S0ɁtƥKU]Zͧj*jLaX5cinCǨ'b6wG83#%.r)FlO1{%ΜĘ.XƮ.tD,ι[w4}g[L6^`YL닌 XOy+aMɁ&](r2C8: -J[e 6Ŋr8!3ؕ< p ΰ(0RC -K{_&,%!,Zѳ%jvD7{z6*W]G^l>1s_꾈i,>]:b+}Ba'tw45?=k7,DH.?(;!.1`PhPՌ\6TeB!NBHf۱U&/1IBLOXɭS$J(f5sspy(Ǿx| -9G@m4>u6!+{4<6-a"]ܖ ;UW3,t'\F !b!&vXnp9\Þ;'!G4\nj%Oq!L5niأ0SO3gnkBBp|k~Fy~~to(ttk&IP\1~svWo r2W6mJ&̞J4p.S\6CRMij%۽TZx'53h2)w {4W-xqی53g3WW(uf=Xε 8h~I59ҢъOhںYj3[K(J60T@/9EDQãbJgz}L o>O;T mI9@L16ݬUpjE6ނjxuZ̺"Ed昞9?zn(d|_l6㞿XcH79RHbdFef"!/{IjWgTaZM/`Vhd QkSyeÎ֐H].peCvF.rC&lKR' -\z㳒x」Kr$$wAr]P)m= ǔU,ҧV}ҪMETVAr2,!]C~Tܖ(i:^ʱS Y )2ghɤ]d&(aВ\1roߏn:}}|ƾk~ۛ7Uhl;۵=+6OCF[Xur\v6t?Wra*\9|"P(Jb*G:UicϔB[ lq䠰&HY[h ACBŨ,*K8(VS\wNwGMafϗW䡼}`@Qo}H׎wl9UP^^WO8%=|"g'饬 g!859h)V5`%݃ -HkGyoO#~em4x/RL'{θ6|OSF|R -'U(do -EPOm\nx(QyMV -sSN/XϢ;˥7C**4Ga`JU5n>$2_5Fg!.Pc"$ҐRE^%'":+Ƈ(:1RJI7=sdl{PJZ'`Fn֜R=/*!Aj ͪ]WGm[yAn>4OxW垅mL? -] $%.x}\9?!G. yi v1.~GQ+})ni'=D8mvR&w@ .7>"[ϋVpAi,B־O\Ԉk2/Q\+o=XD$Nao jг[2\\w3t'. e - 4 Y C^[ DNAW"C@2V/,Xpњh2Z7&`fa' .b|j)C)x^5cDbf1GqEnSRo:c"ڻDs%/dF/|!r%4[idXX%4@3^P?19sxph%>R\^^N YV,ͽcSC{|ڱ1Kl605s@wDsqb;MO l58babl1%ؼBVT K-{>H} -e.֦ʑpIF:վ߸ѝGg eڬ -endstream -endobj -200 0 obj -5258 -endobj -199 0 obj -<< /Length 201 0 R /Filter /FlateDecode >> -stream -xk`3`X*^0_u -endstream -endobj -201 0 obj -20 -endobj -202 0 obj -<< - /Type /Font - /Subtype /Type0 - /BaseFont /EAAAAD+mwa_cmr10 - /Encoding /Identity-H - /ToUnicode 203 0 R - /DescendantFonts [204 0 R] ->> -endobj -204 0 obj -<< /Type /Font -/BaseFont /EAAAAD+mwa_cmr10 -/CIDToGIDMap /Identity -/Subtype /CIDFontType2 -/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> -/FontDescriptor 197 0 R -/DW 0 -/W [ 0 [365 500 500 500 500 916 500 500 555 276 388 555 555 443 500 651 391 526 443 526 276 750 443 276 333 500 500 680 555 394 ] ] ->> -endobj -203 0 obj -<< /Length 205 0 R /Filter /FlateDecode >> -stream -x]n0E -/E )TĢ5{H ,_Hg/$2Ȓw׫+iv4Sjf#R[5F -wII|uF*,Cld,/f}}MLSߜ&ך~]k:YC#3H*;bIU'K xPJENmNܯ3;=u^9F}K7~ Og8(r *Q@GD@ 4@*q',P'ೄ} > ,%>i{P8/hdᱳ_E42vJM(QJ?]fs59g%fe> -endobj -206 0 obj -<< - /Type /Catalog - /Pages 169 0 R - /Lang (x-unknown) ->> -endobj -168 0 obj -<< - /Font << - /F1360 175 0 R - /F1358 184 0 R - /F1357 193 0 R - /F1359 202 0 R ->> - /ProcSet [/PDF /ImageB /ImageC /Text] - /ExtGState << - /GS1 2 0 R - /GS2 3 0 R - /GS3 4 0 R - /GS4 5 0 R - /GS5 6 0 R - /GS6 7 0 R - /GS7 8 0 R - /GS8 9 0 R - /GS9 10 0 R - /GS10 11 0 R - /GS11 12 0 R - /GS12 13 0 R - /GS13 14 0 R - /GS14 15 0 R - /GS15 16 0 R - /GS16 17 0 R - /GS17 18 0 R - /GS18 19 0 R - /GS19 20 0 R - /GS20 21 0 R - /GS21 22 0 R - /GS22 23 0 R - /GS23 24 0 R - /GS24 25 0 R - /GS25 26 0 R - /GS26 27 0 R - /GS27 28 0 R - /GS28 29 0 R - /GS29 30 0 R - /GS30 31 0 R - /GS31 32 0 R - /GS32 33 0 R - /GS33 34 0 R - /GS34 35 0 R - /GS35 36 0 R - /GS36 37 0 R - /GS37 38 0 R - /GS38 39 0 R - /GS39 40 0 R - /GS40 41 0 R - /GS41 42 0 R - /GS42 43 0 R - /GS43 44 0 R - /GS44 45 0 R - /GS45 46 0 R - /GS46 47 0 R - /GS47 48 0 R - /GS48 49 0 R - /GS49 50 0 R - /GS50 51 0 R - /GS51 52 0 R - /GS52 53 0 R - /GS53 54 0 R - /GS54 55 0 R - /GS55 56 0 R - /GS56 57 0 R - /GS57 58 0 R - /GS58 59 0 R - /GS59 60 0 R - /GS60 61 0 R - /GS61 62 0 R - /GS62 63 0 R - /GS63 64 0 R - /GS64 65 0 R - /GS65 66 0 R - /GS66 67 0 R - /GS67 68 0 R - /GS68 69 0 R - /GS69 70 0 R - /GS70 71 0 R - /GS71 72 0 R - /GS72 73 0 R - /GS73 74 0 R - /GS74 75 0 R - /GS75 76 0 R - /GS76 77 0 R - /GS77 78 0 R - /GS78 79 0 R - /GS79 80 0 R - /GS80 81 0 R - /GS81 82 0 R - /GS82 83 0 R - /GS83 84 0 R - /GS84 85 0 R - /GS85 86 0 R - /GS86 87 0 R - /GS87 88 0 R - /GS88 89 0 R - /GS89 90 0 R - /GS90 91 0 R - /GS91 92 0 R - /GS92 93 0 R - /GS93 94 0 R - /GS94 95 0 R - /GS95 96 0 R - /GS96 97 0 R - /GS97 98 0 R - /GS98 99 0 R - /GS99 100 0 R - /GS100 101 0 R - /GS101 102 0 R - /GS102 103 0 R - /GS103 104 0 R - /GS104 105 0 R - /GS105 106 0 R - /GS106 107 0 R - /GS107 108 0 R - /GS108 109 0 R - /GS109 110 0 R - /GS110 111 0 R - /GS111 112 0 R - /GS112 113 0 R - /GS113 114 0 R - /GS114 115 0 R - /GS115 116 0 R - /GS116 117 0 R - /GS117 118 0 R - /GS118 119 0 R - /GS119 120 0 R - /GS120 121 0 R - /GS121 122 0 R - /GS122 123 0 R - /GS123 124 0 R - /GS124 125 0 R - /GS125 126 0 R - /GS126 127 0 R - /GS127 128 0 R - /GS128 129 0 R - /GS129 130 0 R - /GS130 131 0 R - /GS131 132 0 R - /GS132 133 0 R - /GS133 134 0 R - /GS134 135 0 R - /GS135 136 0 R - /GS136 137 0 R - /GS137 138 0 R - /GS138 139 0 R - /GS139 140 0 R - /GS140 141 0 R - /GS141 142 0 R - /GS142 143 0 R - /GS143 144 0 R - /GS144 145 0 R - /GS145 146 0 R - /GS146 147 0 R - /GS147 148 0 R - /GS148 149 0 R - /GS149 150 0 R - /GS150 151 0 R - /GS151 152 0 R - /GS152 153 0 R - /GS153 154 0 R - /GS154 155 0 R - /GS155 156 0 R - /GS156 157 0 R - /GS157 158 0 R - /GS158 159 0 R - /GS159 160 0 R - /GS160 161 0 R - /GS161 162 0 R - /GS162 163 0 R ->> ->> -endobj -xref -0 207 -0000000000 65535 f -0000000015 00000 n -0000000145 00000 n -0000000197 00000 n -0000000249 00000 n -0000000301 00000 n -0000000353 00000 n -0000000405 00000 n -0000000457 00000 n -0000000509 00000 n -0000000561 00000 n -0000000614 00000 n -0000000667 00000 n -0000000720 00000 n -0000000773 00000 n -0000000826 00000 n -0000000879 00000 n -0000000932 00000 n -0000000985 00000 n -0000001038 00000 n -0000001091 00000 n -0000001144 00000 n -0000001197 00000 n -0000001250 00000 n -0000001303 00000 n -0000001356 00000 n -0000001409 00000 n -0000001462 00000 n -0000001515 00000 n -0000001568 00000 n -0000001621 00000 n -0000001674 00000 n -0000001727 00000 n -0000001780 00000 n -0000001833 00000 n -0000001886 00000 n -0000001939 00000 n -0000001992 00000 n -0000002045 00000 n -0000002098 00000 n -0000002151 00000 n -0000002204 00000 n -0000002257 00000 n -0000002310 00000 n -0000002363 00000 n -0000002416 00000 n -0000002469 00000 n -0000002522 00000 n -0000002575 00000 n -0000002628 00000 n -0000002681 00000 n -0000002735 00000 n -0000002789 00000 n -0000002843 00000 n -0000002897 00000 n -0000002951 00000 n -0000003005 00000 n -0000003059 00000 n -0000003112 00000 n -0000003165 00000 n -0000003218 00000 n -0000003271 00000 n -0000003324 00000 n -0000003377 00000 n -0000003430 00000 n -0000003483 00000 n -0000003536 00000 n -0000003589 00000 n -0000003642 00000 n -0000003695 00000 n -0000003748 00000 n -0000003801 00000 n -0000003854 00000 n -0000003907 00000 n -0000003960 00000 n -0000004013 00000 n -0000004066 00000 n -0000004119 00000 n -0000004172 00000 n -0000004225 00000 n -0000004278 00000 n -0000004331 00000 n -0000004384 00000 n -0000004437 00000 n -0000004490 00000 n -0000004543 00000 n -0000004596 00000 n -0000004649 00000 n -0000004702 00000 n -0000004755 00000 n -0000004808 00000 n -0000004861 00000 n -0000004914 00000 n -0000004967 00000 n -0000005020 00000 n -0000005073 00000 n -0000005126 00000 n -0000005179 00000 n -0000005232 00000 n -0000005285 00000 n -0000005338 00000 n -0000005392 00000 n -0000005447 00000 n -0000005502 00000 n -0000005557 00000 n -0000005611 00000 n -0000005665 00000 n -0000005719 00000 n -0000005773 00000 n -0000005827 00000 n -0000005881 00000 n -0000005935 00000 n -0000005989 00000 n -0000006043 00000 n -0000006097 00000 n -0000006151 00000 n -0000006205 00000 n -0000006259 00000 n -0000006313 00000 n -0000006367 00000 n -0000006421 00000 n -0000006475 00000 n -0000006529 00000 n -0000006583 00000 n -0000006637 00000 n -0000006691 00000 n -0000006745 00000 n -0000006799 00000 n -0000006853 00000 n -0000006907 00000 n -0000006961 00000 n -0000007015 00000 n -0000007069 00000 n -0000007123 00000 n -0000007177 00000 n -0000007231 00000 n -0000007285 00000 n -0000007339 00000 n -0000007393 00000 n -0000007447 00000 n -0000007501 00000 n -0000007555 00000 n -0000007609 00000 n -0000007663 00000 n -0000007717 00000 n -0000007771 00000 n -0000007825 00000 n -0000007879 00000 n -0000007933 00000 n -0000007987 00000 n -0000008041 00000 n -0000008095 00000 n -0000008149 00000 n -0000008204 00000 n -0000008259 00000 n -0000008314 00000 n -0000008369 00000 n -0000008424 00000 n -0000008479 00000 n -0000008534 00000 n -0000008589 00000 n -0000008644 00000 n -0000008699 00000 n -0000008754 00000 n -0000008809 00000 n -0000099437 00000 n -0000099460 00000 n -0000099487 00000 n -0000114673 00000 n -0000114534 00000 n -0000099685 00000 n -0000099941 00000 n -0000101410 00000 n -0000101388 00000 n -0000101500 00000 n -0000101520 00000 n -0000101911 00000 n -0000101680 00000 n -0000102224 00000 n -0000102245 00000 n -0000102497 00000 n -0000103941 00000 n -0000103919 00000 n -0000104028 00000 n -0000104047 00000 n -0000104438 00000 n -0000104207 00000 n -0000104750 00000 n -0000104771 00000 n -0000105027 00000 n -0000106970 00000 n -0000106948 00000 n -0000107062 00000 n -0000107082 00000 n -0000107477 00000 n -0000107242 00000 n -0000107797 00000 n -0000107818 00000 n -0000108073 00000 n -0000113451 00000 n -0000113429 00000 n -0000113549 00000 n -0000113569 00000 n -0000114070 00000 n -0000113728 00000 n -0000114513 00000 n -0000114596 00000 n -trailer -<< - /Root 206 0 R - /Info 1 0 R - /ID [ ] - /Size 207 ->> -startxref -117377 -%%EOF diff --git a/mohit/figs/three_weighting_functions.pdf b/mohit/figs/three_weighting_functions.pdf deleted file mode 100644 index f6468b3..0000000 Binary files a/mohit/figs/three_weighting_functions.pdf and /dev/null differ diff --git a/mohit/figs/uncertainty_set_super_sensor.pdf b/mohit/figs/uncertainty_set_super_sensor.pdf deleted file mode 100644 index 9c307d8..0000000 Binary files a/mohit/figs/uncertainty_set_super_sensor.pdf and /dev/null differ diff --git a/mohit/figs/weight_formula.pdf b/mohit/figs/weight_formula.pdf deleted file mode 100644 index c92ece8..0000000 Binary files a/mohit/figs/weight_formula.pdf and /dev/null differ diff --git a/mohit/figs/weights_W1_W2.pdf b/mohit/figs/weights_W1_W2.pdf deleted file mode 100644 index e106dce..0000000 Binary files a/mohit/figs/weights_W1_W2.pdf and /dev/null differ diff --git a/mohit/paper.org b/mohit/paper.org deleted file mode 100644 index 9acec74..0000000 --- a/mohit/paper.org +++ /dev/null @@ -1,637 +0,0 @@ -Sensor fusion , Optimal filters , $\mathcal{H}_\infty$ synthesis , -Vibration isolation , Precision - -* Introduction -The sensors used for measuring physical quantity often works well within -a limited frequency range called as the bandwidth of the sensor. The -signals recorded by the sensor beyond its bandwidth are often corrupt -with noise and are not reliable. Many dynamical systems require -measurements over a wide frequency range. Very often a variety of -sensors are utilized to sense the same quantity. These sensors have -different operational bandwidth and are reliable only in a particular -frequency range. The signals from the different sensors are fused -together in order to get the reliable measurement of the physical -quantity over wider frequency band. The combining of signals from -various sensor is called sensor -fusion \cite{hua04_polyp_fir_compl_filter_contr_system}. The resulting -sensor is referred as "super sensor" since it can have better noise -characteristics and can operate over a wider frequency band as compared -to the individual sensor used for -merging \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel}. - -Sensor fusion is most commonly employed in the navigation systems to -accurately measure the position of a vehicle. The GPS sensors, which are -accurate in low frequency band, are merged with the high-frequency -accelerometers. Zimmermann and -Sulzer \cite{zimmermann92_high_bandw_orien_measur_contr} used sensor -fusion to measure the orientation of a robot. They merged inclinometer -and accelerometers for accurate angular measurements over large -frequency band. -Corke \cite{corke04_inert_visual_sensin_system_small_auton_helic} merged -inertial measurement unit with the stereo vision system for measurement -of attitude, height and velocity of an unmanned helicopter. Min and -Jeung \cite{min15_compl_filter_desig_angle_estim} used accelerometer and -gyroscope for angle estimations. Baerveldt and Klang \cite{baerveldt97} -used an inclinometer and a gyroscope to measure the orientation of the -autonomous helicopter. The measurement of the 3D orientation using a -gyroscope and an accelerometer was demonstrated by Roberts et -al. \cite{roberts03_low}. Cao et -al. \cite{cao20_adapt_compl_filter_based_post} used sensor fusion to -obtain the lateral and longitudinal velocities of the autonomous -vehicle. - -Sensor fusion is also used for enhancing the working range of the active -isolation system. For example, the active vibration isolation system at -the Laser Interferometer Gravitational-Wave Observatory -(LIGO) \cite{matichard15_seism_isolat_advan_ligo} utilizes sensor -fusion. The position sensors, seismometer and geophones are used for -measuring the motion of the LIGO platform in different frequency -bands \cite{hua05_low_ligo}. Tjepkema et -al. \cite{tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip} -used sensor fusion to isolate precision equipment from the ground -motion. The feedback from the accelerometer was used for active -isolation at low frequency while force sensor was used at high -frequency. Various configurations of sensor fusion for active vibration -isolation systems are discussed by Collette and -Matichard \cite{collette15_sensor_fusion_method_high_perfor}. Ma and -Ghasemi-Nejhad \cite{ma04_frequen_weigh_adapt_contr_simul} used laser -sensor and piezoelectric patches for simultaneous tracking and vibration -control in smart structures. Recently, Verma et -al. \cite{verma21_virtual_sensor_fusion_high_precis_contr} presented -virtual sensor fusion for high precision control where the signals from -a physical sensor are fused with a sensor simulated virtually. - -Fusing signals from different sensors can typically be done using Kalman -filtering \cite{odry18_kalman_filter_mobil_robot_attit_estim, ren19_integ_gnss_hub_motion_estim, faria19_sensor_fusion_rotat_motion_recon, liu18_innov_infor_fusion_method_with, abdel15_const_low_cost_gps_filter, biondi17_attit_recov_from_featur_track} -or complementary -filters \cite{brown72_integ_navig_system_kalman_filter}. A set of -filters is said to be complementary if the sum of their transfer -functions is equal to one at all frequencies. When two filters are -complementary, usually one is a low pass filter while the other is an -high pass filter. The complementary filters are designed in such a way -that their magnitude is close to one in the bandwidth of the sensor they -are combined with. This enables to measure the physical quantity over -larger bandwidth. There are two different categories of complementary -filters --- frequency domain complementary filters and state space -complementary filters. Earliest application of the the frequency domain -complementary filters was seen in Anderson and -Fritze \cite{anderson53_instr_approac_system_steer_comput}. A simple RC -circuit was used to physically realize the complementary filters. -Frequency domain complementary filters were also used -in \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel, zimmermann92_high_bandw_orien_measur_contr, baerveldt97, roberts03_low}. -State space complementary filter finds application in tracking -orientation of the flexible links in a -robot \cite{bachmann03_desig_marg_dof, salcudean91_global_conver_angul_veloc_obser, mahony08_nonlin_compl_filter_special_orthog_group} -and are particularly useful for multi-input multi-output systems. -Pascoal et al. \cite{pascoal00_navig_system_desig_using_time} presented -complementary filters which can adapt with time for navigation system -capable of estimating position and velocity using GPS and SONAR sensors. - -The noise characteristics of the super sensor are governed by the norms -of the complementary filters. Therefore, the proper design of the -complementary filters for sensor fusion is of immense importance. The -design of complementary filters is a complex task as they need to tuned -as per the specification of the sensor. In many applications, analytical -formulas of first and second order complementary filters are -used \cite{corke04_inert_visual_sensin_system_small_auton_helic,jensen13_basic_uas}. -These filters are easy to tune and simple to implement using an analog -circuit \cite{moore19_capac_instr_sensor_fusion_high_bandw_nanop,cite:yong16_high_speed_vertic_posit_stage}. -However, these low order complementary filters are not optimal, and high -order complementary filters can lead to better -fusion \cite{jensen13_basic_uas,shaw90_bandw_enhan_posit_measur_using_measur_accel}. - -Several design techniques have been proposed to design higher order -complementary filters. -Pascoal \cite{pascoal00_navig_system_desig_using_time} used linear -matrix inequalities (LMIs) \cite{boyd94_linear} for the design of time -varying complementary filters. LMIs were also used by Hua et -al. \cite{hua04_polyp_fir_compl_filter_contr_system} to design finite -impulse response (FIR) filters for the active vibration isolation system -at LIGO. -Plummer \cite{plummer06_optim_compl_filter_their_applic_motion_measur} -proposed an optimal design method using the $\mathcal{H}_{\infty}$ -synthesis and weighting functions representing the measurement noise of -the sensors. - -Although various methods have been presented in the literature for the -design of complementary filters, there is a lack of general and simple -framework that allows to shape the norm of complementary filters. Such a -method would prove to be very useful as the noise of the "supper sensor" -and its dynamical characteristics depend on the norm of the filters. -This paper presents such a framework based on the $\mathcal{H}_\infty$ -norm minimization. The proposed method is quite general and can be -easily extended to a case where more than two complementary filters -needs to be designed. The organization of this paper is as follows. -Section [[*Complementary filters requirements][2]] presents the design -requirements of ideal complementary filters. It also demonstrates how -the noise and robustness characteristics of the "super sensor" can be -transformed into upper bounds on the norm of the complementary filters. -The framework for the design of complementary filters is detailed in -Section [[*Design formulation using $\mathcal{H}_\infty$ synthesis][3]]. -This is followed by the application of the design method to -complementary filter design for the active vibration isolation at LIGO -in Section [[*Application: Complementary Filter Design for Active -Vibration Isolation of LIGO][4]]. Finally, concluding remarks are -presented in Section [[*Concluding remarks][5]]. - -* Complementary filters requirements -** Introduction :ignore: -Complementary filters provides a framework for fusing signals from different -sensors. As the effectiveness of the fusion depends on the proper design of the -complementary filters, they are expected to fulfill certain requirements. These -requirements are discussed in this section. - -** Complementary characteristics -Consider a case where two different sensors are used for measuring the -same quantity, $x$ in different frequency range. The inherent dynamics -of the sensors is represented by transfer functions $G_1(s)$ and -$G_2(s)$. The two sensor also have uncorrelated noise characteristics -given by $n_1$ and $n_2$. The signals from these two sensors are fused -using complementary filters $H_1(s)$ and $H_2(s)$. The architecture of -sensor fusion using complementary filters is shown in -Figure [[#fig:fusion_super_sensor][1]]. The resulting sensor, termed as -"super sensor", can have larger bandwidth and better noise -characteristics in comparison to the individual sensor. This means that -the super sensor provides an estimate $\hat{x}$ of $x$ which can be more -accurate over a larger frequency band than the outputs of the individual -sensors. Based on Figure [[#fig:fusion_super_sensor][1]], the estimate -of the physical quantity as measured by the super sensor can be written -as $$\label{eq:comp_filter_estimate} - \hat{x} = \left(G_1 H_1 + G_2 H_2\right) x + H_1 n_1 + H_2 n_2$$ - -#+caption: [fig:fusion_super_sensor]Block diagram of sensor fusion with -complementary filters -[[file:figs/fusion_super_sensor.pdf]] - -The complementary property of filters $H_1(s)$ and $H_2(s)$ simply -implies that the summation of their transfer functions is equal to -unity. That is, unity magnitude and zero phase at all frequencies -(filters which satisfies only the magnitude condition are referred as -"magnitude complementary filter pair"). Therefore, a pair of strict -complementary filter needs to satisfy the following condition. - -$$\label{eq:comp_filter} - H_1(s) + H_2(s) = 1$$ - -** Noise characterization -In order to compute the noise characteristics associated with the -estimate $\hat{x}$, it is first assumed that the dynamics of the -individual sensors are perfect: $$\label{eq:perfect_dynamics} - G_1(s) = G_2(s) = 1$$ - -The output of the super sensor, $\hat{x}$, based on the block diagram -shown in Figure [[#fig:fusion_super_sensor][1]] can be written as -$$\label{eq:estimate_perfect_dyn} - \hat{x} = x + H_1 n_1 + H_2 n_2$$ - -The complementary are operating only on the noise component of the -individual sensor. Thus, this sensor fusion architecture permits to -filter the noise of both sensors without introducing any distortion in -the physical quantity to be measured. The estimation error, $\delta x$, -of the super sensor can be written as $$\label{eq:estimate_error} - \delta x \triangleq \hat{x} - x = H_1 n_1 + H_2 n_2$$ - -The power spectral density (PSD) of the super sensor's estimation error -is given by $$\label{eq:noise_filtering_psd} - \Phi_{\delta x} = \left|H_1\right|^2 \Phi_{n_1} + \left|H_2\right|^2 \Phi_{n_2}$$ -where, $\Phi_{\delta x}$ is the PSD of estimation error, $\Phi_{n_1}$ -and $\Phi_{n_2}$ are the PSDs of the noise associated with the -individual sensor. -It can be seen that the estimation error's PSD -depends on the PSD of the noise in individual sensor as well as the norm -of the complementary filters. -Therefore, by properly shaping the norm of -the complementary filters, it is possible to minimize the noise of the -super sensor noise. - -** Robustness requirements -In the previous subsection, the inherent sensor dynamics were ignored. -However in the real system, the sensor dynamics is not equal to unity. -In such cases, the output of the sensor is normalized using a filter -whose transfer function is equal to the inverse of the sensor dynamics. -There are two major concerns in using inversion. First being the sensors -may not have been calibrated properly and the actual sensor dynamics is -not exactly compensated by the inverse filter. The second problem is -that the inversion of sensor dynamics can result in an improper transfer -function and hence may not be physically realizable. We here suppose -that the sensor dynamics can be inverted using a proper and stable -transfer function $\hat{G}_i(s)$. However, we suppose there exists a -normalization error since $\hat{G}_i^{-1}(s) G_i(s) \neq 1$. This -normalization error can be represented using frequency dependent -multiplicative uncertainty -(Figure [[#fig:sensor_fusion_dynamic_uncertainty][2]]). In -Figure [[#fig:sensor_fusion_dynamic_uncertainty][2]], $\Delta_i(s)$ -satisfies $\|\Delta_i(s)\|_\infty \le 1$ and $|w_i(s)|$ is a frequency -dependent weighting function that represents the uncertainty -corresponding to the normalization error. - -#+caption: [fig:sensor_fusion_dynamic_uncertainty] Representation of -normalization error in sensor fusion using multiplicative uncertainty -[[file:figs/sensor_fusion_dynamic_uncertainty.pdf]] - -Based on Figure [[#fig:sensor_fusion_dynamic_uncertainty][2]], the super -sensor dynamics can be written as -$$\label{eq:super_sensor_dyn_uncertainty} - \frac{\hat{x}}{x} = 1 + w_1(s) H_1(s) \Delta_1(s) + w_2(s) H_2(s) \Delta_2(s)$$ - -The dynamics of the super sensor now depends on the weighting functions -($w_1(s),w_2(s)$) and the complementary filters ($H_1(s),H_2(s)$). - -The robust stability of the fusion can be studied graphically (refer -Figure [[#fig:uncertainty_set_super_sensor][3]]). The frequency response of the fusion output is plotted in a complex plane. The unity transfer function leads to a point $(1,0)$ located on the real axis. The uncertainty associated with first sensor at a particular frequency is represented by a circle with the center at (1,0) and radius $|w_1H_1|$. The uncertainty associated with the second is also represented using a circle centered at any point on the circle representing uncertainty associated with the first sensor and radius equal to $|w_2H_2|$. Therefore, the overall uncertainty of the fusion is represented with a circle centered at (1,0) and radius equal to $|w_1H_1|+|w_2H_2|$. -Mathematically, the maximum phase difference at frequency -$\omega$ that can result from fusion is given by -$$\label{eq:max_phase_uncertainty} - \Delta\phi(\omega) = \arcsin\left( |w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)| \right)$$ - -#+caption: [fig:uncertainty_set_super_sensor]Robustness analysis of -sensor fusion in the complex plane. The uncertainty associated with the -super sensor dynamics are represented with a solid circle while those -associated with individual sensors are represented with dashed circles. -[[file:figs/uncertainty_set_super_sensor.pdf]] - -A constraint on the maximum phase difference at a given frequency can be -incorporated in the design problem using the following equation: -$$\label{eq:max_uncertainty_super_sensor} - \max_\omega \big( \left|w_1 H_1\right| + \left|w_2 H_2\right|\big) < \sin\left( \Delta \phi_\text{max} \right)$$ -where $\Delta \phi_\text{max}$ is the maximum allowable phase -difference. It can also be inferred from the above equation that the -magnitude of the complementary filter ($|H_i|$) should be tuned to a -smaller value at the frequencies where the magnitude of weighing -transfer functions ($|w_i|$) representing sensor uncertainty is large. - -* Design formulation using $\mathcal{H}_\infty$ synthesis -** Introduction :ignore: -In this section, the shaping of complementary filters is expressed as an optimal $\mathcal{H}_{\infty}$ synthesis problem. -The synthesis goal is to shape the frequency response of the filters such that they satisfy the design requirements presented in Section [[*Complementary filters -requirements][2]]. - -** Synthesis problem formulation -The first step is to formulate the filter design problem as a -generalized plant-controller structure \cite{boyd91_linear}. The -generalized plant and controller structure for complementary filters -design is shown in Figure [[#fig:h_infinity_robust_fusion][4]]. In the -figure, $P(s)$ is the generalized plant, $u$ is the "control input", $v$ -is the "measured output" and $H_2(s)$ is the controller (filter) to be -designed. The regulated outputs of the generalized plant, $z_1$ and -$z_2$, are given by $$\begin{split} - z_1 &= W_1(s)(1-H_2(s)) w = W_1(s) H_1(s) w \text{ by defining } H_{1}(s) \triangleq 1 - H_{2}(s)\\ - z_2 &= W_2(s) H_2(s) w - \end{split}$$ where $w$ is the "exogenous input" to the plant, -$W_1(s), W_2(s)$ are the weighting functions for shaping the -complementary filters. - -The dynamics of the generalized plant can be written as -$$\label{eq:generalized_plant} - \begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & W_2(s) \\ 1 & 0 \end{bmatrix}$$ - -The weighting functions are chosen based on the specifications and -requirements set for the complementary filters (discussed in -Section [[*Design of weighting functions][3.2]]). The objective of the -optimization is to design a filter $H_2(s)$ such that the following -conditions are satisfied $$\label{eq:comp_filter_problem_form} - \begin{split} - \left| \frac{z_{1}}{w} \right| &= |1-H_2(s)| \le \frac{1}{|W_1(s)|} \\ - \left| \frac{z_{1}}{w} \right| &= |H_2(s)| \le \frac{1}{|W_2(s)|} - \end{split}, \quad \forall \omega \in \mathbb{R}^{+}$$ - -#+caption: [fig:h_infinity_robust_fusion]Generalized plant controller -structure for the design of complementary filters -[[file:figs/h_infinity_robust_fusion.pdf]] - -Based on Figure [[#fig:h_infinity_robust_fusion][4]], the -$\mathcal{H}_{\infty}$ synthesis problem for the complementary filters -can be stated as - -#+begin_quote - Find a stable transfer function, $H_2(s)$, which takes measured - output, $v$, as input and generates a control input, $u$, such that - the $\mathcal{H}_\infty$ norm of the generalized plant from exogenous - input, $w$, to the regulated output, ${[z_1,z_2]}^T$ is less than - unity. -#+end_quote - -Mathematically, the synthesis objective can be written as -$$\begin{split} - &\left\|\begin{matrix} \left[1 - H_2(s)\right] W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 \\ - \Longleftrightarrow & \left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1; \quad H_1(s) \triangleq 1 - H_2(s) - \end{split} - \label{eq:hinf_syn_obj}$$ The above optimization problem can be -efficiently solved in Matlab \cite{MATLAB2009} using Riccati formulae, -linear matrix inequality based method or maximum entropy method. - -** Design of weighting functions -The choice of weighting function governs the shape of the designed -complementary filters. Therefore, it is very important that the design -specifications are appropriately transformed into the weighting -functions. The choice of weighting functions is also constrained by the -following factors - -1. Only proper and stable transfer functions can be used as weighting - functions - -2. As the order of the designed filter is equal to the sum of the orders - of the weighting functions, the order of the weighting function needs - to be reasonably small to ensure the physical implementation of the - designed complementary filters. This also reduces the computational - cost of the optimization problem. - -3. The complementary property of the filter imposes a fundamental - limitations on the weighting functions. The imposes a restriction - that the magnitude of the filters $H_1(s)$ and $H_2(s)$ cannot be - made small simultaneously at the same frequency. - -The specifications of the complementary filters are typically expressed -using the following parameters --- low frequency gain, high frequency -gain, slope (order of the filter) and the crossover frequency. We -propose a weighting function that allows to translate the above -requirements by setting simple parameters: $$\label{eq:weight_formula} - W(s) = \displaystyle\left( \frac{ - \hfill{} \displaystyle\frac{1}{\omega_0} \sqrt{\frac{1 - \left(\displaystyle\frac{G_0}{G_c}\right)^{\displaystyle\frac{2}{n}}}{1 - {\left(\displaystyle\frac{G_c}{G_\infty}\right)}^{\displaystyle\frac{2}{n}}}} s + \left(\frac{G_0}{G_c}\right)^{\displaystyle\frac{1}{n}} - }{ - \left(\displaystyle\frac{1}{G_\infty}\right)^{\displaystyle\frac{1}{n}}\displaystyle \frac{1}{\omega_0} \sqrt{\displaystyle\frac{1 - \left(\displaystyle\frac{G_0}{G_c}\right)^{\displaystyle\frac{2}{n}}}{1 - \left(\displaystyle\frac{G_c}{G_\infty}\right)^{\displaystyle\frac{2}{n}}}} s + \left(\displaystyle\frac{1}{G_c}\right)^{\displaystyle\frac{1}{n}} - }\right)^n$$ where, $G_0 = \lim_{\omega \to 0} |W(j\omega)|$ is the -low frequency gain, $G_\infty = \lim_{\omega \to \infty} |W(j\omega)|$ -is the high frequency gain, $\omega_c$ is the crossover frequency, -$G_c = |W(j\omega_c)|$ is the absolute gain at the crossover frequency -and $n$ is the order of the filter. As an illustration, the magnitude of -the frequency response of the weighting function with the parameters -$G_0 = 0.001$, $G_\infty = 10$, $\omega_c = \SI{10}{Hz}$, $G_c = 2$, -$n = 3$ and having high pass characteristics is shown in -Figure [[#fig:weight_formula][5]]. - -#+caption: [fig:weight_formula]Magnitude of the frequency response of -the weighting function obtained using -equation [[#eq:weight_formula][[eq:weight_formula]]] with the parameters -$G_0 = 0.001$, $G_\infty = 10$, $\omega_c = \SI{10}{Hz}$, $G_c = 2$, -$n = 3$ -[[file:figs/weight_formula.pdf]] - -** Verification -The proposed methodology for the design of complementary filters is now -applied on the following example. - -*Example.* Design complementary filters with the merging frequency -around 10 Hz. The low pass filter should have DC gain of 0.001 and slope --2 above the merging frequency. The high pass filter should have a slope -of 3 below the merging frequency and 0.001 high frequency gain. - -The first step is to design the weighting functions that translate the -above requirements. To do so, -equation [[#eq:weight_formula][[eq:weight_formula]]] is used. The -parameters corresponding to $W_1(s)$ and $W_2(s)$ are listed in -Table [[#tab:weights_params][1]]. The obtained transfer functions of the -weighting functions are $$\begin{split} - W_1(s) &= \dfrac{1000 (s+34.55)^2}{(s+3455)^2}\\ - W_2(s) &= \dfrac{0.1 (s+87.43)^3}{(s+4.058)^3} - \end{split}$$ - -Using these weighting functions, the generalized plant is evaluated -using equation [[#eq:generalized_plant][[eq:generalized_plant]]]. The -optimal complementary filters are obtained by solving the optimization -problem given by equation [[#eq:hinf_syn_obj][[eq:hinf_syn_obj]]]. The -complementary filters obtained after optimization are $$\begin{split} - H_1(s) &= \frac{10^{-8} (s+6.6\times 10^9) (s+3450)^2 (s^2 + 49s + 895)}{(s+6.6e^4) (s^2 + 106 s + 3\times 10^3) (s^2 + 72s + 3580)}\\ - H_2(s) &= \frac{(s+6.6\times 10^4) (s+160) (s+4)^3}{(s+6.6\times 10^4) (s^2 + 106 s + 3\times 10^3) (s^2 + 72s + 3580)} - \end{split}$$ - -The obtained complementary filters are of order 5 which corresponds to -the sum of the orders of the weighting functions used. The frequency -responses of the designed complementary filters are shown in -Figure [[#fig:hinf_filters_results][6]]. It can be seen that the -designed filters fulfills all the design specifications and hence -demonstrates the effectiveness of the designed methodology (more complex -real life example is taken up in Section [[*Application: Complementary -Filter Design for Active Vibration Isolation of LIGO][4]]). - -<> -| Parameter | $W_1(s)$ | $W_2(s)$ | -|------------------------+----------+----------| -| $n$ | $2$ | $3$ | -| $G_c$ | $0.5$ | $0.5$ | -| $G_\infty$ | $1000$ | $0.1$ | -| $G_0$ | $0.1$ | $1000$ | -| $\omega_c$ [$\si{Hz}$] | $11$ | $10$ | -#+caption: [tab:weights_params]Parameters used for $W_1(s)$ and $W_2(s)$ - -#+caption: [fig:hinf_filters_results]Bode plot of the weighting -functions and designed complementary filters -[[file:figs/hinf_filters_results.pdf]] - -** TODO Extension to set of three complementary filters -In certain applications, more than two sensors are used to measure the -same quantity and can be merged together to form a "super sensor". In -such case, a set of three (or more) complementary filters is required. -It is here shown that the proposed method can be generalized for the -design of a set of arbitrary number of complementary filters. The -control objective is now to design of a set of $n$ complementary filters -($H_i(s), i=1,\cdots,n$) which satisfy the following conditions -$$\label{eq:hinf_problem_gen} - \begin{split} - &\sum_{i=0}^n H_i(s) = 1 \\ - &\left| H_i(s) \right| < \frac{1}{\left| W_i(s) \right|} - \end{split}$$ Here, we extend the method to a case of three -complementary filters. The generalized plant controller setup for this -case is shown in Figure [[#fig:comp_filter_three_hinf][7]]. The -synthesis objective is to design filters $H_2(s)$ and $H_3(s)$ such that -the $\mathcal{H}_\infty$ norm from exogenous input $w$ to regulated -output vector $[z_1,z_2,z_3]^T$ is less than unity. That is, -$$\label{eq:hinf_syn_obj_three} - \begin{split} - &\left\| \begin{matrix} \left[1 - H_2(s) - H_3(s)\right] W_1(s) \\ H_2(s) W_2(s) \\ H_3(s) W_3(s) \end{matrix} \right\|_\infty \le 1\\ - \equiv &\left\| \begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \\ H_3(s) W_3(s) \end{matrix} \right\|_\infty \le 1; \quad H_1(s) \triangleq 1 - H_2(s) - H_3(s) - \end{split}$$ - -#+caption: [fig:comp_filter_three_hinf]Generalized plant controller -setup for designing a set of three complementary filters using -$\mathcal{H}_\infty$ synthesis -[[file:figs/comp_filter_three_hinf.pdf]] - -To validate this synthesis method, let's take an example where 3 sensors -are merged together. The three sensors are working in the following -three frequency range --- below 1 Hz, between 1Hz to 10Hz and above -10Hz. The weighting functions used for the synthesis are $$\begin{split} - W_1(s) &= \dfrac{1000 (s+3.141)^2}{(s+314.1)^2}\\ - W_2(s) &= \dfrac{2200 (s+62.83)^2 (s+6.283)^2}{(s+6283)^2 (s+0.06283)^2}\\ - W_3(s) &= \dfrac{0.1 (s+87.43)^3}{(s+4.058)^3} - \end{split}$$ The complementary filters are obtained by solving the -optimization problem given by -equation [[#eq:hinf_syn_obj_three][[eq:hinf_syn_obj_three]]]. The -frequency response of the designed filters and the weighting functions -are shown in Figure [[#fig:three_complementary_filters_results][8]]. - -#+caption: [fig:three_complementary_filters_results]Bode plot of the -weighting functions and designed set of three complementary filters -[[file:figs/three_complementary_filters_results.pdf]] - -* Application: Complementary Filter Design for Active Vibration -** Introduction :ignore: -Isolation of LIGO Gravitational waves can help in detection various astrophysical events occurring in our universe. This can also pave a path to validate theories built around the existence of gravitational waves. However, the detection of these waves is an arduous task owing to the extraordinary small strain experienced by the earth due to gravitational waves. Various methods have been proposed for their detection, out of which laser interferometers are the most popular ones. Laser interferometers offers large projection range and high displacement sensitivity. Among the existing detector, Laser interferometer gravitation-wave observatory (LIGO) is the most sensitive operational detector. LIGO consists of two longs arms, referred as beam tubes, that are placed orthogonal to each other. The arms of the LIGO accommodates a Michleson interferometer with a cavity (Fabry-Perot). The mirrors at the extremity of the cavity serve -as inertial test masses which responds to the strain induced due to the -gravitational waves. The optics of the LIGO are suspended like a -pendulum. The schematics of the LIGO are shown in -Figure [[#ligo_schematics][9]]. - -#+caption: [ligo_schematics]Schematics of LIGO -[[file:figs/ligo.png]] - -The isolation of the terrestrial interferometers is necessary in order -to isolate the motion of the suspended inertial masses from the seismic -ground motion. The vibration isolation system attenuates the effect of -disturbances on the motion of the suspended masses in the gravitational -wave band. The other sources that can affect the sensitivity of the LIGO -are thermal noise, human activities, tidal motion etc. The suspensions -of the LIGO needs to serve two purpose --- isolation and alignment. The -alignment is also important in order to ensure that the interferometer -beam is targeted at the center of the suspended mass. The current -vibration isolation system for LIGO has seven different stages. In the -first stage, hydraulically actuated external pre-isolators are used for -attenuating large ground motions. Two stages of active electromagnetic -isolation system are placed next to pre-isolators. This is followed by -four stages of pendulum based passive isolation system. - -In the active isolation stage of LIGO, different sensors are used to -sense the same physical signal in different frequency range. For -example, seismometers are used to sense the position of the platform in -the frequency band 0.5--10 Hz while geophones are employed above 10 Hz. -The signals recorded from different sensor are fused using complementary -filters \cite{hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system}. -The stringent requirements on these filters complicate their design. -Hua \cite{hua05_low_ligo} proposed complementary FIR filters which were -synthesized using convex optimization. The designed FIR filters were -found to be compliant with the design specifications. However, the order -of the designed filter was very high, which limits its application to a -practical system. In this section, we demonstrate the design of -complementary filters with the same specification using the proposed -method based on $\mathcal{H}_\infty$- synthesis. - -** Design specifications -The design specification of the complementary filters (as listed out -in \cite{hua05_low_ligo}) are as follows: - -1. In the frequency range $0$-$\SI{0.008}{Hz}$: the high pass filter's - magnitude should be less than $8 \times 10^{-4}$. - -2. For frequency range $\SI{0.008}{Hz}$-$\SI{0.04}{Hz}$: slope of the - high pass filter is equal to three. - -3. Between $\SI{0.04}{Hz}$-$\SI{0.1}{Hz}$ frequency range: the high pass - filter's magnitude should be less than $3$. - -4. For frequencies above $\SI{0.1}{Hz}$: the low pass filter's magnitude - should be less than $0.045$. - -The specification of the complementary filters are shown graphically by -dashed black lines in Figure [[#fig:ligo_weights][10]]. - -** Weighting Functions Design -As the synthesis objective of the complementary filters is described by -Eq. [[#eq:hinf_problem_gen][[eq:hinf_problem_gen]]], it is clear that -the weighting functions should be chosen such that their inverse -magnitude represent the maximum allowed norm of the complementary -filters. This can be done manually using by combining poles and zeros or -using useful formulas such as -Eq. [[#eq:weight_formula][[eq:weight_formula]]]. It is important to note -that the order of the filters should be kept reasonable small in order -to keep the computational cost of the optimization reasonable. This will -also ensure that the designed filters are realizable in the physical -world. The transfer function representing weights should also be stable -and minimum phase. - -The weighting function corresponding to the low pass filter, $w_L(s)$, -is here taken as Type I Chebyshev filter. The order of the weighting -function for low pass filter is set as 20. - -The weighting function for the high pass filter, $w_H(s)$, is designed -in such a way that its magnitude response is as close as possible to the -design specifications. This was achieved using a combination of high-, -low- and band-pass filters in the particular frequency band. The overall -order of the weighting function for high pass filter is 7. - -The magnitude responses of the inverse of the designed weighting -functions and their comparison with the specifications are shown in -Figure [[#fig:ligo_weights][10]]. It can be seen that the inverse of the -designed weights, shown in solid blue line for high pass filter and -solid red line for low pass filter, are close to the specifications -shown in black dotted line. - -#+caption: [fig:ligo_weights]Specifications and weighting functions -magnitudes -[[file:figs/ligo_weights.pdf]] - -** $\mathcal{H}_\infty$ synthesis of complementary filters -The complementary filters are designed using $\mathcal{H}_\infty$ -synthesis based on the architecture shown in -Figure [[#fig:h_infinity_robust_fusion][4]]. The generalized plant is -obtained by substituting the transfer functions of the designed -weighting functions in -equation [[#eq:generalized_plant][[eq:generalized_plant]]], i.e., -$W_1(s)=w_H(s)$ and $W_2(s)=w_L(s)$. The objective of the -$\mathcal{H}_\infty$ synthesis is given by -equation [[#eq:hinf_syn_obj][[eq:hinf_syn_obj]]]. The optimization -problem in solved in Matlab \cite{MATLAB2009} using Ricatti method. The -frequency responses of the designed optimal complementary filters are -shown in Figure [[#fig:comp_fir_ligo_hinf][11]]. The order of the -filters obtained using $\mathcal{H}_\infty$ optimization is $27$. - -Now, we compare the designed complementary filters with the FIR filters -designed by Hua \cite{hua05_low_ligo}. The transfer function of the FIR -filter, $G(\omega)$, is the Fourier transform of its coefficients, -$g(n)$. That is, $$G(\omega) = \sum_n g(n)e^{-j2n\pi\omega}$$ The FIR -filter synthesis was formulated as a convex optimization problem. The -objective of the optimization problem was to find the filter's -coefficients such that their norm are below the specified upper bounds. -The optimization problem was solved using -SeDuMi \cite{sturm99_using_sedum} and the obtained order for the FIR -filters is $512$. The bode plot of the FIR filters are shown with dotted -lines in Figure [[#fig:comp_fir_ligo_hinf][11]]. It can be seen that -frequency responses of the designed complementary filters matches quite -well with those of the FIR filters. The designed complementary filters -are of much lower order and can be implemented with less computational -cost can the FIR filters. The proposed methodology for the design of -complementary filters can be effectively employed to obtain physically -realizable filters. - -#+caption: [fig:comp_fir_ligo_hinf]Bode plot of the filters designed -using $\mathcal{H}_\infty$ synthesis and FIR -filters \cite{hua05_low_ligo} -[[file:figs/comp_fir_ligo_hinf.pdf]] - -* Concluding remarks -The measurements from the sensors are reliable only within its -bandwidth. The signals from different sensors are usually fused in order -to measure a physical quantity over larger bandwidth. The sensor -obtained after fusion is called as super sensor as it has superior noise -characteristics and wider bandwidth. Complementary filters are used for -the combining the signals from different sensors. A new framework based -on $\mathcal{H}_\infty$ synthesis has been presented in this paper to -aid the design of complementary filters. The method presented allows to -shape the complementary filters based on the design specifications. The -task of filter design is posed as an $\mathcal{H}_{\infty}$ synthesis -problem. The design specifications of the systems are transformed in the -form of weighting functions. These weighting functions are used in the -optimization problem to constraint the filter response in a frequency -band. The method has also been demonstrated for designing a set of three -complementary filters. The design frame is general, simple to implement -and can easily be extended to difference scenarios of sensor fusion. The -effectiveness of the method is demonstrated for a real life application -where complementary filters are designed for active vibration isolation -of Laser Interferometer Gravitational-Wave Observatory (LIGO). The -filters designed with the proposed method have been with compared with -the finite impulse response (FIR) filters. It was found that the filters -designed using $\mathcal{H}_\infty$ have lower order compared to FIR -filters. The designed filters are physically realizable and have lesser -computational cost compared to FIR filters. The proposed method can be -effectively used to shape complementary filters based on design -specifications. The method can be further be extended for the design of -robust complementary filters with desired noise characteristics -considering uncertainties in the sensor dynamics. This is the focus of -our future research. - -* Acknowledgment - :PROPERTIES: - :CLASS: unnumbered - :END: -The authors would like to acknowledge the help received from the French -Community of Belgium for funding the FRIA Grant of Thomas Dehaeze (Grant -No. FC 31597). diff --git a/mohit/paper.pdf b/mohit/paper.pdf deleted file mode 100644 index c0655e5..0000000 Binary files a/mohit/paper.pdf and /dev/null differ diff --git a/mohit/paper.tex b/mohit/paper.tex deleted file mode 100644 index d1ae8ae..0000000 --- a/mohit/paper.tex +++ /dev/null @@ -1,560 +0,0 @@ -\documentclass[sort&compress, review,12pt,times]{elsarticle} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{graphicx} -\usepackage{grffile} -\usepackage{rotating} -\usepackage[normalem]{ulem} -\usepackage{capt-of} -\usepackage{hyperref} -\usepackage{bm} -\usepackage{array} -\usepackage{amsmath,amssymb,amsfonts} -\usepackage{algorithmic} -\usepackage{textcomp} -\usepackage{xcolor} -\usepackage{cases} -\usepackage{tabularx,siunitx,booktabs} -\usepackage{algorithmic} -\newcounter{example}[section] -\newenvironment{example}[1][]{\refstepcounter{example}\par\medskip - \noindent \textbf{Example. #1} \rmfamily}{\medskip} -\usepackage[top=3cm, bottom=3cm, left=3cm, right=3cm]{geometry} - -\journal{Mechanical Systems and Signal Processing} - -\author[a1,a2]{Thomas Dehaeze\corref{cor1}} -\author[a3,a4]{Mohit Verma} -\author[a2,a4]{Christophe Collette} -\cortext[cor1]{Corresponding author. Email Address: dehaeze.thomas@gmail.com} - -\address[a1]{European Synchrotron Radiation Facility, Grenoble, France} -\address[a2]{University of Li\`{e}ge, Department of Aerospace and Mechanical Engineering, 4000 Li\`{e}ge, Belgium.} -\address[a3]{CSIR --- Structural Engineering Research Centre, Taramani, Chennai --- 600113, India.} -\address[a4]{Universit\'{e} Libre de Bruxelles, Precision Mechatronics Laboratory, BEAMS Department, 1050 Brussels, Belgium.} - -\date{} -\title{A new method of designing complementary filters for sensor fusion using \(\mathcal{H}_\infty\) synthesis} - - -\begin{document} - -\begin{frontmatter} - \begin{abstract} - Sensor have limited bandwidth and are accurate only in a certain frequency band. - In many applications, the signals of different sensor are fused together in order to either enhance the stability or improve the operational bandwidth of the system. - The sensor signals can be fused using complementary filters. - The tuning of complementary filters is a complex task and is the subject of this paper. - The filters needs to meet design specifications while satisfying the complementary property. - This paper presents a framework to shape the norm of complementary filters using the $\mathcal{H}_\infty$ norm minimization. - The design specifications are imposed as constraints in the optimization problem by appropriate selection of weighting functions. - The proposed method is quite general and easily extendable to cases where more than two sensors are fused. - Finally, the proposed method is applied to the design of complementary filter design for active vibration isolation of the Laser Interferometer Gravitation-wave Observatory (LIGO). - \end{abstract} - - \begin{keyword} - Sensor fusion \sep{} Optimal filters \sep{} $\mathcal{H}_\infty$ synthesis \sep{} Vibration isolation \sep{} Precision - \end{keyword} -\end{frontmatter} - -\section{Introduction}\label{sec:introduction} - -The sensors used for measuring physical quantity often works well within a limited frequency range called as the bandwidth of the sensor. -The signals recorded by the sensor beyond its bandwidth are often corrupt with noise and are not reliable. -Many dynamical systems require measurements over a wide frequency range. -Very often a variety of sensors are utilized to sense the same quantity. -These sensors have different operational bandwidth and are reliable only in a particular frequency range. -The signals from the different sensors are fused together in order to get the reliable measurement of the physical quantity over wider frequency band. -The combining of signals from various sensor is called sensor fusion~\cite{hua04_polyp_fir_compl_filter_contr_system}. -The resulting sensor is referred as ``super sensor'' since it can have better noise characteristics and can operate over a wider frequency band as compared to the individual sensor used for merging~\cite{shaw90_bandw_enhan_posit_measur_using_measur_accel}. - -Sensor fusion is most commonly employed in the navigation systems to accurately measure the position of a vehicle. -The GPS sensors, which are accurate in low frequency band, are merged with the high-frequency accelerometers. -Zimmermann and Sulzer~\cite{zimmermann92_high_bandw_orien_measur_contr} used sensor fusion to measure the orientation of a robot. -They merged inclinometer and accelerometers for accurate angular measurements over large frequency band. -Corke~\cite{corke04_inert_visual_sensin_system_small_auton_helic} merged inertial measurement unit with the stereo vision system for measurement of attitude, height and velocity of an unmanned helicopter. -Min and Jeung~\cite{min15_compl_filter_desig_angle_estim} used accelerometer and gyroscope for angle estimations. -Baerveldt and Klang~\cite{baerveldt97} used an inclinometer and a gyroscope to measure the orientation of the autonomous helicopter. -The measurement of the 3D orientation using a gyroscope and an accelerometer was demonstrated by Roberts et al.~\cite{roberts03_low}. -Cao et al.~\cite{cao20_adapt_compl_filter_based_post} used sensor fusion to obtain the lateral and longitudinal velocities of the autonomous vehicle. - -Sensor fusion is also used for enhancing the working range of the active isolation system. -For example, the active vibration isolation system at the Laser Interferometer Gravitational-Wave Observatory (LIGO)~\cite{matichard15_seism_isolat_advan_ligo} utilizes sensor fusion. -The position sensors, seismometer and geophones are used for measuring the motion of the LIGO platform in different frequency bands~\cite{hua05_low_ligo}. -Tjepkema et al.~\cite{tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip} used sensor fusion to isolate precision equipment from the ground motion. -The feedback from the accelerometer was used for active isolation at low frequency while force sensor was used at high frequency. -Various configurations of sensor fusion for active vibration isolation systems are discussed by Collette and Matichard~\cite{collette15_sensor_fusion_method_high_perfor}. -Ma and Ghasemi-Nejhad~\cite{ma04_frequen_weigh_adapt_contr_simul} used laser sensor and piezoelectric patches for simultaneous tracking and vibration control in smart structures. -Recently, Verma et al.~\cite{verma21_virtual_sensor_fusion_high_precis_contr} presented virtual sensor fusion for high precision control where the signals from a physical sensor are fused with a sensor simulated virtually. - -Fusing signals from different sensors can typically be done using Kalman filtering~\cite{odry18_kalman_filter_mobil_robot_attit_estim, ren19_integ_gnss_hub_motion_estim, faria19_sensor_fusion_rotat_motion_recon, liu18_innov_infor_fusion_method_with, abdel15_const_low_cost_gps_filter, biondi17_attit_recov_from_featur_track} or complementary filters~\cite{brown72_integ_navig_system_kalman_filter}. -A set of filters is said to be complementary if the sum of their transfer functions is equal to one at all frequencies. -When two filters are complementary, usually one is a low pass filter while the other is an high pass filter. -The complementary filters are designed in such a way that their magnitude is close to one in the bandwidth of the sensor they are combined with. -This enables to measure the physical quantity over larger bandwidth. -There are two different categories of complementary filters --- frequency domain complementary filters and state space complementary filters. -Earliest application of the the frequency domain complementary filters was seen in Anderson and Fritze~\cite{anderson53_instr_approac_system_steer_comput}. -A simple RC circuit was used to physically realize the complementary filters. -Frequency domain complementary filters were also used in~\cite{shaw90_bandw_enhan_posit_measur_using_measur_accel, zimmermann92_high_bandw_orien_measur_contr, baerveldt97, roberts03_low}. -State space complementary filter finds application in tracking orientation of the flexible links in a robot~\cite{bachmann03_desig_marg_dof, salcudean91_global_conver_angul_veloc_obser, mahony08_nonlin_compl_filter_special_orthog_group} and are particularly useful for multi-input multi-output systems. -Pascoal et al.~\cite{pascoal00_navig_system_desig_using_time} presented complementary filters which can adapt with time for navigation system capable of estimating position and velocity using GPS and SONAR sensors. - -The noise characteristics of the super sensor are governed by the norms of the complementary filters. -Therefore, the proper design of the complementary filters for sensor fusion is of immense importance. -The design of complementary filters is a complex task as they need to tuned as per the specification of the sensor. -In many applications, analytical formulas of first and second order complementary filters are used~\cite{corke04_inert_visual_sensin_system_small_auton_helic,jensen13_basic_uas}. -These filters are easy to tune and simple to implement using an analog circuit~\cite{moore19_capac_instr_sensor_fusion_high_bandw_nanop,cite:yong16_high_speed_vertic_posit_stage}. -However, these low order complementary filters are not optimal, and high order complementary filters can lead to better fusion~\cite{jensen13_basic_uas,shaw90_bandw_enhan_posit_measur_using_measur_accel}. - -Several design techniques have been proposed to design higher order complementary filters. -Pascoal~\cite{pascoal00_navig_system_desig_using_time} used linear matrix inequalities (LMIs)~\cite{boyd94_linear} for the design of time varying complementary filters. -LMIs were also used by Hua et al.~\cite{hua04_polyp_fir_compl_filter_contr_system} to design finite impulse response (FIR) filters for the active vibration isolation system at LIGO. -Plummer~\cite{plummer06_optim_compl_filter_their_applic_motion_measur} proposed an optimal design method using the $\mathcal{H}_{\infty}$ synthesis and weighting functions representing the measurement noise of the sensors. - -Although various methods have been presented in the literature for the design of complementary filters, there is a lack of general and simple framework that allows to shape the norm of complementary filters. -Such a method would prove to be very useful as the noise of the ``supper sensor'' and its dynamical characteristics depend on the norm of the filters. -This paper presents such a framework based on the $\mathcal{H}_\infty$ norm minimization. -The proposed method is quite general and can be easily extended to a case where more than two complementary filters needs to be designed. -The organization of this paper is as follows. -Section~\ref{sec:requirements} presents the design requirements of ideal complementary filters. -It also demonstrates how the noise and robustness characteristics of the ``super sensor'' can be transformed into upper bounds on the norm of the complementary filters. -The framework for the design of complementary filters is detailed in Section~\ref{sec:hinf_method}. -This is followed by the application of the design method to complementary filter design for the active vibration isolation at LIGO in Section~\ref{sec:application_ligo}. -Finally, concluding remarks are presented in Section~\ref{sec:conclusion}. - -\section{Complementary filters requirements}\label{sec:requirements} - -Complementary filters provides a framework for fusing signals from different sensors. -As the effectiveness of the fusion depends on the proper design of the complementary filters, they are expected to fulfill certain requirements. -These requirements are discussed in this section. - -\subsection{Complementary characteristics}\label{sec:sensor_fusion} - -Consider a case where two different sensors are used for measuring the same quantity, $x$ in different frequency range. -The inherent dynamics of the sensors is represented by transfer functions \(G_1(s)\) and \(G_2(s)\). -The two sensor also have uncorrelated noise characteristics given by \(n_1\) and \(n_2\). -The signals from these two sensors are fused using complementary filters \(H_1(s)\) and \(H_2(s)\). -The architecture of sensor fusion using complementary filters is shown in Figure~\ref{fig:fusion_super_sensor}. -The resulting sensor, termed as ``super sensor'', can have larger bandwidth and better noise characteristics in comparison to the individual sensor. -This means that the super sensor provides an estimate \(\hat{x}\) of \(x\) which can be more accurate over a larger frequency band than the outputs of the individual sensors. -Based on Figure~\ref{fig:fusion_super_sensor}, the estimate of the physical quantity as measured by the super sensor can be written as -\begin{equation} - \label{eq:comp_filter_estimate} - \hat{x} = \left(G_1 H_1 + G_2 H_2\right) x + H_1 n_1 + H_2 n_2 -\end{equation} - -\begin{figure} - \centering - \includegraphics[scale=1]{figs/fusion_super_sensor.pdf} - \caption{\label{fig:fusion_super_sensor}Block diagram of sensor fusion with complementary filters} -\end{figure} - -The complementary property of filters \(H_1(s)\) and \(H_2(s)\) simply implies that the summation of their transfer functions is equal to unity. -That is, unity magnitude and zero phase at all frequencies (filters which satisfies only the magnitude condition are referred as ``magnitude complementary filter pair''). -Therefore, a pair of strict complementary filter needs to satisfy the following condition. - -\begin{equation} - \label{eq:comp_filter} - H_1(s) + H_2(s) = 1 -\end{equation} - -\subsection{Noise characterization}\label{sec:noise_filtering} - -In order to compute the noise characteristics associated with the estimate $\hat{x}$, it is first assumed that the dynamics of the individual sensors are perfect: -\begin{equation} - \label{eq:perfect_dynamics} - G_1(s) = G_2(s) = 1 -\end{equation} - -The output of the super sensor, \(\hat{x}\), based on the block diagram shown in Figure~\ref{fig:fusion_super_sensor} can be written as -\begin{equation} - \label{eq:estimate_perfect_dyn} - \hat{x} = x + H_1 n_1 + H_2 n_2 -\end{equation} - -The complementary are operating only on the noise component of the individual sensor. -Thus, this sensor fusion architecture permits to filter the noise of both sensors without introducing any distortion in the physical quantity to be measured. -The estimation error, \(\delta x\), of the super sensor can be written as -\begin{equation} - \label{eq:estimate_error} - \delta x \triangleq \hat{x} - x = H_1 n_1 + H_2 n_2 -\end{equation} - -The power spectral density (PSD) of the super sensor's estimation error is given by -\begin{equation} - \label{eq:noise_filtering_psd} - \Phi_{\delta x} = \left|H_1\right|^2 \Phi_{n_1} + \left|H_2\right|^2 \Phi_{n_2} -\end{equation} -where, $\Phi_{\delta x}$ is the PSD of estimation error, $\Phi_{n_1}$ and $\Phi_{n_2}$ are the PSDs of the noise associated with the individual sensor. -It can be seen that the estimation error's PSD depends on the PSD of the noise in individual sensor as well as the norm of the complementary filters. -Therefore, by properly shaping the norm of the complementary filters, it is possible to minimize the noise of the super sensor noise. - -\subsection{Robustness requirements}\label{sec:fusion_robustness} -In the previous subsection, the inherent sensor dynamics were ignored. -However in the real system, the sensor dynamics is not equal to unity. -In such cases, the output of the sensor is normalized using a filter whose transfer function is equal to the inverse of the sensor dynamics. -There are two major concerns in using inversion. -First being the sensors may not have been calibrated properly and the actual sensor dynamics is not exactly compensated by the inverse filter. -The second problem is that the inversion of sensor dynamics can result in an improper transfer function and hence may not be physically realizable. -We here suppose that the sensor dynamics can be inverted using a proper and stable transfer function \(\hat{G}_i(s)\). -However, we suppose there exists a normalization error since \(\hat{G}_i^{-1}(s) G_i(s) \neq 1\). -This normalization error can be represented using frequency dependent multiplicative uncertainty (Figure~\ref{fig:sensor_fusion_dynamic_uncertainty}). -In Figure~\ref{fig:sensor_fusion_dynamic_uncertainty}, \(\Delta_i(s)\) satisfies \(\|\Delta_i(s)\|_\infty \le 1\) and \(|w_i(s)|\) is a frequency dependent weighting function that represents the uncertainty corresponding to the normalization error. - -\begin{figure} - \centering - \includegraphics[scale=1]{figs/sensor_fusion_dynamic_uncertainty.pdf} - \caption{\label{fig:sensor_fusion_dynamic_uncertainty} Representation of normalization error in sensor fusion using multiplicative uncertainty} -\end{figure} - -Based on Figure~\ref{fig:sensor_fusion_dynamic_uncertainty}, the super sensor dynamics can be written as -\begin{equation} - \label{eq:super_sensor_dyn_uncertainty} - \frac{\hat{x}}{x} = 1 + w_1(s) H_1(s) \Delta_1(s) + w_2(s) H_2(s) \Delta_2(s) -\end{equation} - -The dynamics of the super sensor now depends on the weighting functions ($w_1(s),w_2(s)$) and the complementary filters ($H_1(s),H_2(s)$). - -The robust stability of the fusion can be studied graphically (refer Figure~\ref{fig:uncertainty_set_super_sensor}). -The frequency response of the fusion output is plotted in a complex plane. -The unity transfer function leads to a point $(1,0)$ located on the real axis. -The uncertainty associated with first sensor at a particular frequency is represented by a circle with the center at (1,0) and radius $|w_1H_1|$. -The uncertainty associated with the second is also represented using a circle centered at any point on the circle representing uncertainty associated with the first sensor and radius equal to $|w_2H_2|$. -Therefore, the overall uncertainty of the fusion is represented with a circle centered at (1,0) and radius equal to $|w_1H_1|+|w_2H_2|$. -The maximum phase difference that can result from the fusion is found by drawing a tangent from the origin to the uncertainty circle of super sensor. -Mathematically, the maximum phase difference at frequency $\omega$ that can result from fusion is given by -\begin{equation} - \label{eq:max_phase_uncertainty} - \Delta\phi(\omega) = \arcsin\left( |w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)| \right) -\end{equation} - -\begin{figure} - \centering - \includegraphics[scale=1]{figs/uncertainty_set_super_sensor.pdf} - \caption{\label{fig:uncertainty_set_super_sensor}Robustness analysis of sensor fusion in the complex plane. The uncertainty associated with the super sensor dynamics are represented with a solid circle while those associated with individual sensors are represented with dashed circles.} -\end{figure} - -A constraint on the maximum phase difference at a given frequency can be incorporated in the design problem using the following equation: -\begin{equation} - \label{eq:max_uncertainty_super_sensor} - \max_\omega \big( \left|w_1 H_1\right| + \left|w_2 H_2\right|\big) < \sin\left( \Delta \phi_\text{max} \right) -\end{equation} -where \(\Delta \phi_\text{max}\) is the maximum allowable phase difference. -It can also be inferred from the above equation that the magnitude of the complementary filter (\(|H_i|\)) should be tuned to a smaller value at the frequencies where the magnitude of weighing transfer functions (\(|w_i|\)) representing sensor uncertainty is large. - -\section{Design formulation using \(\mathcal{H}_\infty\) synthesis}\label{sec:hinf_method} - -In this section, the shaping of complementary filters is expressed as an optimal $\mathcal{H}_{\infty}$ synthesis problem. -The synthesis goal is to shape the frequency response of the filters such that they satisfy the design requirements presented in Section~\ref{sec:requirements}. - -\subsection{Synthesis problem formulation}\label{sec:hinf_synthesis} - -The first step is to formulate the filter design problem as a generalized plant-controller structure~\cite{boyd91_linear}. -The generalized plant and controller structure for complementary filters design is shown in Figure~\ref{fig:h_infinity_robust_fusion}. -In the figure, $P(s)$ is the generalized plant, $u$ is the ``control input'', $v$ is the ``measured output'' and $H_2(s)$ is the controller (filter) to be designed. -The regulated outputs of the generalized plant, $z_1$ and $z_2$, are given by -\begin{equation} - \begin{split} - z_1 &= W_1(s)(1-H_2(s)) w = W_1(s) H_1(s) w \text{ by defining } H_{1}(s) \triangleq 1 - H_{2}(s)\\ - z_2 &= W_2(s) H_2(s) w - \end{split} -\end{equation} -where $w$ is the ``exogenous input'' to the plant, $W_1(s), W_2(s)$ are the weighting functions for shaping the complementary filters. - -The dynamics of the generalized plant can be written as -\begin{equation} - \label{eq:generalized_plant} - \begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & W_2(s) \\ 1 & 0 \end{bmatrix} -\end{equation} - -The weighting functions are chosen based on the specifications and requirements set for the complementary filters (discussed in Section~\ref{sec:hinf_weighting_func}). -The objective of the optimization is to design a filter $H_2(s)$ such that the following conditions are satisfied -\begin{equation} - \label{eq:comp_filter_problem_form} - \begin{split} - \left| \frac{z_{1}}{w} \right| &= |1-H_2(s)| \le \frac{1}{|W_1(s)|} \\ - \left| \frac{z_{1}}{w} \right| &= |H_2(s)| \le \frac{1}{|W_2(s)|} - \end{split}, \quad \forall \omega \in \mathbb{R}^{+} -\end{equation} - -\begin{figure} - \centering - \includegraphics[scale=1]{figs/h_infinity_robust_fusion.pdf} - \caption{\label{fig:h_infinity_robust_fusion}Generalized plant controller structure for the design of complementary filters} -\end{figure} - -Based on Figure~\ref{fig:h_infinity_robust_fusion}, the $\mathcal{H}_{\infty}$ synthesis problem for the complementary filters can be stated as -\begin{quote} - Find a stable transfer function, $H_2(s)$, which takes measured output, $v$, as input and generates a control input, $u$, such that the $\mathcal{H}_\infty$ norm of the generalized plant from exogenous input, $w$, to the regulated output, ${[z_1,z_2]}^T$ is less than unity. -\end{quote} -Mathematically, the synthesis objective can be written as -\begin{equation} - \begin{split} - &\left\|\begin{matrix} \left[1 - H_2(s)\right] W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 \\ - \Longleftrightarrow & \left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1; \quad H_1(s) \triangleq 1 - H_2(s) - \end{split} - \label{eq:hinf_syn_obj} -\end{equation} -The above optimization problem can be efficiently solved in \textsc{Matlab}~\cite{MATLAB2009} using Riccati formulae, linear matrix inequality based method or maximum entropy method. - - -\subsection{Design of weighting functions}\label{sec:hinf_weighting_func} -The choice of weighting function governs the shape of the designed complementary filters. -Therefore, it is very important that the design specifications are appropriately transformed into the weighting functions. -The choice of weighting functions is also constrained by the following factors -\begin{enumerate} - \item[(a)] Only proper and stable transfer functions can be used as weighting functions - \item[(b)] As the order of the designed filter is equal to the sum of the orders of the weighting functions, the order of the weighting function needs to be reasonably small to ensure the physical implementation of the designed complementary filters. - This also reduces the computational cost of the optimization problem. - \item[(c)] The complementary property of the filter imposes a fundamental limitations on the weighting functions. - The imposes a restriction that the magnitude of the filters $H_1(s)$ and $H_2(s)$ cannot be made small simultaneously at the same frequency. -\end{enumerate} -The specifications of the complementary filters are typically expressed using the following parameters --- low frequency gain, high frequency gain, slope (order of the filter) and the crossover frequency. -We propose a weighting function that allows to translate the above requirements by setting simple parameters: -\begin{equation} - \label{eq:weight_formula} - W(s) = \displaystyle\left( \frac{ - \hfill{} \displaystyle\frac{1}{\omega_0} \sqrt{\frac{1 - \left(\displaystyle\frac{G_0}{G_c}\right)^{\displaystyle\frac{2}{n}}}{1 - {\left(\displaystyle\frac{G_c}{G_\infty}\right)}^{\displaystyle\frac{2}{n}}}} s + \left(\frac{G_0}{G_c}\right)^{\displaystyle\frac{1}{n}} - }{ - \left(\displaystyle\frac{1}{G_\infty}\right)^{\displaystyle\frac{1}{n}}\displaystyle \frac{1}{\omega_0} \sqrt{\displaystyle\frac{1 - \left(\displaystyle\frac{G_0}{G_c}\right)^{\displaystyle\frac{2}{n}}}{1 - \left(\displaystyle\frac{G_c}{G_\infty}\right)^{\displaystyle\frac{2}{n}}}} s + \left(\displaystyle\frac{1}{G_c}\right)^{\displaystyle\frac{1}{n}} - }\right)^n -\end{equation} -where, \(G_0 = \lim_{\omega \to 0} |W(j\omega)|\) is the low frequency gain, \(G_\infty = \lim_{\omega \to \infty} |W(j\omega)|\) is the high frequency gain, $\omega_c$ is the crossover frequency, \(G_c = |W(j\omega_c)|\) is the absolute gain at the crossover frequency and $n$ is the order of the filter. -As an illustration, the magnitude of the frequency response of the weighting function with the parameters \(G_0 = 0.001\), \(G_\infty = 10\), \(\omega_c = \SI{10}{Hz}\), \(G_c = 2\), \(n = 3\) and having high pass characteristics is shown in Figure~\ref{fig:weight_formula}. - -\begin{figure} - \centering - \includegraphics[scale=1]{figs/weight_formula.pdf} - \caption{\label{fig:weight_formula}Magnitude of the frequency response of the weighting function obtained using equation~\eqref{eq:weight_formula} with the parameters \(G_0 = 0.001\), \(G_\infty = 10\), \(\omega_c = \SI{10}{Hz}\), \(G_c = 2\), \(n = 3\)} -\end{figure} - -\subsection{Verification}\label{sec:hinf_example} -The proposed methodology for the design of complementary filters is now applied on the following example. - -\begin{example} - Design complementary filters with the merging frequency around 10~Hz. - The low pass filter should have DC gain of 0.001 and slope -2 above the merging frequency. - The high pass filter should have a slope of 3 below the merging frequency and 0.001 high frequency gain. -\end{example} - -\noindent The first step is to design the weighting functions that translate the above requirements. -To do so, equation~\eqref{eq:weight_formula} is used. -The parameters corresponding to $W_1(s)$ and $W_2(s)$ are listed in Table~\ref{tab:weights_params}. -The obtained transfer functions of the weighting functions are -\begin{equation} - \begin{split} - W_1(s) &= \dfrac{1000 (s+34.55)^2}{(s+3455)^2}\\ - W_2(s) &= \dfrac{0.1 (s+87.43)^3}{(s+4.058)^3} - \end{split} -\end{equation} - -Using these weighting functions, the generalized plant is evaluated using equation~\eqref{eq:generalized_plant}. -The optimal complementary filters are obtained by solving the optimization problem given by equation~\eqref{eq:hinf_syn_obj}. -The complementary filters obtained after optimization are -\begin{equation} - \begin{split} - H_1(s) &= \frac{10^{-8} (s+6.6\times 10^9) (s+3450)^2 (s^2 + 49s + 895)}{(s+6.6e^4) (s^2 + 106 s + 3\times 10^3) (s^2 + 72s + 3580)}\\ - H_2(s) &= \frac{(s+6.6\times 10^4) (s+160) (s+4)^3}{(s+6.6\times 10^4) (s^2 + 106 s + 3\times 10^3) (s^2 + 72s + 3580)} - \end{split} -\end{equation} - -The obtained complementary filters are of order 5 which corresponds to the sum of the orders of the weighting functions used. -The frequency responses of the designed complementary filters are shown in Figure~\ref{fig:hinf_filters_results}. -It can be seen that the designed filters fulfills all the design specifications and hence demonstrates the effectiveness of the designed methodology (more complex real life example is taken up in Section~\ref{sec:application_ligo}). - -\begin{table} - \caption{\label{tab:weights_params}Parameters used for \(W_1(s)\) and \(W_2(s)\)} - \centering - \begin{tabularx}{0.5\linewidth}{Xcc} - \toprule - Parameter & \(W_1(s)\) & \(W_2(s)\)\\ - \midrule - \(n\) & \(2\) & \(3\)\\ - \(G_c\) & \(0.5\) & \(0.5\)\\ - \(G_\infty\) & \(1000\) & \(0.1\)\\ - \(G_0\) & \(0.1\) & \(1000\)\\ - \(\omega_c\) [\(\si{Hz}\)] & \(11\) & \(10\)\\ - \bottomrule - \end{tabularx} -\end{table} - -\begin{figure} - \centering - \includegraphics[scale=1]{figs/hinf_filters_results.pdf} - \caption{\label{fig:hinf_filters_results}Bode plot of the weighting functions and designed complementary filters} -\end{figure} - -\subsection{Extension to set of three complementary filters}\label{sec:hinf_three_comp_filters} -In certain applications, more than two sensors are used to measure the same quantity and can be merged together to form a ``super sensor''. -In such case, a set of three (or more) complementary filters is required. -It is here shown that the proposed method can be generalized for the design of a set of arbitrary number of complementary filters. -The control objective is now to design of a set of $n$ complementary filters ($H_i(s), i=1,\cdots,n$) which satisfy the following conditions -\begin{equation} - \label{eq:hinf_problem_gen} - \begin{split} - &\sum_{i=0}^n H_i(s) = 1 \\ - &\left| H_i(s) \right| < \frac{1}{\left| W_i(s) \right|} - \end{split} -\end{equation} -Here, we extend the method to a case of three complementary filters. -The generalized plant controller setup for this case is shown in Figure~\ref{fig:comp_filter_three_hinf}. -The synthesis objective is to design filters $H_2(s)$ and $H_3(s)$ such that the $\mathcal{H}_\infty$ norm from exogenous input $w$ to regulated output vector $[z_1,z_2,z_3]^T$ is less than unity. -That is, -\begin{equation} - \label{eq:hinf_syn_obj_three} - \begin{split} - &\left\| \begin{matrix} \left[1 - H_2(s) - H_3(s)\right] W_1(s) \\ H_2(s) W_2(s) \\ H_3(s) W_3(s) \end{matrix} \right\|_\infty \le 1\\ - \equiv &\left\| \begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \\ H_3(s) W_3(s) \end{matrix} \right\|_\infty \le 1; \quad H_1(s) \triangleq 1 - H_2(s) - H_3(s) - \end{split} -\end{equation} -\begin{figure} - \centering - \includegraphics[scale=1]{figs/comp_filter_three_hinf.pdf} - \caption{\label{fig:comp_filter_three_hinf}Generalized plant controller setup for designing a set of three complementary filters using \(\mathcal{H}_\infty\) synthesis} -\end{figure} -To validate this synthesis method, let's take an example where 3 sensors are merged together. -The three sensors are working in the following three frequency range --- below 1~Hz, between 1Hz to 10Hz and above 10Hz. -The weighting functions used for the synthesis are -\begin{equation} - \begin{split} - W_1(s) &= \dfrac{1000 (s+3.141)^2}{(s+314.1)^2}\\ - W_2(s) &= \dfrac{2200 (s+62.83)^2 (s+6.283)^2}{(s+6283)^2 (s+0.06283)^2}\\ - W_3(s) &= \dfrac{0.1 (s+87.43)^3}{(s+4.058)^3} - \end{split} -\end{equation} -The complementary filters are obtained by solving the optimization problem given by equation~\eqref{eq:hinf_syn_obj_three}. -The frequency response of the designed filters and the weighting functions are shown in Figure~\ref{fig:three_complementary_filters_results}. - -\begin{figure} - \centering - \includegraphics[scale=1]{figs/three_complementary_filters_results.pdf} - \caption{\label{fig:three_complementary_filters_results}Bode plot of the weighting functions and designed set of three complementary filters} -\end{figure} - -\section{Application: Complementary Filter Design for Active Vibration Isolation of LIGO}\label{sec:application_ligo} -Gravitational waves can help in detection various astrophysical events occurring in our universe. -This can also pave a path to validate theories built around the existence of gravitational waves. -However, the detection of these waves is an arduous task owing to the extraordinary small strain experienced by the earth due to gravitational waves. -Various methods have been proposed for their detection, out of which laser interferometers are the most popular ones. -Laser interferometers offers large projection range and high displacement sensitivity. -Among the existing detector, Laser interferometer gravitation-wave observatory (LIGO) is the most sensitive operational detector. -LIGO consists of two longs arms, referred as beam tubes, that are placed orthogonal to each other. -The arms of the LIGO accommodates a Michleson interferometer with a cavity (Fabry-Perot). -The mirrors at the extremity of the cavity serve as inertial test masses which responds to the strain induced due to the gravitational waves. -The optics of the LIGO are suspended like a pendulum. -The schematics of the LIGO are shown in Figure~\ref{ligo_schematics}. - -\begin{figure} - \centering - \includegraphics[width=0.8\linewidth]{figs/ligo.png} - \caption{\label{ligo_schematics}Schematics of LIGO} -\end{figure} - -The isolation of the terrestrial interferometers is necessary in order to isolate the motion of the suspended inertial masses from the seismic ground motion. -The vibration isolation system attenuates the effect of disturbances on the motion of the suspended masses in the gravitational wave band. -The other sources that can affect the sensitivity of the LIGO are thermal noise, human activities, tidal motion etc. -The suspensions of the LIGO needs to serve two purpose --- isolation and alignment. -The alignment is also important in order to ensure that the interferometer beam is targeted at the center of the suspended mass. -The current vibration isolation system for LIGO has seven different stages. -In the first stage, hydraulically actuated external pre-isolators are used for attenuating large ground motions. -Two stages of active electromagnetic isolation system are placed next to pre-isolators. -This is followed by four stages of pendulum based passive isolation system. - -In the active isolation stage of LIGO, different sensors are used to sense the same physical signal in different frequency range. -For example, seismometers are used to sense the position of the platform in the frequency band 0.5--10~Hz while geophones are employed above 10~Hz. -The signals recorded from different sensor are fused using complementary filters~\cite{hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system}. -The stringent requirements on these filters complicate their design. -Hua~\cite{hua05_low_ligo} proposed complementary FIR filters which were synthesized using convex optimization. -The designed FIR filters were found to be compliant with the design specifications. -However, the order of the designed filter was very high, which limits its application to a practical system. -In this section, we demonstrate the design of complementary filters with the same specification using the proposed method based on $\mathcal{H}_\infty$- synthesis. - -\subsection{Design specifications}\label{sec:ligo_specifications} -The design specification of the complementary filters (as listed out in~\cite{hua05_low_ligo}) are as follows: -\begin{enumerate} - \item[(a)] In the frequency range \(0\)-\(\SI{0.008}{Hz}\): the high pass filter's magnitude should be less than \(8 \times 10^{-4}\). - \item[(b)] For frequency range \(\SI{0.008}{Hz}\)-\(\SI{0.04}{Hz}\): slope of the high pass filter is equal to three. - \item[(c)] Between \(\SI{0.04}{Hz}\)-\(\SI{0.1}{Hz}\) frequency range: the high pass filter's magnitude should be less than \(3\). - \item[(d)] For frequencies above \(\SI{0.1}{Hz}\): the low pass filter's magnitude should be less than \(0.045\). -\end{enumerate} -The specification of the complementary filters are shown graphically by dashed black lines in Figure~\ref{fig:ligo_weights}. - -\subsection{Weighting Functions Design}\label{sec:ligo_weights} -As the synthesis objective of the complementary filters is described by Eq.~\eqref{eq:hinf_problem_gen}, it is clear that the weighting functions should be chosen such that their inverse magnitude represent the maximum allowed norm of the complementary filters. -This can be done manually using by combining poles and zeros or using useful formulas such as Eq.~\eqref{eq:weight_formula}. -It is important to note that the order of the filters should be kept reasonable small in order to keep the computational cost of the optimization reasonable. -This will also ensure that the designed filters are realizable in the physical world. -The transfer function representing weights should also be stable and minimum phase. - -The weighting function corresponding to the low pass filter, \(w_L(s)\), is here taken as Type I Chebyshev filter. -The order of the weighting function for low pass filter is set as 20. - -The weighting function for the high pass filter, \(w_H(s)\), is designed in such a way that its magnitude response is as close as possible to the design specifications. -This was achieved using a combination of high-, low- and band-pass filters in the particular frequency band. -The overall order of the weighting function for high pass filter is 7. - -The magnitude responses of the inverse of the designed weighting functions and their comparison with the specifications are shown in Figure~\ref{fig:ligo_weights}. -It can be seen that the inverse of the designed weights, shown in solid blue line for high pass filter and solid red line for low pass filter, are close to the specifications shown in black dotted line. - -\begin{figure} - \centering - \includegraphics[scale=1]{figs/ligo_weights.pdf} - \caption{\label{fig:ligo_weights}Specifications and weighting functions magnitudes} -\end{figure} - -\subsection{\(\mathcal{H}_\infty\) synthesis of complementary filters}\label{sec:ligo_results} -The complementary filters are designed using \(\mathcal{H}_\infty\) synthesis based on the architecture shown in Figure~\ref{fig:h_infinity_robust_fusion}. -The generalized plant is obtained by substituting the transfer functions of the designed weighting functions in equation~\eqref{eq:generalized_plant}, i.e., $W_1(s)=w_H(s)$ and $W_2(s)=w_L(s)$. -The objective of the \(\mathcal{H}_\infty\) synthesis is given by equation~\eqref{eq:hinf_syn_obj}. -The optimization problem in solved in \textsc{Matlab}~\cite{MATLAB2009} using Ricatti method. -The frequency responses of the designed optimal complementary filters are shown in Figure~\ref{fig:comp_fir_ligo_hinf}. -The order of the filters obtained using \(\mathcal{H}_\infty\) optimization is \(27\). - - -Now, we compare the designed complementary filters with the FIR filters designed by Hua~\cite{hua05_low_ligo}. -The transfer function of the FIR filter, $G(\omega)$, is the Fourier transform of its coefficients, $g(n)$. -That is, -\begin{equation} - G(\omega) = \sum_n g(n)e^{-j2n\pi\omega} -\end{equation} -The FIR filter synthesis was formulated as a convex optimization problem. -The objective of the optimization problem was to find the filter's coefficients such that their norm are below the specified upper bounds. -The optimization problem was solved using SeDuMi~\cite{sturm99_using_sedum} and the obtained order for the FIR filters is \(512\). -The bode plot of the FIR filters are shown with dotted lines in Figure~\ref{fig:comp_fir_ligo_hinf}. -It can be seen that frequency responses of the designed complementary filters matches quite well with those of the FIR filters. -The designed complementary filters are of much lower order and can be implemented with less computational cost can the FIR filters. -The proposed methodology for the design of complementary filters can be effectively employed to obtain physically realizable filters. - -\begin{figure} - \centering - \includegraphics[scale=1]{figs/comp_fir_ligo_hinf.pdf} - \caption{\label{fig:comp_fir_ligo_hinf}Bode plot of the filters designed using $\mathcal{H}_\infty$ synthesis and FIR filters~\cite{hua05_low_ligo}} -\end{figure} - -\section{Concluding remarks}\label{sec:conclusion} -The measurements from the sensors are reliable only within its bandwidth. -The signals from different sensors are usually fused in order to measure a physical quantity over larger bandwidth. -The sensor obtained after fusion is called as super sensor as it has superior noise characteristics and wider bandwidth. -Complementary filters are used for the combining the signals from different sensors. -A new framework based on $\mathcal{H}_\infty$ synthesis has been presented in this paper to aid the design of complementary filters. -The method presented allows to shape the complementary filters based on the design specifications. -The task of filter design is posed as an $\mathcal{H}_{\infty}$ synthesis problem. -The design specifications of the systems are transformed in the form of weighting functions. -These weighting functions are used in the optimization problem to constraint the filter response in a frequency band. -The method has also been demonstrated for designing a set of three complementary filters. -The design frame is general, simple to implement and can easily be extended to difference scenarios of sensor fusion. -The effectiveness of the method is demonstrated for a real life application where complementary filters are designed for active vibration isolation of Laser Interferometer Gravitational-Wave Observatory (LIGO). -The filters designed with the proposed method have been with compared with the finite impulse response (FIR) filters. -It was found that the filters designed using $\mathcal{H}_\infty$ have lower order compared to FIR filters. -The designed filters are physically realizable and have lesser computational cost compared to FIR filters. -The proposed method can be effectively used to shape complementary filters based on design specifications. -The method can be further be extended for the design of robust complementary filters with desired noise characteristics considering uncertainties in the sensor dynamics. -This is the focus of our future research. - -\section*{Acknowledgment} -The authors would like to acknowledge the help received from the French Community of Belgium for funding the FRIA Grant of Thomas Dehaeze (Grant No.~FC 31597). - -\bibliographystyle{elsarticle-num} -\bibliography{ref} -\end{document} diff --git a/mohit/ref.bib b/mohit/ref.bib deleted file mode 100644 index cb98a65..0000000 --- a/mohit/ref.bib +++ /dev/null @@ -1,436 +0,0 @@ -@article{collette15_sensor_fusion_method_high_perfor, - author = {Collette, Christophe and Matichard, Fabrice}, - title = {Sensor Fusion Methods for High Performance Active Vibration - Isolation Systems}, - journal = {Journal of Sound and Vibration}, - volume = 342, - pages = {1-21}, - year = 2015, - doi = {10.1016/j.jsv.2015.01.006}, - url = {https://doi.org/10.1016/j.jsv.2015.01.006}, -} - -@phdthesis{hua05_low_ligo, - author = {Hua, Wensheng}, - school = {stanford university}, - title = {Low frequency vibration isolation and alignment system for - advanced LIGO}, - year = 2005, -} - -@inproceedings{hua04_polyp_fir_compl_filter_contr_system, - author = {Hua, Wensheng and Debra, B. and Hardham, T. and Lantz, T. - and Giaime, A.}, - title = {Polyphase FIR Complementary Filters for Control Systems}, - booktitle = {Proceedings of ASPE Spring Topical Meeting on Control of - Precision Systems}, - year = 2004, - pages = {109--114}, -} - -@article{matichard15_seism_isolat_advan_ligo, - author = {Matichard, F and Lantz, B and Mittleman, R and Mason, K and - Kissel, J and others}, - title = {Seismic Isolation of Advanced Ligo: Review of Strategy, - Instrumentation and Performance}, - journal = {Classical and Quantum Gravity}, - volume = 32, - number = 18, - pages = 185003, - year = 2015, - publisher = {IOP Publishing}, -} - -@article{min15_compl_filter_desig_angle_estim, - author = {Min, Hyung Gi and Jeung, Eun Tae}, - title = {Complementary Filter Design for Angle Estimation Using Mems - Accelerometer and Gyroscope}, - journal = {Department of Control and Instrumentation, Changwon - National University, Changwon, Korea}, - pages = {641--773}, - year = 2015, -} - -@article{corke04_inert_visual_sensin_system_small_auton_helic, - author = {Corke, Peter}, - title = {An Inertial and Visual Sensing System for a Small - Autonomous Helicopter}, - journal = {Journal of Robotic Systems}, - volume = 21, - number = 2, - pages = {43-51}, - year = 2004, -} - -@inproceedings{jensen13_basic_uas, - author = {Austin Jensen and Cal Coopmans and YangQuan Chen}, - title = {Basics and guidelines of complementary filters for small - UAS navigation}, - booktitle = {2013 International Conference on Unmanned Aircraft Systems - (ICUAS)}, - year = 2013, - month = 5, -} - -@inproceedings{pascoal99_navig_system_desig_using_time, - author = {A. Pascoal and I. Kaminer and P. Oliveira}, - title = {Navigation System Design Using Time-Varying Complementary - Filters}, - booktitle = {Guidance, Navigation, and Control Conference and Exhibit}, - year = 1999, -} - -@article{zimmermann92_high_bandw_orien_measur_contr, - author = {M. Zimmermann and W. Sulzer}, - title = {High Bandwidth Orientation Measurement and Control Based on - Complementary Filtering}, - journal = {Robot Control 1991}, - pages = {525-530}, - year = 1992, - publisher = {Elsevier}, - series = {Robot Control 1991}, -} - -@inproceedings{baerveldt97_low_cost_low_weigh_attit, - author = {A.-J. Baerveldt and R. Klang}, - title = {A Low-Cost and Low-Weight Attitude Estimation System for an - Autonomous Helicopter}, - booktitle = {Proceedings of IEEE International Conference on Intelligent - Engineering Systems}, - year = 1997, - month = {-}, -} - -@article{shaw90_bandw_enhan_posit_measur_using_measur_accel, - author = {F.R. Shaw and K. Srinivasan}, - title = {Bandwidth Enhancement of Position Measurements Using - Measured Acceleration}, - journal = {Mechanical Systems and Signal Processing}, - volume = 4, - number = 1, - pages = {23-38}, - year = 1990, -} - -@article{brown72_integ_navig_system_kalman_filter, - author = {R. G. Brown}, - title = {Integrated Navigation Systems and Kalman Filtering: a - Perspective}, - journal = {Navigation}, - volume = 19, - number = 4, - pages = {355-362}, - year = 1972, -} - -@article{mahony08_nonlin_compl_filter_special_orthog_group, - author = {Robert Mahony and Tarek Hamel and Jean-Michel Pflimlin}, - title = {Nonlinear Complementary Filters on the Special Orthogonal - Group}, - journal = {IEEE Transactions on Automatic Control}, - volume = 53, - number = 5, - pages = {1203-1218}, - year = 2008, -} - -@article{sturm99_using_sedum, - author = {Sturm, Jos F}, - title = {Using Sedumi 1.02, a Matlab Toolbox for Optimization Over - Symmetric Cones}, - journal = {Optimization methods and software}, - volume = 11, - number = {1-4}, - pages = {625--653}, - year = 1999, - publisher = {Taylor \& Francis}, -} - -@article{cao20_adapt_compl_filter_based_post, - author = {Cao, Mingcong and Hu, Chuan and Wang, Jinxiang and Wang, - Rongrong and Chen, Nan}, - title = {Adaptive Complementary Filter-Based Post-Impact Control for - Independently-Actuated and Differentially-Steered Autonomous - Vehicles}, - journal = {Mechanical Systems and Signal Processing}, - volume = 144, - pages = 106852, - year = 2020, - publisher = {Elsevier}, -} - -@article{tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip, - author = {Tjepkema, D and van Dijk, Johannes and Soemers, HMJR}, - title = {Sensor Fusion for Active Vibration Isolation in Precision - Equipment}, - journal = {Journal of Sound and Vibration}, - volume = 331, - number = 4, - pages = {735--749}, - year = 2012, - publisher = {Elsevier}, -} - -@article{verma21_virtual_sensor_fusion_high_precis_contr, - author = {Verma, Mohit and Dehaeze, Thomas and Zhao, Guoying and - Watchi, Jennifer and Collette, Christophe}, - title = {Virtual Sensor Fusion for High Precision Control}, - journal = {Mechanical Systems and Signal Processing}, - volume = 150, - pages = 107241, - year = 2021, - publisher = {Elsevier}, -} - -@article{ma04_frequen_weigh_adapt_contr_simul, - author = {Ma, Kougen and Ghasemi-Nejhad, Mehrdad N}, - title = {Frequency-Weighted Adaptive Control for Simultaneous - Precision Positioning and Vibration Suppression of Smart - Structures}, - journal = {Smart materials and structures}, - volume = 13, - number = 5, - pages = 1143, - year = 2004, - publisher = {IOP Publishing}, -} - -@article{anderson53_instr_approac_system_steer_comput, - author = {Anderson, WG and Fritze, EH}, - title = {Instrument Approach System Steering Computer}, - journal = {Proceedings of the IRE}, - volume = 41, - number = 2, - pages = {219--228}, - year = 1953, - publisher = {IEEE}, -} - -@article{shaw90_bandw_enhan_posit_measur_using_measur_accel, - author = {Shaw, FR and Srinivasan, K}, - title = {Bandwidth Enhancement of Position Measurements Using - Measured Acceleration}, - journal = {Mechanical Systems and Signal Processing}, - volume = 4, - number = 1, - pages = {23--38}, - year = 1990, - publisher = {Elsevier}, -} - -@inproceedings{baerveldt97, - author = {Baerveldt, A-J and Klang, Robert}, - title = {A low-cost and low-weight attitude estimation system for an - autonomous helicopter}, - booktitle = {Proceedings of IEEE International Conference on Intelligent - Engineering Systems}, - year = 1997, - pages = {391--395}, - organization = {IEEE}, -} - -@inproceedings{roberts03_low, - author = {Roberts, Jonathan M and Corke, Peter I and Buskey, Gregg}, - title = {Low-cost flight control system for a small autonomous - helicopter}, - booktitle = {2003 IEEE International Conference on Robotics and - Automation (Cat. No. 03CH37422)}, - year = 2003, - volume = 1, - pages = {546--551}, - organization = {IEEE}, -} - -@inproceedings{bachmann03_desig_marg_dof, - author = {Bachmann, Eric R and Yun, Xiaoping and McKinney, Doug and - McGhee, Robert B and Zyda, Michael J}, - title = {Design and implementation of MARG sensors for 3-DOF - orientation measurement of rigid bodies}, - booktitle = {2003 IEEE International Conference on Robotics and - Automation (Cat. No. 03CH37422)}, - year = 2003, - volume = 1, - pages = {1171--1178}, - organization = {IEEE}, -} - -@article{salcudean91_global_conver_angul_veloc_obser, - author = {Salcudean, S}, - title = {A Globally Convergent Angular Velocity Observer for Rigid - Body Motion}, - journal = {IEEE transactions on Automatic Control}, - volume = 36, - number = 12, - pages = {1493--1497}, - year = 1991, - publisher = {IEEE}, -} - -@article{mahony08_nonlin_compl_filter_special_orthog_group, - author = {Mahony, Robert and Hamel, Tarek and Pflimlin, Jean-Michel}, - title = {Nonlinear Complementary Filters on the Special Orthogonal - Group}, - journal = {IEEE Transactions on automatic control}, - volume = 53, - number = 5, - pages = {1203--1218}, - year = 2008, - publisher = {IEEE}, -} - -@article{pascoal00_navig_system_desig_using_time, - author = {Pascoal, Antonio and Kaminer, Isaac and Oliveira, Paulo}, - title = {Navigation System Design Using Time-Varying Complementary - Filters}, - journal = {IEEE Transactions on Aerospace and Electronic Systems}, - volume = 36, - number = 4, - pages = {1099--1114}, - year = 2000, - publisher = {IEEE}, -} - -@inproceedings{ryzhkov18_compl, - author = {Ryzhkov, L}, - title = {Complementary filter design for attitude determination}, - booktitle = {2018 IEEE 5th International Conference on Methods and - Systems of Navigation and Motion Control (MSNMC)}, - year = 2018, - pages = {214--217}, - organization = {IEEE}, -} - -@article{plummer06_optim_compl_filter_their_applic_motion_measur, - author = {Plummer, AR}, - title = {Optimal Complementary Filters and Their Application in - Motion Measurement}, - journal = {Proceedings of the Institution of Mechanical Engineers, - Part I: Journal of Systems and Control Engineering}, - volume = 220, - number = 6, - pages = {489--507}, - year = 2006, - publisher = {Sage Publications Sage UK: London, England}, -} - -@article{odry18_kalman_filter_mobil_robot_attit_estim, - author = {Odry, {\'A}kos and Fuller, Robert and Rudas, Imre J and - Odry, P{\'e}ter}, - title = {Kalman Filter for Mobile-Robot Attitude Estimation: Novel - Optimized and Adaptive Solutions}, - journal = {Mechanical systems and signal processing}, - volume = 110, - pages = {569--589}, - year = 2018, - publisher = {Elsevier}, -} - -@article{ren19_integ_gnss_hub_motion_estim, - author = {Ren, Zhengru and Skjetne, Roger and Jiang, Zhiyu and Gao, - Zhen and Verma, Amrit Shankar}, - title = {Integrated Gnss/imu Hub Motion Estimator for Offshore Wind - Turbine Blade Installation}, - journal = {Mechanical Systems and Signal Processing}, - volume = 123, - pages = {222--243}, - year = 2019, - publisher = {Elsevier}, -} - -@article{faria19_sensor_fusion_rotat_motion_recon, - author = {Faria, CT}, - title = {Sensor Fusion and Rotational Motion Reconstruction Via - Nonlinear State-Observers}, - journal = {Mechanical Systems and Signal Processing}, - volume = 114, - pages = {571--578}, - year = 2019, - publisher = {Elsevier}, -} - -@article{liu18_innov_infor_fusion_method_with, - author = {Liu, Yahui and Fan, Xiaoqian and Lv, Chen and Wu, Jian and - Li, Liang and Ding, Dawei}, - title = {An Innovative Information Fusion Method With Adaptive - Kalman Filter for Integrated Ins/gps Navigation of Autonomous - Vehicles}, - journal = {Mechanical Systems and Signal Processing}, - volume = 100, - pages = {605--616}, - year = 2018, - publisher = {Elsevier}, -} - -@book{boyd94_linear, - author = {Boyd, Stephen P and El Ghaoui, Laurent and Feron, Eric and - Balakrishnan, Venkataramanan}, - title = {Linear matrix inequalities in system and control theory}, - year = 1994, - publisher = {SIAM}, - volume = 15, -} - -@book{boyd91_linear, - author = {Boyd, Stephen P and Barratt, Craig H}, - title = {Linear controller design: limits of performance}, - year = 1991, - publisher = {Prentice Hall Englewood Cliffs, NJ}, -} - -@book{MATLAB2009, -year = {2020}, -author = {MATLAB}, -title = {version 9.9.0 (R2020b)}, -publisher = {The MathWorks Inc.}, -address = {Natick, Massachusetts} -} - -@article{abdel15_const_low_cost_gps_filter, - author = {Abdel Hafez, Mamoun F and Saadeddin, Kamal and Jarrah, - Mohammad Amin}, - title = {Constrained Low-Cost Gps/ins Filter With Encoder Bias - Estimation for Ground Vehicles Applications}, - journal = {Mechanical Systems and Signal Processing}, - volume = 58, - pages = {285--297}, - year = 2015, - publisher = {Elsevier}, -} - -@article{biondi17_attit_recov_from_featur_track, - author = {Biondi, Gabriele and Mauro, S and Mohtar, T and Pastorelli, - S and Sorli, M}, - title = {Attitude Recovery From Feature Tracking for Estimating - Angular Rate of Non-Cooperative Spacecraft}, - journal = {Mechanical Systems and Signal Processing}, - volume = 83, - pages = {321--336}, - year = 2017, - publisher = {Elsevier}, -} - -@article{brown72_integ_navig_system_kalman_filter, - author = {R. G. Brown}, - title = {Integrated Navigation Systems and Kalman Filtering: a - Perspective}, - journal = {Navigation}, - volume = 19, - number = 4, - pages = {355-362}, - year = 1972, - doi = {10.1002/j.2161-4296.1972.tb01706.x}, - url = {https://doi.org/10.1002/j.2161-4296.1972.tb01706.x}, -} - -@article{moore19_capac_instr_sensor_fusion_high_bandw_nanop, - author = {Steven Ian Moore and Andrew J. Fleming and Yuen Kuan Yong}, - title = {Capacitive Instrumentation and Sensor Fusion for - High-Bandwidth Nanopositioning}, - journal = {IEEE Sensors Letters}, - volume = 3, - number = 8, - pages = {1-3}, - year = 2019, - doi = {10.1109/lsens.2019.2933065}, - url = {https://doi.org/10.1109/lsens.2019.2933065}, -}