# HG changeset patch # User sugi # Date 1361517519 -32400 # Node ID db3b8eaba7b033fca4be9d0110dc9ed560fbe492 # Parent b1f834cb90af69b3c45e206597b19514ab6c8ac6 add presen diff -r b1f834cb90af -r db3b8eaba7b0 .DS_Store Binary file .DS_Store has changed diff -r b1f834cb90af -r db3b8eaba7b0 Draft/Draft.aux --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Draft/Draft.aux Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,23 @@ +\relax +\citation{1} +\citation{4} +\@writefile{toc}{\contentsline {section}{\numberline {1}研究背景と目的}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Alice}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}DataSegment}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}CodeSegment}{1}} +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces DataSegment と CodeSegment の依存関係で一意に決まる実行順序}}{1}} +\newlabel{fig:dsandcs}{{1}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {3}水族館ゲーム}{1}} +\citation{3} +\bibcite{1}{1} +\bibcite{2}{2} +\bibcite{3}{3} +\bibcite{4}{4} +\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces JavaFX版 水族館ゲーム}}{2}} +\newlabel{fig:JavaFX}{{2}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {4}実験}{2}} +\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces 測定結果}}{2}} +\newlabel{fig:result2}{{3}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {5}考察}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {6}APIの評価}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {7}今後の課題}{2}} diff -r b1f834cb90af -r db3b8eaba7b0 Draft/Draft.dvi Binary file Draft/Draft.dvi has changed diff -r b1f834cb90af -r db3b8eaba7b0 Draft/Draft.log --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Draft/Draft.log Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,303 @@ +This is e-pTeX, Version 3.1415926-p3.3-110825-2.5 (utf8.euc) (TeX Live 2013/dev) (format=platex 2013.1.19) 21 FEB 2013 13:29 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**Draft +(./Draft.tex +pLaTeX2e <2006/11/10> (based on LaTeX2e <2011/06/27> patch level 0) +Babel and hyphenation patterns for english, dumylang, nohyphenation, ge +rman-x-2012-05-30, ngerman-x-2012-05-30, afrikaans, ancientgreek, ibycus, arabi +c, armenian, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danis +h, dutch, ukenglish, usenglishmax, esperanto, estonian, ethiopic, farsi, finnis +h, french, friulan, galician, german, ngerman, swissgerman, monogreek, greek, h +ungarian, icelandic, assamese, bengali, gujarati, hindi, kannada, malayalam, ma +rathi, oriya, panjabi, tamil, telugu, indonesian, interlingua, irish, italian, +kurmanji, latin, latvian, lithuanian, mongolian, mongolianlmc, bokmal, nynorsk, + polish, portuguese, romanian, romansh, russian, sanskrit, serbian, serbianc, s +lovak, slovenian, spanish, swedish, turkish, turkmen, ukrainian, uppersorbian, +welsh, loaded. +(/usr/local/texlive/2012/texmf-dist/tex/platex/base/jarticle.cls +Document Class: jarticle 2006/06/27 v1.6 Standard pLaTeX class +\c@@paper=\count81 +(/usr/local/texlive/2012/texmf-dist/tex/platex/base/jsize10.clo +File: jsize10.clo 2006/06/27 v1.6 Standard pLaTeX file (size option) +) +\c@part=\count82 +\c@section=\count83 +\c@subsection=\count84 +\c@subsubsection=\count85 +\c@paragraph=\count86 +\c@subparagraph=\count87 +\c@figure=\count88 +\c@table=\count89 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\symmincho=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `mincho' in version `bold' +(Font) JY1/mc/m/n --> JY1/gt/m/n on input line 601. +\toclineskip=\dimen118 +\@lnumwidth=\dimen119 +\bibindent=\dimen120 +\heisei=\count90 +) +(/usr/local/texlive/2012/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 1999/03/16 v1.13 key=value parser (DPC) +\KV@toks@=\toks15 +) +(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) +Package ifpdf Info: pdfTeX in PDF mode is not detected. +) +(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/local/texlive/2012/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count91 +\Gm@cntv=\count92 +\c@Gm@tempcnt=\count93 +\Gm@bindingoffset=\dimen121 +\Gm@wd@mp=\dimen122 +\Gm@odd@mp=\dimen123 +\Gm@even@mp=\dimen124 +\Gm@layoutwidth=\dimen125 +\Gm@layoutheight=\dimen126 +\Gm@layouthoffset=\dimen127 +\Gm@layoutvoffset=\dimen128 +\Gm@dimlist=\toks16 +) +(/usr/local/texlive/2012/texmf-dist/tex/latex/setspace/setspace.sty +Package: setspace 2011/12/19 v6.7a set line spacing +) +(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 1999/03/16 v1.09 sin cos tan (DPC) +) +(/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/graphics.cfg +File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live +) +Package graphics Info: Driver file: dvipdfm.def on input line 91. + +(/usr/local/texlive/2012/texmf/tex/latex/dvipdfm/dvipdfm.def +File: dvipdfm.def 1999/9/6 vx.x Driver-dependant file +)) +\Gin@req@height=\dimen129 +\Gin@req@width=\dimen130 +) +(/usr/local/texlive/2012/texmf-dist/tex/latex/listings/listings.sty +\lst@mode=\count94 +\lst@gtempboxa=\box41 +\lst@token=\toks17 +\lst@length=\count95 +\lst@currlwidth=\dimen131 +\lst@column=\count96 +\lst@pos=\count97 +\lst@lostspace=\dimen132 +\lst@width=\dimen133 +\lst@newlines=\count98 +\lst@lineno=\count99 +\lst@maxwidth=\dimen134 + +(/usr/local/texlive/2012/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2007/02/22 1.4 (Carsten Heinz) +\c@lstnumber=\count100 +\lst@skipnumbers=\count101 +\lst@framebox=\box42 +) +(/usr/local/texlive/2012/texmf-dist/tex/latex/listings/listings.cfg +File: listings.cfg 2007/02/22 1.4 listings configuration +)) +Package: listings 2007/02/22 1.4 (Carsten Heinz) + +(./jlisting.sty +Package: jlisting 2006/02/20 0.2 (Thor) +\lst@nextchar=\count102 +\lst@inputfile=\read1 +) (./picins.sty +Option `picins' Version 3.0 Sep. 1992, TH Darmstadt/HRZ +\@BILD=\box43 +\@TEXT=\box44 +\d@breite=\dimen135 +\d@hoehe=\dimen136 +\d@xoff=\dimen137 +\d@yoff=\dimen138 +\d@shad=\dimen139 +\d@dash=\dimen140 +\d@boxl=\dimen141 +\d@pichskip=\dimen142 +\d@tmp=\dimen143 +\d@tmpa=\dimen144 +\d@bskip=\dimen145 +\hsiz@=\dimen146 +\p@getot@l=\dimen147 +\c@breite=\count103 +\c@hoehe=\count104 +\c@xoff=\count105 +\c@yoff=\count106 +\c@pos=\count107 +\c@shad=\count108 +\c@dash=\count109 +\c@boxl=\count110 +\c@zeilen=\count111 +\@changemode=\count112 +\c@piccaption=\count113 +\c@piccaptionpos=\count114 +\c@picpos=\count115 +\c@whole=\count116 +\c@half=\count117 +\c@tmp=\count118 +\c@tmpa=\count119 +\c@tmpb=\count120 +\c@tmpc=\count121 +\c@tmpd=\count122 +\d@leftskip=\skip43 +\ptoti=\dimen148 +\ptotii=\dimen149 +\env@box=\box45 +\d@envdp=\dimen150 +\c@hsize=\count123 +\c@envdp=\count124 +\d@envb=\dimen151 +) +(/usr/local/texlive/2012/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty +\fancy@headwidth=\skip44 +\f@ncyO@elh=\skip45 +\f@ncyO@erh=\skip46 +\f@ncyO@olh=\skip47 +\f@ncyO@orh=\skip48 +\f@ncyO@elf=\skip49 +\f@ncyO@erf=\skip50 +\f@ncyO@olf=\skip51 +\f@ncyO@orf=\skip52 +) +(/usr/local/texlive/2012/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2004/09/05 1.3 listings language file +) + +LaTeX Warning: Unused global option(s): + [9.5pt]. + +(./Draft.aux) +\openout1 = `Draft.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 47. +LaTeX Font Info: ... okay on input line 47. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 47. +LaTeX Font Info: ... okay on input line 47. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 47. +LaTeX Font Info: ... okay on input line 47. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 47. +LaTeX Font Info: ... okay on input line 47. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 47. +LaTeX Font Info: ... okay on input line 47. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 47. +LaTeX Font Info: ... okay on input line 47. +LaTeX Font Info: Checking defaults for JY1/mc/m/n on input line 47. +LaTeX Font Info: ... okay on input line 47. +LaTeX Font Info: Checking defaults for JT1/mc/m/n on input line 47. +LaTeX Font Info: ... okay on input line 47. + +*geometry* driver: auto-detecting +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: twoside +* h-part:(L,W,R)=(56.9055pt, 483.69687pt, 56.9055pt) +* v-part:(T,H,B)=(85.35826pt, 674.33032pt, 85.35826pt) +* \paperwidth=597.50787pt +* \paperheight=845.04684pt +* \textwidth=514.99487pt +* \textheight=742.61693pt +* \oddsidemargin=-40.97197pt +* \evensidemargin=-40.97197pt +* \topmargin=-29.59087pt +* \headheight=0.0pt +* \headsep=14.22636pt +* \topskip=7.77588pt +* \footskip=0.0pt +* \marginparwidth=58.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=9.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumntrue +* \@twosidetrue +* \@mparswitchtrue +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +\c@lstlisting=\count125 +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 51. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 51. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 51. +LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <14.4> not available +(Font) Font shape `JT1/gt/m/n' tried instead on input line 55. +LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <14.4> not available +(Font) Font shape `JY1/gt/m/n' tried instead on input line 55. +LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <12> not available +(Font) Font shape `JT1/gt/m/n' tried instead on input line 79. +LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <12> not available +(Font) Font shape `JY1/gt/m/n' tried instead on input line 79. +LaTeX Font Info: Try loading font information for OMS+cmr on input line 86. +(/usr/local/texlive/2012/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 86. +File: pic/dsandcs2.pdf Graphic file (type eps) + + +File: pic/emblem-bitmap.pdf Graphic file (type eps) + + +Package Fancyhdr Warning: \headheight is too small (0.0pt): + Make it at least 20.37784pt. + We now make it that large for the rest of the document. + This may cause the page layout to be inconsistent, however. + +[1 + + +] +File: pic/for_Fx.pdf Graphic file (type eps) + +File: pic/cs-result.pdf Graphic file (type eps) + +Overfull \hbox (3.57736pt too wide) in paragraph at lines 153--154 + [] + [] + +LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <10> not available +(Font) Font shape `JT1/gt/m/n' tried instead on input line 174. +LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <10> not available +(Font) Font shape `JY1/gt/m/n' tried instead on input line 174. +File: pic/emblem-bitmap.pdf Graphic file (type eps) + [2] (./Draft.aux) ) +Here is how much of TeX's memory you used: + 2625 strings out of 494058 + 36160 string characters out of 3156166 + 136140 words of memory out of 3000000 + 6049 multiletter control sequences out of 15000+200000 + 13884 words of font info for 54 fonts, out of 3000000 for 9000 + 745 hyphenation exceptions out of 8191 + 27i,15n,43p,402b,417s stack positions out of 5000i,500n,10000p,200000b,50000s + +Output written on Draft.dvi (2 pages, 13244 bytes). diff -r b1f834cb90af -r db3b8eaba7b0 Draft/Draft.pdf Binary file Draft/Draft.pdf has changed diff -r b1f834cb90af -r db3b8eaba7b0 Draft/Draft.tex --- a/Draft/Draft.tex Wed Feb 20 19:12:20 2013 +0900 +++ b/Draft/Draft.tex Fri Feb 22 16:18:39 2013 +0900 @@ -145,20 +145,19 @@ \section{実験} -親ノードから子ノードに対してData Segmentを送信し、子ノードは受けとったData Segmentを親ノードに送り返す。この作業にかかる時間の測定を行う。台数が増えた際の時間の変化により、スケールするかどうかを評価する。マシン 48 台,CPU Intel(R) Xeon(R) X5650 @ 2.67GHz, 仮想コア数 4,CPU キャッシュ 12MB。Blade 上の仮想マシン上での測定を行った。 +トップノードから子ノードに対してData Segmentを送信し、トップノードに戻ってくるまでの時間を測定する。3分木や4分木等に変化させて時間の変化により、スケールするかどうかを評価する。マシン 45 台,CPU Intel(R) Xeon(R) X5650 @ 2.67GHz, 仮想コア数 4,CPU キャッシュ 12MB。Blade 上の仮想マシン上仮想的なツリー状のネットワークを作成し測定を行った。 \begin{figure}[htbp] \begin{center} -\includegraphics[width=90mm]{pic/result2.pdf} +\includegraphics[width=90mm]{pic/cs-result.pdf} \caption{測定結果} \label{fig:result2} \end{center} \end{figure} \section{考察} -サービスに参加するClientの数が増加するに連れて、時間が増加していく。これはトップノードがData Segmentを子ノードに送信するというCode SegmentがThread Poolに次々に送られてくる。しかし、同時実行可能数はCPUに依存するため、Client数が増えるに従ってThread Poolで実行されるのを待つ時間が増えていくのではないかと思われる。 -また、原因の一つにはSEDAがあげられる。SEDAはスループット重視の実装であるので、多段のパイプラインのせいでレスポンスが遅れてしまう。 +1台に集中的に接続するよりも3分木や4分木などのネットワークを構成したほうが速い。1台あたりに接続する数を増やしやし過ぎると当然時間が増加するが、2分木などにして、階層を増やしてしまってもかえって逆効果になる。しかし、AliceのTopologyManagerを使ってツリー状に構成することで若干ではあるがスケールすることが確認できた。 % 今後の課題ではなくて、今のAPIの評価を行う \section{APIの評価} @@ -172,7 +171,8 @@ 他のClientに対してデータの送受信するために行う場合はやむを得ないが、local に送受信する際にも行なっている。localに対しての送受信はencode / decode 抜きに処理できるようにするのが望ましい。 \section{今後の課題} -{\bf Key} 本実装ではData Segment相互の参照はKey経由となる。分散実装では妥当であるが、並列実装ではすべてのData SegmentをKVSに格納するのは性能的な問題を引き起こす。一方で、分散記述と並列記述がかけ離れてしまうのも好ましくない。また、本来はKVSは持続性を持つべきだと思われる。持続性をもつことで、トラブルで処理が途中で中断された場合であっても途中から処理を再開可能となる。 +{\bf Key} 本実装ではData Segment相互の参照はKey経由となる。分散実装では妥当であるが、並列実装ではすべてのData SegmentをKVSに格納するのは性能的な問題を引き起こす。一方で、分散記述と並列記述がかけ離れてしまうのも好ましくない。 + \thispagestyle{fancy} \begin{thebibliography}{9} diff -r b1f834cb90af -r db3b8eaba7b0 Draft/pic/cs-result.bb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Draft/pic/cs-result.bb Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,5 @@ +%%Title: ./pic/cs-result.pdf +%%Creator: extractbb 20120420 +%%BoundingBox: 0 0 846 594 +%%CreationDate: Thu Feb 21 13:29:43 2013 + diff -r b1f834cb90af -r db3b8eaba7b0 Draft/pic/cs-result.pdf Binary file Draft/pic/cs-result.pdf has changed diff -r b1f834cb90af -r db3b8eaba7b0 Draft/pic/dsandcs2.bb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Draft/pic/dsandcs2.bb Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,5 @@ +%%Title: ./pic/dsandcs2.pdf +%%Creator: extractbb 20120420 +%%BoundingBox: 0 0 450 196 +%%CreationDate: Thu Feb 21 13:29:43 2013 + diff -r b1f834cb90af -r db3b8eaba7b0 Draft/pic/emblem-bitmap.bb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Draft/pic/emblem-bitmap.bb Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,5 @@ +%%Title: ./pic/emblem-bitmap.pdf +%%Creator: extractbb 20120420 +%%BoundingBox: 0 0 451 246 +%%CreationDate: Thu Feb 21 13:29:43 2013 + diff -r b1f834cb90af -r db3b8eaba7b0 Draft/pic/for_Fx.bb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Draft/pic/for_Fx.bb Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,5 @@ +%%Title: ./pic/for_Fx.pdf +%%Creator: extractbb 20120420 +%%BoundingBox: 0 0 831 420 +%%CreationDate: Thu Feb 21 13:29:43 2013 + diff -r b1f834cb90af -r db3b8eaba7b0 Draft/pic/result2.pdf Binary file Draft/pic/result2.pdf has changed diff -r b1f834cb90af -r db3b8eaba7b0 paper/chapter1.tex --- a/paper/chapter1.tex Wed Feb 20 19:12:20 2013 +0900 +++ b/paper/chapter1.tex Fri Feb 22 16:18:39 2013 +0900 @@ -6,15 +6,22 @@ %英語発表者は,最終予稿の「はじめに」の英訳などを載せてもいいかも. \section{研究背景と目的} +ブロードバンド環境の普及、タブレット端末およびスマートフォンの普及率が年々増加している。その結果、インターネット上のサービスに参加するユーザーが増大している。そのためインターネット上のサービスには信頼性だけではなくスケーラビリティも要求される。ここでいう信頼性とは、定められた動作環境下で安定して期待された役割を果たすことができることを指す。また、スケーラビリティとはサービスに参加するクライアントの人数が増えても、メモリ等のリソースのみでサービスを維持することを指す。本研究室ではデータをData Segment、タスクをCode Segmentに分割して記述する分散ネットフレームワークの開発を行なっている。AliceはJavaで実装されており、ノード間のData Segmentの送受信APIが提供されている。また、Blade,PCクラスタ上で分散プログラムのシュミレーションをするために、オーバレイネットワークを自動的に構成するTopologyManagerという機能が搭載されている。 +本研究はAliceをを用いてプログラムを作成することでAliceが抱える問題点、APIの見直しを行った。まず分散プログラムを書くためのAPIがちゃんとそろっているかどうかを例題を作成することにより確認した。またスケーラビリティを持つかどうかを調べるためにはBlade上でシュミレーションを行うことが必要である。そこで、実際にシュミレーションを行い応答時間の測定を行った。 + \section{論文の構成} -第2章では、Aliceを使うにあたって必要な知識である、Code SegmentとData Segmentの説明を行い、実際にどのようにCode SegmentとData Segmentを使ってプログラムを作成するかをソースコードを示しながら説明する。また、トポロジーマネージャーを使用してトポロジーを作成する方法の説明を行う。 +第2章では、本研究室で開発を行なっているCeriumと先行研究であるFederated Lindaから得られた知見を述べつつ、その知見が生かされたAliceの説明を行う。そして、Aliceを使うにあたって必要な知識である、Code SegmentとData Segmentの説明を行う。 + -第3章では、実際にAliceを用いて作成された例題である水族館ゲーム、バイトニックソートを示し、その説明を行う。 +また、実際にどのようにCode SegmentとData Segmentを使ってプログラムを作成するかをソースコードを示しつつ、トポロジーマネージャーを使用してトポロジーを作成する方法の説明を行う。 + +第3章では、Aliceに分散アプリケーションを作るために必要なAPIが揃っているかどうか調べるために作成した例題、水族館ゲームとバイトニックソートについて示す。また、その仕組について説明を行う。 -第4章では、例題による実験を行い、その結果を示すと共に考察を行う。 +第4章では、第3章で作成した例題でAPIの評価を行う。例題を作った際に見つけたAPIの問題点、及びバグについて報告する。 -第5章では、まとめを示す。その中で現状のAliceの問題点などを述べる。また、例題の作成を行った際にAliceに備わっていて欲しい機能、API等述べる。 +第5章では、実際に作成した例題を用いた実験を行い、計算機ノードをツリー状に構成しスケーラビリティを有しているかどうかを調査する。また、KVMとVMwareの2つの比較を行う。 +第6章においては、まとめと今後の課題となっている。 %\section{Introduction} diff -r b1f834cb90af -r db3b8eaba7b0 paper/chapter2.tex --- a/paper/chapter2.tex Wed Feb 20 19:12:20 2013 +0900 +++ b/paper/chapter2.tex Fri Feb 22 16:18:39 2013 +0900 @@ -2,7 +2,7 @@ \label{chap:concept} \section{Alice} -Aliceは、本研究室で開発を行なっている分散タスク管理フレームワークである。 +Alice\cite{kono11g}は、本研究室で開発を行なっている分散タスク管理フレームワークである。 Cell 用のOpen CLに似たTask管理フレームワークCerium\cite{kono09b,cerium-sourceforge}と、Linda\cite{linda}を相互接続した分散フレームワークであるFederated Linda\cite{kono05b}の開発を通して得られた知見を生かされている。 Ceriumでは、Taskを小さく分割して並列実行し、データ転送はパイプライン実行により隠される。Taskには依存関係があり、その記述は煩雑になるが、実際にはデータの依存関係がそのままTaskの依存関係になることが多い。繰り返し使われるデータ構造の管理が重要であり、実行時にわかるデータ構造間の依存関係がTaskを複雑にしている。 @@ -18,7 +18,6 @@ AliceはCode SegmentとData SegmentをJavaとMessage Packで実装したフレームワークである。トポロジーマネージャーを持ち、Blade上での 分散プログラムの実験を容易に行うことができる。また、SEDA Architecture \cite{SEDA2001}を採用しており、マルチコア上でのスループットの向上を期待している。 -本論文では、Code SegmentとData SegmentのAliceのAPIと、その設計方針を示し、それによって実装された水族館プログラムを示す。また、これまでのFederated Lindaとの性能評価も行う。 \section{Data Segment API} Data Segmentは、データ細かく分割したものであり、数値や文字列などのデータを構造体的に保持す @@ -26,7 +25,7 @@ Data Segmentは必ずキーを持つ。つまり、Key Value Storeとして考えることができる。 通常のデータベースでは隠されているが、Key毎にキューがあり、key毎に順次実行される。 -Aliceのデータベースは通常のKVSと若干異なっている点がある。通常のKVSはプログラミング言語の連想配列やMapと同様に「Key(キー)」と「Value(値)」がペアとなってる。そのためKeyに対して取得できるValueは当然1つである。しかし、Aliceの場合は「Key」と「Value」と「Index」がセットとなっているため、Keyに対して保存できる値が複数ある。そのため取得できるValueも複数存在する。 +Aliceのデータベースは通常のKVSと若干異なっている点がある。通常のKVSはプログラミング言語の連想配列やMapと同様に「Key(キー)」と「Value(値)」がペアとなってる。そのためKeyに対して取得できるValueは当然1つである。しかし、Aliceの場合は「Key」と「Queue」がセットとなっているため、Keyに対して複数回putできる。そのため取得できるValueも複数存在する。 key毎の追加と取得は、Lindaに準じた設計になっている。 Data SegmentはData Segment Manager(以下DSM)によって管理されている。ノード毎にLocal DSMとRDSMが存在する。Local DSMは、各ノード固有のKey Value Storeとなっている。従って、Keyはノード内部でuniqueなものである。Remote DSMは他のノードのLocal DSMのproxyである。(図 \ref{fig:RemoteDSM}) AliceのトポロジーマネージャーがRemote DSMを自動的に構築する。つまりRemote DSMは複数存在し、それぞれに対応するノードが異なる。 @@ -130,6 +129,14 @@ \section{Code Segment} Code Segmentはタスクのことである。Code Segmentをユーザーが記述するときに、Code Segmentの作成を記述する。Code Segment内で使用するData Segmentの作成を記述する。Code Segmentには、Input Data SegmentとOutput Data Segmentを作るAPIが存在する。 +\begin{figure}[htbp] +\begin{center} +\includegraphics{fig/dsandcs.pdf} +\end{center} +\caption{Code SegmentはInput Data Segment とOut put Data Segmenが存在する} +\label{fig:dsandcs} +\end{figure} + Input Data Segmentで作成されたData Segmentは、remoteかlocalか、またkeyを指定する必要がある。Input Data Segmentがすべて揃うまでCode Segmentはactiveにならない。 Out Data Segmentで作成されたData Segmentに対してもremoteかlocalか、keyを指定する必要がある。 @@ -172,12 +179,11 @@ \begin{itemize} \item {\ttfamily void setKey(String managerKey, String key)} -\item {\ttfamily void setKey(String managerKey, String key ,int index)} \end{itemize} setKeyメソッドにより、どこのData Segmentのあるkeyに対してpeekまたはtakeコマンドを実行するかを指定することができる。 コマンドの結果がレスポンスとして届き次第Code Segmentは実行される。 -また、第3引数にindexを指定することで、指定したindexよりも新しいData Segmentがある場合のみData Segmentを取得するといったことができる。 + Output DSMはCode Segmentのodsというフィールドを用いてアクセスする。Output DSMはputまたは updateを実行することができる。 @@ -203,7 +209,7 @@ \end{figure} \subsection{Topology Manager の設定ファイルの記述方法} -Topology Managerが読み込むトポロジーファイルはDOT Languageと呼ばれる言語で記述する。 +Topology Managerが読み込むトポロジーファイルは Language\cite{graphviz}と呼ばれる言語で記述する。 DOT Languageはプレーンテキストを用いてデータ構造としてのグラフ構造を表現するデータ記述する言語の一種である。 このDOT Languageを用いてクライアント間の接続を表現する。 diff -r b1f834cb90af -r db3b8eaba7b0 paper/chapter3.tex --- a/paper/chapter3.tex Wed Feb 20 19:12:20 2013 +0900 +++ b/paper/chapter3.tex Fri Feb 22 16:18:39 2013 +0900 @@ -1,10 +1,11 @@ \chapter{Aliceを用いた例題} \label{chap:example} -AliceのAPIを見直すためには実際にAliceを用いて例題を作成するのが、適切である。この章では実際にAliceを用いて作成された例題を示す。 +前章までは、分散ネットフレームワークAliceおよび、Aliceを使ったプログラムの作成方法を示した。 +Aliceに必要なAPIが備わっているかを調べるにために、実際にAliceを用いて例題を作成した。この章では実際にAliceを用いて作成された例題を示す。 \section{水族館ゲーム} Aliceは分散ネットフレームワークである。従って例題を作成するにあたってネットワークを介した例題が適切であると思われる。そこで過去にFedarated Lindaでも作成された水族館ゲームをAliceで実装した。また、Java3D版(図\ref{fig:Java3D})とは別に、新しくJava7に組み込まれたJavaFx(図\ref{fig:JavaFx})を使い水族館ゲームのJavaFx版を作成した。 -水族館ゲームとは複数のclientのディスプレイを並べて使用する。アプリケーションを実行するとウインドウが表示され、複数の魚がウインドウの中を泳ぎ始める。魚は画面の端まで移動すると自分の画面上からは消え、隣のプレイヤーの画面の端から出てくる。魚のうち1匹はプレイヤーが操作することができる。トポロジーはAliceのTopologyManagerによってツリー状に構成されている。 +水族館ゲームとは魚の情報をゲームに参加するClent全員で共有し。複数のディスプレイに異なる視点で表示される。アプリケーションを実行するとウインドウが表示され、複数の魚がウインドウの中を泳ぎ始める。魚は画面の端まで移動すると自分の画面上からは消え、隣のプレイヤーの画面の端から出てくる。魚のうち1匹はプレイヤーが操作することができる。トポロジーはAliceのTopologyManagerによってツリー状に構成されている。 \begin{figure}[htbp] \begin{center} \includegraphics[width=160mm]{fig/for_3D.pdf} @@ -81,33 +82,3 @@ \end{figure} -\section{Aliceのバグ} -データを静的な型に変換する際にMessagePackの使い方が誤っていたため、PermGen Errorを引き起こしていた。 - - -peekまたはtakeで取得したData SegmentはValueオブジェクトであるため、そのままでは使うことができない。 -そのため Data Segmentの型を変換する必要がある。それを提供するAPIにasClass()というものがある。 -このAPIはユーザーが一般的なクラスを IDLのように用いてデータを表現した場合に使用し、引数として変換したいClassを指定する。(ソースコード \ref{fig:use_asClass}) - - -asClass内部のconvert(ソースコード \ref{fig:PermGenError})で実際に目的の型に変換するが、この際Message Pack のオブジェクトは渡されたClassに対してClass定義を行う。 -Class定義の情報はPermanent領域に保存される。 -同一オブジェクトであれば、一度定義を行えば次回以降変換する際に再び定義することはない。 -しかし、型変換を行うたびにMessagePackのオブジェクトをnewしていた。そのため型変換を行うたびにClassを定義を行なっていたため -Parmanent領域が減っていき、枯渇した際にエラーを引き起こしていた。現在はMessagePackのオブジェクトをSingletonパターンで記述しているためこのエラーは起きない。 - - -\subsection{注意すべき記述} -Aliceを記述する際に注意すべき記述がある。(ソースコード \ref{fig:NullPointerException}) - -Code Segmentを作成する際、コンストラクタ内でData Segmentを指定するsetKeyメソッドを呼ぶ。 -この際、setKey以降に処理を記述すると、その記述した処理が実行されない可能性がある。 - -Code Segmentは内部で必要なData Segmentの数の数えている。 -Data Segmentが取得されるたびにこの値がデクリメントされていき、0になった時にThread Poolへ送られる仕組みとなっている。 -値が0であるかを確認するのは別スレッドであるため、setKey以降に処理を記述すると、その処理が途中であってもThread Poolへ送られてしまい、nullpointerexception等のエラーが起こる可能性がある。記述自体は一般的なjavaの記述であるため一見してわかるものではない。また、データの取得にかかる時間次第で、エラーが出たり、出なかったりするので非常に厄介である。 -\begin{table}[htbp] -\lstinputlisting[label=fig:use_asClass, caption=asClassの使用例]{source/AsClass.java} -\lstinputlisting[label=fig:PermGenError, caption=PermGen Errorを引き起こす]{source/PermGenError.java} -\lstinputlisting[label=fig:NullPointerException, caption=実行するとNullPointerExceptionを起こす]{source/NullPointerException.java} -\end{table} \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 paper/chapter4.tex --- a/paper/chapter4.tex Wed Feb 20 19:12:20 2013 +0900 +++ b/paper/chapter4.tex Fri Feb 22 16:18:39 2013 +0900 @@ -1,7 +1,35 @@ -\chapter{実験} -\label{chap:experiment} -\section{実験説明} +\chapter{APIの評価} +\label{chap:conclusion1} +Aliceは分散アプリケーションを作成するに十分なAPIを持っていることがわかった。 +しかし、いくつかAPIに問題があったのでそれを記す。 + +\section{Aliceのバグ} +データを静的な型に変換する際にMessagePackの使い方が誤っていたため、PermGen Errorを引き起こしていた。 + + +peekまたはtakeで取得したData SegmentはValueオブジェクトであるため、そのままでは使うことができない。 +そのため Data Segmentの型を変換する必要がある。それを提供するAPIにasClass()というものがある。 +このAPIはユーザーが一般的なクラスを IDLのように用いてデータを表現した場合に使用し、引数として変換したいClassを指定する。(ソースコード \ref{fig:use_asClass}) + -\section{検証結果} +asClass内部のconvert(ソースコード \ref{fig:PermGenError})で実際に目的の型に変換するが、この際Message Pack のオブジェクトは渡されたClassに対してClass定義を行う。 +Class定義の情報はPermanent領域に保存される。 +同一オブジェクトであれば、一度定義を行えば次回以降変換する際に再び定義することはない。 +しかし、型変換を行うたびにMessagePackのオブジェクトをnewしていた。そのため型変換を行うたびにClassを定義を行なっていたため +Parmanent領域が減っていき、枯渇した際にエラーを引き起こしていた。現在はMessagePackのオブジェクトをSingletonパターンで記述しているためこのエラーは起きない。 + + +\section{setKeyのシンタックス問題} +Aliceを記述する際に注意すべき記述がある。(ソースコード \ref{fig:NullPointerException}) -\section{考察} +Code Segmentを作成する際、コンストラクタ内でData Segmentを指定するsetKeyメソッドを呼ぶ。 +この際、setKey以降に処理を記述すると、その記述した処理が実行されない可能性がある。 + +Code Segmentは内部で必要なData Segmentの数の数えている。 +Data Segmentが取得されるたびにこの値がデクリメントされていき、0になった時にThread Poolへ送られる仕組みとなっている。 +値が0であるかを確認するのは別スレッドであるため、setKey以降に処理を記述すると、その処理が途中であってもThread Poolへ送られてしまい、nullpointerexception等のエラーが起こる可能性がある。記述自体は一般的なjavaの記述であるため一見してわかるものではない。また、データの取得にかかる時間次第で、エラーが出たり、出なかったりするので非常に厄介である。 +\begin{table}[htbp] +\lstinputlisting[label=fig:use_asClass, caption=asClassの使用例]{source/AsClass.java} +\lstinputlisting[label=fig:PermGenError, caption=PermGen Errorを引き起こす]{source/PermGenError.java} +\lstinputlisting[label=fig:NullPointerException, caption=実行するとNullPointerExceptionを起こす]{source/NullPointerException.java} +\end{table} \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 paper/chapter5.tex --- a/paper/chapter5.tex Wed Feb 20 19:12:20 2013 +0900 +++ b/paper/chapter5.tex Fri Feb 22 16:18:39 2013 +0900 @@ -1,37 +1,168 @@ -\chapter{まとめ} -\label{chap:conclusion} +\chapter{スケーラビリティの評価} +\label{chap:experiment} +前章ではAliceによって作成されたアプリケーションについて説明した。本章ではAliceがスケーラビリティを持つかどうかの実験方法その結果についてまとめを行い、Aliceを評価する。 +\section{実験方法} +Aliceがスケーラビリティを持っているかどうかを実験するために、学科にある教養のブレードサーバーと並列信頼研で管理しているブレードサーバーを用いた。それぞれVMwareとKVMという仮想化ソフトウェアで管理されている。また、実験を行う際にTORQUE Resource Managerというジョブスケジューラーを使用した。 + +\subsection{TORQUE Resource Manager} +TORQUE Resource Managerは計算機クラスターのジョブを管理するジョブスケジューラである。 +構成は、ジョブを管理するヘッドノード、及び実際の計算を行う計算ノードから構成される。 + + +ヘッドノードからシェルスクリプトで記述されたジョブをスケジューラーに渡す。 +この際に、利用したいマシン台数、CPUコア数等をしてすることができる。 +スケジューラーは計算ノードのリソース状況を見て投入されたジョブを計算ノードへ伝える。 + + +\subsection{実験環境} +今回はブレードサーバー(表 \ref{tb:blade8})上でVMwareにより管理されている仮想マシン(表 \ref{tb:VMware})よる仮想クラスタ環境とブレードサーバー(表 \ref{tb:blade3})上でKVMにより管理されている仮想マシン(表 \ref{tb:KVM})よる仮想クラスタ環境を用いて実験した。 -\section{問題点} -今回の実装は、JavaによりCode Segment とData Segmentに必要なAPIを洗い出すためのものであった。 -この実装でもいくつかの問題が明らかになっている。 -\subsection{API} -Classを継承したり、Input Data SegmentやOutput Data Segmentの作成にfactory objectを使うのはJavaを使う際の技術できなものであり、AliceのAPI自体はJavaに固有である必要はない。むしろ、JavaのObject指向な記述が全体を煩雑にしている部分もある。updateはData Segmentの競合的な更新に使われるべきではないかと思われる。 -\subsection{SEDA} -Federated Lindaに比べて、通信のレスポンスが遅い原因の一つはSEDA architectureのせいだと思われる。SEDAはスループット重視の実装であり、多段のパイプラインのせいでレスポンスが遅れてしまう。実際スループットを使用しないほうがRingの結果は良くなる。 +\begin{table}[htbp] +\caption{共有ブレードサーバーの詳細} +\label{tb:blade8} +\begin{center} +\begin{tabular} {|l|l|} + \hline1 + {\bf マシン台数}&8台\\ + \hline + {\bf CPU}&Intel(R) Xeon(R) X5650 @ 2.67GHz\\ + \hline + {\bf 物理コア数}&12\\ + \hline + {\bf 論理コア数}&24\\ + \hline + {\bf CPU キャッシュ}&12MB\\ + \hline + {\bf Memory}&132GB\\ + \hline +\end{tabular} +\end{center} +\end{table} -レスポンスが要求される部分のスケジューラを別にするなどの工夫が必要だと思われる。それを記述そのものに入れるのが良いかどうかには議論の余地がある。 - -\subsection{Message Pack} -今回は単純なMessageの転送の場合にもMessage Packのdecode / encodeが必要になる。これは単純にoverheadになる。encode / decode 抜きに直接処理できる方が望ましい。また、Data Segmentの一部修正にData Segmentを再構成を行うのは望ましくない。CeriumではInput Data SegmentとOutput Data SegmentをswapするAPIがあり、若干状況は複雑になるが良好な結果が得られている。この辺りは、ユーザーが特に記述しなくてもKeyを見て自動的に判断したほうが望ましいと思われるが、何かしらの制御方法も必要だと思われる。 - -\subsection{Key} -本実装ではData Segment相互の参照はKey経由となる。Lindaや分散実装では、それは妥当であるが、並列実装では、すべてのData SegmentをKVSに格納するのは性能的な問題を引き起こす。一方で、分散記述と並列記述がかけ離れてしまうのも好ましくない。現状はKVSはJavaのConcurrnet Hash mapを用いているが、今のベンチマークではそこが、ネックになっているわけではないと思われる。また、本来はKVSは持続性を持つべきだと思われる。そうすることで、トラブルで処理が途中で中断されてしまっても途中から処理を再開可能となる。 +\begin{table}[htbp] +\caption{仮想クラスタの詳細} +\label{tb:VMware} +\begin{center} +\begin{tabular} {|l|l|} + \hline + {\bf マシン台数}&44台\\ + \hline + {\bf CPU}&Intel(R) Xeon(R) X5650 @ 2.67GHz\\ + \hline + {\bf 物理コア数}&2\\ + \hline + {\bf 仮想コア数}&4\\ + \hline + {\bf CPU キャッシュ}&12MB\\ + \hline + {\bf Memory}&8GB\\ + \hline +\end{tabular} +\end{center} +\end{table} -\subsection{Java} -Ringの実験での異常なデータは、Javaの分散プログラミングではよく現れる。一つはJavaのGarbage Collectionの影響だと思われる。Aliceは全てのData SegmentはKVSに格納され、実行時のData SegmentはCode Segmentが activeな時のみメモリ上にある。この最大値は同時にActive Taskの量を見積もれば良い。従って、AliceにGCは必要ない。一方で、KVS上のデータは決してGCの対象にならない。しかし、それはGCに付加をかけてしまう。Alice自体はJavaで実装するのには向いていない。 +\begin{table}[htbp] +\caption{並列信頼研ブレードサーバーの詳細} +\label{tb:blade3} +\begin{center} +\begin{tabular} {|l|l|} + \hline1 + {\bf マシン台数}&3台\\ + \hline + {\bf CPU}&Intel(R) Xeon(R) X5650 @ 2.67GHz\\ + \hline + {\bf 物理コア数}&12\\ + \hline + {\bf 論理コア数}&24\\ + \hline + {\bf CPU キャッシュ}&12MB\\ + \hline + {\bf Memory}&132GB\\ + \hline +\end{tabular} +\end{center} +\end{table} -\subsection{拡張性} -分散アプリケーションでのプロトコルは常に変更されるものであり、Aliceもそれに対応する必要がある。Alice上で走るプロトコルは、Data Segment と Code Segment -によって決まる。Keyとトポロジーマネージャーをプロトコル別に用意すれば、複数のプロトコルを同時に走らせることが可能である。プロトコル間の互換性はいろいろあり得る。Data SegmentとCode Segmentの結びつきは弱いので、Data Segmentに値がない場合、あるいは、値が足りない場合に適切な値を設定することにより、古いCode Segmentを変更せずにプロトコルを拡張できると考えている。 +\begin{table}[htbp] +\caption{仮想クラスタの詳細} +\label{tb:KVM} +\begin{center} +\begin{tabular} {|l|l|} + \hline + {\bf マシン台数}&16台\\ + \hline + {\bf CPU}&Intel(R) Xeon(R) X5650 @ 2.67GHz\\ + \hline + {\bf 物理コア数}&2\\ + \hline + {\bf 仮想コア数}&4\\ + \hline + {\bf CPU キャッシュ}&12MB\\ + \hline + {\bf Memory}&8GB\\ + \hline +\end{tabular} +\end{center} +\end{table} -\section{今後の課題} +\section{実験概要} +TopologyManagerを使用して仮想クラスタサーバー16台、44台を任意のツリー状に構成する。トップノードから子ノードに対してData Segmentを送信し、Data Segmentがツリーの最下層まで伝搬されトップノードに戻ってくるまでの時間を測定する。1台に43台を繋げた際の平均応答時間よりもツリー状に構成した時の平均応答時間が短ければ、Aliceがスケーラビリティを持つということがいえる。 + + +またKVMとVMwareどちらの環境が良いかという比較を行う。 -今回、例題を作成することで、様々な問題点が浮き彫りになってきた。 -特に、Aliceがノード内における並列実行に対して、性能的な問題がある事がわかった。 -原因はLocal DSMからData Segmentを取得する際にもコピーが行われているからである。 -分散プログラムにおいてRemote DSMを通してData Segmentを取得または書き込みはコピーするしかないが、並列プログラムの場合はコピーをするのは望ましくない。 -Input Data Segment と Output Data Segmentが同じ場合にswap を行うように変更する必要がある +\begin{figure}[htbp] +\begin{center} +\includegraphics[width=160mm]{fig/experiment.pdf} +\end{center} +\caption{Data Segmentを送信して戻ってくるまでの時間を測定する} +\label{fig:experiment} +\end{figure} + +図\ref{fig:experiment}のように親に接続しているノードの個数が2台の場合、ここでは便宜上二分木と呼ぶこととする。更に図\ref{fig:experiment}の場合親を除いて2段層があるのでこの場合は、二分木二段と呼ぶ。 + +\begin{figure}[htbp] +\begin{center} +\includegraphics[width=170mm,height=75mm]{fig/bitree.pdf} +\end{center} +\caption{二分木五段} +\label{fig:bitree} +\end{figure} +二分木五段(図 \ref{fig:bitree})、三分木三段、四分木三段、六分木二段のツリーを構成し、その応答時間を計測した。 + + +\section{実験結果} +実験結果は(図\ref{fig:cs-result})のようになった。 + + +1台に43台を繋げるよりも、ツリー状にトポロジーを形成したほうが応答時間が短くなることがわかる。しかし、16台の場合だと15台を1台に接続をさせたほうが二分木、三分木を構成するよりも早いという結果になっている。 +特に四分木三段で構成した場合1台に集中させるよりも2.5ms早く応答時間が全体に行き渡る事がわかった。 +KVMとVMwareの比較の方ではKVMのほうがVMwareよりも1.8倍程度遅い。 -object に対して操作をするには、インスタンスが必要になってくる。その場合Code Segmentを作成する際に直接渡す必要がある。 -しかし、それではCode SegmentとData Segmentでプログラミングをしているとは言い難い。 -インスタンスを保持するホルダーを用意し、APIを提供しそこから取得するようにするのが良いと思われる。 + +\begin{figure}[htbp] +\begin{center} +\includegraphics[width=160mm]{fig/cs-result.pdf} +\end{center} +\caption{44台における様々なツリー状の応答時間} +\label{fig:cs-result} +\end{figure} + +\begin{figure}[htbp] +\begin{center} +\includegraphics[width=160mm]{fig/compare.pdf} +\end{center} +\caption{16台における様々なツリー状の応答時間} +\label{fig:compare} +\end{figure} + + +\section{考察} +44台の結果からは(図\ref{fig:cs-result})Aliceがスケーラビリティを持つということがわかった。しかし、16台で構成した際には1台に接続をしたほうが良いという結果になってしまっている。これは1段間に入ると2ms遅くなってしまう。ノード間の通信自体が現在遅いので調整する必要がある。 +全体の応答時間を良くするためには1台に接続を集中させ過ぎないということもあるがしかし、二分木五段のように段差を増やしすぎてもかえって応答時間が悪くなってしまう。 + +KVMのほうが遅い理由には調査した結果いくつか理由がある。まずひとつには完全仮想環境の標準のI/Oの性能が良くない。 +また、KVMのゲスト環境ではCPUのキャッシュメモリーにヒットしなかった場合qemu-kvm(ホスト環境上で動くユーザープロセス)のメモリー空間に割り当てられたメインメモリーにアクセスすることになるがアクセス処理が複雑になるため、オーバーヘッドが大きい。 + + +またKVMの改善方法としてはI/Oを司るデバイスドライバを準仮想化で動作させることで性能を1.5倍程度向上させることができる。 \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 paper/chapter6.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/chapter6.tex Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,41 @@ +\chapter{まとめ} +\label{chap:conclusion} +現状のAliceで分散アプリケーションを作成するためのAPIが揃っていることを確認することができた。 +またAliceによってツリー状のネットワークを構築することでスケーラビリティを確認することができた。 + + +しかし、インターネット上のサービスの場合ユーザの数は膨大であるため、検証台数が足りない。 +台数を増やす、または共有する魚のData Segmentの数を増やして実験を行う必要がある。 + +\section{問題点} +\subsection{API} +Classを継承したり、Input Data SegmentやOutput Data Segmentの作成にfactory objectを使うのはJavaを使う際の技術できなものであり、AliceのAPI自体はJavaに固有である必要はない。むしろ、JavaのObject指向な記述が全体を煩雑にしている部分もある。updateはData Segmentの競合的な更新に使われるべきではないかと思われる。 +\subsection{SEDA} +Federated Lindaに比べて、通信のレスポンスが遅い原因の一つはSEDA architectureのせいだと思われる。SEDAはスループット重視の実装であり、多段のパイプラインのせいでレスポンスが遅れてしまう。実際スループットを使用しないほうがRingの結果は良くなる。 + +レスポンスが要求される部分のスケジューラを別にするなどの工夫が必要だと思われる。それを記述そのものに入れるのが良いかどうかには議論の余地がある。 + +\subsection{Message Pack} +今回は単純なMessageの転送の場合にもMessage Packのdecode / encodeが必要になる。これは単純にoverheadになる。encode / decode 抜きに直接処理できる方が望ましい。また、Data Segmentの一部修正にData Segmentを再構成を行うのは望ましくない。CeriumではInput Data SegmentとOutput Data SegmentをswapするAPIがあり、若干状況は複雑になるが良好な結果が得られている。この辺りは、ユーザーが特に記述しなくてもKeyを見て自動的に判断したほうが望ましいと思われるが、何かしらの制御方法も必要だと思われる。 + +\subsection{Key} +本実装ではData Segment相互の参照はKey経由となる。Lindaや分散実装では、それは妥当であるが、並列実装では、すべてのData SegmentをKVSに格納するのは性能的な問題を引き起こす。一方で、分散記述と並列記述がかけ離れてしまうのも好ましくない。現状はKVSはJavaのConcurrnet Hash mapを用いているが、今のベンチマークではそこが、ネックになっているわけではないと思われる。また、本来はKVSは持続性を持つべきだと思われる。そうすることで、トラブルで処理が途中で中断されてしまっても途中から処理を再開可能となる。 + +\subsection{Java} +Ringの実験での異常なデータは、Javaの分散プログラミングではよく現れる。一つはJavaのGarbage Collectionの影響だと思われる。Aliceは全てのData SegmentはKVSに格納され、実行時のData SegmentはCode Segmentが activeな時のみメモリ上にある。この最大値は同時にActive Taskの量を見積もれば良い。従って、AliceにGCは必要ない。一方で、KVS上のデータは決してGCの対象にならない。しかし、それはGCに付加をかけてしまう。Alice自体はJavaで実装するのには向いていない。 + +\subsection{拡張性} +分散アプリケーションでのプロトコルは常に変更されるものであり、Aliceもそれに対応する必要がある。Alice上で走るプロトコルは、Data Segment と Code Segment +によって決まる。Keyとトポロジーマネージャーをプロトコル別に用意すれば、複数のプロトコルを同時に走らせることが可能である。プロトコル間の互換性はいろいろあり得る。Data SegmentとCode Segmentの結びつきは弱いので、Data Segmentに値がない場合、あるいは、値が足りない場合に適切な値を設定することにより、古いCode Segmentを変更せずにプロトコルを拡張できると考えている。 + +\section{今後の課題} + +今回、例題を作成することで、様々な問題点が浮き彫りになってきた。 +特に、Aliceがノード内における並列実行に対して、性能的な問題がある事がわかった。 +原因はLocal DSMからData Segmentを取得する際にもコピーが行われているからである。 +分散プログラムにおいてRemote DSMを通してData Segmentを取得または書き込みはコピーするしかないが、並列プログラムの場合はコピーをするのは望ましくない。 +Input Data Segment と Output Data Segmentが同じ場合にswap を行うように変更する必要がある + +object に対して操作をするには、インスタンスが必要になってくる。その場合Code Segmentを作成する際に直接渡す必要がある。 +しかし、それではCode SegmentとData Segmentでプログラミングをしているとは言い難い。 +インスタンスを保持するホルダーを用意し、APIを提供しそこから取得するようにするのが良いと思われる。 diff -r b1f834cb90af -r db3b8eaba7b0 paper/fig/bitree.pdf Binary file paper/fig/bitree.pdf has changed diff -r b1f834cb90af -r db3b8eaba7b0 paper/fig/compare.pdf Binary file paper/fig/compare.pdf has changed diff -r b1f834cb90af -r db3b8eaba7b0 paper/fig/cs-result.pdf Binary file paper/fig/cs-result.pdf has changed diff -r b1f834cb90af -r db3b8eaba7b0 paper/fig/dsandcs.pdf Binary file paper/fig/dsandcs.pdf has changed diff -r b1f834cb90af -r db3b8eaba7b0 paper/fig/experience.pdf Binary file paper/fig/experience.pdf has changed diff -r b1f834cb90af -r db3b8eaba7b0 paper/fig/experiment.pdf Binary file paper/fig/experiment.pdf has changed diff -r b1f834cb90af -r db3b8eaba7b0 paper/fig/hextreeharf.pdf Binary file paper/fig/hextreeharf.pdf has changed diff -r b1f834cb90af -r db3b8eaba7b0 paper/fig/quadtree.pdf Binary file paper/fig/quadtree.pdf has changed diff -r b1f834cb90af -r db3b8eaba7b0 paper/fig/titree.pdf Binary file paper/fig/titree.pdf has changed diff -r b1f834cb90af -r db3b8eaba7b0 paper/thanks.tex --- a/paper/thanks.tex Wed Feb 20 19:12:20 2013 +0900 +++ b/paper/thanks.tex Fri Feb 22 16:18:39 2013 +0900 @@ -6,18 +6,15 @@ %GISゼミや英語ゼミに参加した人はその分も入れておく. %順番は重要なので気を付けるように.(提出前に周りの人に確認してもらう.) -\hspace{1zw}本研究の遂行,また本論文の作成にあたり、御多忙にも関わらず終始懇切なる御指導と御教授を賜わりましたhoge助教授に深く感謝したします。 - -また、本研究の遂行及び本論文の作成にあたり、日頃より終始懇切なる御教授と御指導を賜わりましたhoge教授に心より深く感謝致します。 +\hspace{1zw}本研究の遂行,また本論文の作成にあたり、御多忙にも関わらず終始懇切なる御指導と御教授を賜わりました河野真治助教授に心より深く感謝申し上げます。 +また、度重なる助言、技術的指導を賜りました、赤嶺一樹さん、谷成雄さんに深く感謝致します。 -数々の貴重な御助言と細かな御配慮を戴いたhoge研究室のhoge氏に深く感謝致します。 - -また一年間共に研究を行い、暖かな気遣いと励ましをもって支えてくれたhoge研究室のhoge君、hoge君、hogeさん並びにhoge研究室のhoge、hoge君、hoge君、hoge君、hoge君に感謝致します。 +また一年間共に研究を行い、暖かな気遣いと励ましをもって支えてくれた並列信頼研究室の玉城将士さん、大城信康さん、當眞大千さん、に感謝致します。 最後に、有意義な時間を共に過ごした情報工学科の学友、並びに物心両面で支えてくれた両親に深く感謝致します。 \begin{flushright} - 2010年 3月 \\ hoge + 2013年 2月 \\ \end{flushright} diff -r b1f834cb90af -r db3b8eaba7b0 paper/thesis.bib --- a/paper/thesis.bib Wed Feb 20 19:12:20 2013 +0900 +++ b/paper/thesis.bib Fri Feb 22 16:18:39 2013 +0900 @@ -1,198 +1,78 @@ -@book{total, - author = "伊藤 和人", - yomi = "Kazuto Itoh", - title = "{\LaTeX} トータルガイド", - publisher = "秀和システムトレーディング", - year = 1991} -@book{latex, - author = "Leslie Lamport", - title = "A Document Preparation System {\LaTeX} User's Guide - \& Reference Manual", - publisher = "Addison Wesley", - address = "Reading, Massachusetts", - year = 1986, - note = "(Cooke, E., et al.訳:文書処理システム {\LaTeX}," # - "アスキー出版局 (1990))"} -@book{nodera, - author = "野寺 隆志", - yomi = "Takashi Nodera", - title = "楽々 {\LaTeX}", - publisher = "共立出版", - year = 1990} -@book{okumura, - author = "奥村 晴彦", - yomi = "Haruhiko Okudera", - title = "{\LaTeX} 美文書作成入門", - publisher = "技術評論社", - year = 1991} -@article{article1, - author = "桜井 貴文", - yomi = "Sakurai, Takafumi", - title = "直観主義論理と型理論", - journal = "情報処理", - volume = 30, - number = 6, - pages = "626--634", - year = 1989} -@article{article2, - author = "野口 健一郎 and 大谷 真", - yomi = "Noguchi, K and Ohtani, M", - title = "OSIの実現とその課題", - journal = "情報処理", - volume = 31, - number = 9, - pages = "1235-1244", - year = 1990} -@article{article3, - author = "Ssss Itoh and Nnnn Goto", - title = "An Adaptive Noiseless Coding for Sources with Big - Alphabet Size", - journal = "Trans. IEICE", - volume = "E74", - number = 9, - pages = "2495--2503", - year = 1991, - month = sep} -@article{article4, - author = "田中 {正次} and 村松 茂 and 山下 茂", - yomi = "Tanaka, S and Muramatsu, S and Yamashita, S", - title = "9段数7次陽的Runge-Kutta法の最適化について", - journal = "情報処理学会論文誌", - volume = 33, - number = 12, - pages = "1512--1526", - year = 1992} -@article{article5, - author = "K. Abrahamson and N. Dadoun and " # - "D. G. Kirkpatrick and T. Przytycka", - title = "A Simple Parallel Tree Contraction Algorithm", - journal = "J. Algorithms", - volume = 10, - number = 2, - pages = "287--302", - year = 1989} -@article{article6, - author = "田中 {正次} and others", - title = "9段数7次陽的Runge-Kutta法の次数条件式の解について", - journal = "情報処理学会論文誌", - volume = 33, - number = 12, - pages = "1506--1511", - year = 1992} +@book{linda, + author ="Sudhir Ahuja " # + "Nicholas Carriero " # + "and David Gelernter. Linda and friends", + title ="IEEE Computer", + year = 1986} + +@misc{graphviz, + author ="AT \& T Research.", + title = "Graphviz - graph visualization software", + note = "http://www.graphviz.org/Documentation.php"} + +@misc{kono00a, + author ="Shinji KONO", + title = "CbC.", + note = "http://sourceforge.jp/projects/cbc/", + month ="March", + year = 2008 +} +@misc{kono09b, + author ="Shinji KONO", + title = "Cerium", + note = "http://sourceforge.jp/projects/cerium/", + month ="March", + year = 2008 +} -@book{book1, - author = "J. D. Foley and others", - title = "Computer Graphics --- Principles and Practice", - series = "System Programming Series", - publisher = "Addison-Wesley", - address = "Reading, Massachusetts", - edition = "2nd", - year = 1990} -@book{book2, - author = "千葉 則茂 and 村岡 一信", - yomi = "Chiba, N. and Muraoka, K.", - title = "レイトレーシングCG入門", - series = "Information {\&} Computing", - volume = 46, - publisher = "サイエンス社", - year = 1990} -@book{book3, - author = "Chang, C. L. and Lee, R. C. T.", - title = "Symbolic Logic and Mechanical Theorem Proving", - publisher = "Academic Press", - address = "New York", - year = 1973, - note = "(長尾真,辻井潤一訳: " # - "計算機による定理の自動証明, " # - "日本コンピュータ協会 (1983))"} -@booklet{booklet1, - author = "新世代コンピュータ技術開発機構", - title = "第五世代コンピュータプロジェクトの概要", - howpublished = "{FGCS'92}にて配布", - year = 1992} - -@inbook{inbook1, - author = "Knuth, D. E.", - title = "Fundamental Algorithms", - series = "Art of Computer Programming", - volume = 1, - chapter = 2, - pages = "371--381", - publisher = "Addison-Wesley", - address = "Reading, Massachusetts", - edition = "2nd", - year = 1973} - -@incollection{incollection1, - author = "Schwartz, Aaaa Jjjj", - title = "Subdividing B{\'e}zier Curves and Surfaces", - booktitle = "Geometric Modeling: Algorithms and New Trends", - editor = "Farin, G. E.", - publisher = "SIAM", - address = "Philadelphia", - pages = "55--66", - year = 1987} +@inbook{SEDA2001, + author = "Matt Welsh" # + "David Culler and Eric Brewer", + title = "SEDA: An Architecture for Well-Conditioned, Scalable Internet Services", + edition = "SIGOPS Oper. Syst.Rev.", + volume = 35, + chapter = 5, + pages = "230--243", + year = 2001 +} +@article{kono05b, + author = "安村恭一" # + "河野真治", + title = "大域 ID を持たない連邦型 タプルスペース Federated Linda", + journal = "情報処理学会 システムソフトウェアとオペレーティング・シテム研究会", + month = "May", + year = 2005 +} -@inproceedings{inproceedings1, - author = "Baraff, D", - title = "Curved Surfaces and Coherence for Non-penetrating - Rigid Body Simulation", - booktitle = "SIGGRAPH '90 Proceedings", - pages = "19--28", - editor = "Beach, R. J.", - address = "Dallas, Texas", - organization = "ACM", - publisher = "Addison-Wesley", - year = 1990} +@article{kono10d, + author = "赤嶺 一樹 and 河野 真治", + title = "Meta Engine を用いた Federated Linda の実験", + journal = "日本ソフトウェア科学会第 27 会大会", + month = "Sep", + year = 2010 +} -@manual{manual1, - organization = "Adobe Systems Inc.", - title = "PostScript Language Reference Manual", - publisher = "Addison-Wesley", - address = "Reading, Massachusetts", - year = 1985} - -@mastersthesis{mastersthesis1, - author = "山下 義行", - yomi = "Yamashita, Y", - title = "文脈自由文法への否定の導入", - school = "筑波大学大学院工学研究科", - year = 1989} - +@article{kono11g, + author = "赤嶺 一樹 and 河野 真治", + title = "Data Segment API を用いた分散フレームワークの設計", + journal = "日本ソフトウェア科学会第 28 会大会", + month = "Sep", + year = 2011 +} -@misc{misc1, - author = "斉藤 康己 and 中島 浩", - title = "{{\tt ipsjpapers.sty}}", - note = "(情報処理学会論文誌用スタイルファイル," # - "論文著者に配布)", - year = 1995} - -@phdthesis{phdthesis1, - author = "Weihl, W.", - title = "Specification and Implementation of - Atomic Data Types", - school = "MIT", - address = "Boston", - year = 1984} +@misc{cbc-sourceforge, + author = "河野真治"# + "島袋仁", + title = "C with Continuation と、その PlayStation への応用 ", + journal = "日本ソフトウェア科学会第 28 会大会", + month = "May", + year = 2000 +} -@proceedings{proceedings1, - title = "Proc. Intl. Conf. on Fifth Generation Computer - Systems", - organization = "Institute for New Generation Computer Technology", - volume = 1, - year = 1992} - -@techreport{techreport1, - author = "Ihsakat Aredon", - title = "{\TeX} 独稽古", - type = "Seminar on Mathematical Sciences", - number = 13, - institution = "Department of Mathematics, Keio University", - address = "Yokohama", - year = 1989} - -@unpublished{unpublished, - author = "情報処理学会論文誌編集委員会", - title = "{\LaTeX}による論文作成のガイド(第1版)", - note = "(論文著者に配布)", - year = 1995} +@article{cerium-sourceforge, + author = "多賀野海人 小林佑亮 宮國渡 河野真治 (琉球大)", + title = "Cell Task Manager CeriumのSPU 内テータ管理", + journal = "情報処理学会システムソフトウェアとオペレーティング・システム研究会", + month = "April", + year = 2009 +} diff -r b1f834cb90af -r db3b8eaba7b0 paper/thesis.tex --- a/paper/thesis.tex Wed Feb 20 19:12:20 2013 +0900 +++ b/paper/thesis.tex Fri Feb 22 16:18:39 2013 +0900 @@ -1,4 +1,4 @@ -\documentclass[a4j,11pt]{jreport} +\documentclass[a4j,12pt]{jreport} \usepackage{setspace} \usepackage[dvipdfm]{graphicx} %\usepackage[dvips]{graphicx} @@ -9,10 +9,11 @@ \setlength{\itemsep}{-1zh} -\title{} -\year{平成23年度 卒業論文} + +\year{平成24年度 卒業論文} +\title{分散ネットフレームワークAliceによる\\ 例題の作成} \belongto{琉球大学工学部情報工学科} -\author{095732 杉本 優 \\ 指導教員 {河野 真治} } +\author{095732B 杉本 優 \\ 指導教員 {河野 真治} } %% %% プリアンブルに記述 %% Figure 環境中で Table 環境の見出しを表示・カウンタの操作に必要 @@ -71,11 +72,12 @@ % Aliceを用いた例題 \input{chapter3.tex} -% 他の論文との比較 \input{chapter4.tex} +\input{chapter5.tex} + % 今後の課題 -\input{chapter5.tex} +\input{chapter6.tex} % 参考文献 \nocite{*} @@ -83,9 +85,9 @@ \bibliography{thesis} % 謝辞 -%\input{thanks.tex} + % 付録 %\input{appendix.tex} - +\input{thanks.tex} \end{document} \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 presen/.DS_Store Binary file presen/.DS_Store has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/eps/.DS_Store Binary file presen/eps/.DS_Store has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/eps/compare.eps --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/eps/compare.eps Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,3926 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%APL_DSC_Encoding: UTF8 +%APLProducer: (Version 10.8.2 (Build 12C60) Quartz PS Context) +%%Title: (Unknown) +%%Creator: (Unknown) +%%CreationDate: (Unknown) +%%For: (Unknown) +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%Pages: 1 +%%BoundingBox: 0 0 846 594 +%%EndComments +%%BeginProlog +%%BeginFile: cg-pdf.ps +%%Copyright: Copyright 2000-2004 Apple Computer Incorporated. +%%Copyright: All Rights Reserved. +currentpacking true setpacking +/cg_md 141 dict def +cg_md begin +/L3? languagelevel 3 ge def +/bd{bind def}bind def +/ld{load def}bd +/xs{exch store}bd +/xd{exch def}bd +/cmmtx matrix def +mark +/sc/setcolor +/scs/setcolorspace +/dr/defineresource +/fr/findresource +/T/true +/F/false +/d/setdash +/w/setlinewidth +/J/setlinecap +/j/setlinejoin +/M/setmiterlimit +/i/setflat +/rc/rectclip +/rf/rectfill +/rs/rectstroke +/f/fill +/f*/eofill +/sf/selectfont +/s/show +/xS/xshow +/yS/yshow +/xyS/xyshow +/S/stroke +/m/moveto +/l/lineto +/c/curveto +/h/closepath +/n/newpath +/q/gsave +/Q/grestore +counttomark 2 idiv +{ld}repeat pop +/SC{ + /ColorSpace fr scs +}bd +/sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld +/soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld +/cgmtx matrix def +/sdmtx{cgmtx currentmatrix pop}bd +/CM {cgmtx setmatrix}bd +/cm {cmmtx astore CM concat}bd +/W{clip newpath}bd +/W*{eoclip newpath}bd +statusdict begin product end dup (HP) anchorsearch{ + pop pop pop + true +}{ + pop + (hp) anchorsearch{ + pop pop true + }{ + pop false + }ifelse +}ifelse +{ + { + { + pop pop + (0)dup 0 4 -1 roll put + F charpath + }cshow + } +}{ + {F charpath} +}ifelse +/cply exch bd +/cps {cply stroke}bd +/pgsave 0 def +/bp{/pgsave save store}bd +/ep{pgsave restore showpage}def +/re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd +/scrdict 10 dict def +/scrmtx matrix def +/patarray 0 def +/createpat{patarray 3 1 roll put}bd +/makepat{ +scrmtx astore pop +gsave +initgraphics +CM +patarray exch get +scrmtx +makepattern +grestore +setpattern +}bd +/cg_BeginEPSF{ + userdict save/cg_b4_Inc_state exch put + userdict/cg_endepsf/cg_EndEPSF load put + count userdict/cg_op_count 3 -1 roll put + countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put + 3 sub{end}repeat + /showpage {} def + 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin + 10 setmiterlimit [] 0 setdash newpath + false setstrokeadjust false setoverprint +}bd +/cg_EndEPSF{ + countdictstack 3 sub { end } repeat + cg_dict_array 3 1 index length 3 sub getinterval + {begin}forall + count userdict/cg_op_count get sub{pop}repeat + userdict/cg_b4_Inc_state get restore + F setpacking +}bd +/cg_biproc{currentfile/RunLengthDecode filter}bd +/cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd +/ImageDataSource 0 def +L3?{ + /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd + /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd +}{ + /ImageBandMask 0 def + /ImageBandData 0 def + /cg_mibiproc{ + string/ImageBandMask xs + string/ImageBandData xs + /ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx + /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd + }bd + /cg_miaiproc{ + string/ImageBandMask xs + string/ImageBandData xs + /ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter + dup ImageBandMask/readstring cvx + /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd + }bd +}ifelse +/imsave 0 def +/BI{save/imsave xd mark}bd +/EI{imsave restore}bd +/ID{ +counttomark 2 idiv +dup 2 add +dict begin +{def} repeat +pop +/ImageType 1 def +/ImageMatrix[Width 0 0 Height neg 0 Height]def +currentdict dup/ImageMask known{ImageMask}{F}ifelse exch +L3?{ + dup/MaskedImage known + { + pop + << + /ImageType 3 + /InterleaveType 2 + /DataDict currentdict + /MaskDict + << /ImageType 1 + /Width Width + /Height Height + /ImageMatrix ImageMatrix + /BitsPerComponent 1 + /Decode [0 1] + currentdict/Interpolate known + {/Interpolate Interpolate}if + >> + >> + }if +}if +exch +{imagemask}{image}ifelse +end +}bd +/cguidfix{statusdict begin mark version end +{cvr}stopped{cleartomark 0}{exch pop}ifelse +2012 lt{dup findfont dup length dict begin +{1 index/FID ne 2 index/UniqueID ne and +{def} {pop pop} ifelse}forall +currentdict end definefont pop +}{pop}ifelse +}bd +/t_array 0 def +/t_i 0 def +/t_c 1 string def +/x_proc{ + exch t_array t_i get add exch moveto + /t_i t_i 1 add store +}bd +/y_proc{ + t_array t_i get add moveto + /t_i t_i 1 add store +}bd +/xy_proc{ + + t_array t_i 2 copy 1 add get 3 1 roll get + 4 -1 roll add 3 1 roll add moveto + /t_i t_i 2 add store +}bd +/sop 0 def +/cp_proc/x_proc ld +/base_charpath +{ + /t_array xs + /t_i 0 def + { + t_c 0 3 -1 roll put + currentpoint + t_c cply sop + cp_proc + }forall + /t_array 0 def +}bd +/sop/stroke ld +/nop{}def +/xsp/base_charpath ld +/ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd +/xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd +/xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd +/ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd +/xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd +/refnt{ +findfont dup length dict copy dup +/Encoding 4 -1 roll put +definefont pop +}bd +/renmfont{ +findfont dup length dict copy definefont pop +}bd +L3? dup dup{save exch}if +/Range 0 def +/DataSource 0 def +/val 0 def +/nRange 0 def +/mulRange 0 def +/d0 0 def +/r0 0 def +/di 0 def +/ri 0 def +/a0 0 def +/a1 0 def +/r1 0 def +/r2 0 def +/dx 0 def +/Nsteps 0 def +/sh3tp 0 def +/ymax 0 def +/ymin 0 def +/xmax 0 def +/xmin 0 def +/setupFunEval +{ + begin + /nRange Range length 2 idiv store + /mulRange + + [ + 0 1 nRange 1 sub + { + 2 mul/nDim2 xd + Range nDim2 get + Range nDim2 1 add get + 1 index sub + + 255 div + exch + }for + ]store + end +}bd +/FunEval +{ + begin + + nRange mul /val xd + + 0 1 nRange 1 sub + { + dup 2 mul/nDim2 xd + val + add DataSource exch get + mulRange nDim2 get mul + mulRange nDim2 1 add get + add + }for + end +}bd +/max +{ + 2 copy lt + {exch pop}{pop}ifelse +}bd +/sh2 +{ + /Coords load aload pop + 3 index 3 index translate + + 3 -1 roll sub + 3 1 roll exch + sub + 2 copy + dup mul exch dup mul add sqrt + dup + scale + atan + + rotate + + /Function load setupFunEval + + + clippath {pathbbox}stopped {0 0 0 0}if newpath + /ymax xs + /xmax xs + /ymin xs + /xmin xs + currentdict/Extend known + { + /Extend load 0 get + { + 0/Function load FunEval sc + xmin ymin xmin abs ymax ymin sub rectfill + }if + }if + + /Nsteps/Function load/Size get 0 get 1 sub store + /dx 1 Nsteps div store + gsave + /di ymax ymin sub store + /Function load + + 0 1 Nsteps + { + 1 index FunEval sc + 0 ymin dx di rectfill + dx 0 translate + }for + pop + grestore + currentdict/Extend known + { + /Extend load 1 get + { + Nsteps/Function load FunEval sc + 1 ymin xmax 1 sub abs ymax ymin sub rectfill + }if + }if +}bd +/shp +{ + 4 copy + + dup 0 gt{ + 0 exch a1 a0 arc + }{ + pop 0 moveto + }ifelse + dup 0 gt{ + 0 exch a0 a1 arcn + }{ + pop 0 lineto + }ifelse + + fill + + dup 0 gt{ + 0 exch a0 a1 arc + }{ + pop 0 moveto + }ifelse + dup 0 gt{ + 0 exch a1 a0 arcn + }{ + pop 0 lineto + }ifelse + + fill +}bd +/calcmaxs +{ + + xmin dup mul ymin dup mul add sqrt + xmax dup mul ymin dup mul add sqrt + xmin dup mul ymax dup mul add sqrt + xmax dup mul ymax dup mul add sqrt + max max max +}bd +/sh3 +{ + /Coords load aload pop + 5 index 5 index translate + 3 -1 roll 6 -1 roll sub + 3 -1 roll 5 -1 roll sub + 2 copy dup mul exch dup mul add sqrt + /dx xs + 2 copy 0 ne exch 0 ne or + { + + exch atan rotate + }{ + pop pop + }ifelse + + /r2 xs + /r1 xs + /Function load + dup/Size get 0 get 1 sub + /Nsteps xs + setupFunEval + + + + + + dx r2 add r1 lt{ + + 0 + }{ + dx r1 add r2 le + { + 1 + }{ + r1 r2 eq + { + 2 + }{ + 3 + }ifelse + }ifelse + }ifelse + /sh3tp xs + clippath {pathbbox}stopped {0 0 0 0}if + newpath + /ymax xs + /xmax xs + /ymin xs + /xmin xs + + dx dup mul r2 r1 sub dup mul sub dup 0 gt + { + sqrt r2 r1 sub atan + /a0 exch 180 exch sub store + /a1 a0 neg store + }{ + pop + /a0 0 store + /a1 360 store + }ifelse + currentdict/Extend known + { + /Extend load 0 get r1 0 gt and + { + 0/Function load FunEval sc + + + + + { + { + dx 0 r1 360 0 arcn + xmin ymin moveto + xmax ymin lineto + xmax ymax lineto + xmin ymax lineto + xmin ymin lineto + eofill + } + { + r1 0 gt{0 0 r1 0 360 arc fill}if + } + { + + + + + 0 r1 xmin abs r1 add neg r1 shp + } + { + + + r2 r1 gt{ + + 0 r1 + r1 neg r2 r1 sub div dx mul + 0 + shp + }{ + + + + 0 r1 calcmaxs + dup + + r2 add dx mul dx r1 r2 sub sub div + neg + exch 1 index + abs exch sub + shp + }ifelse + } + }sh3tp get exec + }if + }if + + /d0 0 store + /r0 r1 store + /di dx Nsteps div store + /ri r2 r1 sub Nsteps div store + /Function load + 0 1 Nsteps + { + 1 index FunEval sc + d0 di add r0 ri add d0 r0 shp + { + + d0 0 r0 a1 a0 arc + d0 di add 0 r0 ri add a0 a1 arcn + fill + + + d0 0 r0 a0 a1 arc + d0 di add 0 r0 ri add a1 a0 arcn + fill + }pop + + + /d0 d0 di add store + /r0 r0 ri add store + }for + pop + + currentdict/Extend known + { + /Extend load 1 get r2 0 gt and + { + Nsteps/Function load FunEval sc + + + + + { + { + dx 0 r2 0 360 arc fill + } + { + dx 0 r2 360 0 arcn + xmin ymin moveto + xmax ymin lineto + xmax ymax lineto + xmin ymax lineto + xmin ymin lineto + eofill + } + { + + + xmax abs r1 add r1 dx r1 shp + } + { + + r2 r1 gt{ + + + + calcmaxs dup + + r1 add dx mul dx r2 r1 sub sub div + exch 1 index + exch sub + dx r2 + shp + }{ + + r1 neg r2 r1 sub div dx mul + 0 + dx + r2 + shp + }ifelse + } + } + sh3tp get exec + }if + }if +}bd +/sh +{ + begin + /ShadingType load dup dup 2 eq exch 3 eq or + { + gsave + newpath + /ColorSpace load scs + currentdict/BBox known + { + /BBox load aload pop + 2 index sub + 3 index + 3 -1 roll exch sub + exch rectclip + }if + 2 eq + {sh2}{sh3}ifelse + grestore + }{ + + pop + (DEBUG: shading type unimplemented\n)print flush + }ifelse + end +}bd +{restore}if not dup{save exch}if + L3?{ + /sh/shfill ld + /csq/clipsave ld + /csQ/cliprestore ld + }if +{restore}if +end +setpacking +%%EndFile +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 0 0 846 594 +%%BeginPageSetup +cg_md begin +bp +sdmtx +[ /CIEBasedABC 4 dict dup begin +/WhitePoint [ 0.9505 1.0000 1.0891 ] def +/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def +/MatrixABC [ 0.4295 0.2318 0.0204 0.3278 0.6722 0.1111 0.1933 0.0960 0.9578 ] def +/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def +end ] /Cs1 exch/ColorSpace dr pop +%%EndPageSetup +/Cs1 SC +1 1 1 sc +q +0 0 846 594 rc +0 0 m +846 0 l +846 594 l +0 594 l +h +f +1 j +0.60000002 i +0 0 0 sc +1 0 0 1 0.5 0.5 cm +67.199997 42 m +74.199997 42 l +S +CM +54.812206 40.32959 m +55.233757 40.035645 55.55846 39.888672 55.786327 39.888672 c +56.310417 39.888672 56.768421 40.119953 57.160351 40.58252 c +57.55228 41.045086 57.748241 41.613602 57.748241 42.288086 c +57.748241 43.46843 57.119343 44.318356 55.861523 44.837891 c +55.164253 45.125 54.514847 45.268555 53.91328 45.268555 c +53.813019 45.268555 53.750359 45.271973 53.725292 45.278809 c +53.700226 45.285645 53.669464 45.30957 53.633007 45.350586 c +53.64212 45.387043 53.650097 45.417805 53.656933 45.442871 c +53.663769 45.467937 53.671745 45.491863 53.680859 45.514648 c +55.171093 48.782227 l +58.10371 48.782227 l +58.249546 48.782227 58.362335 48.807293 58.442089 48.857422 c +58.521843 48.907551 58.625519 49.000977 58.753124 49.137695 c +58.862499 49.041992 l +58.329296 47.777344 l +58.311066 47.736328 58.260937 47.710125 58.178905 47.69873 c +58.096874 47.687336 58.008007 47.681641 57.912304 47.681641 c +55.266796 47.681641 l +54.685741 46.485352 l +55.43314 46.357746 55.980011 46.23698 56.326366 46.123047 c +56.89603 45.931641 57.372261 45.64909 57.755077 45.275391 c +58.083202 44.95182 58.331573 44.588383 58.500195 44.185059 c +58.668816 43.781734 58.753124 43.354496 58.753124 42.90332 c +58.753124 41.896152 58.394241 41.055344 57.676464 40.380859 c +56.958687 39.706375 56.050655 39.369141 54.952343 39.369141 c +54.505726 39.369141 54.145702 39.412434 53.872265 39.499023 c +53.416534 39.640301 53.188671 39.893227 53.188671 40.257812 c +53.188671 40.394531 53.237663 40.51416 53.335644 40.616699 c +53.433624 40.719238 53.585155 40.770508 53.790234 40.770508 c +54.049999 40.770508 54.390656 40.623535 54.812206 40.32959 c +h +59.744335 39.519531 m +f +1 0 0 1 0.5 0.5 cm +820.75 42 m +813.75 42 l +S +67.199997 101.45 m +74.199997 101.45 l +S +CM +58.52412 99.82402 m +57.988636 99.154099 57.292515 98.819138 56.435741 98.819138 c +55.633656 98.819138 54.903355 99.195114 54.244823 99.947067 c +53.586292 100.69902 53.25703 101.69934 53.25703 102.94804 c +53.25703 104.55678 53.895046 105.93762 55.171093 107.09062 c +56.310421 108.05677 57.591007 108.53984 59.01289 108.53984 c +59.04707 108.31425 l +58.477406 108.20943 57.986362 108.06702 57.573925 107.88701 c +57.161488 107.70699 56.793491 107.45521 56.469921 107.13164 c +56.137238 106.80351 55.825066 106.38652 55.533398 105.88066 c +55.24173 105.3748 55.04121 104.8735 54.931835 104.37675 c +55.21439 104.54993 55.458202 104.67754 55.66328 104.75957 c +56.027866 104.9054 56.394726 104.97832 56.763866 104.97832 c +57.48848 104.97832 58.09687 104.72767 58.589062 104.22636 c +59.081253 103.72506 59.327343 103.00957 59.327343 102.07988 c +59.327343 101.24589 59.059605 100.49394 58.52412 99.82402 c +h +57.789257 103.16679 m +57.470245 103.95065 56.927933 104.34258 56.162304 104.34258 c +55.455921 104.34258 54.986523 104.13294 54.754101 103.71367 c +54.617382 103.46758 54.549023 103.05742 54.549023 102.4832 c +54.549023 101.74036 54.707386 101.01347 55.02412 100.30254 c +55.340855 99.591599 55.841011 99.23613 56.524609 99.23613 c +57.066929 99.23613 57.461132 99.467407 57.707226 99.929977 c +57.95332 100.39255 58.076366 100.93372 58.076366 101.55351 c +58.076366 102.15964 57.980663 102.69739 57.789257 103.16679 c +h +59.778515 98.969528 m +f +1 0 0 1 0.5 0.5 cm +820.75 101.45 m +813.75 101.45 l +S +67.199997 160.89999 m +74.199997 160.89999 l +S +CM +58.855663 167.68222 m +58.855663 167.45663 l +55.888866 158.28964 l +54.986523 158.28964 l +57.755077 166.64999 l +54.774609 166.64999 l +54.33255 166.64999 54.014683 166.57707 53.820995 166.43124 c +53.627308 166.28542 53.382359 165.98007 53.086132 165.51523 c +52.846874 165.6246 l +53.143101 166.35378 53.32653 166.8038 53.397167 166.9747 c +53.467804 167.1456 53.560089 167.38144 53.674023 167.68222 c +h +59.573437 158.41953 m +f +1 0 0 1 0.5 0.5 cm +820.75 160.89999 m +813.75 160.89999 l +S +67.199997 220.39999 m +74.199997 220.39999 l +S +CM +57.755077 218.58945 m +58.02396 218.88112 58.158398 219.2457 58.158398 219.6832 c +58.158398 220.17995 58.015984 220.58212 57.731152 220.88974 c +57.44632 221.19736 56.861851 221.66333 55.977734 222.28769 c +55.585804 222.0416 55.300976 221.72258 55.123241 221.33066 c +54.945507 220.93874 54.85664 220.56047 54.85664 220.19589 c +54.85664 219.57153 55.017284 219.0748 55.338573 218.70566 c +55.659863 218.33652 56.068878 218.15195 56.565624 218.15195 c +57.089714 218.15195 57.486195 218.29778 57.755077 218.58945 c +h +57.543163 224.13339 m +57.825718 224.4843 57.966991 224.90813 57.966991 225.40488 c +57.966991 225.83781 57.833691 226.20583 57.567089 226.50888 c +57.300488 226.81194 56.89603 226.96347 56.35371 226.96347 c +55.934437 226.96347 55.588085 226.83131 55.314648 226.56699 c +55.04121 226.30266 54.904491 225.98137 54.904491 225.60312 c +54.904491 225.17473 55.065136 224.77711 55.386425 224.41025 c +55.707714 224.04338 56.130402 223.69817 56.654491 223.3746 c +57.082878 223.67538 57.379101 223.92831 57.543163 224.13339 c +h +54.371288 223.73691 m +54.034046 224.17441 53.865429 224.65747 53.865429 225.18613 c +53.865429 225.78769 54.114937 226.29811 54.613964 226.71738 c +55.112991 227.13664 55.761257 227.34628 56.558788 227.34628 c +57.292515 227.34628 57.875843 227.14804 58.308788 226.75156 c +58.741734 226.35507 58.958202 225.89479 58.958202 225.3707 c +58.958202 224.83749 58.737175 224.35898 58.295116 223.93515 c +58.039906 223.69362 57.627476 223.41562 57.057812 223.10117 c +57.832554 222.52695 58.387402 222.02678 58.722363 221.60068 c +59.057323 221.17458 59.224804 220.67213 59.224804 220.09335 c +59.224804 219.4371 58.977573 218.88567 58.483105 218.43906 c +57.988636 217.99245 57.326694 217.76913 56.497265 217.76913 c +55.754421 217.76913 55.117546 217.97536 54.58662 218.38779 c +54.055695 218.80022 53.790234 219.34367 53.790234 220.01816 c +53.790234 220.59694 53.974804 221.10735 54.343945 221.54941 c +54.585484 221.83652 55.004749 222.18059 55.601757 222.58163 c +55.000191 223.06471 54.590038 223.4498 54.371288 223.73691 c +h +60.045116 217.91953 m +f +1 0 0 1 0.5 0.5 cm +820.75 220.39999 m +813.75 220.39999 l +S +67.199997 279.85001 m +74.199997 279.85001 l +S +CM +57.170605 281.5463 m +57.501011 281.71948 57.688995 281.8653 57.73457 281.9838 c +57.7528 282.02936 57.768749 282.19913 57.782421 282.49307 c +57.796093 282.78702 57.802929 283.02515 57.802929 283.20743 c +57.802929 284.15533 57.643425 284.92554 57.324413 285.51797 c +57.005402 286.11041 56.538284 286.40665 55.923046 286.40665 c +55.476429 286.40665 55.115269 286.20386 54.83955 285.79825 c +54.563831 285.39264 54.425976 284.78653 54.425976 283.97989 c +54.425976 283.31451 54.554718 282.69928 54.812206 282.13419 c +55.069695 281.56909 55.535671 281.28653 56.210155 281.28653 c +56.520054 281.28653 56.840199 281.37311 57.170605 281.5463 c +h +58.342968 285.59659 m +58.889847 284.79678 59.16328 283.90469 59.16328 282.92032 c +59.16328 282.2276 59.033398 281.5235 58.773632 280.80801 c +58.513866 280.09253 58.135612 279.4545 57.638866 278.89395 c +57.060089 278.24683 56.32637 277.76602 55.437695 277.45157 c +54.940948 277.27383 54.314327 277.13712 53.557812 277.04141 c +53.489452 277.31485 l +53.963413 277.42422 54.357616 277.54044 54.67207 277.66348 c +55.237175 277.88678 55.690624 278.16022 56.032421 278.4838 c +56.515495 278.94409 56.901722 279.45792 57.191113 280.0253 c +57.480503 280.59268 57.661652 281.06778 57.73457 281.45059 c +57.495312 281.27286 l +57.15807 281.01764 56.761589 280.84219 56.305859 280.74649 c +56.068878 280.6918 55.852409 280.66446 55.656445 280.66446 c +54.881702 280.66446 54.267612 280.93903 53.814159 281.48819 c +53.360706 282.03735 53.133984 282.69244 53.133984 283.45352 c +53.133984 284.42422 53.403999 285.22403 53.944042 285.85294 c +54.484085 286.48184 55.175648 286.7963 56.018749 286.7963 c +57.021358 286.7963 57.796089 286.39639 58.342968 285.59659 c +h +59.716991 277.36954 m +f +1 0 0 1 0.5 0.5 cm +820.75 279.85001 m +813.75 279.85001 l +S +67.199997 339.29999 m +74.199997 339.29999 l +S +CM +51.025097 346.16083 m +51.027374 346.14944 51.028515 346.12323 51.028515 346.08221 c +51.028515 337.85175 l +51.028515 337.50082 51.121937 337.27753 51.308788 337.18182 c +51.49564 337.08612 51.844269 337.02914 52.354687 337.01093 c +52.354687 336.81952 l +48.499218 336.81952 l +48.499218 337.0246 l +49.050652 337.05194 49.410675 337.12714 49.579296 337.25018 c +49.747917 337.37323 49.832226 337.63983 49.832226 338.04999 c +49.832226 344.38007 l +49.832226 344.59882 49.804882 344.76517 49.750195 344.87909 c +49.695507 344.99301 49.577019 345.04999 49.394726 345.04999 c +49.276237 345.04999 49.122429 345.01694 48.9333 344.95087 c +48.744171 344.8848 48.567577 344.81528 48.403515 344.74237 c +48.403515 344.93378 l +50.912304 346.2121 l +50.994335 346.2121 l +51.012566 346.1893 51.02282 346.17221 51.025097 346.16083 c +h +58.582226 338.17303 m +58.832878 338.90677 58.958202 339.9686 58.958202 341.35858 c +58.958202 342.466 58.883007 343.35013 58.732616 344.01093 c +58.450062 345.24139 57.921421 345.85663 57.146679 345.85663 c +56.371937 345.85663 55.841015 345.22318 55.553905 343.95624 c +55.403515 343.28177 55.32832 342.3931 55.32832 341.29022 c +55.32832 340.25571 55.405792 339.42856 55.560741 338.80878 c +55.852409 337.65121 56.399281 337.07245 57.201366 337.07245 c +57.871292 337.07245 58.331573 337.4393 58.582226 338.17303 c +h +59.621288 344.57831 m +60.081577 343.68964 60.311718 342.66882 60.311718 341.51581 c +60.311718 340.60892 60.170444 339.75443 59.88789 338.95233 c +59.354683 337.44385 58.431843 336.68964 57.119335 336.68964 c +56.221542 336.68964 55.483269 337.0975 54.904491 337.91327 c +54.284698 338.78372 53.974804 339.96631 53.974804 341.46112 c +53.974804 342.6369 54.182159 343.64862 54.596874 344.49628 c +55.157425 345.64929 56.018742 346.22577 57.180859 346.22577 c +58.229042 346.22577 59.042511 345.67664 59.621288 344.57831 c +h +60.851757 336.81952 m +f +1 0 0 1 0.5 0.5 cm +820.75 339.29999 m +813.75 339.29999 l +S +67.199997 398.75 m +74.199997 398.75 l +S +CM +51.025097 405.61084 m +51.027374 405.59946 51.028515 405.57324 51.028515 405.53223 c +51.028515 397.30176 l +51.028515 396.95084 51.121937 396.72754 51.308788 396.63184 c +51.49564 396.53613 51.844269 396.47916 52.354687 396.46094 c +52.354687 396.26953 l +48.499218 396.26953 l +48.499218 396.47461 l +49.050652 396.50195 49.410675 396.57715 49.579296 396.7002 c +49.747917 396.82324 49.832226 397.08984 49.832226 397.5 c +49.832226 403.83008 l +49.832226 404.04883 49.804882 404.21518 49.750195 404.3291 c +49.695507 404.44302 49.577019 404.5 49.394726 404.5 c +49.276237 404.5 49.122429 404.46695 48.9333 404.40088 c +48.744171 404.33481 48.567577 404.26529 48.403515 404.19238 c +48.403515 404.38379 l +50.912304 405.66211 l +50.994335 405.66211 l +51.012566 405.63931 51.02282 405.62222 51.025097 405.61084 c +h +58.025097 405.61084 m +58.027374 405.59946 58.028515 405.57324 58.028515 405.53223 c +58.028515 397.30176 l +58.028515 396.95084 58.121937 396.72754 58.308788 396.63184 c +58.49564 396.53613 58.844269 396.47916 59.354687 396.46094 c +59.354687 396.26953 l +55.499218 396.26953 l +55.499218 396.47461 l +56.050652 396.50195 56.410675 396.57715 56.579296 396.7002 c +56.747917 396.82324 56.832226 397.08984 56.832226 397.5 c +56.832226 403.83008 l +56.832226 404.04883 56.804882 404.21518 56.750195 404.3291 c +56.695507 404.44302 56.577019 404.5 56.394726 404.5 c +56.276237 404.5 56.122429 404.46695 55.9333 404.40088 c +55.744171 404.33481 55.567577 404.26529 55.403515 404.19238 c +55.403515 404.38379 l +57.912304 405.66211 l +57.994335 405.66211 l +58.012566 405.63931 58.02282 405.62222 58.025097 405.61084 c +h +60.851757 396.26953 m +f +1 0 0 1 0.5 0.5 cm +820.75 398.75 m +813.75 398.75 l +S +67.199997 458.25 m +74.199997 458.25 l +S +CM +51.025097 465.11084 m +51.027374 465.09946 51.028515 465.07324 51.028515 465.03223 c +51.028515 456.80176 l +51.028515 456.45084 51.121937 456.22754 51.308788 456.13184 c +51.49564 456.03613 51.844269 455.97916 52.354687 455.96094 c +52.354687 455.76953 l +48.499218 455.76953 l +48.499218 455.97461 l +49.050652 456.00195 49.410675 456.07715 49.579296 456.2002 c +49.747917 456.32324 49.832226 456.58984 49.832226 457 c +49.832226 463.33008 l +49.832226 463.54883 49.804882 463.71518 49.750195 463.8291 c +49.695507 463.94302 49.577019 464 49.394726 464 c +49.276237 464 49.122429 463.96695 48.9333 463.90088 c +48.744171 463.83481 48.567577 463.76529 48.403515 463.69238 c +48.403515 463.88379 l +50.912304 465.16211 l +50.994335 465.16211 l +51.012566 465.13931 51.02282 465.12222 51.025097 465.11084 c +h +54.268749 455.92676 m +55.936726 457.65854 57.069202 458.93002 57.66621 459.74121 c +58.263218 460.5524 58.561718 461.34311 58.561718 462.11328 c +58.561718 462.78775 58.379429 463.30161 58.014843 463.65479 c +57.650257 464.00797 57.215042 464.18457 56.709179 464.18457 c +56.084827 464.18457 55.578972 463.9567 55.191601 463.50098 c +54.977406 463.25034 54.772331 462.86523 54.576366 462.3457 c +54.282421 462.40723 l +54.510288 463.45541 54.896515 464.18344 55.441113 464.59131 c +55.98571 464.99918 56.570179 465.20312 57.19453 465.20312 c +57.964718 465.20312 58.587921 464.96045 59.064159 464.4751 c +59.540398 463.98975 59.778515 463.39615 59.778515 462.69434 c +59.778515 461.94693 59.52103 461.2269 59.006054 460.53418 c +58.491077 459.84146 57.372272 458.60873 55.649609 456.83594 c +58.787304 456.83594 l +59.224808 456.83594 59.532421 456.88834 59.710155 456.99316 c +59.88789 457.09799 60.088409 457.35318 60.311718 457.75879 c +60.489452 457.67676 l +59.730663 455.76953 l +54.268749 455.76953 l +h +60.851757 455.76953 m +f +1 0 0 1 0.5 0.5 cm +820.75 458.25 m +813.75 458.25 l +S +67.199997 517.70001 m +74.199997 517.70001 l +S +CM +51.025097 524.56085 m +51.027374 524.54944 51.028515 524.52325 51.028515 524.48224 c +51.028515 516.25177 l +51.028515 515.90088 51.121937 515.67755 51.308788 515.58185 c +51.49564 515.48615 51.844269 515.4292 52.354687 515.41095 c +52.354687 515.21954 l +48.499218 515.21954 l +48.499218 515.42462 l +49.050652 515.45197 49.410675 515.52716 49.579296 515.65021 c +49.747917 515.77325 49.832226 516.03986 49.832226 516.45001 c +49.832226 522.78009 l +49.832226 522.99884 49.804882 523.16516 49.750195 523.27911 c +49.695507 523.39307 49.577019 523.45001 49.394726 523.45001 c +49.276237 523.45001 49.122429 523.41699 48.9333 523.35089 c +48.744171 523.28479 48.567577 523.21533 48.403515 523.1424 c +48.403515 523.3338 l +50.912304 524.61212 l +50.994335 524.61212 l +51.012566 524.58936 51.02282 524.57227 51.025097 524.56085 c +h +55.9333 516.01935 m +56.345737 515.75958 56.695507 515.6297 56.982616 515.6297 c +57.62064 515.6297 58.094593 515.84503 58.404491 516.2757 c +58.71439 516.70636 58.869335 517.17462 58.869335 517.68048 c +58.869335 518.16809 58.744011 518.5965 58.493359 518.96564 c +58.069527 519.58997 57.354042 519.90216 56.346874 519.90216 c +56.287628 519.90216 56.230663 519.901 56.175976 519.89874 c +56.121288 519.89648 56.057487 519.89075 55.98457 519.88165 c +55.970898 520.05939 l +56.700069 520.32373 57.274281 520.62677 57.693554 520.96857 c +58.112827 521.31036 58.32246 521.76154 58.32246 522.32208 c +58.32246 522.81885 58.157261 523.19708 57.826855 523.45685 c +57.496449 523.71661 57.119339 523.8465 56.695507 523.8465 c +56.194202 523.8465 55.752151 523.66193 55.369335 523.29279 c +55.159698 523.09229 54.934116 522.78235 54.692577 522.3631 c +54.480663 522.41095 l +54.662956 523.10364 55.002472 523.65735 55.499218 524.07208 c +55.995964 524.48682 56.570179 524.69415 57.221874 524.69415 c +57.919144 524.69415 58.458038 524.50275 58.838573 524.11993 c +59.219109 523.73712 59.409374 523.29504 59.409374 522.79376 c +59.409374 522.35168 59.252148 521.94611 58.937695 521.57697 c +58.75996 521.36731 58.484245 521.13263 58.110546 520.87286 c +58.54805 520.68604 58.898956 520.46729 59.16328 520.21661 c +59.660027 519.7381 59.908398 519.13196 59.908398 518.39825 c +59.908398 517.53235 59.567745 516.76904 58.886425 516.10822 c +58.205105 515.44739 57.235554 515.117 55.977734 515.117 c +55.417183 515.117 55.02412 515.2002 54.798534 515.36652 c +54.572948 515.53284 54.460155 515.71173 54.460155 515.90314 c +54.460155 516.02161 54.497753 516.13556 54.572948 516.24493 c +54.648144 516.35431 54.77005 516.409 54.938671 516.409 c +55.189323 516.409 55.520863 516.27911 55.9333 516.01935 c +h +60.851757 515.21954 m +f +1 0 0 1 0.5 0.5 cm +820.75 517.70001 m +813.75 517.70001 l +S +67.199997 577.15002 m +74.199997 577.15002 l +S +CM +51.025097 584.01086 m +51.027374 583.99945 51.028515 583.97327 51.028515 583.93225 c +51.028515 575.70178 l +51.028515 575.35089 51.121937 575.12756 51.308788 575.03186 c +51.49564 574.93616 51.844269 574.87921 52.354687 574.86096 c +52.354687 574.66956 l +48.499218 574.66956 l +48.499218 574.87463 l +49.050652 574.90198 49.410675 574.97717 49.579296 575.10022 c +49.747917 575.22327 49.832226 575.48987 49.832226 575.90002 c +49.832226 582.2301 l +49.832226 582.44885 49.804882 582.61517 49.750195 582.72913 c +49.695507 582.84308 49.577019 582.90002 49.394726 582.90002 c +49.276237 582.90002 49.122429 582.867 48.9333 582.8009 c +48.744171 582.7348 48.567577 582.66534 48.403515 582.59241 c +48.403515 582.78381 l +50.912304 584.06213 l +50.994335 584.06213 l +51.012566 584.03937 51.02282 584.02228 51.025097 584.01086 c +h +57.932812 582.65393 m +54.576366 577.90979 l +57.932812 577.90979 l +h +58.383984 584.06213 m +59.033398 584.06213 l +59.033398 577.90979 l +60.462109 577.90979 l +60.462109 577.00061 l +59.033398 577.00061 l +59.033398 574.66956 l +57.946484 574.66956 l +57.946484 577.00061 l +54.008984 577.00061 l +54.008984 577.90979 l +h +60.851757 574.66956 m +f +1 0 0 1 0.5 0.5 cm +820.75 577.15002 m +813.75 577.15002 l +S +67.199997 42 m +67.199997 49 l +S +CM +68.991989 19.873047 m +69.242638 20.606775 69.367966 21.668613 69.367966 23.058594 c +69.367966 24.166021 69.29277 25.050127 69.14238 25.710938 c +68.859825 26.941412 68.331184 27.556641 67.556442 27.556641 c +66.7817 27.556641 66.250778 26.923183 65.963669 25.65625 c +65.813278 24.981768 65.738083 24.093105 65.738083 22.990234 c +65.738083 21.955725 65.815559 21.128584 65.970505 20.508789 c +66.262177 19.351231 66.809044 18.772461 67.61113 18.772461 c +68.281052 18.772461 68.741341 19.139318 68.991989 19.873047 c +h +70.031052 26.27832 m +70.491341 25.389645 70.721481 24.36882 70.721481 23.21582 c +70.721481 22.308914 70.580208 21.454432 70.297653 20.652344 c +69.76445 19.143873 68.841606 18.389648 67.529099 18.389648 c +66.63131 18.389648 65.893036 18.797522 65.314255 19.613281 c +64.694458 20.483728 64.384567 21.666334 64.384567 23.161133 c +64.384567 24.33692 64.591919 25.348629 65.006638 26.196289 c +65.567184 27.349289 66.428505 27.925781 67.590622 27.925781 c +68.638802 27.925781 69.452271 27.376633 70.031052 26.27832 c +h +71.26152 18.519531 m +f +1 0 0 1 0.5 0.5 cm +67.199997 577.15002 m +67.199997 570.15002 l +S +174.85001 42 m +174.85001 49 l +S +CM +176.79922 27.86084 m +176.8015 27.849447 176.80264 27.823242 176.80264 27.782227 c +176.80264 19.551758 l +176.80264 19.200844 176.89607 18.977539 177.08292 18.881836 c +177.26976 18.786133 177.61839 18.729166 178.12881 18.710938 c +178.12881 18.519531 l +174.27335 18.519531 l +174.27335 18.724609 l +174.82478 18.751953 175.1848 18.827148 175.35342 18.950195 c +175.52205 19.073242 175.60635 19.339842 175.60635 19.75 c +175.60635 26.080078 l +175.60635 26.29883 175.57901 26.465168 175.52432 26.579102 c +175.46964 26.693035 175.35115 26.75 175.16885 26.75 c +175.05037 26.75 174.89656 26.716961 174.70743 26.650879 c +174.5183 26.584797 174.34171 26.515301 174.17764 26.442383 c +174.17764 26.633789 l +176.68643 27.912109 l +176.76846 27.912109 l +176.7867 27.889322 176.79695 27.872232 176.79922 27.86084 c +h +179.62589 18.519531 m +f +1 0 0 1 0.5 0.5 cm +174.85001 577.15002 m +174.85001 570.15002 l +S +282.5 42 m +282.5 49 l +S +CM +280.12549 18.676758 m +281.79346 20.408537 282.92593 21.68001 283.52295 22.491211 c +284.11996 23.302412 284.41846 24.093096 284.41846 24.863281 c +284.41846 25.537764 284.23618 26.051594 283.87158 26.404785 c +283.50699 26.757977 283.07178 26.93457 282.56592 26.93457 c +281.94156 26.93457 281.4357 26.706709 281.04834 26.250977 c +280.83414 26.000324 280.62906 25.615236 280.43311 25.095703 c +280.13916 25.157227 l +280.36703 26.205408 280.75327 26.93343 281.29785 27.341309 c +281.84244 27.749187 282.42691 27.953125 283.05127 27.953125 c +283.82144 27.953125 284.44467 27.710451 284.9209 27.225098 c +285.39713 26.739744 285.63525 26.146162 285.63525 25.444336 c +285.63525 24.696936 285.37778 23.976891 284.86279 23.28418 c +284.34781 22.591469 283.229 21.358732 281.50635 19.585938 c +284.64404 19.585938 l +285.08154 19.585938 285.38916 19.638346 285.56689 19.743164 c +285.74463 19.847982 285.94516 20.103188 286.16846 20.508789 c +286.34619 20.426758 l +285.5874 18.519531 l +280.12549 18.519531 l +h +286.7085 18.519531 m +f +1 0 0 1 0.5 0.5 cm +282.5 577.15002 m +282.5 570.15002 l +S +390.14999 42 m +390.14999 49 l +S +CM +389.53574 19.319336 m +389.94818 19.059568 390.29794 18.929688 390.58505 18.929688 c +391.22308 18.929688 391.69702 19.145018 392.00693 19.575684 c +392.31683 20.00635 392.47177 20.474607 392.47177 20.980469 c +392.47177 21.468102 392.34644 21.896482 392.09579 22.265625 c +391.67197 22.889977 390.95648 23.202148 389.94931 23.202148 c +389.89008 23.202148 389.8331 23.20101 389.77841 23.19873 c +389.72372 23.196451 389.65991 23.190756 389.58701 23.181641 c +389.57333 23.359375 l +390.30249 23.623699 390.87671 23.926756 391.29599 24.268555 c +391.71527 24.610353 391.9249 25.061522 391.9249 25.62207 c +391.9249 26.118818 391.7597 26.497068 391.42929 26.756836 c +391.09888 27.016603 390.72177 27.146484 390.29794 27.146484 c +389.79663 27.146484 389.35458 26.961916 388.97177 26.592773 c +388.76215 26.392252 388.53656 26.082359 388.29501 25.663086 c +388.0831 25.710938 l +388.26538 26.403648 388.60492 26.957355 389.10165 27.37207 c +389.59839 27.786785 390.17261 27.994141 390.82431 27.994141 c +391.52158 27.994141 392.06049 27.802736 392.44101 27.419922 c +392.82153 27.037107 393.01181 26.595055 393.01181 26.09375 c +393.01181 25.651691 392.85458 25.246096 392.54013 24.876953 c +392.3624 24.667316 392.08667 24.432619 391.71298 24.172852 c +392.15048 23.986002 392.5014 23.767254 392.76572 23.516602 c +393.26245 23.038084 393.51083 22.431971 393.51083 21.698242 c +393.51083 20.832352 393.17017 20.069014 392.48886 19.408203 c +391.80756 18.747393 390.83798 18.416992 389.58017 18.416992 c +389.01962 18.416992 388.62656 18.500162 388.40097 18.666504 c +388.17538 18.832846 388.06259 19.011717 388.06259 19.203125 c +388.06259 19.321615 388.10019 19.435547 388.17538 19.544922 c +388.25058 19.654297 388.3725 19.708984 388.54111 19.708984 c +388.79175 19.708984 389.12329 19.579103 389.53574 19.319336 c +h +394.45419 18.519531 m +f +1 0 0 1 0.5 0.5 cm +390.14999 577.15002 m +390.14999 570.15002 l +S +497.79999 42 m +497.79999 49 l +S +CM +499.15448 26.503906 m +495.79803 21.759766 l +499.15448 21.759766 l +h +499.60565 27.912109 m +500.25507 27.912109 l +500.25507 21.759766 l +501.68378 21.759766 l +501.68378 20.850586 l +500.25507 20.850586 l +500.25507 18.519531 l +499.16815 18.519531 l +499.16815 20.850586 l +495.23065 20.850586 l +495.23065 21.759766 l +h +502.07343 18.519531 m +f +1 0 0 1 0.5 0.5 cm +497.79999 577.15002 m +497.79999 570.15002 l +S +605.45001 42 m +605.45001 49 l +S +CM +604.74005 19.32959 m +605.16162 19.035643 605.48633 18.888672 605.71417 18.888672 c +606.23828 18.888672 606.69629 19.119951 607.0882 19.58252 c +607.4801 20.045088 607.67609 20.613604 607.67609 21.288086 c +607.67609 22.46843 607.04718 23.318357 605.78937 23.837891 c +605.0921 24.125002 604.44269 24.268555 603.84113 24.268555 c +603.74084 24.268555 603.67822 24.271973 603.65314 24.278809 c +603.62805 24.285645 603.59729 24.30957 603.56085 24.350586 c +603.56995 24.387045 603.57794 24.417807 603.58478 24.442871 c +603.59161 24.467936 603.59961 24.491861 603.6087 24.514648 c +605.09894 27.782227 l +608.03156 27.782227 l +608.17737 27.782227 608.29016 27.807291 608.36993 27.857422 c +608.44971 27.907553 608.55334 28.000977 608.68097 28.137695 c +608.79034 28.041992 l +608.25714 26.777344 l +608.23889 26.736328 608.18878 26.710123 608.10675 26.69873 c +608.02472 26.687338 607.93585 26.681641 607.84015 26.681641 c +605.19464 26.681641 l +604.61359 25.485352 l +605.36096 25.357746 605.90784 25.23698 606.25421 25.123047 c +606.82385 24.931639 607.30011 24.64909 607.68292 24.275391 c +608.01105 23.95182 608.2594 23.588381 608.42804 23.185059 c +608.59668 22.781736 608.68097 22.354494 608.68097 21.90332 c +608.68097 20.896154 608.32208 20.055342 607.60431 19.380859 c +606.88654 18.706377 605.97852 18.369141 604.88019 18.369141 c +604.43359 18.369141 604.07355 18.412434 603.80011 18.499023 c +603.34436 18.640301 603.11652 18.893227 603.11652 19.257812 c +603.11652 19.394531 603.16553 19.51416 603.26349 19.616699 c +603.36145 19.719238 603.513 19.770508 603.71808 19.770508 c +603.97784 19.770508 604.31848 19.623537 604.74005 19.32959 c +h +609.67218 18.519531 m +f +1 0 0 1 0.5 0.5 cm +605.45001 577.15002 m +605.45001 570.15002 l +S +713.09998 42 m +713.09998 49 l +S +CM +716.08484 19.374023 m +715.54938 18.704098 714.85321 18.369141 713.99646 18.369141 c +713.1944 18.369141 712.46405 18.745113 711.80554 19.49707 c +711.14703 20.249027 710.81775 21.249342 710.81775 22.498047 c +710.81775 24.106779 711.45575 25.487625 712.73181 26.640625 c +713.87115 27.606775 715.15173 28.089844 716.57361 28.089844 c +716.60779 27.864258 l +716.03815 27.759439 715.54706 27.617025 715.13464 27.437012 c +714.72223 27.256998 714.35419 27.005211 714.03064 26.681641 c +713.69794 26.353514 713.3858 25.936525 713.09412 25.430664 c +712.80243 24.924803 712.60193 24.423506 712.49255 23.926758 c +712.77509 24.099936 713.01892 24.227539 713.224 24.30957 c +713.58856 24.455404 713.95544 24.52832 714.32458 24.52832 c +715.04919 24.52832 715.65759 24.277672 716.14978 23.776367 c +716.64197 23.275063 716.88806 22.559574 716.88806 21.629883 c +716.88806 20.795895 716.6203 20.043949 716.08484 19.374023 c +h +715.34998 22.716797 m +715.03094 23.500654 714.48865 23.892578 713.72302 23.892578 c +713.01666 23.892578 712.54724 23.682945 712.31482 23.263672 c +712.1781 23.017576 712.10974 22.607426 712.10974 22.033203 c +712.10974 21.290361 712.26813 20.56348 712.58484 19.852539 c +712.90155 19.141598 713.40173 18.786133 714.08533 18.786133 c +714.62762 18.786133 715.02185 19.017412 715.26794 19.47998 c +715.51404 19.942549 715.63708 20.483721 715.63708 21.103516 c +715.63708 21.709639 715.54138 22.247393 715.34998 22.716797 c +h +717.33923 18.519531 m +f +1 0 0 1 0.5 0.5 cm +713.09998 577.15002 m +713.09998 570.15002 l +S +820.75 42 m +820.75 49 l +S +CM +824.16895 27.782227 m +824.16895 27.556641 l +821.20215 18.389648 l +820.2998 18.389648 l +823.06836 26.75 l +820.08789 26.75 l +819.64581 26.75 819.32794 26.677084 819.13428 26.53125 c +818.94061 26.385416 818.69562 26.08008 818.39941 25.615234 c +818.16016 25.724609 l +818.45636 26.453779 818.63983 26.903809 818.71045 27.074707 c +818.78107 27.245605 818.87335 27.481443 818.9873 27.782227 c +h +824.88672 18.519531 m +f +1 0 0 1 0.5 0.5 cm +820.75 577.15002 m +820.75 570.15002 l +S +CM +8.9177732 299.06464 m +8.9177732 302.01093 l +9.2527342 302.01093 l +9.2527342 300.76678 l +9.2527342 300.49335 9.3393221 300.30878 9.5124998 300.21307 c +9.6036463 300.15839 9.7289705 300.13104 9.8884764 300.13104 c +19.301563 300.13104 l +19.511198 300.13104 19.666145 300.16068 19.766407 300.21991 c +19.944141 300.32016 20.033009 300.5184 20.033009 300.81464 c +20.033009 302.01093 l +20.388477 302.01093 l +20.388477 299.06464 l +h +18.002735 302.72186 m +17.970833 303.07733 17.911589 303.3143 17.825001 303.4328 c +17.692837 303.61508 17.428518 303.70624 17.032032 303.70624 c +13.497851 303.70624 l +13.16061 303.70624 12.939584 303.6618 12.834765 303.57294 c +12.729947 303.48407 12.677539 303.3371 12.677539 303.13202 c +12.677539 303.03632 12.682096 302.96454 12.691211 302.91669 c +12.700325 302.86884 12.716276 302.81302 12.739062 302.74921 c +12.499804 302.74921 l +12.335742 303.24139 l +12.276497 303.41913 12.169401 303.71078 12.014453 304.11639 c +11.859505 304.522 11.782031 304.73618 11.782031 304.75897 c +11.782031 304.78177 11.793425 304.79544 11.816211 304.79999 c +11.838997 304.80453 11.882291 304.80682 11.946094 304.80682 c +12.868945 304.80682 l +12.458787 305.258 12.175098 305.64764 12.017871 305.97577 c +11.860643 306.30389 11.782031 306.64114 11.782031 306.98749 c +11.782031 307.45688 11.941535 307.8306 12.260547 308.10858 c +12.433724 308.25443 12.668423 308.37518 12.964648 308.47089 c +12.622849 308.80814 12.369923 309.10208 12.205859 309.35272 c +11.923306 309.78568 11.782031 310.22772 11.782031 310.67889 c +11.782031 311.41263 12.080531 311.90253 12.677539 312.14862 c +13.01478 312.28989 13.547978 312.36053 14.277148 312.36053 c +17.114063 312.36053 l +17.437632 312.36053 17.657518 312.43231 17.773731 312.57587 c +17.889942 312.71942 17.966276 312.97806 18.002735 313.35175 c +18.18047 313.35175 l +18.18047 310.26874 l +17.989063 310.26874 l +17.952604 310.66522 17.872852 310.92612 17.749805 311.05145 c +17.626757 311.17679 17.376108 311.23944 16.997852 311.23944 c +14.051562 311.23944 l +13.609503 311.23944 13.28366 311.19159 13.074023 311.09589 c +12.700323 310.92728 12.513476 310.59686 12.513476 310.10468 c +12.513476 309.80844 12.611457 309.5145 12.807422 309.22284 c +12.921354 309.05423 13.103644 308.84686 13.354297 308.60077 c +16.854298 308.60077 l +17.223438 308.60077 17.50371 308.66571 17.695118 308.79559 c +17.886524 308.92548 17.989061 309.20004 18.002735 309.61932 c +18.18047 309.61932 l +18.18047 306.48163 l +18.002735 306.48163 l +17.948046 306.91458 17.843229 307.19028 17.688282 307.30878 c +17.533333 307.42728 17.152802 307.48651 16.54668 307.48651 c +14.632617 307.48651 l +13.930791 307.48651 13.447722 307.44095 13.183398 307.34979 c +12.736781 307.1994 12.513476 306.8804 12.513476 306.39276 c +12.513476 306.11478 12.58981 305.84134 12.74248 305.57245 c +12.89515 305.30356 13.09453 305.06659 13.340625 304.86151 c +17.079884 304.86151 l +17.426239 304.86151 17.665493 304.92191 17.797657 305.04266 c +17.929819 305.16342 17.998177 305.42661 18.002735 305.83221 c +18.18047 305.83221 l +18.18047 302.72186 l +h +16.027149 314.11053 m +16.027149 314.33612 l +16.546682 314.44095 16.94544 314.58221 17.223438 314.75995 c +17.733856 315.07895 17.989063 315.54608 17.989063 316.16132 c +17.989063 316.50311 17.894499 316.77313 17.705372 316.97137 c +17.516243 317.16962 17.27129 317.26874 16.970509 317.26874 c +16.7791 317.26874 16.594532 317.21176 16.416798 317.09784 c +16.239061 316.98392 16.065886 316.78339 15.897265 316.49628 c +15.459765 315.73065 l +15.158982 315.1701 14.855926 314.75766 14.550586 314.49335 c +14.245246 314.22903 13.885223 314.09686 13.470508 314.09686 c +12.960089 314.09686 12.540822 314.27914 12.212695 314.64374 c +11.884568 315.00833 11.720508 315.46634 11.720508 316.01776 c +11.720508 316.25931 11.76608 316.52475 11.857226 316.81415 c +11.948373 317.10355 11.993945 317.26645 11.993945 317.30292 c +11.993945 317.38495 11.982552 317.44418 11.959765 317.48065 c +11.936979 317.51712 11.900521 317.54901 11.85039 317.57635 c +11.85039 317.74042 l +13.757617 317.78827 l +13.757617 317.57635 l +13.315557 317.4852 12.971485 317.36215 12.72539 317.20721 c +12.269659 316.92465 12.041797 316.51678 12.041797 315.98358 c +12.041797 315.66458 12.139777 315.41391 12.335742 315.23163 c +12.531707 315.04935 12.761847 314.95819 13.026172 314.95819 c +13.445445 314.95819 13.819139 315.27264 14.147265 315.90155 c +14.632617 316.80389 l +15.161265 317.7746 15.776494 318.25995 16.478321 318.25995 c +17.016083 318.25995 17.455858 318.05829 17.797657 317.65497 c +18.139454 317.25165 18.310352 316.72415 18.310352 316.07245 c +18.310352 315.79901 18.264778 315.48911 18.173634 315.14276 c +18.082487 314.79642 18.036915 314.59134 18.036915 314.52753 c +18.036915 314.47284 18.056282 314.42499 18.09502 314.38397 c +18.133757 314.34296 18.180468 314.31107 18.235157 314.28827 c +18.235157 314.11053 l +h +20.388477 322.25214 m +20.388477 319.29901 l +20.04668 319.29901 l +20.04668 320.54999 l +20.04668 320.81888 19.96237 321.00345 19.793751 321.1037 c +19.702604 321.15384 19.57728 321.17889 19.417774 321.17889 c +9.9978514 321.17889 l +9.7745428 321.17889 9.59795 321.13446 9.4680662 321.04559 c +9.3381824 320.95673 9.273242 320.77557 9.273242 320.50214 c +9.273242 319.29901 l +8.9177732 319.29901 l +8.9177732 322.25214 l +h +18.18047 323.49628 m +f +1 0 0 1 0.5 0.5 cm +67.199997 577.15002 m +67.199997 42 l +820.75 42 l +820.75 577.15002 l +67.199997 577.15002 l +h +67.199997 577.15002 m +S +CM +666.96564 557.36096 m +667.44873 557.38373 667.7666 557.47375 667.91925 557.63098 c +668.0719 557.78821 668.14825 558.11975 668.14825 558.62561 c +668.14825 563.01428 l +666.97931 563.01428 l +666.97931 563.47229 l +668.14825 563.47229 l +668.14825 564.19232 668.24622 564.80072 668.4422 565.29749 c +668.81592 566.24994 669.50177 566.7262 670.49982 566.7262 c +670.90088 566.7262 671.25977 566.64642 671.57648 566.48694 c +671.89319 566.32745 672.05157 566.11322 672.05157 565.84436 c +672.05157 565.69397 671.99689 565.55951 671.88751 565.44104 c +671.77814 565.32257 671.646 565.26331 671.49103 565.26331 c +671.35889 565.26331 671.24493 565.30316 671.14923 565.38293 c +671.05353 565.46271 670.93958 565.60284 670.80743 565.80334 c +670.69122 565.98108 l +670.62744 566.07678 670.55225 566.15765 670.46564 566.22375 c +670.37903 566.28986 670.2583 566.32288 670.10333 566.32288 c +669.75696 566.32288 669.52228 566.15198 669.39923 565.81018 c +669.33087 565.62787 669.29669 565.38861 669.29669 565.09241 c +669.29669 563.47229 l +671.01251 563.47229 l +671.01251 563.01428 l +669.31036 563.01428 l +669.31036 558.62561 l +669.31036 558.11066 669.37988 557.78137 669.51886 557.63782 c +669.65784 557.49426 670.0213 557.40198 670.60919 557.36096 c +670.60919 557.16956 l +666.96564 557.16956 l +h +672.57452 562.64172 m +673.151 563.26837 673.8927 563.58167 674.79962 563.58167 c +675.70197 563.58167 676.44934 563.28546 677.04181 562.69299 c +677.63428 562.10052 677.93048 561.31213 677.93048 560.32776 c +677.93048 559.42084 677.64337 558.63245 677.06915 557.96252 c +676.49493 557.2926 675.75208 556.95764 674.84064 556.95764 c +673.96564 556.95764 673.2251 557.27893 672.61896 557.92151 c +672.01282 558.56409 671.70978 559.37073 671.70978 560.34143 c +671.70978 561.24835 671.99805 562.01508 672.57452 562.64172 c +h +673.67169 562.81604 m +673.21594 562.40131 672.9881 561.68585 672.9881 560.66956 c +672.9881 559.85834 673.17151 559.10187 673.53839 558.40002 c +673.90527 557.69818 674.41455 557.34729 675.06622 557.34729 c +675.57666 557.34729 675.96973 557.58197 676.24542 558.05139 c +676.52112 558.52081 676.659 559.13605 676.659 559.89709 c +676.659 560.68549 676.48352 561.42834 676.13263 562.12561 c +675.78174 562.82288 675.27356 563.17151 674.60822 563.17151 c +674.24817 563.17151 673.93604 563.05304 673.67169 562.81604 c +h +683.30695 563.17493 m +683.71936 562.88098 683.9256 562.55853 683.9256 562.20764 c +683.9256 562.05725 683.87317 561.91711 683.76837 561.78723 c +683.66357 561.65735 683.50177 561.59241 683.28302 561.59241 c +683.12354 561.59241 682.9834 561.64709 682.86261 561.75647 c +682.74182 561.86584 682.65411 562.02533 682.59943 562.23499 c +682.5174 562.56311 l +682.45813 562.80463 682.35559 562.97552 682.20978 563.07581 c +682.05939 563.17151 681.86115 563.21936 681.61505 563.21936 c +681.09552 563.21936 680.65686 562.99261 680.29913 562.53918 c +679.94141 562.08575 679.76251 561.48303 679.76251 560.73108 c +679.76251 560.04291 679.95959 559.42542 680.35382 558.87854 c +680.74805 558.33167 681.28009 558.05823 681.95001 558.05823 c +682.42395 558.05823 682.84552 558.2132 683.21466 558.52307 c +683.42432 558.70081 683.66125 558.98334 683.9256 559.37073 c +684.117 559.25452 l +683.85724 558.70764 683.5838 558.27472 683.29669 557.95569 c +682.74524 557.34503 682.10724 557.03967 681.38263 557.03967 c +680.67169 557.03967 680.04279 557.31995 679.49591 557.88049 c +678.94904 558.44104 678.6756 559.20209 678.6756 560.1637 c +678.6756 561.10706 678.97412 561.91827 679.57111 562.59729 c +680.16809 563.27631 680.92236 563.61584 681.8338 563.61584 c +682.40344 563.61584 682.89453 563.46887 683.30695 563.17493 c +h +686.73517 563.49963 m +686.73517 559.12463 l +686.73517 558.81476 686.77844 558.56635 686.86505 558.37952 c +687.03369 558.03314 687.34357 557.85999 687.79474 557.85999 c +688.10461 557.85999 688.40771 557.96252 688.70392 558.1676 c +688.87256 558.28156 689.04346 558.43878 689.21661 558.63928 c +689.21661 562.38538 l +689.21661 562.73627 689.14825 562.96643 689.01154 563.07581 c +688.87482 563.18518 688.60138 563.25128 688.19122 563.27405 c +688.19122 563.49963 l +690.39923 563.49963 l +690.39923 558.68713 l +690.39923 558.37726 690.45508 558.16418 690.56671 558.04797 c +690.67834 557.93176 690.91418 557.88049 691.27423 557.89417 c +691.27423 557.70276 l +691.02356 557.6344 690.83899 557.58313 690.72052 557.54895 c +690.60205 557.51477 690.40381 557.45209 690.12579 557.36096 c +690.00732 557.31995 689.74756 557.22198 689.3465 557.06702 c +689.32373 557.06702 689.31006 557.07727 689.30548 557.09778 c +689.3009 557.11829 689.29865 557.14221 689.29865 557.16956 c +689.29865 558.27014 l +688.98877 557.901 688.70618 557.62756 688.45099 557.44983 c +688.0636 557.17639 687.65344 557.03967 687.22052 557.03967 c +686.82404 557.03967 686.45032 557.18097 686.09943 557.4635 c +685.74396 557.74152 685.56622 558.20862 685.56622 558.86487 c +685.56622 562.41272 l +685.56622 562.77728 685.48877 563.02112 685.3338 563.14417 c +685.23352 563.22162 685.01935 563.27631 684.69122 563.30823 c +684.69122 563.49963 l +h +692.29279 559.32288 m +692.51837 559.32288 l +692.62317 558.80334 692.76447 558.4046 692.9422 558.12659 c +693.26123 557.61615 693.72833 557.36096 694.34357 557.36096 c +694.68536 557.36096 694.95538 557.45551 695.15363 557.64465 c +695.35187 557.8338 695.45099 558.07874 695.45099 558.37952 c +695.45099 558.57092 695.39404 558.75549 695.28009 558.93323 c +695.16614 559.11096 694.96564 559.28412 694.67853 559.45276 c +693.9129 559.89026 l +693.35236 560.19104 692.93994 560.49408 692.6756 560.79944 c +692.41125 561.1048 692.27911 561.46478 692.27911 561.87952 c +692.27911 562.38995 692.46143 562.8092 692.82599 563.13733 c +693.19055 563.46545 693.64856 563.62952 694.20001 563.62952 c +694.44153 563.62952 694.70703 563.58392 694.9964 563.4928 c +695.28577 563.40167 695.44873 563.35608 695.48517 563.35608 c +695.5672 563.35608 695.62646 563.36749 695.6629 563.39026 c +695.69934 563.41302 695.73126 563.44952 695.75861 563.49963 c +695.92267 563.49963 l +695.97052 561.59241 l +695.75861 561.59241 l +695.66748 562.03448 695.54443 562.37854 695.38947 562.62463 c +695.10693 563.08038 694.69904 563.30823 694.16583 563.30823 c +693.8468 563.30823 693.59619 563.21027 693.41388 563.01428 c +693.23157 562.8183 693.14044 562.5882 693.14044 562.32385 c +693.14044 561.9046 693.4549 561.53088 694.0838 561.20276 c +694.98615 560.71741 l +695.95685 560.18878 696.4422 559.57355 696.4422 558.8717 c +696.4422 558.33392 696.24054 557.89417 695.83722 557.55237 c +695.4339 557.21057 694.90637 557.03967 694.2547 557.03967 c +693.98126 557.03967 693.67139 557.08527 693.32501 557.17639 c +692.97864 557.26752 692.77356 557.31311 692.70978 557.31311 c +692.65509 557.31311 692.60724 557.29376 692.56622 557.255 c +692.52521 557.21625 692.49329 557.16956 692.47052 557.11487 c +692.29279 557.11487 l +h +701.91095 562.91516 m +702.39404 562.47083 702.63556 561.84076 702.63556 561.02502 c +698.29474 561.02502 l +698.34033 559.96771 698.57959 559.19757 699.01251 558.71448 c +699.44543 558.23138 699.95813 557.98987 700.5506 557.98987 c +701.02911 557.98987 701.43243 558.11517 701.76056 558.36584 c +702.08868 558.61652 702.39172 558.97198 702.66974 559.43225 c +702.909 559.35022 l +702.72217 558.77142 702.37238 558.23596 701.85968 557.74377 c +701.34698 557.25159 700.71924 557.00549 699.97638 557.00549 c +699.11963 557.00549 698.45764 557.32904 697.99054 557.9762 c +697.52344 558.62335 697.28986 559.36847 697.28986 560.21155 c +697.28986 561.12756 697.56104 561.91827 698.10333 562.58362 c +698.64563 563.24896 699.35205 563.58167 700.22247 563.58167 c +700.86505 563.58167 701.42786 563.3595 701.91095 562.91516 c +h +698.63654 562.39221 m +698.49072 562.14612 698.38586 561.83624 698.32208 561.46252 c +701.20685 561.46252 l +701.15674 561.91827 701.07013 562.25775 700.94708 562.48108 c +700.72375 562.88214 700.3501 563.08264 699.82599 563.08264 c +699.30646 563.08264 698.90997 562.85248 698.63654 562.39221 c +h +707.46173 563.41077 m +707.64404 563.31506 707.81946 563.18292 707.9881 563.01428 c +707.9881 565.18811 l +707.9881 565.46613 707.95734 565.65753 707.89581 565.76233 c +707.83429 565.86713 707.68732 565.91956 707.4549 565.91956 c +707.40021 565.91956 707.35236 565.9173 707.31134 565.91272 c +707.27032 565.90814 707.1792 565.89905 707.0379 565.88538 c +707.0379 566.11096 l +707.59845 566.25452 l +707.80353 566.3092 708.00861 566.36615 708.21368 566.42542 c +708.41876 566.48468 708.59875 566.54163 708.75372 566.59631 c +708.82666 566.61908 708.94739 566.66241 709.11603 566.7262 c +709.15704 566.71252 l +709.14337 565.99475 l +709.13879 565.73499 709.13428 565.46722 709.1297 565.19153 c +709.12512 564.91583 709.12286 564.64349 709.12286 564.37463 c +709.10919 558.78967 l +709.10919 558.49347 709.14563 558.28607 709.21857 558.1676 c +709.2915 558.04913 709.48517 557.98987 709.79962 557.98987 c +709.84973 557.98987 709.8999 557.99103 709.95001 557.99329 c +710.00012 557.99554 710.05029 558.00128 710.1004 558.01038 c +710.1004 557.78479 l +710.07306 557.7757 709.74268 557.66174 709.10919 557.44299 c +708.03595 557.03967 l +707.9881 557.1012 l +707.9881 557.94202 l +707.73291 557.664 707.51184 557.46576 707.32501 557.34729 c +706.99231 557.14221 706.60724 557.03967 706.16974 557.03967 c +705.39502 557.03967 704.76721 557.33929 704.28644 557.9386 c +703.80566 558.5379 703.56525 559.23175 703.56525 560.02014 c +703.56525 561.00909 703.85352 561.85785 704.42999 562.56653 c +705.00647 563.27521 705.71173 563.62952 706.54572 563.62952 c +706.87842 563.62952 707.18372 563.55658 707.46173 563.41077 c +h +707.65997 558.09241 m +707.87872 558.30206 707.9881 558.50031 707.9881 558.68713 c +707.9881 561.61975 l +707.9881 562.21222 707.82971 562.63031 707.513 562.87415 c +707.19629 563.11798 706.88751 563.23987 706.58673 563.23987 c +706.01251 563.23987 705.56592 562.98578 705.24689 562.47766 c +704.92786 561.96954 704.76837 561.34406 704.76837 560.6012 c +704.76837 559.86749 704.93811 559.2135 705.27765 558.63928 c +705.61719 558.06506 706.12415 557.77795 706.79865 557.77795 c +707.15411 557.77795 707.44122 557.88275 707.65997 558.09241 c +h +715.79474 564.85999 m +716.37805 565.59369 717.06622 566.1839 717.85919 566.63049 c +717.98907 566.40491 l +717.25537 565.82159 716.73126 565.25421 716.41681 564.70276 c +715.86536 563.74115 715.58966 562.46057 715.58966 560.86096 c +715.58966 559.67609 715.69446 558.69855 715.90411 557.92834 c +716.27325 556.57941 716.96826 555.56995 717.98907 554.90002 c +717.81134 554.67444 l +717.25079 554.9433 716.64465 555.46967 715.99298 556.25354 c +714.9129 557.55237 714.37286 559.02893 714.37286 560.68323 c +714.37286 562.26917 714.8468 563.66144 715.79474 564.85999 c +h +718.64532 557.42249 m +719.21497 557.46808 719.56818 557.56946 719.7049 557.72668 c +719.84161 557.88391 719.90997 558.25873 719.90997 558.8512 c +719.90997 564.91467 l +719.90997 565.42053 719.83362 565.7475 719.68097 565.89563 c +719.52832 566.04376 719.18311 566.13605 718.64532 566.17249 c +718.64532 566.43225 l +722.63751 566.43225 l +722.63751 566.17249 l +722.09064 566.14514 721.73743 566.05402 721.57794 565.89905 c +721.41846 565.74408 721.33868 565.41595 721.33868 564.91467 c +721.33868 562.04358 l +722.20001 562.77728 722.90411 563.40167 723.45099 563.91663 c +724.43079 564.85089 724.92072 565.45013 724.92072 565.71448 c +724.92072 565.90131 724.83752 566.02435 724.6712 566.08362 c +724.50488 566.14288 724.26904 566.17249 723.96368 566.17249 c +723.96368 566.43225 l +727.62775 566.43225 l +727.62775 566.20667 l +727.18115 566.16107 726.8291 566.0722 726.57159 565.94006 c +726.31409 565.80792 725.95752 565.51849 725.50177 565.0719 c +722.84259 562.46741 l +726.10333 558.9469 l +726.70947 558.29523 727.12189 557.88849 727.34064 557.72668 c +727.55939 557.56488 727.88068 557.45892 728.3045 557.40881 c +728.3045 557.16956 l +724.02521 557.16956 l +724.02521 557.42249 l +724.4126 557.43616 724.67462 557.46692 724.81134 557.51477 c +724.94806 557.56262 725.01642 557.65717 725.01642 557.79846 c +725.01642 557.87592 724.97198 557.99445 724.88312 558.15393 c +724.79425 558.31342 724.65411 558.49799 724.46271 558.70764 c +721.81036 561.61975 l +721.33868 561.21643 l +721.33868 558.68713 l +721.33868 558.1676 721.4173 557.83832 721.57452 557.69934 c +721.73175 557.56036 722.07471 557.46808 722.60333 557.42249 c +722.60333 557.16956 l +718.64532 557.16956 l +h +732.45392 566.43225 m +732.45392 566.17249 l +732.10303 566.16791 731.86377 566.14514 731.73615 566.10413 c +731.51282 566.03119 731.40118 565.88312 731.40118 565.65979 c +731.40118 565.54584 731.44104 565.38635 731.52081 565.18127 c +731.60059 564.9762 731.74982 564.63214 731.96857 564.14905 c +734.15607 559.27502 l +736.14532 564.55237 l +736.23193 564.78479 736.29797 564.98077 736.34357 565.14026 c +736.38916 565.29974 736.41193 565.42963 736.41193 565.52991 c +736.41193 565.79877 736.29572 565.98108 736.06329 566.07678 c +735.92657 566.13147 735.70099 566.16339 735.38654 566.17249 c +735.38654 566.43225 l +738.25079 566.43225 l +738.25079 566.19299 l +737.95459 566.15198 737.73584 566.0722 737.59454 565.95374 c +737.38037 565.776 737.16846 565.41827 736.9588 564.88049 c +733.86212 557.00549 l +733.65021 557.00549 l +730.19806 564.70276 l +729.90637 565.35443 729.67285 565.76007 729.49738 565.91956 c +729.3219 566.07904 729.06555 566.17023 728.72833 566.19299 c +728.72833 566.43225 l +h +738.77032 557.42249 m +739.34912 557.48175 739.72052 557.61273 739.88458 557.81555 c +740.04865 558.01837 740.13068 558.48889 740.13068 559.22717 c +740.13068 564.91467 l +740.13068 565.42053 740.0509 565.74982 739.89142 565.90247 c +739.73193 566.05511 739.36963 566.14514 738.8045 566.17249 c +738.8045 566.43225 l +741.57306 566.43225 l +744.81329 559.37073 l +747.90997 566.43225 l +750.69904 566.43225 l +750.69904 566.17249 l +750.1795 566.13605 749.84454 566.04144 749.69415 565.88879 c +749.54376 565.73615 749.46857 565.41144 749.46857 564.91467 c +749.46857 558.68713 l +749.46857 558.1767 749.54376 557.84973 749.69415 557.70618 c +749.84454 557.56262 750.1795 557.46808 750.69904 557.42249 c +750.69904 557.16956 l +746.77521 557.16956 l +746.77521 557.42249 l +747.34033 557.46808 747.69238 557.56946 747.83136 557.72668 c +747.97034 557.88391 748.03986 558.25873 748.03986 558.8512 c +748.03986 565.14026 l +744.45782 557.16956 l +744.26642 557.16956 l +740.74591 564.81213 l +740.74591 559.22717 l +740.74591 558.46155 740.85754 557.96252 741.08087 557.7301 c +741.22668 557.57971 741.55255 557.47717 742.05841 557.42249 c +742.05841 557.16956 l +738.77032 557.16956 l +h +754.78009 558.68713 m +754.60236 558.08099 754.34259 557.50909 754.00079 556.97131 c +753.64075 556.39709 753.15997 555.86163 752.55841 555.36487 c +752.16193 555.03674 751.82922 554.80658 751.56036 554.67444 c +751.43048 554.90002 l +752.13232 555.43323 752.64502 555.97784 752.96857 556.53381 c +753.54279 557.51819 753.8299 558.81927 753.8299 560.43713 c +753.8299 561.74506 753.69775 562.81378 753.43341 563.64319 c +753.06427 564.81439 752.39661 565.73499 751.43048 566.40491 c +751.60822 566.63049 l +752.32825 566.22943 752.99817 565.62335 753.61798 564.81213 c +754.57043 563.56342 755.04669 562.16437 755.04669 560.61487 c +755.04669 559.93585 754.95782 559.29327 754.78009 558.68713 c +h +755.72345 557.16956 m +f +1 0 0 sc +1 0 0 1 0.5 0.5 cm +763.34998 554.40002 m +803.95001 554.40002 l +803.95001 564.90002 l +763.34998 564.90002 l +h +763.34998 554.40002 m +S +CM +763.84998 554.90002 m +804.45001 554.90002 l +804.45001 565.40002 l +763.84998 565.40002 l +h +763.84998 554.90002 m +f +1 0 0 1 0.5 0.5 cm +763.34998 554.40002 m +803.95001 554.40002 l +803.95001 564.90002 l +763.34998 564.90002 l +763.34998 554.40002 l +h +763.34998 554.40002 m +S +161.39999 42 m +188.35001 42 l +188.35001 210.89999 l +161.39999 210.89999 l +h +161.39999 42 m +S +CM +161.89999 42.5 m +188.85001 42.5 l +188.85001 211.39999 l +161.89999 211.39999 l +h +161.89999 42.5 m +f +1 0 0 1 0.5 0.5 cm +161.39999 42 m +161.39999 210.85001 l +188.3 210.85001 l +188.3 42 l +161.39999 42 l +h +161.39999 42 m +S +0 0 0 sc +CM +678.18341 544.86487 m +678.18341 545.09729 l +678.70294 545.21576 679.17004 545.34796 679.58478 545.49377 c +679.99951 545.63959 680.22278 545.71252 680.2547 545.71252 c +680.26379 545.68518 680.26837 545.65784 680.26837 545.63049 c +680.26837 541.46741 l +680.38684 541.68616 680.56458 541.89349 680.80157 542.08948 c +681.22083 542.43127 681.70392 542.60217 682.25079 542.60217 c +682.92072 542.60217 683.49268 542.31964 683.96661 541.75452 c +684.44055 541.18939 684.67755 540.45569 684.67755 539.55334 c +684.67755 538.58722 684.36993 537.76007 683.7547 537.0719 c +683.13947 536.38373 682.33057 536.03967 681.32794 536.03967 c +680.82208 536.03967 680.32532 536.13995 679.83771 536.34045 c +679.3501 536.54095 679.10626 536.74152 679.10626 536.94202 c +679.10626 544.1676 l +679.10626 544.43195 679.06982 544.61993 678.99689 544.73157 c +678.92395 544.8432 678.75537 544.89905 678.49103 544.89905 c +h +680.77423 536.65833 m +681.08868 536.55579 681.36438 536.50452 681.60138 536.50452 c +682.23938 536.50452 682.71222 536.74377 683.01984 537.22229 c +683.32745 537.70081 683.48126 538.2796 683.48126 538.95862 c +683.48126 539.63763 683.33771 540.26544 683.0506 540.84192 c +682.76349 541.4184 682.29865 541.70667 681.65607 541.70667 c +681.33252 541.70667 681.01575 541.60754 680.70587 541.4093 c +680.396 541.21106 680.24103 540.95929 680.24103 540.65393 c +680.24103 537.1676 l +680.28204 536.9306 680.45978 536.76086 680.77423 536.65833 c +h +686.48907 545.50061 m +686.62579 545.64191 686.79443 545.71252 686.99493 545.71252 c +687.19092 545.71252 687.3584 545.64301 687.49738 545.50403 c +687.63635 545.36505 687.70587 545.19525 687.70587 544.99475 c +687.70587 544.79877 687.63635 544.63129 687.49738 544.49231 c +687.3584 544.35333 687.19092 544.28381 686.99493 544.28381 c +686.79443 544.28381 686.62579 544.35333 686.48907 544.49231 c +686.35236 544.63129 686.284 544.79877 686.284 544.99475 c +686.284 545.19073 686.35236 545.35931 686.48907 545.50061 c +h +685.409 536.36096 m +685.89661 536.40656 686.20422 536.48969 686.33185 536.61047 c +686.45947 536.73126 686.52325 537.05823 686.52325 537.59143 c +686.52325 540.85217 l +686.52325 541.14838 686.50275 541.35345 686.46173 541.46741 c +686.39337 541.65424 686.24982 541.74768 686.03107 541.74768 c +685.98096 541.74768 685.93195 541.7431 685.88409 541.73401 c +685.83624 541.72491 685.69836 541.68842 685.47052 541.62463 c +685.47052 541.83655 l +685.76447 541.93225 l +686.56201 542.19202 687.11798 542.388 687.43243 542.52014 c +687.56006 542.57483 687.64209 542.60217 687.67853 542.60217 c +687.68762 542.57025 687.6922 542.53607 687.6922 542.49963 c +687.6922 537.59143 l +687.6922 537.0719 687.75488 536.74603 687.88019 536.61389 c +688.00549 536.48175 688.28918 536.3974 688.73126 536.36096 c +688.73126 536.16956 l +685.409 536.16956 l +h +692.58673 542.47229 m +692.58673 541.9801 l +691.1922 541.9801 l +691.17853 538.0426 l +691.17853 537.69623 691.20813 537.4342 691.2674 537.25647 c +691.37677 536.94202 691.59094 536.78479 691.90997 536.78479 c +692.07404 536.78479 692.21643 536.82355 692.33722 536.901 c +692.45801 536.97845 692.59583 537.1015 692.75079 537.27014 c +692.92853 537.11975 l +692.77814 536.91467 l +692.54114 536.59564 692.29053 536.37006 692.02618 536.23792 c +691.76184 536.10577 691.50665 536.03967 691.26056 536.03967 c +690.72278 536.03967 690.35822 536.27893 690.16681 536.75745 c +690.06201 537.01721 690.00958 537.37726 690.00958 537.83752 c +690.00958 541.9801 l +689.26447 541.9801 l +689.2417 541.99377 689.22461 542.00745 689.2132 542.02112 c +689.20178 542.03479 689.19611 542.05304 689.19611 542.07581 c +689.19611 542.1214 689.20636 542.15668 689.22687 542.18176 c +689.24738 542.20685 689.31232 542.26495 689.42169 542.35608 c +689.73615 542.61584 689.96289 542.8266 690.10187 542.9884 c +690.24084 543.15021 690.56787 543.57745 691.08282 544.27014 c +691.14209 544.27014 691.17737 544.26556 691.18878 544.25647 c +691.2002 544.24738 691.20587 544.2132 691.20587 544.15393 c +691.20587 542.47229 l +h +692.97638 536.39514 m +693.39563 536.43158 693.67365 536.50568 693.81036 536.61731 c +693.94708 536.72894 694.01544 536.9671 694.01544 537.33167 c +694.01544 540.41467 l +694.01544 540.86584 693.97327 541.18829 693.88898 541.38196 c +693.80469 541.57562 693.65088 541.67249 693.42755 541.67249 c +693.38196 541.67249 693.32159 541.66681 693.2464 541.6554 c +693.1712 541.64398 693.09259 541.62921 693.01056 541.61096 c +693.01056 541.83655 l +693.27032 541.92767 693.53693 542.02112 693.81036 542.11682 c +694.0838 542.21252 694.27295 542.28088 694.37775 542.3219 c +694.60559 542.40851 694.84033 542.50647 695.08185 542.61584 c +695.11377 542.61584 695.13312 542.60443 695.13995 542.58167 c +695.14679 542.5589 695.15021 542.51105 695.15021 542.43811 c +695.15021 541.31702 l +695.44189 541.7226 695.72327 542.03937 695.99445 542.26721 c +696.26562 542.49506 696.547 542.60901 696.83868 542.60901 c +697.07111 542.60901 697.26025 542.53949 697.40607 542.40051 c +697.55188 542.26154 697.62482 542.08722 697.62482 541.87756 c +697.62482 541.69073 697.56897 541.53351 697.45734 541.40588 c +697.3457 541.27826 697.20557 541.21448 697.03693 541.21448 c +696.86377 541.21448 696.68945 541.29425 696.51398 541.45374 c +696.3385 541.61322 696.20068 541.69299 696.1004 541.69299 c +695.94092 541.69299 695.74493 541.56427 695.51251 541.30676 c +695.28009 541.04926 695.16388 540.78381 695.16388 540.51038 c +695.16388 537.42737 l +695.16388 537.03546 695.255 536.76312 695.43732 536.61047 c +695.61963 536.45782 695.92267 536.38605 696.3465 536.39514 c +696.3465 536.16956 l +692.97638 536.16956 l +h +702.4715 541.91516 m +702.95459 541.47083 703.19611 540.84076 703.19611 540.02502 c +698.85529 540.02502 l +698.90088 538.96771 699.14014 538.19757 699.57306 537.71448 c +700.00598 537.23138 700.51868 536.98987 701.11115 536.98987 c +701.58966 536.98987 701.99298 537.11517 702.32111 537.36584 c +702.64923 537.61652 702.95227 537.97198 703.23029 538.43225 c +703.46954 538.35022 l +703.28271 537.77142 702.93292 537.23596 702.42023 536.74377 c +701.90753 536.25159 701.27979 536.00549 700.53693 536.00549 c +699.68018 536.00549 699.01819 536.32904 698.55109 536.9762 c +698.08398 537.62335 697.8504 538.36847 697.8504 539.21155 c +697.8504 540.12756 698.12158 540.91827 698.66388 541.58362 c +699.20618 542.24896 699.9126 542.58167 700.78302 542.58167 c +701.4256 542.58167 701.9884 542.3595 702.4715 541.91516 c +h +699.19708 541.39221 m +699.05127 541.14612 698.94641 540.83624 698.88263 540.46252 c +701.7674 540.46252 l +701.71729 540.91827 701.63068 541.25775 701.50763 541.48108 c +701.2843 541.88214 700.91064 542.08264 700.38654 542.08264 c +699.867 542.08264 699.47052 541.85248 699.19708 541.39221 c +h +708.68536 541.91516 m +709.16846 541.47083 709.40997 540.84076 709.40997 540.02502 c +705.06915 540.02502 l +705.11475 538.96771 705.354 538.19757 705.78693 537.71448 c +706.21985 537.23138 706.73254 536.98987 707.32501 536.98987 c +707.80353 536.98987 708.20685 537.11517 708.53497 537.36584 c +708.8631 537.61652 709.16614 537.97198 709.44415 538.43225 c +709.68341 538.35022 l +709.49658 537.77142 709.14679 537.23596 708.63409 536.74377 c +708.1214 536.25159 707.49365 536.00549 706.75079 536.00549 c +705.89404 536.00549 705.23206 536.32904 704.76495 536.9762 c +704.29785 537.62335 704.06427 538.36847 704.06427 539.21155 c +704.06427 540.12756 704.33545 540.91827 704.87775 541.58362 c +705.42004 542.24896 706.12646 542.58167 706.99689 542.58167 c +707.63947 542.58167 708.20227 542.3595 708.68536 541.91516 c +h +705.41095 541.39221 m +705.26514 541.14612 705.16028 540.83624 705.0965 540.46252 c +707.98126 540.46252 l +707.93115 540.91827 707.84454 541.25775 707.7215 541.48108 c +707.49817 541.88214 707.12451 542.08264 706.6004 542.08264 c +706.08087 542.08264 705.68439 541.85248 705.41095 541.39221 c +h +715.56915 543.85999 m +716.15247 544.59369 716.84064 545.1839 717.63361 545.63049 c +717.76349 545.40491 l +717.02979 544.82159 716.50568 544.25421 716.19122 543.70276 c +715.63977 542.74115 715.36407 541.46057 715.36407 539.86096 c +715.36407 538.67609 715.46887 537.69855 715.67853 536.92834 c +716.04767 535.57941 716.74268 534.56995 717.76349 533.90002 c +717.58575 533.67444 l +717.02521 533.9433 716.41907 534.46967 715.7674 535.25354 c +714.68732 536.55237 714.14728 538.02893 714.14728 539.68323 c +714.14728 541.26917 714.62122 542.66144 715.56915 543.85999 c +h +718.41974 536.42249 m +718.98938 536.46808 719.34259 536.56946 719.47931 536.72668 c +719.61603 536.88391 719.68439 537.25873 719.68439 537.8512 c +719.68439 543.91467 l +719.68439 544.42053 719.60803 544.7475 719.45538 544.89563 c +719.30273 545.04376 718.95752 545.13605 718.41974 545.17249 c +718.41974 545.43225 l +722.41193 545.43225 l +722.41193 545.17249 l +721.86505 545.14514 721.51184 545.05402 721.35236 544.89905 c +721.19287 544.74408 721.1131 544.41595 721.1131 543.91467 c +721.1131 541.04358 l +721.97443 541.77728 722.67853 542.40167 723.2254 542.91663 c +724.2052 543.85089 724.69513 544.45013 724.69513 544.71448 c +724.69513 544.90131 724.61194 545.02435 724.44562 545.08362 c +724.2793 545.14288 724.04346 545.17249 723.7381 545.17249 c +723.7381 545.43225 l +727.40216 545.43225 l +727.40216 545.20667 l +726.95557 545.16107 726.60352 545.0722 726.34601 544.94006 c +726.0885 544.80792 725.73193 544.51849 725.27618 544.0719 c +722.617 541.46741 l +725.87775 537.9469 l +726.48389 537.29523 726.8963 536.88849 727.11505 536.72668 c +727.3338 536.56488 727.65509 536.45892 728.07892 536.40881 c +728.07892 536.16956 l +723.79962 536.16956 l +723.79962 536.42249 l +724.18701 536.43616 724.44904 536.46692 724.58575 536.51477 c +724.72247 536.56262 724.79083 536.65717 724.79083 536.79846 c +724.79083 536.87592 724.7464 536.99445 724.65753 537.15393 c +724.56866 537.31342 724.42853 537.49799 724.23712 537.70764 c +721.58478 540.61975 l +721.1131 540.21643 l +721.1131 537.68713 l +721.1131 537.1676 721.19171 536.83832 721.34894 536.69934 c +721.50616 536.56036 721.84912 536.46808 722.37775 536.42249 c +722.37775 536.16956 l +718.41974 536.16956 l +h +732.22833 545.43225 m +732.22833 545.17249 l +731.87744 545.16791 731.63818 545.14514 731.51056 545.10413 c +731.28723 545.03119 731.1756 544.88312 731.1756 544.65979 c +731.1756 544.54584 731.21545 544.38635 731.29523 544.18127 c +731.375 543.9762 731.52423 543.63214 731.74298 543.14905 c +733.93048 538.27502 l +735.91974 543.55237 l +736.00635 543.78479 736.07239 543.98077 736.11798 544.14026 c +736.16357 544.29974 736.18634 544.42963 736.18634 544.52991 c +736.18634 544.79877 736.07013 544.98108 735.83771 545.07678 c +735.70099 545.13147 735.4754 545.16339 735.16095 545.17249 c +735.16095 545.43225 l +738.02521 545.43225 l +738.02521 545.19299 l +737.729 545.15198 737.51025 545.0722 737.36896 544.95374 c +737.15479 544.776 736.94287 544.41827 736.73322 543.88049 c +733.63654 536.00549 l +733.42462 536.00549 l +729.97247 543.70276 l +729.68079 544.35443 729.44727 544.76007 729.27179 544.91956 c +729.09631 545.07904 728.83997 545.17023 728.50275 545.19299 c +728.50275 545.43225 l +h +738.54474 536.42249 m +739.12354 536.48175 739.49493 536.61273 739.659 536.81555 c +739.82306 537.01837 739.90509 537.48889 739.90509 538.22717 c +739.90509 543.91467 l +739.90509 544.42053 739.82532 544.74982 739.66583 544.90247 c +739.50635 545.05511 739.14404 545.14514 738.57892 545.17249 c +738.57892 545.43225 l +741.34747 545.43225 l +744.58771 538.37073 l +747.68439 545.43225 l +750.47345 545.43225 l +750.47345 545.17249 l +749.95392 545.13605 749.61896 545.04144 749.46857 544.88879 c +749.31818 544.73615 749.24298 544.41144 749.24298 543.91467 c +749.24298 537.68713 l +749.24298 537.1767 749.31818 536.84973 749.46857 536.70618 c +749.61896 536.56262 749.95392 536.46808 750.47345 536.42249 c +750.47345 536.16956 l +746.54962 536.16956 l +746.54962 536.42249 l +747.11475 536.46808 747.4668 536.56946 747.60577 536.72668 c +747.74475 536.88391 747.81427 537.25873 747.81427 537.8512 c +747.81427 544.14026 l +744.23224 536.16956 l +744.04083 536.16956 l +740.52032 543.81213 l +740.52032 538.22717 l +740.52032 537.46155 740.63196 536.96252 740.85529 536.7301 c +741.0011 536.57971 741.32697 536.47717 741.83282 536.42249 c +741.83282 536.16956 l +738.54474 536.16956 l +h +754.5545 537.68713 m +754.37677 537.08099 754.117 536.50909 753.77521 535.97131 c +753.41516 535.39709 752.93439 534.86163 752.33282 534.36487 c +751.93634 534.03674 751.60364 533.80658 751.33478 533.67444 c +751.2049 533.90002 l +751.90674 534.43323 752.41943 534.97784 752.74298 535.53381 c +753.3172 536.51819 753.60431 537.81927 753.60431 539.43713 c +753.60431 540.74506 753.47217 541.81378 753.20782 542.64319 c +752.83868 543.81439 752.17102 544.73499 751.2049 545.40491 c +751.38263 545.63049 l +752.10266 545.22943 752.77258 544.62335 753.3924 543.81213 c +754.34485 542.56342 754.82111 541.16437 754.82111 539.61487 c +754.82111 538.93585 754.73224 538.29327 754.5545 537.68713 c +h +755.49786 536.16956 m +f +1 0 0 sc +1 0 0 1 0.5 0.5 cm +763.34998 533.40002 m +803.95001 533.40002 l +803.95001 543.90002 l +763.34998 543.90002 l +h +763.34998 533.40002 m +S +CM +763.84998 533.90002 m +804.45001 533.90002 l +804.45001 544.40002 l +763.84998 544.40002 l +h +763.84998 533.90002 m +f +1 0 0 1 0.5 0.5 cm +763.34998 533.40002 m +803.95001 533.40002 l +803.95001 543.90002 l +763.34998 543.90002 l +763.34998 533.40002 l +h +763.34998 533.40002 m +S +376.70001 42 m +403.64999 42 l +403.64999 557.59998 l +376.70001 557.59998 l +h +376.70001 42 m +S +CM +377.20001 42.5 m +404.14999 42.5 l +404.14999 558.09998 l +377.20001 558.09998 l +h +377.20001 42.5 m +f +1 0 0 1 0.5 0.5 cm +376.70001 42 m +376.70001 557.54999 l +403.60001 557.54999 l +403.60001 42 l +376.70001 42 l +h +376.70001 42 m +S +0 0 0 sc +CM +684.93048 521.47229 m +684.93048 520.9801 l +683.53595 520.9801 l +683.52228 517.0426 l +683.52228 516.69623 683.55188 516.4342 683.61115 516.25647 c +683.72052 515.94202 683.93469 515.78479 684.25372 515.78479 c +684.41779 515.78479 684.56018 515.82355 684.68097 515.901 c +684.80176 515.97845 684.93958 516.1015 685.09454 516.27014 c +685.27228 516.11975 l +685.12189 515.91467 l +684.88489 515.59564 684.63428 515.37006 684.36993 515.23792 c +684.10559 515.10577 683.8504 515.03967 683.60431 515.03967 c +683.06653 515.03967 682.70197 515.27893 682.51056 515.75745 c +682.40576 516.01721 682.35333 516.37726 682.35333 516.83752 c +682.35333 520.9801 l +681.60822 520.9801 l +681.58545 520.99377 681.56836 521.00745 681.55695 521.02112 c +681.54553 521.03479 681.53986 521.05304 681.53986 521.07581 c +681.53986 521.1214 681.55011 521.15668 681.57062 521.18176 c +681.59113 521.20685 681.65607 521.26495 681.76544 521.35608 c +682.0799 521.61584 682.30664 521.8266 682.44562 521.9884 c +682.58459 522.15021 682.91162 522.57745 683.42657 523.27014 c +683.48584 523.27014 683.52112 523.26556 683.53253 523.25647 c +683.54395 523.24738 683.54962 523.2132 683.54962 523.15393 c +683.54962 521.47229 l +h +686.61212 524.50061 m +686.74884 524.64191 686.91748 524.71252 687.11798 524.71252 c +687.31396 524.71252 687.48145 524.64301 687.62042 524.50403 c +687.7594 524.36505 687.82892 524.19525 687.82892 523.99475 c +687.82892 523.79877 687.7594 523.63129 687.62042 523.49231 c +687.48145 523.35333 687.31396 523.28381 687.11798 523.28381 c +686.91748 523.28381 686.74884 523.35333 686.61212 523.49231 c +686.4754 523.63129 686.40704 523.79877 686.40704 523.99475 c +686.40704 524.19073 686.4754 524.35931 686.61212 524.50061 c +h +685.53204 515.36096 m +686.01965 515.40656 686.32727 515.48969 686.4549 515.61047 c +686.58252 515.73126 686.6463 516.05823 686.6463 516.59143 c +686.6463 519.85217 l +686.6463 520.14838 686.62579 520.35345 686.58478 520.46741 c +686.51642 520.65424 686.37286 520.74768 686.15411 520.74768 c +686.104 520.74768 686.05499 520.7431 686.00714 520.73401 c +685.95929 520.72491 685.82141 520.68842 685.59357 520.62463 c +685.59357 520.83655 l +685.88751 520.93225 l +686.68506 521.19202 687.24103 521.388 687.55548 521.52014 c +687.68311 521.57483 687.76514 521.60217 687.80157 521.60217 c +687.81067 521.57025 687.81525 521.53607 687.81525 521.49963 c +687.81525 516.59143 l +687.81525 516.0719 687.87793 515.74603 688.00323 515.61389 c +688.12854 515.48175 688.41223 515.3974 688.85431 515.36096 c +688.85431 515.16956 l +685.53204 515.16956 l +h +692.70978 521.47229 m +692.70978 520.9801 l +691.31525 520.9801 l +691.30157 517.0426 l +691.30157 516.69623 691.33118 516.4342 691.39044 516.25647 c +691.49982 515.94202 691.71399 515.78479 692.03302 515.78479 c +692.19708 515.78479 692.33948 515.82355 692.46027 515.901 c +692.58105 515.97845 692.71887 516.1015 692.87384 516.27014 c +693.05157 516.11975 l +692.90118 515.91467 l +692.66418 515.59564 692.41357 515.37006 692.14923 515.23792 c +691.88489 515.10577 691.6297 515.03967 691.38361 515.03967 c +690.84583 515.03967 690.48126 515.27893 690.28986 515.75745 c +690.18506 516.01721 690.13263 516.37726 690.13263 516.83752 c +690.13263 520.9801 l +689.38751 520.9801 l +689.36475 520.99377 689.34766 521.00745 689.33624 521.02112 c +689.32483 521.03479 689.31915 521.05304 689.31915 521.07581 c +689.31915 521.1214 689.32941 521.15668 689.34991 521.18176 c +689.37042 521.20685 689.43536 521.26495 689.54474 521.35608 c +689.85919 521.61584 690.08594 521.8266 690.22491 521.9884 c +690.36389 522.15021 690.69092 522.57745 691.20587 523.27014 c +691.26514 523.27014 691.30042 523.26556 691.31183 523.25647 c +691.32324 523.24738 691.32892 523.2132 691.32892 523.15393 c +691.32892 521.47229 l +h +693.09943 515.39514 m +693.51868 515.43158 693.79669 515.50568 693.93341 515.61731 c +694.07013 515.72894 694.13849 515.9671 694.13849 516.33167 c +694.13849 519.41467 l +694.13849 519.86584 694.09631 520.18829 694.01202 520.38196 c +693.92773 520.57562 693.77393 520.67249 693.5506 520.67249 c +693.505 520.67249 693.44464 520.66681 693.36945 520.6554 c +693.29425 520.64398 693.21564 520.62921 693.13361 520.61096 c +693.13361 520.83655 l +693.39337 520.92767 693.65997 521.02112 693.93341 521.11682 c +694.20685 521.21252 694.396 521.28088 694.50079 521.3219 c +694.72864 521.40851 694.96338 521.50647 695.2049 521.61584 c +695.23682 521.61584 695.25616 521.60443 695.263 521.58167 c +695.26984 521.5589 695.27325 521.51105 695.27325 521.43811 c +695.27325 520.31702 l +695.56494 520.7226 695.84631 521.03937 696.11749 521.26721 c +696.38867 521.49506 696.67004 521.60901 696.96173 521.60901 c +697.19415 521.60901 697.3833 521.53949 697.52911 521.40051 c +697.67493 521.26154 697.74786 521.08722 697.74786 520.87756 c +697.74786 520.69073 697.69202 520.53351 697.58038 520.40588 c +697.46875 520.27826 697.32861 520.21448 697.15997 520.21448 c +696.98682 520.21448 696.8125 520.29425 696.63702 520.45374 c +696.46155 520.61322 696.32373 520.69299 696.22345 520.69299 c +696.06396 520.69299 695.86798 520.56427 695.63556 520.30676 c +695.40314 520.04926 695.28693 519.78381 695.28693 519.51038 c +695.28693 516.42737 l +695.28693 516.03546 695.37805 515.76312 695.56036 515.61047 c +695.74268 515.45782 696.04572 515.38605 696.46954 515.39514 c +696.46954 515.16956 l +693.09943 515.16956 l +h +702.59454 520.91516 m +703.07764 520.47083 703.31915 519.84076 703.31915 519.02502 c +698.97833 519.02502 l +699.02393 517.96771 699.26318 517.19757 699.69611 516.71448 c +700.12903 516.23138 700.64172 515.98987 701.23419 515.98987 c +701.71271 515.98987 702.11603 516.11517 702.44415 516.36584 c +702.77228 516.61652 703.07532 516.97198 703.35333 517.43225 c +703.59259 517.35022 l +703.40576 516.77142 703.05597 516.23596 702.54327 515.74377 c +702.03058 515.25159 701.40283 515.00549 700.65997 515.00549 c +699.80322 515.00549 699.14124 515.32904 698.67413 515.9762 c +698.20703 516.62335 697.97345 517.36847 697.97345 518.21155 c +697.97345 519.12756 698.24463 519.91827 698.78693 520.58362 c +699.32922 521.24896 700.03564 521.58167 700.90607 521.58167 c +701.54865 521.58167 702.11145 521.3595 702.59454 520.91516 c +h +699.32013 520.39221 m +699.17432 520.14612 699.06946 519.83624 699.00568 519.46252 c +701.89044 519.46252 l +701.84033 519.91827 701.75372 520.25775 701.63068 520.48108 c +701.40735 520.88214 701.03369 521.08264 700.50958 521.08264 c +699.99005 521.08264 699.59357 520.85248 699.32013 520.39221 c +h +708.80841 520.91516 m +709.2915 520.47083 709.53302 519.84076 709.53302 519.02502 c +705.1922 519.02502 l +705.23779 517.96771 705.47705 517.19757 705.90997 516.71448 c +706.3429 516.23138 706.85559 515.98987 707.44806 515.98987 c +707.92657 515.98987 708.3299 516.11517 708.65802 516.36584 c +708.98615 516.61652 709.28918 516.97198 709.5672 517.43225 c +709.80646 517.35022 l +709.61963 516.77142 709.26984 516.23596 708.75714 515.74377 c +708.24445 515.25159 707.6167 515.00549 706.87384 515.00549 c +706.01709 515.00549 705.3551 515.32904 704.888 515.9762 c +704.4209 516.62335 704.18732 517.36847 704.18732 518.21155 c +704.18732 519.12756 704.4585 519.91827 705.00079 520.58362 c +705.54309 521.24896 706.24951 521.58167 707.11993 521.58167 c +707.76251 521.58167 708.32532 521.3595 708.80841 520.91516 c +h +705.534 520.39221 m +705.38818 520.14612 705.28333 519.83624 705.21954 519.46252 c +708.10431 519.46252 l +708.0542 519.91827 707.96759 520.25775 707.84454 520.48108 c +707.62122 520.88214 707.24756 521.08264 706.72345 521.08264 c +706.20392 521.08264 705.80743 520.85248 705.534 520.39221 c +h +715.6922 522.85999 m +716.27551 523.59369 716.96368 524.1839 717.75665 524.63049 c +717.88654 524.40491 l +717.15283 523.82159 716.62872 523.25421 716.31427 522.70276 c +715.76282 521.74115 715.48712 520.46057 715.48712 518.86096 c +715.48712 517.67609 715.59192 516.69855 715.80157 515.92834 c +716.17072 514.57941 716.86572 513.56995 717.88654 512.90002 c +717.7088 512.67444 l +717.14825 512.9433 716.54211 513.46967 715.89044 514.25354 c +714.81036 515.55237 714.27032 517.02893 714.27032 518.68323 c +714.27032 520.26917 714.74426 521.66144 715.6922 522.85999 c +h +718.54279 515.42249 m +719.11243 515.46808 719.46564 515.56946 719.60236 515.72668 c +719.73907 515.88391 719.80743 516.25873 719.80743 516.8512 c +719.80743 522.91467 l +719.80743 523.42053 719.73108 523.7475 719.57843 523.89563 c +719.42578 524.04376 719.08057 524.13605 718.54279 524.17249 c +718.54279 524.43225 l +722.53497 524.43225 l +722.53497 524.17249 l +721.9881 524.14514 721.63489 524.05402 721.4754 523.89905 c +721.31592 523.74408 721.23615 523.41595 721.23615 522.91467 c +721.23615 520.04358 l +722.09747 520.77728 722.80157 521.40167 723.34845 521.91663 c +724.32825 522.85089 724.81818 523.45013 724.81818 523.71448 c +724.81818 523.90131 724.73499 524.02435 724.56866 524.08362 c +724.40234 524.14288 724.1665 524.17249 723.86115 524.17249 c +723.86115 524.43225 l +727.52521 524.43225 l +727.52521 524.20667 l +727.07861 524.16107 726.72656 524.0722 726.46906 523.94006 c +726.21155 523.80792 725.85498 523.51849 725.39923 523.0719 c +722.74005 520.46741 l +726.00079 516.9469 l +726.60693 516.29523 727.01935 515.88849 727.2381 515.72668 c +727.45685 515.56488 727.77814 515.45892 728.20197 515.40881 c +728.20197 515.16956 l +723.92267 515.16956 l +723.92267 515.42249 l +724.31006 515.43616 724.57208 515.46692 724.7088 515.51477 c +724.84552 515.56262 724.91388 515.65717 724.91388 515.79846 c +724.91388 515.87592 724.86945 515.99445 724.78058 516.15393 c +724.69171 516.31342 724.55157 516.49799 724.36017 516.70764 c +721.70782 519.61975 l +721.23615 519.21643 l +721.23615 516.68713 l +721.23615 516.1676 721.31476 515.83832 721.47198 515.69934 c +721.62921 515.56036 721.97217 515.46808 722.50079 515.42249 c +722.50079 515.16956 l +718.54279 515.16956 l +h +732.35138 524.43225 m +732.35138 524.17249 l +732.00049 524.16791 731.76123 524.14514 731.63361 524.10413 c +731.41028 524.03119 731.29865 523.88312 731.29865 523.65979 c +731.29865 523.54584 731.3385 523.38635 731.41827 523.18127 c +731.49805 522.9762 731.64728 522.63214 731.86603 522.14905 c +734.05353 517.27502 l +736.04279 522.55237 l +736.12939 522.78479 736.19543 522.98077 736.24103 523.14026 c +736.28662 523.29974 736.30939 523.42963 736.30939 523.52991 c +736.30939 523.79877 736.19318 523.98108 735.96075 524.07678 c +735.82404 524.13147 735.59845 524.16339 735.284 524.17249 c +735.284 524.43225 l +738.14825 524.43225 l +738.14825 524.19299 l +737.85205 524.15198 737.6333 524.0722 737.492 523.95374 c +737.27783 523.776 737.06592 523.41827 736.85626 522.88049 c +733.75958 515.00549 l +733.54767 515.00549 l +730.09552 522.70276 l +729.80383 523.35443 729.57031 523.76007 729.39484 523.91956 c +729.21936 524.07904 728.96301 524.17023 728.62579 524.19299 c +728.62579 524.43225 l +h +738.66779 515.42249 m +739.24658 515.48175 739.61798 515.61273 739.78204 515.81555 c +739.94611 516.01837 740.02814 516.48889 740.02814 517.22717 c +740.02814 522.91467 l +740.02814 523.42053 739.94836 523.74982 739.78888 523.90247 c +739.62939 524.05511 739.26709 524.14514 738.70197 524.17249 c +738.70197 524.43225 l +741.47052 524.43225 l +744.71075 517.37073 l +747.80743 524.43225 l +750.5965 524.43225 l +750.5965 524.17249 l +750.07697 524.13605 749.742 524.04144 749.59161 523.88879 c +749.44122 523.73615 749.36603 523.41144 749.36603 522.91467 c +749.36603 516.68713 l +749.36603 516.1767 749.44122 515.84973 749.59161 515.70618 c +749.742 515.56262 750.07697 515.46808 750.5965 515.42249 c +750.5965 515.16956 l +746.67267 515.16956 l +746.67267 515.42249 l +747.23779 515.46808 747.58984 515.56946 747.72882 515.72668 c +747.8678 515.88391 747.93732 516.25873 747.93732 516.8512 c +747.93732 523.14026 l +744.35529 515.16956 l +744.16388 515.16956 l +740.64337 522.81213 l +740.64337 517.22717 l +740.64337 516.46155 740.755 515.96252 740.97833 515.7301 c +741.12415 515.57971 741.45001 515.47717 741.95587 515.42249 c +741.95587 515.16956 l +738.66779 515.16956 l +h +754.67755 516.68713 m +754.49982 516.08099 754.24005 515.50909 753.89825 514.97131 c +753.53821 514.39709 753.05743 513.86163 752.45587 513.36487 c +752.05939 513.03674 751.72668 512.80658 751.45782 512.67444 c +751.32794 512.90002 l +752.02979 513.43323 752.54248 513.97784 752.86603 514.53381 c +753.44025 515.51819 753.72736 516.81927 753.72736 518.43713 c +753.72736 519.74506 753.59521 520.81378 753.33087 521.64319 c +752.96173 522.81439 752.29407 523.73499 751.32794 524.40491 c +751.50568 524.63049 l +752.22571 524.22943 752.89563 523.62335 753.51544 522.81213 c +754.4679 521.56342 754.94415 520.16437 754.94415 518.61487 c +754.94415 517.93585 754.85529 517.29327 754.67755 516.68713 c +h +755.62091 515.16956 m +f +1 0 0 sc +1 0 0 1 0.5 0.5 cm +763.34998 512.40002 m +803.95001 512.40002 l +803.95001 522.90002 l +763.34998 522.90002 l +h +763.34998 512.40002 m +S +CM +763.84998 512.90002 m +804.45001 512.90002 l +804.45001 523.40002 l +763.84998 523.40002 l +h +763.84998 512.90002 m +f +1 0 0 1 0.5 0.5 cm +763.34998 512.40002 m +803.95001 512.40002 l +803.95001 522.90002 l +763.34998 522.90002 l +763.34998 512.40002 l +h +763.34998 512.40002 m +S +592 42 m +618.95001 42 l +618.95001 379.20001 l +592 379.20001 l +h +592 42 m +S +CM +592.5 42.5 m +619.45001 42.5 l +619.45001 379.70001 l +592.5 379.70001 l +h +592.5 42.5 m +f +1 0 0 1 0.5 0.5 cm +592 42 m +592 379.14999 l +618.90002 379.14999 l +618.90002 42 l +592 42 l +h +592 42 m +S +0 0 0 sc +CM +649.87579 494.36093 m +650.35889 494.38373 650.67676 494.47372 650.82941 494.63095 c +650.98206 494.78818 651.05841 495.11972 651.05841 495.62558 c +651.05841 500.01425 l +649.88947 500.01425 l +649.88947 500.47226 l +651.05841 500.47226 l +651.05841 501.19232 651.15637 501.80072 651.35236 502.29745 c +651.72607 503.24994 652.41193 503.72617 653.40997 503.72617 c +653.81104 503.72617 654.16992 503.64642 654.48663 503.48691 c +654.80334 503.32739 654.96173 503.11322 654.96173 502.84433 c +654.96173 502.69394 654.90704 502.55951 654.79767 502.44101 c +654.68829 502.32251 654.55615 502.26328 654.40118 502.26328 c +654.26904 502.26328 654.15509 502.30316 654.05939 502.3829 c +653.96368 502.46265 653.84973 502.60278 653.71759 502.80331 c +653.60138 502.98105 l +653.5376 503.07675 653.4624 503.15765 653.37579 503.22372 c +653.28918 503.28979 653.16846 503.32285 653.01349 503.32285 c +652.66711 503.32285 652.43243 503.15195 652.30939 502.81015 c +652.24103 502.62787 652.20685 502.38861 652.20685 502.09238 c +652.20685 500.47226 l +653.92267 500.47226 l +653.92267 500.01425 l +652.22052 500.01425 l +652.22052 495.62558 l +652.22052 495.1106 652.29004 494.78134 652.42902 494.63779 c +652.56799 494.49423 652.93146 494.40195 653.51935 494.36093 c +653.51935 494.16953 l +649.87579 494.16953 l +h +655.48468 499.64169 m +656.06116 500.26831 656.80286 500.58163 657.70978 500.58163 c +658.61212 500.58163 659.3595 500.2854 659.95197 499.69296 c +660.54443 499.10052 660.84064 498.3121 660.84064 497.32773 c +660.84064 496.42084 660.55353 495.63242 659.97931 494.96249 c +659.40509 494.29257 658.66223 493.95761 657.75079 493.95761 c +656.87579 493.95761 656.13525 494.2789 655.52911 494.92148 c +654.92297 495.56406 654.61993 496.3707 654.61993 497.3414 c +654.61993 498.24829 654.9082 499.01508 655.48468 499.64169 c +h +656.58185 499.81601 m +656.1261 499.40131 655.89825 498.68579 655.89825 497.66953 c +655.89825 496.85834 656.08167 496.10181 656.44855 495.39999 c +656.81543 494.69818 657.32471 494.34726 657.97638 494.34726 c +658.48682 494.34726 658.87988 494.58197 659.15558 495.05136 c +659.43127 495.52075 659.56915 496.13599 659.56915 496.89706 c +659.56915 497.68549 659.39368 498.42831 659.04279 499.12558 c +658.69189 499.82285 658.18372 500.17148 657.51837 500.17148 c +657.15833 500.17148 656.84619 500.05298 656.58185 499.81601 c +h +666.2171 500.1749 m +666.62952 499.88095 666.83575 499.55853 666.83575 499.20761 c +666.83575 499.05722 666.78333 498.91708 666.67853 498.7872 c +666.57373 498.65732 666.41193 498.59238 666.19318 498.59238 c +666.03369 498.59238 665.89355 498.64706 665.77277 498.75644 c +665.65198 498.86581 665.56427 499.02533 665.50958 499.23495 c +665.42755 499.56308 l +665.36829 499.80463 665.26575 499.97552 665.11993 500.07578 c +664.96954 500.17148 664.7713 500.21933 664.52521 500.21933 c +664.00568 500.21933 663.56702 499.99261 663.20929 499.53915 c +662.85156 499.08569 662.67267 498.483 662.67267 497.73105 c +662.67267 497.04291 662.86975 496.42538 663.26398 495.87851 c +663.6582 495.33163 664.19025 495.0582 664.86017 495.0582 c +665.33411 495.0582 665.75568 495.21313 666.12482 495.52304 c +666.33447 495.70078 666.57141 495.98334 666.83575 496.3707 c +667.02716 496.25449 l +666.7674 495.70761 666.49396 495.27466 666.20685 494.95566 c +665.6554 494.34497 665.0174 494.03964 664.29279 494.03964 c +663.58185 494.03964 662.95294 494.31992 662.40607 494.88046 c +661.85919 495.44101 661.58575 496.20209 661.58575 497.16367 c +661.58575 498.10703 661.88428 498.91821 662.48126 499.59726 c +663.07825 500.27631 663.83252 500.61581 664.74396 500.61581 c +665.3136 500.61581 665.80469 500.46884 666.2171 500.1749 c +h +669.64532 500.4996 m +669.64532 496.1246 l +669.64532 495.8147 669.6886 495.56635 669.77521 495.37949 c +669.94385 495.03314 670.25372 494.85995 670.7049 494.85995 c +671.01477 494.85995 671.31787 494.96249 671.61407 495.16757 c +671.78271 495.28149 671.95361 495.43872 672.12677 495.63925 c +672.12677 499.38535 l +672.12677 499.73627 672.05841 499.9664 671.92169 500.07578 c +671.78497 500.18515 671.51154 500.25122 671.10138 500.27402 c +671.10138 500.4996 l +673.30939 500.4996 l +673.30939 495.6871 l +673.30939 495.3772 673.36523 495.16415 673.47687 495.04794 c +673.5885 494.93173 673.82434 494.88046 674.18439 494.89413 c +674.18439 494.70273 l +673.93372 494.63437 673.74915 494.5831 673.63068 494.54892 c +673.51221 494.51474 673.31396 494.45209 673.03595 494.36093 c +672.91748 494.31992 672.65771 494.22192 672.25665 494.06699 c +672.23389 494.06699 672.22021 494.07724 672.21564 494.09775 c +672.21106 494.11826 672.2088 494.14218 672.2088 494.16953 c +672.2088 495.27011 l +671.89893 494.90097 671.61633 494.62753 671.36115 494.4498 c +670.97375 494.17636 670.5636 494.03964 670.13068 494.03964 c +669.73419 494.03964 669.36047 494.18091 669.00958 494.46347 c +668.65411 494.74146 668.47638 495.20859 668.47638 495.86484 c +668.47638 499.41269 l +668.47638 499.77728 668.39893 500.02109 668.24396 500.14413 c +668.14368 500.22162 667.9295 500.27631 667.60138 500.3082 c +667.60138 500.4996 l +h +675.20294 496.32285 m +675.42853 496.32285 l +675.53333 495.80331 675.67462 495.40454 675.85236 495.12656 c +676.17139 494.61615 676.63849 494.36093 677.25372 494.36093 c +677.59552 494.36093 677.86554 494.45551 678.06378 494.64462 c +678.26202 494.83374 678.36115 495.0787 678.36115 495.37949 c +678.36115 495.57089 678.3042 495.75546 678.19025 495.9332 c +678.07629 496.11093 677.87579 496.28412 677.58868 496.45273 c +676.82306 496.89023 l +676.26251 497.19101 675.8501 497.49408 675.58575 497.79941 c +675.32141 498.10474 675.18927 498.46478 675.18927 498.87949 c +675.18927 499.38989 675.37158 499.80917 675.73615 500.1373 c +676.10071 500.46542 676.55872 500.62949 677.11017 500.62949 c +677.35168 500.62949 677.61719 500.58392 677.90656 500.49277 c +678.19592 500.40161 678.35889 500.35605 678.39532 500.35605 c +678.47736 500.35605 678.53662 500.36743 678.57306 500.39023 c +678.6095 500.41302 678.64142 500.44946 678.66876 500.4996 c +678.83282 500.4996 l +678.88068 498.59238 l +678.66876 498.59238 l +678.57764 499.03442 678.45459 499.37851 678.29962 499.6246 c +678.01709 500.08032 677.60919 500.3082 677.07599 500.3082 c +676.75696 500.3082 676.50635 500.21021 676.32404 500.01425 c +676.14172 499.8183 676.0506 499.58813 676.0506 499.32382 c +676.0506 498.90454 676.36505 498.53085 676.99396 498.20273 c +677.8963 497.71738 l +678.867 497.18872 679.35236 496.57349 679.35236 495.87167 c +679.35236 495.33392 679.1507 494.89413 678.74738 494.55234 c +678.34406 494.21054 677.81653 494.03964 677.16486 494.03964 c +676.89142 494.03964 676.58154 494.08521 676.23517 494.17636 c +675.88879 494.26752 675.68372 494.31308 675.61993 494.31308 c +675.56525 494.31308 675.5174 494.2937 675.47638 494.25497 c +675.43536 494.21625 675.40344 494.16953 675.38068 494.11484 c +675.20294 494.11484 l +h +684.82111 499.91513 m +685.3042 499.47079 685.54572 498.84076 685.54572 498.02499 c +681.2049 498.02499 l +681.25049 496.96768 681.48975 496.19751 681.92267 495.71445 c +682.35559 495.23138 682.86829 494.98984 683.46075 494.98984 c +683.93927 494.98984 684.34259 495.11517 684.67072 495.36581 c +684.99884 495.61646 685.30188 495.97192 685.5799 496.43222 c +685.81915 496.35019 l +685.63232 495.77142 685.28253 495.23593 684.76984 494.74374 c +684.25714 494.25156 683.62939 494.00546 682.88654 494.00546 c +682.02979 494.00546 681.3678 494.32904 680.9007 494.97617 c +680.43359 495.62329 680.20001 496.36841 680.20001 497.21152 c +680.20001 498.12753 680.47119 498.91821 681.01349 499.58359 c +681.55579 500.24896 682.26221 500.58163 683.13263 500.58163 c +683.77521 500.58163 684.33801 500.35947 684.82111 499.91513 c +h +681.54669 499.39218 m +681.40088 499.14609 681.29602 498.83618 681.23224 498.46249 c +684.117 498.46249 l +684.06689 498.91821 683.98029 499.25775 683.85724 499.48105 c +683.63391 499.88208 683.26025 500.08261 682.73615 500.08261 c +682.21661 500.08261 681.82013 499.85248 681.54669 499.39218 c +h +690.37189 500.41074 m +690.5542 500.31503 690.72961 500.18286 690.89825 500.01425 c +690.89825 502.18808 l +690.89825 502.46606 690.86749 502.65747 690.80597 502.7623 c +690.74445 502.86713 690.59747 502.91953 690.36505 502.91953 c +690.31036 502.91953 690.26251 502.91724 690.2215 502.91269 c +690.18048 502.90814 690.08936 502.89902 689.94806 502.88535 c +689.94806 503.11093 l +690.50861 503.25449 l +690.71368 503.30917 690.91876 503.36615 691.12384 503.42538 c +691.32892 503.48462 691.50891 503.5416 691.66388 503.59628 c +691.73682 503.61908 691.85754 503.66235 692.02618 503.72617 c +692.0672 503.71249 l +692.05353 502.99472 l +692.04895 502.73495 692.04443 502.46722 692.03986 502.1915 c +692.03528 501.91577 692.03302 501.64349 692.03302 501.3746 c +692.01935 495.78964 l +692.01935 495.49341 692.05579 495.28607 692.12872 495.16757 c +692.20166 495.04907 692.39532 494.98984 692.70978 494.98984 c +692.75989 494.98984 692.81006 494.99097 692.86017 494.99326 c +692.91028 494.99554 692.96045 495.00122 693.01056 495.01035 c +693.01056 494.78476 l +692.98322 494.77563 692.65283 494.66171 692.01935 494.44296 c +690.94611 494.03964 l +690.89825 494.10117 l +690.89825 494.94199 l +690.64307 494.664 690.422 494.46576 690.23517 494.34726 c +689.90247 494.14218 689.5174 494.03964 689.0799 494.03964 c +688.30518 494.03964 687.67737 494.33929 687.19659 494.93857 c +686.71582 495.53784 686.4754 496.23169 686.4754 497.02011 c +686.4754 498.00903 686.76367 498.85785 687.34015 499.5665 c +687.91663 500.27515 688.62189 500.62949 689.45587 500.62949 c +689.78857 500.62949 690.09387 500.55658 690.37189 500.41074 c +h +690.57013 495.09238 m +690.78888 495.302 690.89825 495.50024 690.89825 495.6871 c +690.89825 498.61972 l +690.89825 499.21216 690.73987 499.63031 690.42316 499.87411 c +690.10645 500.11792 689.79767 500.23984 689.49689 500.23984 c +688.92267 500.23984 688.47607 499.98578 688.15704 499.47763 c +687.83801 498.96948 687.67853 498.34399 687.67853 497.60117 c +687.67853 496.86743 687.84827 496.21347 688.18781 495.63925 c +688.52734 495.06503 689.0343 494.77792 689.7088 494.77792 c +690.06427 494.77792 690.35138 494.88275 690.57013 495.09238 c +h +698.7049 501.85995 m +699.28821 502.59369 699.97638 503.18384 700.76935 503.63046 c +700.89923 503.40488 l +700.16553 502.82153 699.64142 502.25415 699.32697 501.70273 c +698.77551 500.74115 698.49982 499.46054 698.49982 497.86093 c +698.49982 496.67603 698.60461 495.69849 698.81427 494.92831 c +699.18341 493.57935 699.87842 492.56992 700.89923 491.89999 c +700.7215 491.67441 l +700.16095 491.9433 699.55481 492.46967 698.90314 493.25351 c +697.82306 494.55234 697.28302 496.0289 697.28302 497.6832 c +697.28302 499.26913 697.75696 500.66138 698.7049 501.85995 c +h +705.25372 503.43222 m +705.25372 503.17245 l +704.90283 503.16791 704.66357 503.14511 704.53595 503.1041 c +704.31262 503.03119 704.20099 502.88306 704.20099 502.65976 c +704.20099 502.54584 704.24084 502.38632 704.32062 502.18124 c +704.40039 501.97617 704.54962 501.63208 704.76837 501.14902 c +706.95587 496.27499 l +708.94513 501.55234 l +709.03174 501.78476 709.09778 501.98071 709.14337 502.14023 c +709.18896 502.29974 709.21173 502.42963 709.21173 502.52988 c +709.21173 502.79877 709.09552 502.98105 708.8631 503.07675 c +708.72638 503.13144 708.50079 503.16333 708.18634 503.17245 c +708.18634 503.43222 l +711.0506 503.43222 l +711.0506 503.19296 l +710.75439 503.15195 710.53564 503.0722 710.39435 502.9537 c +710.18018 502.77597 709.96826 502.41821 709.75861 501.88046 c +706.66193 494.00546 l +706.45001 494.00546 l +702.99786 501.70273 l +702.70618 502.35443 702.47266 502.76001 702.29718 502.91953 c +702.1217 503.07904 701.86536 503.17017 701.52814 503.19296 c +701.52814 503.43222 l +h +711.57013 494.42245 m +712.14893 494.48169 712.52032 494.61273 712.68439 494.81552 c +712.84845 495.01831 712.93048 495.48886 712.93048 496.22714 c +712.93048 501.91464 l +712.93048 502.4205 712.85071 502.74976 712.69122 502.90244 c +712.53174 503.05511 712.16943 503.14511 711.60431 503.17245 c +711.60431 503.43222 l +714.37286 503.43222 l +717.6131 496.3707 l +720.70978 503.43222 l +723.49884 503.43222 l +723.49884 503.17245 l +722.97931 503.13599 722.64435 503.04144 722.49396 502.88876 c +722.34357 502.73608 722.26837 502.41138 722.26837 501.91464 c +722.26837 495.6871 l +722.26837 495.1767 722.34357 494.8497 722.49396 494.70615 c +722.64435 494.56259 722.97931 494.46802 723.49884 494.42245 c +723.49884 494.16953 l +719.57501 494.16953 l +719.57501 494.42245 l +720.14014 494.46802 720.49219 494.56943 720.63116 494.72665 c +720.77014 494.88388 720.83966 495.25873 720.83966 495.85117 c +720.83966 502.14023 l +717.25763 494.16953 l +717.06622 494.16953 l +713.54572 501.8121 l +713.54572 496.22714 l +713.54572 495.46152 713.65735 494.96249 713.88068 494.73007 c +714.02649 494.57968 714.35236 494.47714 714.85822 494.42245 c +714.85822 494.16953 l +711.57013 494.16953 l +h +730.36896 500.3082 m +730.09552 500.27631 729.8927 500.23071 729.76056 500.17148 c +729.62842 500.11224 729.56232 499.99374 729.56232 499.81601 c +729.56232 499.72031 729.57715 499.62119 729.60675 499.51865 c +729.63635 499.41611 729.67627 499.29648 729.72638 499.15976 c +730.97052 495.91269 l +732.18732 498.87949 l +732.242 499.00708 732.30127 499.17456 732.36505 499.38193 c +732.42883 499.58929 732.46075 499.74536 732.46075 499.85019 c +732.46075 500.0188 732.40833 500.13275 732.30353 500.19199 c +732.19873 500.25122 732.04602 500.29453 731.84552 500.32187 c +731.84552 500.52011 l +733.58185 500.52011 l +733.58185 500.32187 l +733.4679 500.29907 733.37451 500.24438 733.30157 500.15781 c +733.22864 500.07123 733.1261 499.86615 732.99396 499.54257 c +730.80646 494.14902 l +730.78821 494.108 730.77228 494.07837 730.75861 494.06015 c +730.74493 494.04193 730.72443 494.03281 730.69708 494.03281 c +730.6424 494.06015 730.61047 494.08295 730.60138 494.10117 c +729.05646 497.92245 l +727.25861 494.11484 l +727.24951 494.09204 727.23694 494.07269 727.22101 494.05673 c +727.20508 494.04077 727.18567 494.03281 727.1629 494.03281 c +727.10822 494.06015 727.07629 494.08295 727.0672 494.10117 c +725.02325 499.13925 l +724.79993 499.69067 724.65186 500.01538 724.57892 500.11337 c +724.50598 500.21136 724.36243 500.27631 724.14825 500.3082 c +724.14825 500.52011 l +726.67755 500.52011 l +726.67755 500.3082 l +726.4679 500.28998 726.30725 500.25238 726.19562 500.1954 c +726.08398 500.13843 726.02814 500.01654 726.02814 499.82968 c +726.02814 499.69751 726.12158 499.37396 726.30841 498.85898 c +726.41779 498.56274 726.55676 498.20273 726.7254 497.7789 c +727.5047 495.83749 l +728.73517 498.47617 l +728.74884 498.5582 l +728.74884 498.64935 728.69983 498.81909 728.60187 499.06747 c +728.50391 499.31586 728.4093 499.53802 728.31818 499.73398 c +728.22705 499.93906 728.12335 500.08148 728.00714 500.16122 c +727.89093 500.24097 727.72803 500.28998 727.51837 500.3082 c +727.51837 500.52011 l +730.36896 500.52011 l +h +737.98419 497.95663 m +737.46008 497.78345 737.02716 497.59204 736.68536 497.38242 c +736.02911 496.97681 735.70099 496.51654 735.70099 496.00156 c +735.70099 495.58685 735.83771 495.28149 736.11115 495.08554 c +736.28888 494.95795 736.48712 494.89413 736.70587 494.89413 c +737.00665 494.89413 737.29492 494.97845 737.57062 495.14706 c +737.84631 495.31567 737.98419 495.52988 737.98419 495.78964 c +h +735.4754 497.18417 m +735.89465 497.45761 736.73096 497.82904 737.98419 498.29843 c +737.98419 498.87949 l +737.98419 499.34433 737.9386 499.66791 737.84747 499.85019 c +737.6925 500.15552 737.37122 500.3082 736.88361 500.3082 c +736.65118 500.3082 736.43018 500.24896 736.22052 500.13046 c +736.01086 500.00742 735.90607 499.83881 735.90607 499.6246 c +735.90607 499.56992 735.91748 499.47763 735.94025 499.34775 c +735.96301 499.21786 735.97443 499.1347 735.97443 499.09824 c +735.97443 498.84302 735.89014 498.66528 735.7215 498.56503 c +735.62579 498.5058 735.51184 498.47617 735.3797 498.47617 c +735.17462 498.47617 735.0174 498.5434 734.90802 498.67783 c +734.79865 498.81226 734.74396 498.96152 734.74396 499.12558 c +734.74396 499.44458 734.94104 499.77841 735.33527 500.12704 c +735.72949 500.47568 736.30713 500.64999 737.06818 500.64999 c +737.95227 500.64999 738.55157 500.36288 738.86603 499.78867 c +739.03467 499.47421 739.11896 499.0162 739.11896 498.41464 c +739.11896 495.67343 l +739.11896 495.40912 739.13721 495.22681 739.17365 495.12656 c +739.23291 494.94882 739.35596 494.85995 739.54279 494.85995 c +739.64758 494.85995 739.73419 494.87592 739.80255 494.90781 c +739.87091 494.9397 739.98938 495.01718 740.15802 495.14023 c +740.15802 494.78476 l +740.01221 494.60703 739.85498 494.46118 739.68634 494.34726 c +739.43115 494.17407 739.17139 494.08749 738.90704 494.08749 c +738.59717 494.08749 738.37268 494.18774 738.2337 494.38828 c +738.09473 494.58881 738.01837 494.82806 738.0047 495.10605 c +737.65833 494.80527 737.36212 494.58197 737.11603 494.43613 c +736.70129 494.19003 736.30713 494.06699 735.93341 494.06699 c +735.5415 494.06699 735.20197 494.20483 734.91486 494.48056 c +734.62775 494.75629 734.48419 495.10605 734.48419 495.52988 c +734.48419 496.19067 734.81458 496.74213 735.4754 497.18417 c +h +740.24689 494.39511 m +740.66614 494.43158 740.94415 494.50562 741.08087 494.61728 c +741.21759 494.72894 741.28595 494.96704 741.28595 495.33163 c +741.28595 498.41464 l +741.28595 498.86581 741.24377 499.18823 741.15948 499.38193 c +741.0752 499.57562 740.92139 499.67245 740.69806 499.67245 c +740.65247 499.67245 740.5921 499.66675 740.51691 499.65536 c +740.44171 499.64398 740.3631 499.62915 740.28107 499.61093 c +740.28107 499.83652 l +740.54083 499.92767 740.80743 500.02109 741.08087 500.11679 c +741.35431 500.21249 741.54346 500.28085 741.64825 500.32187 c +741.8761 500.40845 742.11084 500.50644 742.35236 500.61581 c +742.38428 500.61581 742.40363 500.60443 742.41046 500.58163 c +742.4173 500.55884 742.42072 500.51099 742.42072 500.43808 c +742.42072 499.31699 l +742.7124 499.7226 742.99377 500.03931 743.26495 500.26718 c +743.53613 500.49506 743.8175 500.60898 744.10919 500.60898 c +744.34161 500.60898 744.53076 500.53949 744.67657 500.40048 c +744.82239 500.26147 744.89532 500.08716 744.89532 499.87753 c +744.89532 499.69067 744.83948 499.53345 744.72784 499.40585 c +744.61621 499.27826 744.47607 499.21445 744.30743 499.21445 c +744.13428 499.21445 743.95996 499.29419 743.78448 499.4537 c +743.60901 499.61322 743.47119 499.69296 743.37091 499.69296 c +743.21143 499.69296 743.01544 499.56421 742.78302 499.30673 c +742.5506 499.04926 742.43439 498.78378 742.43439 498.51035 c +742.43439 495.42734 l +742.43439 495.0354 742.52551 494.76312 742.70782 494.61044 c +742.89014 494.45776 743.19318 494.38599 743.617 494.39511 c +743.617 494.16953 l +740.24689 494.16953 l +h +749.742 499.91513 m +750.2251 499.47079 750.46661 498.84076 750.46661 498.02499 c +746.12579 498.02499 l +746.17139 496.96768 746.41064 496.19751 746.84357 495.71445 c +747.27649 495.23138 747.78918 494.98984 748.38165 494.98984 c +748.86017 494.98984 749.26349 495.11517 749.59161 495.36581 c +749.91974 495.61646 750.22278 495.97192 750.50079 496.43222 c +750.74005 496.35019 l +750.55322 495.77142 750.20343 495.23593 749.69073 494.74374 c +749.17804 494.25156 748.55029 494.00546 747.80743 494.00546 c +746.95068 494.00546 746.2887 494.32904 745.82159 494.97617 c +745.35449 495.62329 745.12091 496.36841 745.12091 497.21152 c +745.12091 498.12753 745.39209 498.91821 745.93439 499.58359 c +746.47668 500.24896 747.18311 500.58163 748.05353 500.58163 c +748.69611 500.58163 749.25891 500.35947 749.742 499.91513 c +h +746.46759 499.39218 m +746.32178 499.14609 746.21692 498.83618 746.15314 498.46249 c +749.0379 498.46249 l +748.98779 498.91821 748.90118 499.25775 748.77814 499.48105 c +748.55481 499.88208 748.18115 500.08261 747.65704 500.08261 c +747.13751 500.08261 746.74103 499.85248 746.46759 499.39218 c +h +754.78009 495.6871 m +754.60236 495.08099 754.34259 494.50903 754.00079 493.97128 c +753.64075 493.39706 753.15997 492.86157 752.55841 492.36484 c +752.16193 492.03671 751.82922 491.80658 751.56036 491.67441 c +751.43048 491.89999 l +752.13232 492.4332 752.64502 492.97778 752.96857 493.53378 c +753.54279 494.51816 753.8299 495.81924 753.8299 497.4371 c +753.8299 498.74506 753.69775 499.81372 753.43341 500.64316 c +753.06427 501.81439 752.39661 502.73495 751.43048 503.40488 c +751.60822 503.63046 l +752.32825 503.22943 752.99817 502.62329 753.61798 501.8121 c +754.57043 500.56339 755.04669 499.16434 755.04669 497.61484 c +755.04669 496.93579 754.95782 496.29321 754.78009 495.6871 c +h +755.72345 494.16953 m +f +0 0 1 sc +1 0 0 1 0.5 0.5 cm +763.34998 491.39999 m +803.95001 491.39999 l +803.95001 501.89999 l +763.34998 501.89999 l +h +763.34998 491.39999 m +S +CM +763.84998 491.89999 m +804.45001 491.89999 l +804.45001 502.39999 l +763.84998 502.39999 l +h +763.84998 491.89999 m +f +1 0 0 1 0.5 0.5 cm +763.34998 491.39999 m +803.95001 491.39999 l +803.95001 501.89999 l +763.34998 501.89999 l +763.34998 491.39999 l +h +763.34998 491.39999 m +S +269.04999 42 m +296 42 l +296 46.799999 l +269.04999 46.799999 l +h +269.04999 42 m +S +CM +269.54999 42.5 m +296.5 42.5 l +296.5 47.299999 l +269.54999 47.299999 l +h +269.54999 42.5 m +f +1 0 0 1 0.5 0.5 cm +269.04999 42 m +269.04999 46.75 l +295.95001 46.75 l +295.95001 42 l +269.04999 42 l +h +269.04999 42 m +S +0 0 0 sc +CM +661.09357 481.86484 m +661.09357 482.09726 l +661.6131 482.21576 662.0802 482.3479 662.49493 482.49374 c +662.90967 482.63959 663.13293 482.71249 663.16486 482.71249 c +663.17395 482.68515 663.17853 482.65781 663.17853 482.63046 c +663.17853 478.46738 l +663.297 478.68613 663.47473 478.89349 663.71173 479.08945 c +664.13098 479.43124 664.61407 479.60214 665.16095 479.60214 c +665.83087 479.60214 666.40283 479.31958 666.87677 478.75449 c +667.35071 478.18939 667.58771 477.45566 667.58771 476.55331 c +667.58771 475.58716 667.28009 474.76001 666.66486 474.07187 c +666.04962 473.38373 665.24072 473.03964 664.2381 473.03964 c +663.73224 473.03964 663.23547 473.13989 662.74786 473.34042 c +662.26025 473.54095 662.01642 473.74146 662.01642 473.94199 c +662.01642 481.16757 l +662.01642 481.43188 661.97998 481.61987 661.90704 481.73154 c +661.83411 481.8432 661.66553 481.89902 661.40118 481.89902 c +h +663.68439 473.65829 m +663.99884 473.55576 664.27454 473.50449 664.51154 473.50449 c +665.14954 473.50449 665.62238 473.74374 665.92999 474.22226 c +666.23761 474.70078 666.39142 475.27954 666.39142 475.95859 c +666.39142 476.63763 666.24786 477.26538 665.96075 477.84189 c +665.67365 478.4184 665.2088 478.70663 664.56622 478.70663 c +664.24268 478.70663 663.9259 478.60751 663.61603 478.40927 c +663.30615 478.21103 663.15118 477.95923 663.15118 477.6539 c +663.15118 474.16757 l +663.1922 473.9306 663.36993 473.76083 663.68439 473.65829 c +h +669.39923 482.50058 m +669.53595 482.64185 669.70459 482.71249 669.90509 482.71249 c +670.10107 482.71249 670.26855 482.64301 670.40753 482.504 c +670.54651 482.36499 670.61603 482.19525 670.61603 481.99472 c +670.61603 481.79877 670.54651 481.63129 670.40753 481.49228 c +670.26855 481.35327 670.10107 481.28378 669.90509 481.28378 c +669.70459 481.28378 669.53595 481.35327 669.39923 481.49228 c +669.26251 481.63129 669.19415 481.79877 669.19415 481.99472 c +669.19415 482.19067 669.26251 482.35931 669.39923 482.50058 c +h +668.31915 473.36093 m +668.80676 473.40649 669.11438 473.48969 669.242 473.61044 c +669.36963 473.7312 669.43341 474.0582 669.43341 474.5914 c +669.43341 477.85214 l +669.43341 478.14838 669.4129 478.35345 669.37189 478.46738 c +669.30353 478.65424 669.15997 478.74765 668.94122 478.74765 c +668.89111 478.74765 668.8421 478.7431 668.79425 478.73398 c +668.7464 478.72485 668.60852 478.68842 668.38068 478.6246 c +668.38068 478.83652 l +668.67462 478.93222 l +669.47217 479.19199 670.02814 479.38794 670.34259 479.52011 c +670.47021 479.5748 670.55225 479.60214 670.58868 479.60214 c +670.59778 479.57025 670.60236 479.53607 670.60236 479.4996 c +670.60236 474.5914 l +670.60236 474.07187 670.66504 473.74603 670.79034 473.61386 c +670.91565 473.48169 671.19934 473.3974 671.64142 473.36093 c +671.64142 473.16953 l +668.31915 473.16953 l +h +675.49689 479.47226 m +675.49689 478.98007 l +674.10236 478.98007 l +674.08868 475.04257 l +674.08868 474.69623 674.11829 474.43417 674.17755 474.25644 c +674.28693 473.94199 674.5011 473.78476 674.82013 473.78476 c +674.98419 473.78476 675.12659 473.82349 675.24738 473.90097 c +675.36816 473.97845 675.50598 474.1015 675.66095 474.27011 c +675.83868 474.11972 l +675.68829 473.91464 l +675.45129 473.59564 675.20068 473.37006 674.93634 473.23788 c +674.672 473.10571 674.41681 473.03964 674.17072 473.03964 c +673.63293 473.03964 673.26837 473.2789 673.07697 473.75742 c +672.97217 474.01718 672.91974 474.3772 672.91974 474.83749 c +672.91974 478.98007 l +672.17462 478.98007 l +672.15186 478.99374 672.13477 479.00742 672.12335 479.02109 c +672.11194 479.03476 672.10626 479.05298 672.10626 479.07578 c +672.10626 479.12134 672.11652 479.15668 672.13702 479.18173 c +672.15753 479.20679 672.22247 479.26489 672.33185 479.35605 c +672.6463 479.61581 672.87305 479.8266 673.01202 479.98837 c +673.151 480.15015 673.47803 480.57739 673.99298 481.27011 c +674.05225 481.27011 674.08752 481.26556 674.09894 481.25644 c +674.11035 481.24731 674.11603 481.21313 674.11603 481.1539 c +674.11603 479.47226 l +h +675.88654 473.39511 m +676.30579 473.43158 676.5838 473.50562 676.72052 473.61728 c +676.85724 473.72894 676.9256 473.96704 676.9256 474.33163 c +676.9256 477.41464 l +676.9256 477.86581 676.88342 478.18823 676.79913 478.38193 c +676.71484 478.57562 676.56104 478.67245 676.33771 478.67245 c +676.29211 478.67245 676.23175 478.66675 676.15656 478.65536 c +676.08136 478.64398 676.00275 478.62915 675.92072 478.61093 c +675.92072 478.83652 l +676.18048 478.92767 676.44708 479.02109 676.72052 479.11679 c +676.99396 479.21249 677.18311 479.28085 677.2879 479.32187 c +677.51575 479.40845 677.75049 479.50644 677.992 479.61581 c +678.02393 479.61581 678.04327 479.60443 678.05011 479.58163 c +678.05695 479.55884 678.06036 479.51099 678.06036 479.43808 c +678.06036 478.31699 l +678.35205 478.7226 678.63342 479.03931 678.9046 479.26718 c +679.17578 479.49506 679.45715 479.60898 679.74884 479.60898 c +679.98126 479.60898 680.17041 479.53949 680.31622 479.40048 c +680.46204 479.26147 680.53497 479.08716 680.53497 478.87753 c +680.53497 478.69067 680.47913 478.53345 680.36749 478.40585 c +680.25586 478.27826 680.11572 478.21445 679.94708 478.21445 c +679.77393 478.21445 679.59961 478.29419 679.42413 478.4537 c +679.24866 478.61322 679.11084 478.69296 679.01056 478.69296 c +678.85107 478.69296 678.65509 478.56421 678.42267 478.30673 c +678.19025 478.04926 678.07404 477.78378 678.07404 477.51035 c +678.07404 474.42734 l +678.07404 474.0354 678.16516 473.76312 678.34747 473.61044 c +678.52979 473.45776 678.83282 473.38599 679.25665 473.39511 c +679.25665 473.16953 l +675.88654 473.16953 l +h +685.38165 478.91513 m +685.86475 478.47079 686.10626 477.84076 686.10626 477.02499 c +681.76544 477.02499 l +681.81104 475.96768 682.05029 475.19751 682.48322 474.71445 c +682.91614 474.23138 683.42883 473.98984 684.0213 473.98984 c +684.49982 473.98984 684.90314 474.11517 685.23126 474.36581 c +685.55939 474.61646 685.86243 474.97192 686.14044 475.43222 c +686.3797 475.35019 l +686.19287 474.77142 685.84308 474.23593 685.33038 473.74374 c +684.81769 473.25156 684.18994 473.00546 683.44708 473.00546 c +682.59033 473.00546 681.92834 473.32904 681.46124 473.97617 c +680.99414 474.62329 680.76056 475.36841 680.76056 476.21152 c +680.76056 477.12753 681.03174 477.91821 681.57404 478.58359 c +682.11633 479.24896 682.82275 479.58163 683.69318 479.58163 c +684.33575 479.58163 684.89856 479.35947 685.38165 478.91513 c +h +682.10724 478.39218 m +681.96143 478.14609 681.85657 477.83618 681.79279 477.46249 c +684.67755 477.46249 l +684.62744 477.91821 684.54083 478.25775 684.41779 478.48105 c +684.19446 478.88208 683.8208 479.08261 683.29669 479.08261 c +682.77716 479.08261 682.38068 478.85248 682.10724 478.39218 c +h +691.59552 478.91513 m +692.07861 478.47079 692.32013 477.84076 692.32013 477.02499 c +687.97931 477.02499 l +688.0249 475.96768 688.26416 475.19751 688.69708 474.71445 c +689.13 474.23138 689.6427 473.98984 690.23517 473.98984 c +690.71368 473.98984 691.117 474.11517 691.44513 474.36581 c +691.77325 474.61646 692.07629 474.97192 692.35431 475.43222 c +692.59357 475.35019 l +692.40674 474.77142 692.05695 474.23593 691.54425 473.74374 c +691.03156 473.25156 690.40381 473.00546 689.66095 473.00546 c +688.8042 473.00546 688.14221 473.32904 687.67511 473.97617 c +687.20801 474.62329 686.97443 475.36841 686.97443 476.21152 c +686.97443 477.12753 687.24561 477.91821 687.7879 478.58359 c +688.3302 479.24896 689.03662 479.58163 689.90704 479.58163 c +690.54962 479.58163 691.11243 479.35947 691.59552 478.91513 c +h +688.32111 478.39218 m +688.17529 478.14609 688.07043 477.83618 688.00665 477.46249 c +690.89142 477.46249 l +690.84131 477.91821 690.7547 478.25775 690.63165 478.48105 c +690.40833 478.88208 690.03467 479.08261 689.51056 479.08261 c +688.99103 479.08261 688.59454 478.85248 688.32111 478.39218 c +h +698.47931 480.85995 m +699.06262 481.59369 699.75079 482.18384 700.54376 482.63046 c +700.67365 482.40488 l +699.93994 481.82153 699.41583 481.25415 699.10138 480.70273 c +698.54993 479.74115 698.27423 478.46054 698.27423 476.86093 c +698.27423 475.67603 698.37903 474.69849 698.58868 473.92831 c +698.95782 472.57935 699.65283 471.56992 700.67365 470.89999 c +700.49591 470.67441 l +699.93536 470.9433 699.32922 471.46967 698.67755 472.25351 c +697.59747 473.55234 697.05743 475.0289 697.05743 476.6832 c +697.05743 478.26913 697.53137 479.66138 698.47931 480.85995 c +h +705.02814 482.43222 m +705.02814 482.17245 l +704.67725 482.16791 704.43799 482.14511 704.31036 482.1041 c +704.08704 482.03119 703.9754 481.88306 703.9754 481.65976 c +703.9754 481.54584 704.01526 481.38632 704.09503 481.18124 c +704.1748 480.97617 704.32404 480.63208 704.54279 480.14902 c +706.73029 475.27499 l +708.71954 480.55234 l +708.80615 480.78476 708.87219 480.98071 708.91779 481.14023 c +708.96338 481.29974 708.98615 481.42963 708.98615 481.52988 c +708.98615 481.79877 708.86993 481.98105 708.63751 482.07675 c +708.50079 482.13144 708.27521 482.16333 707.96075 482.17245 c +707.96075 482.43222 l +710.82501 482.43222 l +710.82501 482.19296 l +710.52881 482.15195 710.31006 482.0722 710.16876 481.9537 c +709.95459 481.77597 709.74268 481.41821 709.53302 480.88046 c +706.43634 473.00546 l +706.22443 473.00546 l +702.77228 480.70273 l +702.48059 481.35443 702.24707 481.76001 702.07159 481.91953 c +701.89612 482.07904 701.63977 482.17017 701.30255 482.19296 c +701.30255 482.43222 l +h +711.34454 473.42245 m +711.92334 473.48169 712.29474 473.61273 712.4588 473.81552 c +712.62286 474.01831 712.7049 474.48886 712.7049 475.22714 c +712.7049 480.91464 l +712.7049 481.4205 712.62512 481.74976 712.46564 481.90244 c +712.30615 482.05511 711.94385 482.14511 711.37872 482.17245 c +711.37872 482.43222 l +714.14728 482.43222 l +717.38751 475.3707 l +720.48419 482.43222 l +723.27325 482.43222 l +723.27325 482.17245 l +722.75372 482.13599 722.41876 482.04144 722.26837 481.88876 c +722.11798 481.73608 722.04279 481.41138 722.04279 480.91464 c +722.04279 474.6871 l +722.04279 474.1767 722.11798 473.8497 722.26837 473.70615 c +722.41876 473.56259 722.75372 473.46802 723.27325 473.42245 c +723.27325 473.16953 l +719.34943 473.16953 l +719.34943 473.42245 l +719.91455 473.46802 720.2666 473.56943 720.40558 473.72665 c +720.54456 473.88388 720.61407 474.25873 720.61407 474.85117 c +720.61407 481.14023 l +717.03204 473.16953 l +716.84064 473.16953 l +713.32013 480.8121 l +713.32013 475.22714 l +713.32013 474.46152 713.43176 473.96249 713.65509 473.73007 c +713.8009 473.57968 714.12677 473.47714 714.63263 473.42245 c +714.63263 473.16953 l +711.34454 473.16953 l +h +730.14337 479.3082 m +729.86993 479.27631 729.66711 479.23071 729.53497 479.17148 c +729.40283 479.11224 729.33673 478.99374 729.33673 478.81601 c +729.33673 478.72031 729.35156 478.62119 729.38116 478.51865 c +729.41077 478.41611 729.45068 478.29648 729.50079 478.15976 c +730.74493 474.91269 l +731.96173 477.87949 l +732.01642 478.00708 732.07568 478.17456 732.13947 478.38193 c +732.20325 478.58929 732.23517 478.74536 732.23517 478.85019 c +732.23517 479.0188 732.18274 479.13275 732.07794 479.19199 c +731.97314 479.25122 731.82043 479.29453 731.61993 479.32187 c +731.61993 479.52011 l +733.35626 479.52011 l +733.35626 479.32187 l +733.24231 479.29907 733.14893 479.24438 733.07599 479.15781 c +733.00305 479.07123 732.90051 478.86615 732.76837 478.54257 c +730.58087 473.14902 l +730.56262 473.108 730.54669 473.07837 730.53302 473.06015 c +730.51935 473.04193 730.49884 473.03281 730.4715 473.03281 c +730.41681 473.06015 730.38489 473.08295 730.37579 473.10117 c +728.83087 476.92245 l +727.03302 473.11484 l +727.02393 473.09204 727.01135 473.07269 726.99542 473.05673 c +726.97949 473.04077 726.96008 473.03281 726.93732 473.03281 c +726.88263 473.06015 726.85071 473.08295 726.84161 473.10117 c +724.79767 478.13925 l +724.57434 478.69067 724.42627 479.01538 724.35333 479.11337 c +724.2804 479.21136 724.13684 479.27631 723.92267 479.3082 c +723.92267 479.52011 l +726.45197 479.52011 l +726.45197 479.3082 l +726.24231 479.28998 726.08167 479.25238 725.97003 479.1954 c +725.8584 479.13843 725.80255 479.01654 725.80255 478.82968 c +725.80255 478.69751 725.896 478.37396 726.08282 477.85898 c +726.1922 477.56274 726.33118 477.20273 726.49982 476.7789 c +727.27911 474.83749 l +728.50958 477.47617 l +728.52325 477.5582 l +728.52325 477.64935 728.47424 477.81909 728.37628 478.06747 c +728.27832 478.31586 728.18372 478.53802 728.09259 478.73398 c +728.00146 478.93906 727.89777 479.08148 727.78156 479.16122 c +727.66534 479.24097 727.50244 479.28998 727.29279 479.3082 c +727.29279 479.52011 l +730.14337 479.52011 l +h +737.75861 476.95663 m +737.2345 476.78345 736.80157 476.59204 736.45978 476.38242 c +735.80353 475.97681 735.4754 475.51654 735.4754 475.00156 c +735.4754 474.58685 735.61212 474.28149 735.88556 474.08554 c +736.06329 473.95795 736.26154 473.89413 736.48029 473.89413 c +736.78107 473.89413 737.06934 473.97845 737.34503 474.14706 c +737.62073 474.31567 737.75861 474.52988 737.75861 474.78964 c +h +735.24982 476.18417 m +735.66907 476.45761 736.50537 476.82904 737.75861 477.29843 c +737.75861 477.87949 l +737.75861 478.34433 737.71301 478.66791 737.62189 478.85019 c +737.46692 479.15552 737.14563 479.3082 736.65802 479.3082 c +736.4256 479.3082 736.20459 479.24896 735.99493 479.13046 c +735.78528 479.00742 735.68048 478.83881 735.68048 478.6246 c +735.68048 478.56992 735.69189 478.47763 735.71466 478.34775 c +735.73743 478.21786 735.74884 478.1347 735.74884 478.09824 c +735.74884 477.84302 735.66455 477.66528 735.49591 477.56503 c +735.40021 477.5058 735.28625 477.47617 735.15411 477.47617 c +734.94904 477.47617 734.79181 477.5434 734.68243 477.67783 c +734.57306 477.81226 734.51837 477.96152 734.51837 478.12558 c +734.51837 478.44458 734.71545 478.77841 735.10968 479.12704 c +735.50391 479.47568 736.08154 479.64999 736.84259 479.64999 c +737.72668 479.64999 738.32599 479.36288 738.64044 478.78867 c +738.80908 478.47421 738.89337 478.0162 738.89337 477.41464 c +738.89337 474.67343 l +738.89337 474.40912 738.91162 474.22681 738.94806 474.12656 c +739.00732 473.94882 739.13037 473.85995 739.3172 473.85995 c +739.422 473.85995 739.50861 473.87592 739.57697 473.90781 c +739.64532 473.9397 739.76379 474.01718 739.93243 474.14023 c +739.93243 473.78476 l +739.78662 473.60703 739.62939 473.46118 739.46075 473.34726 c +739.20557 473.17407 738.9458 473.08749 738.68146 473.08749 c +738.37158 473.08749 738.14709 473.18774 738.00812 473.38828 c +737.86914 473.58881 737.79279 473.82806 737.77911 474.10605 c +737.43274 473.80527 737.13654 473.58197 736.89044 473.43613 c +736.47571 473.19003 736.08154 473.06699 735.70782 473.06699 c +735.31592 473.06699 734.97638 473.20483 734.68927 473.48056 c +734.40216 473.75629 734.25861 474.10605 734.25861 474.52988 c +734.25861 475.19067 734.58899 475.74213 735.24982 476.18417 c +h +740.0213 473.39511 m +740.44055 473.43158 740.71857 473.50562 740.85529 473.61728 c +740.992 473.72894 741.06036 473.96704 741.06036 474.33163 c +741.06036 477.41464 l +741.06036 477.86581 741.01819 478.18823 740.9339 478.38193 c +740.84961 478.57562 740.6958 478.67245 740.47247 478.67245 c +740.42688 478.67245 740.36652 478.66675 740.29132 478.65536 c +740.21613 478.64398 740.13751 478.62915 740.05548 478.61093 c +740.05548 478.83652 l +740.31525 478.92767 740.58185 479.02109 740.85529 479.11679 c +741.12872 479.21249 741.31787 479.28085 741.42267 479.32187 c +741.65051 479.40845 741.88525 479.50644 742.12677 479.61581 c +742.15869 479.61581 742.17804 479.60443 742.18488 479.58163 c +742.19171 479.55884 742.19513 479.51099 742.19513 479.43808 c +742.19513 478.31699 l +742.48682 478.7226 742.76819 479.03931 743.03937 479.26718 c +743.31055 479.49506 743.59192 479.60898 743.88361 479.60898 c +744.11603 479.60898 744.30518 479.53949 744.45099 479.40048 c +744.5968 479.26147 744.66974 479.08716 744.66974 478.87753 c +744.66974 478.69067 744.61389 478.53345 744.50226 478.40585 c +744.39062 478.27826 744.25049 478.21445 744.08185 478.21445 c +743.90869 478.21445 743.73438 478.29419 743.5589 478.4537 c +743.38342 478.61322 743.24561 478.69296 743.14532 478.69296 c +742.98584 478.69296 742.78986 478.56421 742.55743 478.30673 c +742.32501 478.04926 742.2088 477.78378 742.2088 477.51035 c +742.2088 474.42734 l +742.2088 474.0354 742.29993 473.76312 742.48224 473.61044 c +742.66455 473.45776 742.96759 473.38599 743.39142 473.39511 c +743.39142 473.16953 l +740.0213 473.16953 l +h +749.51642 478.91513 m +749.99951 478.47079 750.24103 477.84076 750.24103 477.02499 c +745.90021 477.02499 l +745.9458 475.96768 746.18506 475.19751 746.61798 474.71445 c +747.0509 474.23138 747.5636 473.98984 748.15607 473.98984 c +748.63458 473.98984 749.0379 474.11517 749.36603 474.36581 c +749.69415 474.61646 749.99719 474.97192 750.27521 475.43222 c +750.51447 475.35019 l +750.32764 474.77142 749.97784 474.23593 749.46515 473.74374 c +748.95245 473.25156 748.32471 473.00546 747.58185 473.00546 c +746.7251 473.00546 746.06311 473.32904 745.59601 473.97617 c +745.12891 474.62329 744.89532 475.36841 744.89532 476.21152 c +744.89532 477.12753 745.1665 477.91821 745.7088 478.58359 c +746.2511 479.24896 746.95752 479.58163 747.82794 479.58163 c +748.47052 479.58163 749.03333 479.35947 749.51642 478.91513 c +h +746.242 478.39218 m +746.09619 478.14609 745.99133 477.83618 745.92755 477.46249 c +748.81232 477.46249 l +748.76221 477.91821 748.6756 478.25775 748.55255 478.48105 c +748.32922 478.88208 747.95557 479.08261 747.43146 479.08261 c +746.91193 479.08261 746.51544 478.85248 746.242 478.39218 c +h +754.5545 474.6871 m +754.37677 474.08099 754.117 473.50903 753.77521 472.97128 c +753.41516 472.39706 752.93439 471.86157 752.33282 471.36484 c +751.93634 471.03671 751.60364 470.80658 751.33478 470.67441 c +751.2049 470.89999 l +751.90674 471.4332 752.41943 471.97778 752.74298 472.53378 c +753.3172 473.51816 753.60431 474.81924 753.60431 476.4371 c +753.60431 477.74506 753.47217 478.81372 753.20782 479.64316 c +752.83868 480.81439 752.17102 481.73495 751.2049 482.40488 c +751.38263 482.63046 l +752.10266 482.22943 752.77258 481.62329 753.3924 480.8121 c +754.34485 479.56339 754.82111 478.16434 754.82111 476.61484 c +754.82111 475.93579 754.73224 475.29321 754.5545 474.6871 c +h +755.49786 473.16953 m +f +0 0 1 sc +1 0 0 1 0.5 0.5 cm +763.34998 470.39999 m +803.95001 470.39999 l +803.95001 480.89999 l +763.34998 480.89999 l +h +763.34998 470.39999 m +S +CM +763.84998 470.89999 m +804.45001 470.89999 l +804.45001 481.39999 l +763.84998 481.39999 l +h +763.84998 470.89999 m +f +1 0 0 1 0.5 0.5 cm +763.34998 470.39999 m +803.95001 470.39999 l +803.95001 480.89999 l +763.34998 480.89999 l +763.34998 470.39999 l +h +763.34998 470.39999 m +S +484.35001 42 m +511.29999 42 l +511.29999 246.60001 l +484.35001 246.60001 l +h +484.35001 42 m +S +CM +484.85001 42.5 m +511.79999 42.5 l +511.79999 247.10001 l +484.85001 247.10001 l +h +484.85001 42.5 m +f +1 0 0 1 0.5 0.5 cm +484.35001 42 m +484.35001 246.55 l +511.25 246.55 l +511.25 42 l +484.35001 42 l +h +484.35001 42 m +S +0 0 0 sc +CM +667.84064 458.47226 m +667.84064 457.98007 l +666.44611 457.98007 l +666.43243 454.04257 l +666.43243 453.69623 666.46204 453.43417 666.5213 453.25644 c +666.63068 452.94199 666.84485 452.78476 667.16388 452.78476 c +667.32794 452.78476 667.47034 452.82349 667.59113 452.90097 c +667.71191 452.97845 667.84973 453.1015 668.0047 453.27011 c +668.18243 453.11972 l +668.03204 452.91464 l +667.79504 452.59564 667.54443 452.37006 667.28009 452.23788 c +667.01575 452.10571 666.76056 452.03964 666.51447 452.03964 c +665.97668 452.03964 665.61212 452.2789 665.42072 452.75742 c +665.31592 453.01718 665.26349 453.3772 665.26349 453.83749 c +665.26349 457.98007 l +664.51837 457.98007 l +664.49561 457.99374 664.47852 458.00742 664.4671 458.02109 c +664.45569 458.03476 664.45001 458.05298 664.45001 458.07578 c +664.45001 458.12134 664.46027 458.15668 664.48077 458.18173 c +664.50128 458.20679 664.56622 458.26489 664.6756 458.35605 c +664.99005 458.61581 665.2168 458.8266 665.35577 458.98837 c +665.49475 459.15015 665.82178 459.57739 666.33673 460.27011 c +666.396 460.27011 666.43127 460.26556 666.44269 460.25644 c +666.4541 460.24731 666.45978 460.21313 666.45978 460.1539 c +666.45978 458.47226 l +h +669.52228 461.50058 m +669.659 461.64185 669.82764 461.71249 670.02814 461.71249 c +670.22412 461.71249 670.3916 461.64301 670.53058 461.504 c +670.66956 461.36499 670.73907 461.19525 670.73907 460.99472 c +670.73907 460.79877 670.66956 460.63129 670.53058 460.49228 c +670.3916 460.35327 670.22412 460.28378 670.02814 460.28378 c +669.82764 460.28378 669.659 460.35327 669.52228 460.49228 c +669.38556 460.63129 669.3172 460.79877 669.3172 460.99472 c +669.3172 461.19067 669.38556 461.35931 669.52228 461.50058 c +h +668.4422 452.36093 m +668.92981 452.40649 669.23743 452.48969 669.36505 452.61044 c +669.49268 452.7312 669.55646 453.0582 669.55646 453.5914 c +669.55646 456.85214 l +669.55646 457.14838 669.53595 457.35345 669.49493 457.46738 c +669.42657 457.65424 669.28302 457.74765 669.06427 457.74765 c +669.01416 457.74765 668.96515 457.7431 668.9173 457.73398 c +668.86945 457.72485 668.73157 457.68842 668.50372 457.6246 c +668.50372 457.83652 l +668.79767 457.93222 l +669.59521 458.19199 670.15118 458.38794 670.46564 458.52011 c +670.59326 458.5748 670.67529 458.60214 670.71173 458.60214 c +670.72083 458.57025 670.7254 458.53607 670.7254 458.4996 c +670.7254 453.5914 l +670.7254 453.07187 670.78809 452.74603 670.91339 452.61386 c +671.0387 452.48169 671.32239 452.3974 671.76447 452.36093 c +671.76447 452.16953 l +668.4422 452.16953 l +h +675.61993 458.47226 m +675.61993 457.98007 l +674.2254 457.98007 l +674.21173 454.04257 l +674.21173 453.69623 674.24133 453.43417 674.3006 453.25644 c +674.40997 452.94199 674.62415 452.78476 674.94318 452.78476 c +675.10724 452.78476 675.24963 452.82349 675.37042 452.90097 c +675.49121 452.97845 675.62903 453.1015 675.784 453.27011 c +675.96173 453.11972 l +675.81134 452.91464 l +675.57434 452.59564 675.32373 452.37006 675.05939 452.23788 c +674.79504 452.10571 674.53986 452.03964 674.29376 452.03964 c +673.75598 452.03964 673.39142 452.2789 673.20001 452.75742 c +673.09521 453.01718 673.04279 453.3772 673.04279 453.83749 c +673.04279 457.98007 l +672.29767 457.98007 l +672.2749 457.99374 672.25781 458.00742 672.2464 458.02109 c +672.23499 458.03476 672.22931 458.05298 672.22931 458.07578 c +672.22931 458.12134 672.23956 458.15668 672.26007 458.18173 c +672.28058 458.20679 672.34552 458.26489 672.4549 458.35605 c +672.76935 458.61581 672.99609 458.8266 673.13507 458.98837 c +673.27405 459.15015 673.60107 459.57739 674.11603 460.27011 c +674.17529 460.27011 674.21057 460.26556 674.22198 460.25644 c +674.2334 460.24731 674.23907 460.21313 674.23907 460.1539 c +674.23907 458.47226 l +h +676.00958 452.39511 m +676.42883 452.43158 676.70685 452.50562 676.84357 452.61728 c +676.98029 452.72894 677.04865 452.96704 677.04865 453.33163 c +677.04865 456.41464 l +677.04865 456.86581 677.00647 457.18823 676.92218 457.38193 c +676.83789 457.57562 676.68408 457.67245 676.46075 457.67245 c +676.41516 457.67245 676.3548 457.66675 676.2796 457.65536 c +676.20441 457.64398 676.12579 457.62915 676.04376 457.61093 c +676.04376 457.83652 l +676.30353 457.92767 676.57013 458.02109 676.84357 458.11679 c +677.117 458.21249 677.30615 458.28085 677.41095 458.32187 c +677.63879 458.40845 677.87354 458.50644 678.11505 458.61581 c +678.14697 458.61581 678.16632 458.60443 678.17316 458.58163 c +678.17999 458.55884 678.18341 458.51099 678.18341 458.43808 c +678.18341 457.31699 l +678.4751 457.7226 678.75647 458.03931 679.02765 458.26718 c +679.29883 458.49506 679.5802 458.60898 679.87189 458.60898 c +680.10431 458.60898 680.29346 458.53949 680.43927 458.40048 c +680.58508 458.26147 680.65802 458.08716 680.65802 457.87753 c +680.65802 457.69067 680.60217 457.53345 680.49054 457.40585 c +680.37891 457.27826 680.23877 457.21445 680.07013 457.21445 c +679.89697 457.21445 679.72266 457.29419 679.54718 457.4537 c +679.3717 457.61322 679.23389 457.69296 679.13361 457.69296 c +678.97412 457.69296 678.77814 457.56421 678.54572 457.30673 c +678.31329 457.04926 678.19708 456.78378 678.19708 456.51035 c +678.19708 453.42734 l +678.19708 453.0354 678.28821 452.76312 678.47052 452.61044 c +678.65283 452.45776 678.95587 452.38599 679.3797 452.39511 c +679.3797 452.16953 l +676.00958 452.16953 l +h +685.5047 457.91513 m +685.98779 457.47079 686.22931 456.84076 686.22931 456.02499 c +681.88849 456.02499 l +681.93408 454.96768 682.17334 454.19751 682.60626 453.71445 c +683.03918 453.23138 683.55188 452.98984 684.14435 452.98984 c +684.62286 452.98984 685.02618 453.11517 685.35431 453.36581 c +685.68243 453.61646 685.98547 453.97192 686.26349 454.43222 c +686.50275 454.35019 l +686.31592 453.77142 685.96613 453.23593 685.45343 452.74374 c +684.94073 452.25156 684.31299 452.00546 683.57013 452.00546 c +682.71338 452.00546 682.05139 452.32904 681.58429 452.97617 c +681.11719 453.62329 680.88361 454.36841 680.88361 455.21152 c +680.88361 456.12753 681.15479 456.91821 681.69708 457.58359 c +682.23938 458.24896 682.9458 458.58163 683.81622 458.58163 c +684.4588 458.58163 685.02161 458.35947 685.5047 457.91513 c +h +682.23029 457.39218 m +682.08447 457.14609 681.97961 456.83618 681.91583 456.46249 c +684.8006 456.46249 l +684.75049 456.91821 684.66388 457.25775 684.54083 457.48105 c +684.3175 457.88208 683.94385 458.08261 683.41974 458.08261 c +682.90021 458.08261 682.50372 457.85248 682.23029 457.39218 c +h +691.71857 457.91513 m +692.20166 457.47079 692.44318 456.84076 692.44318 456.02499 c +688.10236 456.02499 l +688.14795 454.96768 688.38721 454.19751 688.82013 453.71445 c +689.25305 453.23138 689.76575 452.98984 690.35822 452.98984 c +690.83673 452.98984 691.24005 453.11517 691.56818 453.36581 c +691.8963 453.61646 692.19934 453.97192 692.47736 454.43222 c +692.71661 454.35019 l +692.52979 453.77142 692.17999 453.23593 691.6673 452.74374 c +691.1546 452.25156 690.52686 452.00546 689.784 452.00546 c +688.92725 452.00546 688.26526 452.32904 687.79816 452.97617 c +687.33105 453.62329 687.09747 454.36841 687.09747 455.21152 c +687.09747 456.12753 687.36865 456.91821 687.91095 457.58359 c +688.45325 458.24896 689.15967 458.58163 690.03009 458.58163 c +690.67267 458.58163 691.23547 458.35947 691.71857 457.91513 c +h +688.44415 457.39218 m +688.29834 457.14609 688.19348 456.83618 688.1297 456.46249 c +691.01447 456.46249 l +690.96436 456.91821 690.87775 457.25775 690.7547 457.48105 c +690.53137 457.88208 690.15771 458.08261 689.63361 458.08261 c +689.11407 458.08261 688.71759 457.85248 688.44415 457.39218 c +h +698.60236 459.85995 m +699.18567 460.59369 699.87384 461.18384 700.66681 461.63046 c +700.79669 461.40488 l +700.06299 460.82153 699.53888 460.25415 699.22443 459.70273 c +698.67297 458.74115 698.39728 457.46054 698.39728 455.86093 c +698.39728 454.67603 698.50208 453.69849 698.71173 452.92831 c +699.08087 451.57935 699.77588 450.56992 700.79669 449.89999 c +700.61896 449.67441 l +700.05841 449.9433 699.45227 450.46967 698.8006 451.25351 c +697.72052 452.55234 697.18048 454.0289 697.18048 455.6832 c +697.18048 457.26913 697.65442 458.66138 698.60236 459.85995 c +h +705.15118 461.43222 m +705.15118 461.17245 l +704.80029 461.16791 704.56104 461.14511 704.43341 461.1041 c +704.21008 461.03119 704.09845 460.88306 704.09845 460.65976 c +704.09845 460.54584 704.13831 460.38632 704.21808 460.18124 c +704.29785 459.97617 704.44708 459.63208 704.66583 459.14902 c +706.85333 454.27499 l +708.84259 459.55234 l +708.9292 459.78476 708.99524 459.98071 709.04083 460.14023 c +709.08643 460.29974 709.10919 460.42963 709.10919 460.52988 c +709.10919 460.79877 708.99298 460.98105 708.76056 461.07675 c +708.62384 461.13144 708.39825 461.16333 708.0838 461.17245 c +708.0838 461.43222 l +710.94806 461.43222 l +710.94806 461.19296 l +710.65186 461.15195 710.43311 461.0722 710.29181 460.9537 c +710.07764 460.77597 709.86572 460.41821 709.65607 459.88046 c +706.55939 452.00546 l +706.34747 452.00546 l +702.89532 459.70273 l +702.60364 460.35443 702.37012 460.76001 702.19464 460.91953 c +702.01917 461.07904 701.76282 461.17017 701.4256 461.19296 c +701.4256 461.43222 l +h +711.46759 452.42245 m +712.04639 452.48169 712.41779 452.61273 712.58185 452.81552 c +712.74591 453.01831 712.82794 453.48886 712.82794 454.22714 c +712.82794 459.91464 l +712.82794 460.4205 712.74817 460.74976 712.58868 460.90244 c +712.4292 461.05511 712.06689 461.14511 711.50177 461.17245 c +711.50177 461.43222 l +714.27032 461.43222 l +717.51056 454.3707 l +720.60724 461.43222 l +723.3963 461.43222 l +723.3963 461.17245 l +722.87677 461.13599 722.54181 461.04144 722.39142 460.88876 c +722.24103 460.73608 722.16583 460.41138 722.16583 459.91464 c +722.16583 453.6871 l +722.16583 453.1767 722.24103 452.8497 722.39142 452.70615 c +722.54181 452.56259 722.87677 452.46802 723.3963 452.42245 c +723.3963 452.16953 l +719.47247 452.16953 l +719.47247 452.42245 l +720.0376 452.46802 720.38965 452.56943 720.52863 452.72665 c +720.6676 452.88388 720.73712 453.25873 720.73712 453.85117 c +720.73712 460.14023 l +717.15509 452.16953 l +716.96368 452.16953 l +713.44318 459.8121 l +713.44318 454.22714 l +713.44318 453.46152 713.55481 452.96249 713.77814 452.73007 c +713.92395 452.57968 714.24982 452.47714 714.75568 452.42245 c +714.75568 452.16953 l +711.46759 452.16953 l +h +730.26642 458.3082 m +729.99298 458.27631 729.79016 458.23071 729.65802 458.17148 c +729.52588 458.11224 729.45978 457.99374 729.45978 457.81601 c +729.45978 457.72031 729.47461 457.62119 729.50421 457.51865 c +729.53381 457.41611 729.57373 457.29648 729.62384 457.15976 c +730.86798 453.91269 l +732.08478 456.87949 l +732.13947 457.00708 732.19873 457.17456 732.26251 457.38193 c +732.32629 457.58929 732.35822 457.74536 732.35822 457.85019 c +732.35822 458.0188 732.30579 458.13275 732.20099 458.19199 c +732.09619 458.25122 731.94348 458.29453 731.74298 458.32187 c +731.74298 458.52011 l +733.47931 458.52011 l +733.47931 458.32187 l +733.36536 458.29907 733.27197 458.24438 733.19904 458.15781 c +733.1261 458.07123 733.02356 457.86615 732.89142 457.54257 c +730.70392 452.14902 l +730.68567 452.108 730.66974 452.07837 730.65607 452.06015 c +730.6424 452.04193 730.62189 452.03281 730.59454 452.03281 c +730.53986 452.06015 730.50793 452.08295 730.49884 452.10117 c +728.95392 455.92245 l +727.15607 452.11484 l +727.14697 452.09204 727.1344 452.07269 727.11847 452.05673 c +727.10254 452.04077 727.08313 452.03281 727.06036 452.03281 c +727.00568 452.06015 726.97375 452.08295 726.96466 452.10117 c +724.92072 457.13925 l +724.69739 457.69067 724.54932 458.01538 724.47638 458.11337 c +724.40344 458.21136 724.25989 458.27631 724.04572 458.3082 c +724.04572 458.52011 l +726.57501 458.52011 l +726.57501 458.3082 l +726.36536 458.28998 726.20471 458.25238 726.09308 458.1954 c +725.98145 458.13843 725.9256 458.01654 725.9256 457.82968 c +725.9256 457.69751 726.01904 457.37396 726.20587 456.85898 c +726.31525 456.56274 726.45422 456.20273 726.62286 455.7789 c +727.40216 453.83749 l +728.63263 456.47617 l +728.6463 456.5582 l +728.6463 456.64935 728.59729 456.81909 728.49933 457.06747 c +728.40137 457.31586 728.30676 457.53802 728.21564 457.73398 c +728.12451 457.93906 728.02081 458.08148 727.9046 458.16122 c +727.78839 458.24097 727.62549 458.28998 727.41583 458.3082 c +727.41583 458.52011 l +730.26642 458.52011 l +h +737.88165 455.95663 m +737.35754 455.78345 736.92462 455.59204 736.58282 455.38242 c +735.92657 454.97681 735.59845 454.51654 735.59845 454.00156 c +735.59845 453.58685 735.73517 453.28149 736.00861 453.08554 c +736.18634 452.95795 736.38458 452.89413 736.60333 452.89413 c +736.90411 452.89413 737.19238 452.97845 737.46808 453.14706 c +737.74377 453.31567 737.88165 453.52988 737.88165 453.78964 c +h +735.37286 455.18417 m +735.79211 455.45761 736.62842 455.82904 737.88165 456.29843 c +737.88165 456.87949 l +737.88165 457.34433 737.83606 457.66791 737.74493 457.85019 c +737.58997 458.15552 737.26868 458.3082 736.78107 458.3082 c +736.54865 458.3082 736.32764 458.24896 736.11798 458.13046 c +735.90833 458.00742 735.80353 457.83881 735.80353 457.6246 c +735.80353 457.56992 735.81494 457.47763 735.83771 457.34775 c +735.86047 457.21786 735.87189 457.1347 735.87189 457.09824 c +735.87189 456.84302 735.7876 456.66528 735.61896 456.56503 c +735.52325 456.5058 735.4093 456.47617 735.27716 456.47617 c +735.07208 456.47617 734.91486 456.5434 734.80548 456.67783 c +734.69611 456.81226 734.64142 456.96152 734.64142 457.12558 c +734.64142 457.44458 734.8385 457.77841 735.23273 458.12704 c +735.62695 458.47568 736.20459 458.64999 736.96564 458.64999 c +737.84973 458.64999 738.44904 458.36288 738.76349 457.78867 c +738.93213 457.47421 739.01642 457.0162 739.01642 456.41464 c +739.01642 453.67343 l +739.01642 453.40912 739.03467 453.22681 739.07111 453.12656 c +739.13037 452.94882 739.25342 452.85995 739.44025 452.85995 c +739.54504 452.85995 739.63165 452.87592 739.70001 452.90781 c +739.76837 452.9397 739.88684 453.01718 740.05548 453.14023 c +740.05548 452.78476 l +739.90967 452.60703 739.75244 452.46118 739.5838 452.34726 c +739.32861 452.17407 739.06885 452.08749 738.8045 452.08749 c +738.49463 452.08749 738.27014 452.18774 738.13116 452.38828 c +737.99219 452.58881 737.91583 452.82806 737.90216 453.10605 c +737.55579 452.80527 737.25958 452.58197 737.01349 452.43613 c +736.59875 452.19003 736.20459 452.06699 735.83087 452.06699 c +735.43896 452.06699 735.09943 452.20483 734.81232 452.48056 c +734.52521 452.75629 734.38165 453.10605 734.38165 453.52988 c +734.38165 454.19067 734.71204 454.74213 735.37286 455.18417 c +h +740.14435 452.39511 m +740.5636 452.43158 740.84161 452.50562 740.97833 452.61728 c +741.11505 452.72894 741.18341 452.96704 741.18341 453.33163 c +741.18341 456.41464 l +741.18341 456.86581 741.14124 457.18823 741.05695 457.38193 c +740.97266 457.57562 740.81885 457.67245 740.59552 457.67245 c +740.54993 457.67245 740.48956 457.66675 740.41437 457.65536 c +740.33917 457.64398 740.26056 457.62915 740.17853 457.61093 c +740.17853 457.83652 l +740.43829 457.92767 740.7049 458.02109 740.97833 458.11679 c +741.25177 458.21249 741.44092 458.28085 741.54572 458.32187 c +741.77356 458.40845 742.0083 458.50644 742.24982 458.61581 c +742.28174 458.61581 742.30109 458.60443 742.30792 458.58163 c +742.31476 458.55884 742.31818 458.51099 742.31818 458.43808 c +742.31818 457.31699 l +742.60986 457.7226 742.89124 458.03931 743.16241 458.26718 c +743.43359 458.49506 743.71497 458.60898 744.00665 458.60898 c +744.23907 458.60898 744.42822 458.53949 744.57404 458.40048 c +744.71985 458.26147 744.79279 458.08716 744.79279 457.87753 c +744.79279 457.69067 744.73694 457.53345 744.62531 457.40585 c +744.51367 457.27826 744.37354 457.21445 744.2049 457.21445 c +744.03174 457.21445 743.85742 457.29419 743.68195 457.4537 c +743.50647 457.61322 743.36865 457.69296 743.26837 457.69296 c +743.10889 457.69296 742.9129 457.56421 742.68048 457.30673 c +742.44806 457.04926 742.33185 456.78378 742.33185 456.51035 c +742.33185 453.42734 l +742.33185 453.0354 742.42297 452.76312 742.60529 452.61044 c +742.7876 452.45776 743.09064 452.38599 743.51447 452.39511 c +743.51447 452.16953 l +740.14435 452.16953 l +h +749.63947 457.91513 m +750.12256 457.47079 750.36407 456.84076 750.36407 456.02499 c +746.02325 456.02499 l +746.06885 454.96768 746.30811 454.19751 746.74103 453.71445 c +747.17395 453.23138 747.68665 452.98984 748.27911 452.98984 c +748.75763 452.98984 749.16095 453.11517 749.48907 453.36581 c +749.8172 453.61646 750.12024 453.97192 750.39825 454.43222 c +750.63751 454.35019 l +750.45068 453.77142 750.10089 453.23593 749.5882 452.74374 c +749.0755 452.25156 748.44775 452.00546 747.7049 452.00546 c +746.84814 452.00546 746.18616 452.32904 745.71906 452.97617 c +745.25195 453.62329 745.01837 454.36841 745.01837 455.21152 c +745.01837 456.12753 745.28955 456.91821 745.83185 457.58359 c +746.37415 458.24896 747.08057 458.58163 747.95099 458.58163 c +748.59357 458.58163 749.15637 458.35947 749.63947 457.91513 c +h +746.36505 457.39218 m +746.21924 457.14609 746.11438 456.83618 746.0506 456.46249 c +748.93536 456.46249 l +748.88525 456.91821 748.79865 457.25775 748.6756 457.48105 c +748.45227 457.88208 748.07861 458.08261 747.5545 458.08261 c +747.03497 458.08261 746.63849 457.85248 746.36505 457.39218 c +h +754.67755 453.6871 m +754.49982 453.08099 754.24005 452.50903 753.89825 451.97128 c +753.53821 451.39706 753.05743 450.86157 752.45587 450.36484 c +752.05939 450.03671 751.72668 449.80658 751.45782 449.67441 c +751.32794 449.89999 l +752.02979 450.4332 752.54248 450.97778 752.86603 451.53378 c +753.44025 452.51816 753.72736 453.81924 753.72736 455.4371 c +753.72736 456.74506 753.59521 457.81372 753.33087 458.64316 c +752.96173 459.81439 752.29407 460.73495 751.32794 461.40488 c +751.50568 461.63046 l +752.22571 461.22943 752.89563 460.62329 753.51544 459.8121 c +754.4679 458.56339 754.94415 457.16434 754.94415 455.61484 c +754.94415 454.93579 754.85529 454.29321 754.67755 453.6871 c +h +755.62091 452.16953 m +f +0 0 1 sc +1 0 0 1 0.5 0.5 cm +763.34998 449.39999 m +803.95001 449.39999 l +803.95001 459.89999 l +763.34998 459.89999 l +h +763.34998 449.39999 m +S +CM +763.84998 449.89999 m +804.45001 449.89999 l +804.45001 460.39999 l +763.84998 460.39999 l +h +763.84998 449.89999 m +f +1 0 0 1 0.5 0.5 cm +763.34998 449.39999 m +803.95001 449.39999 l +803.95001 459.89999 l +763.34998 459.89999 l +763.34998 449.39999 l +h +763.34998 449.39999 m +S +699.65002 42 m +726.59998 42 l +726.59998 122.9 l +699.65002 122.9 l +h +699.65002 42 m +S +CM +700.15002 42.5 m +727.09998 42.5 l +727.09998 123.4 l +700.15002 123.4 l +h +700.15002 42.5 m +f +1 0 0 1 0.5 0.5 cm +699.65002 42 m +699.65002 122.85 l +726.54999 122.85 l +726.54999 42 l +699.65002 42 l +h +699.65002 42 m +S +0 0 0 sc +67.199997 577.15002 m +67.199997 42 l +820.75 42 l +820.75 577.15002 l +67.199997 577.15002 l +h +67.199997 577.15002 m +S +ep +end +%%Trailer +%%EOF diff -r b1f834cb90af -r db3b8eaba7b0 presen/eps/cs-result.eps --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/eps/cs-result.eps Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,2687 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%APL_DSC_Encoding: UTF8 +%APLProducer: (Version 10.8.2 (Build 12C60) Quartz PS Context) +%%Title: (Unknown) +%%Creator: (Unknown) +%%CreationDate: (Unknown) +%%For: (Unknown) +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%Pages: 1 +%%BoundingBox: 0 0 846 594 +%%EndComments +%%BeginProlog +%%BeginFile: cg-pdf.ps +%%Copyright: Copyright 2000-2004 Apple Computer Incorporated. +%%Copyright: All Rights Reserved. +currentpacking true setpacking +/cg_md 141 dict def +cg_md begin +/L3? languagelevel 3 ge def +/bd{bind def}bind def +/ld{load def}bd +/xs{exch store}bd +/xd{exch def}bd +/cmmtx matrix def +mark +/sc/setcolor +/scs/setcolorspace +/dr/defineresource +/fr/findresource +/T/true +/F/false +/d/setdash +/w/setlinewidth +/J/setlinecap +/j/setlinejoin +/M/setmiterlimit +/i/setflat +/rc/rectclip +/rf/rectfill +/rs/rectstroke +/f/fill +/f*/eofill +/sf/selectfont +/s/show +/xS/xshow +/yS/yshow +/xyS/xyshow +/S/stroke +/m/moveto +/l/lineto +/c/curveto +/h/closepath +/n/newpath +/q/gsave +/Q/grestore +counttomark 2 idiv +{ld}repeat pop +/SC{ + /ColorSpace fr scs +}bd +/sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld +/soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld +/cgmtx matrix def +/sdmtx{cgmtx currentmatrix pop}bd +/CM {cgmtx setmatrix}bd +/cm {cmmtx astore CM concat}bd +/W{clip newpath}bd +/W*{eoclip newpath}bd +statusdict begin product end dup (HP) anchorsearch{ + pop pop pop + true +}{ + pop + (hp) anchorsearch{ + pop pop true + }{ + pop false + }ifelse +}ifelse +{ + { + { + pop pop + (0)dup 0 4 -1 roll put + F charpath + }cshow + } +}{ + {F charpath} +}ifelse +/cply exch bd +/cps {cply stroke}bd +/pgsave 0 def +/bp{/pgsave save store}bd +/ep{pgsave restore showpage}def +/re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd +/scrdict 10 dict def +/scrmtx matrix def +/patarray 0 def +/createpat{patarray 3 1 roll put}bd +/makepat{ +scrmtx astore pop +gsave +initgraphics +CM +patarray exch get +scrmtx +makepattern +grestore +setpattern +}bd +/cg_BeginEPSF{ + userdict save/cg_b4_Inc_state exch put + userdict/cg_endepsf/cg_EndEPSF load put + count userdict/cg_op_count 3 -1 roll put + countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put + 3 sub{end}repeat + /showpage {} def + 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin + 10 setmiterlimit [] 0 setdash newpath + false setstrokeadjust false setoverprint +}bd +/cg_EndEPSF{ + countdictstack 3 sub { end } repeat + cg_dict_array 3 1 index length 3 sub getinterval + {begin}forall + count userdict/cg_op_count get sub{pop}repeat + userdict/cg_b4_Inc_state get restore + F setpacking +}bd +/cg_biproc{currentfile/RunLengthDecode filter}bd +/cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd +/ImageDataSource 0 def +L3?{ + /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd + /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd +}{ + /ImageBandMask 0 def + /ImageBandData 0 def + /cg_mibiproc{ + string/ImageBandMask xs + string/ImageBandData xs + /ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx + /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd + }bd + /cg_miaiproc{ + string/ImageBandMask xs + string/ImageBandData xs + /ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter + dup ImageBandMask/readstring cvx + /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd + }bd +}ifelse +/imsave 0 def +/BI{save/imsave xd mark}bd +/EI{imsave restore}bd +/ID{ +counttomark 2 idiv +dup 2 add +dict begin +{def} repeat +pop +/ImageType 1 def +/ImageMatrix[Width 0 0 Height neg 0 Height]def +currentdict dup/ImageMask known{ImageMask}{F}ifelse exch +L3?{ + dup/MaskedImage known + { + pop + << + /ImageType 3 + /InterleaveType 2 + /DataDict currentdict + /MaskDict + << /ImageType 1 + /Width Width + /Height Height + /ImageMatrix ImageMatrix + /BitsPerComponent 1 + /Decode [0 1] + currentdict/Interpolate known + {/Interpolate Interpolate}if + >> + >> + }if +}if +exch +{imagemask}{image}ifelse +end +}bd +/cguidfix{statusdict begin mark version end +{cvr}stopped{cleartomark 0}{exch pop}ifelse +2012 lt{dup findfont dup length dict begin +{1 index/FID ne 2 index/UniqueID ne and +{def} {pop pop} ifelse}forall +currentdict end definefont pop +}{pop}ifelse +}bd +/t_array 0 def +/t_i 0 def +/t_c 1 string def +/x_proc{ + exch t_array t_i get add exch moveto + /t_i t_i 1 add store +}bd +/y_proc{ + t_array t_i get add moveto + /t_i t_i 1 add store +}bd +/xy_proc{ + + t_array t_i 2 copy 1 add get 3 1 roll get + 4 -1 roll add 3 1 roll add moveto + /t_i t_i 2 add store +}bd +/sop 0 def +/cp_proc/x_proc ld +/base_charpath +{ + /t_array xs + /t_i 0 def + { + t_c 0 3 -1 roll put + currentpoint + t_c cply sop + cp_proc + }forall + /t_array 0 def +}bd +/sop/stroke ld +/nop{}def +/xsp/base_charpath ld +/ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd +/xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd +/xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd +/ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd +/xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd +/refnt{ +findfont dup length dict copy dup +/Encoding 4 -1 roll put +definefont pop +}bd +/renmfont{ +findfont dup length dict copy definefont pop +}bd +L3? dup dup{save exch}if +/Range 0 def +/DataSource 0 def +/val 0 def +/nRange 0 def +/mulRange 0 def +/d0 0 def +/r0 0 def +/di 0 def +/ri 0 def +/a0 0 def +/a1 0 def +/r1 0 def +/r2 0 def +/dx 0 def +/Nsteps 0 def +/sh3tp 0 def +/ymax 0 def +/ymin 0 def +/xmax 0 def +/xmin 0 def +/setupFunEval +{ + begin + /nRange Range length 2 idiv store + /mulRange + + [ + 0 1 nRange 1 sub + { + 2 mul/nDim2 xd + Range nDim2 get + Range nDim2 1 add get + 1 index sub + + 255 div + exch + }for + ]store + end +}bd +/FunEval +{ + begin + + nRange mul /val xd + + 0 1 nRange 1 sub + { + dup 2 mul/nDim2 xd + val + add DataSource exch get + mulRange nDim2 get mul + mulRange nDim2 1 add get + add + }for + end +}bd +/max +{ + 2 copy lt + {exch pop}{pop}ifelse +}bd +/sh2 +{ + /Coords load aload pop + 3 index 3 index translate + + 3 -1 roll sub + 3 1 roll exch + sub + 2 copy + dup mul exch dup mul add sqrt + dup + scale + atan + + rotate + + /Function load setupFunEval + + + clippath {pathbbox}stopped {0 0 0 0}if newpath + /ymax xs + /xmax xs + /ymin xs + /xmin xs + currentdict/Extend known + { + /Extend load 0 get + { + 0/Function load FunEval sc + xmin ymin xmin abs ymax ymin sub rectfill + }if + }if + + /Nsteps/Function load/Size get 0 get 1 sub store + /dx 1 Nsteps div store + gsave + /di ymax ymin sub store + /Function load + + 0 1 Nsteps + { + 1 index FunEval sc + 0 ymin dx di rectfill + dx 0 translate + }for + pop + grestore + currentdict/Extend known + { + /Extend load 1 get + { + Nsteps/Function load FunEval sc + 1 ymin xmax 1 sub abs ymax ymin sub rectfill + }if + }if +}bd +/shp +{ + 4 copy + + dup 0 gt{ + 0 exch a1 a0 arc + }{ + pop 0 moveto + }ifelse + dup 0 gt{ + 0 exch a0 a1 arcn + }{ + pop 0 lineto + }ifelse + + fill + + dup 0 gt{ + 0 exch a0 a1 arc + }{ + pop 0 moveto + }ifelse + dup 0 gt{ + 0 exch a1 a0 arcn + }{ + pop 0 lineto + }ifelse + + fill +}bd +/calcmaxs +{ + + xmin dup mul ymin dup mul add sqrt + xmax dup mul ymin dup mul add sqrt + xmin dup mul ymax dup mul add sqrt + xmax dup mul ymax dup mul add sqrt + max max max +}bd +/sh3 +{ + /Coords load aload pop + 5 index 5 index translate + 3 -1 roll 6 -1 roll sub + 3 -1 roll 5 -1 roll sub + 2 copy dup mul exch dup mul add sqrt + /dx xs + 2 copy 0 ne exch 0 ne or + { + + exch atan rotate + }{ + pop pop + }ifelse + + /r2 xs + /r1 xs + /Function load + dup/Size get 0 get 1 sub + /Nsteps xs + setupFunEval + + + + + + dx r2 add r1 lt{ + + 0 + }{ + dx r1 add r2 le + { + 1 + }{ + r1 r2 eq + { + 2 + }{ + 3 + }ifelse + }ifelse + }ifelse + /sh3tp xs + clippath {pathbbox}stopped {0 0 0 0}if + newpath + /ymax xs + /xmax xs + /ymin xs + /xmin xs + + dx dup mul r2 r1 sub dup mul sub dup 0 gt + { + sqrt r2 r1 sub atan + /a0 exch 180 exch sub store + /a1 a0 neg store + }{ + pop + /a0 0 store + /a1 360 store + }ifelse + currentdict/Extend known + { + /Extend load 0 get r1 0 gt and + { + 0/Function load FunEval sc + + + + + { + { + dx 0 r1 360 0 arcn + xmin ymin moveto + xmax ymin lineto + xmax ymax lineto + xmin ymax lineto + xmin ymin lineto + eofill + } + { + r1 0 gt{0 0 r1 0 360 arc fill}if + } + { + + + + + 0 r1 xmin abs r1 add neg r1 shp + } + { + + + r2 r1 gt{ + + 0 r1 + r1 neg r2 r1 sub div dx mul + 0 + shp + }{ + + + + 0 r1 calcmaxs + dup + + r2 add dx mul dx r1 r2 sub sub div + neg + exch 1 index + abs exch sub + shp + }ifelse + } + }sh3tp get exec + }if + }if + + /d0 0 store + /r0 r1 store + /di dx Nsteps div store + /ri r2 r1 sub Nsteps div store + /Function load + 0 1 Nsteps + { + 1 index FunEval sc + d0 di add r0 ri add d0 r0 shp + { + + d0 0 r0 a1 a0 arc + d0 di add 0 r0 ri add a0 a1 arcn + fill + + + d0 0 r0 a0 a1 arc + d0 di add 0 r0 ri add a1 a0 arcn + fill + }pop + + + /d0 d0 di add store + /r0 r0 ri add store + }for + pop + + currentdict/Extend known + { + /Extend load 1 get r2 0 gt and + { + Nsteps/Function load FunEval sc + + + + + { + { + dx 0 r2 0 360 arc fill + } + { + dx 0 r2 360 0 arcn + xmin ymin moveto + xmax ymin lineto + xmax ymax lineto + xmin ymax lineto + xmin ymin lineto + eofill + } + { + + + xmax abs r1 add r1 dx r1 shp + } + { + + r2 r1 gt{ + + + + calcmaxs dup + + r1 add dx mul dx r2 r1 sub sub div + exch 1 index + exch sub + dx r2 + shp + }{ + + r1 neg r2 r1 sub div dx mul + 0 + dx + r2 + shp + }ifelse + } + } + sh3tp get exec + }if + }if +}bd +/sh +{ + begin + /ShadingType load dup dup 2 eq exch 3 eq or + { + gsave + newpath + /ColorSpace load scs + currentdict/BBox known + { + /BBox load aload pop + 2 index sub + 3 index + 3 -1 roll exch sub + exch rectclip + }if + 2 eq + {sh2}{sh3}ifelse + grestore + }{ + + pop + (DEBUG: shading type unimplemented\n)print flush + }ifelse + end +}bd +{restore}if not dup{save exch}if + L3?{ + /sh/shfill ld + /csq/clipsave ld + /csQ/cliprestore ld + }if +{restore}if +end +setpacking +%%EndFile +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 0 0 846 594 +%%BeginPageSetup +cg_md begin +bp +sdmtx +[ /CIEBasedABC 4 dict dup begin +/WhitePoint [ 0.9505 1.0000 1.0891 ] def +/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def +/MatrixABC [ 0.4295 0.2318 0.0204 0.3278 0.6722 0.1111 0.1933 0.0960 0.9578 ] def +/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def +end ] /Cs1 exch/ColorSpace dr pop +%%EndPageSetup +/Cs1 SC +1 1 1 sc +q +0 0 846 594 rc +0 0 m +846 0 l +846 594 l +0 594 l +h +f +1 j +0.60000002 i +0 0 0 sc +1 0 0 1 0.5 0.5 cm +84 42 m +91 42 l +S +CM +74.555077 40.189453 m +74.823959 40.481121 74.958397 40.845699 74.958397 41.283203 c +74.958397 41.779949 74.815987 42.182129 74.531151 42.489746 c +74.246315 42.797363 73.66185 43.263344 72.777733 43.887695 c +72.385803 43.641602 72.100975 43.322594 71.923241 42.930664 c +71.745506 42.538734 71.656639 42.160484 71.656639 41.795898 c +71.656639 41.171547 71.817284 40.674805 72.138573 40.305664 c +72.459862 39.936523 72.868874 39.751953 73.365623 39.751953 c +73.889717 39.751953 74.286194 39.897785 74.555077 40.189453 c +h +74.343163 45.733398 m +74.625717 46.084312 74.766991 46.508137 74.766991 47.004883 c +74.766991 47.437828 74.63369 47.805824 74.367088 48.108887 c +74.100487 48.411949 73.69603 48.563477 73.153709 48.563477 c +72.734436 48.563477 72.388084 48.431316 72.114647 48.166992 c +71.841209 47.902668 71.704491 47.581383 71.704491 47.203125 c +71.704491 46.774738 71.865135 46.377117 72.186424 46.010254 c +72.507713 45.643391 72.930397 45.29818 73.454491 44.974609 c +73.882881 45.275391 74.1791 45.52832 74.343163 45.733398 c +h +71.171288 45.336914 m +70.834045 45.774418 70.665428 46.257484 70.665428 46.786133 c +70.665428 47.387699 70.91494 47.898109 71.413963 48.317383 c +71.912987 48.736656 72.561256 48.946289 73.358788 48.946289 c +74.092514 48.946289 74.675842 48.748051 75.108788 48.351562 c +75.541733 47.955074 75.758202 47.494793 75.758202 46.970703 c +75.758202 46.437496 75.537178 45.958988 75.095116 45.535156 c +74.839905 45.293617 74.427475 45.015625 73.857811 44.701172 c +74.632553 44.126949 75.187401 43.626793 75.522362 43.200684 c +75.857323 42.774574 76.024803 42.272137 76.024803 41.693359 c +76.024803 41.037106 75.777573 40.48568 75.283104 40.039062 c +74.788635 39.592445 74.126694 39.369141 73.297264 39.369141 c +72.55442 39.369141 71.917549 39.575356 71.38662 39.987793 c +70.85569 40.40023 70.590233 40.94368 70.590233 41.618164 c +70.590233 42.196941 70.774803 42.707355 71.143944 43.149414 c +71.385483 43.436523 71.804749 43.780598 72.401756 44.181641 c +71.800194 44.664715 71.390038 45.049805 71.171288 45.336914 c +h +76.845116 39.519531 m +f +1 0 0 1 0.5 0.5 cm +820.75 42 m +813.75 42 l +S +84 131.2 m +91 131.2 l +S +CM +64.055077 129.38945 m +64.323959 129.68112 64.458397 130.0457 64.458397 130.4832 c +64.458397 130.97995 64.315987 131.38213 64.031151 131.68974 c +63.746319 131.99736 63.16185 132.46333 62.277733 133.08769 c +61.885803 132.8416 61.600975 132.52258 61.423241 132.13066 c +61.245506 131.73874 61.156639 131.36047 61.156639 130.9959 c +61.156639 130.37154 61.317284 129.8748 61.638573 129.50566 c +61.959862 129.13652 62.368877 128.95195 62.865623 128.95195 c +63.389713 128.95195 63.786194 129.09778 64.055077 129.38945 c +h +63.843163 134.9334 m +64.125717 135.2843 64.266991 135.70813 64.266991 136.20488 c +64.266991 136.63782 64.13369 137.00583 63.867088 137.30888 c +63.600487 137.61194 63.19603 137.76347 62.653709 137.76347 c +62.234436 137.76347 61.888084 137.63132 61.614647 137.36699 c +61.341209 137.10266 61.204491 136.78137 61.204491 136.40312 c +61.204491 135.97473 61.365135 135.57712 61.686424 135.21025 c +62.007713 134.84338 62.430401 134.49817 62.954491 134.17461 c +63.382877 134.47539 63.6791 134.72832 63.843163 134.9334 c +h +60.671288 134.53691 m +60.334045 134.97441 60.165428 135.45747 60.165428 135.98613 c +60.165428 136.58769 60.414936 137.09811 60.913963 137.51738 c +61.412991 137.93665 62.061256 138.14629 62.858788 138.14629 c +63.592514 138.14629 64.175842 137.94804 64.608788 137.55156 c +65.041733 137.15508 65.258202 136.69479 65.258202 136.1707 c +65.258202 135.6375 65.037178 135.15898 64.595116 134.73515 c +64.339905 134.49362 63.927475 134.21562 63.357811 133.90117 c +64.132553 133.32695 64.687401 132.82678 65.022362 132.40068 c +65.357323 131.97458 65.524803 131.47214 65.524803 130.89336 c +65.524803 130.23711 65.277573 129.68567 64.783104 129.23906 c +64.288635 128.79245 63.626694 128.56914 62.797264 128.56914 c +62.05442 128.56914 61.417545 128.77536 60.88662 129.18779 c +60.355694 129.60022 60.090233 130.14368 60.090233 130.81816 c +60.090233 131.39694 60.274803 131.90735 60.643944 132.34941 c +60.885483 132.63652 61.304749 132.98059 61.901756 133.38164 c +61.30019 133.86472 60.890038 134.2498 60.671288 134.53691 c +h +68.074608 128.78447 m +67.924217 128.93713 67.849022 129.12057 67.849022 129.33476 c +67.849022 129.54895 67.925354 129.73125 68.078026 129.88164 c +68.230698 130.03203 68.414124 130.10722 68.628319 130.10722 c +68.842514 130.10722 69.024803 130.03203 69.175194 129.88164 c +69.325584 129.73125 69.40078 129.54895 69.40078 129.33476 c +69.40078 129.12057 69.326721 128.93713 69.178612 128.78447 c +69.030502 128.63181 68.847069 128.55547 68.628319 128.55547 c +68.409569 128.55547 68.224998 128.63181 68.074608 128.78447 c +h +71.912987 129.52959 m +72.334541 129.23564 72.659241 129.08867 72.887108 129.08867 c +73.411201 129.08867 73.869202 129.31995 74.261131 129.78252 c +74.653061 130.24509 74.849022 130.8136 74.849022 131.48808 c +74.849022 132.66843 74.220123 133.51836 72.962303 134.03789 c +72.265038 134.325 71.615623 134.46855 71.014061 134.46855 c +70.913803 134.46855 70.851135 134.47197 70.826073 134.47881 c +70.80101 134.48564 70.770248 134.50957 70.733788 134.55058 c +70.742905 134.58704 70.750877 134.6178 70.757713 134.64287 c +70.764549 134.66794 70.772522 134.69186 70.781639 134.71465 c +72.271873 137.98222 l +75.204491 137.98222 l +75.350327 137.98222 75.46312 138.00729 75.54287 138.05742 c +75.62262 138.10754 75.726303 138.20097 75.853905 138.33769 c +75.96328 138.24199 l +75.430077 136.97734 l +75.41185 136.93633 75.361717 136.91013 75.279686 136.89873 c +75.197655 136.88733 75.108788 136.88164 75.013084 136.88164 c +72.367577 136.88164 l +71.786522 135.68535 l +72.53392 135.55774 73.080788 135.43698 73.427147 135.32304 c +73.996811 135.13164 74.473045 134.84909 74.855858 134.47539 c +75.183983 134.15182 75.432358 133.78838 75.600975 133.38506 c +75.769592 132.98174 75.853905 132.55449 75.853905 132.10332 c +75.853905 131.09615 75.495018 130.25534 74.777245 129.58086 c +74.059471 128.90637 73.151436 128.56914 72.053123 128.56914 c +71.606506 128.56914 71.246483 128.61243 70.973045 128.69902 c +70.517311 128.8403 70.289452 129.09323 70.289452 129.45781 c +70.289452 129.59453 70.33844 129.71416 70.436424 129.8167 c +70.534409 129.91924 70.685936 129.9705 70.891014 129.9705 c +71.15078 129.9705 71.491432 129.82353 71.912987 129.52959 c +h +76.845116 128.71953 m +f +1 0 0 1 0.5 0.5 cm +820.75 131.2 m +813.75 131.2 l +S +84 220.39999 m +91 220.39999 l +S +CM +73.970604 222.09628 m +74.30101 222.26945 74.488998 222.4153 74.534569 222.53378 c +74.552795 222.57936 74.568748 222.74911 74.58242 223.04306 c +74.596092 223.33701 74.602928 223.57512 74.602928 223.75742 c +74.602928 224.70534 74.443428 225.47551 74.124413 226.06796 c +73.805397 226.66042 73.33828 226.95663 72.723045 226.95663 c +72.276428 226.95663 71.915268 226.75383 71.639549 226.34824 c +71.363831 225.94264 71.225975 225.33652 71.225975 224.52988 c +71.225975 223.8645 71.354713 223.24928 71.612206 222.68417 c +71.869698 222.11906 72.33567 221.83652 73.010155 221.83652 c +73.320053 221.83652 73.640198 221.92311 73.970604 222.09628 c +h +75.142967 226.14658 m +75.689842 225.34677 75.96328 224.45468 75.96328 223.47031 c +75.96328 222.77759 75.833397 222.0735 75.573631 221.358 c +75.313866 220.6425 74.935616 220.00449 74.438866 219.44394 c +73.860085 218.7968 73.126373 218.31601 72.237694 218.00156 c +71.740944 217.82382 71.114326 217.6871 70.357811 217.5914 c +70.289452 217.86484 l +70.763412 217.97421 71.157616 218.09042 71.472069 218.21347 c +72.037178 218.43678 72.490623 218.71022 72.83242 219.03378 c +73.315498 219.49406 73.701721 220.0079 73.991112 220.57529 c +74.280502 221.14267 74.461655 221.61777 74.534569 222.00058 c +74.295311 221.82285 l +73.958069 221.56764 73.561592 221.39218 73.105858 221.29648 c +72.868881 221.24179 72.652405 221.21445 72.456444 221.21445 c +71.681702 221.21445 71.067612 221.48901 70.614159 222.03818 c +70.160706 222.58734 69.933983 223.24243 69.933983 224.00351 c +69.933983 224.97421 70.204002 225.77402 70.744041 226.40292 c +71.284081 227.03183 71.975647 227.34628 72.818748 227.34628 c +73.821358 227.34628 74.596092 226.94638 75.142967 226.14658 c +h +76.516991 217.91953 m +f +1 0 0 1 0.5 0.5 cm +820.75 220.39999 m +813.75 220.39999 l +S +84 309.60001 m +91 309.60001 l +S +CM +63.470604 311.2963 m +63.80101 311.46948 63.988995 311.6153 64.034569 311.7338 c +64.052795 311.77936 64.068748 311.94913 64.08242 312.24307 c +64.096092 312.53702 64.102928 312.77515 64.102928 312.95743 c +64.102928 313.90533 63.943424 314.67554 63.624413 315.26797 c +63.305401 315.86041 62.838284 316.15665 62.223045 316.15665 c +61.776428 316.15665 61.415268 315.95386 61.139549 315.54825 c +60.863831 315.14264 60.725975 314.53653 60.725975 313.72989 c +60.725975 313.06451 60.854717 312.44928 61.112206 311.88419 c +61.369694 311.31909 61.83567 311.03653 62.510155 311.03653 c +62.820053 311.03653 63.140198 311.12311 63.470604 311.2963 c +h +64.642967 315.34659 m +65.189842 314.54678 65.46328 313.65469 65.46328 312.67032 c +65.46328 311.9776 65.333397 311.2735 65.073631 310.55801 c +64.813866 309.84253 64.435616 309.2045 63.938866 308.64395 c +63.360088 307.99683 62.626369 307.51602 61.737694 307.20157 c +61.240948 307.02383 60.614326 306.88712 59.857811 306.79141 c +59.789452 307.06485 l +60.263412 307.17422 60.657616 307.29044 60.972069 307.41348 c +61.537174 307.63678 61.990623 307.91022 62.33242 308.2338 c +62.815495 308.69409 63.201721 309.20792 63.491112 309.7753 c +63.780502 310.34268 63.961651 310.81778 64.034569 311.20059 c +63.795311 311.02286 l +63.458069 310.76764 63.061588 310.59219 62.605858 310.49649 c +62.368877 310.4418 62.152409 310.41446 61.956444 310.41446 c +61.181702 310.41446 60.567612 310.68903 60.114159 311.23819 c +59.660706 311.78735 59.433983 312.44244 59.433983 313.20352 c +59.433983 314.17422 59.703999 314.97403 60.244041 315.60294 c +60.784084 316.23184 61.475647 316.5463 62.318748 316.5463 c +63.321358 316.5463 64.096092 316.14639 64.642967 315.34659 c +h +67.746483 307.18448 m +67.596092 307.33716 67.520897 307.52057 67.520897 307.73477 c +67.520897 307.94897 67.597229 308.13126 67.749901 308.28165 c +67.902573 308.43204 68.085999 308.50723 68.300194 308.50723 c +68.514389 308.50723 68.696678 308.43204 68.847069 308.28165 c +68.997459 308.13126 69.072655 307.94897 69.072655 307.73477 c +69.072655 307.52057 68.998596 307.33716 68.850487 307.18448 c +68.702377 307.0318 68.518944 306.95547 68.300194 306.95547 c +68.081444 306.95547 67.896873 307.0318 67.746483 307.18448 c +h +71.584862 307.9296 m +72.006416 307.63565 72.331116 307.48868 72.558983 307.48868 c +73.083076 307.48868 73.541077 307.71997 73.933006 308.18253 c +74.324936 308.64508 74.520897 309.21362 74.520897 309.88809 c +74.520897 311.06845 73.891998 311.91837 72.634178 312.4379 c +71.936913 312.72501 71.287498 312.86856 70.685936 312.86856 c +70.585678 312.86856 70.52301 312.87198 70.497948 312.87881 c +70.472885 312.88565 70.442123 312.90958 70.405663 312.95059 c +70.41478 312.98706 70.422752 313.01782 70.429588 313.04288 c +70.436424 313.06793 70.444397 313.09186 70.453514 313.11465 c +71.943748 316.38223 l +74.876366 316.38223 l +75.022202 316.38223 75.134995 316.40729 75.214745 316.45743 c +75.294495 316.50757 75.398178 316.60098 75.52578 316.7377 c +75.635155 316.642 l +75.101952 315.37735 l +75.083725 315.33633 75.033592 315.31012 74.951561 315.29874 c +74.86953 315.28735 74.780663 315.28165 74.684959 315.28165 c +72.039452 315.28165 l +71.458397 314.08536 l +72.205795 313.95776 72.752663 313.83698 73.099022 313.72305 c +73.668686 313.53165 74.14492 313.24908 74.527733 312.8754 c +74.855858 312.55182 75.104233 312.18839 75.27285 311.78506 c +75.441467 311.38174 75.52578 310.9545 75.52578 310.50333 c +75.52578 309.49615 75.166893 308.65533 74.44912 307.98087 c +73.731346 307.3064 72.823311 306.96915 71.724998 306.96915 c +71.278381 306.96915 70.918358 307.01245 70.64492 307.09903 c +70.189186 307.2403 69.961327 307.49323 69.961327 307.85782 c +69.961327 307.99454 70.010315 308.11417 70.108299 308.21671 c +70.206284 308.31924 70.357811 308.37051 70.562889 308.37051 c +70.822655 308.37051 71.163307 308.22354 71.584862 307.9296 c +h +76.516991 307.11954 m +f +1 0 0 1 0.5 0.5 cm +820.75 309.60001 m +813.75 309.60001 l +S +84 398.75 m +91 398.75 l +S +CM +67.825096 405.61084 m +67.827377 405.59946 67.828514 405.57324 67.828514 405.53223 c +67.828514 397.30176 l +67.828514 396.95084 67.921936 396.72754 68.108788 396.63184 c +68.295639 396.53613 68.644264 396.47916 69.154686 396.46094 c +69.154686 396.26953 l +65.299217 396.26953 l +65.299217 396.47461 l +65.850655 396.50195 66.210678 396.57715 66.379295 396.7002 c +66.547913 396.82324 66.632225 397.08984 66.632225 397.5 c +66.632225 403.83008 l +66.632225 404.04883 66.604881 404.21518 66.550194 404.3291 c +66.495506 404.44302 66.377014 404.5 66.194725 404.5 c +66.076233 404.5 65.922424 404.46695 65.733299 404.40088 c +65.544174 404.33481 65.367577 404.26529 65.203514 404.19238 c +65.203514 404.38379 l +67.712303 405.66211 l +67.794334 405.66211 l +67.812561 405.63931 67.822815 405.62222 67.825096 405.61084 c +h +75.382225 397.62305 m +75.632874 398.35678 75.758202 399.41861 75.758202 400.80859 c +75.758202 401.91602 75.683006 402.80014 75.532616 403.46094 c +75.250061 404.69141 74.72142 405.30664 73.946678 405.30664 c +73.171936 405.30664 72.641014 404.67319 72.353905 403.40625 c +72.203514 402.73178 72.128319 401.84311 72.128319 400.74023 c +72.128319 399.70572 72.205795 398.87857 72.360741 398.25879 c +72.652412 397.10123 73.19928 396.52246 74.001366 396.52246 c +74.671288 396.52246 75.131577 396.88931 75.382225 397.62305 c +h +76.421288 404.02832 m +76.881577 403.13965 77.111717 402.11884 77.111717 400.96582 c +77.111717 400.05893 76.970444 399.20444 76.687889 398.40234 c +76.154686 396.89386 75.231842 396.13965 73.919334 396.13965 c +73.021545 396.13965 72.283272 396.54752 71.704491 397.36328 c +71.084694 398.23373 70.774803 399.41632 70.774803 400.91113 c +70.774803 402.08691 70.982155 403.09863 71.396873 403.94629 c +71.95742 405.0993 72.818741 405.67578 73.980858 405.67578 c +75.029037 405.67578 75.842506 405.12665 76.421288 404.02832 c +h +77.651756 396.26953 m +f +1 0 0 1 0.5 0.5 cm +820.75 398.75 m +813.75 398.75 l +S +84 487.95001 m +91 487.95001 l +S +CM +57.325096 494.81085 m +57.327374 494.79947 57.328514 494.77325 57.328514 494.73224 c +57.328514 486.50177 l +57.328514 486.15085 57.421936 485.92755 57.608788 485.83185 c +57.795639 485.73615 58.144268 485.67917 58.654686 485.66095 c +58.654686 485.46954 l +54.799217 485.46954 l +54.799217 485.67462 l +55.350651 485.70197 55.710674 485.77716 55.879295 485.90021 c +56.047916 486.02325 56.132225 486.28986 56.132225 486.70001 c +56.132225 493.03009 l +56.132225 493.24884 56.104881 493.41519 56.050194 493.52911 c +55.995506 493.64304 55.877018 493.70001 55.694725 493.70001 c +55.576237 493.70001 55.422428 493.66696 55.233299 493.60089 c +55.04417 493.53482 54.867577 493.4653 54.703514 493.3924 c +54.703514 493.5838 l +57.212303 494.86212 l +57.294334 494.86212 l +57.312565 494.83932 57.322819 494.82224 57.325096 494.81085 c +h +64.882225 486.82306 m +65.132874 487.55679 65.258202 488.61862 65.258202 490.00861 c +65.258202 491.11603 65.183006 492.00015 65.032616 492.66095 c +64.750061 493.89142 64.22142 494.50665 63.446678 494.50665 c +62.671936 494.50665 62.141014 493.8732 61.853905 492.60626 c +61.703514 491.93179 61.628319 491.04312 61.628319 489.94025 c +61.628319 488.90573 61.705791 488.07858 61.860741 487.4588 c +62.152409 486.30124 62.69928 485.72247 63.501366 485.72247 c +64.171288 485.72247 64.631577 486.08932 64.882225 486.82306 c +h +65.921288 493.22833 m +66.381577 492.33966 66.611717 491.31885 66.611717 490.16583 c +66.611717 489.25894 66.470444 488.40445 66.187889 487.60236 c +65.654686 486.09387 64.731842 485.33966 63.419334 485.33966 c +62.521542 485.33966 61.783268 485.74753 61.204491 486.56329 c +60.584698 487.43375 60.274803 488.61633 60.274803 490.11115 c +60.274803 491.28693 60.482159 492.29865 60.896873 493.1463 c +61.457424 494.29932 62.318741 494.87579 63.480858 494.87579 c +64.529037 494.87579 65.342506 494.32666 65.921288 493.22833 c +h +68.881248 485.53448 m +68.730858 485.68716 68.655663 485.87057 68.655663 486.08478 c +68.655663 486.29898 68.731995 486.48126 68.884666 486.63165 c +69.037338 486.78204 69.220764 486.85724 69.434959 486.85724 c +69.649155 486.85724 69.831444 486.78204 69.981834 486.63165 c +70.132225 486.48126 70.20742 486.29898 70.20742 486.08478 c +70.20742 485.87057 70.133362 485.68716 69.985252 485.53448 c +69.837143 485.38181 69.653709 485.30548 69.434959 485.30548 c +69.216209 485.30548 69.031639 485.38181 68.881248 485.53448 c +h +72.719627 486.2796 m +73.141182 485.98566 73.465881 485.83868 73.693748 485.83868 c +74.217842 485.83868 74.675842 486.06998 75.067772 486.53253 c +75.459702 486.99509 75.655663 487.56363 75.655663 488.2381 c +75.655663 489.41846 75.026764 490.26837 73.768944 490.7879 c +73.071678 491.07501 72.422264 491.21857 71.820702 491.21857 c +71.720444 491.21857 71.657776 491.22198 71.632713 491.22882 c +71.607651 491.23566 71.576889 491.25958 71.540428 491.3006 c +71.549545 491.33707 71.557518 491.36783 71.564354 491.39288 c +71.57119 491.41794 71.579163 491.44186 71.58828 491.46466 c +73.078514 494.73224 l +76.011131 494.73224 l +76.156967 494.73224 76.26976 494.75729 76.34951 494.80743 c +76.42926 494.85757 76.532944 494.95099 76.660545 495.08771 c +76.76992 494.992 l +76.236717 493.72736 l +76.218491 493.68634 76.168358 493.66013 76.086327 493.64874 c +76.004295 493.63736 75.915428 493.63165 75.819725 493.63165 c +73.174217 493.63165 l +72.593163 492.43536 l +73.340561 492.30777 73.887428 492.18698 74.233788 492.07306 c +74.803452 491.88165 75.279686 491.59909 75.662498 491.2254 c +75.990623 490.90182 76.238998 490.53839 76.407616 490.13507 c +76.576233 489.73175 76.660545 489.3045 76.660545 488.85333 c +76.660545 487.84616 76.301659 487.00534 75.583885 486.33087 c +74.866112 485.6564 73.958076 485.31915 72.859764 485.31915 c +72.413147 485.31915 72.053123 485.36246 71.779686 485.44904 c +71.323952 485.5903 71.096092 485.84323 71.096092 486.20782 c +71.096092 486.34454 71.145081 486.46417 71.243065 486.56671 c +71.341049 486.66925 71.492577 486.72052 71.697655 486.72052 c +71.95742 486.72052 72.298073 486.57355 72.719627 486.2796 c +h +77.651756 485.46954 m +f +1 0 0 1 0.5 0.5 cm +820.75 487.95001 m +813.75 487.95001 l +S +84 577.15002 m +91 577.15002 l +S +CM +67.825096 584.01086 m +67.827377 583.99945 67.828514 583.97327 67.828514 583.93225 c +67.828514 575.70178 l +67.828514 575.35089 67.921936 575.12756 68.108788 575.03186 c +68.295639 574.93616 68.644264 574.87921 69.154686 574.86096 c +69.154686 574.66956 l +65.299217 574.66956 l +65.299217 574.87463 l +65.850655 574.90198 66.210678 574.97717 66.379295 575.10022 c +66.547913 575.22327 66.632225 575.48987 66.632225 575.90002 c +66.632225 582.2301 l +66.632225 582.44885 66.604881 582.61517 66.550194 582.72913 c +66.495506 582.84308 66.377014 582.90002 66.194725 582.90002 c +66.076233 582.90002 65.922424 582.867 65.733299 582.8009 c +65.544174 582.7348 65.367577 582.66534 65.203514 582.59241 c +65.203514 582.78381 l +67.712303 584.06213 l +67.794334 584.06213 l +67.812561 584.03937 67.822815 584.02228 67.825096 584.01086 c +h +74.825096 584.01086 m +74.827377 583.99945 74.828514 583.97327 74.828514 583.93225 c +74.828514 575.70178 l +74.828514 575.35089 74.921936 575.12756 75.108788 575.03186 c +75.295639 574.93616 75.644264 574.87921 76.154686 574.86096 c +76.154686 574.66956 l +72.299217 574.66956 l +72.299217 574.87463 l +72.850655 574.90198 73.210678 574.97717 73.379295 575.10022 c +73.547913 575.22327 73.632225 575.48987 73.632225 575.90002 c +73.632225 582.2301 l +73.632225 582.44885 73.604881 582.61517 73.550194 582.72913 c +73.495506 582.84308 73.377014 582.90002 73.194725 582.90002 c +73.076233 582.90002 72.922424 582.867 72.733299 582.8009 c +72.544174 582.7348 72.367577 582.66534 72.203514 582.59241 c +72.203514 582.78381 l +74.712303 584.06213 l +74.794334 584.06213 l +74.812561 584.03937 74.822815 584.02228 74.825096 584.01086 c +h +77.651756 574.66956 m +f +1 0 0 1 0.5 0.5 cm +820.75 577.15002 m +813.75 577.15002 l +S +157.7 42 m +157.7 49 l +S +CM +159.64922 27.86084 m +159.65149 27.849447 159.65263 27.823242 159.65263 27.782227 c +159.65263 19.551758 l +159.65263 19.200844 159.74606 18.977539 159.93291 18.881836 c +160.11975 18.786133 160.46838 18.729166 160.97881 18.710938 c +160.97881 18.519531 l +157.12334 18.519531 l +157.12334 18.724609 l +157.67477 18.751953 158.03479 18.827148 158.20341 18.950195 c +158.37204 19.073242 158.45634 19.339842 158.45634 19.75 c +158.45634 26.080078 l +158.45634 26.29883 158.429 26.465168 158.37431 26.579102 c +158.31963 26.693035 158.20114 26.75 158.01884 26.75 c +157.90036 26.75 157.74655 26.716961 157.55742 26.650879 c +157.36829 26.584797 157.1917 26.515301 157.02763 26.442383 c +157.02763 26.633789 l +159.53642 27.912109 l +159.61845 27.912109 l +159.63669 27.889322 159.64694 27.872232 159.64922 27.86084 c +h +162.47588 18.519531 m +f +1 0 0 1 0.5 0.5 cm +157.7 577.15002 m +157.7 570.15002 l +S +305.04999 42 m +305.04999 49 l +S +CM +302.67548 18.676758 m +304.34344 20.408537 305.47592 21.68001 306.07294 22.491211 c +306.66995 23.302412 306.96844 24.093096 306.96844 24.863281 c +306.96844 25.537764 306.78616 26.051594 306.42157 26.404785 c +306.05698 26.757977 305.62177 26.93457 305.11591 26.93457 c +304.49155 26.93457 303.98569 26.706709 303.59833 26.250977 c +303.38412 26.000324 303.17905 25.615236 302.98309 25.095703 c +302.68915 25.157227 l +302.91702 26.205408 303.30325 26.93343 303.84784 27.341309 c +304.39243 27.749187 304.9769 27.953125 305.60126 27.953125 c +306.37143 27.953125 306.99466 27.710451 307.47089 27.225098 c +307.94711 26.739744 308.18524 26.146162 308.18524 25.444336 c +308.18524 24.696936 307.92776 23.976891 307.41278 23.28418 c +306.8978 22.591469 305.77899 21.358732 304.05634 19.585938 c +307.19403 19.585938 l +307.63153 19.585938 307.93915 19.638346 308.11688 19.743164 c +308.29462 19.847982 308.49515 20.103188 308.71844 20.508789 c +308.89618 20.426758 l +308.13739 18.519531 l +302.67548 18.519531 l +h +309.25848 18.519531 m +f +1 0 0 1 0.5 0.5 cm +305.04999 577.15002 m +305.04999 570.15002 l +S +452.39999 42 m +452.39999 49 l +S +CM +451.78574 19.319336 m +452.19818 19.059568 452.54794 18.929688 452.83505 18.929688 c +453.47308 18.929688 453.94702 19.145018 454.25693 19.575684 c +454.56683 20.00635 454.72177 20.474607 454.72177 20.980469 c +454.72177 21.468102 454.59644 21.896482 454.34579 22.265625 c +453.92197 22.889977 453.20648 23.202148 452.19931 23.202148 c +452.14008 23.202148 452.0831 23.20101 452.02841 23.19873 c +451.97372 23.196451 451.90991 23.190756 451.83701 23.181641 c +451.82333 23.359375 l +452.55249 23.623699 453.12671 23.926756 453.54599 24.268555 c +453.96527 24.610353 454.1749 25.061522 454.1749 25.62207 c +454.1749 26.118818 454.0097 26.497068 453.67929 26.756836 c +453.34888 27.016603 452.97177 27.146484 452.54794 27.146484 c +452.04663 27.146484 451.60458 26.961916 451.22177 26.592773 c +451.01215 26.392252 450.78656 26.082359 450.54501 25.663086 c +450.3331 25.710938 l +450.51538 26.403648 450.85492 26.957355 451.35165 27.37207 c +451.84839 27.786785 452.42261 27.994141 453.07431 27.994141 c +453.77158 27.994141 454.31049 27.802736 454.69101 27.419922 c +455.07153 27.037107 455.26181 26.595055 455.26181 26.09375 c +455.26181 25.651691 455.10458 25.246096 454.79013 24.876953 c +454.6124 24.667316 454.33667 24.432619 453.96298 24.172852 c +454.40048 23.986002 454.7514 23.767254 455.01572 23.516602 c +455.51245 23.038084 455.76083 22.431971 455.76083 21.698242 c +455.76083 20.832352 455.42017 20.069014 454.73886 19.408203 c +454.05756 18.747393 453.08798 18.416992 451.83017 18.416992 c +451.26962 18.416992 450.87656 18.500162 450.65097 18.666504 c +450.42538 18.832846 450.31259 19.011717 450.31259 19.203125 c +450.31259 19.321615 450.35019 19.435547 450.42538 19.544922 c +450.50058 19.654297 450.6225 19.708984 450.79111 19.708984 c +451.04175 19.708984 451.37329 19.579103 451.78574 19.319336 c +h +456.70419 18.519531 m +f +1 0 0 1 0.5 0.5 cm +452.39999 577.15002 m +452.39999 570.15002 l +S +599.75 42 m +599.75 49 l +S +CM +601.10449 26.503906 m +597.74805 21.759766 l +601.10449 21.759766 l +h +601.55566 27.912109 m +602.20508 27.912109 l +602.20508 21.759766 l +603.63379 21.759766 l +603.63379 20.850586 l +602.20508 20.850586 l +602.20508 18.519531 l +601.11816 18.519531 l +601.11816 20.850586 l +597.18066 20.850586 l +597.18066 21.759766 l +h +604.02344 18.519531 m +f +1 0 0 1 0.5 0.5 cm +599.75 577.15002 m +599.75 570.15002 l +S +747.09998 42 m +747.09998 49 l +S +CM +746.39001 19.32959 m +746.81158 19.035643 747.13629 18.888672 747.36414 18.888672 c +747.88824 18.888672 748.34625 19.119951 748.73816 19.58252 c +749.13007 20.045088 749.32605 20.613604 749.32605 21.288086 c +749.32605 22.46843 748.69714 23.318357 747.43933 23.837891 c +746.74207 24.125002 746.09265 24.268555 745.49109 24.268555 c +745.39081 24.268555 745.32819 24.271973 745.3031 24.278809 c +745.27802 24.285645 745.24725 24.30957 745.21082 24.350586 c +745.21991 24.387045 745.22791 24.417807 745.23474 24.442871 c +745.24158 24.467936 745.24957 24.491861 745.25867 24.514648 c +746.7489 27.782227 l +749.68152 27.782227 l +749.82733 27.782227 749.94012 27.807291 750.0199 27.857422 c +750.09967 27.907553 750.20331 28.000977 750.33093 28.137695 c +750.44031 28.041992 l +749.9071 26.777344 l +749.88885 26.736328 749.83875 26.710123 749.75671 26.69873 c +749.67468 26.687338 749.58582 26.681641 749.49011 26.681641 c +746.8446 26.681641 l +746.26355 25.485352 l +747.01093 25.357746 747.5578 25.23698 747.90417 25.123047 c +748.47382 24.931639 748.95007 24.64909 749.33289 24.275391 c +749.66101 23.95182 749.90936 23.588381 750.078 23.185059 c +750.24664 22.781736 750.33093 22.354494 750.33093 21.90332 c +750.33093 20.896154 749.97205 20.055342 749.25427 19.380859 c +748.5365 18.706377 747.62848 18.369141 746.53015 18.369141 c +746.08356 18.369141 745.72351 18.412434 745.45007 18.499023 c +744.99432 18.640301 744.76648 18.893227 744.76648 19.257812 c +744.76648 19.394531 744.81549 19.51416 744.91345 19.616699 c +745.01141 19.719238 745.16296 19.770508 745.36804 19.770508 c +745.62781 19.770508 745.96844 19.623537 746.39001 19.32959 c +h +751.32214 18.519531 m +f +1 0 0 1 0.5 0.5 cm +747.09998 577.15002 m +747.09998 570.15002 l +S +CM +8.9177732 299.06464 m +8.9177732 302.01093 l +9.2527342 302.01093 l +9.2527342 300.76678 l +9.2527342 300.49335 9.3393221 300.30878 9.5124998 300.21307 c +9.6036463 300.15839 9.7289705 300.13104 9.8884764 300.13104 c +19.301563 300.13104 l +19.511198 300.13104 19.666145 300.16068 19.766407 300.21991 c +19.944141 300.32016 20.033009 300.5184 20.033009 300.81464 c +20.033009 302.01093 l +20.388477 302.01093 l +20.388477 299.06464 l +h +18.002735 302.72186 m +17.970833 303.07733 17.911589 303.3143 17.825001 303.4328 c +17.692837 303.61508 17.428518 303.70624 17.032032 303.70624 c +13.497851 303.70624 l +13.16061 303.70624 12.939584 303.6618 12.834765 303.57294 c +12.729947 303.48407 12.677539 303.3371 12.677539 303.13202 c +12.677539 303.03632 12.682096 302.96454 12.691211 302.91669 c +12.700325 302.86884 12.716276 302.81302 12.739062 302.74921 c +12.499804 302.74921 l +12.335742 303.24139 l +12.276497 303.41913 12.169401 303.71078 12.014453 304.11639 c +11.859505 304.522 11.782031 304.73618 11.782031 304.75897 c +11.782031 304.78177 11.793425 304.79544 11.816211 304.79999 c +11.838997 304.80453 11.882291 304.80682 11.946094 304.80682 c +12.868945 304.80682 l +12.458787 305.258 12.175098 305.64764 12.017871 305.97577 c +11.860643 306.30389 11.782031 306.64114 11.782031 306.98749 c +11.782031 307.45688 11.941535 307.8306 12.260547 308.10858 c +12.433724 308.25443 12.668423 308.37518 12.964648 308.47089 c +12.622849 308.80814 12.369923 309.10208 12.205859 309.35272 c +11.923306 309.78568 11.782031 310.22772 11.782031 310.67889 c +11.782031 311.41263 12.080531 311.90253 12.677539 312.14862 c +13.01478 312.28989 13.547978 312.36053 14.277148 312.36053 c +17.114063 312.36053 l +17.437632 312.36053 17.657518 312.43231 17.773731 312.57587 c +17.889942 312.71942 17.966276 312.97806 18.002735 313.35175 c +18.18047 313.35175 l +18.18047 310.26874 l +17.989063 310.26874 l +17.952604 310.66522 17.872852 310.92612 17.749805 311.05145 c +17.626757 311.17679 17.376108 311.23944 16.997852 311.23944 c +14.051562 311.23944 l +13.609503 311.23944 13.28366 311.19159 13.074023 311.09589 c +12.700323 310.92728 12.513476 310.59686 12.513476 310.10468 c +12.513476 309.80844 12.611457 309.5145 12.807422 309.22284 c +12.921354 309.05423 13.103644 308.84686 13.354297 308.60077 c +16.854298 308.60077 l +17.223438 308.60077 17.50371 308.66571 17.695118 308.79559 c +17.886524 308.92548 17.989061 309.20004 18.002735 309.61932 c +18.18047 309.61932 l +18.18047 306.48163 l +18.002735 306.48163 l +17.948046 306.91458 17.843229 307.19028 17.688282 307.30878 c +17.533333 307.42728 17.152802 307.48651 16.54668 307.48651 c +14.632617 307.48651 l +13.930791 307.48651 13.447722 307.44095 13.183398 307.34979 c +12.736781 307.1994 12.513476 306.8804 12.513476 306.39276 c +12.513476 306.11478 12.58981 305.84134 12.74248 305.57245 c +12.89515 305.30356 13.09453 305.06659 13.340625 304.86151 c +17.079884 304.86151 l +17.426239 304.86151 17.665493 304.92191 17.797657 305.04266 c +17.929819 305.16342 17.998177 305.42661 18.002735 305.83221 c +18.18047 305.83221 l +18.18047 302.72186 l +h +16.027149 314.11053 m +16.027149 314.33612 l +16.546682 314.44095 16.94544 314.58221 17.223438 314.75995 c +17.733856 315.07895 17.989063 315.54608 17.989063 316.16132 c +17.989063 316.50311 17.894499 316.77313 17.705372 316.97137 c +17.516243 317.16962 17.27129 317.26874 16.970509 317.26874 c +16.7791 317.26874 16.594532 317.21176 16.416798 317.09784 c +16.239061 316.98392 16.065886 316.78339 15.897265 316.49628 c +15.459765 315.73065 l +15.158982 315.1701 14.855926 314.75766 14.550586 314.49335 c +14.245246 314.22903 13.885223 314.09686 13.470508 314.09686 c +12.960089 314.09686 12.540822 314.27914 12.212695 314.64374 c +11.884568 315.00833 11.720508 315.46634 11.720508 316.01776 c +11.720508 316.25931 11.76608 316.52475 11.857226 316.81415 c +11.948373 317.10355 11.993945 317.26645 11.993945 317.30292 c +11.993945 317.38495 11.982552 317.44418 11.959765 317.48065 c +11.936979 317.51712 11.900521 317.54901 11.85039 317.57635 c +11.85039 317.74042 l +13.757617 317.78827 l +13.757617 317.57635 l +13.315557 317.4852 12.971485 317.36215 12.72539 317.20721 c +12.269659 316.92465 12.041797 316.51678 12.041797 315.98358 c +12.041797 315.66458 12.139777 315.41391 12.335742 315.23163 c +12.531707 315.04935 12.761847 314.95819 13.026172 314.95819 c +13.445445 314.95819 13.819139 315.27264 14.147265 315.90155 c +14.632617 316.80389 l +15.161265 317.7746 15.776494 318.25995 16.478321 318.25995 c +17.016083 318.25995 17.455858 318.05829 17.797657 317.65497 c +18.139454 317.25165 18.310352 316.72415 18.310352 316.07245 c +18.310352 315.79901 18.264778 315.48911 18.173634 315.14276 c +18.082487 314.79642 18.036915 314.59134 18.036915 314.52753 c +18.036915 314.47284 18.056282 314.42499 18.09502 314.38397 c +18.133757 314.34296 18.180468 314.31107 18.235157 314.28827 c +18.235157 314.11053 l +h +20.388477 322.25214 m +20.388477 319.29901 l +20.04668 319.29901 l +20.04668 320.54999 l +20.04668 320.81888 19.96237 321.00345 19.793751 321.1037 c +19.702604 321.15384 19.57728 321.17889 19.417774 321.17889 c +9.9978514 321.17889 l +9.7745428 321.17889 9.59795 321.13446 9.4680662 321.04559 c +9.3381824 320.95673 9.273242 320.77557 9.273242 320.50214 c +9.273242 319.29901 l +8.9177732 319.29901 l +8.9177732 322.25214 l +h +18.18047 323.49628 m +f +1 0 0 1 0.5 0.5 cm +84 577.15002 m +84 42 l +820.75 42 l +820.75 577.15002 l +84 577.15002 l +h +84 577.15002 m +S +CM +712.4588 557.36096 m +712.94189 557.38373 713.25977 557.47375 713.41241 557.63098 c +713.56506 557.78821 713.64142 558.11975 713.64142 558.62561 c +713.64142 563.01428 l +712.47247 563.01428 l +712.47247 563.47229 l +713.64142 563.47229 l +713.64142 564.19232 713.73938 564.80072 713.93536 565.29749 c +714.30908 566.24994 714.99493 566.7262 715.99298 566.7262 c +716.39404 566.7262 716.75293 566.64642 717.06964 566.48694 c +717.38635 566.32745 717.54474 566.11322 717.54474 565.84436 c +717.54474 565.69397 717.49005 565.55951 717.38068 565.44104 c +717.2713 565.32257 717.13916 565.26331 716.98419 565.26331 c +716.85205 565.26331 716.7381 565.30316 716.6424 565.38293 c +716.54669 565.46271 716.43274 565.60284 716.3006 565.80334 c +716.18439 565.98108 l +716.12061 566.07678 716.04541 566.15765 715.9588 566.22375 c +715.87219 566.28986 715.75146 566.32288 715.5965 566.32288 c +715.25012 566.32288 715.01544 566.15198 714.8924 565.81018 c +714.82404 565.62787 714.78986 565.38861 714.78986 565.09241 c +714.78986 563.47229 l +716.50568 563.47229 l +716.50568 563.01428 l +714.80353 563.01428 l +714.80353 558.62561 l +714.80353 558.11066 714.87305 557.78137 715.01202 557.63782 c +715.151 557.49426 715.51447 557.40198 716.10236 557.36096 c +716.10236 557.16956 l +712.4588 557.16956 l +h +718.06769 562.64172 m +718.64417 563.26837 719.38586 563.58167 720.29279 563.58167 c +721.19513 563.58167 721.9425 563.28546 722.53497 562.69299 c +723.12744 562.10052 723.42365 561.31213 723.42365 560.32776 c +723.42365 559.42084 723.13654 558.63245 722.56232 557.96252 c +721.9881 557.2926 721.24524 556.95764 720.3338 556.95764 c +719.4588 556.95764 718.71826 557.27893 718.11212 557.92151 c +717.50598 558.56409 717.20294 559.37073 717.20294 560.34143 c +717.20294 561.24835 717.49121 562.01508 718.06769 562.64172 c +h +719.16486 562.81604 m +718.70911 562.40131 718.48126 561.68585 718.48126 560.66956 c +718.48126 559.85834 718.66467 559.10187 719.03156 558.40002 c +719.39844 557.69818 719.90771 557.34729 720.55939 557.34729 c +721.06982 557.34729 721.46289 557.58197 721.73859 558.05139 c +722.01428 558.52081 722.15216 559.13605 722.15216 559.89709 c +722.15216 560.68549 721.97668 561.42834 721.62579 562.12561 c +721.2749 562.82288 720.76672 563.17151 720.10138 563.17151 c +719.74133 563.17151 719.4292 563.05304 719.16486 562.81604 c +h +728.80011 563.17493 m +729.21252 562.88098 729.41876 562.55853 729.41876 562.20764 c +729.41876 562.05725 729.36633 561.91711 729.26154 561.78723 c +729.15674 561.65735 728.99493 561.59241 728.77618 561.59241 c +728.6167 561.59241 728.47656 561.64709 728.35577 561.75647 c +728.23499 561.86584 728.14728 562.02533 728.09259 562.23499 c +728.01056 562.56311 l +727.95129 562.80463 727.84875 562.97552 727.70294 563.07581 c +727.55255 563.17151 727.35431 563.21936 727.10822 563.21936 c +726.58868 563.21936 726.15002 562.99261 725.7923 562.53918 c +725.43457 562.08575 725.25568 561.48303 725.25568 560.73108 c +725.25568 560.04291 725.45276 559.42542 725.84698 558.87854 c +726.24121 558.33167 726.77325 558.05823 727.44318 558.05823 c +727.91711 558.05823 728.33868 558.2132 728.70782 558.52307 c +728.91748 558.70081 729.15442 558.98334 729.41876 559.37073 c +729.61017 559.25452 l +729.3504 558.70764 729.07697 558.27472 728.78986 557.95569 c +728.2384 557.34503 727.6004 557.03967 726.87579 557.03967 c +726.16486 557.03967 725.53595 557.31995 724.98907 557.88049 c +724.4422 558.44104 724.16876 559.20209 724.16876 560.1637 c +724.16876 561.10706 724.46729 561.91827 725.06427 562.59729 c +725.66125 563.27631 726.41553 563.61584 727.32697 563.61584 c +727.89661 563.61584 728.3877 563.46887 728.80011 563.17493 c +h +732.22833 563.49963 m +732.22833 559.12463 l +732.22833 558.81476 732.27161 558.56635 732.35822 558.37952 c +732.52686 558.03314 732.83673 557.85999 733.2879 557.85999 c +733.59778 557.85999 733.90088 557.96252 734.19708 558.1676 c +734.36572 558.28156 734.53662 558.43878 734.70978 558.63928 c +734.70978 562.38538 l +734.70978 562.73627 734.64142 562.96643 734.5047 563.07581 c +734.36798 563.18518 734.09454 563.25128 733.68439 563.27405 c +733.68439 563.49963 l +735.8924 563.49963 l +735.8924 558.68713 l +735.8924 558.37726 735.94824 558.16418 736.05988 558.04797 c +736.17151 557.93176 736.40735 557.88049 736.7674 557.89417 c +736.7674 557.70276 l +736.51672 557.6344 736.33215 557.58313 736.21368 557.54895 c +736.09521 557.51477 735.89697 557.45209 735.61896 557.36096 c +735.50049 557.31995 735.24072 557.22198 734.83966 557.06702 c +734.81689 557.06702 734.80322 557.07727 734.79865 557.09778 c +734.79407 557.11829 734.79181 557.14221 734.79181 557.16956 c +734.79181 558.27014 l +734.48193 557.901 734.19934 557.62756 733.94415 557.44983 c +733.55676 557.17639 733.14661 557.03967 732.71368 557.03967 c +732.3172 557.03967 731.94348 557.18097 731.59259 557.4635 c +731.23712 557.74152 731.05939 558.20862 731.05939 558.86487 c +731.05939 562.41272 l +731.05939 562.77728 730.98193 563.02112 730.82697 563.14417 c +730.72668 563.22162 730.51251 563.27631 730.18439 563.30823 c +730.18439 563.49963 l +h +737.78595 559.32288 m +738.01154 559.32288 l +738.11633 558.80334 738.25763 558.4046 738.43536 558.12659 c +738.75439 557.61615 739.2215 557.36096 739.83673 557.36096 c +740.17853 557.36096 740.44855 557.45551 740.64679 557.64465 c +740.84503 557.8338 740.94415 558.07874 740.94415 558.37952 c +740.94415 558.57092 740.88721 558.75549 740.77325 558.93323 c +740.6593 559.11096 740.4588 559.28412 740.17169 559.45276 c +739.40607 559.89026 l +738.84552 560.19104 738.43311 560.49408 738.16876 560.79944 c +737.90442 561.1048 737.77228 561.46478 737.77228 561.87952 c +737.77228 562.38995 737.95459 562.8092 738.31915 563.13733 c +738.68372 563.46545 739.14172 563.62952 739.69318 563.62952 c +739.93469 563.62952 740.2002 563.58392 740.48956 563.4928 c +740.77893 563.40167 740.94189 563.35608 740.97833 563.35608 c +741.06036 563.35608 741.11963 563.36749 741.15607 563.39026 c +741.1925 563.41302 741.22443 563.44952 741.25177 563.49963 c +741.41583 563.49963 l +741.46368 561.59241 l +741.25177 561.59241 l +741.16064 562.03448 741.0376 562.37854 740.88263 562.62463 c +740.6001 563.08038 740.1922 563.30823 739.659 563.30823 c +739.33997 563.30823 739.08936 563.21027 738.90704 563.01428 c +738.72473 562.8183 738.63361 562.5882 738.63361 562.32385 c +738.63361 561.9046 738.94806 561.53088 739.57697 561.20276 c +740.47931 560.71741 l +741.45001 560.18878 741.93536 559.57355 741.93536 558.8717 c +741.93536 558.33392 741.7337 557.89417 741.33038 557.55237 c +740.92706 557.21057 740.39954 557.03967 739.74786 557.03967 c +739.47443 557.03967 739.16455 557.08527 738.81818 557.17639 c +738.4718 557.26752 738.26672 557.31311 738.20294 557.31311 c +738.14825 557.31311 738.1004 557.29376 738.05939 557.255 c +738.01837 557.21625 737.98645 557.16956 737.96368 557.11487 c +737.78595 557.11487 l +h +747.40411 562.91516 m +747.88721 562.47083 748.12872 561.84076 748.12872 561.02502 c +743.7879 561.02502 l +743.8335 559.96771 744.07275 559.19757 744.50568 558.71448 c +744.9386 558.23138 745.45129 557.98987 746.04376 557.98987 c +746.52228 557.98987 746.9256 558.11517 747.25372 558.36584 c +747.58185 558.61652 747.88489 558.97198 748.1629 559.43225 c +748.40216 559.35022 l +748.21533 558.77142 747.86554 558.23596 747.35284 557.74377 c +746.84015 557.25159 746.2124 557.00549 745.46954 557.00549 c +744.61279 557.00549 743.95081 557.32904 743.4837 557.9762 c +743.0166 558.62335 742.78302 559.36847 742.78302 560.21155 c +742.78302 561.12756 743.0542 561.91827 743.5965 562.58362 c +744.13879 563.24896 744.84521 563.58167 745.71564 563.58167 c +746.35822 563.58167 746.92102 563.3595 747.40411 562.91516 c +h +744.1297 562.39221 m +743.98389 562.14612 743.87903 561.83624 743.81525 561.46252 c +746.70001 561.46252 l +746.6499 561.91827 746.56329 562.25775 746.44025 562.48108 c +746.21692 562.88214 745.84326 563.08264 745.31915 563.08264 c +744.79962 563.08264 744.40314 562.85248 744.1297 562.39221 c +h +752.9549 563.41077 m +753.13721 563.31506 753.31262 563.18292 753.48126 563.01428 c +753.48126 565.18811 l +753.48126 565.46613 753.4505 565.65753 753.38898 565.76233 c +753.32745 565.86713 753.18048 565.91956 752.94806 565.91956 c +752.89337 565.91956 752.84552 565.9173 752.8045 565.91272 c +752.76349 565.90814 752.67236 565.89905 752.53107 565.88538 c +752.53107 566.11096 l +753.09161 566.25452 l +753.29669 566.3092 753.50177 566.36615 753.70685 566.42542 c +753.91193 566.48468 754.09192 566.54163 754.24689 566.59631 c +754.31982 566.61908 754.44055 566.66241 754.60919 566.7262 c +754.65021 566.71252 l +754.63654 565.99475 l +754.63196 565.73499 754.62744 565.46722 754.62286 565.19153 c +754.61829 564.91583 754.61603 564.64349 754.61603 564.37463 c +754.60236 558.78967 l +754.60236 558.49347 754.63879 558.28607 754.71173 558.1676 c +754.78467 558.04913 754.97833 557.98987 755.29279 557.98987 c +755.3429 557.98987 755.39307 557.99103 755.44318 557.99329 c +755.49329 557.99554 755.54346 558.00128 755.59357 558.01038 c +755.59357 557.78479 l +755.56622 557.7757 755.23584 557.66174 754.60236 557.44299 c +753.52911 557.03967 l +753.48126 557.1012 l +753.48126 557.94202 l +753.22607 557.664 753.005 557.46576 752.81818 557.34729 c +752.48547 557.14221 752.1004 557.03967 751.6629 557.03967 c +750.88818 557.03967 750.26038 557.33929 749.7796 557.9386 c +749.29883 558.5379 749.05841 559.23175 749.05841 560.02014 c +749.05841 561.00909 749.34668 561.85785 749.92316 562.56653 c +750.49963 563.27521 751.2049 563.62952 752.03888 563.62952 c +752.37158 563.62952 752.67688 563.55658 752.9549 563.41077 c +h +753.15314 558.09241 m +753.37189 558.30206 753.48126 558.50031 753.48126 558.68713 c +753.48126 561.61975 l +753.48126 562.21222 753.32288 562.63031 753.00616 562.87415 c +752.68945 563.11798 752.38068 563.23987 752.0799 563.23987 c +751.50568 563.23987 751.05908 562.98578 750.74005 562.47766 c +750.42102 561.96954 750.26154 561.34406 750.26154 560.6012 c +750.26154 559.86749 750.43127 559.2135 750.77081 558.63928 c +751.11035 558.06506 751.61731 557.77795 752.29181 557.77795 c +752.64728 557.77795 752.93439 557.88275 753.15314 558.09241 c +h +755.72345 557.16956 m +f +1 0 0 sc +1 0 0 1 0.5 0.5 cm +763.34998 554.40002 m +803.95001 554.40002 l +803.95001 564.90002 l +763.34998 564.90002 l +h +763.34998 554.40002 m +S +CM +763.84998 554.90002 m +804.45001 554.90002 l +804.45001 565.40002 l +763.84998 565.40002 l +h +763.84998 554.90002 m +f +1 0 0 1 0.5 0.5 cm +763.34998 554.40002 m +803.95001 554.40002 l +803.95001 564.90002 l +763.34998 564.90002 l +763.34998 554.40002 l +h +763.34998 554.40002 m +S +139.25 42 m +176.14999 42 l +176.14999 573.65002 l +139.25 573.65002 l +h +139.25 42 m +S +CM +139.75 42.5 m +176.64999 42.5 l +176.64999 574.15002 l +139.75 574.15002 l +h +139.75 42.5 m +f +1 0 0 1 0.5 0.5 cm +139.25 42 m +139.25 573.59998 l +176.10001 573.59998 l +176.10001 42 l +139.25 42 l +h +139.25 42 m +S +0 0 0 sc +CM +723.67657 544.86487 m +723.67657 545.09729 l +724.19611 545.21576 724.66321 545.34796 725.07794 545.49377 c +725.49268 545.63959 725.71594 545.71252 725.74786 545.71252 c +725.75696 545.68518 725.76154 545.65784 725.76154 545.63049 c +725.76154 541.46741 l +725.88 541.68616 726.05774 541.89349 726.29474 542.08948 c +726.71399 542.43127 727.19708 542.60217 727.74396 542.60217 c +728.41388 542.60217 728.98584 542.31964 729.45978 541.75452 c +729.93372 541.18939 730.17072 540.45569 730.17072 539.55334 c +730.17072 538.58722 729.8631 537.76007 729.24786 537.0719 c +728.63263 536.38373 727.82373 536.03967 726.82111 536.03967 c +726.31525 536.03967 725.81848 536.13995 725.33087 536.34045 c +724.84326 536.54095 724.59943 536.74152 724.59943 536.94202 c +724.59943 544.1676 l +724.59943 544.43195 724.56299 544.61993 724.49005 544.73157 c +724.41711 544.8432 724.24854 544.89905 723.98419 544.89905 c +h +726.2674 536.65833 m +726.58185 536.55579 726.85754 536.50452 727.09454 536.50452 c +727.73254 536.50452 728.20538 536.74377 728.513 537.22229 c +728.82062 537.70081 728.97443 538.2796 728.97443 538.95862 c +728.97443 539.63763 728.83087 540.26544 728.54376 540.84192 c +728.25665 541.4184 727.79181 541.70667 727.14923 541.70667 c +726.82568 541.70667 726.50891 541.60754 726.19904 541.4093 c +725.88916 541.21106 725.73419 540.95929 725.73419 540.65393 c +725.73419 537.1676 l +725.77521 536.9306 725.95294 536.76086 726.2674 536.65833 c +h +731.98224 545.50061 m +732.11896 545.64191 732.2876 545.71252 732.4881 545.71252 c +732.68408 545.71252 732.85156 545.64301 732.99054 545.50403 c +733.12952 545.36505 733.19904 545.19525 733.19904 544.99475 c +733.19904 544.79877 733.12952 544.63129 732.99054 544.49231 c +732.85156 544.35333 732.68408 544.28381 732.4881 544.28381 c +732.2876 544.28381 732.11896 544.35333 731.98224 544.49231 c +731.84552 544.63129 731.77716 544.79877 731.77716 544.99475 c +731.77716 545.19073 731.84552 545.35931 731.98224 545.50061 c +h +730.90216 536.36096 m +731.38977 536.40656 731.69739 536.48969 731.82501 536.61047 c +731.95264 536.73126 732.01642 537.05823 732.01642 537.59143 c +732.01642 540.85217 l +732.01642 541.14838 731.99591 541.35345 731.9549 541.46741 c +731.88654 541.65424 731.74298 541.74768 731.52423 541.74768 c +731.47412 541.74768 731.42511 541.7431 731.37726 541.73401 c +731.32941 541.72491 731.19153 541.68842 730.96368 541.62463 c +730.96368 541.83655 l +731.25763 541.93225 l +732.05518 542.19202 732.61115 542.388 732.9256 542.52014 c +733.05322 542.57483 733.13525 542.60217 733.17169 542.60217 c +733.18079 542.57025 733.18536 542.53607 733.18536 542.49963 c +733.18536 537.59143 l +733.18536 537.0719 733.24805 536.74603 733.37335 536.61389 c +733.49866 536.48175 733.78235 536.3974 734.22443 536.36096 c +734.22443 536.16956 l +730.90216 536.16956 l +h +738.0799 542.47229 m +738.0799 541.9801 l +736.68536 541.9801 l +736.67169 538.0426 l +736.67169 537.69623 736.70129 537.4342 736.76056 537.25647 c +736.86993 536.94202 737.08411 536.78479 737.40314 536.78479 c +737.5672 536.78479 737.70959 536.82355 737.83038 536.901 c +737.95117 536.97845 738.08899 537.1015 738.24396 537.27014 c +738.42169 537.11975 l +738.2713 536.91467 l +738.0343 536.59564 737.78369 536.37006 737.51935 536.23792 c +737.255 536.10577 736.99982 536.03967 736.75372 536.03967 c +736.21594 536.03967 735.85138 536.27893 735.65997 536.75745 c +735.55518 537.01721 735.50275 537.37726 735.50275 537.83752 c +735.50275 541.9801 l +734.75763 541.9801 l +734.73486 541.99377 734.71777 542.00745 734.70636 542.02112 c +734.69495 542.03479 734.68927 542.05304 734.68927 542.07581 c +734.68927 542.1214 734.69952 542.15668 734.72003 542.18176 c +734.74054 542.20685 734.80548 542.26495 734.91486 542.35608 c +735.22931 542.61584 735.45605 542.8266 735.59503 542.9884 c +735.73401 543.15021 736.06104 543.57745 736.57599 544.27014 c +736.63525 544.27014 736.67053 544.26556 736.68195 544.25647 c +736.69336 544.24738 736.69904 544.2132 736.69904 544.15393 c +736.69904 542.47229 l +h +738.46954 536.39514 m +738.88879 536.43158 739.16681 536.50568 739.30353 536.61731 c +739.44025 536.72894 739.50861 536.9671 739.50861 537.33167 c +739.50861 540.41467 l +739.50861 540.86584 739.46643 541.18829 739.38214 541.38196 c +739.29785 541.57562 739.14404 541.67249 738.92072 541.67249 c +738.87512 541.67249 738.81476 541.66681 738.73956 541.6554 c +738.66437 541.64398 738.58575 541.62921 738.50372 541.61096 c +738.50372 541.83655 l +738.76349 541.92767 739.03009 542.02112 739.30353 542.11682 c +739.57697 542.21252 739.76611 542.28088 739.87091 542.3219 c +740.09875 542.40851 740.3335 542.50647 740.57501 542.61584 c +740.60693 542.61584 740.62628 542.60443 740.63312 542.58167 c +740.63995 542.5589 740.64337 542.51105 740.64337 542.43811 c +740.64337 541.31702 l +740.93506 541.7226 741.21643 542.03937 741.48761 542.26721 c +741.75879 542.49506 742.04016 542.60901 742.33185 542.60901 c +742.56427 542.60901 742.75342 542.53949 742.89923 542.40051 c +743.04504 542.26154 743.11798 542.08722 743.11798 541.87756 c +743.11798 541.69073 743.06213 541.53351 742.9505 541.40588 c +742.83887 541.27826 742.69873 541.21448 742.53009 541.21448 c +742.35693 541.21448 742.18262 541.29425 742.00714 541.45374 c +741.83167 541.61322 741.69385 541.69299 741.59357 541.69299 c +741.43408 541.69299 741.2381 541.56427 741.00568 541.30676 c +740.77325 541.04926 740.65704 540.78381 740.65704 540.51038 c +740.65704 537.42737 l +740.65704 537.03546 740.74817 536.76312 740.93048 536.61047 c +741.11279 536.45782 741.41583 536.38605 741.83966 536.39514 c +741.83966 536.16956 l +738.46954 536.16956 l +h +747.96466 541.91516 m +748.44775 541.47083 748.68927 540.84076 748.68927 540.02502 c +744.34845 540.02502 l +744.39404 538.96771 744.6333 538.19757 745.06622 537.71448 c +745.49915 537.23138 746.01184 536.98987 746.60431 536.98987 c +747.08282 536.98987 747.48615 537.11517 747.81427 537.36584 c +748.1424 537.61652 748.44543 537.97198 748.72345 538.43225 c +748.96271 538.35022 l +748.77588 537.77142 748.42609 537.23596 747.91339 536.74377 c +747.4007 536.25159 746.77295 536.00549 746.03009 536.00549 c +745.17334 536.00549 744.51135 536.32904 744.04425 536.9762 c +743.57715 537.62335 743.34357 538.36847 743.34357 539.21155 c +743.34357 540.12756 743.61475 540.91827 744.15704 541.58362 c +744.69934 542.24896 745.40576 542.58167 746.27618 542.58167 c +746.91876 542.58167 747.48157 542.3595 747.96466 541.91516 c +h +744.69025 541.39221 m +744.54443 541.14612 744.43958 540.83624 744.37579 540.46252 c +747.26056 540.46252 l +747.21045 540.91827 747.12384 541.25775 747.00079 541.48108 c +746.77747 541.88214 746.40381 542.08264 745.8797 542.08264 c +745.36017 542.08264 744.96368 541.85248 744.69025 541.39221 c +h +754.17853 541.91516 m +754.66162 541.47083 754.90314 540.84076 754.90314 540.02502 c +750.56232 540.02502 l +750.60791 538.96771 750.84717 538.19757 751.28009 537.71448 c +751.71301 537.23138 752.22571 536.98987 752.81818 536.98987 c +753.29669 536.98987 753.70001 537.11517 754.02814 537.36584 c +754.35626 537.61652 754.6593 537.97198 754.93732 538.43225 c +755.17657 538.35022 l +754.98975 537.77142 754.63995 537.23596 754.12726 536.74377 c +753.61456 536.25159 752.98682 536.00549 752.24396 536.00549 c +751.38721 536.00549 750.72522 536.32904 750.25812 536.9762 c +749.79102 537.62335 749.55743 538.36847 749.55743 539.21155 c +749.55743 540.12756 749.82861 540.91827 750.37091 541.58362 c +750.91321 542.24896 751.61963 542.58167 752.49005 542.58167 c +753.13263 542.58167 753.69543 542.3595 754.17853 541.91516 c +h +750.90411 541.39221 m +750.7583 541.14612 750.65344 540.83624 750.58966 540.46252 c +753.47443 540.46252 l +753.42432 540.91827 753.33771 541.25775 753.21466 541.48108 c +752.99133 541.88214 752.61768 542.08264 752.09357 542.08264 c +751.57404 542.08264 751.17755 541.85248 750.90411 541.39221 c +h +755.49786 536.16956 m +f +0 1 0 sc +1 0 0 1 0.5 0.5 cm +763.34998 533.40002 m +803.95001 533.40002 l +803.95001 543.90002 l +763.34998 543.90002 l +h +763.34998 533.40002 m +S +CM +763.84998 533.90002 m +804.45001 533.90002 l +804.45001 544.40002 l +763.84998 544.40002 l +h +763.84998 533.90002 m +f +1 0 0 1 0.5 0.5 cm +763.34998 533.40002 m +803.95001 533.40002 l +803.95001 543.90002 l +763.34998 543.90002 l +763.34998 533.40002 l +h +763.34998 533.40002 m +S +286.60001 42 m +323.5 42 l +323.5 486.20001 l +286.60001 486.20001 l +h +286.60001 42 m +S +CM +287.10001 42.5 m +324 42.5 l +324 486.70001 l +287.10001 486.70001 l +h +287.10001 42.5 m +f +1 0 0 1 0.5 0.5 cm +286.60001 42 m +286.60001 486.14999 l +323.45001 486.14999 l +323.45001 42 l +286.60001 42 l +h +286.60001 42 m +S +0 0 0 sc +CM +730.42365 521.47229 m +730.42365 520.9801 l +729.02911 520.9801 l +729.01544 517.0426 l +729.01544 516.69623 729.04504 516.4342 729.10431 516.25647 c +729.21368 515.94202 729.42786 515.78479 729.74689 515.78479 c +729.91095 515.78479 730.05334 515.82355 730.17413 515.901 c +730.29492 515.97845 730.43274 516.1015 730.58771 516.27014 c +730.76544 516.11975 l +730.61505 515.91467 l +730.37805 515.59564 730.12744 515.37006 729.8631 515.23792 c +729.59875 515.10577 729.34357 515.03967 729.09747 515.03967 c +728.55969 515.03967 728.19513 515.27893 728.00372 515.75745 c +727.89893 516.01721 727.8465 516.37726 727.8465 516.83752 c +727.8465 520.9801 l +727.10138 520.9801 l +727.07861 520.99377 727.06152 521.00745 727.05011 521.02112 c +727.0387 521.03479 727.03302 521.05304 727.03302 521.07581 c +727.03302 521.1214 727.04327 521.15668 727.06378 521.18176 c +727.08429 521.20685 727.14923 521.26495 727.25861 521.35608 c +727.57306 521.61584 727.7998 521.8266 727.93878 521.9884 c +728.07776 522.15021 728.40479 522.57745 728.91974 523.27014 c +728.979 523.27014 729.01428 523.26556 729.0257 523.25647 c +729.03711 523.24738 729.04279 523.2132 729.04279 523.15393 c +729.04279 521.47229 l +h +732.10529 524.50061 m +732.242 524.64191 732.41064 524.71252 732.61115 524.71252 c +732.80713 524.71252 732.97461 524.64301 733.11359 524.50403 c +733.25256 524.36505 733.32208 524.19525 733.32208 523.99475 c +733.32208 523.79877 733.25256 523.63129 733.11359 523.49231 c +732.97461 523.35333 732.80713 523.28381 732.61115 523.28381 c +732.41064 523.28381 732.242 523.35333 732.10529 523.49231 c +731.96857 523.63129 731.90021 523.79877 731.90021 523.99475 c +731.90021 524.19073 731.96857 524.35931 732.10529 524.50061 c +h +731.02521 515.36096 m +731.51282 515.40656 731.82043 515.48969 731.94806 515.61047 c +732.07568 515.73126 732.13947 516.05823 732.13947 516.59143 c +732.13947 519.85217 l +732.13947 520.14838 732.11896 520.35345 732.07794 520.46741 c +732.00958 520.65424 731.86603 520.74768 731.64728 520.74768 c +731.59717 520.74768 731.54816 520.7431 731.50031 520.73401 c +731.45245 520.72491 731.31458 520.68842 731.08673 520.62463 c +731.08673 520.83655 l +731.38068 520.93225 l +732.17822 521.19202 732.73419 521.388 733.04865 521.52014 c +733.17627 521.57483 733.2583 521.60217 733.29474 521.60217 c +733.30383 521.57025 733.30841 521.53607 733.30841 521.49963 c +733.30841 516.59143 l +733.30841 516.0719 733.37109 515.74603 733.4964 515.61389 c +733.6217 515.48175 733.9054 515.3974 734.34747 515.36096 c +734.34747 515.16956 l +731.02521 515.16956 l +h +738.20294 521.47229 m +738.20294 520.9801 l +736.80841 520.9801 l +736.79474 517.0426 l +736.79474 516.69623 736.82434 516.4342 736.88361 516.25647 c +736.99298 515.94202 737.20715 515.78479 737.52618 515.78479 c +737.69025 515.78479 737.83264 515.82355 737.95343 515.901 c +738.07422 515.97845 738.21204 516.1015 738.367 516.27014 c +738.54474 516.11975 l +738.39435 515.91467 l +738.15735 515.59564 737.90674 515.37006 737.6424 515.23792 c +737.37805 515.10577 737.12286 515.03967 736.87677 515.03967 c +736.33899 515.03967 735.97443 515.27893 735.78302 515.75745 c +735.67822 516.01721 735.62579 516.37726 735.62579 516.83752 c +735.62579 520.9801 l +734.88068 520.9801 l +734.85791 520.99377 734.84082 521.00745 734.82941 521.02112 c +734.81799 521.03479 734.81232 521.05304 734.81232 521.07581 c +734.81232 521.1214 734.82257 521.15668 734.84308 521.18176 c +734.86359 521.20685 734.92853 521.26495 735.0379 521.35608 c +735.35236 521.61584 735.5791 521.8266 735.71808 521.9884 c +735.85706 522.15021 736.18408 522.57745 736.69904 523.27014 c +736.7583 523.27014 736.79358 523.26556 736.80499 523.25647 c +736.81641 523.24738 736.82208 523.2132 736.82208 523.15393 c +736.82208 521.47229 l +h +738.59259 515.39514 m +739.01184 515.43158 739.28986 515.50568 739.42657 515.61731 c +739.56329 515.72894 739.63165 515.9671 739.63165 516.33167 c +739.63165 519.41467 l +739.63165 519.86584 739.58948 520.18829 739.50519 520.38196 c +739.4209 520.57562 739.26709 520.67249 739.04376 520.67249 c +738.99817 520.67249 738.93781 520.66681 738.86261 520.6554 c +738.78741 520.64398 738.7088 520.62921 738.62677 520.61096 c +738.62677 520.83655 l +738.88654 520.92767 739.15314 521.02112 739.42657 521.11682 c +739.70001 521.21252 739.88916 521.28088 739.99396 521.3219 c +740.2218 521.40851 740.45654 521.50647 740.69806 521.61584 c +740.72998 521.61584 740.74933 521.60443 740.75616 521.58167 c +740.763 521.5589 740.76642 521.51105 740.76642 521.43811 c +740.76642 520.31702 l +741.05811 520.7226 741.33948 521.03937 741.61066 521.26721 c +741.88184 521.49506 742.16321 521.60901 742.4549 521.60901 c +742.68732 521.60901 742.87646 521.53949 743.02228 521.40051 c +743.16809 521.26154 743.24103 521.08722 743.24103 520.87756 c +743.24103 520.69073 743.18518 520.53351 743.07355 520.40588 c +742.96191 520.27826 742.82178 520.21448 742.65314 520.21448 c +742.47998 520.21448 742.30566 520.29425 742.13019 520.45374 c +741.95471 520.61322 741.81689 520.69299 741.71661 520.69299 c +741.55713 520.69299 741.36115 520.56427 741.12872 520.30676 c +740.8963 520.04926 740.78009 519.78381 740.78009 519.51038 c +740.78009 516.42737 l +740.78009 516.03546 740.87122 515.76312 741.05353 515.61047 c +741.23584 515.45782 741.53888 515.38605 741.96271 515.39514 c +741.96271 515.16956 l +738.59259 515.16956 l +h +748.08771 520.91516 m +748.5708 520.47083 748.81232 519.84076 748.81232 519.02502 c +744.4715 519.02502 l +744.51709 517.96771 744.75635 517.19757 745.18927 516.71448 c +745.62219 516.23138 746.13489 515.98987 746.72736 515.98987 c +747.20587 515.98987 747.60919 516.11517 747.93732 516.36584 c +748.26544 516.61652 748.56848 516.97198 748.8465 517.43225 c +749.08575 517.35022 l +748.89893 516.77142 748.54913 516.23596 748.03644 515.74377 c +747.52374 515.25159 746.896 515.00549 746.15314 515.00549 c +745.29639 515.00549 744.6344 515.32904 744.1673 515.9762 c +743.7002 516.62335 743.46661 517.36847 743.46661 518.21155 c +743.46661 519.12756 743.73779 519.91827 744.28009 520.58362 c +744.82239 521.24896 745.52881 521.58167 746.39923 521.58167 c +747.04181 521.58167 747.60461 521.3595 748.08771 520.91516 c +h +744.81329 520.39221 m +744.66748 520.14612 744.56262 519.83624 744.49884 519.46252 c +747.38361 519.46252 l +747.3335 519.91827 747.24689 520.25775 747.12384 520.48108 c +746.90051 520.88214 746.52686 521.08264 746.00275 521.08264 c +745.48322 521.08264 745.08673 520.85248 744.81329 520.39221 c +h +754.30157 520.91516 m +754.78467 520.47083 755.02618 519.84076 755.02618 519.02502 c +750.68536 519.02502 l +750.73096 517.96771 750.97021 517.19757 751.40314 516.71448 c +751.83606 516.23138 752.34875 515.98987 752.94122 515.98987 c +753.41974 515.98987 753.82306 516.11517 754.15118 516.36584 c +754.47931 516.61652 754.78235 516.97198 755.06036 517.43225 c +755.29962 517.35022 l +755.11279 516.77142 754.763 516.23596 754.25031 515.74377 c +753.73761 515.25159 753.10986 515.00549 752.367 515.00549 c +751.51025 515.00549 750.84827 515.32904 750.38116 515.9762 c +749.91406 516.62335 749.68048 517.36847 749.68048 518.21155 c +749.68048 519.12756 749.95166 519.91827 750.49396 520.58362 c +751.03625 521.24896 751.74268 521.58167 752.6131 521.58167 c +753.25568 521.58167 753.81848 521.3595 754.30157 520.91516 c +h +751.02716 520.39221 m +750.88135 520.14612 750.77649 519.83624 750.71271 519.46252 c +753.59747 519.46252 l +753.54736 519.91827 753.46075 520.25775 753.33771 520.48108 c +753.11438 520.88214 752.74072 521.08264 752.21661 521.08264 c +751.69708 521.08264 751.3006 520.85248 751.02716 520.39221 c +h +755.62091 515.16956 m +f +0 0 1 sc +1 0 0 1 0.5 0.5 cm +763.34998 512.40002 m +803.95001 512.40002 l +803.95001 522.90002 l +763.34998 522.90002 l +h +763.34998 512.40002 m +S +CM +763.84998 512.90002 m +804.45001 512.90002 l +804.45001 523.40002 l +763.84998 523.40002 l +h +763.84998 512.90002 m +f +1 0 0 1 0.5 0.5 cm +763.34998 512.40002 m +803.95001 512.40002 l +803.95001 522.90002 l +763.34998 522.90002 l +763.34998 512.40002 l +h +763.34998 512.40002 m +S +433.95001 42 m +470.85001 42 l +470.85001 298.89999 l +433.95001 298.89999 l +h +433.95001 42 m +S +CM +434.45001 42.5 m +471.35001 42.5 l +471.35001 299.39999 l +434.45001 299.39999 l +h +434.45001 42.5 m +f +1 0 0 1 0.5 0.5 cm +433.95001 42 m +433.95001 298.85001 l +470.79999 298.85001 l +470.79999 42 l +433.95001 42 l +h +433.95001 42 m +S +0 0 0 sc +CM +707.43439 495.53329 m +708.01318 494.82919 708.72412 494.47714 709.5672 494.47714 c +710.39209 494.47714 711.09729 494.82007 711.68292 495.50595 c +712.26855 496.19183 712.56134 497.28897 712.56134 498.79745 c +712.56134 500.32416 712.26514 501.427 711.67267 502.10605 c +711.0802 502.7851 710.37842 503.1246 709.5672 503.1246 c +708.72864 503.1246 708.01886 502.77255 707.43781 502.06845 c +706.85675 501.36435 706.56622 500.27402 706.56622 498.79745 c +706.56622 497.32544 706.85559 496.2374 707.43439 495.53329 c +h +706.38849 502.39316 m +707.24982 503.21802 708.30939 503.63046 709.5672 503.63046 c +710.80676 503.63046 711.8595 503.2226 712.7254 502.40683 c +713.67786 501.50903 714.15411 500.30594 714.15411 498.79745 c +714.15411 497.60342 713.85107 496.59399 713.24493 495.76913 c +712.58868 494.88046 711.659 494.31992 710.45587 494.08749 c +711.021 493.27173 711.70459 492.69296 712.50665 492.35117 c +712.95782 492.15976 713.56622 492.01849 714.33185 491.92734 c +714.33185 491.67441 l +713.75763 491.67441 l +713.0011 491.67441 712.33008 491.73593 711.74445 491.85898 c +711.15881 491.98203 710.62677 492.16888 710.14825 492.41953 c +709.66974 492.66562 709.22656 493.00742 708.81866 493.44492 c +708.41077 493.88242 708.18408 494.11255 708.13849 494.13535 c +707.96075 494.21738 l +707.18604 494.57739 706.58673 494.98755 706.1629 495.44785 c +705.37451 496.30005 704.98029 497.4166 704.98029 498.79745 c +704.98029 500.29227 705.44971 501.49081 706.38849 502.39316 c +h +716.84064 500.4996 m +716.84064 496.1246 l +716.84064 495.8147 716.88391 495.56635 716.97052 495.37949 c +717.13916 495.03314 717.44904 494.85995 717.90021 494.85995 c +718.21008 494.85995 718.51318 494.96249 718.80939 495.16757 c +718.97803 495.28149 719.14893 495.43872 719.32208 495.63925 c +719.32208 499.38535 l +719.32208 499.73627 719.25372 499.9664 719.117 500.07578 c +718.98029 500.18515 718.70685 500.25122 718.29669 500.27402 c +718.29669 500.4996 l +720.5047 500.4996 l +720.5047 495.6871 l +720.5047 495.3772 720.56055 495.16415 720.67218 495.04794 c +720.78381 494.93173 721.01965 494.88046 721.3797 494.89413 c +721.3797 494.70273 l +721.12903 494.63437 720.94446 494.5831 720.82599 494.54892 c +720.70752 494.51474 720.50928 494.45209 720.23126 494.36093 c +720.11279 494.31992 719.85303 494.22192 719.45197 494.06699 c +719.4292 494.06699 719.41553 494.07724 719.41095 494.09775 c +719.40637 494.11826 719.40411 494.14218 719.40411 494.16953 c +719.40411 495.27011 l +719.09424 494.90097 718.81165 494.62753 718.55646 494.4498 c +718.16907 494.17636 717.75891 494.03964 717.32599 494.03964 c +716.9295 494.03964 716.55579 494.18091 716.2049 494.46347 c +715.84943 494.74146 715.67169 495.20859 715.67169 495.86484 c +715.67169 499.41269 l +715.67169 499.77728 715.59424 500.02109 715.43927 500.14413 c +715.33899 500.22162 715.12482 500.27631 714.79669 500.3082 c +714.79669 500.4996 l +h +725.68634 497.95663 m +725.16223 497.78345 724.72931 497.59204 724.38751 497.38242 c +723.73126 496.97681 723.40314 496.51654 723.40314 496.00156 c +723.40314 495.58685 723.53986 495.28149 723.81329 495.08554 c +723.99103 494.95795 724.18927 494.89413 724.40802 494.89413 c +724.7088 494.89413 724.99707 494.97845 725.27277 495.14706 c +725.54846 495.31567 725.68634 495.52988 725.68634 495.78964 c +h +723.17755 497.18417 m +723.5968 497.45761 724.43311 497.82904 725.68634 498.29843 c +725.68634 498.87949 l +725.68634 499.34433 725.64075 499.66791 725.54962 499.85019 c +725.39465 500.15552 725.07336 500.3082 724.58575 500.3082 c +724.35333 500.3082 724.13232 500.24896 723.92267 500.13046 c +723.71301 500.00742 723.60822 499.83881 723.60822 499.6246 c +723.60822 499.56992 723.61963 499.47763 723.6424 499.34775 c +723.66516 499.21786 723.67657 499.1347 723.67657 499.09824 c +723.67657 498.84302 723.59229 498.66528 723.42365 498.56503 c +723.32794 498.5058 723.21399 498.47617 723.08185 498.47617 c +722.87677 498.47617 722.71954 498.5434 722.61017 498.67783 c +722.50079 498.81226 722.44611 498.96152 722.44611 499.12558 c +722.44611 499.44458 722.64319 499.77841 723.03741 500.12704 c +723.43164 500.47568 724.00928 500.64999 724.77032 500.64999 c +725.65442 500.64999 726.25372 500.36288 726.56818 499.78867 c +726.73682 499.47421 726.82111 499.0162 726.82111 498.41464 c +726.82111 495.67343 l +726.82111 495.40912 726.83936 495.22681 726.87579 495.12656 c +726.93506 494.94882 727.05811 494.85995 727.24493 494.85995 c +727.34973 494.85995 727.43634 494.87592 727.5047 494.90781 c +727.57306 494.9397 727.69153 495.01718 727.86017 495.14023 c +727.86017 494.78476 l +727.71436 494.60703 727.55713 494.46118 727.38849 494.34726 c +727.1333 494.17407 726.87354 494.08749 726.60919 494.08749 c +726.29932 494.08749 726.07483 494.18774 725.93585 494.38828 c +725.79688 494.58881 725.72052 494.82806 725.70685 495.10605 c +725.36047 494.80527 725.06427 494.58197 724.81818 494.43613 c +724.40344 494.19003 724.00928 494.06699 723.63556 494.06699 c +723.24365 494.06699 722.90411 494.20483 722.617 494.48056 c +722.3299 494.75629 722.18634 495.10605 722.18634 495.52988 c +722.18634 496.19067 722.51672 496.74213 723.17755 497.18417 c +h +732.11896 500.41074 m +732.30127 500.31503 732.47668 500.18286 732.64532 500.01425 c +732.64532 502.18808 l +732.64532 502.46606 732.61456 502.65747 732.55304 502.7623 c +732.49152 502.86713 732.34454 502.91953 732.11212 502.91953 c +732.05743 502.91953 732.00958 502.91724 731.96857 502.91269 c +731.92755 502.90814 731.83643 502.89902 731.69513 502.88535 c +731.69513 503.11093 l +732.25568 503.25449 l +732.46075 503.30917 732.66583 503.36615 732.87091 503.42538 c +733.07599 503.48462 733.25598 503.5416 733.41095 503.59628 c +733.48389 503.61908 733.60461 503.66235 733.77325 503.72617 c +733.81427 503.71249 l +733.8006 502.99472 l +733.79602 502.73495 733.7915 502.46722 733.78693 502.1915 c +733.78235 501.91577 733.78009 501.64349 733.78009 501.3746 c +733.76642 495.78964 l +733.76642 495.49341 733.80286 495.28607 733.87579 495.16757 c +733.94873 495.04907 734.1424 494.98984 734.45685 494.98984 c +734.50696 494.98984 734.55713 494.99097 734.60724 494.99326 c +734.65735 494.99554 734.70752 495.00122 734.75763 495.01035 c +734.75763 494.78476 l +734.73029 494.77563 734.3999 494.66171 733.76642 494.44296 c +732.69318 494.03964 l +732.64532 494.10117 l +732.64532 494.94199 l +732.39014 494.664 732.16907 494.46576 731.98224 494.34726 c +731.64954 494.14218 731.26447 494.03964 730.82697 494.03964 c +730.05225 494.03964 729.42444 494.33929 728.94366 494.93857 c +728.46289 495.53784 728.22247 496.23169 728.22247 497.02011 c +728.22247 498.00903 728.51074 498.85785 729.08722 499.5665 c +729.6637 500.27515 730.36896 500.62949 731.20294 500.62949 c +731.53564 500.62949 731.84094 500.55658 732.11896 500.41074 c +h +732.3172 495.09238 m +732.53595 495.302 732.64532 495.50024 732.64532 495.6871 c +732.64532 498.61972 l +732.64532 499.21216 732.48694 499.63031 732.17023 499.87411 c +731.85352 500.11792 731.54474 500.23984 731.24396 500.23984 c +730.66974 500.23984 730.22314 499.98578 729.90411 499.47763 c +729.58508 498.96948 729.4256 498.34399 729.4256 497.60117 c +729.4256 496.86743 729.59534 496.21347 729.93488 495.63925 c +730.27441 495.06503 730.78137 494.77792 731.45587 494.77792 c +731.81134 494.77792 732.09845 494.88275 732.3172 495.09238 c +h +738.44904 500.47226 m +738.44904 499.98007 l +737.0545 499.98007 l +737.04083 496.04257 l +737.04083 495.69623 737.07043 495.43417 737.1297 495.25644 c +737.23907 494.94199 737.45325 494.78476 737.77228 494.78476 c +737.93634 494.78476 738.07874 494.82349 738.19952 494.90097 c +738.32031 494.97845 738.45813 495.1015 738.6131 495.27011 c +738.79083 495.11972 l +738.64044 494.91464 l +738.40344 494.59564 738.15283 494.37006 737.88849 494.23788 c +737.62415 494.10571 737.36896 494.03964 737.12286 494.03964 c +736.58508 494.03964 736.22052 494.2789 736.02911 494.75742 c +735.92432 495.01718 735.87189 495.3772 735.87189 495.83749 c +735.87189 499.98007 l +735.12677 499.98007 l +735.104 499.99374 735.08691 500.00742 735.0755 500.02109 c +735.06409 500.03476 735.05841 500.05298 735.05841 500.07578 c +735.05841 500.12134 735.06866 500.15668 735.08917 500.18173 c +735.10968 500.20679 735.17462 500.26489 735.284 500.35605 c +735.59845 500.61581 735.8252 500.8266 735.96417 500.98837 c +736.10315 501.15015 736.43018 501.57739 736.94513 502.27011 c +737.00439 502.27011 737.03967 502.26556 737.05109 502.25644 c +737.0625 502.24731 737.06818 502.21313 737.06818 502.1539 c +737.06818 500.47226 l +h +738.83868 494.39511 m +739.25793 494.43158 739.53595 494.50562 739.67267 494.61728 c +739.80939 494.72894 739.87775 494.96704 739.87775 495.33163 c +739.87775 498.41464 l +739.87775 498.86581 739.83557 499.18823 739.75128 499.38193 c +739.66699 499.57562 739.51318 499.67245 739.28986 499.67245 c +739.24426 499.67245 739.1839 499.66675 739.1087 499.65536 c +739.03351 499.64398 738.9549 499.62915 738.87286 499.61093 c +738.87286 499.83652 l +739.13263 499.92767 739.39923 500.02109 739.67267 500.11679 c +739.94611 500.21249 740.13525 500.28085 740.24005 500.32187 c +740.4679 500.40845 740.70264 500.50644 740.94415 500.61581 c +740.97607 500.61581 740.99542 500.60443 741.00226 500.58163 c +741.00909 500.55884 741.01251 500.51099 741.01251 500.43808 c +741.01251 499.31699 l +741.3042 499.7226 741.58557 500.03931 741.85675 500.26718 c +742.12793 500.49506 742.4093 500.60898 742.70099 500.60898 c +742.93341 500.60898 743.12256 500.53949 743.26837 500.40048 c +743.41418 500.26147 743.48712 500.08716 743.48712 499.87753 c +743.48712 499.69067 743.43127 499.53345 743.31964 499.40585 c +743.20801 499.27826 743.06787 499.21445 742.89923 499.21445 c +742.72607 499.21445 742.55176 499.29419 742.37628 499.4537 c +742.20081 499.61322 742.06299 499.69296 741.96271 499.69296 c +741.80322 499.69296 741.60724 499.56421 741.37482 499.30673 c +741.1424 499.04926 741.02618 498.78378 741.02618 498.51035 c +741.02618 495.42734 l +741.02618 495.0354 741.11731 494.76312 741.29962 494.61044 c +741.48193 494.45776 741.78497 494.38599 742.2088 494.39511 c +742.2088 494.16953 l +738.83868 494.16953 l +h +748.3338 499.91513 m +748.81689 499.47079 749.05841 498.84076 749.05841 498.02499 c +744.71759 498.02499 l +744.76318 496.96768 745.00244 496.19751 745.43536 495.71445 c +745.86829 495.23138 746.38098 494.98984 746.97345 494.98984 c +747.45197 494.98984 747.85529 495.11517 748.18341 495.36581 c +748.51154 495.61646 748.81458 495.97192 749.09259 496.43222 c +749.33185 496.35019 l +749.14502 495.77142 748.79523 495.23593 748.28253 494.74374 c +747.76984 494.25156 747.14209 494.00546 746.39923 494.00546 c +745.54248 494.00546 744.88049 494.32904 744.41339 494.97617 c +743.94629 495.62329 743.71271 496.36841 743.71271 497.21152 c +743.71271 498.12753 743.98389 498.91821 744.52618 499.58359 c +745.06848 500.24896 745.7749 500.58163 746.64532 500.58163 c +747.2879 500.58163 747.85071 500.35947 748.3338 499.91513 c +h +745.05939 499.39218 m +744.91357 499.14609 744.80872 498.83618 744.74493 498.46249 c +747.6297 498.46249 l +747.57959 498.91821 747.49298 499.25775 747.36993 499.48105 c +747.14661 499.88208 746.77295 500.08261 746.24884 500.08261 c +745.72931 500.08261 745.33282 499.85248 745.05939 499.39218 c +h +754.54767 499.91513 m +755.03076 499.47079 755.27228 498.84076 755.27228 498.02499 c +750.93146 498.02499 l +750.97705 496.96768 751.21631 496.19751 751.64923 495.71445 c +752.08215 495.23138 752.59485 494.98984 753.18732 494.98984 c +753.66583 494.98984 754.06915 495.11517 754.39728 495.36581 c +754.7254 495.61646 755.02844 495.97192 755.30646 496.43222 c +755.54572 496.35019 l +755.35889 495.77142 755.00909 495.23593 754.4964 494.74374 c +753.9837 494.25156 753.35596 494.00546 752.6131 494.00546 c +751.75635 494.00546 751.09436 494.32904 750.62726 494.97617 c +750.16016 495.62329 749.92657 496.36841 749.92657 497.21152 c +749.92657 498.12753 750.19775 498.91821 750.74005 499.58359 c +751.28235 500.24896 751.98877 500.58163 752.85919 500.58163 c +753.50177 500.58163 754.06458 500.35947 754.54767 499.91513 c +h +751.27325 499.39218 m +751.12744 499.14609 751.02258 498.83618 750.9588 498.46249 c +753.84357 498.46249 l +753.79346 498.91821 753.70685 499.25775 753.5838 499.48105 c +753.36047 499.88208 752.98682 500.08261 752.46271 500.08261 c +751.94318 500.08261 751.54669 499.85248 751.27325 499.39218 c +h +755.867 494.16953 m +f +1 0 1 sc +1 0 0 1 0.5 0.5 cm +763.34998 491.39999 m +803.95001 491.39999 l +803.95001 501.89999 l +763.34998 501.89999 l +h +763.34998 491.39999 m +S +CM +763.84998 491.89999 m +804.45001 491.89999 l +804.45001 502.39999 l +763.84998 502.39999 l +h +763.84998 491.89999 m +f +1 0 0 1 0.5 0.5 cm +763.34998 491.39999 m +803.95001 491.39999 l +803.95001 501.89999 l +763.34998 501.89999 l +763.34998 491.39999 l +h +763.34998 491.39999 m +S +581.29999 42 m +618.20001 42 l +618.20001 86.650002 l +581.29999 86.650002 l +h +581.29999 42 m +S +CM +581.79999 42.5 m +618.70001 42.5 l +618.70001 87.150002 l +581.79999 87.150002 l +h +581.79999 42.5 m +f +1 0 0 1 0.5 0.5 cm +581.29999 42 m +581.29999 86.599998 l +618.15002 86.599998 l +618.15002 42 l +581.29999 42 l +h +581.29999 42 m +S +0 0 0 sc +CM +714.50275 473.36093 m +714.87646 473.41107 715.1214 473.50336 715.23761 473.63779 c +715.35382 473.77222 715.41193 474.09009 715.41193 474.5914 c +715.41193 481.1539 l +715.41193 481.40912 715.37891 481.59711 715.31281 481.71786 c +715.2467 481.83862 715.08606 481.89902 714.83087 481.89902 c +714.78076 481.89902 714.73175 481.8956 714.6839 481.88876 c +714.63605 481.88193 714.58252 481.87396 714.52325 481.86484 c +714.52325 482.11093 l +714.72375 482.17017 714.97101 482.24194 715.26495 482.32626 c +715.5589 482.41058 715.76282 482.47095 715.87677 482.50742 c +716.53302 482.71249 l +716.54669 482.66464 l +716.54669 478.46738 l +716.8338 478.7955 717.08899 479.03705 717.31232 479.19199 c +717.71338 479.46542 718.1463 479.60214 718.61115 479.60214 c +719.34943 479.60214 719.85303 479.29224 720.12189 478.67245 c +720.2677 478.34433 720.34064 477.91367 720.34064 477.38046 c +720.34064 474.5914 l +720.34064 474.10834 720.39648 473.79388 720.50812 473.64804 c +720.61975 473.5022 720.84875 473.40649 721.19513 473.36093 c +721.19513 473.16953 l +718.23517 473.16953 l +718.23517 473.36093 l +718.63165 473.41562 718.88684 473.50903 719.00079 473.6412 c +719.11475 473.77338 719.17169 474.09009 719.17169 474.5914 c +719.17169 477.35995 l +719.17169 477.802 719.09766 478.15976 718.94952 478.4332 c +718.80139 478.70663 718.52228 478.84335 718.11212 478.84335 c +717.75665 478.84335 717.4126 478.71576 717.0799 478.46054 c +716.74719 478.20532 716.58087 478.039 716.58087 477.96152 c +716.58087 474.5914 l +716.58087 474.08099 716.64014 473.76196 716.75861 473.63437 c +716.87708 473.50677 717.13 473.41562 717.5174 473.36093 c +717.5174 473.16953 l +714.50275 473.16953 l +h +726.27423 478.91513 m +726.75732 478.47079 726.99884 477.84076 726.99884 477.02499 c +722.65802 477.02499 l +722.70361 475.96768 722.94287 475.19751 723.37579 474.71445 c +723.80872 474.23138 724.32141 473.98984 724.91388 473.98984 c +725.3924 473.98984 725.79572 474.11517 726.12384 474.36581 c +726.45197 474.61646 726.755 474.97192 727.03302 475.43222 c +727.27228 475.35019 l +727.08545 474.77142 726.73566 474.23593 726.22296 473.74374 c +725.71027 473.25156 725.08252 473.00546 724.33966 473.00546 c +723.48291 473.00546 722.82092 473.32904 722.35382 473.97617 c +721.88672 474.62329 721.65314 475.36841 721.65314 476.21152 c +721.65314 477.12753 721.92432 477.91821 722.46661 478.58359 c +723.00891 479.24896 723.71533 479.58163 724.58575 479.58163 c +725.22833 479.58163 725.79114 479.35947 726.27423 478.91513 c +h +722.99982 478.39218 m +722.854 478.14609 722.74915 477.83618 722.68536 477.46249 c +725.57013 477.46249 l +725.52002 477.91821 725.43341 478.25775 725.31036 478.48105 c +725.08704 478.88208 724.71338 479.08261 724.18927 479.08261 c +723.66974 479.08261 723.27325 478.85248 722.99982 478.39218 c +h +730.8338 479.45175 m +730.8338 479.26035 l +730.66064 479.2558 730.51367 479.23187 730.39288 479.18857 c +730.27209 479.14526 730.21173 479.05527 730.21173 478.91855 c +730.21173 478.83197 730.33252 478.58813 730.57404 478.1871 c +730.70166 477.97748 730.8634 477.71997 731.05939 477.41464 c +731.32825 477.78378 731.52881 478.07318 731.66095 478.28281 c +731.88428 478.62006 731.99591 478.83881 731.99591 478.93906 c +731.99591 479.05756 731.94806 479.1373 731.85236 479.17831 c +731.75665 479.21933 731.62219 479.24667 731.44904 479.26035 c +731.44904 479.45175 l +733.65021 479.45175 l +733.65021 479.26035 l +733.41779 479.24213 733.20129 479.17944 733.00079 479.07236 c +732.80029 478.96527 732.63849 478.82285 732.51544 478.64511 c +731.3465 476.95663 l +733.15118 474.22226 l +733.38361 473.86679 733.58069 473.63666 733.74249 473.53183 c +733.9043 473.427 734.08997 473.37006 734.29962 473.36093 c +734.29962 473.16953 l +731.47638 473.16953 l +731.47638 473.36093 l +731.67462 473.3746 l +731.77942 473.38373 731.86719 473.41562 731.93781 473.47031 c +732.00842 473.52499 732.04376 473.59335 732.04376 473.67538 c +732.04376 473.76196 731.95715 473.95337 731.784 474.2496 c +731.70197 474.39545 731.57892 474.59369 731.41486 474.84433 c +731.3374 474.96738 731.22229 475.13828 731.06964 475.35703 c +730.91699 475.57578 730.78821 475.76263 730.68341 475.91757 c +729.58282 474.20175 l +729.45068 473.99667 729.36865 473.85995 729.33673 473.7916 c +729.30481 473.72324 729.28888 473.66626 729.28888 473.6207 c +729.28888 473.53412 729.32422 473.47714 729.39484 473.4498 c +729.46545 473.42245 729.61926 473.39282 729.85626 473.36093 c +729.85626 473.16953 l +727.83282 473.16953 l +727.83282 473.36093 l +728.07892 473.41107 728.26123 473.47485 728.3797 473.55234 c +728.49817 473.62982 728.6554 473.80981 728.85138 474.09238 c +730.44415 476.40976 l +729.13165 478.39902 l +728.86731 478.7955 728.68506 479.03021 728.58478 479.10312 c +728.4845 479.17603 728.26575 479.22845 727.92853 479.26035 c +727.92853 479.45175 l +h +738.15509 479.47226 m +738.15509 478.98007 l +736.76056 478.98007 l +736.74689 475.04257 l +736.74689 474.69623 736.77649 474.43417 736.83575 474.25644 c +736.94513 473.94199 737.1593 473.78476 737.47833 473.78476 c +737.6424 473.78476 737.78479 473.82349 737.90558 473.90097 c +738.02637 473.97845 738.16418 474.1015 738.31915 474.27011 c +738.49689 474.11972 l +738.3465 473.91464 l +738.1095 473.59564 737.85889 473.37006 737.59454 473.23788 c +737.3302 473.10571 737.07501 473.03964 736.82892 473.03964 c +736.29114 473.03964 735.92657 473.2789 735.73517 473.75742 c +735.63037 474.01718 735.57794 474.3772 735.57794 474.83749 c +735.57794 478.98007 l +734.83282 478.98007 l +734.81006 478.99374 734.79297 479.00742 734.78156 479.02109 c +734.77014 479.03476 734.76447 479.05298 734.76447 479.07578 c +734.76447 479.12134 734.77472 479.15668 734.79523 479.18173 c +734.81573 479.20679 734.88068 479.26489 734.99005 479.35605 c +735.3045 479.61581 735.53125 479.8266 735.67023 479.98837 c +735.8092 480.15015 736.13623 480.57739 736.65118 481.27011 c +736.71045 481.27011 736.74573 481.26556 736.75714 481.25644 c +736.76855 481.24731 736.77423 481.21313 736.77423 481.1539 c +736.77423 479.47226 l +h +738.54474 473.39511 m +738.96399 473.43158 739.242 473.50562 739.37872 473.61728 c +739.51544 473.72894 739.5838 473.96704 739.5838 474.33163 c +739.5838 477.41464 l +739.5838 477.86581 739.54163 478.18823 739.45734 478.38193 c +739.37305 478.57562 739.21924 478.67245 738.99591 478.67245 c +738.95032 478.67245 738.88995 478.66675 738.81476 478.65536 c +738.73956 478.64398 738.66095 478.62915 738.57892 478.61093 c +738.57892 478.83652 l +738.83868 478.92767 739.10529 479.02109 739.37872 479.11679 c +739.65216 479.21249 739.84131 479.28085 739.94611 479.32187 c +740.17395 479.40845 740.40869 479.50644 740.65021 479.61581 c +740.68213 479.61581 740.70148 479.60443 740.70831 479.58163 c +740.71515 479.55884 740.71857 479.51099 740.71857 479.43808 c +740.71857 478.31699 l +741.01025 478.7226 741.29163 479.03931 741.56281 479.26718 c +741.83398 479.49506 742.11536 479.60898 742.40704 479.60898 c +742.63947 479.60898 742.82861 479.53949 742.97443 479.40048 c +743.12024 479.26147 743.19318 479.08716 743.19318 478.87753 c +743.19318 478.69067 743.13733 478.53345 743.0257 478.40585 c +742.91406 478.27826 742.77393 478.21445 742.60529 478.21445 c +742.43213 478.21445 742.25781 478.29419 742.08234 478.4537 c +741.90686 478.61322 741.76904 478.69296 741.66876 478.69296 c +741.50928 478.69296 741.31329 478.56421 741.08087 478.30673 c +740.84845 478.04926 740.73224 477.78378 740.73224 477.51035 c +740.73224 474.42734 l +740.73224 474.0354 740.82336 473.76312 741.00568 473.61044 c +741.18799 473.45776 741.49103 473.38599 741.91486 473.39511 c +741.91486 473.16953 l +738.54474 473.16953 l +h +748.03986 478.91513 m +748.52295 478.47079 748.76447 477.84076 748.76447 477.02499 c +744.42365 477.02499 l +744.46924 475.96768 744.7085 475.19751 745.14142 474.71445 c +745.57434 474.23138 746.08704 473.98984 746.6795 473.98984 c +747.15802 473.98984 747.56134 474.11517 747.88947 474.36581 c +748.21759 474.61646 748.52063 474.97192 748.79865 475.43222 c +749.0379 475.35019 l +748.85107 474.77142 748.50128 474.23593 747.98859 473.74374 c +747.47589 473.25156 746.84814 473.00546 746.10529 473.00546 c +745.24854 473.00546 744.58655 473.32904 744.11945 473.97617 c +743.65234 474.62329 743.41876 475.36841 743.41876 476.21152 c +743.41876 477.12753 743.68994 477.91821 744.23224 478.58359 c +744.77454 479.24896 745.48096 479.58163 746.35138 479.58163 c +746.99396 479.58163 747.55676 479.35947 748.03986 478.91513 c +h +744.76544 478.39218 m +744.61963 478.14609 744.51477 477.83618 744.45099 477.46249 c +747.33575 477.46249 l +747.28564 477.91821 747.19904 478.25775 747.07599 478.48105 c +746.85266 478.88208 746.479 479.08261 745.9549 479.08261 c +745.43536 479.08261 745.03888 478.85248 744.76544 478.39218 c +h +754.25372 478.91513 m +754.73682 478.47079 754.97833 477.84076 754.97833 477.02499 c +750.63751 477.02499 l +750.68311 475.96768 750.92236 475.19751 751.35529 474.71445 c +751.78821 474.23138 752.3009 473.98984 752.89337 473.98984 c +753.37189 473.98984 753.77521 474.11517 754.10333 474.36581 c +754.43146 474.61646 754.7345 474.97192 755.01251 475.43222 c +755.25177 475.35019 l +755.06494 474.77142 754.71515 474.23593 754.20245 473.74374 c +753.68976 473.25156 753.06201 473.00546 752.31915 473.00546 c +751.4624 473.00546 750.80042 473.32904 750.33331 473.97617 c +749.86621 474.62329 749.63263 475.36841 749.63263 476.21152 c +749.63263 477.12753 749.90381 477.91821 750.44611 478.58359 c +750.9884 479.24896 751.69482 479.58163 752.56525 479.58163 c +753.20782 479.58163 753.77063 479.35947 754.25372 478.91513 c +h +750.97931 478.39218 m +750.8335 478.14609 750.72864 477.83618 750.66486 477.46249 c +753.54962 477.46249 l +753.49951 477.91821 753.4129 478.25775 753.28986 478.48105 c +753.06653 478.88208 752.69287 479.08261 752.16876 479.08261 c +751.64923 479.08261 751.25275 478.85248 750.97931 478.39218 c +h +755.57306 473.16953 m +f +0 1 1 sc +1 0 0 1 0.5 0.5 cm +763.34998 470.39999 m +803.95001 470.39999 l +803.95001 480.89999 l +763.34998 480.89999 l +h +763.34998 470.39999 m +S +CM +763.84998 470.89999 m +804.45001 470.89999 l +804.45001 481.39999 l +763.84998 481.39999 l +h +763.84998 470.89999 m +f +1 0 0 1 0.5 0.5 cm +763.34998 470.39999 m +803.95001 470.39999 l +803.95001 480.89999 l +763.34998 480.89999 l +763.34998 470.39999 l +h +763.34998 470.39999 m +S +728.65002 42 m +765.54999 42 l +765.54999 284.64999 l +728.65002 284.64999 l +h +728.65002 42 m +S +CM +729.15002 42.5 m +766.04999 42.5 l +766.04999 285.14999 l +729.15002 285.14999 l +h +729.15002 42.5 m +f +1 0 0 1 0.5 0.5 cm +728.65002 42 m +728.65002 284.60001 l +765.5 284.60001 l +765.5 42 l +728.65002 42 l +h +728.65002 42 m +S +0 0 0 sc +84 577.15002 m +84 42 l +820.75 42 l +820.75 577.15002 l +84 577.15002 l +h +84 577.15002 m +S +ep +end +%%Trailer +%%EOF diff -r b1f834cb90af -r db3b8eaba7b0 presen/index.html --- a/presen/index.html Wed Feb 20 19:12:20 2013 +0900 +++ b/presen/index.html Fri Feb 22 16:18:39 2013 +0900 @@ -2,258 +2,353 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - - - -2013/ 2/ 21 - + + + 2013/ 2/ 21 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
-
-
- - -
- -
- + +
+
+
+ + +
+ +

分散ネットフレームワークAliceによる例題の作成

-
  • 杉本 優
  • +
  • 杉本 優
  • +
  • 指導教官 河野 真治
  • 琉球大学 並列信頼研究室

    - -
    -

    研究目的

    -
  • インターネット上のサービスは信頼性とスケーラビリティ両方が要求される
  • -
  • 本研究室ではデータをData Segment、タスクをCode Segmentという単位に分割して記述する分散ネットフレームワーク Aliceを開発している
  • -
  • Aliceに必要なAPIが揃っているかどうかを調べる必要がある
  • -
  • スケーラビリティについても調べる必要がある
  • -
    +
    + + +
    +

    研究目的

    +
  • インターネット上のサービスは信頼性とスケーラビリティ両方が要求される
  • +
  • 信頼性とは定められた動作環境下で安定して機能を果たす
  • +
  • スケーラビリティとはリソースの追加のみでサービスを維持する
  • +
  • 本研究室ではスケーラビリティと信頼性の両方を併せ持った分散ネットフレームワークAliceの開発を行っている
  • +
  • 必要なAPIが備わっているか、スケーラビリティがあるか調べる必要がある
  • +
  • 本研究では、Aliceを使って分散アプリケーションを作成、スケーラビリティの実験を行った
  • +
    + - -
    -

    発表内容

    -
      -
    1. Alice の紹介
    2. -
    3. 作成した例題の紹介
    4. -
    5. 実験
    6. -
    7. APIの評価
    8. -
    9. 今後の課題
    10. -
        -
    + +
    +

    Alice

    +

    データをData Segmentで表現し、処理をCode Segmentで表現

    +
      +
    • Code Segmentはタスクを細かく分割したもの
    • +
      +

      + +

      +

      Code Segmentに依存するData Segmentを記述する

      +
    + +
    - -
    -

    Alice

    -

    データをData Segmentで表現し、処理をCode Segmentで表現をする

    -
      -
    • Data Segmentをデータベースとして利用
    • - Data Segment APIを使用して操作を行う。 -

        -
      • void put(String key, Value val)
      • -
      • void update(String key, Value val)
      • -
      • void peek(Receiver receiver, String key)
      • -
      • void take(Receiver receiver, String key)
      • -
      - -
    -
    + + +
    +

    Data Segment API (1) put ,update

    +
      +
    • Data Segmentをデータベース的に利用
    • +
    • 4つのAPIを使って操作を行う
    • + + + + + +
      + + + + + +
      +
    • putとupdateはデータを追加、または更新を行う
    • +
    +
    - -
    -

    Alice

    -
      -
    • Code Segmentはタスクを細かく分割したもの
    • -
      -

      Code Segmentに依存するData Segmentを記述する

      -

      - -

      -
    -
    - -
    -

    水族館ゲーム

    -

    内容

    -
      -
    • 魚の情報をゲームに参加するClient全体で共有し、複数のディスプレイに異なる視点で表示される
    • -
    • トポロジーはツリー上に構成
    • -
    • GUI部分はJava1.7から組み込まれたJavaFxを使用
    • -
    • 現在は負荷を減らすような仕組みは入っていないためスケールしないと思われる
    • -
    -
    - -
    -

    実験

    -

    実験概要

    -
      -
    • 親ノードが子ノードに対してData Segmentを送信する。子ノードは受信したData Segmentを親ノードに対して送り返す。
    • -
    • 1台あたりの1回の応答にかかる平均時間を算出
    • -
    • 親ノードに接続する台数を増やし実験 (5台 - 45台)
    • -

      - -

      -
    -
    - -
    -

    実験

    -

    実験環境

    -
      -

      VMwareとKVMの2つの環境を用意

      -
    • 共にTORQUE Resource Managerを用いてジョブスケジュール
    • -

      + +

      +

      Data Segment API (2) peek ,take

      +
        +
      • peekとtakeはデータの取得、取得と削除を行う
      • + + + + + +
        + + + + +
        +
      • これら4つのAPIで分散アプリケーションが書けるのかどうかを調べる
      • +
      +
      + + + + +
      +

      水族館ゲーム

      +

      目的

      +
        +
      • AliceにAPIが揃っているか、スケーラビリティを有しているか調べる
      • +
      +

      内容

      +
        +
      • 魚の情報をゲームに参加するClient全体で共有し、複数のディスプレイに異なる視点で表示される
      • +

        + +

        +
      +
      + + +
      +

      データ伝搬のしくみ

      +

      + +

      +
      + +
      +

      実験

      +

      実験概要

      +
        +
      • 仮想クラスタサーバーをツリー状に構成する
      • +
      • トップノードからData Segmentを送信して、トップノードに戻ってくるまでの時間を測定
      • +

        + +

        + 構成するツリーを様々な形に変えて測定を行った。 +
      +
      + +
      +

      実験

      +

      実験環境

      +
        +

        VMwareとKVMの2つの環境を用意

        +
      • 共にTORQUE Resource Managerを用いてジョブスケジュール
      • +

        VMware

      • ブレードサーバー8台(CPU Intel(R) Xeon(R) X5650 @2.64 仮想24コア)
      • -
      • 仮想クラスタサーバー48台(仮想4コア)
      • -

        -

        +

      • 仮想クラスタサーバー44台(仮想4コア)
      • +

        +

        KVM

      • ブレードサーバー3台(CPU Intel(R) Xeon(R) X5650 @2.64 仮想24コア)
      • -
      • 仮想クラスタサーバー18台(仮想4コア)
      • -

        - -
      -
      +
    • 仮想クラスタサーバー16台(仮想4コア)
    • +

      + +
    +
    - -
    -

    実行結果

    -

    - -

    - - KVMはVMwareに比べて約1.6倍 -
    +
    +

    4分木の図の一部

    + +
    + + +
    +

    実行結果(1) - 44 台で構成 (VMware)

    + + + + + +
    + + + +
    + +
    - -
    -

    考察

    -
      -
    • サービスに参加するClientの数が増加するに連れて、時間が増加していく
    • -
    • Data Segmentを子ノードに送信するCode SegmentがThread Poolに送られてくるが、同時実行可能数はCPUに依存
    • -
    • 台数が増加するに連れてThread Poolで実行を待つが伸びていくと思われる
    • -
    • 原因の一つにはSEDA
    • -
    • SEDAはスループット重視の実装であるため多段のパイプラインのせいでレスポンスが遅れる
    • - -
    -
    - -
    -

    APIの評価(1)

    -

    setKeyのシンタックス的な問題

    -
      -
    • setKey()を呼ぶとData Segmentの取得を行う
    • -
    • 必要なData Segmentが揃った時点でCode Segmentに送られる
    • -
    • setKey以降に処理を記述しても、その処理が実行される保証がない
    • -
    • コンストラクタ内でsetKeyを行なっているが、コンストラクタとsetKeyをする場所を分ける必要がある
    • -
    -
    +    
    +    
    +

    実行結果(2) - 16 台で構成 (VMawre,KVM)

    + 16台でトポロジーを構成する際にはすべてをトップノードに接続をかけたほうが効果的である +

    + +

    + +
    + + +
    +

    考察

    +
      +
    • 現状では階層を1段増やす(間に1台追加)ごとに2ms程度遅くなる
    • +
    • 1台に接続させる数が多くても、階層を増やし過ぎても逆効果
    • +
    • 44台では階層を3段、1つあたりに接続させる最大のノードは4が効果的
    • + + + + + +
      + + + +
      > +
    +
    + + +
    +

    APIの評価

    +

    setKeyのシンタックス的な問題

    +
      +
    • setKey()を呼ぶとData Segmentの取得を行う。必要なData Segmentが揃った時点でCode Segmentが実行
    • +
    • コンストラクタ内でsetKeyを行なっているが、コンストラクタとsetKeyをする場所を分ける必要がある
    • +
    +
    +public class CheckLocalIndex extends CodeSegment {
     
    +  private Receiver data = ids.create(CommandType.PEEK);
    +  private Object obj;
    +
    +  public CheckLocalIndex(String key, Object obj){
    +    this.data.setKey("local", key);
    +    this.obj = obj;
    +  }
     	  
    -	
    -
    +
    +
    - -
    -

    APIの評価(2)

    -

    Message Packのencode / decode 問題

    -
      -
    • peekでData Segmentの取得、putでData Segmentの追加を行うが、その際にMessage Packでdecode / encode を行う
    • -
    • 他Clientに対してData Segmentの送受信を行う場合はやむを得ないがLocal に対してデータを送受信する際にも行なっている
    • -
    • encode / decode 抜きに処理するのが望ましい
    • -
    +
    +

    まとめ

    +
      +
    • 現状のAliceで分散アプリケーションを作成するためのAPIが揃っていることを確認する事ができた
    • +
    • 44台の場合、Aliceによってツリー状のネットワークを構築することでスケーラビリティを確認する事ができた
    • +
    • しかし、インターネット上のサービスの場合、参加するユーザの数は膨大であるので、ツリートポロジーに参加する台数を増やしたり、共有する魚のData Segmentの数を増やして検証する必要がある。
    • +
    • また、16台ではツリー状に構成するよりも1台に集中させたほうがよかった。
    • +
    +
    -
    -

    今後の課題

    -
      -

      Key

      -
    • 本実装ではData Segment相互の参照はKey経由
    • -
    • 並列実装で全てのData SegmentをKVSに格納するのでは性能的な問題がある
    • -
    • 分散記述と並列記述を分ければ、解決できるが記述がかけ離れるのは好ましくない
    • - -

      KVSの持続性の問題

      -
    • KVSに持続性が持たせることでトラブルで処理が途中で中断されたとしても処理を再開できる
    • -
    -
    -
    + +
    +

    KVMが遅い理由

    + + + + + +
    + + +
      + +
    1. ゲストがI/O命令を発行する
    2. +
    3. ホストカーネルが命令をトラップし、仮想マシンのユーザー空間に遷移する
    4. +
    5. 仮想マシンのユーザー空間でゲストに代わってI/Oを初期化する
    6. +
    7. 仮想マシンのユーザー空間からカーネルに制御が戻る
    8. +
    9. カーネルがゲストコードを再開する
    10. +
      +
    +
    - +
    + + +
    +

    原因

    +
      +
    • 標準のI/Oの性能が良くない
    • +
    • KVMのゲスト環境では、CPUのキャッシュメモリーにヒットしなかった場合、qemu-kvm(ホスト環境上で動くユーザープロセス)のメモリー空間に割り当てられたメインメモリーにアクセスすることになるが、アクセス処理が複雑になるため、オーバーヘッドが大きい
    • +
    +

    改善方法

    +
      +
    • I/Oを司るデバイスドライバを準仮想化で動作させることで性能を向上させることができる
    • +
    • Virtio-KVMを使用することで1.5倍程度性能を向上させることができるもよう
    • + +
    +
    + + diff -r b1f834cb90af -r db3b8eaba7b0 presen/obj/.DS_Store Binary file presen/obj/.DS_Store has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/obj/svg/bar.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/obj/svg/bar.svg Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,204 @@ + + + +image/svg+xml \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 presen/obj/svg/compare.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/obj/svg/compare.svg Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,82 @@ + + + +image/svg+xmlfocusedbitreetitree + + \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 presen/obj/svg/compare2.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/obj/svg/compare2.svg Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,375 @@ + + + +image/svg+xml \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 presen/obj/svg/cs-result.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/obj/svg/cs-result.svg Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,347 @@ + + + +image/svg+xml \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 presen/obj/svg/dsandcs2.svg --- a/presen/obj/svg/dsandcs2.svg Wed Feb 20 19:12:20 2013 +0900 +++ b/presen/obj/svg/dsandcs2.svg Fri Feb 22 16:18:39 2013 +0900 @@ -15,10 +15,10 @@ width="572.5" height="245" xml:space="preserve" - sodipodi:docname="dsandcs2.eps">image/svg+xmlCodeSegment + transform="matrix(1,0,0,-1,161.656,148)" + id="text3163">CodeSegment + + DataSegment + transform="matrix(1,0,0,-1,39.3262,163)" + id="text3175">DataSegment + + CodeSegment + transform="matrix(1,0,0,-1,161.656,54)" + id="text3187">CodeSegment + + DataSegment + transform="matrix(1,0,0,-1,39.3262,101)" + id="text3199">DataSegment + + DataSegment + transform="matrix(1,0,0,-1,39.3262,39)" + id="text3211">DataSegment + + DataSegment + transform="matrix(1,0,0,-1,274.326,163)" + id="text3241">DataSegment + + DataSegment + transform="matrix(1,0,0,-1,274.326,101)" + id="text3253">DataSegment + + DataSegment + transform="matrix(1,0,0,-1,274.326,39)" + id="text3265">DataSegment + + CodeSegment + transform="matrix(1,0,0,-1,383.656,148)" + id="text3295">CodeSegment + + CodeSegment + transform="matrix(1,0,0,-1,383.656,54)" + id="text3307">CodeSegment + + \ No newline at end of file + style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" + id="path3323" + inkscape:connector-curvature="0" /> \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 presen/obj/svg/experience.svg --- a/presen/obj/svg/experience.svg Wed Feb 20 19:12:20 2013 +0900 +++ b/presen/obj/svg/experience.svg Fri Feb 22 16:18:39 2013 +0900 @@ -1,3 +1,3 @@ -2013-02-20 06:06Zキャンバス 1レイヤー 1親ノード子ノード子ノード子ノード子ノード子ノード +2013-02-20 17:53Zキャンバス 1レイヤー 1Top NodeからData Segmentを送信一番下の階層のNodeからの返信時間を測定 diff -r b1f834cb90af -r db3b8eaba7b0 presen/obj/svg/peek.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/obj/svg/peek.svg Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,237 @@ + + + +image/svg+xmlVoid peek(Receiver rec, String key) +Queue +Data1 +FISH +Receiver rec +Code Segment +Waiting list +Data2 +もし +Dataがなかった場合には +peek(Receiver rec, String key) + \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 presen/obj/svg/put.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/obj/svg/put.svg Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,285 @@ + + + +image/svg+xmlQueue +Data1 +Void put(String key , Value val) +Queue +enqueue +Data1 +Data2 +enqueue +Data2一つの +Key +に対して複数のデータを追加が可能 + \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 presen/obj/svg/take.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/obj/svg/take.svg Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,287 @@ + + + +image/svg+xmlQueue +Void take(Receiver rec, String key) +FISH +Receiver rec +Code Segment +dequeue +Queue +Data1 +FISH +Data2 +Data2 + \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 presen/obj/svg/update.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/obj/svg/update.svg Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,274 @@ + + + +image/svg+xmlQueue +Data3 +Void update(String key , Value val) +Queue +enqueue +Data2 +dequeue +Data3 + \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 presen/omniGraffle/.DS_Store Binary file presen/omniGraffle/.DS_Store has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/omniGraffle/experience.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/omniGraffle/experience.graffle Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,1153 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 139.16.0.171715 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {1677, 783}} + Class + SolidGraphic + ID + 2 + Style + + fill + + Color + + b + 0.983533 + g + 1 + r + 0.975828 + + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-02-20 05:48:43 +0000 + Creator + YuSugimoto + DisplayScale + 1 0/72 in = 1.0000 in + GraphDocumentVersion + 8 + GraphicsList + + + Class + Group + Graphics + + + Bounds + {{863.57448833888657, 51.075630252100822}, {292.42551166111366, 60.126050420168077}} + Class + ShapedGraphic + ID + 230 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs34 \cf0 \'88\'ea\'94\'d4\'89\'ba\'82\'cc\'8a\'4b\'91\'77\'82\'dc\'82\'c5\'97\'88\'82\'bd\'82\'e7\'90\'65\'83\'6d\'81\'5b\'83\'68\'82\'c9\ +\'8c\'fc\'82\'a9\'82\'c1\'82\'c4 +\f1 Data Segment +\f0 \'82\'f0\'91\'97\'82\'e8\'95\'d4\'82\'b7\'81\'42} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 243 + + ID + 231 + Points + + {858.8031154840935, 192.42505511563576} + {819.58351559296023, 103.71889238439753} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 241 + + + + Class + LineGraphic + Head + + ID + 243 + + ID + 232 + Points + + {749.82354477754325, 192.42931491613305} + {791.25230992890897, 103.7120113434794} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 242 + + + + Class + LineGraphic + Head + + ID + 241 + + ID + 233 + Points + + {960.20693955529759, 385.299995246241} + {889.29866288771336, 254.58297063347479} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 237 + + + + Class + LineGraphic + Head + + ID + 241 + + ID + 234 + Points + + {862.34610377628724, 385.24046263640008} + {870.47956818820421, 254.64175716132868} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 238 + + + + Class + LineGraphic + Head + + ID + 242 + + ID + 235 + Points + + {742.37051871788412, 385.23998881551961} + {736.56675780430419, 254.64244915310127} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 239 + + + + Class + LineGraphic + Head + + ID + 242 + + ID + 236 + Points + + {644.50699165289268, 385.30329875773208} + {717.75242347586357, 254.5781553015006} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 240 + + + + Bounds + {{946.44597810566381, 385.73949579831952}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 237 + Shape + Rectangle + Style + + fill + + Color + + b + 0.41138 + g + 0.964157 + r + 1 + + + + + + Bounds + {{829.7924797715375, 385.73949579831952}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 238 + Shape + Rectangle + Style + + fill + + Color + + b + 0.375369 + g + 0.980031 + r + 1 + + + + + + Bounds + {{713.13898143741051, 385.73949579831952}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 239 + Shape + Rectangle + Style + + fill + + Color + + b + 0.352443 + g + 1 + r + 0.970672 + + + + + + Bounds + {{596.4854831032842, 385.73949579831952}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 240 + Shape + Rectangle + Style + + fill + + Color + + b + 0.351009 + g + 0.975287 + r + 1 + + + + + + Bounds + {{841.93288910042827, 192.88235294117638}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 241 + Shape + Rectangle + + + Bounds + {{704.69347929557341, 192.88235294117638}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 242 + Shape + Rectangle + + + Bounds + {{775.42455973346011, 41.999999999999986}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 243 + Shape + Rectangle + Style + + fill + + Color + + b + 0.0270479 + g + 0.0304557 + r + 1 + + + + + + Bounds + {{305.11565920989995, 51.075630252100822}, {257.58781532603524, 60.126050420168077}} + Class + ShapedGraphic + ID + 244 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs34 \cf0 Top Node\'82\'a9\'82\'e7\'8e\'71\'83\'6d\'81\'5b\'83\'68\'82\'c9\ +\'91\'ce\'82\'b5\'82\'c4 +\f1 Data Segment +\f0 \'82\'f0\'91\'97\'90\'4d\'82\'b7\'82\'e9} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 251 + + ID + 245 + Points + + {339.88288008712516, 254.58255662925683} + {410.65040450504353, 385.3004181413329} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 255 + + + + Class + LineGraphic + Head + + ID + 252 + + ID + 246 + Points + + {321.0815692723686, 254.64184796404939} + {312.77146636701002, 385.24037596612112} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 255 + + + + Class + LineGraphic + Head + + ID + 253 + + ID + 247 + Points + + {187.16571045345052, 254.6423926290289} + {192.79898011480799, 385.24005192116852} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 256 + + + + Class + LineGraphic + Head + + ID + 254 + + ID + 248 + Points + + {168.36792951570959, 254.57876299315271} + {94.918629552950563, 385.30268124598359} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 256 + + + + Class + LineGraphic + Head + + ID + 255 + + ID + 249 + Points + + {270.21527600637387, 103.71825646876614} + {309.19671501745592, 192.42571599670978} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 257 + + + + Class + LineGraphic + Head + + ID + 256 + + ID + 250 + Points + + {241.92580920974751, 103.71290748231819} + {200.174257648252, 192.42839971707409} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 257 + + + + Bounds + {{396.96049500237984, 385.73949579831952}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 251 + Shape + Rectangle + Style + + fill + + Color + + b + 0.41138 + g + 0.964157 + r + 1 + + + + + + Bounds + {{280.30699666825325, 385.73949579831952}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 252 + Shape + Rectangle + Style + + fill + + Color + + b + 0.375369 + g + 0.980031 + r + 1 + + + + + + Bounds + {{163.6534983341266, 385.73949579831952}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 253 + Shape + Rectangle + Style + + fill + + Color + + b + 0.352443 + g + 1 + r + 0.970672 + + + + + + Bounds + {{47.000000000000007, 385.73949579831952}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 254 + Shape + Rectangle + Style + + fill + + Color + + b + 0.351009 + g + 0.975287 + r + 1 + + + + + + Bounds + {{292.44740599714419, 192.88235294117638}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 255 + Shape + Rectangle + + + Bounds + {{155.20799619228933, 192.88235294117638}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 256 + Shape + Rectangle + + + Bounds + {{225.93907663017609, 41.999999999999986}, {61.229890528319842, 61.260504201680682}} + Class + ShapedGraphic + ID + 257 + Shape + Rectangle + Style + + fill + + Color + + b + 0.0270479 + g + 0.0304557 + r + 1 + + + + + + Bounds + {{455.73227815542543, 206.19549071726084}, {173.52833557128906, 97.149356315981805}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 26 + + ID + 258 + Rotation + 359.44766235351562 + Shape + AdjustableArrow + ShapeData + + ratio + 0.50000017881393433 + width + 20.000001907348633 + + Style + + fill + + Color + + b + 0 + g + 0 + r + 0 + + FillType + 2 + GradientAngle + 100 + GradientColor + + b + 0 + g + 0 + r + 0 + + MiddleColor + + b + 0 + g + 0 + r + 0 + + MiddleFraction + 0.4523809552192688 + TrippleBlend + YES + + shadow + + Color + + a + 0.4 + b + 0 + g + 0 + r + 0 + + ShadowVector + {0, 2} + + stroke + + Color + + b + 0.0980392 + g + 0.0980392 + r + 0.0980392 + + + + TextRelativeArea + {{0.125, 0.25}, {0.75, 0.5}} + isConnectedShape + + + + ID + 229 + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 3 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-02-21 15:04:35 +0000 + Modifier + YuSugimoto + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + Frame + {{16, 107}, {1628, 839}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {1493, 700}} + Zoom + 1 + ZoomValues + + + キャンバス 1 + 1 + 1 + + + + + diff -r b1f834cb90af -r db3b8eaba7b0 presen/omniGraffle/peekandtake.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/omniGraffle/peekandtake.graffle Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,1300 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 139.16.0.171715 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-02-20 21:32:59 +0000 + Creator + YuSugimoto + DisplayScale + 1 0/72 in = 1.0000 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{305.25486252517487, 653.33664460760076}, {72.632881164550781, 62.735038757324219}} + Class + ShapedGraphic + ID + 70 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs42 \cf0 Data2} + + + + Bounds + {{87.520216434610916, 454.59153131264918}, {72.632881164550781, 62.735038757324219}} + Class + ShapedGraphic + ID + 69 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs42 \cf0 Data2} + + + + Bounds + {{26.122458600542195, 398.41832624242363}, {252.40814208984375, 145.20407104492188}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 68 + Magnets + + {1, 0.5} + {1, -0.5} + {-1, 0.5} + {-1, -0.5} + {0.5, 1} + {-0.5, 1} + {0.5, -1} + {-0.5, -1} + + Shape + FlattenedRectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs46 \cf0 \expnd0\expndtw0\kerning0 +FISH} + VerticalPad + 0 + + TextPlacement + 0 + + + Bounds + {{160.15309596905794, 454.59153131264929}, {72.632881164550781, 62.735038757324219}} + Class + ShapedGraphic + ID + 67 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs42 \cf0 Data1} + + + + Bounds + {{80.000005180266527, 425.19386397555979}, {55, 22}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 66 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Queue} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{73.020411382958713, 447.19385634616526}, {158.61224917340729, 81.000007629394531}} + Class + ShapedGraphic + ID + 65 + Magnets + + {0, 1} + {0, -1} + + Shape + ParallelLines + Style + + fill + + Draws + NO + + + + + Bounds + {{100.20408695750027, 288.70914849357183}, {281, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 64 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs40 \cf0 peek(Receiver rec, String key)} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{26.163272335747017, 227.81625366210935}, {313, 38}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 62 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs46 \cf0 \'82\'e0\'82\'b5 +\f1 +\f0 Data\'82\'aa\'82\'c8\'82\'a9\'82\'c1\'82\'bd\'8f\'ea\'8d\'87\'82\'c9\'82\'cd} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{87.520210266113281, 129.39764444890577}, {72.632881164550781, 62.735038757324219}} + Class + ShapedGraphic + ID + 61 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs42 \cf0 Data2} + + + + Bounds + {{97.744909205470492, 265.81626141384106}, {285.91836547851562, 57.000003814697266}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 30 + Magnets + + {1, 0.5} + {1, -0.5} + {-1, 0.5} + {-1, -0.5} + {0.5, 1} + {-0.5, 1} + {0.5, -1} + {-0.5, -1} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + CornerRadius + 5 + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs34 \cf0 \expnd0\expndtw0\kerning0 +Waiting list} + VerticalPad + 0 + + TextPlacement + 0 + + + Bounds + {{297.95917787436701, 422.56883881698781}, {71, 22}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 60 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 dequeue} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + ID + 59 + OrthogonalBarAutomatic + + OrthogonalBarPoint + {0, 0} + OrthogonalBarPosition + -1 + Points + + {236.36736095433162, 459.93881981216902} + {412.32654856563079, 494.02040011681129} + + Style + + stroke + + Cap + 0 + HeadArrow + SharpArrow + Join + 0 + Legacy + + LineType + 2 + TailArrow + 0 + Width + 2 + + + + + Bounds + {{435.71427723409147, 457.45663818206856}, {114, 20}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 16 + + ID + 58 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs34 \cf0 Code Segment} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{334.02042673945834, 497.48852856503714}, {158.61224365234375, 41.183689117431641}} + Class + ShapedGraphic + ID + 57 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs48 \cf0 Receiver rec} + + + + Bounds + {{160.15308600016195, 591.59190962146749}, {252.40814208984375, 145.20407104492188}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 55 + Magnets + + {1, 0.5} + {1, -0.5} + {-1, 0.5} + {-1, -0.5} + {0.5, 1} + {-0.5, 1} + {0.5, -1} + {-0.5, -1} + + Shape + FlattenedRectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs46 \cf0 \expnd0\expndtw0\kerning0 +FISH} + VerticalPad + 0 + + TextPlacement + 0 + + + Bounds + {{345.96937886340976, 91.918320353554606}, {114, 20}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 16 + + ID + 53 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs34 \cf0 Code Segment} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{323.66326904296875, 137.05100672545908}, {158.61224365234375, 41.183689117431641}} + Class + ShapedGraphic + ID + 52 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs48 \cf0 Receiver rec} + + + + Class + LineGraphic + ID + 10 + OrthogonalBarAutomatic + + OrthogonalBarPoint + {0, 0} + OrthogonalBarPosition + -1 + Points + + {242.66326904296875, 157.14285408442638} + {323.66326904296864, 157.14285408442638} + + Style + + stroke + + Cap + 0 + HeadArrow + SharpArrow + Join + 0 + Legacy + + LineType + 2 + TailArrow + 0 + Width + 2 + + + + + Bounds + {{27.091844275116006, 69.660720136452539}, {252.40814208984375, 145.20407104492188}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 47 + Magnets + + {1, 0.5} + {1, -0.5} + {-1, 0.5} + {-1, -0.5} + {0.5, 1} + {-0.5, 1} + {0.5, -1} + {-0.5, -1} + + Shape + FlattenedRectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs46 \cf0 \expnd0\expndtw0\kerning0 +FISH} + VerticalPad + 0 + + TextPlacement + 0 + + + Bounds + {{90.357150707379901, 353.51019969496883}, {392, 30}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 46 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs50 \cf0 Void take(Receiver rec, String key)} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + ID + 40 + OrthogonalBarAutomatic + + OrthogonalBarPoint + {0, 0} + OrthogonalBarPosition + -1 + Points + + {486.27551477583995, 572.34691548834041} + {27.091850243425323, 573.34691547821183} + + Style + + stroke + + Cap + 0 + HeadArrow + 0 + Join + 0 + Legacy + + LineType + 2 + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{210.54082544621409, 622.20415392362884}, {55.000001962162742, 22}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 36 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Queue} + VerticalPad + 0 + + + + Bounds + {{210.54083434352563, 644.20415392362884}, {167.34692143216412, 81}} + Class + ShapedGraphic + ID + 35 + Magnets + + {0, 1} + {0, -1} + + Shape + ParallelLines + Style + + fill + + Draws + NO + + + + + Bounds + {{160.15308980056017, 129.39764444890594}, {72.632881164550781, 62.735038757324219}} + Class + ShapedGraphic + ID + 49 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs42 \cf0 Data1} + + + + Bounds + {{79.999999011768878, 99.999977111816406}, {55, 22}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 50 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Queue} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{73.020405214461078, 121.99996948242188}, {158.61224917340729, 81.000007629394531}} + Class + ShapedGraphic + ID + 51 + Magnets + + {0, 1} + {0, -1} + + Shape + ParallelLines + Style + + fill + + Draws + NO + + + + + Bounds + {{26.163273547203133, 10.204081434053657}, {399, 30}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 25 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs50 \cf0 Void peek(Receiver rec, String key)} + VerticalPad + 0 + + Wrap + NO + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-02-21 00:06:53 +0000 + Modifier + YuSugimoto + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + Frame + {{32, 122}, {1009, 936}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{-166, -15}, {891.83671733629035, 813.2652902940772}} + Zoom + 0.98000001907348633 + ZoomValues + + + キャンバス 1 + 0.98000001907348633 + 1 + + + + + diff -r b1f834cb90af -r db3b8eaba7b0 presen/omniGraffle/putandupdate.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/omniGraffle/putandupdate.graffle Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,1387 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 139.16.0.171715 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {1118, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-02-20 21:32:59 +0000 + Creator + YuSugimoto + DisplayScale + 1 0/72 in = 1.0000 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{83.000002435334693, 329.16145105592966}, {434, 34}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + HiraKakuProN-W3 + Size + 20 + + ID + 56 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs42 \cf0 \'88\'ea\'82\'c2\'82\'cc +\f1 Key +\f0 \'82\'c9\'91\'ce\'82\'b5\'82\'c4\'95\'a1\'90\'94\'82\'cc\'83\'66\'81\'5b\'83\'5e\'82\'f0\'92\'c7\'89\'c1\'82\'aa\'89\'c2\'94\'5c} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{462.68367514560833, 193.58823260798994}, {72.632644653320312, 62.734695434570312}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 21 + + ID + 55 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs42 \cf0 Data2} + + + + Bounds + {{259.5000018413507, 139.27908813152163}, {74, 23}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 54 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs38 \cf0 enqueue} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 21 + + ID + 53 + OrthogonalBarAutomatic + + OrthogonalBarPoint + {0, 0} + OrthogonalBarPosition + -1 + Points + + {253.6860401367133, 127.61702999729488} + {254.11763651890757, 202.7058766110959} + + Style + + stroke + + Cap + 0 + HeadArrow + SharpArrow + Join + 0 + Legacy + + LineType + 2 + TailArrow + 0 + Width + 3 + + + Tail + + ID + 52 + + + + Bounds + {{217.18367655797016, 63.882351093226241}, {72.632644653320312, 62.734695434570312}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 21 + + ID + 52 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs42 \cf0 Data2} + + + + Bounds + {{536.3673236018426, 572.33851405198698}, {72.632881164550781, 62.735038757324219}} + Class + ShapedGraphic + ID + 49 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs40 \cf0 Data3} + + + + Bounds + {{536.36734859517969, 193.58823901131015}, {72.632644653320312, 62.734695434570312}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 21 + + ID + 48 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs42 \cf0 Data1} + + + + Bounds + {{115.63267491121572, 593.70604714910144}, {74, 23}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 18 + + ID + 44 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs38 \cf0 dequeue} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + ID + 43 + OrthogonalBarAutomatic + + OrthogonalBarPoint + {0, 0} + OrthogonalBarPosition + -1 + Points + + {229.54949806435059, 629.35544988273364} + {154.02040593585971, 682.54258039248646} + + Style + + stroke + + Cap + 0 + HeadArrow + SharpArrow + Join + 0 + Legacy + + LineType + 2 + TailArrow + 0 + Width + 3 + + + Tail + + ID + 41 + + + + Bounds + {{230.36711580808517, 571.83835090655327}, {72.632881164550781, 62.735038757324219}} + Class + ShapedGraphic + ID + 41 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs42 \cf0 Data2} + + + + Class + LineGraphic + ID + 40 + OrthogonalBarAutomatic + + OrthogonalBarPoint + {0, 0} + OrthogonalBarPosition + -1 + Points + + {359.00000071186548, 694.70586987927697} + {359.00000071186548, 512.70586987927754} + + Style + + stroke + + Cap + 0 + HeadArrow + 0 + Join + 0 + Legacy + + LineType + 2 + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{164.9411831411777, 506.56571258228172}, {74, 23}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 18 + + ID + 39 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs38 \cf0 enqueue} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 31 + + ID + 51 + OrthogonalBarAutomatic + + OrthogonalBarPoint + {0, 0} + OrthogonalBarPosition + -1 + Points + + {272.42938827828971, 532.84458203065469} + {193.00000071186548, 562.20586989091396} + + Style + + stroke + + Cap + 0 + HeadArrow + SharpArrow + Join + 0 + Legacy + + LineType + 2 + TailArrow + 0 + Width + 3 + + + Tail + + ID + 50 + + + + Bounds + {{388.99998901515482, 540.70586987927743}, {61, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 19 + + ID + 36 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs40 \cf0 Queue} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{389.00000071186548, 562.70586987927732}, {220, 81}} + Class + ShapedGraphic + ID + 35 + Magnets + + {0, 1} + {0, -1} + + Shape + ParallelLines + Style + + fill + + Draws + NO + + + + + Bounds + {{86.500000711865468, 444.70586987927749}, {382, 30}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 34 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs50 \cf0 Void update(String key , Value val)} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{273.36735605854517, 487.70586987927749}, {72.632881164550781, 62.735038757324219}} + Class + ShapedGraphic + ID + 50 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs42 \cf0 Data3} + + + + Bounds + {{83.000003371593849, 538.70584132184661}, {61, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 19 + + ID + 32 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs40 \cf0 Queue} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{83.000000711865468, 562.70586987927732}, {220, 81}} + Class + ShapedGraphic + ID + 31 + Magnets + + {0, 1} + {0, -1} + + Shape + ParallelLines + Style + + fill + + Draws + NO + + + + + Class + LineGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 21 + + ID + 19 + OrthogonalBarAutomatic + + OrthogonalBarPoint + {0, 0} + OrthogonalBarPosition + -1 + Points + + {359.00000265972835, 316.45558120832646} + {359.00000265972835, 134.45558120832652} + + Style + + stroke + + Cap + 0 + HeadArrow + 0 + Join + 0 + Legacy + + LineType + 2 + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{67.500000923975193, 162.75718848465567}, {74, 23}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 30 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs38 \cf0 enqueue} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 21 + + Head + + ID + 24 + + ID + 47 + OrthogonalBarAutomatic + + OrthogonalBarPoint + {0, 0} + OrthogonalBarPosition + 16.802682876586914 + Points + + {171.68984784331778, 140.4796272116582} + {192.99999924762028, 205.48499230055893} + + Style + + stroke + + Cap + 0 + HeadArrow + SharpArrow + Join + 0 + Legacy + + LineType + 2 + TailArrow + 0 + Width + 3 + + + Tail + + ID + 46 + + + + Bounds + {{388.99998731707353, 265.45556640625}, {61, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + HiraKakuProN-W3 + Size + 23 + + ID + 27 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs40 \cf0 Queue} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{389.00000265972835, 184.45558120832652}, {220, 81}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 21 + + ID + 26 + Magnets + + {0, 1} + {0, -1} + + Shape + ParallelLines + Style + + fill + + Draws + NO + + + + + Bounds + {{83, 7}, {341, 30}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 25 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs50 \cf0 Void put(String key , Value val)} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{124.77912691955736, 76.794688894674451}, {72.632644653320312, 62.734695434570312}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 21 + + ID + 46 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs42 \cf0 Data1} + + + + Bounds + {{86.499999947201445, 286.98497751097364}, {61, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 19 + + ID + 23 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs40 \cf0 Queue} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{82.999999247620281, 205.98499231305016}, {220, 81}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 21 + + ID + 24 + Magnets + + {0, 1} + {0, -1} + + Shape + ParallelLines + Style + + fill + + Draws + NO + + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 2 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-02-21 00:18:02 +0000 + Modifier + YuSugimoto + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + Frame + {{31, 67}, {1009, 936}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{-103.00000000000003, -212}, {1324.2423716217602, 1207.5757095910101}} + Zoom + 0.6600000262260437 + ZoomValues + + + キャンバス 1 + 0.6600000262260437 + 0.70999997854232788 + + + + + diff -r b1f834cb90af -r db3b8eaba7b0 presen/omniGraffle/question.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/omniGraffle/question.graffle Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,793 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 139.16.0.171715 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-02-21 04:52:11 +0000 + Creator + YuSugimoto + DisplayScale + 1 0/72 in = 1.0000 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{51, 52.75}, {446, 26}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 19 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraMinProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\pardeftab720 + +\f0\fs34 \cf0 *\'83\'6e\'81\'5b\'83\'68\'83\'45\'83\'46\'83\'41\'82\'cc\'89\'bc\'91\'7a\'89\'bb\'82\'f0\'8a\'c7\'97\'9d\'82\'b7\'82\'e9\'82\'bd\'82\'df\'82\'cc\'83\'66\'83\'6f\'83\'43\'83\'58\'83\'68\'83\'89\'83\'43\'83\'6f} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 3 + + ID + 18 + Points + + {373.50333620904644, 275.92708225477907} + {288, 266} + {263, 314} + {269.48426531101347, 410.50112492272996} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 13 + + + + Class + LineGraphic + Head + + ID + 13 + + ID + 17 + Points + + {344.01360602563966, 337.72303050698247} + {278, 322} + {373.51456829955669, 298.42457877685547} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 4 + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 15 + Points + + {486.25, 233.25} + {537, 252.25} + {521, 289} + {456.70208648191237, 331.97217162804861} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 6 + + + Tail + + ID + 14 + + + + Bounds + {{375.5, 195.25}, {120, 38}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 14 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs50 \cf0 \'83\'51\'83\'58\'83\'67 OS} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{374, 252.25}, {123, 61.75}} + Class + ShapedGraphic + ID + 13 + Shape + Rectangle + Style + + fill + + Color + + b + 1 + g + 0.655646 + r + 0.61113 + + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs52 \cf0 QUMU} + + + + Bounds + {{374, 178}, {123, 65}} + Class + ShapedGraphic + ID + 12 + Shape + Rectangle + Style + + fill + + Color + + b + 0.255653 + g + 1 + r + 0.713042 + + + + + + Bounds + {{391.5, 104}, {88, 66}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 11 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs44 \cf0 \'92\'ca\'8f\'ed\'82\'cc\ +\'83\'76\'83\'8d\'83\'5a\'83\'58} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{374, 100}, {123, 65}} + Class + ShapedGraphic + ID + 9 + Shape + Rectangle + Style + + fill + + Color + + b + 0.137305 + g + 0.650785 + r + 1 + + + + + + Bounds + {{217.5, 119.5}, {112, 84}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 8 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs56 \cf0 \'92\'ca\'8f\'ed\'82\'cc\ +\'83\'76\'83\'8d\'83\'5a\'83\'58} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{212, 100}, {123, 214}} + Class + ShapedGraphic + ID + 7 + Shape + Rectangle + Style + + fill + + Color + + b + 0.137305 + g + 0.650785 + r + 1 + + + + + + Bounds + {{55.5, 119.5}, {112, 84}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 6 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs56 \cf0 \'92\'ca\'8f\'ed\'82\'cc\ +\'83\'76\'83\'8d\'83\'5a\'83\'58} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{50, 100}, {123, 214}} + Class + ShapedGraphic + ID + 5 + Shape + Rectangle + Style + + fill + + Color + + b + 0.137305 + g + 0.650785 + r + 1 + + + + + + Bounds + {{344.5, 332.25}, {152.5, 47.5}} + Class + ShapedGraphic + ID + 4 + Shape + Rectangle + Style + + fill + + Color + + b + 1 + g + 0.655646 + r + 0.61113 + + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs56 \cf0 /dev/kvm*} + + + + Bounds + {{46, 411}, {451, 59}} + Class + ShapedGraphic + ID + 3 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs40 \cf0 \'83\'6e\'81\'5b\'83\'68\'83\'45\'83\'46\'83\'41} + + + + Bounds + {{46, 326.5}, {451, 59}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Style + + fill + + Color + + b + 0.185801 + g + 1 + r + 0.701103 + + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs40 \cf0 Linux +\f1 Kernel} + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-02-21 05:34:49 +0000 + Modifier + YuSugimoto + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + Frame + {{26, 101}, {1021, 922}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{-164, 0}, {886, 783}} + Zoom + 1 + ZoomValues + + + キャンバス 1 + 1 + 1 + + + + + diff -r b1f834cb90af -r db3b8eaba7b0 presen/omniGraffle/tail.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/omniGraffle/tail.sh Fri Feb 22 16:18:39 2013 +0900 @@ -0,0 +1,8 @@ +#!/bin/sh +count=5 +while [ $count -le 17 ]; +do + count2=`expr $count \* 100` + tail -n $count2 ${count}.txt > ${count2}.txt + count=`expr $count + 1` +done \ No newline at end of file diff -r b1f834cb90af -r db3b8eaba7b0 presen/pix/Alice.png Binary file presen/pix/Alice.png has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/pix/child3-2.png Binary file presen/pix/child3-2.png has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/pix/child3.png Binary file presen/pix/child3.png has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/pix/child4-2.png Binary file presen/pix/child4-2.png has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/pix/child4.png Binary file presen/pix/child4.png has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/pix/compare.png Binary file presen/pix/compare.png has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/pix/cs-result.png Binary file presen/pix/cs-result.png has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/pix/peek.png Binary file presen/pix/peek.png has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/pix/put.png Binary file presen/pix/put.png has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/pix/question.png Binary file presen/pix/question.png has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/pix/take.png Binary file presen/pix/take.png has changed diff -r b1f834cb90af -r db3b8eaba7b0 presen/pix/update.png Binary file presen/pix/update.png has changed