(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 6.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 145996, 3266] NotebookOptionsPosition[ 79254, 1813] NotebookOutlinePosition[ 142055, 3137] CellTagsIndexPosition[ 142012, 3134] WindowFrame->Normal ContainsDynamic->False*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["Tutorial: Downloading Financial Data from Yahoo!Finance - V6", "Title", CellChangeTimes->{{3.397874307685606*^9, 3.397874310647931*^9}}], Cell[TextData[{ "Robert J. Frey, Research Professor\n", ButtonBox["http://www.ams.sunysb.edu/~frey/", BaseStyle->"Hyperlink", ButtonData:>{ URL["http://www.ams.sunysb.edu/~frey/"], None}], "\nStony Brook University, Applied Mathematics and Statistics\nSeptember 08, \ 2006" }], "Subsubsection"], Cell["\<\ Revised 28-Feb-2007: Yahoo!Finance changed the date format on quote history \ data to YYYY-MM-DD (all numeric).\ \>", "Subsubsection", CellChangeTimes->{{3.397874451255807*^9, 3.397874475942258*^9}}], Cell[TextData[{ "Revised 02-Sep-2007: Revised for ", StyleBox["V6", FontSlant->"Italic"], "; Yahoo!Finance changed the date format on quote data to MM/DD/YYYY, but \ kept the YYYY-MM-DD format for history data." }], "Subsubsection", CellChangeTimes->{{3.397874451255807*^9, 3.397874532864846*^9}, { 3.399259996330284*^9, 3.3992599976586857`*^9}}], Cell[TextData[{ "Revised 20-Sep-2007: Uses direct import employing the expanded capabilities \ of Import[] provided in ", StyleBox["V6", FontSlant->"Italic"], ". The JLink package is no longer needed." }], "Subsubsection", CellChangeTimes->{{3.397874451255807*^9, 3.397874532864846*^9}, { 3.399259996330284*^9, 3.3992600662311497`*^9}, {3.399260590777981*^9, 3.399260604201784*^9}, 3.399261007791081*^9}], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " ", StyleBox["V6", FontSlant->"Italic"], " now has the function FinancialData[] which provides a much broader range \ of functionality than what we have implemented here. This is useful to \ illustrate how one can directly access comma separated value (CSV) data \ available on a website. There may be some data available on Yahoo!Finance \ that is not available via FinancialData[]; therefore, we have updated this \ notebook to work with ", StyleBox["V6", FontSlant->"Italic"], ". Generally, one will find FinancialData[] a better choice." }], "Section 1", CellChangeTimes->{{3.397874907204424*^9, 3.397875160995125*^9}, { 3.397875202745075*^9, 3.397875253767268*^9}, {3.399260856709985*^9, 3.399260962516384*^9}}], Cell[CellGroupData[{ Cell["Set Up", "Section 1"], Cell["\<\ In addition,the setting of spelling warnings is adjusted to avoid a large \ number of spurious warnings.\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{"Off", "[", RowBox[{"General", "::", "spell1"}], "]"}], ";"}]], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["Data From Yahoo!Fianance", "Section 1"], Cell["\<\ This collection of routines is used to build simple functions which will \ download stock data from Yahoo!Finance.\ \>", "Text"], Cell[CellGroupData[{ Cell["Utility Functions", "Subsection"], Cell[CellGroupData[{ Cell["Regularizing field names", "Subsubsection"], Cell["\<\ The row and column headings returned must be played into some standard form. \ This function squeezes out spaces and any character that is not a letter or a \ number\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{"xRegularizeName", "=", RowBox[{ RowBox[{ RowBox[{ RowBox[{"StringJoin", "@", RowBox[{"Pick", "[", RowBox[{"#", ",", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"LetterQ", "[", "#", "]"}], "||", RowBox[{"DigitQ", "[", "#", "]"}]}], ")"}], "&"}], "/@", "#"}]}], "]"}]}], "&"}], "@", RowBox[{"Characters", "[", "#", "]"}]}], "&"}]}], ";"}]], "Input"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"xRegularizeName", "[", "\"\\"", "]"}]], "Input"], Cell[BoxData["\<\"TotalReturn12Mos\"\>"], "Output", CellChangeTimes->{3.3978726927764997`*^9, 3.3978746397050953`*^9, 3.3978753391033087`*^9, 3.399260149768186*^9, 3.399260814952284*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Date formatting", "Subsubsection"], Cell[TextData[{ "The next function is used to convert a date returned from Yahoo!Finance \ into a standard ", StyleBox["Mathematica", FontSlant->"Italic"], " date vector." }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xYahooDateToMathematicaDate", "[", "sS_String", "]"}], ":=", RowBox[{"Module", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", "vsS", "}"}], ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"StringMatchQ", "[", RowBox[{"sS", ",", RowBox[{ "__", "~~", "\"\\"", "~~", "__", "~~", "\"\\"", "~~", "__"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"vsS", "=", RowBox[{"StringSplit", "[", RowBox[{"sS", ",", RowBox[{"{", "\"\\"", "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"ToExpression", "[", RowBox[{ "vsS", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], "]"}], ",", RowBox[{"ToExpression", "[", RowBox[{ "vsS", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "]"}], ",", RowBox[{"ToExpression", "[", RowBox[{ "vsS", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "]"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"vsS", "=", RowBox[{"StringSplit", "[", RowBox[{"sS", ",", RowBox[{"{", "\"\<-\>\"", "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"ToExpression", "[", RowBox[{ "vsS", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "]"}], ",", RowBox[{"ToExpression", "[", RowBox[{ "vsS", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "]"}], ",", RowBox[{"ToExpression", "[", RowBox[{ "vsS", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], "]"}]}], "}"}]}]}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.397873177686563*^9, 3.397873184496643*^9}, { 3.397873344930101*^9, 3.397873345741576*^9}, {3.397873955824316*^9, 3.3978740236341248`*^9}, {3.397874070053282*^9, 3.397874076545277*^9}}], Cell["For example,", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{"xYahooDateToMathematicaDate", "[", "\"\<2007-03-02\>\"", "]"}], "\[IndentingNewLine]", RowBox[{"xYahooDateToMathematicaDate", "[", "\"\<03/02/2007\>\"", "]"}], "\[IndentingNewLine]"}], "Input", CellChangeTimes->{ 3.3978731935505667`*^9, {3.397874026406845*^9, 3.397874048656116*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"2007", ",", "3", ",", "2"}], "}"}]], "Output", CellChangeTimes->{ 3.397872701737808*^9, {3.397874049519806*^9, 3.39787407894473*^9}, 3.39787463978158*^9, 3.397875339195005*^9, 3.399260154935604*^9, 3.399260815052189*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{"2007", ",", "3", ",", "2"}], "}"}]], "Output", CellChangeTimes->{ 3.397872701737808*^9, {3.397874049519806*^9, 3.39787407894473*^9}, 3.39787463978158*^9, 3.397875339195005*^9, 3.399260154935604*^9, 3.399260815053792*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Time Conversion", "Subsubsection"], Cell[TextData[{ "This function converts the time string returned by Yahoo!Finance into a \ standard ", StyleBox["Mathematica", FontSlant->"Italic"], " time vector." }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xHhSsApToMathematicaTime", "[", "sTime_", "]"}], ":=", RowBox[{"Module", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"sAp", ",", "sHhSs"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"sAp", "=", RowBox[{"StringTake", "[", RowBox[{"sTime", ",", RowBox[{"-", "2"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"sHhSs", "=", RowBox[{"StringSplit", "[", RowBox[{ RowBox[{"StringDrop", "[", RowBox[{"sTime", ",", RowBox[{"-", "2"}]}], "]"}], ",", "\"\<:\>\""}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"ToExpression", "[", "sHhSs", "]"}], "+", RowBox[{"If", "[", RowBox[{ RowBox[{"sAp", "\[Equal]", "\"\\""}], ",", RowBox[{"{", RowBox[{"12", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}]}]}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input"], Cell["For example,", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"xHhSsApToMathematicaTime", "[", "\"\<1:00pm\>\"", "]"}]], "Input", CellChangeTimes->{3.397874401359651*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{"13", ",", "0"}], "}"}]], "Output", CellChangeTimes->{3.397872706604445*^9, 3.397874401899407*^9, 3.397874639848024*^9, 3.39787533927876*^9, 3.3992601593667707`*^9, 3.3992608151062317`*^9}] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Building a History URL", "Subsection"], Cell["\<\ Given a ticker symbol, a start date and an end date this function returns the \ URL that must be passed to Yahoo!Finance into order to download history data. \ The syntax of the CGI call in the URL was inferred by experimenting with \ Yahoo!Finance. It appears to work but there is no guarantee that \ Yahoo!Finance won't change this sometime in the future.\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xYahooFinanceHistoryURL", "[", "\[IndentingNewLine]", RowBox[{"sSymbol_String", ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "iStartYear_Integer", ",", "iStartMonth_Integer", ",", "iStartDay_Integer"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "iEndYear_Integer", ",", "iEndMonth_Integer", ",", "iEndDay_Integer"}], "}"}]}], "\[IndentingNewLine]", "]"}], ":=", RowBox[{"Module", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"xF", ",", "sS"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"xF", "[", "sS_", "]"}], ":=", RowBox[{"StringTake", "[", RowBox[{ RowBox[{"\"\<0\>\"", "<>", RowBox[{"ToString", "[", "sS", "]"}]}], ",", RowBox[{"-", "2"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"StringJoin", "[", "\[IndentingNewLine]", RowBox[{ "\"\\"", ",", " ", RowBox[{"(*", " ", RowBox[{"Main", " ", "call"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"\"\\"", "<>", "sSymbol"}], ",", RowBox[{"(*", " ", RowBox[{"Symbol", " ", "string"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"\"\<&a=\>\"", "<>", RowBox[{"xF", "[", RowBox[{"iStartMonth", "-", "1"}], "]"}]}], ",", " ", RowBox[{"(*", " ", RowBox[{ RowBox[{"Start", " ", "month"}], " ", "-", " ", "1"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"\"\<&b=\>\"", "<>", RowBox[{"ToString", "[", "iStartDay", "]"}]}], ",", RowBox[{"(*", " ", RowBox[{"Start", " ", "day"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"\"\<&c=\>\"", "<>", RowBox[{"ToString", "[", "iStartYear", "]"}]}], ",", RowBox[{"(*", " ", RowBox[{"Start", " ", "year"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"\"\<&d=\>\"", "<>", RowBox[{"xF", "[", RowBox[{"iEndMonth", "-", "1"}], "]"}]}], ",", RowBox[{"(*", " ", RowBox[{ RowBox[{"End", " ", "month"}], " ", "-", " ", "1"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"\"\<&e=\>\"", "<>", RowBox[{"ToString", "[", "iEndDay", "]"}]}], ",", RowBox[{"(*", " ", RowBox[{"End", " ", "day"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"\"\<&f=\>\"", "<>", RowBox[{"ToString", "[", "iEndYear", "]"}]}], ",", RowBox[{"(*", " ", RowBox[{"End", " ", "year"}], " ", "*)"}], "\[IndentingNewLine]", "\"\<&g=d\>\"", ",", RowBox[{"(*", " ", RowBox[{"Frequency", ":", " ", "daily"}], " ", "*)"}], "\[IndentingNewLine]", "\"\<&ignore=.csv\>\""}], "\[IndentingNewLine]", "]"}]}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input"], Cell["For example,", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"xYahooFinanceHistoryURL", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"2006", ",", "1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"2006", ",", "1", ",", "31"}], "}"}]}], "]"}]], "Input"], Cell[BoxData["\<\"http://ichart.finance.yahoo.com/table.csv?s=IBM&a=00&b=1&c=\ 2006&d=00&e=31&f=2006&g=d&ignore=.csv\"\>"], "Output", CellChangeTimes->{3.397872712922475*^9, 3.397874639906231*^9, 3.397875339335824*^9, 3.39926016546933*^9, 3.399260815158061*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Building a Quote URL", "Subsection"], Cell["\<\ Given a ticker symbol, this function returns the URL that must be passed to \ Yahoo!Finance into order to download the current quote.The syntax of the CGI \ call in the URL was inferred by experimenting with Yahoo!Finance. It appears \ to work but there is no guarantee that Yahoo!Finance won't change this \ sometime in the future.\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xYahooFinanceQuoteURL", "[", "sSymbol_String", "]"}], ":=", RowBox[{"Module", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", "}"}], ",", "\[IndentingNewLine]", RowBox[{"StringJoin", "[", "\[IndentingNewLine]", RowBox[{"\"\\"", ",", " ", RowBox[{"(*", " ", RowBox[{"Main", " ", "call"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"\"\\"", "<>", "sSymbol"}], ",", RowBox[{"(*", " ", RowBox[{"Symbol", " ", "string"}], " ", "*)"}], "\[IndentingNewLine]", "\"\<&f=sl1d1t1c1ohgv\>\"", ",", RowBox[{"(*", " ", "Fields", " ", "*)"}], "\[IndentingNewLine]", "\"\<&e=.csv\>\""}], RowBox[{"(*", " ", RowBox[{"Frequency", ":", " ", "daily"}], " ", "*)"}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input"], Cell["For example,", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"xYahooFinanceQuoteURL", "[", "\"\\"", "]"}]], "Input"], Cell[BoxData["\<\"http://finance.yahoo.com/d/quote_csv?s=IBM&f=sl1d1t1c1ohgv&\ e=.csv\"\>"], "Output", CellChangeTimes->{3.397872732535492*^9, 3.397874639972413*^9, 3.397875339401826*^9, 3.399260170569213*^9, 3.39926081521385*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Import", "[", RowBox[{ RowBox[{"xYahooFinanceQuoteURL", "[", "\"\\"", "]"}], ",", "\"\\""}], "]"}]], "Input", CellChangeTimes->{{3.3992602943252163`*^9, 3.399260301562045*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"{", RowBox[{"\<\"IBM\"\>", ",", "116.67`", ",", "\<\"9/19/2007\"\>", ",", "\<\"4:01pm\"\>", ",", "0.04`", ",", "116.9`", ",", "117.19`", ",", "115.78`", ",", "10311134"}], "}"}], "}"}]], "Output", CellChangeTimes->{3.399260302387558*^9, 3.399260815343425*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Downloading, reading in and processing history data.", "Subsection"], Cell["\<\ This function uses the foundations set up above to download the history data \ for a given ticker between two dates.\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xGetYahooFinanceHistoryData", "[", RowBox[{"sSymbol_String", ",", "viStart_", ",", "viEnd_"}], "]"}], ":=", RowBox[{"Module", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"vvsBuffer", ",", "vvuData", ",", "vsFields"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"vvsBuffer", "=", RowBox[{"Import", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"xYahooFinanceHistoryURL", "[", RowBox[{"sSymbol", ",", "viStart", ",", "viEnd"}], "]"}], ",", "\[IndentingNewLine]", "\"\\""}], "\[IndentingNewLine]", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"vsFields", "=", RowBox[{"xRegularizeName", "/@", RowBox[{"First", "[", "vvsBuffer", "]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"vvuData", "=", RowBox[{"Rest", "[", "vvsBuffer", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"vvuData", "\[LeftDoubleBracket]", RowBox[{"All", ",", "1"}], "\[RightDoubleBracket]"}], "=", RowBox[{"xYahooDateToMathematicaDate", "/@", RowBox[{"vvuData", "\[LeftDoubleBracket]", RowBox[{"All", ",", "1"}], "\[RightDoubleBracket]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"vvuData", "=", RowBox[{"Sort", "[", RowBox[{"vvuData", ",", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"First", "[", "#1", "]"}], ".", RowBox[{"{", RowBox[{"10000", ",", "100", ",", "1"}], "}"}]}], ")"}], "<", RowBox[{"(", RowBox[{ RowBox[{"First", "[", "#2", "]"}], ".", RowBox[{"{", RowBox[{"10000", ",", "100", ",", "1"}], "}"}]}], ")"}]}], "&"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"sSymbol", ",", "viStart", ",", "viEnd"}], "}"}], ",", "vsFields", ",", "vvuData"}], "}"}]}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.3992601259970617`*^9, 3.399260135358403*^9}}], Cell["The function returns a 3-vector:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"vaHistory", "=", RowBox[{"xGetYahooFinanceHistoryData", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"2006", ",", "1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"2006", ",", "1", ",", "7"}], "}"}]}], "]"}]}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\<\"IBM\"\>", ",", RowBox[{"{", RowBox[{"2006", ",", "1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"2006", ",", "1", ",", "7"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{"\<\"Date\"\>", ",", "\<\"Open\"\>", ",", "\<\"High\"\>", ",", "\<\"Low\"\>", ",", "\<\"Close\"\>", ",", "\<\"Volume\"\>", ",", "\<\"AdjClose\"\>"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"2006", ",", "1", ",", "3"}], "}"}], ",", "82.45`", ",", "82.55`", ",", "80.81`", ",", "82.06`", ",", "11715100", ",", "80.13`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"2006", ",", "1", ",", "4"}], "}"}], ",", "82.2`", ",", "82.5`", ",", "81.33`", ",", "81.95`", ",", "9832800", ",", "80.03`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"2006", ",", "1", ",", "5"}], "}"}], ",", "81.4`", ",", "82.9`", ",", "81.25`", ",", "82.5`", ",", "7213400", ",", "80.56`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"2006", ",", "1", ",", "6"}], "}"}], ",", "83.95`", ",", "85.03`", ",", "83.41`", ",", "84.95`", ",", "8196900", ",", "82.96`"}], "}"}]}], "}"}]}], "}"}]], "Output", CellChangeTimes->{ 3.3978727415217943`*^9, 3.397874640216304*^9, 3.3978753396563873`*^9, { 3.399260177749659*^9, 3.3992601817751637`*^9}, 3.399260815518145*^9}] }, Open ]], Cell["The first element recapitulates the call.", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"vaHistory", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"\<\"IBM\"\>", ",", RowBox[{"{", RowBox[{"2006", ",", "1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"2006", ",", "1", ",", "7"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.397872751380374*^9, 3.397874640266864*^9, 3.397875339696651*^9, 3.39926018934639*^9, 3.3992605203584747`*^9, 3.3992608155581713`*^9}] }, Open ]], Cell["\<\ The second lists the names of the individual data elements returned. The \ AdjClose is pseudo-price that can be used in total return calculations. See \ the Yahoo!Finance website for more information.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"vaHistory", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"\<\"Date\"\>", ",", "\<\"Open\"\>", ",", "\<\"High\"\>", ",", "\<\"Low\"\>", ",", "\<\"Close\"\>", ",", "\<\"Volume\"\>", ",", "\<\"AdjClose\"\>"}], "}"}]], "Output", CellChangeTimes->{3.397872756946726*^9, 3.3978746403175077`*^9, 3.397875339746852*^9, 3.399260198977337*^9, 3.3992605221150503`*^9, 3.399260815609447*^9}] }, Open ]], Cell[TextData[{ "The last element contains a matrix, each row of which is an observation for \ each date returned. Note if there are no valid data for a date in the range \ given then that date is simply left out. Weekends and holidays are such \ dates. Also, if your date range includes dates earlier than there is \ available history data for, or dates which occur in the future those invalid \ dates are also simply left out. Thus, only ", StyleBox["available trading days", FontSlant->"Italic"], " are returned. \n\nIf anyone can write a function that returns actual data \ for future dates, please see me immediately.\n\nThe structure of the data \ matrix is most easily seen in the following formatted table." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"Print", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"\"\\"", "<>", " ", RowBox[{"vaHistory", "\[LeftDoubleBracket]", RowBox[{"1", ",", "1"}], "\[RightDoubleBracket]"}], "<>", "\"\< = \>\""}], ",", "\[IndentingNewLine]", RowBox[{"TableForm", "[", RowBox[{ RowBox[{ "vaHistory", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], ",", RowBox[{"TableHeadings", "\[Rule]", RowBox[{"{", RowBox[{"None", ",", RowBox[{ "vaHistory", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "}"}]}]}], "]"}]}], "\[IndentingNewLine]", "]"}], ";"}]], "Input"], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"Data for IBM = \"\>", "\[InvisibleSpace]", InterpretationBox[GridBox[{ {"\<\"Date\"\>", "\<\"Open\"\>", "\<\"High\"\>", "\<\"Low\"\>", \ "\<\"Close\"\>", "\<\"Volume\"\>", "\<\"AdjClose\"\>"}, {GridBox[{ {"2006"}, {"1"}, {"3"} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.1]}, Offset[0.2]}, "RowsIndexed" -> {}}], "82.45`", "82.55`", "80.81`", "82.06`", "11715100", "80.13`"}, {GridBox[{ {"2006"}, {"1"}, {"4"} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.1]}, Offset[0.2]}, "RowsIndexed" -> {}}], "82.2`", "82.5`", "81.33`", "81.95`", "9832800", "80.03`"}, {GridBox[{ {"2006"}, {"1"}, {"5"} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.1]}, Offset[0.2]}, "RowsIndexed" -> {}}], "81.4`", "82.9`", "81.25`", "82.5`", "7213400", "80.56`"}, {GridBox[{ {"2006"}, {"1"}, {"6"} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.1]}, Offset[0.2]}, "RowsIndexed" -> {}}], "83.95`", "85.03`", "83.41`", "84.95`", "8196900", "82.96`"} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[2.0999999999999996`]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], TableForm[{{{2006, 1, 3}, 82.45, 82.55, 80.81, 82.06, 11715100, 80.13}, {{ 2006, 1, 4}, 82.2, 82.5, 81.33, 81.95, 9832800, 80.03}, {{2006, 1, 5}, 81.4, 82.9, 81.25, 82.5, 7213400, 80.56}, {{2006, 1, 6}, 83.95, 85.03, 83.41, 84.95, 8196900, 82.96}}, TableHeadings -> { None, {"Date", "Open", "High", "Low", "Close", "Volume", "AdjClose"}}]]}], SequenceForm["Data for IBM = ", TableForm[{{{2006, 1, 3}, 82.45, 82.55, 80.81, 82.06, 11715100, 80.13}, {{ 2006, 1, 4}, 82.2, 82.5, 81.33, 81.95, 9832800, 80.03}, {{2006, 1, 5}, 81.4, 82.9, 81.25, 82.5, 7213400, 80.56}, {{2006, 1, 6}, 83.95, 85.03, 83.41, 84.95, 8196900, 82.96}}, TableHeadings -> { None, {"Date", "Open", "High", "Low", "Close", "Volume", "AdjClose"}}]], Editable->False]], "Print", CellChangeTimes->{3.39787279327698*^9, 3.397874640564825*^9, 3.3978753397985353`*^9, 3.399260203353717*^9, 3.3992605245249357`*^9, 3.399260815661997*^9}] }, Open ]], Cell["\<\ Here's a more useful example. We'll plot the adjusted price (the value of a \ Microsoft adjusted for splits and assuming that dividends had been reinvested \ in the stock) from 1990 to \"today\", {2007, 8, 31}. First, we need to get \ the data.\ \>", "Text", CellChangeTimes->{{3.397874744559922*^9, 3.397874753609164*^9}, { 3.397875373577713*^9, 3.397875383988138*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"vaMSFT", "=", RowBox[{"xGetYahooFinanceHistoryData", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"1990", ",", "1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"2007", ",", "8", ",", "31"}], "}"}]}], "]"}]}], ";"}]], "Input",\ CellChangeTimes->{{3.39787538629097*^9, 3.397875393902051*^9}}], Cell["We can use DateListPlot to plot the adjusted price.", "Text", CellChangeTimes->{{3.39787285447042*^9, 3.397872874219276*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"DateListPlot", "[", RowBox[{ RowBox[{"Transpose", "[", RowBox[{"{", RowBox[{ RowBox[{"vaMSFT", "\[LeftDoubleBracket]", RowBox[{"3", ",", "All", ",", "1"}], "\[RightDoubleBracket]"}], ",", RowBox[{"vaMSFT", "\[LeftDoubleBracket]", RowBox[{"3", ",", "All", ",", "7"}], "\[RightDoubleBracket]"}]}], "}"}], "]"}], ",", RowBox[{"Joined", "\[Rule]", "True"}], ",", RowBox[{"Frame", "\[Rule]", "True"}], ",", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\"", ",", RowBox[{"Style", "[", RowBox[{"\"\\"", ",", RowBox[{"FontSize", "\[Rule]", "16"}]}], "]"}], ",", "\"\<\>\""}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "]"}]], "Input", CellChangeTimes->{{3.3978728291984*^9, 3.397872836800742*^9}}], Cell[BoxData[ GraphicsBox[{{}, {}, {Hue[0.67, 0.6, 0.6], LineBox[CompressedData[" 1:eJxUXXW0U8fXTWkpWgjuENwhuENwh+AOwR2COwR3CC5FgjsEdwjucNECRYI9 XtHgDt/7nXP3t7L5p2uvmTtzZs8+MnNvXtO36Vm3fTSLxdIxgcXyv/9G/fPX zP6k7Mdszacf/RAsE4WDAxhbl0fhhQv+9+/B/7DjPLcb1XI8KVvlweDEmytL u6UfY/vSKLzSXSr2Pyukv+tMFK67J+3Y53UEe98xtvXOSdi5KCfN5zmZk8bz h6Lwizr/e0DmC6bMRdi9IBfZ4zuWi+1/ye2W5LnZ/nKMAwHGoWeMbUnyEF/O MnnIHk9nxtZIxo6Eedn+knlpPF8Hbje8jF3x7YS9xRgH2jIOTY3CUWREMfJQ 7N/DOOjK96RsAfn3SOydHIX/x767lLQ7djJ2389Hz1ta5n9SVukRbJ+Qn9pd 27jde4dx4M8CT8r+b/TY/8j8zrGMPVsY+29F4SjxRC1QcPD3gk/KZv/fdmd7 LPbnYezbGIWH/G+6wYKNG9xu+a0QtdtzRuF0MsETsb9BFD72v+UcFRy6GoWl e+II4fNnFO4lBEm7M1thwp66hWk8/9AofOH8//7JfI5v3O7OXISe99UuQu3G IMaWlYy9GYoSDtQoSvaG+jO2LStK63OeYxysWoywtW8U7iD/5HnHkigs8oj9 VOw/zdjeqzhh199RWKbfLNh7gtsDr6OwhIc9am+KEjSfZz5j/9EStJ7gC8bW ZCXJfkfZksSvcbgk9bc84/72xKWo3VW6FM3v7RSFRU7NxX7b01KIb5HCZ4LS tF5PCcb+9qUR76R/cHppxC/B7nhlCPuKlqH+RhvGlqmM7bvLIB78J/wWcsA/ nwm/rRzw/+di/yQH9PlC7N/hgJ5eiv33HPAfaXeMLwv/EezeWpae9/1bFv4r 4xvRy1F/15hyNL53cznqH7jJOBStPNubuzy1+zeUp/GD18uTPVZLBZrPkaMC tbvrM7ZcrUDj2X8wdmWtCD2p/XUq0viBIRWZz68ViT9Ppko0nr9WJXo+OJCx dUUl5jd9ZRrPqF6Z+LH7KiNeCnadrcx8VqlCz9v6MHYurkLzeU5VofX631SB vyif7qrwl1fC58Kq1N93vCqNZ7yqSuuzpKhG9nnnVaP1BI5UY/0+53Zb0urI V9LudDAOHqpO/mD9rzryu2BHohqE3aVqsP91jMIW+af+FVGD45u1JsUDb/Ga 1D/Qrib5Z2gaY89ftQj7i9SieBJszdg6pRbN59hVi+wxCtbmfNGqNue7iYxd 22tTfvXerU3x0NbcSeM7xzlpfR4/t/tvOymeB/+oQ/b6NtWheGj8U4fiqyVa XY7HuepSPA6sr0vrC11jbPvFzzuz1yPsqVeP7LNeqUf2O77XI3vdWeqTvT5n fXreGFyf9fClPtnrzdiA811NxqEBDWj9tuUNiF+/rSHqRdFnsFpD0qe1H2PH 0oakF/eZhpwvqjSi/vbejWg+16JGtD7vyUbMf6gR89uzMdc/CxpTveM/xu3B l42JX2vyJszv3CZkvxFgbHnehO1P0pTW5yrTlNYTOtiUxrdFNuV8nbAZYU/J Zsx/h2Y0vuNJM87X8ZvT875ijI22zWk8y7TmNJ43bguKV4HCLShehVwtKP7Z JnO7cyfjYIGW1N/asiW1Oya0pPl8dxjbm7Wi511jW1G89W5phXpe7b3F7aHf XZR/PKNclF/8GxkHb7goH1p/a03YkbM157t1jC3XWtN89p+MXdnaEPbWbUP5 xna5Dee/b21ofk/mtpyva7elfBYcxNj9mfsbNdoRtgxgbF/GOJCuPWFbX8bO JYw9p9tzvVO5A/PXqwOt1/13B1qv70QHyufGa8auHh25XpvfkdoDRzvCn1/L /r/oCL2HxP5knTCfYP+cTvAfwcHDjK3PGDsSd8b8b8T+0p2p3XKwM+KjtNuf MnYl6AJ9vxX7S3SBvgUH2neBngU7HzP2xOsKfb8T+4t2xXrei/1tukJf0m6d 2hXxRrAvTjfwL9go1I3aLa5u4EvGs0/qRvO5dnB/W4vuNJ9zPGPP1u7IL2rv v92xP4IdTXtQf/eYHtTu29yD7DFu9mB7f+9J6/eO7Il4JziwoSf264Po4Tq3 2yxuGs+Zw032BNe6iX/rVTftn+OHm9bnztqL9tNXpxfyqWC70YvGc31l7M3U m3CgVm/ES9FPaGBv6F2w51Nv5Efp70/fh/gKVu8D/xNs7d+H+DLS9iU+LFX7 ov4Uvux9+kK/gl2LGXtP9YX+lc9K/Yhvp7sftXsW9iN7/Me5f/BVP7LH3b0/ zeeb15/sM470p+ctL/rTfPakA1gPsweQvkKHGNv+G8B6TjSQ9O8pxdh6YCDt tyNiIO2f2zqI+vuKDyK9GO243fVoEM3v/WswtQeKDKb2UOvBtJ+2Kdzujz2E 9VxwCNvfagjbP3EI27+dsSX/UML25kOJP9e4ocS31z8U+UD5vz2U9TB6GGH/ JsbBfxhbow2n8Xye4ayH9cNR36kernO7/ddw0osr+wgaP7SGse0KY+f3EfS8 J4uHsN/pIb06LjF2f+H+vowjKf4YNUfS/lgGjiR+vR9Hcr6wjSL/D1UbRc/b +o2i551LGQfTjKb9slYZzfG592iKd76Tozm/VRxDenb1HMP2LhjD9h4bQ/oJ veT+nm5jKT/5546l9QQDY6m/9flYmt+RZBy1G7PGMZ+HxrF+I8cRf66E4zke lxzP/rV/PMVX55PxpEdP/Ams52ITqD3YlrH74QTU36rnuBNZz4Unkn4srSeC z49i/+SJWP8n4TfWJOhJcKjAJPi/YFtLxs4Jk8CPYM+2SeBPsDXfZPAh8zma MXaPnQw+Pov9WxgbtyZDX4JdjacQ9o6aAn4FBzZye+jGFOQLwbbfplJ7cN1U Wq/12lRan+PnVLY32zTiy7KGsf3yNOhB+ru+TSM+vJmn0/yB2tNpfudFxp7P 04kPfwYvrTdYw4v9F2wdwNj3gfsb6WYgfnwR+6vNgN6k3d53BuKftLuWcP9Q 6pnQl2BbZcbOXjOhTxnP8/dMGt9/YiaN56gwi55395hF8/vmMzaOzoKe1f6X jL1dZyPefBV+58zGeV9w6PBs1ENq/7PZNL4z8RwaLzhzDvW3HpxD4zmezkE9 pfYnmEvYV2IujW/fx+2ux3NpfG+8edCb2l90HvSk9reZh3pQsOfBPHreH2c+ 9Q8Wmg///Cb2u+ZDr4Idk7jdiLkA8VOwpcAC+M93sb/FAuyvYNf4BdCzYO/W BTS+zb4QehbsbLoQ/iDYM2Yh/E2wfzP3D97k/u5Gf5O9vpF/E1/GBm63WxbR eIHhi8j+0NpF0Kdg29VF0OcPsfcHt3uyLsb+Sbt19WLq7zAWU3/318XwR8G+ TEuov1GLsesCY++nJTReIP1S+Iu0h6oztvVfCr0J9r9fCr38FD7T+uAfgh19 fNCLYPdiH/bjl+x/6mWE7ZWWgU/B3oXLMJ7F8T/7ji+Dfwh2ll+OfCPY0305 1vfb/7B/3nKMJzh4ZDniVbT/YeuL5dCjtPu6rMD40m7MXoH5BVsOr8B6BNv/ 43ZXopWIp4JDM1aCLxnfdmAl9CvYGbGS5vdYVxH2F18FPQh27F0F/Ql2P2Ls +2s19TeKrEa8EWxps5r48QZX03yB2Gvo+VDBNcSXrdUaWp9z4hrEB+U3xlp6 3pp/La3f0Xwt9XeP43affy38TfbT1WQdYe/oddCb6mHTOuyH4NA/6xAvVA8N 11N/v2c94o3g4Pr18H+19/p65vvXeuLPGLYBelU+1zK2X9lA63F93wD/Ub6z bKT12FZthP+pni9tJHs8XzaynjNuovGCNTexHs5vIr37Pm4ifRq2zbR/luqb aX/t/TaDP8GBd4xDabawHqpsoXZn7y2s50VbyF5rKj+tx1HRT3y4e/pZzwv8 iG/Sbhzz0367ym1lfrttpXgQmLuV9RHYSvPbnnN/f+dt1D84axvNbz20DXqS 9ToitxEflhnbEf+lv33/dhrf9WQ7je+Nv4P0GCi2A/ujetizA+Ornh/uQPyQ +OiPu5PiZbDwTuhHsLX1ToqfvvuMjVi7yD5LQcb2lrvIf1wTdpF/hf7cTePZ 8jF2NttN8dozdjfFe/+W3WSvI88e6u9uvIfm843aw3rYyNjyzx7mc8RewqF1 e2k9tmt72f9+7iX9BYfuI3+yrtlH/u64zNj9bR/Hs8z7aTz7yv0c3y7uJ3u8 n/fT/gcyHKD8GapxgNo95w6QPvwfDpA+gukOYj553lqNsaPvQeLfeHuQ9GRJ c4ja7ZUP0fOuXocQz7We+PsQ1XO2lIepv7PCYerv6cHt/vnc7i4boHrI1zXA 9c2cANUnlkCA6hP7M34+0OkIjR+aeYTqF9vBI9C/2vv0CNnnSXAU+lQ+vUeR H7Q+23eU653HR2k+X7xjNJ9R9Bjtl2v3MehF658Hx2g/AnGOEw4VOk79ba7j HB/uHSd/C8Y8Qdha4ATZ62hxgtbvHn+C6jnLnycJ2+0nqb+r6Ulan3cM9w9s 5nZn7lO0P55GjP0jTxG/wQ2nmP8b3N9X/zTtvzH8NPW3rDtN9tqvniY+XD9O I38pv0POELatZuw0znB8+3qG641MZykeui+cpXbfp7OUD4z05yg+WGqco3zi PXuO4kvg/TmqF0Jpz1O8sVU9T+3OPuep/gy+OU/zWVNfoHjqqHSB87P7AuVP 38ILnO9SXKR46yp/ke3vfpHsC8y7SPaEjnB/j+MSrdff5RLVY8HZl7h+O3yJ 6g/Hf9zf6GhQ/WmZaVA9ZD9g0POuCIPOA17rZaqnbNMvw17Bzr2MPY8uY72/ i/1/XSEcLHIF+Uf6u3dxuy94hcYzYl/Ffgi2FLpK/e2trtJ4gbtXsV/SHopx jZ635WfsbH4NfEl/z7hr4EOwNfp1anfkvU7t7ibXwecfYv9oxsam6+Bf+rty 3aDnvQ1v0HoCnhuId2r/+hvYDxnPdv0G6gPB/nr/0HqCw/6Bf6v9a/+BntTe 7//QeixDbpJ99lWMXZduQm9q75eb9Hwg4y3CzuW36HnP+VuIV6qHj7dofUHb bfiD2lv9NvxJ1uM7cxv+qXp4x+2WtP8ivqmeq/xLfLp6Mw6F/qX12FLdofOt s+Idms/Tk7Ej+V3q7y53l+3tdpfOB8bcu+Q/3jL3qH4OdL5Hz4dm3SM+bIfu 0fzOSMbBDveZvxn3ab2O/fdJD+4njH3xg+xP04I0nmtPkPTlfcg4EPcB+1th xp6dD6i///4D8u9grId0vrAWfEj76Wj5kPgx7jwk/i0xHpG99nyPaD5Xs0fE t3cs97f98ZjPc3keU7z0NH5M++cfxTi48THfpzR4QvnCGMHYsv4JxXf7tSeU DwJ1IyhfhoZGUL1uWxNB9jkvR1A893yLIHusg5/yfcTKpxTf3RcZ+z4/pfGN DJF0HnAti6Txveciaf7Ah0jiO5TuP9o/W7X/iH//6f9oP4NvGVvTPCO+HZUZ u3s94/N96BnZZ0/5nO43XBWek968PZ6TPwXmPyd7nclekB49ZV9QPPV3fUHx LTjnBeePwAvOb6Vfkv8ZnV5Su2XWS9T3queDL4mvUPtX1G7zvqL859z3ivp7 Hr+i9fnjvWb/msrYvZux78Fr2k8jToj4tBQOUT3i3RHieudeiOqRUMw3xL+t wBvaT2cLxsF/ub/1z7cUPxz2t7Red9O3tF7fmLecH35/x/Et9zvSm7fRO5ov MPId3wdteEf2eXK8J73467/nfDz8PenDuu495XPHVW436nyg/GgZ+oH0Yl/9 gfK/y/hA43m/fqDxnCs+Yv3S7rnwEfZq/fDpI9YjOJj+E43n9n2ifO47+4ns M95/In+wpPtM2F71M+WDwKnPXN+8+Uz22lJ/ofU6K32h8TzuLxwfXn8h/TtS fCV9uMt/pXZf96+0P8Y8xq6k38i/vI5vpJdAl280fmj2N9Kb7TDjYMfvrN+Z 37leP/Cd/Msd8Z3isaX9D4rH9uk/OB7v/UHxz/voB99v//WTz0NTfvJ5Y9dP 8ld/8Cedf4Kxf9H9mLUQY9/2X3yeu/uL7mcsMS0R4e32/FE4/D6oeRQOP9/f jsJh53lb9N8iws/7zryMPU2isK5fz5+jo3D4/Vq0aNTfnSsKh53HfQ2jRYTf dxieaGSPZUMUDjvverP/HhF+XgzUi8Lh923DGNvW/k7jOa9E4bD7vaDzD+pv HRKFw87PjlV/0PPuS3+Qvb4vf0SE32fYB0Yn/lzLo7P956NH0PuEj4xDtj8j 6H7tzJ/Eb/BdFA67D7CmjUHrcVSJQfwYJ7nd8iYG2WNPFZPaXRVj0vq9PRnb XsUk+5zJY1G7p1ws4tPfLQqH6T04NwqH1WPuJLEjwvOTr0wUDq9/Okfh8Hw3 m/vbD0XhsPvQQMk4EeH+GeoQh563zYgTEe7vzv1xIsL91/MkTkS4/1vbxSV7 HNPiUn/3nrg0vu9hXLLHiPtXRPj7Atfkv6i/d+dfxEfgPvcPxYoXQfVnwXgR FC+2MQ7e4f7WGPEjwutbR7745P/uZvFpfsvt+DS//Q8rtbvyWGk/vY2tpJ/A KG53/paAsCdnAopH/gYJIsLjY3BEFA6rl63rExCfvmwJab1G3YSkB8uwhGz/ moRs/2XGodqJOF4MjsJh8dW5MhHZ7/+ciPhzDEhMfLuXJabxfecS03qMD4lJ nxZbkojw+sa7JAnpM3A6SUR4vRN6myQiPL/Y0iQl/pyVkxJfwRPcbg0lJfsc KZORPtwVkrH9PZIR3/aXyWh8V7LkxL+3bHKaL9A1Oe2HJ3EK1m/pFMRHsFMK 3v9ZKWg8x0F+3iiRkvXbISXb601J9rn2pST/9j5OSfza2qai/XBOTUXtnt2M /Q8YB+Okpufdk1LTfL4djI17qTm+xUoTEV6v2AswDmxNw3r4Nw3pxfZnWopP TjtjT9O01N96i7Hj93SE3bnTUfzzNUrH9o9MR/vjsthov705bOQ/gfo20lto uI3j2zru78+anvwtWCc9PW8dmp76O1YzdhvpSR/2QRloPteKDGzvhQw0fuAT tzv7ZyQ9eXwZaf/8ZzOynt9npOet6TIR9i3ORPwZp7jd8paxPXVmzieVMpO/ hI5npv2yvc7M+S5FFto/T3nG/u6MHS+y0PrcSbOynh1ZSZ9Gl6wR4fW3ZU7W CDrfJcoWEX5eC5TKRnyGOmbj+DYzG80XLJ6d83P77DS+Y3r2CDqP7s0eQef/ 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 Ya+gh9zC55pX0Jtg/+VX6J9X7P32CuMLtmZ5Df3mET5XvqbxjIuvoQ9pt3x5 Df4E2zOGoC/p76oZovlD50Lwf8G2jyHoU7DT9gb+JeN5qr2h8f1938AewY53 b+APgt1p3qI+Ufsrv4X/CTZ6vQV/av+it4jXMr835TvEI8GBCu9o/aEe76BH tX/BO8Rvtf/YO+hF9i9Y9j3sEWzt9h72SH/H3PfYb7U/8B7xQNp9z96jnhBs 7/wB+Vj5nfUB+VvG9x78gPWpnp9+IH2HEnyEfgX7931EPpLxgo8/0vjW+J+I D0exT2SPsfsT4pNgy8NP8Ee1N+5n+JPqufBnzK98uz4jviif9z9jP1TPsb4g PqieC3wBP2p/iy/Yf+V7/BfoSePDn18xvmCf/SvyiWCj6VfkS8GWsV8RHwTb t3yFnpXP3N8Q35TPRt+gZ8G2Ud9ov50bv5G9nhvfaL+sDb4TP44R34l/97rv iCeqh6uMjR/c3zX0B/Zb+V3NOGD8QLxSPX/9QfbaMv8kPv0rfmK/ld8LP8mf rZ9/0niODL9Mvr8q/zV+Ib4ov+d+QU8a7z78In5d6SxPzf3ReFc1Cuv+abzr E4VVb6qPt1FY/Un5Tf3b0/D84K8UhXU+td8dhcP8wfp3FFb/VX2kiPY0PJ8Y 5aNwmB4tPaKwrl/tnx+NnncdjfY0XG8hx+8YT/ntGoU1P6k+5kRhrT/U/sNR WPnXeP3f70/D44Gj0x9Pw/XrnhmFw/Vx4I+n4fHQkiD6U9PfBHunAx8UHNgb hTVeCQ49io71CrbF+xPzC3YWjcJaLwgO7voTfGr+eBCFVd8an+PEoPHdhWKY /feova2AVZ/2ezFMflOonmPGpP7e/DGfhusr0Dwm6SU0LgqrnrSeiB7raXh9 4c8by+S7udZDTWKZ6+2q9drmKBxe/+SK/TQ8v1saxcb6dP9Hxjb3f4nq9XoU 1vyp+10/DvZX9To8DrV71sZ5Gp7//VeicFj9Efweh+x3D4lL/X2r4j4Nj+fG pbg0vuVr3Kfh8cme6a+n4fExdP4v0pft019Pw/OzM308rE/jb/V4T8PzgfVs PJOvGrrf7+NhftGDO2188CXYVyU+7Bds9I6P9Qp2vYlvjjfFLnymssK/BQcq Wk19HxUc6mk1+V0k2LbQivUJ9idPgP0UHCyXAPblE/u7J4CepN0xLwH0JNh9 JIGp92uC7V0SQl+CXbMTmuONVXsPJST7A5EJ4S+CnR0TPTXrQZnfMyMR+gv2 709k2p8lv9j7JJE5fkXBVmtic72pBfumJcb65HljTxTWekXaLY8Sm/zPk3b7 X0nwvGBXkSTYD8GhnUlMfqMJtgWTwD8EO2Mnhd7U/oJJwYfa3zIp4qNgx92k 4EewO0Yyc748gn35kpn+PVDtb5aM+lvGJUM8Fez9Iznik+BAnuTEV6hxcuyn YNvo5PA/wc5Nyc3xTyi/OVOYej6r/DZMYeoxfQGx35PC5LO2YPf6FCY/owT7 rqUw/eOeYHu9lIhngl3DUpr2rZbxvWtSgl9pD1xOCT0K9gxOZeojJP39K1NB z2rvxVSmf46X/tYvqbC/am/G1ObzfsHGstSwp6DweT419CTY/jE11ltI7LWl MZ+3S7u3Whoaz3YmDfxdsPNdGtNfCqn9adKa9jQS7K+cFvlIcLBXWuyX8hlK i/yoek6ZztRTQLBRIR3ik+q5Zzr0Vz0vAK4j7YFkNsRr1UNZG/ZP9dDNBn9U Pcy10X54Ajb4h/JbJr0Zf9tKf0fn9Kb+hwl2z0pP8/sOpid7jafpEU91/70Z oBfV774MJv+t1d7HGRAf1N74GVFfqB6mZoQe5Png7owcHx4CR1d742Yi+92F M5n+10P53JmJ+LHfzwT/FeyKlZns8xbIbPpXceW7RWZav/NOZtPeloI9f2Yh ffjtwP1UD02zgE/leyxwKdGf7/esiA+CjdxZoX/Rq6VxVqynsNg/KivqIdXz xqywT9pDObIhvgu2Nchm5pdsRcT+Edlgv2DPumyIN9LfUTe7GS9iS7t7aHZz /ASCfauzI14JNozsqF8EW75lh38VFT4H5cD+FhM+V+TA/kp76EIOU6+Jpd32 mbEzQ05zvQUEB305oX/B1nM5oWcZz/EB/d8JdqfLBX8U7KuaC3wJtp/ORf1d b3OZ+/ND1uNNnRvxTXCgUm7sn9rvBh6mfL7ObfKZU7A/RR5zPfWF32D5PCa/ 1QRbe+RB/aD8z8+DekSwkTQv7a+lbF6sV/XQNa9pfx/Brjl5oUfB3sN54Z+q h9J2U0+vBDs72ZEv1P6ZdtMflqn9B+xmPIwr6w1G2FHfqz7a50N8Vn1Mz0f7 YezNR89bHucz/a+J9LfHyw/+xJ7AlPzIt+IPoV35MZ/o3fbg//sLdsYpgPUK 9hQqgP2S5x33CiD/Sbs7ZkFz/luCffkLkr8ZzQsSX65/C2I85TN6IehJ9ZC3 EPQtONSkEPmrbUwh5HvB/miFwYf0D+YqDH0ItjYqjPlVzyOBxyvfGwrDn5XP HEWwPuWzfhHYo3oeXgTzq57XFoF+le8rRUy+HaqHOkWhP+VzSFHUF8KnfxVw asHBS0U5vn0tivik8W1gMehX+V1eDPWs5usLxcz1dJJ2+6diWK/yn7446Tu0 tDj8X/k9Wxz1m+rhPdoD0u5JWwL1jOq5Sgkzfu1TfztVAvW5YPebEjS/L1VJ 6Fv9sWJJnM/VH90lyV+9r0pifcpv8lKIl2p/uVKoh9X+7qXIHue8Uji/qT6S lKb4Y3WURrwS7OhSGs+rPmaXxv6qPx4qTeu3lyqD/Rbs6ljG5D9S9TGjDPhW fe8vA35U30/KkD497RzIXxKP/dMcqDeKi/17HFivYMdfZZF/Sgifk8siv0i7 ZVdZcz83SLs9WNbkP5lgV+xyOD9Lf2/Bcqj/pN22vRzObyWFz7vAsQV7YpQ3 64Hpgv35ykPPgoPNyiPeCHbfLo96T8b3/VEB9b20G3kqoN4SbGlSAflQsH10 BfBZSvj8rSL4KS185qyI56Xd1rAizivS7vRURL4QbM1eCfFFsKNeJdRDgt3D KsH/ZDzfmkpYj2CXszLqYenvHVwZ9VEZsW9lZcQXh9h3sTLysWDbl8rmeL8L 9g+ogvgizweXVUE9pvaerwJ9qr0fq9B63Laq8GcZz36mKvKPYNc7tLvKir1p qpnPP5P2QOVqpn62CnaerGbqp7r094SqIb6WE3tTVgdfgoMVqsO/BVt7Vgd/ gn0vq8N/BRvJasBfZHxLuRpm/6uC7d1qmPr+qfbPrWHqIbm0hxLXNP1njWBb mZrQs2Bn55rm+nKo/bNqgk/B/oM1TXtuy/juDrVo/T5vLXP8GIKNfbWQr2R/ LE/Qf4Zgb9vaOF/r/k+tjfil+7+7tplfG+j+P6yN+y7lO64T/iU4OMlp8llE sHWnE/FYxnfcd+L8Ktgdqw7qe7W/QB1T39NUD9vqoB5TPu/UgX5UD3/WNfku LThgr4v4pnw3rWs+n0b5vFXX5Huv8vl7PbNetaoectdDvpN2a+N6Jj/dpN0x qh7mVz1Y6pvrHSDYkrO+qb9zqocG9XGelHbXiPrm/MXKi/3r6pt6iinYlq0B 7i8FO+s2MNcTFOwZ2gD7Kdi/uoHpv5cEu2s3hH0VhM9BDaEvwcaKhjh/S3/L xYamfxSUdvvnhriPExzo34jmD/ka4byr9p5rhHpO1uf80Aj7JdiTrjHyj2Dr ksaIN8KP43Rjc75jgt1vG5vrGyfYl7oJ1qt8V2qC85ryeaKJqZeLgr2vmyA/ qh5SNEX+UT2Ub2ryPUH9r0dTii/+F02RjwQHkzZDPFY9l20G/xfs6NoM/qz+ OKeZqecngi2Jm8MfVQ+lm9P4rk7Nwb/qeWZzGj9woDn0p/5WogW1e9q3MPfT 0Hg8vQXWr/64twX4Vfsfo32W+lubltgfjRdTWiJ+qv27W5r8n1R/fNAS/qz+ GKcV+Z9tRyvq77zXiub3xHShHlR787sQ/1UPW13Yb9XDvy6cZ9Xe6K0Rr6Xd yNua+LQ0bU3x0HuzNa03EK0Nzv8a33K1IT3aGrUx59up8XhkG8Rj0VfwVxtT f7+J/q052prxYqi0O+q3JX26h7c1x0si2Le2LenZnrUd6hXVc512rOch7cz+ lWS+wKp2mE/98VI73B9rPBjYHv4rOLi8PeKd2nuhPepXwY5P7XEeFGz064D6 QPzf4gP+TePD2Q4UX1zvgXMI9qbtiPhbUfhc3BH5VrDzVEeKP543Hc31lJTn /ak64f5E7a/YyVxfFY1vxzthPcrnq07IJ4KN5J0xnsa38p1RXynf3TujnhMc eN7ZtNcmOJSkC+pBwTZHF9ovZ5cupp7qCfbM7oL7DsHWRF2pPnCU6kr5xt2x K+KjxrcZXVE/q573o38K1UPxbqi3VA/tukHvav+0bqTP0J5uNL/tUTfEB41v rbtjPtXz5O6od1Qfu7qjPpf9cATRv6hgd+wepBfLxB4mn7sF27f3IH257vag fOaN0RPnJdVzvp7Qs4zvud2T8o//DzeNH8zjpnxmbeJGftV8948b7wc03/3W y1y/U/Wcqxfys9rbsBfOF6pnTy/UP4JDP3vhvkCwLXtv4sNZrzfOi2r/sN7k n/41vU17eqq/ZekDf1c9O/uY7VsE+wb3gR7VH1f2MfXdVPm+BFxc+azZl/gO DOhL/IaW9YX/qf3n+6LeUPs/9iV/DvbtZ46XVfld2o/jxZl+5J/ud/0Q79T+ NP1xfy36si/qj+dVzyfR3kv1HOpP+xtIOcDMRw/V/goDqL7xHBtgzndE+X05 gPQVTDYQ9wGq53IDkV/V/m4DaT3Gs4H0vCXJIGq3lxlE8dXVeZDJ/0Llf9Yg U19erYcSDoY+tH4rOZjroQ6DsT+C/d7BVM8F9w2GfpXfYkPofOJrOwT2CDam DiH/t+wZwvnl4RDKRwHXUMQr5XfSUJrftnOoaf985TvWMMQL5XPCMMpHjm3D TH77qr13huF8pnr4czjqRfVH+3DoX/1ty3BTn+01f9waTvVm4PcRxHco9wjo S+1tPIL83X9jBO5LVM8WD/xb8o81p8eMF7kqi/0NPKh3qoj9Izw4fwq2/PTg /CbYnm0k3s8KdtUdCX+tKvYPHYn+gp2ZR4EfwZ7ao5BfBPsHob2g4OCKUeb4 GQRbL45CPSfz+WqMRnwXbPQfjfOL2rtsNOortffcaHM9I2W9rg/obwgO9RkD fQq2LRmD+C/YeXoM4mElsf/tGJz3pN2feiw97z4xFvcNau9rtN+V540U47A/ gi0VxuG+XLD36Dhz/ctlvwIvxpl8fhYcSjoe+V3ri7LjTX2k1Pqi63icv3X/ /xsPPWo8SzwB9abM5yg9wZx/sjzv7jTB1GNmaffNBD4h2J5gosn/acGuEhPN +YbL+r3tJ+J8J+2B6RNpvaG9ExHPZT5P0UmIv4L9bSZBz4KDUybhPKr27+b+ jgeTOL9NmmyuJ47WazsmUz513ZuM+kz9LeYUs320+tP4KRTPnFunIN9qPPh3 ihkfO2r8jT7V1O97jV95p5J/uzdPNfe/hcaDm1PN/byp8TfaNMRrtT/3NOhP 1mdvNM3MN3NUD9enmfp+o/n51zTUY5rfckxHvNP8Vp+xZ/h00o/1x3TkF613 snpx3lA91PHCv1QPQ7zm+p/KfhurvHjfqf6VaQbuX1XPtWZgv1QPA2fgedXD 8hmIT4JtF2aYfO4Q7K8+k/JZsN9MM369KCf2+2Yivgh2nJ3J54/3M3H+1PzW Zxbuk6TdvngWxtPz6KlZdN7yvpll8vNaz0+pZuM8LPc3zoWz6b7Hc/z/sdab r2bT+TSYfA740vPckTnIL3qf+nwO/EXuKy1J58IfBNsdc/G+TO8zu6D9kuBQ 5FysT+yzJZoH/5F2Z6l5uN+U+0dPR7SnFuyfMQ/3W3pfaZ1P87mLz8d5Q+z1 tZuP/VX7p83H/a7av3c+3m8I9hZZQOsLtF5A97WhyQtQX8t4tl0LaHxncAHW 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 bP8A/Op91OMH4Efvo+I9pPstX9GH4F/v09o8xHlF73+mPkQ+VD3EeYT7K9VD oUc4/wsOtXqE+kXj26RH8C+tL3Y8Qn2l/OZ/DP/V80WLx1QfOMY/pvs199bH OL/q96H/PubzT9MniD9a/4x5QvHYu/kJ/Evj880nVG+EokUgv8nznpERqM+0 /tkQgfipv4+4HoF8pfna8hT3c5pPcjxFfaD57epT2KP57cdTnG+0vsgaiXyv +blOJNo1vxmRqJc0P336j75/9qV/hvpD82v1Z9Cb/l6k/zPkA61vfc8QjwQH 0j6Hv+j301Wegy/9PUCf5/x7gMXPoU/9fv3Uc+QnwdZKL6hedrhfQN963l34 AvFP64PjL/h88+r/+ys/3V/SecU77yXVK4EjL6l+Dj1HewKtF5O+Qn7Q/D/7 FY0XPPQK+6Pnr/9e8fffiV5T/eAuBRzQ/T3wGuctrccjXsOfBLusIcRjrReK h/i+t12I6gnnI7QP03r2rzeIf/r9d5E3iL9qf+s3iLfyvHXKG+Rrrcdjv0W9 q9+DF3wLPWg93uot3c/YJ77FfYR+D779LfZX72vyvaP4Ymv+DnrTfDvuHd5/ a7zyv6P44b/9Dvuh9UyT97hP0Hg1+j34V3/f9J6+Z7dE+4D6Qe+XPB8QH/X+ Y/0HrF/tvfb/7Xr/8esD9kvjU/aPmF/P42s+wv/0vv/KR+yf2vv9I92XubN8 gv9r/eX8hPpK669Ln2Cv1l9fPlF+9Wb8jP3R/FXzM/St8XUA8GXl8+Nn3Cdq vrV9QTzQfFvtC92vWPt9wX6q/Uu/UD1ppPkKPau9vb/S/Y9rEdotWm+d/Erv B2wVv5G9ngXfEM91v499Qz5R+15+o3rE3e07vi9S/uZ+p/tkI/Cd68Pn32m9 9iQ/ML/yN+sH9Kb59eAP3CervZE/yH5nwp/0/spT8if8Xfl68hP1teaj+L9I X75iv2CP+lfbX8gv6j8Pf6E+Ub3GtUSa90Hq/4WjsM6v5wVXFNZ4rPl0chTW +0zNR7F+izT9T8/jBX4zx8uo/t8yCmt80/PjBODpen7cFoW1Htf7hHzRIs37 N82nzaJw2H2Da2y0SLpP2BLNtLe52n8rCms803g16vdI0/81Xm2MwlpPaf68 8XtkePy1/vYH1qf5YEQUVv71vLUuCmt8UXuvRWHNx3rf9TMKq141X2SLDv6U z9VRWOt/5fNydDyv8fZbdHO9BfT+I/OfsE/5rh2F9fcNWp9c/NO0z6N6+Pyn Od8+jbcZYkSa9096/1EjhslfTv39zYAY5vw7lc8PMbA/yme6mOBL7a8a0+TT r/cJfWPS+pxLorDGN+U3dSxzvNpan1SORXw6ekXhsPsG99+xIsPvy+0VYpN+ XD1im/MN1vw7P7bJR2LBgaOxoR/9veYLYL1v8XSNY663n+bfOXEiw3//FDwc x5wvvurhWRzoTfNv4rimvRFa38yMa+7nea1vDsYFn6qHp3Ejw+9PXQn+MvlJ pvaX+Avza32wLwrr/bXefzz+KzL8PsMTL16kGb/1/qNoPOhH7/PaxDOfj6b1 zYN4keG/R/XFiW/O30h/31YofmT479OiDuSm/z7S+mxSfFPPebQ+i2nF/uh9 aH4r/F3rsxbWyPDfxzrHo7/+vtKzFf3ban1mTxAZfp/jaJoA+6P3Y2MSQB/6 +7bNUVjzj/J/M0FkeH3kapSQ+PKOTAj96f3ShoSR4fdNoesJzfX10PrWkgj8 K59rEyG+6P3o1UTQr9r7A9ijfGdNjOf199yrEyM+Kp9GYoynv+f+mhj26n1u piTgW+2tFYW1ntb7pAtJzP6zlc9PaB+oekifFPFP9Vw9Kfxd78P6JzXnX6R8 vk9K+jXSJkP8Uj1XTQb/1vNCn2RYj/K9OBnpKZQqeWT472VtlZJHht8vO93J oRfV88LksF/v84+jf2v1t/IpTD5HKb/dU5jr+6Hvp+alMP0hm+r3RQozPrl1 /7ukjAz/vWZgdkrwo/YeSkn+YfsvZWT4ecaZKBWNH5yRKjL8PGE9kArxQN8/ RKSi/XJbUyMeqr3FU5M/2femhj71fv9Raqxf/z7BX2mgJ30fUSQN+uvfV2id Bv317z0E02C9+vvd2GkRz/X3uwXTgk/B1lZp4f/69zYmpo0M/3sjRox00Ie+ H8mfDv6qfx+keTrEW7V/XDrwoX9vw5/O9NcZgm15bSY/ewQ7m9giw39f7Blt iww/D/o32cz5Kur97j82c30t9ffdDdMT3z5PeuQLfV+5Pj3p03I9fWT474Xt v9JHhv/ePjAsA+ZTfazJgHyq8e1KBtir58/vGcC3nj+zZAR/+nv0SxnN/JlC 3/d8AV6g73syZsLz+vdNamaCfpXP85mwHuXzYybEU43HtszQh8bjapnhf8p3 v8zIl6qHd5mRz1QPabKY8baQ6qFKFlPvndT+3lkQP9T+RVkwv/6eO1VW+I/q oWJW6Ev/XkzPrMi/gr0LsoJ/1fOxrNgffX9WLhvqC/17G92ykf79c7Mhv+jf 2whkiwx/v2d9ng35V/9+Sefspn3XVM+zsiOeSX/Loeykb3tkduQXtT9hDuRD 5debw2xPoHrYn8PczyYaL57kgD+pHuLnRP2qei6WE/rX/LEnJ/Zb48XDnJQP fHFzUbwyCueieGNpnYvyp/d+rsjw9w2BWLkpX4UK5IY9Gu9a5jbtv6X2T8gd Gf73D4J/5okMvy+y5gPW9z2OZnngj3ofMTZPZPj9kW9LHvCh+SNP3sjw+yBX 47xmew2N16Pyor7R+5SNeZEvtZ67kZfm9zSwm/Pf0/wxws713Do71V/Wa3bw r/b/tEOfet8zNB/2W+9T1uRDfNB67jLwZa3fMucHX1q/rcwP+/V94MX8keF/ P8TzOX9k+Psof4YCeF7trVEA+tX651wB2Kd6+FCA6hsjXUHwo/m6WkHKv/a+ BUlfgbcF4b96P5W6EOV3W+VCNJ+zVyHSi+fvQpHh92fWlIXJHkeFwqbeLLr/ 8wuDL9Xv0cI4b+r3AGWLUP3p7VoE8VL1ergI1be2Z0WQ/7Xe6VQU8Ur5m1k0 Mvx9nPVgUeRbte8pt7sTFKN63uItFhl+P2ffB9xE6/fHxXB+0/2PV5z1WrQ4 1SeeB8XhD+r/cUog3mg+K1SC8pPVVQL5XeuFeyUiw79vMGKWhN41/hYoifir 9USLkpT/XeNLUrwORS+F+Kv5wV4K+VPzcdNSiG+aj8eUQj7U/LG5lLneSK0X cpdGfNH80Kh0ZPj3Eb6RjI0NpaEXtf9GaehBcGB4GfAh6wmtLWOeX2NrvL1a JjL8ewnnjzJUXweHOGg862oH4qfmM8PB9n510Pp9mcrC3/Xvia0oi/sD5fNC WZx/NJ99Kkv5PZC+HPQq7aHq5RB/lM+z5Uw9btZ89r4c1V/BtOVx/lT7q5ZH /an1ZZ/ysE/18KY84ovWN6krUD1rr1QB9Zf6m7sC1dPehRVMfs+qf6WoGBl+ P+8sXxH3Qarn7hURr1TP8yqiflf+j1Qke92OSlSf+LpUQnzRv381uxLWq/Yf Zmz/rxLym9Y7HSvj/KP6mFGZ/Mt2oDLlZ2dEZZy31X5rFdK/dXoVxD/ld28V 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 Tff3wX9no37VfPznHHq/47DPQb2s3x81nUPnG8utOXS+sf8+F3pS+3PPpfc/ 3kZzqR4IjJyL+1fl0zKPzh+eHPOgf61v6s+j91XB4fPoew7runn8PUzW+VTP GXXm8/uMofNJf/bV8ym/uoz5lP9DtRbQ+yTboAXwF9XzigVU/3kuLKD7FP+n BVQvOvovJL27fYx9ZxfCn9T+9wu5nkz3N8Vb7+K/6fuVwCnGoTd/Q69qf+pF VP85Ky2i94PW14vo/Y0jxWL4g9pbfjHVz77ui6netL9YjP1VPpMuIfu9jiWI R2pvlyU0fmj2EsQb5TPRUsL+Ukupf7DjUuLXOnMp239gKdXfRnEfzW9p76P1 2Kf7qJ527fWhPlP7H/lwH6n+1mYZ3Uc4pyzD+wvV865ldN72B5dR/RuMvZz0 7p64nM4Dvu3L6X2pcZexJeaKyPDfS9rzr6DxAv4V5G+h2yvo/bQt+kq6L3Dm XYn4ofY3WYnzqvJ7cyX5kyPaKvq+0J1rFZ1ffA1XUfwzPKuQ/zRe/FqF+kjj RfbVFJ8C9VYjn6n9w1bjflO/t1y7GvPp/UOWNdgPvX9wroG/6P3JkDWoH/T+ Z9Ua1O8a7y6t4e9va61FfNHvbweupe95XcvXYj36vej5tch/+r3oR/R/pP8/ j37r6P7Js3Qd9kftP7MOelF7065HvNL7qEXr6ftP4+R6+r7U8mY99KP2ptqA +2y1t+IG1Jv6/eqxDeBPv79/tYHsdybfCL3o72/KbaTn/d02Ir/o33d4vpHm dyfZRP19ZTbR98xG502Iv/r97exN0Jv+PijhZpxH9T6q5GayL9RhM+pdtX/G ZviDfn9dbAvOI8pnuy00nmPaFt7/PVuQb5Xvh1twXtLvb1v76Xtc12Q/7ivV 3p1++JPae9+P+KX3Z7G2kv48E7Yi3uv+b9uK9xmq3ztbaTxrjG2kb0e+beBP 9//2NuyX2vvHdvCh9ubZTvdv3sbb6X7W9s92+IvGg992kL95cu6g+0F/gx2R 4b9/CY7YgfikfP7E8/WVz2w7kZ9Vv3V3or5V+4ftpOfta3bSegKZd0XS77lr 70L80HgweBf0pf62chfen6n9F3fxfWrN3bQexwDG7mW76T7Wd2439KHx7MNu qv+8S/ZQ/Rk4vYfibejtHqqXbGn2Urzz/72X7nuCJ/bS/bA1tJfyjyPlPrpv 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 qyHqF2u2wXjOcfwHf9T3ug== "]]}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], AxesOrigin->NCache[{2840227200, 0}, {2.8402272*^9, 0}], Frame->True, FrameLabel->{ FormBox["\"Date\"", TraditionalForm], FormBox["\"Adjusted Price\"", TraditionalForm], FormBox[ StyleBox["\"MSFT\"", FontSize -> 16, StripOnInput -> False], TraditionalForm], FormBox["\"\"", TraditionalForm]}, FrameTicks->{{Automatic, Automatic}, {{{ NCache[2840140800, 2.8401408*^9], FormBox["\"1990\"", TraditionalForm]}, { NCache[2997907200, 2.9979072*^9], FormBox["\"1995\"", TraditionalForm]}, { NCache[3155673600, 3.1556736*^9], FormBox["\"2000\"", TraditionalForm]}, { NCache[3313526400, 3.3135264*^9], FormBox["\"2005\"", TraditionalForm]}, { NCache[2871676800, 2.8716768*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2903212800, 2.9032128*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2934835200, 2.9348352*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2966371200, 2.9663712*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3029443200, 3.0294432*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3061065600, 3.0610656*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3092601600, 3.0926016*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3124137600, 3.1241376*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3187296000, 3.187296*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3218832000, 3.218832*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3250368000, 3.250368*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3281904000, 3.281904*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3345062400, 3.3450624*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3376598400, 3.3765984*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3408134400, 3.4081344*^9], FormBox["\" \"", TraditionalForm]}}, {{ NCache[2840140800, 2.8401408*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2997907200, 2.9979072*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3155673600, 3.1556736*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3313526400, 3.3135264*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2871676800, 2.8716768*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2903212800, 2.9032128*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2934835200, 2.9348352*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2966371200, 2.9663712*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3029443200, 3.0294432*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3061065600, 3.0610656*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3092601600, 3.0926016*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3124137600, 3.1241376*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3187296000, 3.187296*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3218832000, 3.218832*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3250368000, 3.250368*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3281904000, 3.281904*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3345062400, 3.3450624*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3376598400, 3.3765984*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3408134400, 3.4081344*^9], FormBox["\" \"", TraditionalForm]}}}}, GridLines->NCache[{{{2840140800, GrayLevel[0.8]}, {2997907200, GrayLevel[0.8]}, {3155673600, GrayLevel[0.8]}, {3313526400, GrayLevel[0.8]}}, None}, {{{2.8401408*^9, GrayLevel[0.8]}, {2.9979072*^9, GrayLevel[0.8]}, {3.1556736*^9, GrayLevel[0.8]}, {3.3135264*^9, GrayLevel[0.8]}}, None}], ImageSize->400, PlotRange->{{2.8402272*^9, 3.3975072*^9}, {0., 50.91}}, PlotRangeClipping->True, PlotRangePadding->{ Scaled[0.02], Scaled[0.02]}, Ticks->None]], "Output", CellChangeTimes->{{3.397872815418872*^9, 3.397872840023328*^9}, 3.397874641620882*^9, 3.397875340764874*^9, 3.397875399725559*^9, 3.399260209142912*^9, 3.399260530260961*^9, 3.399260816625431*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Downloading, reading in and processing quote data.", "Subsection"], Cell["\<\ Current quotes can be downloaded with the following function which simply \ takes a valid ticker symbol.\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xGetYahooFinanceQuoteData", "[", "sSymbol_String", "]"}], ":=", RowBox[{"Module", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"vsBuffer", ",", "vsFields"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"vsBuffer", "=", RowBox[{"First", "[", "\[IndentingNewLine]", RowBox[{"Import", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"xYahooFinanceQuoteURL", "[", "sSymbol", "]"}], ",", "\[IndentingNewLine]", "\"\\""}], "\[IndentingNewLine]", "]"}], "\[IndentingNewLine]", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"vsFields", "=", RowBox[{"{", RowBox[{ "\"\\"", ",", " ", "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"First", "[", "vsBuffer", "]"}], "\[Equal]", "sSymbol"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"vsFields", ",", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"vsBuffer", ",", "2"}], "]"}], ",", RowBox[{"{", RowBox[{"Join", "[", RowBox[{ RowBox[{"xYahooDateToMathematicaDate", "[", RowBox[{ "vsBuffer", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], "]"}], ",", RowBox[{"xHhSsApToMathematicaTime", "[", RowBox[{ "vsBuffer", "\[LeftDoubleBracket]", "4", "\[RightDoubleBracket]"}], "]"}]}], "]"}], "}"}], ",", RowBox[{"Drop", "[", RowBox[{"vsBuffer", ",", "4"}], "]"}]}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"vsFields", ",", RowBox[{"Join", "[", RowBox[{ RowBox[{"{", "sSymbol", "}"}], ",", RowBox[{"Array", "[", RowBox[{ RowBox[{"\"\\"", "&"}], ",", RowBox[{ RowBox[{"Length", "[", "vsFields", "]"}], "-", "1"}]}], "]"}]}], "]"}]}], "}"}]}], "\[IndentingNewLine]", "]"}]}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.3978742488512993`*^9, 3.397874259041786*^9}, { 3.399260250157536*^9, 3.399260254367662*^9}}], Cell["\<\ Here is the current quote for IBM. Note that this was run on the weekend \ after the market closed so the DateTime of the quote, {2007, 9, 19, 16, 1}, \ is September\[LineSeparator] 19, 2007 at 4:01 PM, the market close, because \ that is the most current quote data. Try running this function during the day \ when the market is open.\ \>", "Text", CellChangeTimes->{{3.397874783072557*^9, 3.397874837770741*^9}, { 3.3992604186597853`*^9, 3.3992604601702538`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"xGetYahooFinanceQuoteData", "[", "\"\\"", "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\<\"Ticker\"\>", ",", "\<\"Last\"\>", ",", "\<\"DateTime\"\>", ",", "\<\"Change\"\>", ",", "\<\"Open\"\>", ",", "\<\"High\"\>", ",", "\<\"Low\"\>", ",", "\<\"Volume\"\>"}], "}"}], ",", RowBox[{"{", RowBox[{"\<\"IBM\"\>", ",", "116.67`", ",", RowBox[{"{", RowBox[{"2007", ",", "9", ",", "19", ",", "16", ",", "1"}], "}"}], ",", "0.04`", ",", "116.9`", ",", "117.19`", ",", "115.78`", ",", "10311134"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.39787310800709*^9, 3.397873225697083*^9, 3.397874139624613*^9, 3.3978742168197536`*^9, 3.397874261762862*^9, 3.397874641793626*^9, 3.3978753409271708`*^9, 3.399260215222052*^9, 3.399260356288575*^9, 3.39926040295194*^9, 3.399260816784019*^9}] }, Open ]], Cell[TextData[{ "There is also a form for this function which accepts a vector of tickers, \ useful if you're pricing a portfolio. You may see a spell check warning; this \ is just ", StyleBox["Mathematica", FontSlant->"Italic"], " being careful." }], "Text", CellChangeTimes->{{3.3978748528934*^9, 3.397874854860767*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xGetYahooFinanceQuoteData", "[", RowBox[{"vsSymbol_", "?", RowBox[{"(", RowBox[{ RowBox[{"VectorQ", "[", RowBox[{"#", ",", "StringQ"}], "]"}], "&"}], ")"}]}], "]"}], ":=", RowBox[{"Module", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"vuBuffer", ",", "vuData", ",", "vsFields"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"vuBuffer", "=", RowBox[{ RowBox[{ RowBox[{"xGetYahooFinanceQuoteData", "[", "#", "]"}], "&"}], "/@", "vsSymbol"}]}], ";", "\[IndentingNewLine]", RowBox[{"vsCol", "=", RowBox[{"Rest", "[", RowBox[{"First", "@", RowBox[{"First", "[", "vuBuffer", "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"vuData", "=", RowBox[{"Last", "/@", "vuBuffer"}]}], ";", "\[IndentingNewLine]", RowBox[{"vsRow", "=", RowBox[{"vuData", "\[LeftDoubleBracket]", RowBox[{"All", ",", "1"}], "\[RightDoubleBracket]"}]}], ";", "\[IndentingNewLine]", RowBox[{"vuData", "=", RowBox[{"Rest", "/@", "vuData"}]}], ";", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"vsRow", ",", "vsCol", ",", "vuData"}], "}"}]}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input"], Cell["For example, ", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"vaQuote", "=", RowBox[{"xGetYahooFinanceQuoteData", "[", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\""}], "}"}], "]"}]}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\<\"IBM\"\>", ",", "\<\"GE\"\>"}], "}"}], ",", RowBox[{"{", RowBox[{"\<\"Last\"\>", ",", "\<\"DateTime\"\>", ",", "\<\"Change\"\>", ",", "\<\"Open\"\>", ",", "\<\"High\"\>", ",", "\<\"Low\"\>", ",", "\<\"Volume\"\>"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"116.67`", ",", RowBox[{"{", RowBox[{"2007", ",", "9", ",", "19", ",", "16", ",", "1"}], "}"}], ",", "0.04`", ",", "116.9`", ",", "117.19`", ",", "115.78`", ",", "10311134"}], "}"}], ",", RowBox[{"{", RowBox[{"41.77`", ",", RowBox[{"{", RowBox[{"2007", ",", "9", ",", "19", ",", "16", ",", "0"}], "}"}], ",", "0.09`", ",", "41.77`", ",", "42.07`", ",", "41.64`", ",", "44479896"}], "}"}]}], "}"}]}], "}"}]], "Output", CellChangeTimes->{ 3.397872890438953*^9, 3.397874273084388*^9, 3.3978746419609528`*^9, 3.397875341075588*^9, {3.399260461871531*^9, 3.399260465809456*^9}, 3.3992608170751467`*^9}] }, Open ]], Cell["\<\ The structure returned is a vector of row names (tickers), column names \ (fields) and a data matrix. This can be more easily seen in the following \ formatted table.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"TableForm", "[", RowBox[{ RowBox[{"vaQuote", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], ",", RowBox[{"TableHeadings", "\[Rule]", RowBox[{"Take", "[", RowBox[{"vaQuote", ",", "2"}], "]"}]}]}], "]"}]], "Input"], Cell[BoxData[ InterpretationBox[GridBox[{ {"\<\"\"\>", "\<\"Last\"\>", "\<\"DateTime\"\>", "\<\"Change\"\>", \ "\<\"Open\"\>", "\<\"High\"\>", "\<\"Low\"\>", "\<\"Volume\"\>"}, {"\<\"IBM\"\>", "116.67`", GridBox[{ {"2007"}, {"9"}, {"19"}, {"16"}, {"1"} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.1]}, Offset[0.2]}, "RowsIndexed" -> {}}], "0.04`", "116.9`", "117.19`", "115.78`", "10311134"}, {"\<\"GE\"\>", "41.77`", GridBox[{ {"2007"}, {"9"}, {"19"}, {"16"}, {"0"} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.1]}, Offset[0.2]}, "RowsIndexed" -> {}}], "0.09`", "41.77`", "42.07`", "41.64`", "44479896"} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[2.0999999999999996`]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], TableForm[{{ 116.67, {2007, 9, 19, 16, 1}, 0.04, 116.9, 117.19, 115.78, 10311134}, { 41.77, {2007, 9, 19, 16, 0}, 0.09, 41.77, 42.07, 41.64, 44479896}}, TableHeadings -> {{"IBM", "GE"}, { "Last", "DateTime", "Change", "Open", "High", "Low", "Volume"}}]]], "Output", CellChangeTimes->{3.397872894325492*^9, 3.39787294404991*^9, 3.3978742813122263`*^9, 3.3978746420242033`*^9, 3.3978753411195583`*^9, 3.39926053991014*^9, 3.399260817114822*^9}] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Caveats", "Section 1"], Cell[TextData[{ "This is code you are meant to read and understand as part of your training \ in using ", StyleBox["Mathematica. ", FontSlant->"Italic"], "It is usable, but it is not production code. Normally, one would collect \ these functions into a ", StyleBox["Mathematica", FontSlant->"Italic"], " package which would contain extensive help text and error checking. These \ functions behave very badly if given invalid data. Eventually, we will \ produce such a package, but the purpose of this tutorial is to walk you \ through the basic steps required to access and process data available on the \ Internet into ", StyleBox["Mathematica", FontSlant->"Italic"], "." }], "Text", CellChangeTimes->{{3.397875457377119*^9, 3.397875458473637*^9}}] }, Open ]] }, Open ]] }, WindowSize->{1271, 1012}, WindowMargins->{{390, Automatic}, {Automatic, 215}}, Visible->True, PrintingCopies->1, PrintingPageRange->{1, Automatic}, ShowSelection->True, InputAliases->{"intt" -> RowBox[{"\[Integral]", RowBox[{"\[SelectionPlaceholder]", RowBox[{"\[DifferentialD]", "\[Placeholder]"}]}]}], "dintt" -> RowBox[{ SubsuperscriptBox[ "\[Integral]", "\[SelectionPlaceholder]", "\[Placeholder]"], RowBox[{"\[Placeholder]", RowBox[{"\[DifferentialD]", "\[Placeholder]"}]}]}], "sumt" -> RowBox[{ UnderoverscriptBox["\[Sum]", RowBox[{"\[SelectionPlaceholder]", "=", "\[Placeholder]"}], "\[Placeholder]"], "\[Placeholder]"}], "prodt" -> RowBox[{ UnderoverscriptBox["\[Product]", RowBox[{"\[SelectionPlaceholder]", "=", "\[Placeholder]"}], "\[Placeholder]"], "\[Placeholder]"}], "dt" -> RowBox[{ SubscriptBox["\[PartialD]", "\[Placeholder]"], " ", "\[SelectionPlaceholder]"}], "notation" -> RowBox[{"Notation", "[", RowBox[{ TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], " ", "\[DoubleLongLeftRightArrow]", " ", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"]}], "]"}], "notation>" -> RowBox[{"Notation", "[", RowBox[{ TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], " ", "\[DoubleLongRightArrow]", " ", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"]}], "]"}], "notation<" -> RowBox[{"Notation", "[", RowBox[{ TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], " ", "\[DoubleLongLeftArrow]", " ", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"]}], "]"}], "symb" -> RowBox[{"Symbolize", "[", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], "]"}], "infixnotation" -> RowBox[{"InfixNotation", "[", RowBox[{ TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], ",", "\[Placeholder]"}], "]"}], "addia" -> RowBox[{"AddInputAlias", "[", RowBox[{"\"\[Placeholder]\"", "\[Rule]", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"]}], "]"}], "pattwraper" -> TagBox["\[Placeholder]", NotationPatternTag, TagStyle -> "NotationPatternWrapperStyle"], "madeboxeswraper" -> TagBox["\[Placeholder]", NotationMadeBoxesTag, TagStyle -> "NotationMadeBoxesWrapperStyle"]}, Magnification->1.5, FrontEndVersion->"6.0 for Mac OS X x86 (32-bit) (June 19, 2007)", StyleDefinitions->Notebook[{ Cell[ CellGroupData[{ Cell["Style Definitions", "Title"], Cell[ "Modify the definitions below to change the default appearance of all \ cells in a given style. Make modifications to any definition using commands \ in the Format menu.", "Text"], Cell[ CellGroupData[{ Cell["Style Environment Names", "Section"], Cell[ StyleData[All, "Working"], PageWidth -> WindowWidth, CellBracketOptions -> {"Color" -> RGBColor[0.4, 0, 0.239994]}, ScriptMinSize -> 9, Background -> RGBColor[1, 0.960006, 0.900008]], Cell[ StyleData[All, "Presentation"], PageWidth -> WindowWidth, CellBracketOptions -> { "Color" -> RGBColor[0.744411, 0.47155, 0.371542]}, ScriptMinSize -> 9, Background -> RGBColor[1, 0.960006, 0.900008]], Cell[ StyleData[All, "SlideShow"], PageWidth -> WindowWidth, ScrollingOptions -> { "PagewiseDisplay" -> True, "VerticalScrollRange" -> Fit}, ShowCellBracket -> False, CellBracketOptions -> { "Color" -> RGBColor[0.744411, 0.47155, 0.371542]}, ScriptMinSize -> 9], Cell[ StyleData[All, "Printout"], PageWidth -> PaperWidth, ShowCellLabel -> False, ImageSize -> {200, 200}, PrivateFontOptions -> {"FontType" -> "Outline"}]}, Closed]], Cell[ CellGroupData[{ Cell["Notebook Options", "Section"], Cell[ "The options defined for the style below will be used at the \ Notebook level.", "Text"], Cell[ StyleData["Notebook"], PageHeaders -> {{ Cell[ TextData[{ CounterBox["Page"]}], "PageNumber"], None, Cell[ TextData[{ ValueBox["FileName"]}], "Header"]}, { Cell[ TextData[{ ValueBox["FileName"]}], "Header"], None, Cell[ TextData[{ CounterBox["Page"]}], "PageNumber"]}}, CellFrameLabelMargins -> 6, StyleMenuListing -> None]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Headings", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Title"], CellFrame -> {{0, 0}, {0, 0.25}}, CellMargins -> {{18, 10}, {0, 20}}, CellGroupingRules -> {"TitleGrouping", 0}, PageBreakBelow -> False, CellFrameMargins -> 6, CellFrameColor -> GrayLevel[0], InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, LineSpacing -> {0.95, 13}, CounterAssignments -> {{"Section", 0}, {"Equation", 0}, { "Figure", 0}}, FontFamily -> "Helvetica", FontSize -> 36, FontWeight -> "Bold", FontColor -> RGBColor[0.4, 0, 0.239994]], Cell[ StyleData["Title", "Presentation"], CellMargins -> {{28, 10}, {2, 30}}, CellFrameMargins -> {{0, 0}, {0, 12}}, FontSize -> 54], Cell[ StyleData["Title", "Printout"], CellMargins -> {{18, 30}, {0, 0}}, CellFrameMargins -> 4, FontSize -> 24]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Subtitle"], CellMargins -> {{20, 30}, {2, 10}}, CellGroupingRules -> {"TitleGrouping", 10}, PageBreakBelow -> False, CellFrameMargins -> {{0, 4}, {8, 4}}, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, LineSpacing -> {1, 0}, CounterAssignments -> {{"Section", 0}, {"Equation", 0}, { "Figure", 0}}, FontFamily -> "Helvetica", FontSize -> 24], Cell[ StyleData["Subtitle", "Presentation"], CellMargins -> {{30, 30}, {4, 16}}, FontSize -> 36], Cell[ StyleData["Subtitle", "Printout"], CellMargins -> {{18, 30}, {0, 10}}, FontSize -> 18]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Section 1"], CellFrame -> {{0, 0}, {0, 3}}, CellMargins -> {{18, 10}, {10, 30}}, CellGroupingRules -> {"SectionGrouping", 40}, PageBreakBelow -> False, CellFrameMargins -> {{0, 4}, {8, 4}}, CellFrameColor -> RGBColor[0.4, 0, 0.239994], InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, CounterIncrements -> "Section", CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}}, FontFamily -> "Helvetica", FontSize -> 18, FontWeight -> "Bold"], Cell[ StyleData["Section 1", "Presentation"], CellFrame -> {{0, 0}, {0, 5}}, CellMargins -> {{28, 10}, {16, 44}}, CellFrameMargins -> {{0, 0}, {0, 6}}, FontSize -> 27], Cell[ StyleData["Section 1", "Printout"], CellMargins -> {{18, 30}, {4, 30}}, CellFrameMargins -> 4, FontSize -> 14]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Section"], CellFrame -> {{0, 0}, {0, 0.25}}, CellMargins -> {{18, 10}, {10, 30}}, CellGroupingRules -> {"SectionGrouping", 40}, PageBreakBelow -> False, CellFrameMargins -> 4, CellFrameColor -> RGBColor[0.4, 0, 0.239994], InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, CounterIncrements -> "Section", CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}}, FontFamily -> "Helvetica", FontSize -> 18, FontWeight -> "Bold"], Cell[ StyleData["Section", "Presentation"], CellMargins -> {{28, 10}, {14, 42}}, CellFrameMargins -> {{0, 0}, {0, 6}}, FontSize -> 27], Cell[ StyleData["Section", "Printout"], CellMargins -> {{18, 30}, {0, 30}}, CellFrameMargins -> 5, FontSize -> 14]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Subsection"], CellDingbat -> "\[FilledSquare]", CellMargins -> {{38, 30}, {2, 20}}, CellGroupingRules -> {"SectionGrouping", 50}, PageBreakBelow -> False, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, CounterIncrements -> "Subsection", CounterAssignments -> {{"Subsubsection", 0}}, FontFamily -> "Times", FontSize -> 14, FontWeight -> "Bold"], Cell[ StyleData["Subsection", "Presentation"], CellMargins -> {{58, 30}, {6, 34}}, FontSize -> 21], Cell[ StyleData["Subsection", "Printout"], CellMargins -> {{18, 30}, {0, 10}}, FontSize -> 12]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Subsubsection"], CellDingbat -> "\[FilledSmallSquare]", CellMargins -> {{55, 30}, {4, 10}}, CellGroupingRules -> {"SectionGrouping", 60}, PageBreakBelow -> False, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, CounterIncrements -> "Subsubsection", FontFamily -> "Times", FontSize -> 12, FontWeight -> "Bold"], Cell[ StyleData["Subsubsection", "Presentation"], CellMargins -> {{80, 30}, {8, 12}}, FontSize -> 18], Cell[ StyleData["Subsubsection", "Printout"], CellMargins -> {{18, 30}, {0, 12}}, FontSize -> 10]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Body Text", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Text"], CellMargins -> {{55, 10}, {6, 6}}, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, TextJustification -> 1, LineSpacing -> {1, 2}, FontFamily -> "Times"], Cell[ StyleData["Text", "Presentation"], CellMargins -> {{80, 10}, {10, 8}}, FontSize -> 18], Cell[ StyleData["Text", "Printout"], CellMargins -> {{18, 4}, {4, 4}}, Hyphenation -> True, LineSpacing -> {1, 3}, FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Commentary"], CellMargins -> {{55, 10}, {2, 6}}, TextJustification -> 1, LineSpacing -> {1, 2}, FontFamily -> "Helvetica", FontSize -> 10, FontColor -> RGBColor[0, 0, 0.4]], Cell[ StyleData["Commentary", "Presentation"], CellMargins -> {{80, 10}, {2, 10}}, FontSize -> 15], Cell[ StyleData["Commentary", "Printout"], CellMargins -> {{18, 30}, {3, 0}}, Hyphenation -> True, LineSpacing -> {1, 3}, FontFamily -> "Times", FontSize -> 10]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Inline Formatting", "Section"], Cell[ "These styles are for modifying individual words or letters in a \ cell exclusive of the cell tag.", "Text"], Cell[ StyleData["RM"], StyleMenuListing -> None, FontWeight -> "Plain", FontSlant -> "Plain"], Cell[ StyleData["BF"], StyleMenuListing -> None, FontWeight -> "Bold"], Cell[ StyleData["IT"], StyleMenuListing -> None, FontSlant -> "Italic"], Cell[ StyleData["TR"], StyleMenuListing -> None, FontFamily -> "Times", FontWeight -> "Plain", FontSlant -> "Plain"], Cell[ StyleData["TI"], StyleMenuListing -> None, FontFamily -> "Times", FontWeight -> "Plain", FontSlant -> "Italic"], Cell[ StyleData["TB"], StyleMenuListing -> None, FontFamily -> "Times", FontWeight -> "Bold", FontSlant -> "Plain"], Cell[ StyleData["TBI"], StyleMenuListing -> None, FontFamily -> "Times", FontWeight -> "Bold", FontSlant -> "Italic"], Cell[ StyleData["MR"], "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"}, StyleMenuListing -> None, FontFamily -> "Courier", FontWeight -> "Plain", FontSlant -> "Plain"], Cell[ StyleData["MO"], "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"}, StyleMenuListing -> None, FontFamily -> "Courier", FontWeight -> "Plain", FontSlant -> "Italic"], Cell[ StyleData["MB"], "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"}, StyleMenuListing -> None, FontFamily -> "Courier", FontWeight -> "Bold", FontSlant -> "Plain"], Cell[ StyleData["MBO"], "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"}, StyleMenuListing -> None, FontFamily -> "Courier", FontWeight -> "Bold", FontSlant -> "Italic"], Cell[ StyleData["SR"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontWeight -> "Plain", FontSlant -> "Plain"], Cell[ StyleData["SO"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontWeight -> "Plain", FontSlant -> "Italic"], Cell[ StyleData["SB"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontWeight -> "Bold", FontSlant -> "Plain"], Cell[ StyleData["SBO"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontWeight -> "Bold", FontSlant -> "Italic"], Cell[ CellGroupData[{ Cell[ StyleData["SO10"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 10, FontWeight -> "Plain", FontSlant -> "Italic"], Cell[ StyleData["SO10", "Printout"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 7, FontWeight -> "Plain", FontSlant -> "Italic"]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Inert"], StyleMenuListing -> None, Background -> RGBColor[0.870588, 0.905882, 0.972549]], Cell[ StyleData["Inert", "Printout"], StyleMenuListing -> None, Background -> GrayLevel[1]]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Input/Output", "Section"], Cell[ "The cells in this section define styles used for input and output \ to the kernel. Be careful when modifying, renaming, or removing these \ styles, because the front end associates special meanings with these style \ names.", "Text"], Cell[ CellGroupData[{ Cell[ StyleData["Input"], CellFrame -> {{1, 1}, {0, 1}}, CellMargins -> {{55, 10}, {0, 0}}, Evaluatable -> True, CellGroupingRules -> "InputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, CellLabelPositioning -> Automatic, CellLabelMargins -> {{23, Inherited}, {Inherited, Inherited}}, DefaultFormatType -> DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, LanguageCategory -> "Formula", FormatType -> InputForm, ShowStringCharacters -> True, NumberMarks -> True, LinebreakAdjustments -> {0.85, 2, 10, 0, 1}, FontSize -> 12, FontWeight -> "Bold", Background -> GrayLevel[0.966674]], Cell[ StyleData["Input", "Presentation"], CellFrame -> {{2, 2}, {0, 2}}, CellMargins -> {{80, 18}, {0, 2}}, CellFrameMargins -> {{10, 10}, {12, 12}}, FontSize -> 18], Cell[ StyleData["Input", "Printout"], CellMargins -> {{55, 10}, {0, 10}}, LinebreakAdjustments -> {0.85, 2, 10, 1, 1}, FontSize -> 10, Background -> GrayLevel[0.850004]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["InlineInput"], Evaluatable -> True, CellGroupingRules -> "InputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, DefaultFormatType -> DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, AutoItalicWords -> {}, FormatType -> InputForm, ShowStringCharacters -> True, NumberMarks -> True, CounterIncrements -> "Input", FontWeight -> "Bold"], Cell[ StyleData["InlineInput", "Presentation"], CellMargins -> {{10, 18}, {6, 4}}, FontSize -> 18]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Output"], CellFrame -> {{1, 1}, {1, 0}}, CellMargins -> {{55, 10}, {15, 0}}, CellEditDuplicate -> True, CellGroupingRules -> "OutputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, CellLabelMargins -> {{23, Inherited}, {Inherited, Inherited}}, DefaultFormatType -> DefaultOutputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, LanguageCategory -> "Formula", FormatType -> InputForm, FontSize -> 12, Background -> GrayLevel[0.850004]], Cell[ StyleData["Output", "Presentation"], CellFrame -> {{2, 2}, {2, 0}}, CellMargins -> {{80, 18}, {16, 0}}, CellFrameMargins -> {{12, 10}, {12, 12}}, FontSize -> 18], Cell[ StyleData["Output", "Printout"], CellMargins -> {{55, Inherited}, {10, 0}}, FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["InputOnly"], CellFrame -> 1, CellMargins -> {{55, 10}, {15, 0}}, Evaluatable -> True, CellGroupingRules -> "InputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, CellLabelPositioning -> Automatic, CellLabelMargins -> {{23, Inherited}, {Inherited, Inherited}}, DefaultFormatType -> DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, LanguageCategory -> "Formula", FormatType -> InputForm, ShowStringCharacters -> True, NumberMarks -> True, LinebreakAdjustments -> {0.85, 2, 10, 0, 1}, FontSize -> 12, FontWeight -> "Bold", Background -> GrayLevel[0.966674]], Cell[ StyleData["InputOnly", "Presentation"], CellFrame -> 2, CellMargins -> {{80, 18}, {24, 4}}, CellFrameMargins -> {{10, 10}, {12, 12}}, FontSize -> 18], Cell[ StyleData["InputOnly", "Printout"], CellMargins -> {{55, Inherited}, {10, 10}}, LinebreakAdjustments -> {0.85, 2, 10, 1, 1}, FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Message"], CellFrame -> {{1, 1}, {0, 0}}, CellDingbat -> "\[LongDash]", CellMargins -> {{55, 10}, {0, 0}}, CellGroupingRules -> "OutputGrouping", PageBreakWithin -> False, GroupPageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, ShowCellLabel -> False, CellLabelMargins -> {{23, Inherited}, {Inherited, Inherited}}, DefaultFormatType -> DefaultOutputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, FormatType -> InputForm, StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 10, FontSlant -> "Oblique", FontColor -> GrayLevel[0], Background -> GrayLevel[1]], Cell[ StyleData["Message", "Presentation"], CellFrame -> {{2, 2}, {0, 0}}, CellMargins -> {{80, 18}, {0, 0}}, CellFrameMargins -> 12, FontSize -> 15], Cell[ StyleData["Message", "Printout"], CellMargins -> {{55, Inherited}, {0, 0}}, FontSize -> 8]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Print"], CellMargins -> {{55, 26}, {1, 6}}, CellGroupingRules -> "OutputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, ShowCellLabel -> False, CellLabelMargins -> {{23, Inherited}, { Inherited, Inherited}}, DefaultFormatType -> DefaultOutputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, TextAlignment -> Left, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, FormatType -> InputForm, StyleMenuListing -> None, Background -> GrayLevel[0.700008]], Cell[ StyleData["Print", "Presentation"], CellMargins -> {{80, 42}, {1, 10}}, CellFrameMargins -> 12, FontSize -> 18], Cell[ StyleData["Print", "Printout"], CellMargins -> {{54, Inherited}, {2, 6}}, FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Graphics"], CellFrame -> {{1, 1}, {0, 0}}, CellMargins -> {{55, 10}, {0, 0}}, CellGroupingRules -> "GraphicsGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, ShowCellLabel -> False, DefaultFormatType -> DefaultOutputFormatType, FormatType -> InputForm, ImageMargins -> {{35, Inherited}, {Inherited, 0}}, StyleMenuListing -> None, Background -> GrayLevel[0.850004]], Cell[ StyleData["Graphics", "Presentation"], CellFrame -> {{2, 2}, {0, 0}}, CellMargins -> {{80, 18}, {0, 0}}, CellFrameMargins -> 12, FontSize -> 18], Cell[ StyleData["Graphics", "Printout"], CellMargins -> {{55, Inherited}, {0, 0}}, ImageSize -> {0.0625, 0.0625}]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["CellLabel"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 10, FontSlant -> "Oblique", FontColor -> RGBColor[0.6, 0, 0.6]], Cell[ StyleData["CellLabel", "Presentation"], FontSize -> 15], Cell[ StyleData["CellLabel", "Printout"], CellMargins -> {{0, Inherited}, {Inherited, Inherited}}, FontSize -> 8]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Unique Styles", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Author"], CellMargins -> {{20, 30}, {45, 5}}, CellGroupingRules -> {"TitleGrouping", 20}, PageBreakBelow -> False, CellFrameMargins -> {{0, 4}, {8, 4}}, LineSpacing -> {1, 0}, CounterAssignments -> {{"Section", 0}, {"Equation", 0}, { "Figure", 0}}, FontFamily -> "Helvetica", FontSize -> 14, FontSlant -> "Italic"], Cell[ StyleData["Author", "Presentation"], CellMargins -> {{28, 40}, {68, 8}}, FontSize -> 21], Cell[ StyleData["Author", "Printout"], CellMargins -> {{18, 30}, {45, 5}}]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Abstract"], CellFrame -> False, CellMargins -> {{18, 140}, {4, 30}}, LineSpacing -> {0.9, 0}, FontFamily -> "Times", FontSize -> 12], Cell[ StyleData["Abstract", "Presentation"], CellMargins -> {{28, 180}, {6, 42}}, FontSize -> 18], Cell[ StyleData["Abstract", "Printout"], Hyphenation -> True, LineSpacing -> {1, 2}, FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Caption"], CellMargins -> {{55, 10}, {5, 3}}, PageBreakAbove -> False, FontFamily -> "Helvetica", FontSize -> 9], Cell[ StyleData["Caption", "Presentation"], CellMargins -> {{80, 18}, {6, 6}}, FontSize -> 14], Cell[ StyleData["Caption", "Printout"], CellMargins -> {{55, 55}, {5, 4}}, Hyphenation -> True, LineSpacing -> {1, 2}, FontSize -> 8]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Reference"], CellMargins -> {{24, 40}, {6, 6}}, TextJustification -> 1, LineSpacing -> {1, 0}, FontFamily -> "Times"], Cell[ StyleData["Reference", "Presentation"], CellMargins -> {{38, 40}, {10, 10}}, FontSize -> 18], Cell[ StyleData["Reference", "Printout"], CellMargins -> {{18, 4}, {4, 4}}, Hyphenation -> True, FontSize -> 9]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["PictureGroup"], CellFrame -> {{1, 1}, {0, 0}}, CellMargins -> {{55, Inherited}, {0, 0}}, CellGroupingRules -> "GraphicsGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, ShowCellLabel -> False, ImageMargins -> {{35, Inherited}, {Inherited, 0}}, StyleMenuListing -> None, Background -> GrayLevel[0.850004]], Cell[ StyleData["PictureGroup", "Presentation"], CellFrame -> {{2, 2}, {0, 0}}, CellMargins -> {{80, 6}, {0, 0}}, CellFrameMargins -> 12, FontSize -> 18], Cell[ StyleData["PictureGroup", "Printout"], CellMargins -> {{55, Inherited}, {0, 0}}, ImageSize -> {0.0625, 0.0625}]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Hyperlink Styles", "Section"], Cell[ "The cells below define styles useful for making hypertext \ ButtonBoxes. The \"Hyperlink\" style is for links within the same Notebook, \ or between Notebooks.", "Text"], Cell[ CellGroupData[{ Cell[ StyleData["Hyperlink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, ButtonFrame -> "None", ButtonFunction :> (FrontEndExecute[{ FrontEnd`NotebookLocate[#2]}]& ), ButtonNote -> ButtonData}], Cell[ StyleData["Hyperlink", "Presentation"], FontSize -> 16], Cell[ StyleData["Hyperlink", "Condensed"], FontSize -> 11], Cell[ StyleData["Hyperlink", "SlideShow"]], Cell[ StyleData["Hyperlink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ "The following styles are for linking automatically to the on-line \ help system.", "Text"], Cell[ CellGroupData[{ Cell[ StyleData["MainBookLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, ButtonFrame -> "None", ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["MainBook", #]}]& )}], Cell[ StyleData["MainBookLink", "Presentation"], FontSize -> 16], Cell[ StyleData["MainBookLink", "Condensed"], FontSize -> 11], Cell[ StyleData["MainBookLink", "SlideShow"]], Cell[ StyleData["MainBookLink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["AddOnsLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontFamily -> "Courier", FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, ButtonFrame -> "None", ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["AddOns", #]}]& )}], Cell[ StyleData["AddOnsLink", "Presentation"], FontSize -> 16], Cell[ StyleData["AddOnsLink", "Condensed"], FontSize -> 11], Cell[ StyleData["AddOnsLink", "SlideShow"]], Cell[ StyleData["AddOnsLink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["RefGuideLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontFamily -> "Courier", FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, ButtonFrame -> "None", ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["RefGuide", #]}]& )}], Cell[ StyleData["RefGuideLink", "Presentation"], FontSize -> 16], Cell[ StyleData["RefGuideLink", "Condensed"], FontSize -> 11], Cell[ StyleData["RefGuideLink", "SlideShow"]], Cell[ StyleData["RefGuideLink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["RefGuideLinkText"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, ButtonFrame -> "None", ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["RefGuide", #]}]& )}], Cell[ StyleData["RefGuideLinkText", "Presentation"], FontSize -> 16], Cell[ StyleData["RefGuideLinkText", "Condensed"], FontSize -> 11], Cell[ StyleData["RefGuideLinkText", "SlideShow"]], Cell[ StyleData["RefGuideLinkText", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["GettingStartedLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, ButtonFrame -> "None", ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["GettingStarted", #]}]& )}], Cell[ StyleData["GettingStartedLink", "Presentation"], FontSize -> 16], Cell[ StyleData["GettingStartedLink", "Condensed"], FontSize -> 11], Cell[ StyleData["GettingStartedLink", "SlideShow"]], Cell[ StyleData["GettingStartedLink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["DemosLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, ButtonFrame -> "None", ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["Demos", #]}]& )}], Cell[ StyleData["DemosLink", "SlideShow"]], Cell[ StyleData["DemosLink", "Printout"], FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["TourLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, ButtonFrame -> "None", ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["Tour", #]}]& )}], Cell[ StyleData["TourLink", "SlideShow"]], Cell[ StyleData["TourLink", "Printout"], FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["OtherInformationLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, ButtonFrame -> "None", ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["OtherInformation", #]}]& )}], Cell[ StyleData["OtherInformationLink", "Presentation"], FontSize -> 16], Cell[ StyleData["OtherInformationLink", "Condensed"], FontSize -> 11], Cell[ StyleData["OtherInformationLink", "SlideShow"]], Cell[ StyleData["OtherInformationLink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["MasterIndexLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, ButtonFrame -> "None", ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["MasterIndex", #]}]& )}], Cell[ StyleData["MasterIndexLink", "SlideShow"]], Cell[ StyleData["MasterIndexLink", "Printout"], FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Palette Styles", "Section"], Cell[ "The cells below define styles that define standard ButtonFunctions, \ for use in palette buttons.", "Text"], Cell[ StyleData["Paste"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{ FrontEnd`NotebookApply[ FrontEnd`InputNotebook[], #, After]}]& )}], Cell[ StyleData["Evaluate"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{ FrontEnd`NotebookApply[ FrontEnd`InputNotebook[], #, All], FrontEnd`SelectionEvaluate[ FrontEnd`InputNotebook[], All]}]& )}], Cell[ StyleData["EvaluateCell"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{ FrontEnd`NotebookApply[ FrontEnd`InputNotebook[], #, All], FrontEnd`SelectionMove[ FrontEnd`InputNotebook[], All, Cell, 1], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[], All]}]& )}], Cell[ StyleData["CopyEvaluate"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{ FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[], #, All], FrontEnd`SelectionEvaluate[ FrontEnd`InputNotebook[], All]}]& )}], Cell[ StyleData["CopyEvaluateCell"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{ FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[], #, All], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[], All]}]& )}]}, Closed]], Cell[ CellGroupData[{ Cell["Formulas and Programming", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["DisplayFormula"], CellMargins -> {{55, Inherited}, {Inherited, Inherited}}, CellHorizontalScrolling -> True, DefaultFormatType -> DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, LanguageCategory -> "Formula", ScriptLevel -> 0, SingleLetterItalics -> True, StyleMenuListing -> None, UnderoverscriptBoxOptions -> {LimitsPositioning -> True}], Cell[ StyleData["DisplayFormula", "Presentation"], CellMargins -> {{80, 18}, {6, 6}}, FontSize -> 18], Cell[ StyleData["DisplayFormula", "Printout"], CellMargins -> {{18, 4}, {4, 4}}]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["ChemicalFormula"], CellMargins -> {{55, 10}, {Inherited, 0}}, CellHorizontalScrolling -> True, DefaultFormatType -> DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, TextJustification -> 1, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, LanguageCategory -> "Formula", AutoSpacing -> False, ScriptBaselineShifts -> {0.6, Automatic}, ScriptLevel -> 1, SingleLetterItalics -> False, ZeroWidthTimes -> True], Cell[ StyleData["ChemicalFormula", "Presentation"], CellMargins -> {{80, 18}, {6, 0}}, FontSize -> 18], Cell[ StyleData["ChemicalFormula", "Printout"], CellMargins -> {{18, 4}, {4, 4}}, LineSpacing -> {1, 3}, FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Program"], CellMargins -> {{55, 10}, {Inherited, 0}}, CellHorizontalScrolling -> True, Hyphenation -> False, LanguageCategory -> "Formula", FontFamily -> "Courier"], Cell[ StyleData["Program", "Presentation"], CellMargins -> {{80, 18}, {6, 0}}, FontSize -> 18], Cell[ StyleData["Program", "Printout"], CellMargins -> {{18, 4}, {4, 4}}, LineSpacing -> {1, 3}, FontSize -> 9.5]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Automatic Numbering", "Section"], Cell[ "The following styles are useful for numbered equations, figures, \ etc. They automatically give the cell a FrameLabel containing a reference to \ a particular counter, and also increment that counter.", "Text"], Cell[ CellGroupData[{ Cell[ StyleData["NumberedEquation"], CellMargins -> {{55, 85}, {Inherited, Inherited}}, CellFrameLabels -> {{None, Cell[ TextData[{"(", CounterBox["NumberedEquation"], ")"}]]}, {None, None}}, DefaultFormatType -> DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, CounterIncrements -> "NumberedEquation", FormatTypeAutoConvert -> False, FontFamily -> "Times"], Cell[ StyleData["NumberedEquation", "Presentation"], CellMargins -> {{80, 125}, {6, 6}}, FontSize -> 18], Cell[ StyleData["NumberedEquation", "Printout"], CellMargins -> {{18, 4}, {4, 4}}, FontSize -> 8]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["NumberedFigure"], CellMargins -> {{55, 95}, {Inherited, Inherited}}, CellFrameLabels -> {{None, None}, { Cell[ TextData[{"Figure ", CounterBox["NumberedFigure"]}], FontWeight -> "Bold"], None}}, CounterIncrements -> "NumberedFigure", FormatTypeAutoConvert -> False, FontFamily -> "Times"], Cell[ StyleData["NumberedFigure", "Presentation"], CellMargins -> {{80, 145}, {6, 6}}, FontSize -> 18], Cell[ StyleData["NumberedFigure", "Printout"], CellMargins -> {{18, 80}, {4, 4}}, FontSize -> 8]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["NumberedTable"], CellMargins -> {{55, 95}, {Inherited, Inherited}}, CellFrameLabels -> {{None, None}, { Cell[ TextData[{"Table ", CounterBox["NumberedTable"]}], FontWeight -> "Bold"], None}}, TextAlignment -> Center, CounterIncrements -> "NumberedTable", FormatTypeAutoConvert -> False, FontFamily -> "Times"], Cell[ StyleData["NumberedTable", "Presentation"], CellMargins -> {{80, 145}, {10, 6}}, FontSize -> 18], Cell[ StyleData["NumberedTable", "Printout"], CellMargins -> {{18, 80}, {4, 4}}, FontSize -> 8]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Headers and Footers", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Header"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 9], Cell[ StyleData["Header", "Presentation"], FontSize -> 14]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["PageNumber"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 9, FontWeight -> "Bold"], Cell[ StyleData["PageNumber", "Presentation"], FontSize -> 14]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Footer"], TextAlignment -> Center, StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 9], Cell[ StyleData["Footer", "Presentation"], FontSize -> 14]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Slide Show Styles", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["SlideShowNavigationBar"], Editable -> False, CellFrame -> True, CellMargins -> {{0, 0}, {3, 3}}, CellElementSpacings -> {"CellMinHeight" -> 0.8125}, CellGroupingRules -> {"SectionGrouping", 30}, CellFrameMargins -> False, CellFrameColor -> GrayLevel[1], CellFrameLabelMargins -> False, TextAlignment -> Center, CounterIncrements -> "SlideShowNavigationBar", StyleMenuListing -> None, FontSize -> 10, Magnification -> 1, Background -> GrayLevel[0.8], GridBoxOptions -> { BaselinePosition -> Center, GridBoxAlignment -> { "Columns" -> { Center, Center, Center, Center, Center, Center, Right, { Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize -> { "Columns" -> {3.5, 3.5, 3.5, 3.5, 13, 5, {4}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings -> {"Columns" -> { Offset[0.27999999999999997`], { Offset[0.]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.]}, Offset[0.2]}, "RowsIndexed" -> {}}}], Cell[ StyleData["SlideShowNavigationBar", "SlideShow"], Deletable -> False, ShowCellBracket -> False, CellMargins -> {{-1, -1}, {-1, -1}}, PageBreakAbove -> True, CellFrameMargins -> {{1, 1}, {0, 0}}], Cell[ StyleData["SlideShowNavigationBar", "Printout"], CellMargins -> {{18, 4}, {4, 4}}, LineSpacing -> {1, 3}, FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["SlideShowSection"], CellFrame -> {{0, 0}, {0, 0.5}}, CellMargins -> {{0, 0}, {10, 0}}, CellGroupingRules -> {"SectionGrouping", 40}, PageBreakBelow -> False, CellFrameMargins -> {{12, 4}, {6, 12}}, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, CounterIncrements -> "Section", CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}}, StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 18, FontWeight -> "Plain", FontColor -> GrayLevel[1], Background -> RGBColor[0.408011, 0.440726, 0.8]], Cell[ StyleData["SlideShowSection", "Presentation"], CellFrameMargins -> {{18, 10}, {10, 18}}, FontSize -> 27], Cell[ StyleData["SlideShowSection", "SlideShow"], ShowCellBracket -> False, PageBreakAbove -> True], Cell[ StyleData["SlideShowSection", "Printout"], CellMargins -> {{18, 30}, {0, 30}}, CellFrameMargins -> 5, FontSize -> 14]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["SlideHyperlink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontSize -> 26, FontColor -> GrayLevel[0.400015], ButtonBoxOptions -> { Active -> True, ButtonFunction :> (FrontEndExecute[{ FrontEnd`NotebookLocate[#2]}]& ), ButtonMargins -> 0.5, ButtonMinHeight -> 0.85, ButtonNote -> None}], Cell[ StyleData["SlideHyperlink", "Presentation"], CellMargins -> {{10, 10}, {10, 12}}, FontSize -> 36], Cell[ StyleData["SlideHyperlink", "SlideShow"]], Cell[ StyleData["SlideHyperlink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["SlideTOCLink"], CellMargins -> {{24, Inherited}, {Inherited, Inherited}}, StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontFamily -> "Helvetica", ButtonBoxOptions -> { Active -> True, ButtonFunction :> (FrontEndExecute[{ FrontEnd`NotebookLocate[#2]}]& ), ButtonMargins -> 1.5, ButtonNote -> ButtonData}], Cell[ StyleData["SlideTOCLink", "Presentation"], CellMargins -> {{35, 10}, {5, 10}}, FontSize -> 18], Cell[ StyleData["SlideTOCLink", "SlideShow"]], Cell[ StyleData["SlideTOCLink", "Printout"], FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["SlideTOC"], CellDingbat -> "\[Bullet]", CellMargins -> {{18, Inherited}, {Inherited, Inherited}}, StyleMenuListing -> None, FontFamily -> "Helvetica"], Cell[ StyleData["SlideTOC", "Presentation"], CellMargins -> {{25, 10}, {10, 5}}, FontSize -> 18], Cell[ StyleData["SlideTOC", "SlideShow"], FontSize -> 14], Cell[ StyleData["SlideTOC", "Printout"], FontSize -> 10, FontColor -> GrayLevel[0]]}, Closed]]}, Closed]]}, Open]], Cell[ CellGroupData[{ Cell[ "Notation Package Styles", "Section", CellTags -> "NotationPackage"], Cell[ "The cells below define certain styles needed by the Notation package. \ These styles serve to make visible otherwise invisible tagboxes.", "Text", CellTags -> "NotationPackage"], Cell[ StyleData["NotationTemplateStyle"], StyleMenuListing -> None, Background -> RGBColor[1, 1, 0.850004], TagBoxOptions -> {SyntaxForm -> "symbol"}, CellTags -> "NotationPackage"], Cell[ StyleData["NotationPatternWrapperStyle"], StyleMenuListing -> None, Background -> RGBColor[1, 0.900008, 0.979995], TagBoxOptions -> {SyntaxForm -> "symbol"}, CellTags -> "NotationPackage"], Cell[ StyleData["NotationMadeBoxesWrapperStyle"], StyleMenuListing -> None, Background -> RGBColor[0.900008, 0.889998, 1], TagBoxOptions -> {SyntaxForm -> "symbol"}, CellTags -> "NotationPackage"]}, Closed]]}, Visible -> False, FrontEndVersion -> "6.0 for Mac OS X x86 (32-bit) (June 19, 2007)", StyleDefinitions -> "Default.nb"] ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[590, 23, 143, 1, 164, "Title"], Cell[736, 26, 305, 8, 98, "Subsubsection"], Cell[1044, 36, 210, 4, 28, "Subsubsection"], Cell[1257, 42, 354, 8, 48, "Subsubsection"], Cell[1614, 52, 417, 9, 48, "Subsubsection"], Cell[2034, 63, 797, 18, 199, "Section 1"], Cell[CellGroupData[{ Cell[2856, 85, 27, 0, 56, "Section 1"], Cell[2886, 87, 128, 3, 36, "Text"], Cell[3017, 92, 110, 3, 43, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[3164, 100, 45, 0, 97, "Section 1"], Cell[3212, 102, 138, 3, 36, "Text"], Cell[CellGroupData[{ Cell[3375, 109, 39, 0, 54, "Subsection"], Cell[CellGroupData[{ Cell[3439, 113, 49, 0, 39, "Subsubsection"], Cell[3491, 115, 189, 4, 57, "Text"], Cell[3683, 121, 508, 16, 43, "Input"], Cell[CellGroupData[{ Cell[4216, 141, 100, 2, 43, "Input"], Cell[4319, 145, 190, 2, 84, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[4558, 153, 40, 0, 39, "Subsubsection"], Cell[4601, 155, 190, 6, 36, "Text"], Cell[4794, 163, 2268, 57, 230, "Input"], Cell[7065, 222, 28, 0, 36, "Text"], Cell[CellGroupData[{ Cell[7118, 226, 319, 6, 90, "Input"], Cell[7440, 234, 271, 6, 84, "Output"], Cell[7714, 242, 271, 6, 84, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[8034, 254, 40, 0, 39, "Subsubsection"], Cell[8077, 256, 181, 6, 36, "Text"], Cell[8261, 264, 1071, 29, 160, "Input"], Cell[9335, 295, 28, 0, 36, "Text"], Cell[CellGroupData[{ Cell[9388, 299, 132, 2, 43, "Input"], Cell[9523, 303, 235, 5, 84, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[9819, 315, 44, 0, 54, "Subsection"], Cell[9866, 317, 381, 6, 78, "Text"], Cell[10250, 325, 3010, 69, 485, "Input"], Cell[13263, 396, 28, 0, 36, "Text"], Cell[CellGroupData[{ Cell[13316, 400, 244, 6, 43, "Input"], Cell[13563, 408, 265, 3, 84, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[13877, 417, 42, 0, 54, "Subsection"], Cell[13922, 419, 356, 6, 78, "Text"], Cell[14281, 427, 940, 20, 230, "Input"], Cell[15224, 449, 28, 0, 36, "Text"], Cell[CellGroupData[{ Cell[15277, 453, 84, 1, 43, "Input"], Cell[15364, 456, 234, 3, 84, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[15635, 464, 223, 5, 43, "Input"], Cell[15861, 471, 314, 6, 84, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[16224, 483, 74, 0, 54, "Subsection"], Cell[16301, 485, 140, 3, 36, "Text"], Cell[16444, 490, 2223, 54, 298, "Input"], Cell[18670, 546, 48, 0, 36, "Text"], Cell[CellGroupData[{ Cell[18743, 550, 283, 7, 43, "Input"], Cell[19029, 559, 1588, 41, 177, "Output"] }, Open ]], Cell[20632, 603, 57, 0, 36, "Text"], Cell[CellGroupData[{ Cell[20714, 607, 104, 2, 43, "Input"], Cell[20821, 611, 378, 9, 84, "Output"] }, Open ]], Cell[21214, 623, 224, 4, 57, "Text"], Cell[CellGroupData[{ Cell[21463, 631, 104, 2, 43, "Input"], Cell[21570, 635, 376, 7, 84, "Output"] }, Open ]], Cell[21961, 645, 732, 12, 162, "Text"], Cell[CellGroupData[{ Cell[22718, 661, 717, 19, 113, "Input"], Cell[23438, 682, 4054, 102, 278, "Print"] }, Open ]], Cell[27507, 787, 383, 7, 57, "Text"], Cell[27893, 796, 373, 10, 43, "Input"], Cell[28269, 808, 132, 1, 36, "Text"], Cell[CellGroupData[{ Cell[28426, 813, 896, 21, 67, "Input"], Cell[29325, 836, 38962, 673, 504, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[68336, 1515, 72, 0, 54, "Subsection"], Cell[68411, 1517, 128, 3, 36, "Text"], Cell[68542, 1522, 2636, 62, 413, "Input"], Cell[71181, 1586, 478, 8, 78, "Text"], Cell[CellGroupData[{ Cell[71684, 1598, 88, 1, 43, "Input"], Cell[71775, 1601, 817, 16, 108, "Output"] }, Open ]], Cell[72607, 1620, 328, 8, 57, "Text"], Cell[72938, 1630, 1357, 35, 229, "Input"], Cell[74298, 1667, 29, 0, 36, "Text"], Cell[CellGroupData[{ Cell[74352, 1671, 175, 4, 43, "Input"], Cell[74530, 1677, 1073, 26, 131, "Output"] }, Open ]], Cell[75618, 1706, 190, 4, 57, "Text"], Cell[CellGroupData[{ Cell[75833, 1714, 270, 7, 43, "Input"], Cell[76106, 1723, 2265, 59, 266, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[78432, 1789, 28, 0, 97, "Section 1"], Cell[78463, 1791, 763, 18, 99, "Text"] }, Open ]] }, Open ]] } ] *) (* End of internal cache information *)