changeset 76:99ddf7f900dc

remove explain in regex
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Wed, 17 Feb 2016 20:50:15 +0900
parents c8893a5b53cf
children 4947e0eed9d8
files paper/c1.tex paper/c4.tex paper/c5.tex paper/images/image.graffle paper/images/regex/allostate.pdf paper/master_paper.pdf paper/master_paper.tex
diffstat 7 files changed, 1337 insertions(+), 1628 deletions(-) [+]
line wrap: on
line diff
--- a/paper/c1.tex	Wed Feb 17 19:43:19 2016 +0900
+++ b/paper/c1.tex	Wed Feb 17 20:50:15 2016 +0900
@@ -14,3 +14,6 @@
 それぞれの結果を合計する際に、分割された部分に対して各例題工夫をすることによって整合性を取る必要がある。
 
 本論文では文字列処理だけでなくファイルの読み込みまでを含む文字列処理を考慮した並列処理を実装し、処理全体の速度を上げるような実装を行なった。
+
+
+% hadoop ホストレベル
--- a/paper/c4.tex	Wed Feb 17 19:43:19 2016 +0900
+++ b/paper/c4.tex	Wed Feb 17 20:50:15 2016 +0900
@@ -1,3 +1,5 @@
+% bitencoding or NFA 
+
 \chapter{Cerium による文字列処理の例題}
 本項ではファイルを読み込んで文字列処理を並列処理をする流れと例題を記述する。
 
@@ -96,8 +98,6 @@
 }
 \end{lstlisting}
 
-\newpage
-
 ソースコード\ref{src:Exec}は分割されたファイルに対して何かしらの文字列処理を記述する部分である。
 22行目から45行目が Word Count のメインルーチン内で、文字列処理を行なっている部分である。
 もし Word Count 以外の文字列処理を記述したいのであれば、メインルーチン内を書き換えてあげればよい。
@@ -155,9 +155,6 @@
 }
 \end{lstlisting}
 
-
-\newpage
-
 ソースコード\ref{src:Print}は、それぞれの Task で出力された結果をまとめる処理がまとめられている。
 Task それぞれの単語数と行数を集計し、分割された部分に関して整合性をとり単語数を微調整する。
 単語数、行数がそれぞれ決定されたのちに結果が print される。
@@ -314,34 +311,7 @@
 \label{fig:regexbasic}
 \end{figure}
 
-本実装でサポートするメタ文字は、正規表現の基本三演算子(連接、繰返し、選択)\cite{regex}に文字クラスとグループを加えている。
-
-連接はメタ文字を含まない文字列で構成された正規表現である。
-`word' や `automaton' などの文字列も連接のみの正規表現の一部である。
-正規表現の演算子には必ず何かしらの記号が割り当てられるのだが、連接だけにはメタ文字が割り振られていない。
-
-繰返しは `*' の直前の文字または正規表現の繰返しを表現するメタ文字である。
-`*' の直前の文字や正規表現の 0 回以上の繰返しを表している。
-`a*b' という正規表現にマッチする文字列は {b,ab,aab,aaab,aa...b} である。
-
-選択 `\textbar' は`\textbar' 前後の文字または正規表現の選択を表すメタ文字である。
-`a\textbar b' という正規表現にマッチする文字列は {a,b} である。
-
-文字クラス`['`]' は`['`]'内に記述した文字の範囲から任意の一文字を選択するメタ文字である。
-数字の中から任意の1文字を選択だけの正規表現で表現すると、
-
-$`0 \verb||| 1 \verb||| 2 \verb||| 3 \verb||| 4 \verb||| 5 \verb||| 6 \verb||| 7 \verb||| 8 \verb||| 9'$
-となる。
-この正規表現でも正しいのだが、とても煩わしい正規表現である。これを簡潔に表現できるのが文字クラスの強みである。
-文字クラスで数字の中から任意の一文字を表現すると `[0-9]' と表現することができる。
-数字だけではなく、アルファベットの中から任意の一文字も `[A-Za-z]' と表現することができる。
-
-グループ`('`)' は `('`)' 内に記述した正規表現を一旦まとめる機能を持つ。
-例えば、word という文字列の 0 回以上の繰返しの正規表現を記述する。
-$ `word*' $ と表現すると、`*' の直前の `d' だけに接続される。この正規表現にマッチする文字列は{wor, word, wordd, worddd, wordd...d} となり、word の繰返しではない文字列がマッチする。
-`word' という文字列の繰返しを表現するときは、`(word)*'と記述することで表現できる。
-
-これらのメタ文字をまとめた表が以下の表\ref{table:metachar}である。
+本実装でサポートするメタ文字は、正規表現の基本三演算子(連接、繰返し、選択)\cite{regex}に文字クラスとグループを加えている。 (表\ref{table:metachar})
 
 \begin{tiny}
   \begin{table}[ht]
@@ -396,7 +366,7 @@
 \begin{enumerate}
 \item 与えられた正規表現を構文解析し、正規表現木に変換する。
 \item 正規表現木から非決定性オートマトン(以下、NFA)か決定性オートマトン(以下、DFA)に変換する。
-\item NFA に変換された場合、Subset Construction による NFA から DFA への変換をおこなう。
+\item Subset Construction による NFA から DFA への変換をおこなう。
 \item DFA を元に文字列検索を行ない結果を返す。
 \end{enumerate}
 
@@ -419,13 +389,12 @@
 文字やメタ文字、文字クラスは正規表現木のノードとして表現され、メタ文字が現れた時に親子関係が決定される。
 
 \newpage
-
 文字または文字クラスが読み込まれた場合はノードを生成する。
 それらが連接されたいた場合は `+' ノードを親ノードとして、左ノードに前の文字、右ノードに後ろの文字が接続される。(図\ref{fig:regexseq})
 
 \begin{figure}[htpb]
   \begin{center}
-    \includegraphics[scale=0.3]{images/regex/regexseq.pdf}
+    \includegraphics[scale=0.2]{images/regex/regexseq.pdf}
   \end{center}
   \caption{文字の連接}
   \label{fig:regexseq}
@@ -437,7 +406,7 @@
 
 \begin{figure}[htpb]
   \begin{center}
-    \includegraphics[scale=0.3]{images/regex/regexseq2.pdf}
+    \includegraphics[scale=0.2]{images/regex/regexseq2.pdf}
   \end{center}
   \caption{文字列の連接}
   \label{fig:regexseq2}
@@ -452,7 +421,7 @@
 
 \begin{figure}[htpb]
   \begin{center}
-    \includegraphics[scale=0.3]{images/regex/regexselect.pdf}
+    \includegraphics[scale=0.2]{images/regex/regexselect.pdf}
   \end{center}
   \caption{選択}
   \label{fig:regexselect}
@@ -465,7 +434,7 @@
 
 \begin{figure}[htpb]
   \begin{center}
-    \includegraphics[scale=0.3]{images/regex/regexasta.pdf}
+    \includegraphics[scale=0.2]{images/regex/regexasta.pdf}
   \end{center}
   \caption{繰返し}
   \label{fig:regexasta}
@@ -479,7 +448,7 @@
 
 \begin{figure}[htpb]
   \begin{center}
-    \includegraphics[scale=0.3]{images/regex/regexgroup.pdf}
+    \includegraphics[scale=0.2]{images/regex/regexgroup.pdf}
   \end{center}
   \caption{グループ}
   \label{fig:regexgroup}
@@ -490,7 +459,7 @@
 
 \begin{figure}[htpb]
   \begin{center}
-    \includegraphics[scale=0.3]{images/regex/regexseqregex.pdf}
+    \includegraphics[scale=0.2]{images/regex/regexseqregex.pdf}
   \end{center}
   \caption{正規表現の連接}
   \label{fig:regexseqregex}
@@ -502,49 +471,15 @@
 \subsection{正規表現木から DFA・NFA の生成}
 
 次に正規表現木から非決定性有限オートマトン(NFA)、決定性有限オートマトン(DFA)を生成する。
-
-オートマトンは、入力に対して状態に対応した処理を行ない結果を出力する仮想的な自動機械である。
-オートマトンの身近な例として、朝起きて学校に行くまでの例を挙げる。
-
-図\ref{fig:dfabasic}は、朝起きて学校に向かうまでの状態遷移図である。
-状態遷移図の `S' は初期状態を表し、`AC' は受理状態を表す。
-
-私たちの日常でも起床の時間帯によって学校に行くまでの行動が変わる。
-もし早起きをしたならば、時間的にゆとりがあるので身なりをしっかり整えて学校に向かうことができる。
-この時、 $S -> 1 -> 2 -> AC$と状態が遷移する。
-
-もし寝坊をしてしまった場合、時間的にゆとりがなく身なりを整える余裕がない。
-その時は身なりを整える暇もなく学校へ向かうことになってしまう。
-この時、 $S -> 3 -> AC$と状態が遷移する。
-
-この例の場合、入力に当たるのは`早起きする'、`寝坊する'、`身なりを整える'、`学校に向かう'のそれぞれの行動であり、出力はその行動後に遷移する状態である。
+実際には正規表現木を元にオートマトンを構成していく。その際、深さ優先探索にて木を辿っていき、
+メタ文字のノードが現れた時に一定のルールに沿って文字のノードに状態を割り振っていく。
+ノードに状態を割り振りながら次の状態の遷移先を設定することによって、正規表現木からオートマトンによる状態遷移を表現することができる。
 
-このように、入力と状態が有限個で、どの状態でもある入力に対して遷移先が一意に決定されるオートマトンを決定性有限オートマトン(Deterministic Finite Automaton: DFA)という。
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.2]{images/regex/dfabasic.pdf}
-  \end{center}
-  \caption{起きてから学校に行くまでの状態遷移図(DFA)}
-  \label{fig:dfabasic}
-\end{figure}
-
-図\ref{fig:nfabasic}は、朝起きて学校に向かうまでの状態遷移図であるが、図\ref{fig:dfabasic}と違う点は S の状態で入力されるのは`起きる'という入力だけである。
-
-この場合、起きて身なりを整え学校に向かうか起きて学校に向かうかの二択になる。
-S の状態のとき、起きてから次の状態に遷移するのは 1 か 2 のときである。
-
-このように入力と状態が有限個で、ある入力に対して複数の遷移先があり一意に決定されないオートマトンを非決定性オートマトン(Non-deterministic Finite Automaton: NFA)という。
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.2]{images/regex/nfabasic.pdf}
-  \end{center}
-  \caption{起きてから学校に行くまでの状態遷移図(NFA)}
-  \label{fig:nfabasic}
-\end{figure}
-
-正規表現はオートマトンで表現することができるので、状態と入力(ここでは正規表現)が判れば次はどのような状態になるのか決定される。
-そのオートマトンの状態を、変換された正規表現木に状態を割り振っていく。
+\begin{itemize}
+\item 左子ノードが `*' でない `+' は新しい状態を作る
+\item `\textbar'が親ノードの場合、子ノードの最初の状態は同じ状態。
+\item `*' があれば、次の状態は `*' に接続されている木の先頭の状態と同じ。次の状態が受理状態なら先頭の状態と受理状態の組み合わせになる。
+\end{itemize}
 
 \begin{figure}[htpb]
   \begin{center}
@@ -554,150 +489,19 @@
   \label{fig:allostate}
 \end{figure}
 
-実際には正規表現木を元にオートマトンを構成していく。その際、深さ優先探索にて木を辿っていき、
-メタ文字のノードが現れた時に一定のルールに沿って文字のノードに状態を割り振っていく。
-ノードに状態を割り振りながら次の状態の遷移先を設定することによって、正規表現木からオートマトンによる状態遷移を表現することができる。
-
-それぞれのメタ文字が現れた際、どのような状態を割り振るか以下で紹介する。
-また、番号 1 は初期状態、番号 2 は受理状態を表している。
-
-\newpage
-
-図\ref{fig:stateseq}は連接 `+' で接続されている場合の正規表現である。
-正規表現`ab'で受理される文字列の集合は \{ ab \} である。
-a が入力されれば別の状態になり、その状態で b が入力されれば受理状態に遷移する。
-これより `+' で接続された木の状態割当は、`+' の左ノードの状態とは別の新しい状態を生成して割り当てる。
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.2]{images/regex/stateseq.pdf}
-  \end{center}
-  \caption{連接の状態割当}
-  \label{fig:stateseq}
-\end{figure}
-
-図\ref{fig:stateselect}は選択 `\textbar' で接続されている場合の正規表現である。
-正規表現`a\textbar b'で受理される文字列の集合は \{ a, b \}である。
-この場合は a か b が入力されれば受理状態に遷移する。
-これより `\textbar' で接続された木の状態割当は、`\textbar' の左ノードの先頭と右ノードの先頭が同じ状態となり、新しい状態は生成されない。
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.2]{images/regex/stateselect.pdf}
-  \end{center}
-  \caption{選択 `\textbar' で接続されているときの状態割当}
-  \label{fig:stateselect}
-\end{figure}
-
-\newpage
-
-図\ref{fig:stateselseq}は連接 `+' と選択 `\textbar' の組み合わせで接続されている場合の正規表現である。
-正規表現`(a \textbar b)c'で受理される文字列の集合は \{ac,bc\} である。
-この場合、初期状態に a か b が入力されると次の状態に遷移し、遷移した状態に c が入力されると受理状態に遷移する。
-連接 `+' と選択 `\textbar' の状態割当方法の組み合わせにて状態を決定することができる。
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.2]{images/regex/stateselseq.pdf}
-  \end{center}
-  \caption{選択 `\textbar' と連接の組み合わせの状態割当}
-  \label{fig:stateselseq}
-\end{figure}
-
-
-図\ref{fig:stateasta}は連接 `+' の前の文字に繰返し `*' が接続されている場合の正規表現である。
-正規表現`a*b'で受理される文字列の集合は \{b,ab,aab,aaab,aa...ab\} である。
-この場合、初期状態に a が入力されると自分自身の状態に遷移する。遷移先を自分自身にすることによって、繰返しを表現することができる。
-その次に b が入力されると受理状態に遷移する。
-これより、`+' の左ノードに `*' が接続されていたら、`*' に接続されている木の一番左と `+' の右ノードに同じ状態が割り当てられる。
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.18]{images/regex/stateasta.pdf}
-  \end{center}
-  \caption{連接の前の文字に `*' が接続されているときの状態割当}
-  \label{fig:stateasta}
-\end{figure}
-
-\newpage
-
-図\ref{fig:stateafasta}は連接 `+' の後の文字に繰返し `*' が接続されている場合の正規表現である。
-正規表現`ab*'受理される文字列の集合は \{a,ab,abb,abb,abb...bb\} である。
-この場合、初期状態に a が入力されると受理状態に遷移する。しかし、受理状態でも b がそれ以降に入力されれば、自分自身に状態遷移する。
-これより、`+' の右ノードに `*' が接続されていたら、`+' の左ノードに接続されている木の最後の状態に受理状態を付け加える。また、`*' に接続されている木の最後の状態にも受理状態を付け加える。
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.18]{images/regex/stateafasta.pdf}
-  \end{center}
-  \caption{連接の後ろの文字に `*' が接続されているときの状態割当}
-  \label{fig:stateafasta}
-\end{figure}
-
-
-図\ref{fig:stateasta3}は連接 `+' が連続しており、連接の途中で繰返し `*' が接続されている場合の正規表現である。
-正規表現`ab*c'受理される文字列の集合は \{ac,abc,abbc,abbbc,abb...bbc\} である。
-この場合、初期状態に a が入力されると次の状態に遷移する。その状態で b が入力されると自分自身に遷移し、c が入力されると受理状態に遷移する。
-
-これより、連接中に `*' があれば新しい状態を生成し、その状態を `*' の親ノードのさらに親ノードの右ノードに同じ状態にする。
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.15]{images/regex/stateasta3.pdf}
-  \end{center}
-  \caption{連接中に `*'が接続されているときの状態割当}
-  \label{fig:stateasta3}
-\end{figure}
-
-\newpage
-
-図\ref{fig:stateselectasta}は選択 `\textbar' がグループ化によって一つの正規表現となり、それ自身が繰り返されている場合の正規表現である。
-正規表現`(a \textbar b)*c'受理される文字列の集合は \{c,ac,bc,aabc,abbc,a..ab..bc\} である。
-この場合、初期状態に a か b が入力されると自分自身の状態に遷移する。その状態で c が入力されると受理状態に遷移する。
-これは、選択 `\textbar' と繰返し `*' の状態割当方法の組み合わせにて状態を決定することができる。
-まず `a \textbar b' は同じ状態を割り当て、その親ノードが `*' なので `*' の親の右ノードに同じ状態を割り当てる。
-
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.15]{images/regex/stateselectasta.pdf}
-  \end{center}
-  \caption{選択 `\textbar' と繰返し `*' の組み合わせの状態割当}
-  \label{fig:stateselectasta}
-\end{figure}
-
-
-以上の規則で正規表現木を辿った時にノードに対して状態を割り振る。
-まとめると、
-
-\begin{itemize}
-\item 左子ノードが `*' でない `+' は新しい状態を作る
-\item `\textbar'が親ノードの場合、子ノードの最初の状態は同じ状態。
-\item `*' があれば、次の状態は `*' に接続されている木の先頭の状態と同じ。次の状態が受理状態なら先頭の状態と受理状態の組み合わせになる。
-\end{itemize}
-
 これにより、正規表現木に状態の割り振りを行ない、入力を行なったら状態が遷移するようにできた。
 現在の状態(current state)と入力(input)によって次の状態(next state)が一意に決まっており、それをテーブル化して正規表現をファイルにかける。(図\ref{fig:dfaregex})
 このように、ある状態にある入力を与えると次の状態の遷移先が一意に決まるオートマトンのとこを決定性オートマトンという。
 
 \begin{figure}[htpb]
   \begin{center}
-    \includegraphics[scale=0.25]{images/regex/dfaregex.pdf}
+    \includegraphics[scale=0.20]{images/regex/dfaregex.pdf}
   \end{center}
   \caption{どの状態もある入力を与えたとしても遷移先は一意に決定される}
   \label{fig:dfaregex}
 \end{figure}
 
 
-しかし、生成された正規表現木によっては、現在の状態と入力による次の状態が一意に決まらない場合もある。
-図\ref{fig:nfaex}はある状態にある文字を入力すると遷移先が複数存在する場合である。状態 4 に `b' が入力されると状態 2 か状態 4 に遷移する。
-このように 1 つの入力に対して遷移先が複数存在すると、どの状態に遷移をしたらよいのかわからくなる。
-このようなオートマトンを非決定性オートマトンという。
-
-これを解決する方法として Subset Construction を適用する。
-
-\newpage
-
 \begin{figure}[htpb]
   \begin{center}
     \includegraphics[scale=0.20]{images/regex/nfaex.pdf}
@@ -706,9 +510,20 @@
   \label{fig:nfaex}
 \end{figure}
 
-\newpage
+\subsection{Subset Construction による NFA から DFA の変換}
+
+生成された正規表現木によっては、現在の状態と入力による次の状態が一意に決まらない場合もある。
+図\ref{fig:nfaex}はある状態にある文字を入力すると遷移先が複数存在する場合である。状態 4 に `b' が入力されると状態 2 か状態 4 に遷移する。
+このように 1 つの入力に対して遷移先が複数存在すると、どの状態に遷移をしたらよいのかわからくなる。
+このようなオートマトンを非決定性オートマトンという。
 
-\subsection{Subset Construction による NFA から DFA の変換}
+これを解決する方法として Subset Construction を適用する。
+
+ソースコード\ref{src:cc}
+\begin{lstlisting}[frame=lrbt,label=src:cc,caption=文字クラスの構造体,numbers=left]
+
+\end{lstlisting}
+
 Subset Construction は、ある状態から 1 つの入力に対して複数の状態遷移先がある場合、それらの状態 1 つの新しい状態としてまとめ、その新しい状態から新しい遷移先を構成しそれを繰り返す手法である。
 
 図\ref{fig:nfaex}内で入力によって複数の状態に遷移する状態 4 だけに着目する。
@@ -748,44 +563,6 @@
   \label{fig:subset}
 \end{figure}
 
-図\ref{fig:nfaex}で与えられた NFA を Subset Construction にて DFA に変換すると、図\ref{fig:subsetauto}のようになる。
-この図より、一度 a が入力されたあとは、aか[c-z]の入力と b の入力で状態 4,6 を循環することがわかる。このときの受理状態 2 を含んでいる状態 6 に状態遷移したときこのオートマトンは受理される。
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.2]{images/regex/subsetauto.pdf}
-  \end{center}
-  \caption{Subset Construction 後のオートマトンの変化}
-  \label{fig:subsetauto}
-\end{figure}
-
-\newpage
-
-文字クラスは正規表現木のノード内では二分木として構成されている。
-例えば、文字クラス[A-Za-z0-9]はノード内では図\ref{fig:cctree}のような二分木で構成されている。
-文字クラスの二分木は、左から ASCII 文字コードの小さい文字を並べていく。
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.2]{images/regex/cctree.pdf}
-  \end{center}
-  \caption{ノード内での文字クラスの二分木}
-  \label{fig:cctree}
-\end{figure}
-
-\newpage
-Subset Construction 時に文字クラス [a-z] と b が merge されている。
-Subset Construction で文字クラスによって入力と遷移先が変化した場合、ノード内の文字クラスもその入力の文字クラスによって文字クラスの二分木も再構築される。
-(図\ref{fig:cctreeex})
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.2]{images/regex/cctreeex.pdf}
-  \end{center}
-  \caption{図\ref{fig:nfaex}での Subset Construction 後の文字クラスの二分木の変化}
-  \label{fig:cctreeex}
-\end{figure}
-
 上の例では文字クラスとある一文字の merge 例になるが、複数の文字クラスを merge するような場面も出てくる。
 ある文字クラスに別の文字クラスを merge する場合、図\ref{fig:CharClassMergePattern}のように 13 パターンの場合を考慮しなければならない。
 ccRange.Begin は元の文字クラスの先頭、ccRange.End は元の文字クラスの末尾である。元の文字クラスに対して別の文字クラスを merge する。
@@ -799,45 +576,6 @@
   \label{fig:CharClassMergePattern}
 \end{figure}
 
-図\ref{fig:CharClassMergePattern}のパターン 3 の状況を考える。
-ある状態に`[g-k]'が入力されると状態1に、`[c-h]'が入力されると状態4に遷移すると仮定する。
-2つの文字クラスの範囲が`[g-h]'で重複しており、この重複している部分に関しては merge を行う必要がある。
-この2つの文字クラスは`[c-f]'、`[g-h]'、`[i-k]' 3 つの文字クラスに分けることができる。
-なお、重複した文字クラスの状態は状態の組み合わせを取り、新しい状態を作る。
-(図\ref{fig:cctreemergeex})
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.2]{images/regex/cctreemergeex.pdf}
-  \end{center}
-  \caption{1つの文字クラスに対して文字クラスを merge する}
-  \label{fig:cctreemergeex}
-\end{figure}
-
-図\ref{fig:cctreemergeex2} は元の文字クラスが複数存在し、それに対して1つの文字クラスを merge する状況である。
-まず、文字クラスの二分木の先頭ノードの文字クラス`[g-k]'に対して`[c-h]'の merge を行う。
-`[c-f]'、`[g-h]'、`[i-k]'それぞれ文字クラスに分けることができた。しかし、merge 元の文字クラス `[a-d]' と先頭の文字クラスの merge 後に生成された `[c-f]' も文字クラスの範囲が重複している。
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.2]{images/regex/cctreemergeex2.pdf}
-  \end{center}
-  \caption{merge したが、文字クラスの範囲がまだ重複している}
-  \label{fig:cctreemergeex2}
-\end{figure}
-
-文字クラスの範囲の重複が無くなるまで merge を繰り返す必要がある。
-この場合、`[a-d]'と`[c-f]' は `[c-d]' で重複しているので、範囲が重複しないように文字クラスを再構築する必要がある。
-(図\ref{fig:cctreemergeex3})
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.2]{images/regex/cctreemergeex3.pdf}
-  \end{center}
-  \caption{文字クラスの範囲の重複がなくなった}
-  \label{fig:cctreemergeex3}
-\end{figure}
-
 \newpage
 \subsection{並列処理時の整合性の取り方}
 正規表現をファイル分割して並列処理をする際、本来マッチングする文章がファイル分割によってマッチングしない場合がある。
@@ -845,6 +583,15 @@
 図\ref{fig:regexdivide}はその一例である。正規表現 ab*c のマッチングする文字列の集合は {ac,abc,abbc,ab..bc} である。
 分割される前はこの文字列 abbbbc は問題なく正規表現 ab*c にマッチングする。
 
+
+% bit パターンの実装の話
+% 正規表現の話を 2 ページずつぐらいで
+
+% charclass 構造体 ソース
+% state 構造 bitvector の話 配列を MaxState の分のコードの話
+% はやくなった方法 state bit or 状態 merge に計算できる
+% subset construction の速度 O(mlogn)
+
 並列処理時、分割されたファイルに対してパターンマッチさせるので、分割された1つ目のファイルの末尾の abb 、2つ目のファイルの先頭に bbc はマッチングしない。
 本来分割される前はマッチングする文字列だが、この場合見逃してしまう。
 それを解決するために、正規表現にマッチングし始めたファイルの場所を覚えておく。
@@ -857,3 +604,4 @@
   \caption{分割された部分に正規表現がマッチングする場合の処理}
   \label{fig:regexdivide}
 \end{figure}
+% Print の分割部分の話追加 最後
--- a/paper/c5.tex	Wed Feb 17 19:43:19 2016 +0900
+++ b/paper/c5.tex	Wed Feb 17 20:50:15 2016 +0900
@@ -117,7 +117,7 @@
 \end{tiny}
 
 \section{正規表現}
-当実験では、Mac の egrep 、C で実装した逐次に DFA の状態遷移と照らし合わせマッチングをするC実装の Grep、Cerium で並列処理をする CeriumGrep を比較している。
+当実験では、Mac の egrep 、C で実装した逐次に DFA の状態遷移と照らし合わせマッチングをする、Cerium で並列処理をする CeriumGrep を比較している。
 
 表\ref{table:metachar}は500MB(単語数約8500万) のファイルに対して正規表現 `[A-Z][A-Za-z0-9]*s' をマッチングした結果である。
 これはファイル読み込みを含めた結果と読み込みを含めていない結果の比較である。
--- a/paper/images/image.graffle	Wed Feb 17 19:43:19 2016 +0900
+++ b/paper/images/image.graffle	Wed Feb 17 20:50:15 2016 +0900
@@ -26,7 +26,7 @@
 	<key>MasterSheets</key>
 	<array/>
 	<key>ModificationDate</key>
-	<string>2016-02-16 06:13:14 +0000</string>
+	<string>2016-02-17 11:43:32 +0000</string>
 	<key>Modifier</key>
 	<string>MasaKoha</string>
 	<key>NotesVisible</key>
@@ -33833,7 +33833,7 @@
 				</dict>
 				<dict>
 					<key>Bounds</key>
-					<string>{{562.91407809243435, 25.511811255094571}, {162.99212746310411, 30}}</string>
+					<string>{{562.91407809243435, 11.338582780042032}, {162.99212746310411, 30}}</string>
 					<key>Class</key>
 					<string>ShapedGraphic</string>
 					<key>FitText</key>
@@ -33893,7 +33893,7 @@
 					<array>
 						<dict>
 							<key>Bounds</key>
-							<string>{{638.18898171468038, 60.944882442725941}, {18, 30}}</string>
+							<string>{{850.17364281103187, -85.039370850315237}, {18, 30}}</string>
 							<key>Class</key>
 							<string>ShapedGraphic</string>
 							<key>FitText</key>
@@ -33967,10 +33967,10 @@
 							<integer>668</integer>
 							<key>Points</key>
 							<array>
-								<string>{711.48032110751137, 147.81530929287584}</string>
-								<string>{747.5, 73.700788070273205}</string>
-								<string>{595.5, 127.09842549262083}</string>
-								<string>{622.18898171468038, 214.42948312562277}</string>
+								<string>{923.46498220386286, 1.8310559998346747}</string>
+								<string>{959.48466109635149, -72.283465222767973}</string>
+								<string>{807.48466109635149, -18.885827800420344}</string>
+								<string>{834.17364281103187, 68.44522983258156}</string>
 							</array>
 							<key>Style</key>
 							<dict>
@@ -33999,7 +33999,7 @@
 						</dict>
 						<dict>
 							<key>Bounds</key>
-							<string>{{735.16107636277127, 219.68504136331433}, {19, 30}}</string>
+							<string>{{947.14573745912276, 73.70078807027312}, {19, 30}}</string>
 							<key>Class</key>
 							<string>ShapedGraphic</string>
 							<key>FitText</key>
@@ -34073,8 +34073,8 @@
 							<integer>670</integer>
 							<key>Points</key>
 							<array>
-								<string>{711.48032110751137, 283.75949695589031}</string>
-								<string>{793.68504626281617, 214.42948312562277}</string>
+								<string>{923.46498220386286, 137.77524366284888}</string>
+								<string>{1005.6697073591677, 68.44522983258156}</string>
 							</array>
 							<key>Style</key>
 							<dict>
@@ -34103,7 +34103,7 @@
 						</dict>
 						<dict>
 							<key>Bounds</key>
-							<string>{{661.46028829249803, 219.68504136331433}, {19, 30}}</string>
+							<string>{{873.44494938884952, 73.70078807027312}, {19, 30}}</string>
 							<key>Class</key>
 							<string>ShapedGraphic</string>
 							<key>FitText</key>
@@ -34177,8 +34177,8 @@
 							<integer>672</integer>
 							<key>Points</key>
 							<array>
-								<string>{622.18898171468038, 214.42948312562277}</string>
-								<string>{711.48032110751137, 283.75949695589031}</string>
+								<string>{834.17364281103187, 68.44522983258156}</string>
+								<string>{923.46498220386286, 137.77524366284888}</string>
 							</array>
 							<key>Style</key>
 							<dict>
@@ -34207,7 +34207,7 @@
 						</dict>
 						<dict>
 							<key>Bounds</key>
-							<string>{{691.2240680901084, 263.50324393848729}, {40.512506034806016, 40.512506034806023}}</string>
+							<string>{{903.20872918645989, 117.51899064544588}, {40.512506034806016, 40.512506034806023}}</string>
 							<key>Class</key>
 							<string>ShapedGraphic</string>
 							<key>FontInfo</key>
@@ -34249,7 +34249,7 @@
 						</dict>
 						<dict>
 							<key>Bounds</key>
-							<string>{{701.48032110751137, 73.700788070273205}, {20, 30}}</string>
+							<string>{{913.46498220386286, -72.283465222767973}, {20, 30}}</string>
 							<key>Class</key>
 							<string>ShapedGraphic</string>
 							<key>FitText</key>
@@ -34323,10 +34323,10 @@
 							<integer>675</integer>
 							<key>Points</key>
 							<array>
-								<string>{711.48032110751137, 147.81530929287584}</string>
-								<string>{733.73657412491445, 110.05757946029419}</string>
-								<string>{691.2240680901084, 108.37007946029419}</string>
-								<string>{711.48032110751137, 147.81530929287584}</string>
+								<string>{923.46498220386286, 1.8310559998346747}</string>
+								<string>{945.72123522126594, -35.926673832746978}</string>
+								<string>{903.20872918645989, -37.614173832746978}</string>
+								<string>{923.46498220386286, 1.8310559998346747}</string>
 							</array>
 							<key>Style</key>
 							<dict>
@@ -34355,7 +34355,7 @@
 						</dict>
 						<dict>
 							<key>Bounds</key>
-							<string>{{656.18898171468038, 151.65354468306214}, {19, 30}}</string>
+							<string>{{868.17364281103187, 5.6692913900209589}, {19, 30}}</string>
 							<key>Class</key>
 							<string>ShapedGraphic</string>
 							<key>FitText</key>
@@ -34429,8 +34429,8 @@
 							<integer>677</integer>
 							<key>Points</key>
 							<array>
-								<string>{622.18898171468038, 214.42948312562277}</string>
-								<string>{711.48032110751137, 147.81530929287584}</string>
+								<string>{834.17364281103187, 68.44522983258156}</string>
+								<string>{923.46498220386286, 1.8310559998346747}</string>
 							</array>
 							<key>Style</key>
 							<dict>
@@ -34459,7 +34459,7 @@
 						</dict>
 						<dict>
 							<key>Bounds</key>
-							<string>{{588.18898171468038, 127.55905627547284}, {68, 30}}</string>
+							<string>{{800.17364281103187, -18.425197017568337}, {68, 30}}</string>
 							<key>Class</key>
 							<string>ShapedGraphic</string>
 							<key>FitText</key>
@@ -34533,10 +34533,10 @@
 							<integer>679</integer>
 							<key>Points</key>
 							<array>
-								<string>{622.18898171468038, 214.42948312562277}</string>
-								<string>{642.44523473208346, 169.30757946029422}</string>
-								<string>{601.93272869727741, 168.37007946029422}</string>
-								<string>{622.18898171468038, 214.42948312562277}</string>
+								<string>{834.17364281103187, 68.44522983258156}</string>
+								<string>{854.42989582843495, 23.323326167253043}</string>
+								<string>{813.9173897936289, 22.385826167253043}</string>
+								<string>{834.17364281103187, 68.44522983258156}</string>
 							</array>
 							<key>Style</key>
 							<dict>
@@ -34565,7 +34565,7 @@
 						</dict>
 						<dict>
 							<key>Bounds</key>
-							<string>{{691.2240680901084, 127.55905627547284}, {40.512506034806016, 40.512506034806023}}</string>
+							<string>{{903.20872918645989, -18.425197017568337}, {40.512506034806016, 40.512506034806023}}</string>
 							<key>Class</key>
 							<string>ShapedGraphic</string>
 							<key>FontInfo</key>
@@ -34607,7 +34607,7 @@
 						</dict>
 						<dict>
 							<key>Bounds</key>
-							<string>{{773.4287932454132, 194.17323010821974}, {40.512506034806016, 40.512506034806023}}</string>
+							<string>{{985.41345434176469, 48.188976815178549}, {40.512506034806016, 40.512506034806023}}</string>
 							<key>Class</key>
 							<string>ShapedGraphic</string>
 							<key>FontInfo</key>
@@ -34649,7 +34649,7 @@
 						</dict>
 						<dict>
 							<key>Bounds</key>
-							<string>{{601.93272869727741, 194.17323010821974}, {40.512506034806016, 40.512506034806023}}</string>
+							<string>{{813.9173897936289, 48.188976815178549}, {40.512506034806016, 40.512506034806023}}</string>
 							<key>Class</key>
 							<string>ShapedGraphic</string>
 							<key>FontInfo</key>
@@ -36372,35 +36372,55 @@
 					<array>
 						<dict>
 							<key>Bounds</key>
-							<string>{{1060.3943975667785, 347.53864784090558}, {41.954844218258067, 41.954844218258074}}</string>
-							<key>Class</key>
-							<string>ShapedGraphic</string>
-							<key>FontInfo</key>
-							<dict>
-								<key>Size</key>
-								<real>18</real>
-							</dict>
-							<key>ID</key>
-							<integer>485</integer>
-							<key>Shape</key>
-							<string>Circle</string>
-							<key>Style</key>
-							<dict>
-								<key>fill</key>
-								<dict>
-									<key>Draws</key>
-									<string>NO</string>
-								</dict>
-								<key>shadow</key>
-								<dict>
-									<key>Draws</key>
-									<string>NO</string>
-								</dict>
-							</dict>
-							<key>Text</key>
-							<dict>
-								<key>VerticalPad</key>
-								<real>0.0</real>
+							<string>{{1054.7251061767574, 392.89297896107371}, {59.360815730808326, 30}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>FitText</key>
+							<string>Vertical</string>
+							<key>Flow</key>
+							<string>Resize</string>
+							<key>FontInfo</key>
+							<dict>
+								<key>Color</key>
+								<dict>
+									<key>b</key>
+									<string>0.109804</string>
+									<key>g</key>
+									<string>0</string>
+									<key>r</key>
+									<string>0.694118</string>
+								</dict>
+							</dict>
+							<key>ID</key>
+							<integer>487</integer>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+							</dict>
+							<key>Text</key>
+							<dict>
+								<key>Text</key>
+								<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
+{\colortbl;\red255\green255\blue255;\red177\green0\blue28;}
+\deftab720
+\pard\pardeftab720\qc\partightenfactor0
+
+\f0\fs32 \cf2 2}</string>
 							</dict>
 						</dict>
 						<dict>
@@ -36409,35 +36429,29 @@
 							<key>Graphics</key>
 							<array>
 								<dict>
-									<key>Bounds</key>
-									<string>{{1054.7251061767574, 392.89297896107371}, {59.360815730808326, 30}}</string>
 									<key>Class</key>
-									<string>ShapedGraphic</string>
-									<key>FitText</key>
-									<string>Vertical</string>
-									<key>Flow</key>
-									<string>Resize</string>
+									<string>LineGraphic</string>
 									<key>FontInfo</key>
 									<dict>
-										<key>Color</key>
-										<dict>
-											<key>b</key>
-											<string>0.109804</string>
-											<key>g</key>
-											<string>0</string>
-											<key>r</key>
-											<string>0.694118</string>
-										</dict>
+										<key>Font</key>
+										<string>Helvetica</string>
+										<key>Size</key>
+										<real>12</real>
+									</dict>
+									<key>Head</key>
+									<dict>
+										<key>ID</key>
+										<integer>490</integer>
 									</dict>
 									<key>ID</key>
-									<integer>487</integer>
+									<integer>489</integer>
+									<key>Points</key>
+									<array>
+										<string>{1017.2690100623495, 316.04555760931783}</string>
+										<string>{1081.7571996238382, 368.95064077762174}</string>
+									</array>
 									<key>Style</key>
 									<dict>
-										<key>fill</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
 										<key>shadow</key>
 										<dict>
 											<key>Draws</key>
@@ -36445,6 +36459,40 @@
 										</dict>
 										<key>stroke</key>
 										<dict>
+											<key>HeadArrow</key>
+											<string>0</string>
+											<key>Legacy</key>
+											<false/>
+											<key>LineType</key>
+											<integer>1</integer>
+											<key>TailArrow</key>
+											<string>0</string>
+										</dict>
+									</dict>
+									<key>Tail</key>
+									<dict>
+										<key>ID</key>
+										<integer>493</integer>
+									</dict>
+								</dict>
+								<dict>
+									<key>Bounds</key>
+									<string>{{1054.7446935890323, 341.93813474281569}, {54.025012069612032, 54.025012069612046}}</string>
+									<key>Class</key>
+									<string>ShapedGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Size</key>
+										<real>9</real>
+									</dict>
+									<key>ID</key>
+									<integer>490</integer>
+									<key>Shape</key>
+									<string>Circle</string>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
 											<key>Draws</key>
 											<string>NO</string>
 										</dict>
@@ -36454,11 +36502,141 @@
 										<key>Text</key>
 										<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
-{\colortbl;\red255\green255\blue255;\red177\green0\blue28;}
-\deftab720
-\pard\pardeftab720\qc\partightenfactor0
-
-\f0\fs32 \cf2 2}</string>
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
+
+\f0\fs18 \cf0 Accept}</string>
+										<key>VerticalPad</key>
+										<real>0.0</real>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>LineGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Font</key>
+										<string>Helvetica</string>
+										<key>Size</key>
+										<real>12</real>
+									</dict>
+									<key>Head</key>
+									<dict>
+										<key>ID</key>
+										<integer>493</integer>
+									</dict>
+									<key>ID</key>
+									<integer>491</integer>
+									<key>Points</key>
+									<array>
+										<string>{952.78082050086016, 261.69824217783184}</string>
+										<string>{1017.2690100623495, 316.04555760931783}</string>
+									</array>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+										<key>stroke</key>
+										<dict>
+											<key>HeadArrow</key>
+											<string>0</string>
+											<key>Legacy</key>
+											<false/>
+											<key>LineType</key>
+											<integer>1</integer>
+											<key>TailArrow</key>
+											<string>0</string>
+										</dict>
+									</dict>
+									<key>Tail</key>
+									<dict>
+										<key>ID</key>
+										<integer>510</integer>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>LineGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Font</key>
+										<string>Helvetica</string>
+										<key>Size</key>
+										<real>12</real>
+									</dict>
+									<key>Head</key>
+									<dict>
+										<key>ID</key>
+										<integer>496</integer>
+									</dict>
+									<key>ID</key>
+									<integer>492</integer>
+									<key>Points</key>
+									<array>
+										<string>{888.29263093937118, 316.04555760931783}</string>
+										<string>{952.78082050086016, 368.95064077762174}</string>
+									</array>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+										<key>stroke</key>
+										<dict>
+											<key>HeadArrow</key>
+											<string>0</string>
+											<key>Legacy</key>
+											<false/>
+											<key>LineType</key>
+											<integer>1</integer>
+											<key>TailArrow</key>
+											<string>0</string>
+										</dict>
+									</dict>
+									<key>Tail</key>
+									<dict>
+										<key>ID</key>
+										<integer>511</integer>
+									</dict>
+								</dict>
+								<dict>
+									<key>Bounds</key>
+									<string>{{990.25650402754343, 289.03305157451177}, {54.025012069612032, 54.025012069612046}}</string>
+									<key>Class</key>
+									<string>ShapedGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Size</key>
+										<real>18</real>
+									</dict>
+									<key>ID</key>
+									<integer>493</integer>
+									<key>Shape</key>
+									<string>Circle</string>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+									</dict>
+									<key>Text</key>
+									<dict>
+										<key>Text</key>
+										<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
+
+\f0\fs36 \cf0 a}</string>
+										<key>VerticalPad</key>
+										<real>0.0</real>
 									</dict>
 								</dict>
 								<dict>
@@ -36467,29 +36645,33 @@
 									<key>Graphics</key>
 									<array>
 										<dict>
+											<key>Bounds</key>
+											<string>{{925.76831446605411, 359.02417018938633}, {54.025012069612032, 19.852941176470587}}</string>
 											<key>Class</key>
-											<string>LineGraphic</string>
+											<string>ShapedGraphic</string>
 											<key>FontInfo</key>
 											<dict>
-												<key>Font</key>
-												<string>Helvetica</string>
+												<key>Color</key>
+												<dict>
+													<key>b</key>
+													<string>0</string>
+													<key>g</key>
+													<string>0</string>
+													<key>r</key>
+													<string>0</string>
+												</dict>
 												<key>Size</key>
-												<real>12</real>
-											</dict>
-											<key>Head</key>
-											<dict>
-												<key>ID</key>
-												<integer>490</integer>
+												<real>18</real>
 											</dict>
 											<key>ID</key>
-											<integer>489</integer>
-											<key>Points</key>
-											<array>
-												<string>{1017.2690100623495, 316.04555760931783}</string>
-												<string>{1081.7571996238382, 368.95064077762174}</string>
-											</array>
+											<integer>495</integer>
 											<key>Style</key>
 											<dict>
+												<key>fill</key>
+												<dict>
+													<key>Draws</key>
+													<string>NO</string>
+												</dict>
 												<key>shadow</key>
 												<dict>
 													<key>Draws</key>
@@ -36497,40 +36679,6 @@
 												</dict>
 												<key>stroke</key>
 												<dict>
-													<key>HeadArrow</key>
-													<string>0</string>
-													<key>Legacy</key>
-													<false/>
-													<key>LineType</key>
-													<integer>1</integer>
-													<key>TailArrow</key>
-													<string>0</string>
-												</dict>
-											</dict>
-											<key>Tail</key>
-											<dict>
-												<key>ID</key>
-												<integer>493</integer>
-											</dict>
-										</dict>
-										<dict>
-											<key>Bounds</key>
-											<string>{{1054.7446935890323, 341.93813474281569}, {54.025012069612032, 54.025012069612046}}</string>
-											<key>Class</key>
-											<string>ShapedGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Size</key>
-												<real>18</real>
-											</dict>
-											<key>ID</key>
-											<integer>490</integer>
-											<key>Shape</key>
-											<string>Circle</string>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
-												<dict>
 													<key>Draws</key>
 													<string>NO</string>
 												</dict>
@@ -36541,371 +36689,24 @@
 												<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
 {\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
-
-\f0\fs36 \cf0 AC}</string>
-												<key>VerticalPad</key>
-												<real>0.0</real>
-											</dict>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>LineGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Font</key>
-												<string>Helvetica</string>
-												<key>Size</key>
-												<real>12</real>
-											</dict>
-											<key>Head</key>
-											<dict>
-												<key>ID</key>
-												<integer>493</integer>
-											</dict>
-											<key>ID</key>
-											<integer>491</integer>
-											<key>Points</key>
-											<array>
-												<string>{952.78082050086016, 261.69824217783184}</string>
-												<string>{1017.2690100623495, 316.04555760931783}</string>
-											</array>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
-												<dict>
-													<key>Draws</key>
-													<string>NO</string>
-												</dict>
-												<key>stroke</key>
-												<dict>
-													<key>HeadArrow</key>
-													<string>0</string>
-													<key>Legacy</key>
-													<false/>
-													<key>LineType</key>
-													<integer>1</integer>
-													<key>TailArrow</key>
-													<string>0</string>
-												</dict>
-											</dict>
-											<key>Tail</key>
-											<dict>
-												<key>ID</key>
-												<integer>510</integer>
-											</dict>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>LineGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Font</key>
-												<string>Helvetica</string>
-												<key>Size</key>
-												<real>12</real>
-											</dict>
-											<key>Head</key>
-											<dict>
-												<key>ID</key>
-												<integer>496</integer>
-											</dict>
-											<key>ID</key>
-											<integer>492</integer>
-											<key>Points</key>
-											<array>
-												<string>{888.29263093937118, 316.04555760931783}</string>
-												<string>{952.78082050086016, 368.95064077762174}</string>
-											</array>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
-												<dict>
-													<key>Draws</key>
-													<string>NO</string>
-												</dict>
-												<key>stroke</key>
-												<dict>
-													<key>HeadArrow</key>
-													<string>0</string>
-													<key>Legacy</key>
-													<false/>
-													<key>LineType</key>
-													<integer>1</integer>
-													<key>TailArrow</key>
-													<string>0</string>
-												</dict>
-											</dict>
-											<key>Tail</key>
-											<dict>
-												<key>ID</key>
-												<integer>511</integer>
+\deftab720
+\pard\pardeftab720\qc\partightenfactor0
+
+\f0\fs36 \cf0 a}</string>
 											</dict>
 										</dict>
 										<dict>
 											<key>Bounds</key>
-											<string>{{990.25650402754343, 289.03305157451177}, {54.025012069612032, 54.025012069612046}}</string>
+											<string>{{925.76831446605411, 341.93813474281569}, {54.025012069612032, 54.025012069612046}}</string>
 											<key>Class</key>
 											<string>ShapedGraphic</string>
 											<key>FontInfo</key>
 											<dict>
 												<key>Size</key>
-												<real>18</real>
+												<real>12</real>
 											</dict>
 											<key>ID</key>
-											<integer>493</integer>
-											<key>Shape</key>
-											<string>Circle</string>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
-												<dict>
-													<key>Draws</key>
-													<string>NO</string>
-												</dict>
-											</dict>
-											<key>Text</key>
-											<dict>
-												<key>Text</key>
-												<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
-{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
-
-\f0\fs36 \cf0 a}</string>
-												<key>VerticalPad</key>
-												<real>0.0</real>
-											</dict>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>Group</string>
-											<key>Graphics</key>
-											<array>
-												<dict>
-													<key>Bounds</key>
-													<string>{{925.76831446605411, 359.02417018938633}, {54.025012069612032, 19.852941176470587}}</string>
-													<key>Class</key>
-													<string>ShapedGraphic</string>
-													<key>FontInfo</key>
-													<dict>
-														<key>Color</key>
-														<dict>
-															<key>b</key>
-															<string>0</string>
-															<key>g</key>
-															<string>0</string>
-															<key>r</key>
-															<string>0</string>
-														</dict>
-														<key>Size</key>
-														<real>18</real>
-													</dict>
-													<key>ID</key>
-													<integer>495</integer>
-													<key>Style</key>
-													<dict>
-														<key>fill</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-														<key>shadow</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-														<key>stroke</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-													</dict>
-													<key>Text</key>
-													<dict>
-														<key>Text</key>
-														<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
-{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
-{\colortbl;\red255\green255\blue255;}
-\deftab720
-\pard\pardeftab720\qc\partightenfactor0
-
-\f0\fs36 \cf0 a}</string>
-													</dict>
-												</dict>
-												<dict>
-													<key>Bounds</key>
-													<string>{{925.76831446605411, 341.93813474281569}, {54.025012069612032, 54.025012069612046}}</string>
-													<key>Class</key>
-													<string>ShapedGraphic</string>
-													<key>FontInfo</key>
-													<dict>
-														<key>Size</key>
-														<real>12</real>
-													</dict>
-													<key>ID</key>
-													<integer>496</integer>
-													<key>Shape</key>
-													<string>Circle</string>
-													<key>Style</key>
-													<dict>
-														<key>shadow</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-													</dict>
-													<key>Text</key>
-													<dict>
-														<key>VerticalPad</key>
-														<real>0.0</real>
-													</dict>
-												</dict>
-											</array>
-											<key>ID</key>
-											<integer>494</integer>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>LineGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Font</key>
-												<string>Helvetica</string>
-												<key>Size</key>
-												<real>12</real>
-											</dict>
-											<key>Head</key>
-											<dict>
-												<key>ID</key>
-												<integer>498</integer>
-											</dict>
-											<key>ID</key>
-											<integer>497</integer>
-											<key>Points</key>
-											<array>
-												<string>{820.2611342591191, 584.38371359842085}</string>
-												<string>{748.81092517193849, 642.25842818979231}</string>
-											</array>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
-												<dict>
-													<key>Draws</key>
-													<string>NO</string>
-												</dict>
-												<key>stroke</key>
-												<dict>
-													<key>HeadArrow</key>
-													<string>0</string>
-													<key>Legacy</key>
-													<false/>
-													<key>LineType</key>
-													<integer>1</integer>
-													<key>TailArrow</key>
-													<string>0</string>
-												</dict>
-											</dict>
-											<key>Tail</key>
-											<dict>
-												<key>ID</key>
-												<integer>500</integer>
-											</dict>
-										</dict>
-										<dict>
-											<key>Bounds</key>
-											<string>{{721.79841913713244, 615.24592215498626}, {54.025012069612032, 54.025012069612046}}</string>
-											<key>Class</key>
-											<string>ShapedGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Size</key>
-												<real>18</real>
-											</dict>
-											<key>ID</key>
-											<integer>498</integer>
-											<key>Shape</key>
-											<string>Circle</string>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
-												<dict>
-													<key>Draws</key>
-													<string>NO</string>
-												</dict>
-											</dict>
-											<key>Text</key>
-											<dict>
-												<key>Text</key>
-												<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
-{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
-
-\f0\fs36 \cf0 b}</string>
-												<key>VerticalPad</key>
-												<real>0.0</real>
-											</dict>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>LineGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Font</key>
-												<string>Helvetica</string>
-												<key>Size</key>
-												<real>12</real>
-											</dict>
-											<key>Head</key>
-											<dict>
-												<key>ID</key>
-												<integer>500</integer>
-											</dict>
-											<key>ID</key>
-											<integer>499</integer>
-											<key>Points</key>
-											<array>
-												<string>{748.81092517193849, 523.27278533732783}</string>
-												<string>{820.2611342591191, 584.38371359842085}</string>
-											</array>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
-												<dict>
-													<key>Draws</key>
-													<string>NO</string>
-												</dict>
-												<key>stroke</key>
-												<dict>
-													<key>HeadArrow</key>
-													<string>0</string>
-													<key>Legacy</key>
-													<false/>
-													<key>LineType</key>
-													<integer>1</integer>
-													<key>TailArrow</key>
-													<string>0</string>
-												</dict>
-											</dict>
-											<key>Tail</key>
-											<dict>
-												<key>ID</key>
-												<integer>516</integer>
-											</dict>
-										</dict>
-										<dict>
-											<key>Bounds</key>
-											<string>{{793.24862822431305, 557.3712075636148}, {54.025012069612032, 54.025012069612046}}</string>
-											<key>Class</key>
-											<string>ShapedGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Size</key>
-												<real>18</real>
-											</dict>
-											<key>ID</key>
-											<integer>500</integer>
+											<integer>496</integer>
 											<key>Shape</key>
 											<string>Circle</string>
 											<key>Style</key>
@@ -36918,182 +36719,540 @@
 											</dict>
 											<key>Text</key>
 											<dict>
-												<key>Text</key>
-												<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+												<key>VerticalPad</key>
+												<real>0.0</real>
+											</dict>
+										</dict>
+									</array>
+									<key>ID</key>
+									<integer>494</integer>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>LineGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Font</key>
+										<string>Helvetica</string>
+										<key>Size</key>
+										<real>12</real>
+									</dict>
+									<key>Head</key>
+									<dict>
+										<key>ID</key>
+										<integer>498</integer>
+									</dict>
+									<key>ID</key>
+									<integer>497</integer>
+									<key>Points</key>
+									<array>
+										<string>{820.2611342591191, 584.38371359842085}</string>
+										<string>{748.81092517193849, 642.25842818979231}</string>
+									</array>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+										<key>stroke</key>
+										<dict>
+											<key>HeadArrow</key>
+											<string>0</string>
+											<key>Legacy</key>
+											<false/>
+											<key>LineType</key>
+											<integer>1</integer>
+											<key>TailArrow</key>
+											<string>0</string>
+										</dict>
+									</dict>
+									<key>Tail</key>
+									<dict>
+										<key>ID</key>
+										<integer>500</integer>
+									</dict>
+								</dict>
+								<dict>
+									<key>Bounds</key>
+									<string>{{721.79841913713244, 615.24592215498626}, {54.025012069612032, 54.025012069612046}}</string>
+									<key>Class</key>
+									<string>ShapedGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Size</key>
+										<real>18</real>
+									</dict>
+									<key>ID</key>
+									<integer>498</integer>
+									<key>Shape</key>
+									<string>Circle</string>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+									</dict>
+									<key>Text</key>
+									<dict>
+										<key>Text</key>
+										<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
+
+\f0\fs36 \cf0 b}</string>
+										<key>VerticalPad</key>
+										<real>0.0</real>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>LineGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Font</key>
+										<string>Helvetica</string>
+										<key>Size</key>
+										<real>12</real>
+									</dict>
+									<key>Head</key>
+									<dict>
+										<key>ID</key>
+										<integer>500</integer>
+									</dict>
+									<key>ID</key>
+									<integer>499</integer>
+									<key>Points</key>
+									<array>
+										<string>{748.81092517193849, 523.27278533732783}</string>
+										<string>{820.2611342591191, 584.38371359842085}</string>
+									</array>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+										<key>stroke</key>
+										<dict>
+											<key>HeadArrow</key>
+											<string>0</string>
+											<key>Legacy</key>
+											<false/>
+											<key>LineType</key>
+											<integer>1</integer>
+											<key>TailArrow</key>
+											<string>0</string>
+										</dict>
+									</dict>
+									<key>Tail</key>
+									<dict>
+										<key>ID</key>
+										<integer>516</integer>
+									</dict>
+								</dict>
+								<dict>
+									<key>Bounds</key>
+									<string>{{793.24862822431305, 557.3712075636148}, {54.025012069612032, 54.025012069612046}}</string>
+									<key>Class</key>
+									<string>ShapedGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Size</key>
+										<real>18</real>
+									</dict>
+									<key>ID</key>
+									<integer>500</integer>
+									<key>Shape</key>
+									<string>Circle</string>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+									</dict>
+									<key>Text</key>
+									<dict>
+										<key>Text</key>
+										<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
 {\colortbl;\red255\green255\blue255;}
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
 
 \f0\fs36 \cf0 *}</string>
-												<key>VerticalPad</key>
-												<real>0.0</real>
-											</dict>
-										</dict>
-										<dict>
+										<key>VerticalPad</key>
+										<real>0.0</real>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>LineGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Font</key>
+										<string>Helvetica</string>
+										<key>Size</key>
+										<real>12</real>
+									</dict>
+									<key>Head</key>
+									<dict>
+										<key>ID</key>
+										<integer>515</integer>
+									</dict>
+									<key>ID</key>
+									<integer>501</integer>
+									<key>Points</key>
+									<array>
+										<string>{748.81092517193849, 523.27278533732783}</string>
+										<string>{669.36875464958973, 584.38371359842085}</string>
+									</array>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+										<key>stroke</key>
+										<dict>
+											<key>HeadArrow</key>
+											<string>0</string>
+											<key>Legacy</key>
+											<false/>
+											<key>LineType</key>
+											<integer>1</integer>
+											<key>TailArrow</key>
+											<string>0</string>
+										</dict>
+									</dict>
+									<key>Tail</key>
+									<dict>
+										<key>ID</key>
+										<integer>516</integer>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>LineGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Font</key>
+										<string>Helvetica</string>
+										<key>Size</key>
+										<real>12</real>
+									</dict>
+									<key>Head</key>
+									<dict>
+										<key>ID</key>
+										<integer>516</integer>
+									</dict>
+									<key>ID</key>
+									<integer>502</integer>
+									<key>Points</key>
+									<array>
+										<string>{669.3687546495895, 475.24985434051587}</string>
+										<string>{748.81092517193849, 523.27278533732783}</string>
+									</array>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+										<key>stroke</key>
+										<dict>
+											<key>HeadArrow</key>
+											<string>0</string>
+											<key>Legacy</key>
+											<false/>
+											<key>LineType</key>
+											<integer>1</integer>
+											<key>TailArrow</key>
+											<string>0</string>
+										</dict>
+									</dict>
+									<key>Tail</key>
+									<dict>
+										<key>ID</key>
+										<integer>520</integer>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>LineGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Font</key>
+										<string>Helvetica</string>
+										<key>Size</key>
+										<real>12</real>
+									</dict>
+									<key>Head</key>
+									<dict>
+										<key>ID</key>
+										<integer>519</integer>
+									</dict>
+									<key>ID</key>
+									<integer>503</integer>
+									<key>Points</key>
+									<array>
+										<string>{669.3687546495895, 475.24985434051587}</string>
+										<string>{589.9265841272404, 523.2727853373276}</string>
+									</array>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+										<key>stroke</key>
+										<dict>
+											<key>HeadArrow</key>
+											<string>0</string>
+											<key>Legacy</key>
+											<false/>
+											<key>LineType</key>
+											<integer>1</integer>
+											<key>TailArrow</key>
+											<string>0</string>
+										</dict>
+									</dict>
+									<key>Tail</key>
+									<dict>
+										<key>ID</key>
+										<integer>520</integer>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>LineGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Font</key>
+										<string>Helvetica</string>
+										<key>Size</key>
+										<real>12</real>
+									</dict>
+									<key>Head</key>
+									<dict>
+										<key>ID</key>
+										<integer>520</integer>
+									</dict>
+									<key>ID</key>
+									<integer>504</integer>
+									<key>Points</key>
+									<array>
+										<string>{748.81092517193849, 421.39158613531606}</string>
+										<string>{669.3687546495895, 475.24985434051587}</string>
+									</array>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+										<key>stroke</key>
+										<dict>
+											<key>HeadArrow</key>
+											<string>0</string>
+											<key>Legacy</key>
+											<false/>
+											<key>LineType</key>
+											<integer>1</integer>
+											<key>TailArrow</key>
+											<string>0</string>
+										</dict>
+									</dict>
+									<key>Tail</key>
+									<dict>
+										<key>ID</key>
+										<integer>521</integer>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>LineGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Font</key>
+										<string>Helvetica</string>
+										<key>Size</key>
+										<real>12</real>
+									</dict>
+									<key>Head</key>
+									<dict>
+										<key>ID</key>
+										<integer>521</integer>
+									</dict>
+									<key>ID</key>
+									<integer>505</integer>
+									<key>Points</key>
+									<array>
+										<string>{820.2611342591191, 368.95064077762174}</string>
+										<string>{748.81092517193849, 421.39158613531606}</string>
+									</array>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+										<key>stroke</key>
+										<dict>
+											<key>HeadArrow</key>
+											<string>0</string>
+											<key>Legacy</key>
+											<false/>
+											<key>LineType</key>
+											<integer>1</integer>
+											<key>TailArrow</key>
+											<string>0</string>
+										</dict>
+									</dict>
+									<key>Tail</key>
+									<dict>
+										<key>ID</key>
+										<integer>512</integer>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>LineGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Font</key>
+										<string>Helvetica</string>
+										<key>Size</key>
+										<real>12</real>
+									</dict>
+									<key>Head</key>
+									<dict>
+										<key>ID</key>
+										<integer>510</integer>
+									</dict>
+									<key>ID</key>
+									<integer>506</integer>
+									<key>Points</key>
+									<array>
+										<string>{888.29263093937118, 316.04555760931783}</string>
+										<string>{952.78082050086016, 261.69824217783184}</string>
+									</array>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+										<key>stroke</key>
+										<dict>
+											<key>HeadArrow</key>
+											<string>0</string>
+											<key>Legacy</key>
+											<false/>
+											<key>LineType</key>
+											<integer>1</integer>
+											<key>TailArrow</key>
+											<string>0</string>
+										</dict>
+									</dict>
+									<key>Tail</key>
+									<dict>
+										<key>ID</key>
+										<integer>511</integer>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>LineGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Font</key>
+										<string>Helvetica</string>
+										<key>Size</key>
+										<real>12</real>
+									</dict>
+									<key>Head</key>
+									<dict>
+										<key>ID</key>
+										<integer>512</integer>
+									</dict>
+									<key>ID</key>
+									<integer>507</integer>
+									<key>Points</key>
+									<array>
+										<string>{888.29263093937118, 316.04555760931783}</string>
+										<string>{820.2611342591191, 368.95064077762174}</string>
+									</array>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+										<key>stroke</key>
+										<dict>
+											<key>HeadArrow</key>
+											<string>0</string>
+											<key>Legacy</key>
+											<false/>
+											<key>LineType</key>
+											<integer>1</integer>
+											<key>TailArrow</key>
+											<string>0</string>
+										</dict>
+									</dict>
+									<key>Tail</key>
+									<dict>
+										<key>ID</key>
+										<integer>511</integer>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>Group</string>
+									<key>Graphics</key>
+									<array>
+										<dict>
+											<key>Bounds</key>
+											<string>{{925.76831446605411, 251.77177158959665}, {54.025012069612032, 19.852941176470587}}</string>
 											<key>Class</key>
-											<string>LineGraphic</string>
+											<string>ShapedGraphic</string>
 											<key>FontInfo</key>
 											<dict>
-												<key>Font</key>
-												<string>Helvetica</string>
+												<key>Color</key>
+												<dict>
+													<key>b</key>
+													<string>0</string>
+													<key>g</key>
+													<string>0</string>
+													<key>r</key>
+													<string>0</string>
+												</dict>
 												<key>Size</key>
-												<real>12</real>
-											</dict>
-											<key>Head</key>
-											<dict>
-												<key>ID</key>
-												<integer>515</integer>
+												<real>18</real>
 											</dict>
 											<key>ID</key>
-											<integer>501</integer>
-											<key>Points</key>
-											<array>
-												<string>{748.81092517193849, 523.27278533732783}</string>
-												<string>{669.36875464958973, 584.38371359842085}</string>
-											</array>
+											<integer>509</integer>
 											<key>Style</key>
 											<dict>
-												<key>shadow</key>
-												<dict>
-													<key>Draws</key>
-													<string>NO</string>
-												</dict>
-												<key>stroke</key>
-												<dict>
-													<key>HeadArrow</key>
-													<string>0</string>
-													<key>Legacy</key>
-													<false/>
-													<key>LineType</key>
-													<integer>1</integer>
-													<key>TailArrow</key>
-													<string>0</string>
-												</dict>
-											</dict>
-											<key>Tail</key>
-											<dict>
-												<key>ID</key>
-												<integer>516</integer>
-											</dict>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>LineGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Font</key>
-												<string>Helvetica</string>
-												<key>Size</key>
-												<real>12</real>
-											</dict>
-											<key>Head</key>
-											<dict>
-												<key>ID</key>
-												<integer>516</integer>
-											</dict>
-											<key>ID</key>
-											<integer>502</integer>
-											<key>Points</key>
-											<array>
-												<string>{669.3687546495895, 475.24985434051587}</string>
-												<string>{748.81092517193849, 523.27278533732783}</string>
-											</array>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
+												<key>fill</key>
 												<dict>
 													<key>Draws</key>
 													<string>NO</string>
 												</dict>
-												<key>stroke</key>
-												<dict>
-													<key>HeadArrow</key>
-													<string>0</string>
-													<key>Legacy</key>
-													<false/>
-													<key>LineType</key>
-													<integer>1</integer>
-													<key>TailArrow</key>
-													<string>0</string>
-												</dict>
-											</dict>
-											<key>Tail</key>
-											<dict>
-												<key>ID</key>
-												<integer>520</integer>
-											</dict>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>LineGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Font</key>
-												<string>Helvetica</string>
-												<key>Size</key>
-												<real>12</real>
-											</dict>
-											<key>Head</key>
-											<dict>
-												<key>ID</key>
-												<integer>519</integer>
-											</dict>
-											<key>ID</key>
-											<integer>503</integer>
-											<key>Points</key>
-											<array>
-												<string>{669.3687546495895, 475.24985434051587}</string>
-												<string>{589.9265841272404, 523.2727853373276}</string>
-											</array>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
-												<dict>
-													<key>Draws</key>
-													<string>NO</string>
-												</dict>
-												<key>stroke</key>
-												<dict>
-													<key>HeadArrow</key>
-													<string>0</string>
-													<key>Legacy</key>
-													<false/>
-													<key>LineType</key>
-													<integer>1</integer>
-													<key>TailArrow</key>
-													<string>0</string>
-												</dict>
-											</dict>
-											<key>Tail</key>
-											<dict>
-												<key>ID</key>
-												<integer>520</integer>
-											</dict>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>LineGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Font</key>
-												<string>Helvetica</string>
-												<key>Size</key>
-												<real>12</real>
-											</dict>
-											<key>Head</key>
-											<dict>
-												<key>ID</key>
-												<integer>520</integer>
-											</dict>
-											<key>ID</key>
-											<integer>504</integer>
-											<key>Points</key>
-											<array>
-												<string>{748.81092517193849, 421.39158613531606}</string>
-												<string>{669.3687546495895, 475.24985434051587}</string>
-											</array>
-											<key>Style</key>
-											<dict>
 												<key>shadow</key>
 												<dict>
 													<key>Draws</key>
@@ -37101,269 +37260,6 @@
 												</dict>
 												<key>stroke</key>
 												<dict>
-													<key>HeadArrow</key>
-													<string>0</string>
-													<key>Legacy</key>
-													<false/>
-													<key>LineType</key>
-													<integer>1</integer>
-													<key>TailArrow</key>
-													<string>0</string>
-												</dict>
-											</dict>
-											<key>Tail</key>
-											<dict>
-												<key>ID</key>
-												<integer>521</integer>
-											</dict>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>LineGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Font</key>
-												<string>Helvetica</string>
-												<key>Size</key>
-												<real>12</real>
-											</dict>
-											<key>Head</key>
-											<dict>
-												<key>ID</key>
-												<integer>521</integer>
-											</dict>
-											<key>ID</key>
-											<integer>505</integer>
-											<key>Points</key>
-											<array>
-												<string>{820.2611342591191, 368.95064077762174}</string>
-												<string>{748.81092517193849, 421.39158613531606}</string>
-											</array>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
-												<dict>
-													<key>Draws</key>
-													<string>NO</string>
-												</dict>
-												<key>stroke</key>
-												<dict>
-													<key>HeadArrow</key>
-													<string>0</string>
-													<key>Legacy</key>
-													<false/>
-													<key>LineType</key>
-													<integer>1</integer>
-													<key>TailArrow</key>
-													<string>0</string>
-												</dict>
-											</dict>
-											<key>Tail</key>
-											<dict>
-												<key>ID</key>
-												<integer>512</integer>
-											</dict>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>LineGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Font</key>
-												<string>Helvetica</string>
-												<key>Size</key>
-												<real>12</real>
-											</dict>
-											<key>Head</key>
-											<dict>
-												<key>ID</key>
-												<integer>510</integer>
-											</dict>
-											<key>ID</key>
-											<integer>506</integer>
-											<key>Points</key>
-											<array>
-												<string>{888.29263093937118, 316.04555760931783}</string>
-												<string>{952.78082050086016, 261.69824217783184}</string>
-											</array>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
-												<dict>
-													<key>Draws</key>
-													<string>NO</string>
-												</dict>
-												<key>stroke</key>
-												<dict>
-													<key>HeadArrow</key>
-													<string>0</string>
-													<key>Legacy</key>
-													<false/>
-													<key>LineType</key>
-													<integer>1</integer>
-													<key>TailArrow</key>
-													<string>0</string>
-												</dict>
-											</dict>
-											<key>Tail</key>
-											<dict>
-												<key>ID</key>
-												<integer>511</integer>
-											</dict>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>LineGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Font</key>
-												<string>Helvetica</string>
-												<key>Size</key>
-												<real>12</real>
-											</dict>
-											<key>Head</key>
-											<dict>
-												<key>ID</key>
-												<integer>512</integer>
-											</dict>
-											<key>ID</key>
-											<integer>507</integer>
-											<key>Points</key>
-											<array>
-												<string>{888.29263093937118, 316.04555760931783}</string>
-												<string>{820.2611342591191, 368.95064077762174}</string>
-											</array>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
-												<dict>
-													<key>Draws</key>
-													<string>NO</string>
-												</dict>
-												<key>stroke</key>
-												<dict>
-													<key>HeadArrow</key>
-													<string>0</string>
-													<key>Legacy</key>
-													<false/>
-													<key>LineType</key>
-													<integer>1</integer>
-													<key>TailArrow</key>
-													<string>0</string>
-												</dict>
-											</dict>
-											<key>Tail</key>
-											<dict>
-												<key>ID</key>
-												<integer>511</integer>
-											</dict>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>Group</string>
-											<key>Graphics</key>
-											<array>
-												<dict>
-													<key>Bounds</key>
-													<string>{{925.76831446605411, 251.77177158959665}, {54.025012069612032, 19.852941176470587}}</string>
-													<key>Class</key>
-													<string>ShapedGraphic</string>
-													<key>FontInfo</key>
-													<dict>
-														<key>Color</key>
-														<dict>
-															<key>b</key>
-															<string>0</string>
-															<key>g</key>
-															<string>0</string>
-															<key>r</key>
-															<string>0</string>
-														</dict>
-														<key>Size</key>
-														<real>18</real>
-													</dict>
-													<key>ID</key>
-													<integer>509</integer>
-													<key>Style</key>
-													<dict>
-														<key>fill</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-														<key>shadow</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-														<key>stroke</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-													</dict>
-													<key>Text</key>
-													<dict>
-														<key>Text</key>
-														<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
-{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
-{\colortbl;\red255\green255\blue255;}
-\deftab720
-\pard\pardeftab720\qc\partightenfactor0
-
-\f0\fs36 \cf0 +}</string>
-													</dict>
-												</dict>
-												<dict>
-													<key>Bounds</key>
-													<string>{{925.76831446605411, 234.68573614302579}, {54.025012069612032, 54.025012069612046}}</string>
-													<key>Class</key>
-													<string>ShapedGraphic</string>
-													<key>FontInfo</key>
-													<dict>
-														<key>Size</key>
-														<real>18</real>
-													</dict>
-													<key>ID</key>
-													<integer>510</integer>
-													<key>Shape</key>
-													<string>Circle</string>
-													<key>Style</key>
-													<dict>
-														<key>shadow</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-													</dict>
-													<key>Text</key>
-													<dict>
-														<key>VerticalPad</key>
-														<real>0.0</real>
-													</dict>
-												</dict>
-											</array>
-											<key>ID</key>
-											<integer>508</integer>
-										</dict>
-										<dict>
-											<key>Bounds</key>
-											<string>{{861.28012490456513, 289.03305157451177}, {54.025012069612032, 54.025012069612046}}</string>
-											<key>Class</key>
-											<string>ShapedGraphic</string>
-											<key>FontInfo</key>
-											<dict>
-												<key>Size</key>
-												<real>18</real>
-											</dict>
-											<key>ID</key>
-											<integer>511</integer>
-											<key>Shape</key>
-											<string>Circle</string>
-											<key>Style</key>
-											<dict>
-												<key>shadow</key>
-												<dict>
 													<key>Draws</key>
 													<string>NO</string>
 												</dict>
@@ -37374,16 +37270,15 @@
 												<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
 {\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
+\deftab720
+\pard\pardeftab720\qc\partightenfactor0
 
 \f0\fs36 \cf0 +}</string>
-												<key>VerticalPad</key>
-												<real>0.0</real>
 											</dict>
 										</dict>
 										<dict>
 											<key>Bounds</key>
-											<string>{{793.24862822431305, 341.93813474281569}, {54.025012069612032, 54.025012069612046}}</string>
+											<string>{{925.76831446605411, 234.68573614302579}, {54.025012069612032, 54.025012069612046}}</string>
 											<key>Class</key>
 											<string>ShapedGraphic</string>
 											<key>FontInfo</key>
@@ -37392,7 +37287,7 @@
 												<real>18</real>
 											</dict>
 											<key>ID</key>
-											<integer>512</integer>
+											<integer>510</integer>
 											<key>Shape</key>
 											<string>Circle</string>
 											<key>Style</key>
@@ -37405,117 +37300,152 @@
 											</dict>
 											<key>Text</key>
 											<dict>
-												<key>Text</key>
-												<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+												<key>VerticalPad</key>
+												<real>0.0</real>
+											</dict>
+										</dict>
+									</array>
+									<key>ID</key>
+									<integer>508</integer>
+								</dict>
+								<dict>
+									<key>Bounds</key>
+									<string>{{861.28012490456513, 289.03305157451177}, {54.025012069612032, 54.025012069612046}}</string>
+									<key>Class</key>
+									<string>ShapedGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Size</key>
+										<real>18</real>
+									</dict>
+									<key>ID</key>
+									<integer>511</integer>
+									<key>Shape</key>
+									<string>Circle</string>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+									</dict>
+									<key>Text</key>
+									<dict>
+										<key>Text</key>
+										<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
 {\colortbl;\red255\green255\blue255;}
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
 
 \f0\fs36 \cf0 +}</string>
-												<key>VerticalPad</key>
-												<real>0.0</real>
-											</dict>
-										</dict>
-										<dict>
+										<key>VerticalPad</key>
+										<real>0.0</real>
+									</dict>
+								</dict>
+								<dict>
+									<key>Bounds</key>
+									<string>{{793.24862822431305, 341.93813474281569}, {54.025012069612032, 54.025012069612046}}</string>
+									<key>Class</key>
+									<string>ShapedGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Size</key>
+										<real>18</real>
+									</dict>
+									<key>ID</key>
+									<integer>512</integer>
+									<key>Shape</key>
+									<string>Circle</string>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+									</dict>
+									<key>Text</key>
+									<dict>
+										<key>Text</key>
+										<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
+
+\f0\fs36 \cf0 +}</string>
+										<key>VerticalPad</key>
+										<real>0.0</real>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>Group</string>
+									<key>Graphics</key>
+									<array>
+										<dict>
+											<key>Bounds</key>
+											<string>{{642.35624861478368, 574.45724301018515}, {54.025012069612032, 19.852941176470587}}</string>
 											<key>Class</key>
-											<string>Group</string>
-											<key>Graphics</key>
-											<array>
+											<string>ShapedGraphic</string>
+											<key>FontInfo</key>
+											<dict>
+												<key>Color</key>
 												<dict>
-													<key>Bounds</key>
-													<string>{{642.35624861478368, 574.45724301018515}, {54.025012069612032, 19.852941176470587}}</string>
-													<key>Class</key>
-													<string>ShapedGraphic</string>
-													<key>FontInfo</key>
-													<dict>
-														<key>Color</key>
-														<dict>
-															<key>b</key>
-															<string>0</string>
-															<key>g</key>
-															<string>0</string>
-															<key>r</key>
-															<string>0</string>
-														</dict>
-														<key>Size</key>
-														<real>18</real>
-													</dict>
-													<key>ID</key>
-													<integer>514</integer>
-													<key>Style</key>
-													<dict>
-														<key>fill</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-														<key>shadow</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-														<key>stroke</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-													</dict>
-													<key>Text</key>
-													<dict>
-														<key>Text</key>
-														<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+													<key>b</key>
+													<string>0</string>
+													<key>g</key>
+													<string>0</string>
+													<key>r</key>
+													<string>0</string>
+												</dict>
+												<key>Size</key>
+												<real>18</real>
+											</dict>
+											<key>ID</key>
+											<integer>514</integer>
+											<key>Style</key>
+											<dict>
+												<key>fill</key>
+												<dict>
+													<key>Draws</key>
+													<string>NO</string>
+												</dict>
+												<key>shadow</key>
+												<dict>
+													<key>Draws</key>
+													<string>NO</string>
+												</dict>
+												<key>stroke</key>
+												<dict>
+													<key>Draws</key>
+													<string>NO</string>
+												</dict>
+											</dict>
+											<key>Text</key>
+											<dict>
+												<key>Text</key>
+												<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
 {\colortbl;\red255\green255\blue255;}
 \deftab720
 \pard\pardeftab720\qc\partightenfactor0
 
 \f0\fs36 \cf0 a}</string>
-													</dict>
-												</dict>
-												<dict>
-													<key>Bounds</key>
-													<string>{{642.35624861478368, 557.3712075636148}, {54.025012069612032, 54.025012069612046}}</string>
-													<key>Class</key>
-													<string>ShapedGraphic</string>
-													<key>FontInfo</key>
-													<dict>
-														<key>Size</key>
-														<real>12</real>
-													</dict>
-													<key>ID</key>
-													<integer>515</integer>
-													<key>Shape</key>
-													<string>Circle</string>
-													<key>Style</key>
-													<dict>
-														<key>shadow</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-													</dict>
-													<key>Text</key>
-													<dict>
-														<key>VerticalPad</key>
-														<real>0.0</real>
-													</dict>
-												</dict>
-											</array>
-											<key>ID</key>
-											<integer>513</integer>
+											</dict>
 										</dict>
 										<dict>
 											<key>Bounds</key>
-											<string>{{721.79841913713244, 496.26027930252178}, {54.025012069612032, 54.025012069612046}}</string>
+											<string>{{642.35624861478368, 557.3712075636148}, {54.025012069612032, 54.025012069612046}}</string>
 											<key>Class</key>
 											<string>ShapedGraphic</string>
 											<key>FontInfo</key>
 											<dict>
 												<key>Size</key>
-												<real>18</real>
+												<real>12</real>
 											</dict>
 											<key>ID</key>
-											<integer>516</integer>
+											<integer>515</integer>
 											<key>Shape</key>
 											<string>Circle</string>
 											<key>Style</key>
@@ -37528,126 +37458,92 @@
 											</dict>
 											<key>Text</key>
 											<dict>
-												<key>Text</key>
-												<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+												<key>VerticalPad</key>
+												<real>0.0</real>
+											</dict>
+										</dict>
+									</array>
+									<key>ID</key>
+									<integer>513</integer>
+								</dict>
+								<dict>
+									<key>Bounds</key>
+									<string>{{721.79841913713244, 496.26027930252178}, {54.025012069612032, 54.025012069612046}}</string>
+									<key>Class</key>
+									<string>ShapedGraphic</string>
+									<key>FontInfo</key>
+									<dict>
+										<key>Size</key>
+										<real>18</real>
+									</dict>
+									<key>ID</key>
+									<integer>516</integer>
+									<key>Shape</key>
+									<string>Circle</string>
+									<key>Style</key>
+									<dict>
+										<key>shadow</key>
+										<dict>
+											<key>Draws</key>
+											<string>NO</string>
+										</dict>
+									</dict>
+									<key>Text</key>
+									<dict>
+										<key>Text</key>
+										<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
 {\colortbl;\red255\green255\blue255;}
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
 
 \f0\fs36 \cf0 +}</string>
-												<key>VerticalPad</key>
-												<real>0.0</real>
-											</dict>
-										</dict>
-										<dict>
-											<key>Class</key>
-											<string>Group</string>
-											<key>Graphics</key>
-											<array>
-												<dict>
-													<key>Bounds</key>
-													<string>{{562.91407809243435, 513.34631474909247}, {54.025012069612032, 19.852941176470587}}</string>
-													<key>Class</key>
-													<string>ShapedGraphic</string>
-													<key>FontInfo</key>
-													<dict>
-														<key>Color</key>
-														<dict>
-															<key>b</key>
-															<string>0</string>
-															<key>g</key>
-															<string>0</string>
-															<key>r</key>
-															<string>0</string>
-														</dict>
-														<key>Size</key>
-														<real>12</real>
-													</dict>
-													<key>ID</key>
-													<integer>518</integer>
-													<key>Style</key>
-													<dict>
-														<key>fill</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-														<key>shadow</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-														<key>stroke</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-													</dict>
-													<key>Text</key>
-													<dict>
-														<key>Text</key>
-														<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
-{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
-{\colortbl;\red255\green255\blue255;}
-\deftab720
-\pard\pardeftab720\qc\partightenfactor0
-
-\f0\fs24 \cf0 [a-zA-Z]}</string>
-													</dict>
-												</dict>
-												<dict>
-													<key>Bounds</key>
-													<string>{{562.91407809243435, 496.26027930252155}, {54.025012069612032, 54.025012069612046}}</string>
-													<key>Class</key>
-													<string>ShapedGraphic</string>
-													<key>FontInfo</key>
-													<dict>
-														<key>Size</key>
-														<real>12</real>
-													</dict>
-													<key>ID</key>
-													<integer>519</integer>
-													<key>Shape</key>
-													<string>Circle</string>
-													<key>Style</key>
-													<dict>
-														<key>shadow</key>
-														<dict>
-															<key>Draws</key>
-															<string>NO</string>
-														</dict>
-													</dict>
-													<key>Text</key>
-													<dict>
-														<key>VerticalPad</key>
-														<real>0.0</real>
-													</dict>
-												</dict>
-											</array>
-											<key>ID</key>
-											<integer>517</integer>
-										</dict>
+										<key>VerticalPad</key>
+										<real>0.0</real>
+									</dict>
+								</dict>
+								<dict>
+									<key>Class</key>
+									<string>Group</string>
+									<key>Graphics</key>
+									<array>
 										<dict>
 											<key>Bounds</key>
-											<string>{{642.35624861478345, 448.23734830570982}, {54.025012069612032, 54.025012069612046}}</string>
+											<string>{{562.91407809243435, 513.34631474909247}, {54.025012069612032, 19.852941176470587}}</string>
 											<key>Class</key>
 											<string>ShapedGraphic</string>
 											<key>FontInfo</key>
 											<dict>
+												<key>Color</key>
+												<dict>
+													<key>b</key>
+													<string>0</string>
+													<key>g</key>
+													<string>0</string>
+													<key>r</key>
+													<string>0</string>
+												</dict>
 												<key>Size</key>
-												<real>18</real>
+												<real>12</real>
 											</dict>
 											<key>ID</key>
-											<integer>520</integer>
-											<key>Shape</key>
-											<string>Circle</string>
+											<integer>518</integer>
 											<key>Style</key>
 											<dict>
+												<key>fill</key>
+												<dict>
+													<key>Draws</key>
+													<string>NO</string>
+												</dict>
 												<key>shadow</key>
 												<dict>
 													<key>Draws</key>
 													<string>NO</string>
 												</dict>
+												<key>stroke</key>
+												<dict>
+													<key>Draws</key>
+													<string>NO</string>
+												</dict>
 											</dict>
 											<key>Text</key>
 											<dict>
@@ -37655,25 +37551,24 @@
 												<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
 {\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
-
-\f0\fs36 \cf0 |}</string>
-												<key>VerticalPad</key>
-												<real>0.0</real>
+\deftab720
+\pard\pardeftab720\qc\partightenfactor0
+
+\f0\fs24 \cf0 [a-zA-Z]}</string>
 											</dict>
 										</dict>
 										<dict>
 											<key>Bounds</key>
-											<string>{{721.79841913713244, 394.37908010051001}, {54.025012069612032, 54.025012069612046}}</string>
+											<string>{{562.91407809243435, 496.26027930252155}, {54.025012069612032, 54.025012069612046}}</string>
 											<key>Class</key>
 											<string>ShapedGraphic</string>
 											<key>FontInfo</key>
 											<dict>
 												<key>Size</key>
-												<real>18</real>
+												<real>12</real>
 											</dict>
 											<key>ID</key>
-											<integer>521</integer>
+											<integer>519</integer>
 											<key>Shape</key>
 											<string>Circle</string>
 											<key>Style</key>
@@ -37686,293 +37581,356 @@
 											</dict>
 											<key>Text</key>
 											<dict>
-												<key>Text</key>
-												<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
-{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
-
-\f0\fs36 \cf0 *}</string>
 												<key>VerticalPad</key>
 												<real>0.0</real>
 											</dict>
 										</dict>
 									</array>
 									<key>ID</key>
-									<integer>488</integer>
+									<integer>517</integer>
 								</dict>
 								<dict>
 									<key>Bounds</key>
-									<string>{{989.52825519151577, 340.45203360337928}, {59.360815730808326, 30}}</string>
+									<string>{{642.35624861478345, 448.23734830570982}, {54.025012069612032, 54.025012069612046}}</string>
 									<key>Class</key>
 									<string>ShapedGraphic</string>
-									<key>FitText</key>
-									<string>Vertical</string>
-									<key>Flow</key>
-									<string>Resize</string>
 									<key>FontInfo</key>
 									<dict>
-										<key>Color</key>
-										<dict>
-											<key>b</key>
-											<string>0.109804</string>
-											<key>g</key>
-											<string>0</string>
-											<key>r</key>
-											<string>0.694118</string>
-										</dict>
+										<key>Size</key>
+										<real>18</real>
 									</dict>
 									<key>ID</key>
-									<integer>522</integer>
+									<integer>520</integer>
+									<key>Shape</key>
+									<string>Circle</string>
 									<key>Style</key>
 									<dict>
-										<key>fill</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
 										<key>shadow</key>
 										<dict>
 											<key>Draws</key>
 											<string>NO</string>
 										</dict>
-										<key>stroke</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
 									</dict>
 									<key>Text</key>
 									<dict>
 										<key>Text</key>
 										<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
-{\colortbl;\red255\green255\blue255;\red177\green0\blue28;}
-\deftab720
-\pard\pardeftab720\qc\partightenfactor0
-
-\f0\fs32 \cf2 8}</string>
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
+
+\f0\fs36 \cf0 |}</string>
+										<key>VerticalPad</key>
+										<real>0.0</real>
 									</dict>
 								</dict>
 								<dict>
 									<key>Bounds</key>
-									<string>{{718.81959131801227, 665.01896568208258}, {59.360815730808326, 30}}</string>
+									<string>{{721.79841913713244, 394.37908010051001}, {54.025012069612032, 54.025012069612046}}</string>
 									<key>Class</key>
 									<string>ShapedGraphic</string>
-									<key>FitText</key>
-									<string>Vertical</string>
-									<key>Flow</key>
-									<string>Resize</string>
 									<key>FontInfo</key>
 									<dict>
-										<key>Color</key>
-										<dict>
-											<key>b</key>
-											<string>0.109804</string>
-											<key>g</key>
-											<string>0</string>
-											<key>r</key>
-											<string>0.694118</string>
-										</dict>
+										<key>Size</key>
+										<real>18</real>
 									</dict>
 									<key>ID</key>
-									<integer>523</integer>
+									<integer>521</integer>
+									<key>Shape</key>
+									<string>Circle</string>
 									<key>Style</key>
 									<dict>
-										<key>fill</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
 										<key>shadow</key>
 										<dict>
 											<key>Draws</key>
 											<string>NO</string>
 										</dict>
-										<key>stroke</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
 									</dict>
 									<key>Text</key>
 									<dict>
 										<key>Text</key>
 										<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
+
+\f0\fs36 \cf0 *}</string>
+										<key>VerticalPad</key>
+										<real>0.0</real>
+									</dict>
+								</dict>
+							</array>
+							<key>ID</key>
+							<integer>488</integer>
+						</dict>
+						<dict>
+							<key>Bounds</key>
+							<string>{{989.52825519151577, 340.45203360337928}, {59.360815730808326, 30}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>FitText</key>
+							<string>Vertical</string>
+							<key>Flow</key>
+							<string>Resize</string>
+							<key>FontInfo</key>
+							<dict>
+								<key>Color</key>
+								<dict>
+									<key>b</key>
+									<string>0.109804</string>
+									<key>g</key>
+									<string>0</string>
+									<key>r</key>
+									<string>0.694118</string>
+								</dict>
+							</dict>
+							<key>ID</key>
+							<integer>522</integer>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+							</dict>
+							<key>Text</key>
+							<dict>
+								<key>Text</key>
+								<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
+{\colortbl;\red255\green255\blue255;\red177\green0\blue28;}
+\deftab720
+\pard\pardeftab720\qc\partightenfactor0
+
+\f0\fs32 \cf2 8}</string>
+							</dict>
+						</dict>
+						<dict>
+							<key>Bounds</key>
+							<string>{{718.81959131801227, 665.01896568208258}, {59.360815730808326, 30}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>FitText</key>
+							<string>Vertical</string>
+							<key>Flow</key>
+							<string>Resize</string>
+							<key>FontInfo</key>
+							<dict>
+								<key>Color</key>
+								<dict>
+									<key>b</key>
+									<string>0.109804</string>
+									<key>g</key>
+									<string>0</string>
+									<key>r</key>
+									<string>0.694118</string>
+								</dict>
+							</dict>
+							<key>ID</key>
+							<integer>523</integer>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+							</dict>
+							<key>Text</key>
+							<dict>
+								<key>Text</key>
+								<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
 {\colortbl;\red255\green255\blue255;\red177\green0\blue28;}
 \deftab720
 \pard\pardeftab720\qc\partightenfactor0
 
 \f0\fs32 \cf2 4}</string>
-									</dict>
-								</dict>
-								<dict>
-									<key>Bounds</key>
-									<string>{{924.3314042062741, 392.89297896107371}, {59.360815730808326, 30}}</string>
-									<key>Class</key>
-									<string>ShapedGraphic</string>
-									<key>FitText</key>
-									<string>Vertical</string>
-									<key>Flow</key>
-									<string>Resize</string>
-									<key>FontInfo</key>
-									<dict>
-										<key>Color</key>
-										<dict>
-											<key>b</key>
-											<string>0.109804</string>
-											<key>g</key>
-											<string>0</string>
-											<key>r</key>
-											<string>0.694118</string>
-										</dict>
-									</dict>
-									<key>ID</key>
-									<integer>524</integer>
-									<key>Style</key>
-									<dict>
-										<key>fill</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
-										<key>shadow</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
-										<key>stroke</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
-									</dict>
-									<key>Text</key>
-									<dict>
-										<key>Text</key>
-										<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+							</dict>
+						</dict>
+						<dict>
+							<key>Bounds</key>
+							<string>{{924.3314042062741, 392.89297896107371}, {59.360815730808326, 30}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>FitText</key>
+							<string>Vertical</string>
+							<key>Flow</key>
+							<string>Resize</string>
+							<key>FontInfo</key>
+							<dict>
+								<key>Color</key>
+								<dict>
+									<key>b</key>
+									<string>0.109804</string>
+									<key>g</key>
+									<string>0</string>
+									<key>r</key>
+									<string>0.694118</string>
+								</dict>
+							</dict>
+							<key>ID</key>
+							<integer>524</integer>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+							</dict>
+							<key>Text</key>
+							<dict>
+								<key>Text</key>
+								<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
 {\colortbl;\red255\green255\blue255;\red177\green0\blue28;}
 \deftab720
 \pard\pardeftab720\qc\partightenfactor0
 
 \f0\fs32 \cf2 1}</string>
-									</dict>
-								</dict>
-								<dict>
-									<key>Bounds</key>
-									<string>{{639.44951185771811, 608.32605178187259}, {59.360815730808326, 30}}</string>
-									<key>Class</key>
-									<string>ShapedGraphic</string>
-									<key>FitText</key>
-									<string>Vertical</string>
-									<key>Flow</key>
-									<string>Resize</string>
-									<key>FontInfo</key>
-									<dict>
-										<key>Color</key>
-										<dict>
-											<key>b</key>
-											<string>0.109804</string>
-											<key>g</key>
-											<string>0</string>
-											<key>r</key>
-											<string>0.694118</string>
-										</dict>
-									</dict>
-									<key>ID</key>
-									<integer>525</integer>
-									<key>Style</key>
-									<dict>
-										<key>fill</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
-										<key>shadow</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
-										<key>stroke</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
-									</dict>
-									<key>Text</key>
-									<dict>
-										<key>Text</key>
-										<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+							</dict>
+						</dict>
+						<dict>
+							<key>Bounds</key>
+							<string>{{639.44951185771811, 608.32605178187259}, {59.360815730808326, 30}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>FitText</key>
+							<string>Vertical</string>
+							<key>Flow</key>
+							<string>Resize</string>
+							<key>FontInfo</key>
+							<dict>
+								<key>Color</key>
+								<dict>
+									<key>b</key>
+									<string>0.109804</string>
+									<key>g</key>
+									<string>0</string>
+									<key>r</key>
+									<string>0.694118</string>
+								</dict>
+							</dict>
+							<key>ID</key>
+							<integer>525</integer>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+							</dict>
+							<key>Text</key>
+							<dict>
+								<key>Text</key>
+								<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
 {\colortbl;\red255\green255\blue255;\red177\green0\blue28;}
 \deftab720
 \pard\pardeftab720\qc\partightenfactor0
 
 \f0\fs32 \cf2 1}</string>
-									</dict>
-								</dict>
-								<dict>
-									<key>Bounds</key>
-									<string>{{562.91407809243435, 545.96384649164133}, {59.360815730808326, 30}}</string>
-									<key>Class</key>
-									<string>ShapedGraphic</string>
-									<key>FitText</key>
-									<string>Vertical</string>
-									<key>Flow</key>
-									<string>Resize</string>
-									<key>FontInfo</key>
-									<dict>
-										<key>Color</key>
-										<dict>
-											<key>b</key>
-											<string>0.109804</string>
-											<key>g</key>
-											<string>0</string>
-											<key>r</key>
-											<string>0.694118</string>
-										</dict>
-									</dict>
-									<key>ID</key>
-									<integer>526</integer>
-									<key>Style</key>
-									<dict>
-										<key>fill</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
-										<key>shadow</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
-										<key>stroke</key>
-										<dict>
-											<key>Draws</key>
-											<string>NO</string>
-										</dict>
-									</dict>
-									<key>Text</key>
-									<dict>
-										<key>Text</key>
-										<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
+							</dict>
+						</dict>
+						<dict>
+							<key>Bounds</key>
+							<string>{{562.91407809243435, 545.96384649164133}, {59.360815730808326, 30}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>FitText</key>
+							<string>Vertical</string>
+							<key>Flow</key>
+							<string>Resize</string>
+							<key>FontInfo</key>
+							<dict>
+								<key>Color</key>
+								<dict>
+									<key>b</key>
+									<string>0.109804</string>
+									<key>g</key>
+									<string>0</string>
+									<key>r</key>
+									<string>0.694118</string>
+								</dict>
+							</dict>
+							<key>ID</key>
+							<integer>526</integer>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+							</dict>
+							<key>Text</key>
+							<dict>
+								<key>Text</key>
+								<string>{\rtf1\ansi\ansicpg932\cocoartf1404\cocoasubrtf340
 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
 {\colortbl;\red255\green255\blue255;\red177\green0\blue28;}
 \deftab720
 \pard\pardeftab720\qc\partightenfactor0
 
 \f0\fs32 \cf2 1}</string>
-									</dict>
-								</dict>
-							</array>
-							<key>ID</key>
-							<integer>486</integer>
-						</dict>
-					</array>
-					<key>ID</key>
-					<integer>484</integer>
+							</dict>
+						</dict>
+					</array>
+					<key>ID</key>
+					<integer>486</integer>
 				</dict>
 				<dict>
 					<key>Class</key>
@@ -81806,14 +81764,14 @@
 	<key>WindowInfo</key>
 	<dict>
 		<key>CurrentSheet</key>
-		<integer>6</integer>
+		<integer>9</integer>
 		<key>Expanded_Canvases</key>
 		<array>
 			<string>cctree</string>
 			<string>キャンバス 7</string>
 		</array>
 		<key>Frame</key>
-		<string>{{218, 38}, {1279, 1139}}</string>
+		<string>{{351, 38}, {1279, 1139}}</string>
 		<key>ShowInfo</key>
 		<true/>
 		<key>ShowRuler</key>
@@ -81825,9 +81783,9 @@
 		<key>TopSlabHeight</key>
 		<real>682</real>
 		<key>VisibleRegion</key>
-		<string>{{1150.8547008547009, -27.000000000000131}, {517.09401709401709, 838.46153846153857}}</string>
+		<string>{{542.13483146067415, -85.999999999999957}, {679.77528089887642, 1102.2471910112361}}</string>
 		<key>Zoom</key>
-		<real>1.1699999999999999</real>
+		<real>0.89000000000000001</real>
 		<key>ZoomValues</key>
 		<array>
 			<array>
@@ -81857,8 +81815,8 @@
 			</array>
 			<array>
 				<string>CharClass Merge Pattern</string>
+				<real>1.1699999570846558</real>
 				<real>1.1699999999999999</real>
-				<real>0.72999999999999998</real>
 			</array>
 			<array>
 				<string>キャンバス 9</string>
@@ -81877,8 +81835,8 @@
 			</array>
 			<array>
 				<string>キャンバス 12</string>
-				<real>1.2599999904632568</real>
-				<real>1.26</real>
+				<real>0.89000000000000001</real>
+				<real>0.93000000000000005</real>
 			</array>
 			<array>
 				<string>bmsearch</string>
Binary file paper/images/regex/allostate.pdf has changed
Binary file paper/master_paper.pdf has changed
--- a/paper/master_paper.tex	Wed Feb 17 19:43:19 2016 +0900
+++ b/paper/master_paper.tex	Wed Feb 17 20:50:15 2016 +0900
@@ -81,8 +81,8 @@
 それぞれの例題によって結果の整合性を取る必要があるが、どのように整合性を取るかは問題によって考慮する必要がある。
 
 本研究で実装した正規表現は、正規表現から正規表現木を生成し、その正規表現木に状態を割り振りながらNFA や DFA を生成する。
-もし NFA が存在した場合は Subset Construction で DFA に変換する。
-そして、DFA の生成後ファイルとマッチングさせる。
+もし NFA が生成した場合は Subset Construction で DFA に変換する。
+そして、DFA の生成後、ファイルとマッチングさせる。
 
 それぞれの例題と Mac に built-in されている wc、egrep と比較し測定を行なった。
 \end{abstract}