From ca1ed5959fd0d001ffe1c1fda07a534583d7fa91 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Sat, 24 Dec 2016 14:06:33 -0500 Subject: [PATCH 01/26] Updated README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4cb65b3..7a2b633 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ AI-Programmer ========= Read the full article at: -http://www.primaryobjects.com/CMS/Article149 +http://www.primaryobjects.com/2013/01/27/using-artificial-intelligence-to-write-self-modifying-improving-programs/ AI-Programmer is an experiment with using artificial intelligence and genetic algorithms to automatically generate programs in the Brainf**k programming language. Successfully created [programs](https://github.com/primaryobjects/AI-Programmer/tree/master/Results) by the AI include: hello world, hello , addition, subtraction, reversing a string, fibonnaci sequence, 99 bottles of beer on the wall, and more. It's getting smarter. In short, it's an AI genetic algorithm implementation with self modifying code. @@ -168,4 +168,4 @@ https://github.com/primaryobjects/ai-programmer ## Copyright -Copyright (c) 2015 Kory Becker http://primaryobjects.com/kory-becker +Copyright (c) 2017 Kory Becker http://primaryobjects.com/kory-becker From ae5ed184d4648bab7ed1dbb3d2880db3964ba730 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Thu, 29 Dec 2016 09:35:29 -0500 Subject: [PATCH 02/26] Added solution and results for ExtractInQuotes2Fitness. --- .../AIProgrammer.Fitness.csproj | 2 +- ...aFitness.cs => ExtractInQuotes2Fitness.cs} | 37 +- .../extractinquotes2/extract-in-quotes-1.png | Bin 0 -> 40389 bytes .../extract-in-quotes-2-1.png | Bin 0 -> 42826 bytes .../extractinquotes2/extract-in-quotes-2.exe | Bin 0 -> 5120 bytes .../extractinquotes2/extract-in-quotes-2.png | Bin 0 -> 30848 bytes .../extractinquotes2/extract-in-quotes.exe | Bin 0 -> 5120 bytes Results/extractinquotes2/history-2.txt | 1885 +++++++++++++++++ Results/extractinquotes2/history.txt | 370 ++++ 9 files changed, 2280 insertions(+), 14 deletions(-) rename AIProgrammer.Fitness/Concrete/{Research/ExtractInQuotesExtraFitness.cs => ExtractInQuotes2Fitness.cs} (83%) create mode 100644 Results/extractinquotes2/extract-in-quotes-1.png create mode 100644 Results/extractinquotes2/extract-in-quotes-2-1.png create mode 100644 Results/extractinquotes2/extract-in-quotes-2.exe create mode 100644 Results/extractinquotes2/extract-in-quotes-2.png create mode 100644 Results/extractinquotes2/extract-in-quotes.exe create mode 100644 Results/extractinquotes2/history-2.txt create mode 100644 Results/extractinquotes2/history.txt diff --git a/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj b/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj index ec78ce8..316978a 100644 --- a/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj +++ b/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj @@ -55,7 +55,7 @@ - + diff --git a/AIProgrammer.Fitness/Concrete/Research/ExtractInQuotesExtraFitness.cs b/AIProgrammer.Fitness/Concrete/ExtractInQuotes2Fitness.cs similarity index 83% rename from AIProgrammer.Fitness/Concrete/Research/ExtractInQuotesExtraFitness.cs rename to AIProgrammer.Fitness/Concrete/ExtractInQuotes2Fitness.cs index cd26ffb..b39d311 100644 --- a/AIProgrammer.Fitness/Concrete/Research/ExtractInQuotesExtraFitness.cs +++ b/AIProgrammer.Fitness/Concrete/ExtractInQuotes2Fitness.cs @@ -14,12 +14,12 @@ namespace AIProgrammer.Fitness.Concrete { /// - /// Outputs the text inside quotes, with additional text in front of it. + /// Outputs the text inside quotes, with additional text before and after. /// - public class ExtractInQuotesExtraFitness : FitnessBase + public class ExtractInQuotes2Fitness : FitnessBase { - private static string[] _trainingExamples = { "dot \"inside\"", "mil \"test\"", "fin \"foresting\"" }; - private static string[] _trainingResults = new string[] { "inside", "test", "foresting" }; + private static string[] _trainingExamples = { "alice \"inside\" over", "xy \"test\" rights", "hopping \"foresting\" bat", "more \"steady\" working" }; + private static string[] _trainingResults = new string[] { "inside", "test", "foresting", "steady" }; #region Settings @@ -72,7 +72,7 @@ public override int? ExpandRate #endregion - public ExtractInQuotesExtraFitness(GA ga, int maxIterationCount, string appendFunctions = null) + public ExtractInQuotes2Fitness(GA ga, int maxIterationCount, string appendFunctions = null) : base(ga, maxIterationCount, appendFunctions) { if (_targetFitness == 0) @@ -81,6 +81,7 @@ public ExtractInQuotesExtraFitness(GA ga, int maxIterationCount, string appendFu { _targetFitness += _trainingResults[i].Length * 256; _targetFitness += 10; // length fitness + _targetFitness += 10 * _trainingResults[i].Length; } } } @@ -97,9 +98,9 @@ protected override double GetFitnessMethod(string program) try { int state = 0; - HashSet memoryHash = new HashSet(); + //HashSet memoryHash = new HashSet(); int aBonus = 0; - + int quoteCount = 0; _console.Clear(); // Run the program. @@ -108,7 +109,11 @@ protected override double GetFitnessMethod(string program) if (state < _trainingExamples[i].Length) { // Store data in different memory positions, so that function can access the data. - memoryHash.Add(_bf.m_CurrentDataPointer); + //memoryHash.Add(_bf.m_CurrentDataPointer); + if (_trainingExamples[i][state] == '"') + { + quoteCount++; + } // Send input. return (byte)_trainingExamples[i][state++]; @@ -121,21 +126,27 @@ protected override double GetFitnessMethod(string program) }, (b) => { + if (_console.Length < _trainingResults[i].Length && quoteCount == 1) + { + // Only output whats in the quotes. + Fitness += 10; + } + _console.Append((char)b); }, (function) => { if (function == 'a' && aBonus < 2 && _bf.IsInsideLoop) { - countBonus += 50; - countBonus += (_bf.m_CurrentInstructionPointer + 1 < program.Length) && program[_bf.m_CurrentInstructionPointer + 1] == '!' ? 50 : 0; + countBonus += 25; + countBonus += (_bf.m_CurrentInstructionPointer + 1 < program.Length) && program[_bf.m_CurrentInstructionPointer + 1] == '!' ? 25 : 0; aBonus++; - } + } }, new Function[] { new Function() { MaxIterationCount = 100 } }); _bf.Run(_maxIterationCount); // Give a bonus for using multiple memory registers, supporting diversity. - countBonus += memoryHash.Count * 25; + //countBonus += memoryHash.Count * 25; } catch { @@ -163,7 +174,7 @@ protected override double GetFitnessMethod(string program) IsFitnessAchieved(); // Bonus for less operations to optimize the code. - countBonus += ((_maxIterationCount - _bf.m_Ticks) / 20.0); + countBonus += ((_maxIterationCount - _bf.m_Ticks) / 1000.0); Ticks += _bf.m_Ticks; TotalTicks += _bf.m_TotalTicks; diff --git a/Results/extractinquotes2/extract-in-quotes-1.png b/Results/extractinquotes2/extract-in-quotes-1.png new file mode 100644 index 0000000000000000000000000000000000000000..3a7fe621c009849e6296c4afdaf9fdc6b6159feb GIT binary patch literal 40389 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 z%0A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 UpXNVJue>fQs9ngAH@^FS0KG}p*#H0l literal 0 HcmV?d00001 diff --git a/Results/extractinquotes2/extract-in-quotes-2-1.png b/Results/extractinquotes2/extract-in-quotes-2-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1f347016e90486dc52688d5bdc1695ad0739bbad GIT binary patch literal 42826 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%0AS(+^Tkl#q~MB9d0Dp{uA$Q0hfgP+ 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 literal 0 HcmV?d00001 diff --git a/Results/extractinquotes2/extract-in-quotes-2.png b/Results/extractinquotes2/extract-in-quotes-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b79e2ea09d4effab2a70fd11d70fa54ba21446 GIT binary patch literal 30848 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 NVsKi&SntxU{{?On-Wvb_ literal 0 HcmV?d00001 diff --git a/Results/extractinquotes2/extract-in-quotes.exe b/Results/extractinquotes2/extract-in-quotes.exe new file mode 100644 index 0000000000000000000000000000000000000000..86c13165c4f1ef879b8ebf366766a0b09c3c736b GIT binary patch literal 5120 zcmeHKO>7&-6@E+ohKdDQb_BPLlO-)DvMsLUNKIpxl1Q1d%0#vlNtWAKs=Zu}sEzlp zvrC4|!B7jdNO~x8DvBJ69*SO@L(m3pixfqVHhSpAhoa4?FmlNyryi1iZPG$ibD|H>a>*(BXtIm$!Dnv|()&-`O?{v(-A%3U z*r6UszamXnw@lCTBfTVaS@m?=(+kUMy6cyPap+KTv zHb9hwra#usoJj9^6CmhQb8W^ANfn*wh9N^~K~k~h z!1SVWKpiEA=nW|xABL*y209sQ7`3D1h~_&)#p=ASC>&dYdgxe+=x6YuK}Kb7|5G_K z*+uVT1jZgF2^u7i>Tew(IvQeilLLvL*yF>Ak$2^oM!{GQR3o2hXS5M|vOhCN(qJu| zCP{9#*&nyr`)!uNW81MlwSIlQK2A%rQ}-x$M@S|UfWQtUX$)sA`5c{oCNahb@AUlI z%k!FAg?LSC)5fGRH92+m94|)?IiPPLf)lrhK1F+v`L#&eUL|CUJ9w!I*n<;S)@TS5 z!YQN^i&u&Tv^wNE%kz$3LdylF+Tv3Q;^RR7Iyprn@g5);wUy{s(Xh<#E8M9XAK9eh zdAl<79OzXl&;Z?pO)tGmZ-U+iP13OTDGlO%Gqhe>*4VNPI!wRP-iGFn;JGk1Q*MXo zDbOAzt>|Fsr!);DjfPSz{pi>^*u>GzVaw0aQA&Y+l}>>U(OJ-EDNh^P^Hd~9%P9H+ zy-L5IL&BzTcUpjV))*4|XTv{%@F061fJU@(VE2M%bRVx*<Hbd_w!jvDRWcs7(THs|6BX7>jzZ?>$MIZ4Wsi&z%cJ1f^6Q9M>&Z|^T4o;eH_0Xsub@L!=ybY3KDiV? z>ySXdju+dYNutaJNCNf|Xc_tvH9%j1y;R&h^cGSPkD{#|*hRoOPZN0FP>%sw0@(!$ zkMV)=x*8S1w}H{@djc3SW(NIjOar4rAk;}qts+_v5650X6pZVGC^>$mRo7C%hqe(>|(%>0%5fBWX<##g34dK zJ3iQ@WBqhZJA9}cw7*a9(uR-s5B5+ZF*w)_lR;!{4Sg)p;Y@E|*WmD}M88IT8sme( zw+rPN&b#Z0k*m@SF8kg>-4X%6_v<^-e_BbmV|*FOI=^`(6f)erSrXPwAvX&myczkyX1$xLc_T ziD|SOxT9YOU7%HPMOvoIkc*%f!E^aT_a~p>1yg({nQIDsTX?XypmZB5?Obf8wjy5p zZ6pFNqr{`uRr>IdG8|ZPV(?)Tm-o7V2~Z6&MX-v~&cjH%%4QPjGJd9!z>qqTf)g0q zvM;E_WGS3rpC28zlSmJ3+YQ)CMAVLDQl(=~$to>l?*?Gcv*E-n(VB?=GN=ogFo!C7 z0!0mI>PkyArea!xR8b>1@drqcJi7{U`X=IdateRBsppw9erql)J=)K-nh&RAAD@jX z(r$$P-9M{`=frD}SLs^-zXXq*xc}QYgiD|N?!)X{-F5UD5+Ty*O!}-bnbw78`DI+g zX3|&IFJ@j!>tSSiWz+FJF_UhHFg-VWD48|GP`D+hp##7RXVO*aoe!-Y;hJH_wJqs~ z{&tkHeD}N=x<>76T6ay)-WFlB(di9Py1oZiEDPNBqQ<_6@FxRNd8P~Zmm2vXaBNFm z_6#!!(i1U4B rWZV8@#`8j2jf3w{SXErS8ci7*iJKYX6y+6Z*Kp^oi10B{r&_2w zN*f2M(yHrnYCgU_X}xOaE!=6bjN7IYisqyg$ixBBv_hZQ7khSM kZxLXSooMY41m5j0%VV#A9{<11ssFW)J?cxtFUSh~8|J;Y;s5{u literal 0 HcmV?d00001 diff --git a/Results/extractinquotes2/history-2.txt b/Results/extractinquotes2/history-2.txt new file mode 100644 index 0000000..c0123d1 --- /dev/null +++ b/Results/extractinquotes2/history-2.txt @@ -0,0 +1,1885 @@ +12/28/2016 10:22:24 PM,5489.746,0,0 +12/28/2016 10:22:25 PM,6403.646,0,100 +12/28/2016 10:22:26 PM,6403.698,0,200 +12/28/2016 10:22:28 PM,6403.698,0,300 +12/28/2016 10:22:29 PM,6403.722,0,400 +12/28/2016 10:22:31 PM,6403.748,0,500 +12/28/2016 10:22:32 PM,6403.756,0,600 +12/28/2016 10:22:33 PM,6403.756,0,700 +12/28/2016 10:22:34 PM,6403.756,0,800 +12/28/2016 10:22:36 PM,6403.768,0,900 +12/28/2016 10:22:37 PM,6403.768,0,1000 +12/28/2016 10:22:38 PM,6403.768,0,1100 +12/28/2016 10:22:40 PM,6403.768,0,1200 +12/28/2016 10:22:41 PM,6403.768,0,1300 +12/28/2016 10:22:42 PM,6403.768,0,1400 +12/28/2016 10:22:44 PM,6403.768,0,1500 +12/28/2016 10:22:45 PM,6403.768,0,1600 +12/28/2016 10:22:47 PM,6403.768,0,1700 +12/28/2016 10:22:48 PM,6403.768,0,1800 +12/28/2016 10:22:50 PM,6403.768,0,1900 +12/28/2016 10:22:54 PM,6403.768,0,2000 +12/28/2016 10:22:55 PM,6403.768,0,2100 +12/28/2016 10:22:56 PM,6403.768,0,2200 +12/28/2016 10:22:58 PM,6403.768,0,2300 +12/28/2016 10:22:59 PM,6403.772,0,2400 +12/28/2016 10:23:00 PM,6403.772,0,2500 +12/28/2016 10:23:01 PM,6408.738,0,2600 +12/28/2016 10:23:03 PM,6411.704,0,2700 +12/28/2016 10:23:04 PM,6411.704,0,2800 +12/28/2016 10:23:06 PM,6411.704,0,2900 +12/28/2016 10:23:07 PM,6421.704,0,3000 +12/28/2016 10:23:08 PM,6421.704,0,3100 +12/28/2016 10:23:10 PM,6421.704,0,3200 +12/28/2016 10:23:11 PM,6421.704,0,3300 +12/28/2016 10:23:13 PM,6421.704,0,3400 +12/28/2016 10:23:14 PM,6422.696,0,3500 +12/28/2016 10:23:16 PM,6422.696,0,3600 +12/28/2016 10:23:18 PM,6422.696,0,3700 +12/28/2016 10:23:19 PM,6422.696,0,3800 +12/28/2016 10:23:20 PM,6422.696,0,3900 +12/28/2016 10:23:22 PM,6433.728,0,4000 +12/28/2016 10:23:23 PM,6453.559,0,4100 +12/28/2016 10:23:25 PM,6470.63,0,4200 +12/28/2016 10:23:26 PM,6470.63,0,4300 +12/28/2016 10:23:27 PM,6470.63,0,4400 +12/28/2016 10:23:29 PM,6470.63,0,4500 +12/28/2016 10:23:30 PM,6470.63,0,4600 +12/28/2016 10:23:31 PM,6470.63,0,4700 +12/28/2016 10:23:32 PM,6470.63,0,4800 +12/28/2016 10:23:34 PM,6470.63,0,4900 +12/28/2016 10:23:35 PM,6470.63,0,5000 +12/28/2016 10:23:36 PM,6480.622,0,5100 +12/28/2016 10:23:37 PM,6481.571,0,5200 +12/28/2016 10:23:39 PM,6481.571,0,5300 +12/28/2016 10:23:40 PM,6481.571,0,5400 +12/28/2016 10:23:42 PM,6481.571,0,5500 +12/28/2016 10:23:43 PM,6481.571,0,5600 +12/28/2016 10:23:44 PM,6481.571,0,5700 +12/28/2016 10:23:50 PM,6489.178,0,5800 +12/28/2016 10:23:56 PM,6631.447,0,5900 +12/28/2016 10:24:00 PM,6632.518,0,6000 +12/28/2016 10:24:07 PM,6633.518,0,6100 +12/28/2016 10:24:10 PM,6633.522,0,6200 +12/28/2016 10:24:15 PM,6634.518,0,6300 +12/28/2016 10:24:19 PM,6634.656,0,6400 +12/28/2016 10:24:24 PM,6634.656,0,6500 +12/28/2016 10:24:30 PM,6637.518,0,6600 +12/28/2016 10:24:37 PM,6639.514,0,6700 +12/28/2016 10:24:43 PM,6641.502,0,6800 +12/28/2016 10:24:46 PM,6641.502,0,6900 +12/28/2016 10:24:52 PM,6641.51,0,7000 +12/28/2016 10:24:57 PM,6641.51,0,7100 +12/28/2016 10:25:03 PM,6641.51,0,7200 +12/28/2016 10:25:08 PM,6642.51,0,7300 +12/28/2016 10:25:11 PM,6642.51,0,7400 +12/28/2016 10:25:17 PM,6642.51,0,7500 +12/28/2016 10:25:20 PM,6642.51,0,7600 +12/28/2016 10:25:23 PM,6642.51,0,7700 +12/28/2016 10:25:29 PM,6642.51,0,7800 +12/28/2016 10:25:33 PM,6642.51,0,7900 +12/28/2016 10:25:37 PM,6642.51,0,8000 +12/28/2016 10:25:41 PM,6642.51,0,8100 +12/28/2016 10:25:43 PM,6642.51,0,8200 +12/28/2016 10:25:46 PM,6642.51,0,8300 +12/28/2016 10:25:51 PM,6642.51,0,8400 +12/28/2016 10:25:56 PM,6642.51,0,8500 +12/28/2016 10:25:59 PM,6642.51,0,8600 +12/28/2016 10:26:02 PM,6642.51,0,8700 +12/28/2016 10:26:06 PM,6654.816,0,8800 +12/28/2016 10:26:13 PM,6654.816,0,8900 +12/28/2016 10:26:22 PM,6664.794,0,9000 +12/28/2016 10:26:29 PM,6664.808,0,9100 +12/28/2016 10:26:36 PM,6664.814,0,9200 +12/28/2016 10:26:40 PM,6664.818,0,9300 +12/28/2016 10:26:44 PM,6664.826,0,9400 +12/28/2016 10:26:51 PM,6664.826,0,9500 +12/28/2016 10:26:57 PM,6664.83,0,9600 +12/28/2016 10:27:06 PM,6664.83,0,9700 +12/28/2016 10:27:12 PM,6664.83,0,9800 +12/28/2016 10:27:16 PM,6664.83,0,9900 +12/28/2016 10:27:18 PM,6664.83,0,10000 +12/28/2016 10:27:21 PM,6664.83,0,10100 +12/28/2016 10:27:26 PM,6664.83,0,10200 +12/28/2016 10:27:30 PM,6664.83,0,10300 +12/28/2016 10:27:33 PM,6677.696,0,10400 +12/28/2016 10:27:37 PM,6677.722,0,10500 +12/28/2016 10:27:42 PM,6677.744,0,10600 +12/28/2016 10:27:44 PM,6677.766,0,10700 +12/28/2016 10:27:49 PM,6677.766,0,10800 +12/28/2016 10:27:54 PM,6677.776,0,10900 +12/28/2016 10:27:59 PM,6677.778,0,11000 +12/28/2016 10:28:03 PM,6677.778,0,11100 +12/28/2016 10:28:07 PM,6677.786,0,11200 +12/28/2016 10:28:09 PM,6677.794,0,11300 +12/28/2016 10:28:13 PM,6677.798,0,11400 +12/28/2016 10:28:16 PM,6677.798,0,11500 +12/28/2016 10:28:19 PM,6677.8,0,11600 +12/28/2016 10:28:26 PM,6677.8,0,11700 +12/28/2016 10:28:29 PM,6677.8,0,11800 +12/28/2016 10:28:32 PM,6677.8,0,11900 +12/28/2016 10:28:34 PM,6677.8,0,12000 +12/28/2016 10:28:36 PM,6677.8,0,12100 +12/28/2016 10:28:38 PM,6677.8,0,12200 +12/28/2016 10:28:40 PM,6677.8,0,12300 +12/28/2016 10:28:43 PM,6677.8,0,12400 +12/28/2016 10:28:45 PM,6677.8,0,12500 +12/28/2016 10:28:48 PM,6677.8,0,12600 +12/28/2016 10:28:51 PM,6677.8,0,12700 +12/28/2016 10:28:54 PM,6677.8,0,12800 +12/28/2016 10:28:58 PM,6677.8,0,12900 +12/28/2016 10:28:59 PM,6677.8,0,13000 +12/28/2016 10:29:02 PM,6677.8,0,13100 +12/28/2016 10:29:06 PM,6677.8,0,13200 +12/28/2016 10:29:11 PM,6677.8,0,13300 +12/28/2016 10:29:14 PM,6677.8,0,13400 +12/28/2016 10:29:19 PM,6677.8,0,13500 +12/28/2016 10:29:23 PM,6677.8,0,13600 +12/28/2016 10:29:28 PM,6677.8,0,13700 +12/28/2016 10:29:30 PM,6677.8,0,13800 +12/28/2016 10:29:35 PM,6677.8,0,13900 +12/28/2016 10:29:38 PM,6677.8,0,14000 +12/28/2016 10:29:42 PM,6677.8,0,14100 +12/28/2016 10:29:47 PM,6677.8,0,14200 +12/28/2016 10:29:52 PM,6677.8,0,14300 +12/28/2016 10:29:56 PM,6677.988,0,14400 +12/28/2016 10:30:00 PM,6677.988,0,14500 +12/28/2016 10:30:06 PM,6677.988,0,14600 +12/28/2016 10:30:10 PM,6677.988,0,14700 +12/28/2016 10:30:13 PM,6677.988,0,14800 +12/28/2016 10:30:15 PM,6677.988,0,14900 +12/28/2016 10:30:18 PM,6677.988,0,15000 +12/28/2016 10:30:20 PM,6677.988,0,15100 +12/28/2016 10:30:24 PM,6677.988,0,15200 +12/28/2016 10:30:26 PM,6677.988,0,15300 +12/28/2016 10:30:29 PM,6677.988,0,15400 +12/28/2016 10:30:32 PM,6677.988,0,15500 +12/28/2016 10:30:36 PM,6677.988,0,15600 +12/28/2016 10:30:39 PM,6677.988,0,15700 +12/28/2016 10:30:44 PM,6677.988,0,15800 +12/28/2016 10:30:46 PM,6677.988,0,15900 +12/28/2016 10:30:50 PM,6677.988,0,16000 +12/28/2016 10:30:56 PM,6728,0,16100 +12/28/2016 10:31:10 PM,6741,0,16200 +12/28/2016 10:31:24 PM,6741,0,16300 +12/28/2016 10:31:30 PM,6741,0,16400 +12/28/2016 10:31:40 PM,6741,0,16500 +12/28/2016 10:31:52 PM,6741,0,16600 +12/28/2016 10:32:03 PM,6741,0,16700 +12/28/2016 10:32:20 PM,6741,0,16800 +12/28/2016 10:32:35 PM,6741,0,16900 +12/28/2016 10:32:47 PM,6741,0,17000 +12/28/2016 10:32:56 PM,6741,0,17100 +12/28/2016 10:33:09 PM,6741,0,17200 +12/28/2016 10:33:16 PM,6741,0,17300 +12/28/2016 10:33:26 PM,6741,0,17400 +12/28/2016 10:33:36 PM,6741,0,17500 +12/28/2016 10:33:49 PM,6741,0,17600 +12/28/2016 10:34:01 PM,6741,0,17700 +12/28/2016 10:34:16 PM,6741,0,17800 +12/28/2016 10:34:29 PM,6741,0,17900 +12/28/2016 10:34:40 PM,6741,0,18000 +12/28/2016 10:34:54 PM,6741,0,18100 +12/28/2016 10:35:11 PM,6741,0,18200 +12/28/2016 10:35:21 PM,6741,0,18300 +12/28/2016 10:35:32 PM,6741,0,18400 +12/28/2016 10:35:47 PM,6741,0,18500 +12/28/2016 10:35:57 PM,6741,0,18600 +12/28/2016 10:36:09 PM,6741,0,18700 +12/28/2016 10:36:20 PM,6741,0,18800 +12/28/2016 10:36:30 PM,6741,0,18900 +12/28/2016 10:36:45 PM,6741,0,19000 +12/28/2016 10:36:57 PM,6741,0,19100 +12/28/2016 10:37:07 PM,6741,0,19200 +12/28/2016 10:37:18 PM,6741,0,19300 +12/28/2016 10:37:33 PM,6741,0,19400 +12/28/2016 10:37:49 PM,6741,0,19500 +12/28/2016 10:38:05 PM,6741,0,19600 +12/28/2016 10:38:16 PM,6741,0,19700 +12/28/2016 10:38:32 PM,6741,0,19800 +12/28/2016 10:38:48 PM,6741,0,19900 +12/28/2016 10:39:01 PM,6741,0,20000 +12/28/2016 10:39:13 PM,6753,0,20100 +12/28/2016 10:39:25 PM,6836.614,0,20200 +12/28/2016 10:39:31 PM,7059.664,0,20300 +12/28/2016 10:39:36 PM,7059.664,0,20400 +12/28/2016 10:39:41 PM,7059.664,0,20500 +12/28/2016 10:39:47 PM,7059.664,0,20600 +12/28/2016 10:39:52 PM,7059.664,0,20700 +12/28/2016 10:39:56 PM,7059.664,0,20800 +12/28/2016 10:40:01 PM,7059.682,0,20900 +12/28/2016 10:40:05 PM,7059.694,0,21000 +12/28/2016 10:40:10 PM,7059.708,0,21100 +12/28/2016 10:40:14 PM,7059.708,0,21200 +12/28/2016 10:40:18 PM,7059.708,0,21300 +12/28/2016 10:40:22 PM,7059.708,0,21400 +12/28/2016 10:40:28 PM,7059.728,0,21500 +12/28/2016 10:40:32 PM,7059.728,0,21600 +12/28/2016 10:40:39 PM,7059.736,0,21700 +12/28/2016 10:40:45 PM,7059.736,0,21800 +12/28/2016 10:40:49 PM,7059.736,0,21900 +12/28/2016 10:40:55 PM,7059.736,0,22000 +12/28/2016 10:41:01 PM,7059.74,0,22100 +12/28/2016 10:41:05 PM,7059.74,0,22200 +12/28/2016 10:41:10 PM,7059.75,0,22300 +12/28/2016 10:41:13 PM,7059.754,0,22400 +12/28/2016 10:41:18 PM,7059.754,0,22500 +12/28/2016 10:41:23 PM,7059.754,0,22600 +12/28/2016 10:41:26 PM,7059.754,0,22700 +12/28/2016 10:41:32 PM,7059.754,0,22800 +12/28/2016 10:41:39 PM,7059.754,0,22900 +12/28/2016 10:41:44 PM,7059.754,0,23000 +12/28/2016 10:41:50 PM,7059.754,0,23100 +12/28/2016 10:41:55 PM,7059.754,0,23200 +12/28/2016 10:41:58 PM,7059.754,0,23300 +12/28/2016 10:42:02 PM,7059.754,0,23400 +12/28/2016 10:42:06 PM,7059.754,0,23500 +12/28/2016 10:42:10 PM,7059.754,0,23600 +12/28/2016 10:42:17 PM,7059.754,0,23700 +12/28/2016 10:42:23 PM,7059.754,0,23800 +12/28/2016 10:42:28 PM,7059.754,0,23900 +12/28/2016 10:42:35 PM,7059.754,0,24000 +12/28/2016 10:42:41 PM,7059.754,0,24100 +12/28/2016 10:42:44 PM,7059.754,0,24200 +12/28/2016 10:42:50 PM,7059.754,0,24300 +12/28/2016 10:42:55 PM,7059.754,0,24400 +12/28/2016 10:42:58 PM,7059.754,0,24500 +12/28/2016 10:43:02 PM,7059.754,0,24600 +12/28/2016 10:43:06 PM,7059.754,0,24700 +12/28/2016 10:43:11 PM,7059.754,0,24800 +12/28/2016 10:43:17 PM,7059.754,0,24900 +12/28/2016 10:43:21 PM,7059.754,0,25000 +12/28/2016 10:43:26 PM,7059.754,0,25100 +12/28/2016 10:43:30 PM,7059.754,0,25200 +12/28/2016 10:43:34 PM,7059.754,0,25300 +12/28/2016 10:43:39 PM,7059.758,0,25400 +12/28/2016 10:43:45 PM,7059.758,0,25500 +12/28/2016 10:43:50 PM,7059.758,0,25600 +12/28/2016 10:43:55 PM,7059.758,0,25700 +12/28/2016 10:44:00 PM,7059.758,0,25800 +12/28/2016 10:44:04 PM,7059.758,0,25900 +12/28/2016 10:44:08 PM,7059.758,0,26000 +12/28/2016 10:44:14 PM,7059.758,0,26100 +12/28/2016 10:44:20 PM,7059.758,0,26200 +12/28/2016 10:44:24 PM,7059.758,0,26300 +12/28/2016 10:44:28 PM,7059.758,0,26400 +12/28/2016 10:44:33 PM,7059.758,0,26500 +12/28/2016 10:44:40 PM,7059.758,0,26600 +12/28/2016 10:44:45 PM,7059.758,0,26700 +12/28/2016 10:44:53 PM,7059.758,0,26800 +12/28/2016 10:44:59 PM,7059.758,0,26900 +12/28/2016 10:45:04 PM,7059.758,0,27000 +12/28/2016 10:45:10 PM,7059.758,0,27100 +12/28/2016 10:45:15 PM,7059.758,0,27200 +12/28/2016 10:45:18 PM,7059.758,0,27300 +12/28/2016 10:45:24 PM,7059.758,0,27400 +12/28/2016 10:45:29 PM,7059.758,0,27500 +12/28/2016 10:45:34 PM,7059.758,0,27600 +12/28/2016 10:45:40 PM,7059.758,0,27700 +12/28/2016 10:45:46 PM,7059.758,0,27800 +12/28/2016 10:45:51 PM,7059.758,0,27900 +12/28/2016 10:45:55 PM,7059.758,0,28000 +12/28/2016 10:46:01 PM,7059.758,0,28100 +12/28/2016 10:46:05 PM,7059.758,0,28200 +12/28/2016 10:46:09 PM,7059.758,0,28300 +12/28/2016 10:46:13 PM,7061.806,0,28400 +12/28/2016 10:46:18 PM,7061.806,0,28500 +12/28/2016 10:46:22 PM,7072.806,0,28600 +12/28/2016 10:46:27 PM,7074.806,0,28700 +12/28/2016 10:46:32 PM,7079.806,0,28800 +12/28/2016 10:46:36 PM,7079.806,0,28900 +12/28/2016 10:46:41 PM,7079.806,0,29000 +12/28/2016 10:46:44 PM,7079.806,0,29100 +12/28/2016 10:46:49 PM,7079.806,0,29200 +12/28/2016 10:46:54 PM,7079.826,0,29300 +12/28/2016 10:46:58 PM,7079.826,0,29400 +12/28/2016 10:47:02 PM,7079.826,0,29500 +12/28/2016 10:47:05 PM,7079.826,0,29600 +12/28/2016 10:47:09 PM,7079.826,0,29700 +12/28/2016 10:47:14 PM,7079.826,0,29800 +12/28/2016 10:47:22 PM,7079.826,0,29900 +12/28/2016 10:47:29 PM,7079.826,0,30000 +12/28/2016 10:47:35 PM,7079.818,0,30100 +12/28/2016 10:47:43 PM,7079.83,0,30200 +12/28/2016 10:47:48 PM,7079.83,0,30300 +12/28/2016 10:47:54 PM,7079.83,0,30400 +12/28/2016 10:48:02 PM,7079.83,0,30500 +12/28/2016 10:48:07 PM,7079.83,0,30600 +12/28/2016 10:48:11 PM,7079.83,0,30700 +12/28/2016 10:48:16 PM,7079.83,0,30800 +12/28/2016 10:48:20 PM,7079.83,0,30900 +12/28/2016 10:48:25 PM,7079.83,0,31000 +12/28/2016 10:48:29 PM,7079.83,0,31100 +12/28/2016 10:48:35 PM,7079.83,0,31200 +12/28/2016 10:48:42 PM,7079.83,0,31300 +12/28/2016 10:48:46 PM,7079.83,0,31400 +12/28/2016 10:48:50 PM,7079.83,0,31500 +12/28/2016 10:48:55 PM,7079.83,0,31600 +12/28/2016 10:49:01 PM,7079.83,0,31700 +12/28/2016 10:49:06 PM,7079.83,0,31800 +12/28/2016 10:49:15 PM,7079.83,0,31900 +12/28/2016 10:49:20 PM,7079.83,0,32000 +12/28/2016 10:49:24 PM,7079.83,0,32100 +12/28/2016 10:49:28 PM,7079.83,0,32200 +12/28/2016 10:49:34 PM,7079.83,0,32300 +12/28/2016 10:49:38 PM,7079.83,0,32400 +12/28/2016 10:49:44 PM,7079.83,0,32500 +12/28/2016 10:49:49 PM,7079.83,0,32600 +12/28/2016 10:49:56 PM,7079.83,0,32700 +12/28/2016 10:50:00 PM,7079.83,0,32800 +12/28/2016 10:50:06 PM,7079.83,0,32900 +12/28/2016 10:50:12 PM,7079.83,0,33000 +12/28/2016 10:50:17 PM,7079.83,0,33100 +12/28/2016 10:50:24 PM,7079.83,0,33200 +12/28/2016 10:50:30 PM,7079.83,0,33300 +12/28/2016 10:50:36 PM,7079.83,0,33400 +12/28/2016 10:50:41 PM,7079.83,0,33500 +12/28/2016 10:50:45 PM,7079.83,0,33600 +12/28/2016 10:50:50 PM,7079.83,0,33700 +12/28/2016 10:50:53 PM,7079.83,0,33800 +12/28/2016 10:50:59 PM,7079.83,0,33900 +12/28/2016 10:51:05 PM,7079.83,0,34000 +12/28/2016 10:51:10 PM,7079.83,0,34100 +12/28/2016 10:51:15 PM,7079.83,0,34200 +12/28/2016 10:51:20 PM,7079.83,0,34300 +12/28/2016 10:51:24 PM,7079.83,0,34400 +12/28/2016 10:51:32 PM,7079.83,0,34500 +12/28/2016 10:51:38 PM,7079.83,0,34600 +12/28/2016 10:51:43 PM,7079.83,0,34700 +12/28/2016 10:51:47 PM,7079.83,0,34800 +12/28/2016 10:51:52 PM,7079.83,0,34900 +12/28/2016 10:51:57 PM,7079.83,0,35000 +12/28/2016 10:52:03 PM,7079.83,0,35100 +12/28/2016 10:52:09 PM,7079.83,0,35200 +12/28/2016 10:52:14 PM,7079.83,0,35300 +12/28/2016 10:52:18 PM,7079.83,0,35400 +12/28/2016 10:52:22 PM,7079.83,0,35500 +12/28/2016 10:52:28 PM,7079.83,0,35600 +12/28/2016 10:52:33 PM,7079.83,0,35700 +12/28/2016 10:52:37 PM,7079.83,0,35800 +12/28/2016 10:52:43 PM,7079.83,0,35900 +12/28/2016 10:52:47 PM,7079.83,0,36000 +12/28/2016 10:52:53 PM,7079.83,0,36100 +12/28/2016 10:53:00 PM,7079.83,0,36200 +12/28/2016 10:53:05 PM,7079.83,0,36300 +12/28/2016 10:53:09 PM,7079.83,0,36400 +12/28/2016 10:53:17 PM,7079.83,0,36500 +12/28/2016 10:53:21 PM,7079.83,0,36600 +12/28/2016 10:53:25 PM,7079.83,0,36700 +12/28/2016 10:53:29 PM,7079.83,0,36800 +12/28/2016 10:53:33 PM,7079.83,0,36900 +12/28/2016 10:53:41 PM,7079.83,0,37000 +12/28/2016 10:53:46 PM,7079.83,0,37100 +12/28/2016 10:53:51 PM,7079.83,0,37200 +12/28/2016 10:53:57 PM,7079.83,0,37300 +12/28/2016 10:54:00 PM,7079.83,0,37400 +12/28/2016 10:54:09 PM,7079.83,0,37500 +12/28/2016 10:54:14 PM,7079.83,0,37600 +12/28/2016 10:54:20 PM,7079.83,0,37700 +12/28/2016 10:54:24 PM,7079.83,0,37800 +12/28/2016 10:54:28 PM,7079.83,0,37900 +12/28/2016 10:54:33 PM,7079.83,0,38000 +12/28/2016 10:54:39 PM,7079.83,0,38100 +12/28/2016 10:54:44 PM,7079.83,0,38200 +12/28/2016 10:54:47 PM,7079.83,0,38300 +12/28/2016 10:54:54 PM,7079.83,0,38400 +12/28/2016 10:54:59 PM,7079.83,0,38500 +12/28/2016 10:55:05 PM,7079.83,0,38600 +12/28/2016 10:55:11 PM,7079.83,0,38700 +12/28/2016 10:55:16 PM,7079.83,0,38800 +12/28/2016 10:55:20 PM,7079.83,0,38900 +12/28/2016 10:55:24 PM,7079.83,0,39000 +12/28/2016 10:55:30 PM,7079.83,0,39100 +12/28/2016 10:55:38 PM,7079.83,0,39200 +12/28/2016 10:55:42 PM,7079.83,0,39300 +12/28/2016 10:55:47 PM,7079.83,0,39400 +12/28/2016 10:55:53 PM,7079.83,0,39500 +12/28/2016 10:55:57 PM,7079.83,0,39600 +12/28/2016 10:56:06 PM,7079.83,0,39700 +12/28/2016 10:56:11 PM,7079.83,0,39800 +12/28/2016 10:56:15 PM,7079.83,0,39900 +12/28/2016 10:56:21 PM,7079.83,0,40000 +12/28/2016 10:56:26 PM,7079.83,0,40100 +12/28/2016 10:56:31 PM,7079.83,0,40200 +12/28/2016 10:56:37 PM,7079.83,0,40300 +12/28/2016 10:56:42 PM,7079.83,0,40400 +12/28/2016 10:56:46 PM,7079.83,0,40500 +12/28/2016 10:56:51 PM,7079.83,0,40600 +12/28/2016 10:56:58 PM,7079.83,0,40700 +12/28/2016 10:57:03 PM,7079.83,0,40800 +12/28/2016 10:57:10 PM,7079.83,0,40900 +12/28/2016 10:57:14 PM,7079.83,0,41000 +12/28/2016 10:57:19 PM,7079.83,0,41100 +12/28/2016 10:57:25 PM,7079.83,0,41200 +12/28/2016 10:57:29 PM,7079.83,0,41300 +12/28/2016 10:57:33 PM,7079.83,0,41400 +12/28/2016 10:57:36 PM,7079.924,0,41500 +12/28/2016 10:57:42 PM,7079.924,0,41600 +12/28/2016 10:57:47 PM,7079.924,0,41700 +12/28/2016 10:57:54 PM,7079.924,0,41800 +12/28/2016 10:57:59 PM,7079.924,0,41900 +12/28/2016 10:58:06 PM,7079.924,0,42000 +12/28/2016 10:58:12 PM,7079.924,0,42100 +12/28/2016 10:58:19 PM,7079.924,0,42200 +12/28/2016 10:58:26 PM,7079.924,0,42300 +12/28/2016 10:58:31 PM,7079.924,0,42400 +12/28/2016 10:58:37 PM,7079.924,0,42500 +12/28/2016 10:58:42 PM,7079.924,0,42600 +12/28/2016 10:58:47 PM,7079.924,0,42700 +12/28/2016 10:58:53 PM,7079.924,0,42800 +12/28/2016 10:59:00 PM,7079.924,0,42900 +12/28/2016 10:59:09 PM,7079.924,0,43000 +12/28/2016 10:59:13 PM,7079.924,0,43100 +12/28/2016 10:59:17 PM,7079.924,0,43200 +12/28/2016 10:59:22 PM,7079.924,0,43300 +12/28/2016 10:59:26 PM,7079.924,0,43400 +12/28/2016 10:59:31 PM,7079.924,0,43500 +12/28/2016 10:59:36 PM,7079.924,0,43600 +12/28/2016 10:59:43 PM,7079.924,0,43700 +12/28/2016 10:59:50 PM,7079.924,0,43800 +12/28/2016 10:59:58 PM,7079.924,0,43900 +12/28/2016 11:00:05 PM,7079.924,0,44000 +12/28/2016 11:00:11 PM,7079.924,0,44100 +12/28/2016 11:00:19 PM,7079.924,0,44200 +12/28/2016 11:00:24 PM,7079.924,0,44300 +12/28/2016 11:00:28 PM,7079.924,0,44400 +12/28/2016 11:00:33 PM,7079.924,0,44500 +12/28/2016 11:00:37 PM,7079.924,0,44600 +12/28/2016 11:00:42 PM,7079.924,0,44700 +12/28/2016 11:00:47 PM,7079.924,0,44800 +12/28/2016 11:00:54 PM,7079.924,0,44900 +12/28/2016 11:01:02 PM,7079.924,0,45000 +12/28/2016 11:01:08 PM,7079.988,0,45100 +12/28/2016 11:01:11 PM,7079.988,0,45200 +12/28/2016 11:01:18 PM,7079.988,0,45300 +12/28/2016 11:01:26 PM,7079.988,0,45400 +12/28/2016 11:01:33 PM,7079.988,0,45500 +12/28/2016 11:01:37 PM,7079.988,0,45600 +12/28/2016 11:01:41 PM,7079.988,0,45700 +12/28/2016 11:01:46 PM,7079.988,0,45800 +12/28/2016 11:01:51 PM,7079.988,0,45900 +12/28/2016 11:01:55 PM,7079.988,0,46000 +12/28/2016 11:02:01 PM,7079.988,0,46100 +12/28/2016 11:02:05 PM,7079.988,0,46200 +12/28/2016 11:02:08 PM,7079.988,0,46300 +12/28/2016 11:02:11 PM,7079.988,0,46400 +12/28/2016 11:02:14 PM,7079.988,0,46500 +12/28/2016 11:02:19 PM,7079.988,0,46600 +12/28/2016 11:02:23 PM,7079.988,0,46700 +12/28/2016 11:02:27 PM,7079.988,0,46800 +12/28/2016 11:02:32 PM,7079.988,0,46900 +12/28/2016 11:02:38 PM,7079.988,0,47000 +12/28/2016 11:02:43 PM,7079.988,0,47100 +12/28/2016 11:02:47 PM,7079.988,0,47200 +12/28/2016 11:02:52 PM,7079.988,0,47300 +12/28/2016 11:02:57 PM,7079.988,0,47400 +12/28/2016 11:03:00 PM,7079.988,0,47500 +12/28/2016 11:03:03 PM,7079.988,0,47600 +12/28/2016 11:03:08 PM,7079.988,0,47700 +12/28/2016 11:03:12 PM,7079.988,0,47800 +12/28/2016 11:03:16 PM,7079.988,0,47900 +12/28/2016 11:03:20 PM,7079.988,0,48000 +12/28/2016 11:03:24 PM,7079.988,0,48100 +12/28/2016 11:03:29 PM,7079.988,0,48200 +12/28/2016 11:03:32 PM,7079.988,0,48300 +12/28/2016 11:03:36 PM,7079.988,0,48400 +12/28/2016 11:03:40 PM,7079.988,0,48500 +12/28/2016 11:03:45 PM,7079.988,0,48600 +12/28/2016 11:03:49 PM,7079.988,0,48700 +12/28/2016 11:03:52 PM,7079.988,0,48800 +12/28/2016 11:03:56 PM,7079.988,0,48900 +12/28/2016 11:04:02 PM,7079.988,0,49000 +12/28/2016 11:04:09 PM,7079.988,0,49100 +12/28/2016 11:04:17 PM,7079.988,0,49200 +12/28/2016 11:04:24 PM,7079.988,0,49300 +12/28/2016 11:04:28 PM,7079.988,0,49400 +12/28/2016 11:04:33 PM,7079.988,0,49500 +12/28/2016 11:04:39 PM,7079.988,0,49600 +12/28/2016 11:04:45 PM,7079.988,0,49700 +12/28/2016 11:04:52 PM,7079.988,0,49800 +12/28/2016 11:04:56 PM,7079.988,0,49900 +12/28/2016 11:05:01 PM,7079.988,0,50000 +12/28/2016 11:05:05 PM,7079.988,0,50100 +12/28/2016 11:05:09 PM,7079.988,0,50200 +12/28/2016 11:05:16 PM,7079.988,0,50300 +12/28/2016 11:05:20 PM,7079.988,0,50400 +12/28/2016 11:05:26 PM,7079.988,0,50500 +12/28/2016 11:05:30 PM,7079.988,0,50600 +12/28/2016 11:05:34 PM,7079.988,0,50700 +12/28/2016 11:05:37 PM,7079.988,0,50800 +12/28/2016 11:05:44 PM,7079.988,0,50900 +12/28/2016 11:05:48 PM,7079.988,0,51000 +12/28/2016 11:05:52 PM,7079.988,0,51100 +12/28/2016 11:05:57 PM,7079.988,0,51200 +12/28/2016 11:06:00 PM,7079.988,0,51300 +12/28/2016 11:06:04 PM,7079.988,0,51400 +12/28/2016 11:06:09 PM,7079.988,0,51500 +12/28/2016 11:06:13 PM,7079.988,0,51600 +12/28/2016 11:06:16 PM,7079.988,0,51700 +12/28/2016 11:06:20 PM,7079.988,0,51800 +12/28/2016 11:06:23 PM,7079.988,0,51900 +12/28/2016 11:06:29 PM,7079.988,0,52000 +12/28/2016 11:06:32 PM,7079.988,0,52100 +12/28/2016 11:06:35 PM,7079.988,0,52200 +12/28/2016 11:06:38 PM,7079.988,0,52300 +12/28/2016 11:06:42 PM,7079.988,0,52400 +12/28/2016 11:06:44 PM,7079.988,0,52500 +12/28/2016 11:06:49 PM,7079.988,0,52600 +12/28/2016 11:06:57 PM,7079.988,0,52700 +12/28/2016 11:07:02 PM,7079.988,0,52800 +12/28/2016 11:07:06 PM,7079.988,0,52900 +12/28/2016 11:07:11 PM,7079.988,0,53000 +12/28/2016 11:07:15 PM,7079.988,0,53100 +12/28/2016 11:07:19 PM,7079.988,0,53200 +12/28/2016 11:07:23 PM,7079.988,0,53300 +12/28/2016 11:07:26 PM,7079.988,0,53400 +12/28/2016 11:07:30 PM,7079.988,0,53500 +12/28/2016 11:07:34 PM,7079.988,0,53600 +12/28/2016 11:07:39 PM,7079.988,0,53700 +12/28/2016 11:07:41 PM,7079.988,0,53800 +12/28/2016 11:07:46 PM,7079.988,0,53900 +12/28/2016 11:07:50 PM,7079.988,0,54000 +12/28/2016 11:07:54 PM,7079.988,0,54100 +12/28/2016 11:08:01 PM,7079.988,0,54200 +12/28/2016 11:08:05 PM,7079.988,0,54300 +12/28/2016 11:08:09 PM,7079.988,0,54400 +12/28/2016 11:08:14 PM,7079.988,0,54500 +12/28/2016 11:08:25 PM,7079.988,0,54600 +12/28/2016 11:08:33 PM,7079.988,0,54700 +12/28/2016 11:08:38 PM,7079.988,0,54800 +12/28/2016 11:08:42 PM,7079.988,0,54900 +12/28/2016 11:08:46 PM,7079.988,0,55000 +12/28/2016 11:08:50 PM,7079.988,0,55100 +12/28/2016 11:08:57 PM,7079.988,0,55200 +12/28/2016 11:09:01 PM,7079.988,0,55300 +12/28/2016 11:09:06 PM,7079.988,0,55400 +12/28/2016 11:09:11 PM,7079.988,0,55500 +12/28/2016 11:09:15 PM,7079.988,0,55600 +12/28/2016 11:09:25 PM,7079.988,0,55700 +12/28/2016 11:09:34 PM,7079.988,0,55800 +12/28/2016 11:09:42 PM,7079.988,0,55900 +12/28/2016 11:09:48 PM,7079.988,0,56000 +12/28/2016 11:09:54 PM,7079.988,0,56100 +12/28/2016 11:09:58 PM,7079.988,0,56200 +12/28/2016 11:10:02 PM,7079.988,0,56300 +12/28/2016 11:10:07 PM,7079.988,0,56400 +12/28/2016 11:10:11 PM,7079.988,0,56500 +12/28/2016 11:10:14 PM,7079.988,0,56600 +12/28/2016 11:10:19 PM,7079.988,0,56700 +12/28/2016 11:10:24 PM,7079.988,0,56800 +12/28/2016 11:10:29 PM,7079.988,0,56900 +12/28/2016 11:10:33 PM,7079.988,0,57000 +12/28/2016 11:10:38 PM,7079.988,0,57100 +12/28/2016 11:10:43 PM,7079.988,0,57200 +12/28/2016 11:10:48 PM,7079.988,0,57300 +12/28/2016 11:10:51 PM,7079.988,0,57400 +12/28/2016 11:10:54 PM,7079.988,0,57500 +12/28/2016 11:11:00 PM,7079.988,0,57600 +12/28/2016 11:11:04 PM,7079.988,0,57700 +12/28/2016 11:11:09 PM,7079.988,0,57800 +12/28/2016 11:11:13 PM,7079.988,0,57900 +12/28/2016 11:11:16 PM,7079.988,0,58000 +12/28/2016 11:11:21 PM,7079.988,0,58100 +12/28/2016 11:11:26 PM,7079.988,0,58200 +12/28/2016 11:11:29 PM,7079.988,0,58300 +12/28/2016 11:11:35 PM,7079.988,0,58400 +12/28/2016 11:11:41 PM,7079.988,0,58500 +12/28/2016 11:11:47 PM,7079.988,0,58600 +12/28/2016 11:11:52 PM,7079.988,0,58700 +12/28/2016 11:11:57 PM,7079.988,0,58800 +12/28/2016 11:12:02 PM,7079.988,0,58900 +12/28/2016 11:12:07 PM,7079.988,0,59000 +12/28/2016 11:12:12 PM,7079.988,0,59100 +12/28/2016 11:12:18 PM,7079.988,0,59200 +12/28/2016 11:12:22 PM,7079.988,0,59300 +12/28/2016 11:12:27 PM,7079.988,0,59400 +12/28/2016 11:12:32 PM,7079.988,0,59500 +12/28/2016 11:12:39 PM,7079.988,0,59600 +12/28/2016 11:12:45 PM,7079.988,0,59700 +12/28/2016 11:12:50 PM,7079.988,0,59800 +12/28/2016 11:12:55 PM,7079.988,0,59900 +12/28/2016 11:13:00 PM,7079.988,0,60000 +12/28/2016 11:13:04 PM,7079.988,0,60100 +12/28/2016 11:13:10 PM,7079.988,0,60200 +12/28/2016 11:13:15 PM,7079.988,0,60300 +12/28/2016 11:13:20 PM,7079.988,0,60400 +12/28/2016 11:13:26 PM,7079.988,0,60500 +12/28/2016 11:13:31 PM,7079.988,0,60600 +12/28/2016 11:13:35 PM,7079.988,0,60700 +12/28/2016 11:13:41 PM,7079.988,0,60800 +12/28/2016 11:13:47 PM,7079.988,0,60900 +12/28/2016 11:13:52 PM,7079.988,0,61000 +12/28/2016 11:13:57 PM,7079.988,0,61100 +12/28/2016 11:14:04 PM,7079.988,0,61200 +12/28/2016 11:14:11 PM,7079.988,0,61300 +12/28/2016 11:14:20 PM,7079.988,0,61400 +12/28/2016 11:14:31 PM,7079.988,0,61500 +12/28/2016 11:14:36 PM,7079.988,0,61600 +12/28/2016 11:14:40 PM,7079.988,0,61700 +12/28/2016 11:14:47 PM,7079.988,0,61800 +12/28/2016 11:14:51 PM,7079.988,0,61900 +12/28/2016 11:14:55 PM,7079.988,0,62000 +12/28/2016 11:14:59 PM,7079.988,0,62100 +12/28/2016 11:15:04 PM,7079.988,0,62200 +12/28/2016 11:15:09 PM,7079.988,0,62300 +12/28/2016 11:15:14 PM,7079.988,0,62400 +12/28/2016 11:15:18 PM,7079.988,0,62500 +12/28/2016 11:15:22 PM,7079.988,0,62600 +12/28/2016 11:15:25 PM,7079.988,0,62700 +12/28/2016 11:15:31 PM,7079.988,0,62800 +12/28/2016 11:15:35 PM,7079.988,0,62900 +12/28/2016 11:15:42 PM,7079.988,0,63000 +12/28/2016 11:15:49 PM,7079.988,0,63100 +12/28/2016 11:15:57 PM,7079.988,0,63200 +12/28/2016 11:16:01 PM,7079.988,0,63300 +12/28/2016 11:16:06 PM,7079.988,0,63400 +12/28/2016 11:16:14 PM,7079.988,0,63500 +12/28/2016 11:16:21 PM,7079.988,0,63600 +12/28/2016 11:16:25 PM,7079.988,0,63700 +12/28/2016 11:16:32 PM,7079.988,0,63800 +12/28/2016 11:16:39 PM,7079.988,0,63900 +12/28/2016 11:16:46 PM,7079.988,0,64000 +12/28/2016 11:16:53 PM,7079.988,0,64100 +12/28/2016 11:17:01 PM,7079.988,0,64200 +12/28/2016 11:17:06 PM,7079.988,0,64300 +12/28/2016 11:17:12 PM,7079.988,0,64400 +12/28/2016 11:17:17 PM,7079.988,0,64500 +12/28/2016 11:17:21 PM,7079.988,0,64600 +12/28/2016 11:17:24 PM,7079.988,0,64700 +12/28/2016 11:17:28 PM,7079.988,0,64800 +12/28/2016 11:17:33 PM,7079.988,0,64900 +12/28/2016 11:17:38 PM,7079.988,0,65000 +12/28/2016 11:17:44 PM,7079.988,0,65100 +12/28/2016 11:17:50 PM,7079.988,0,65200 +12/28/2016 11:17:57 PM,7079.988,0,65300 +12/28/2016 11:18:02 PM,7079.988,0,65400 +12/28/2016 11:18:14 PM,7079.988,0,65500 +12/28/2016 11:18:22 PM,7079.988,0,65600 +12/28/2016 11:18:27 PM,7079.988,0,65700 +12/28/2016 11:18:30 PM,7079.988,0,65800 +12/28/2016 11:18:34 PM,7079.988,0,65900 +12/28/2016 11:18:40 PM,7079.988,0,66000 +12/28/2016 11:18:49 PM,7079.988,0,66100 +12/28/2016 11:18:56 PM,7079.988,0,66200 +12/28/2016 11:18:59 PM,7079.988,0,66300 +12/28/2016 11:19:03 PM,7079.988,0,66400 +12/28/2016 11:19:09 PM,7079.988,0,66500 +12/28/2016 11:19:15 PM,7079.988,0,66600 +12/28/2016 11:19:20 PM,7079.988,0,66700 +12/28/2016 11:19:26 PM,7079.988,0,66800 +12/28/2016 11:19:31 PM,7079.988,0,66900 +12/28/2016 11:19:38 PM,7079.988,0,67000 +12/28/2016 11:19:44 PM,7079.988,0,67100 +12/28/2016 11:19:49 PM,7079.988,0,67200 +12/28/2016 11:19:55 PM,7079.988,0,67300 +12/28/2016 11:19:59 PM,7079.988,0,67400 +12/28/2016 11:20:05 PM,7079.988,0,67500 +12/28/2016 11:20:08 PM,7079.988,0,67600 +12/28/2016 11:20:11 PM,7079.988,0,67700 +12/28/2016 11:20:17 PM,7079.988,0,67800 +12/28/2016 11:20:21 PM,7079.988,0,67900 +12/28/2016 11:20:24 PM,7079.988,0,68000 +12/28/2016 11:20:30 PM,7079.988,0,68100 +12/28/2016 11:20:35 PM,7079.988,0,68200 +12/28/2016 11:20:39 PM,7079.988,0,68300 +12/28/2016 11:20:45 PM,7079.988,0,68400 +12/28/2016 11:20:50 PM,7079.988,0,68500 +12/28/2016 11:20:58 PM,7079.988,0,68600 +12/28/2016 11:21:02 PM,7079.988,0,68700 +12/28/2016 11:21:06 PM,7079.988,0,68800 +12/28/2016 11:21:10 PM,7079.988,0,68900 +12/28/2016 11:21:13 PM,7079.988,0,69000 +12/28/2016 11:21:18 PM,7079.988,0,69100 +12/28/2016 11:21:24 PM,7079.988,0,69200 +12/28/2016 11:21:28 PM,7079.988,0,69300 +12/28/2016 11:21:32 PM,7079.988,0,69400 +12/28/2016 11:21:36 PM,7079.988,0,69500 +12/28/2016 11:21:40 PM,7079.988,0,69600 +12/28/2016 11:21:44 PM,7079.988,0,69700 +12/28/2016 11:21:48 PM,7079.988,0,69800 +12/28/2016 11:21:54 PM,7079.988,0,69900 +12/28/2016 11:21:58 PM,7079.988,0,70000 +12/28/2016 11:22:06 PM,7079.988,0,70100 +12/28/2016 11:22:14 PM,7079.988,0,70200 +12/28/2016 11:22:18 PM,7079.988,0,70300 +12/28/2016 11:22:23 PM,7079.988,0,70400 +12/28/2016 11:22:27 PM,7079.988,0,70500 +12/28/2016 11:22:31 PM,7079.988,0,70600 +12/28/2016 11:22:35 PM,7079.988,0,70700 +12/28/2016 11:22:42 PM,7079.988,0,70800 +12/28/2016 11:22:47 PM,7079.988,0,70900 +12/28/2016 11:22:52 PM,7079.988,0,71000 +12/28/2016 11:22:59 PM,7079.988,0,71100 +12/28/2016 11:23:09 PM,7079.988,0,71200 +12/28/2016 11:23:17 PM,7079.988,0,71300 +12/28/2016 11:23:24 PM,7079.988,0,71400 +12/28/2016 11:23:32 PM,7079.988,0,71500 +12/28/2016 11:23:38 PM,7079.988,0,71600 +12/28/2016 11:23:45 PM,7079.988,0,71700 +12/28/2016 11:23:49 PM,7079.988,0,71800 +12/28/2016 11:23:54 PM,7079.988,0,71900 +12/28/2016 11:24:01 PM,7079.988,0,72000 +12/28/2016 11:24:07 PM,7079.988,0,72100 +12/28/2016 11:24:12 PM,7079.988,0,72200 +12/28/2016 11:24:16 PM,7079.988,0,72300 +12/28/2016 11:24:24 PM,7079.988,0,72400 +12/28/2016 11:24:31 PM,7079.988,0,72500 +12/28/2016 11:24:39 PM,7079.988,0,72600 +12/28/2016 11:24:44 PM,7079.988,0,72700 +12/28/2016 11:24:50 PM,7079.988,0,72800 +12/28/2016 11:24:58 PM,7079.988,0,72900 +12/28/2016 11:25:07 PM,7079.988,0,73000 +12/28/2016 11:25:15 PM,7079.988,0,73100 +12/28/2016 11:25:21 PM,7079.988,0,73200 +12/28/2016 11:25:27 PM,7079.988,0,73300 +12/28/2016 11:25:32 PM,7079.988,0,73400 +12/28/2016 11:25:36 PM,7079.988,0,73500 +12/28/2016 11:25:42 PM,7079.988,0,73600 +12/28/2016 11:25:48 PM,7079.988,0,73700 +12/28/2016 11:25:53 PM,7079.988,0,73800 +12/28/2016 11:25:59 PM,7079.988,0,73900 +12/28/2016 11:26:05 PM,7079.988,0,74000 +12/28/2016 11:26:09 PM,7079.988,0,74100 +12/28/2016 11:26:14 PM,7079.988,0,74200 +12/28/2016 11:26:19 PM,7079.988,0,74300 +12/28/2016 11:26:24 PM,7079.988,0,74400 +12/28/2016 11:26:30 PM,7079.988,0,74500 +12/28/2016 11:26:35 PM,7079.988,0,74600 +12/28/2016 11:26:40 PM,7079.988,0,74700 +12/28/2016 11:26:45 PM,7079.988,0,74800 +12/28/2016 11:26:51 PM,7079.988,0,74900 +12/28/2016 11:26:58 PM,7079.988,0,75000 +12/28/2016 11:27:04 PM,7079.988,0,75100 +12/28/2016 11:27:09 PM,7079.988,0,75200 +12/28/2016 11:27:16 PM,7079.988,0,75300 +12/28/2016 11:27:22 PM,7079.988,0,75400 +12/28/2016 11:27:31 PM,7079.988,0,75500 +12/28/2016 11:27:38 PM,7079.988,0,75600 +12/28/2016 11:27:44 PM,7079.988,0,75700 +12/28/2016 11:27:49 PM,7079.988,0,75800 +12/28/2016 11:27:56 PM,7079.988,0,75900 +12/28/2016 11:28:00 PM,7079.988,0,76000 +12/28/2016 11:28:06 PM,7079.988,0,76100 +12/28/2016 11:28:10 PM,7079.988,0,76200 +12/28/2016 11:28:16 PM,7079.988,0,76300 +12/28/2016 11:28:23 PM,7079.988,0,76400 +12/28/2016 11:28:30 PM,7079.988,0,76500 +12/28/2016 11:28:37 PM,7079.988,0,76600 +12/28/2016 11:28:42 PM,7079.988,0,76700 +12/28/2016 11:28:48 PM,7079.988,0,76800 +12/28/2016 11:28:56 PM,7079.988,0,76900 +12/28/2016 11:29:01 PM,7079.988,0,77000 +12/28/2016 11:29:05 PM,7079.988,0,77100 +12/28/2016 11:29:09 PM,7079.988,0,77200 +12/28/2016 11:29:15 PM,7079.988,0,77300 +12/28/2016 11:29:20 PM,7079.988,0,77400 +12/28/2016 11:29:25 PM,7079.988,0,77500 +12/28/2016 11:29:32 PM,7079.988,0,77600 +12/28/2016 11:29:37 PM,7079.988,0,77700 +12/28/2016 11:29:42 PM,7079.988,0,77800 +12/28/2016 11:29:49 PM,7079.988,0,77900 +12/28/2016 11:29:57 PM,7079.988,0,78000 +12/28/2016 11:29:59 PM,7079.988,0,78100 +12/28/2016 11:30:03 PM,7079.988,0,78200 +12/28/2016 11:30:09 PM,7079.988,0,78300 +12/28/2016 11:30:13 PM,7079.988,0,78400 +12/28/2016 11:30:18 PM,7079.988,0,78500 +12/28/2016 11:30:24 PM,7079.988,0,78600 +12/28/2016 11:30:27 PM,7079.988,0,78700 +12/28/2016 11:30:32 PM,7079.988,0,78800 +12/28/2016 11:30:35 PM,7079.988,0,78900 +12/28/2016 11:30:39 PM,7079.988,0,79000 +12/28/2016 11:30:43 PM,7079.988,0,79100 +12/28/2016 11:30:47 PM,7079.988,0,79200 +12/28/2016 11:30:52 PM,7079.988,0,79300 +12/28/2016 11:30:57 PM,7079.988,0,79400 +12/28/2016 11:31:04 PM,7079.988,0,79500 +12/28/2016 11:31:12 PM,7079.988,0,79600 +12/28/2016 11:31:17 PM,7079.988,0,79700 +12/28/2016 11:31:22 PM,7079.988,0,79800 +12/28/2016 11:31:27 PM,7079.988,0,79900 +12/28/2016 11:31:31 PM,7079.988,0,80000 +12/28/2016 11:31:36 PM,7079.988,0,80100 +12/28/2016 11:31:41 PM,7079.988,0,80200 +12/28/2016 11:31:45 PM,7079.988,0,80300 +12/28/2016 11:31:50 PM,7079.988,0,80400 +12/28/2016 11:31:54 PM,7079.988,0,80500 +12/28/2016 11:31:59 PM,7079.988,0,80600 +12/28/2016 11:32:03 PM,7079.988,0,80700 +12/28/2016 11:32:08 PM,7079.988,0,80800 +12/28/2016 11:32:14 PM,7079.988,0,80900 +12/28/2016 11:32:20 PM,7079.988,0,81000 +12/28/2016 11:32:25 PM,7079.988,0,81100 +12/28/2016 11:32:29 PM,7079.988,0,81200 +12/28/2016 11:32:34 PM,7079.988,0,81300 +12/28/2016 11:32:40 PM,7079.988,0,81400 +12/28/2016 11:32:46 PM,7079.988,0,81500 +12/28/2016 11:32:50 PM,7079.988,0,81600 +12/28/2016 11:32:53 PM,7079.988,0,81700 +12/28/2016 11:32:59 PM,7079.988,0,81800 +12/28/2016 11:33:04 PM,7079.988,0,81900 +12/28/2016 11:33:08 PM,7079.988,0,82000 +12/28/2016 11:33:15 PM,7079.988,0,82100 +12/28/2016 11:33:19 PM,7079.988,0,82200 +12/28/2016 11:33:27 PM,7079.988,0,82300 +12/28/2016 11:33:34 PM,7079.988,0,82400 +12/28/2016 11:33:37 PM,7079.988,0,82500 +12/28/2016 11:33:42 PM,7079.988,0,82600 +12/28/2016 11:33:46 PM,7079.988,0,82700 +12/28/2016 11:33:50 PM,7079.988,0,82800 +12/28/2016 11:33:57 PM,7079.988,0,82900 +12/28/2016 11:34:01 PM,7079.988,0,83000 +12/28/2016 11:34:04 PM,7079.988,0,83100 +12/28/2016 11:34:09 PM,7079.988,0,83200 +12/28/2016 11:34:14 PM,7079.988,0,83300 +12/28/2016 11:34:17 PM,7079.988,0,83400 +12/28/2016 11:34:23 PM,7079.988,0,83500 +12/28/2016 11:34:27 PM,7079.988,0,83600 +12/28/2016 11:34:31 PM,7079.988,0,83700 +12/28/2016 11:34:35 PM,7079.988,0,83800 +12/28/2016 11:34:39 PM,7079.988,0,83900 +12/28/2016 11:34:43 PM,7079.988,0,84000 +12/28/2016 11:34:46 PM,7079.988,0,84100 +12/28/2016 11:34:50 PM,7079.988,0,84200 +12/28/2016 11:34:54 PM,7079.988,0,84300 +12/28/2016 11:34:59 PM,7079.988,0,84400 +12/28/2016 11:35:05 PM,7079.988,0,84500 +12/28/2016 11:35:09 PM,7079.988,0,84600 +12/28/2016 11:35:14 PM,7079.988,0,84700 +12/28/2016 11:35:17 PM,7079.988,0,84800 +12/28/2016 11:35:20 PM,7079.988,0,84900 +12/28/2016 11:35:24 PM,7079.988,0,85000 +12/28/2016 11:35:28 PM,7079.988,0,85100 +12/28/2016 11:35:32 PM,7079.988,0,85200 +12/28/2016 11:35:36 PM,7079.988,0,85300 +12/28/2016 11:35:40 PM,7079.988,0,85400 +12/28/2016 11:35:45 PM,7079.988,0,85500 +12/28/2016 11:35:49 PM,7079.988,0,85600 +12/28/2016 11:35:53 PM,7079.988,0,85700 +12/28/2016 11:35:57 PM,7079.988,0,85800 +12/28/2016 11:36:01 PM,7079.988,0,85900 +12/28/2016 11:36:05 PM,7079.988,0,86000 +12/28/2016 11:36:09 PM,7079.988,0,86100 +12/28/2016 11:36:15 PM,7079.988,0,86200 +12/28/2016 11:36:19 PM,7089.124,0,86300 +12/28/2016 11:36:25 PM,7089.134,0,86400 +12/28/2016 11:36:32 PM,7089.134,0,86500 +12/28/2016 11:36:36 PM,7089.151,0,86600 +12/28/2016 11:36:42 PM,7089.151,0,86700 +12/28/2016 11:36:47 PM,7089.167,0,86800 +12/28/2016 11:36:51 PM,7089.167,0,86900 +12/28/2016 11:36:58 PM,7089.169,0,87000 +12/28/2016 11:37:06 PM,7089.171,0,87100 +12/28/2016 11:37:12 PM,7089.171,0,87200 +12/28/2016 11:37:18 PM,7089.171,0,87300 +12/28/2016 11:37:24 PM,7089.173,0,87400 +12/28/2016 11:37:32 PM,7089.177,0,87500 +12/28/2016 11:37:39 PM,7089.177,0,87600 +12/28/2016 11:37:45 PM,7089.177,0,87700 +12/28/2016 11:37:50 PM,7089.177,0,87800 +12/28/2016 11:37:55 PM,7089.177,0,87900 +12/28/2016 11:38:00 PM,7089.177,0,88000 +12/28/2016 11:38:06 PM,7089.177,0,88100 +12/28/2016 11:38:12 PM,7089.179,0,88200 +12/28/2016 11:38:17 PM,7089.179,0,88300 +12/28/2016 11:38:22 PM,7089.179,0,88400 +12/28/2016 11:38:27 PM,7089.179,0,88500 +12/28/2016 11:38:33 PM,7089.179,0,88600 +12/28/2016 11:38:38 PM,7089.181,0,88700 +12/28/2016 11:38:42 PM,7089.183,0,88800 +12/28/2016 11:38:47 PM,7089.183,0,88900 +12/28/2016 11:38:53 PM,7089.183,0,89000 +12/28/2016 11:38:57 PM,7089.183,0,89100 +12/28/2016 11:39:01 PM,7089.183,0,89200 +12/28/2016 11:39:06 PM,7089.183,0,89300 +12/28/2016 11:39:12 PM,7089.183,0,89400 +12/28/2016 11:39:17 PM,7089.183,0,89500 +12/28/2016 11:39:21 PM,7089.185,0,89600 +12/28/2016 11:39:26 PM,7089.185,0,89700 +12/28/2016 11:39:34 PM,7089.185,0,89800 +12/28/2016 11:39:41 PM,7089.355,0,89900 +12/28/2016 11:39:45 PM,7089.355,0,90000 +12/28/2016 11:39:49 PM,7069.778,0,90100 +12/28/2016 11:39:56 PM,7079.822,0,90200 +12/28/2016 11:40:02 PM,7079.822,0,90300 +12/28/2016 11:40:08 PM,7079.822,0,90400 +12/28/2016 11:40:12 PM,7079.826,0,90500 +12/28/2016 11:40:16 PM,7079.83,0,90600 +12/28/2016 11:40:23 PM,7079.83,0,90700 +12/28/2016 11:40:26 PM,7079.83,0,90800 +12/28/2016 11:40:30 PM,7079.83,0,90900 +12/28/2016 11:40:34 PM,7079.83,0,91000 +12/28/2016 11:40:39 PM,7079.83,0,91100 +12/28/2016 11:40:43 PM,7079.83,0,91200 +12/28/2016 11:40:45 PM,7079.83,0,91300 +12/28/2016 11:40:49 PM,7079.83,0,91400 +12/28/2016 11:40:54 PM,7079.83,0,91500 +12/28/2016 11:41:02 PM,7079.83,0,91600 +12/28/2016 11:41:07 PM,7079.83,0,91700 +12/28/2016 11:41:13 PM,7079.83,0,91800 +12/28/2016 11:41:17 PM,7079.83,0,91900 +12/28/2016 11:41:22 PM,7079.83,0,92000 +12/28/2016 11:41:26 PM,7079.83,0,92100 +12/28/2016 11:41:32 PM,7079.83,0,92200 +12/28/2016 11:41:37 PM,7079.83,0,92300 +12/28/2016 11:41:42 PM,7079.83,0,92400 +12/28/2016 11:41:46 PM,7079.83,0,92500 +12/28/2016 11:41:52 PM,7079.83,0,92600 +12/28/2016 11:41:55 PM,7079.83,0,92700 +12/28/2016 11:42:01 PM,7079.83,0,92800 +12/28/2016 11:42:05 PM,7079.83,0,92900 +12/28/2016 11:42:09 PM,7079.83,0,93000 +12/28/2016 11:42:13 PM,7079.83,0,93100 +12/28/2016 11:42:19 PM,7079.83,0,93200 +12/28/2016 11:42:24 PM,7079.83,0,93300 +12/28/2016 11:42:28 PM,7079.83,0,93400 +12/28/2016 11:42:31 PM,7079.83,0,93500 +12/28/2016 11:42:36 PM,7079.83,0,93600 +12/28/2016 11:42:41 PM,7079.83,0,93700 +12/28/2016 11:42:45 PM,7079.83,0,93800 +12/28/2016 11:42:52 PM,7079.83,0,93900 +12/28/2016 11:42:59 PM,7079.83,0,94000 +12/28/2016 11:43:07 PM,7079.83,0,94100 +12/28/2016 11:43:12 PM,7079.83,0,94200 +12/28/2016 11:43:17 PM,7079.83,0,94300 +12/28/2016 11:43:22 PM,7079.83,0,94400 +12/28/2016 11:43:24 PM,7079.83,0,94500 +12/28/2016 11:43:30 PM,7079.83,0,94600 +12/28/2016 11:43:36 PM,7079.83,0,94700 +12/28/2016 11:43:40 PM,7079.83,0,94800 +12/28/2016 11:43:45 PM,7079.83,0,94900 +12/28/2016 11:43:49 PM,7079.83,0,95000 +12/28/2016 11:43:53 PM,7079.83,0,95100 +12/28/2016 11:43:58 PM,7079.83,0,95200 +12/28/2016 11:44:02 PM,7079.83,0,95300 +12/28/2016 11:44:10 PM,7079.83,0,95400 +12/28/2016 11:44:14 PM,7079.83,0,95500 +12/28/2016 11:44:19 PM,7079.83,0,95600 +12/28/2016 11:44:24 PM,7079.83,0,95700 +12/28/2016 11:44:28 PM,7079.83,0,95800 +12/28/2016 11:44:32 PM,7079.83,0,95900 +12/28/2016 11:44:37 PM,7079.83,0,96000 +12/28/2016 11:44:42 PM,7079.83,0,96100 +12/28/2016 11:44:48 PM,7079.83,0,96200 +12/28/2016 11:44:53 PM,7079.83,0,96300 +12/28/2016 11:44:58 PM,7079.83,0,96400 +12/28/2016 11:45:04 PM,7079.83,0,96500 +12/28/2016 11:45:08 PM,7079.83,0,96600 +12/28/2016 11:45:13 PM,7079.83,0,96700 +12/28/2016 11:45:19 PM,7079.83,0,96800 +12/28/2016 11:45:25 PM,7079.83,0,96900 +12/28/2016 11:45:29 PM,7079.83,0,97000 +12/28/2016 11:45:32 PM,7079.83,0,97100 +12/28/2016 11:45:35 PM,7079.83,0,97200 +12/28/2016 11:45:42 PM,7079.83,0,97300 +12/28/2016 11:45:49 PM,7079.83,0,97400 +12/28/2016 11:45:53 PM,7079.83,0,97500 +12/28/2016 11:46:01 PM,7079.83,0,97600 +12/28/2016 11:46:05 PM,7079.83,0,97700 +12/28/2016 11:46:09 PM,7079.83,0,97800 +12/28/2016 11:46:15 PM,7079.83,0,97900 +12/28/2016 11:46:19 PM,7079.83,0,98000 +12/28/2016 11:46:23 PM,7079.83,0,98100 +12/28/2016 11:46:27 PM,7079.83,0,98200 +12/28/2016 11:46:31 PM,7079.83,0,98300 +12/28/2016 11:46:34 PM,7079.83,0,98400 +12/28/2016 11:46:39 PM,7079.83,0,98500 +12/28/2016 11:46:44 PM,7079.83,0,98600 +12/28/2016 11:46:49 PM,7079.83,0,98700 +12/28/2016 11:46:54 PM,7079.83,0,98800 +12/28/2016 11:46:58 PM,7079.83,0,98900 +12/28/2016 11:47:04 PM,7079.83,0,99000 +12/28/2016 11:47:08 PM,7079.83,0,99100 +12/28/2016 11:47:11 PM,7079.83,0,99200 +12/28/2016 11:47:18 PM,7079.83,0,99300 +12/28/2016 11:47:24 PM,7079.83,0,99400 +12/28/2016 11:47:30 PM,7079.83,0,99500 +12/28/2016 11:47:36 PM,7079.83,0,99600 +12/28/2016 11:47:42 PM,7079.83,0,99700 +12/28/2016 11:47:47 PM,7079.83,0,99800 +12/28/2016 11:47:52 PM,7079.83,0,99900 +12/28/2016 11:47:58 PM,7079.83,0,100000 +12/28/2016 11:48:04 PM,7079.83,0,100100 +12/28/2016 11:48:09 PM,7079.83,0,100200 +12/28/2016 11:48:15 PM,7079.83,0,100300 +12/28/2016 11:48:18 PM,7079.83,0,100400 +12/28/2016 11:48:23 PM,7079.83,0,100500 +12/28/2016 11:48:28 PM,7079.83,0,100600 +12/28/2016 11:48:31 PM,7079.83,0,100700 +12/28/2016 11:48:37 PM,7079.83,0,100800 +12/28/2016 11:48:42 PM,7079.83,0,100900 +12/28/2016 11:48:51 PM,7079.83,0,101000 +12/28/2016 11:48:55 PM,7079.83,0,101100 +12/28/2016 11:49:00 PM,7079.83,0,101200 +12/28/2016 11:49:04 PM,7079.83,0,101300 +12/28/2016 11:49:10 PM,7079.83,0,101400 +12/28/2016 11:49:15 PM,7079.83,0,101500 +12/28/2016 11:49:19 PM,7079.83,0,101600 +12/28/2016 11:49:24 PM,7079.83,0,101700 +12/28/2016 11:49:27 PM,7079.83,0,101800 +12/28/2016 11:49:31 PM,7079.83,0,101900 +12/28/2016 11:49:37 PM,7079.83,0,102000 +12/28/2016 11:49:43 PM,7079.83,0,102100 +12/28/2016 11:49:47 PM,7079.83,0,102200 +12/28/2016 11:49:53 PM,7079.83,0,102300 +12/28/2016 11:50:00 PM,7079.83,0,102400 +12/28/2016 11:50:06 PM,7079.83,0,102500 +12/28/2016 11:50:10 PM,7079.83,0,102600 +12/28/2016 11:50:18 PM,7079.83,0,102700 +12/28/2016 11:50:23 PM,7079.83,0,102800 +12/28/2016 11:50:30 PM,7079.83,0,102900 +12/28/2016 11:50:36 PM,7079.83,0,103000 +12/28/2016 11:50:40 PM,7079.83,0,103100 +12/28/2016 11:50:45 PM,7079.83,0,103200 +12/28/2016 11:50:50 PM,7079.83,0,103300 +12/28/2016 11:50:54 PM,7079.83,0,103400 +12/28/2016 11:50:59 PM,7079.83,0,103500 +12/28/2016 11:51:03 PM,7079.83,0,103600 +12/28/2016 11:51:08 PM,7079.83,0,103700 +12/28/2016 11:51:15 PM,7079.83,0,103800 +12/28/2016 11:51:18 PM,7079.83,0,103900 +12/28/2016 11:51:22 PM,7079.83,0,104000 +12/28/2016 11:51:30 PM,7079.83,0,104100 +12/28/2016 11:51:35 PM,7079.83,0,104200 +12/28/2016 11:51:39 PM,7079.83,0,104300 +12/28/2016 11:51:42 PM,7079.83,0,104400 +12/28/2016 11:51:47 PM,7079.83,0,104500 +12/28/2016 11:51:50 PM,7079.83,0,104600 +12/28/2016 11:51:55 PM,7079.83,0,104700 +12/28/2016 11:51:59 PM,7079.83,0,104800 +12/28/2016 11:52:03 PM,7079.83,0,104900 +12/28/2016 11:52:07 PM,7079.83,0,105000 +12/28/2016 11:52:11 PM,7079.83,0,105100 +12/28/2016 11:52:16 PM,7079.83,0,105200 +12/28/2016 11:52:21 PM,7079.83,0,105300 +12/28/2016 11:52:25 PM,7079.83,0,105400 +12/28/2016 11:52:29 PM,7079.83,0,105500 +12/28/2016 11:52:33 PM,7079.83,0,105600 +12/28/2016 11:52:39 PM,7079.83,0,105700 +12/28/2016 11:52:44 PM,7079.83,0,105800 +12/28/2016 11:52:48 PM,7079.83,0,105900 +12/28/2016 11:52:53 PM,7079.83,0,106000 +12/28/2016 11:52:57 PM,7079.83,0,106100 +12/28/2016 11:53:02 PM,7079.83,0,106200 +12/28/2016 11:53:07 PM,7079.83,0,106300 +12/28/2016 11:53:12 PM,7079.83,0,106400 +12/28/2016 11:53:19 PM,7079.83,0,106500 +12/28/2016 11:53:25 PM,7079.83,0,106600 +12/28/2016 11:53:29 PM,7079.83,0,106700 +12/28/2016 11:53:34 PM,7079.83,0,106800 +12/28/2016 11:53:41 PM,7079.83,0,106900 +12/28/2016 11:53:48 PM,7079.83,0,107000 +12/28/2016 11:53:55 PM,7079.83,0,107100 +12/28/2016 11:53:59 PM,7079.83,0,107200 +12/28/2016 11:54:04 PM,7079.83,0,107300 +12/28/2016 11:54:09 PM,7079.83,0,107400 +12/28/2016 11:54:12 PM,7079.83,0,107500 +12/28/2016 11:54:17 PM,7079.83,0,107600 +12/28/2016 11:54:22 PM,7079.83,0,107700 +12/28/2016 11:54:27 PM,7079.83,0,107800 +12/28/2016 11:54:31 PM,7079.83,0,107900 +12/28/2016 11:54:35 PM,7079.83,0,108000 +12/28/2016 11:54:40 PM,7079.83,0,108100 +12/28/2016 11:54:45 PM,7079.83,0,108200 +12/28/2016 11:54:51 PM,7079.83,0,108300 +12/28/2016 11:54:57 PM,7079.83,0,108400 +12/28/2016 11:55:02 PM,7079.924,0,108500 +12/28/2016 11:55:06 PM,7079.924,0,108600 +12/28/2016 11:55:12 PM,7079.924,0,108700 +12/28/2016 11:55:16 PM,7079.924,0,108800 +12/28/2016 11:55:21 PM,7079.924,0,108900 +12/28/2016 11:55:25 PM,7079.924,0,109000 +12/28/2016 11:55:30 PM,7079.924,0,109100 +12/28/2016 11:55:37 PM,7079.924,0,109200 +12/28/2016 11:55:41 PM,7079.924,0,109300 +12/28/2016 11:55:46 PM,7079.924,0,109400 +12/28/2016 11:55:49 PM,7079.924,0,109500 +12/28/2016 11:56:00 PM,7079.924,0,109600 +12/28/2016 11:56:04 PM,7079.924,0,109700 +12/28/2016 11:56:09 PM,7079.924,0,109800 +12/28/2016 11:56:13 PM,7079.924,0,109900 +12/28/2016 11:56:17 PM,7079.924,0,110000 +12/28/2016 11:56:21 PM,7079.924,0,110100 +12/28/2016 11:56:26 PM,7079.924,0,110200 +12/28/2016 11:56:29 PM,7079.924,0,110300 +12/28/2016 11:56:35 PM,7079.924,0,110400 +12/28/2016 11:56:42 PM,7079.924,0,110500 +12/28/2016 11:56:46 PM,7079.924,0,110600 +12/28/2016 11:56:51 PM,7079.924,0,110700 +12/28/2016 11:56:55 PM,7079.924,0,110800 +12/28/2016 11:57:00 PM,7079.924,0,110900 +12/28/2016 11:57:04 PM,7079.924,0,111000 +12/28/2016 11:57:09 PM,7079.924,0,111100 +12/28/2016 11:57:14 PM,7079.924,0,111200 +12/28/2016 11:57:19 PM,7079.924,0,111300 +12/28/2016 11:57:24 PM,7079.924,0,111400 +12/28/2016 11:57:28 PM,7079.988,0,111500 +12/28/2016 11:57:33 PM,7079.988,0,111600 +12/28/2016 11:57:38 PM,7079.988,0,111700 +12/28/2016 11:57:44 PM,7079.988,0,111800 +12/28/2016 11:57:52 PM,7079.988,0,111900 +12/28/2016 11:57:57 PM,7079.988,0,112000 +12/28/2016 11:58:00 PM,7079.988,0,112100 +12/28/2016 11:58:04 PM,7079.988,0,112200 +12/28/2016 11:58:09 PM,7079.988,0,112300 +12/28/2016 11:58:15 PM,7079.988,0,112400 +12/28/2016 11:58:19 PM,7079.988,0,112500 +12/28/2016 11:58:23 PM,7079.988,0,112600 +12/28/2016 11:58:30 PM,7079.988,0,112700 +12/28/2016 11:58:34 PM,7079.988,0,112800 +12/28/2016 11:58:37 PM,7079.988,0,112900 +12/28/2016 11:58:43 PM,7079.988,0,113000 +12/28/2016 11:58:48 PM,7079.988,0,113100 +12/28/2016 11:58:55 PM,7079.988,0,113200 +12/28/2016 11:59:00 PM,7079.988,0,113300 +12/28/2016 11:59:04 PM,7079.988,0,113400 +12/28/2016 11:59:09 PM,7079.988,0,113500 +12/28/2016 11:59:12 PM,7079.988,0,113600 +12/28/2016 11:59:16 PM,7079.988,0,113700 +12/28/2016 11:59:22 PM,7079.988,0,113800 +12/28/2016 11:59:27 PM,7079.988,0,113900 +12/28/2016 11:59:32 PM,7079.988,0,114000 +12/28/2016 11:59:41 PM,7079.988,0,114100 +12/28/2016 11:59:48 PM,7079.988,0,114200 +12/28/2016 11:59:55 PM,7079.988,0,114300 +12/29/2016 12:00:00 AM,7079.988,0,114400 +12/29/2016 12:00:05 AM,7079.988,0,114500 +12/29/2016 12:00:09 AM,7079.988,0,114600 +12/29/2016 12:00:15 AM,7079.988,0,114700 +12/29/2016 12:00:22 AM,7079.988,0,114800 +12/29/2016 12:00:28 AM,7079.988,0,114900 +12/29/2016 12:00:33 AM,7079.988,0,115000 +12/29/2016 12:00:37 AM,7079.924,0,115100 +12/29/2016 12:00:41 AM,7079.924,0,115200 +12/29/2016 12:00:45 AM,7079.924,0,115300 +12/29/2016 12:00:49 AM,7079.924,0,115400 +12/29/2016 12:00:53 AM,7079.924,0,115500 +12/29/2016 12:00:57 AM,7079.924,0,115600 +12/29/2016 12:01:00 AM,7079.924,0,115700 +12/29/2016 12:01:07 AM,7079.924,0,115800 +12/29/2016 12:01:11 AM,7079.924,0,115900 +12/29/2016 12:01:16 AM,7079.924,0,116000 +12/29/2016 12:01:20 AM,7079.924,0,116100 +12/29/2016 12:01:24 AM,7079.924,0,116200 +12/29/2016 12:01:28 AM,7079.924,0,116300 +12/29/2016 12:01:32 AM,7079.924,0,116400 +12/29/2016 12:01:37 AM,7079.924,0,116500 +12/29/2016 12:01:42 AM,7079.924,0,116600 +12/29/2016 12:01:46 AM,7079.924,0,116700 +12/29/2016 12:01:51 AM,7079.924,0,116800 +12/29/2016 12:01:56 AM,7079.924,0,116900 +12/29/2016 12:02:00 AM,7079.924,0,117000 +12/29/2016 12:02:04 AM,7079.924,0,117100 +12/29/2016 12:02:08 AM,7079.924,0,117200 +12/29/2016 12:02:12 AM,7079.924,0,117300 +12/29/2016 12:02:17 AM,7079.924,0,117400 +12/29/2016 12:02:21 AM,7079.924,0,117500 +12/29/2016 12:02:26 AM,7079.924,0,117600 +12/29/2016 12:02:30 AM,7079.924,0,117700 +12/29/2016 12:02:35 AM,7079.924,0,117800 +12/29/2016 12:02:41 AM,7079.924,0,117900 +12/29/2016 12:02:47 AM,7079.924,0,118000 +12/29/2016 12:02:55 AM,7079.924,0,118100 +12/29/2016 12:03:01 AM,7079.924,0,118200 +12/29/2016 12:03:09 AM,7079.924,0,118300 +12/29/2016 12:03:19 AM,7079.924,0,118400 +12/29/2016 12:03:26 AM,7079.924,0,118500 +12/29/2016 12:03:35 AM,7079.924,0,118600 +12/29/2016 12:03:41 AM,7079.924,0,118700 +12/29/2016 12:03:46 AM,7079.924,0,118800 +12/29/2016 12:03:52 AM,7079.924,0,118900 +12/29/2016 12:03:56 AM,7079.924,0,119000 +12/29/2016 12:04:01 AM,7079.924,0,119100 +12/29/2016 12:04:06 AM,7079.924,0,119200 +12/29/2016 12:04:12 AM,7079.924,0,119300 +12/29/2016 12:04:18 AM,7079.924,0,119400 +12/29/2016 12:04:25 AM,7079.924,0,119500 +12/29/2016 12:04:31 AM,7079.924,0,119600 +12/29/2016 12:04:37 AM,7079.924,0,119700 +12/29/2016 12:04:45 AM,7079.924,0,119800 +12/29/2016 12:04:50 AM,7079.924,0,119900 +12/29/2016 12:04:56 AM,7079.924,0,120000 +12/29/2016 12:05:00 AM,7079.924,0,120100 +12/29/2016 12:05:03 AM,7079.924,0,120200 +12/29/2016 12:05:07 AM,7079.924,0,120300 +12/29/2016 12:05:11 AM,7079.924,0,120400 +12/29/2016 12:05:20 AM,7079.924,0,120500 +12/29/2016 12:05:28 AM,7079.924,0,120600 +12/29/2016 12:05:32 AM,7079.924,0,120700 +12/29/2016 12:05:41 AM,7079.924,0,120800 +12/29/2016 12:05:50 AM,7079.924,0,120900 +12/29/2016 12:05:56 AM,7079.924,0,121000 +12/29/2016 12:06:01 AM,7079.924,0,121100 +12/29/2016 12:06:08 AM,7079.924,0,121200 +12/29/2016 12:06:14 AM,7079.924,0,121300 +12/29/2016 12:06:20 AM,7079.924,0,121400 +12/29/2016 12:06:25 AM,7079.924,0,121500 +12/29/2016 12:06:30 AM,7079.924,0,121600 +12/29/2016 12:06:35 AM,7079.924,0,121700 +12/29/2016 12:06:41 AM,7079.924,0,121800 +12/29/2016 12:06:48 AM,7079.924,0,121900 +12/29/2016 12:06:55 AM,7079.924,0,122000 +12/29/2016 12:07:02 AM,7079.924,0,122100 +12/29/2016 12:07:07 AM,7079.924,0,122200 +12/29/2016 12:07:17 AM,7079.924,0,122300 +12/29/2016 12:07:25 AM,7079.924,0,122400 +12/29/2016 12:07:32 AM,7079.924,0,122500 +12/29/2016 12:07:37 AM,7079.924,0,122600 +12/29/2016 12:07:43 AM,7079.924,0,122700 +12/29/2016 12:07:46 AM,7079.924,0,122800 +12/29/2016 12:07:52 AM,7079.924,0,122900 +12/29/2016 12:07:57 AM,7079.924,0,123000 +12/29/2016 12:08:03 AM,7079.924,0,123100 +12/29/2016 12:08:10 AM,7079.924,0,123200 +12/29/2016 12:08:16 AM,7079.924,0,123300 +12/29/2016 12:08:21 AM,7079.924,0,123400 +12/29/2016 12:08:28 AM,7079.924,0,123500 +12/29/2016 12:08:33 AM,7079.924,0,123600 +12/29/2016 12:08:40 AM,7079.924,0,123700 +12/29/2016 12:08:44 AM,7079.924,0,123800 +12/29/2016 12:08:50 AM,7079.924,0,123900 +12/29/2016 12:08:54 AM,7079.924,0,124000 +12/29/2016 12:08:58 AM,7079.924,0,124100 +12/29/2016 12:09:03 AM,7079.924,0,124200 +12/29/2016 12:09:08 AM,7079.924,0,124300 +12/29/2016 12:09:12 AM,7079.924,0,124400 +12/29/2016 12:09:15 AM,7079.924,0,124500 +12/29/2016 12:09:18 AM,7079.988,0,124600 +12/29/2016 12:09:22 AM,7079.988,0,124700 +12/29/2016 12:09:26 AM,7079.988,0,124800 +12/29/2016 12:09:32 AM,7079.988,0,124900 +12/29/2016 12:09:37 AM,7079.988,0,125000 +12/29/2016 12:09:43 AM,7079.988,0,125100 +12/29/2016 12:09:49 AM,7079.988,0,125200 +12/29/2016 12:09:55 AM,7079.988,0,125300 +12/29/2016 12:10:03 AM,7079.988,0,125400 +12/29/2016 12:10:08 AM,7079.988,0,125500 +12/29/2016 12:10:11 AM,7079.988,0,125600 +12/29/2016 12:10:15 AM,7079.988,0,125700 +12/29/2016 12:10:21 AM,7079.988,0,125800 +12/29/2016 12:10:24 AM,7079.988,0,125900 +12/29/2016 12:10:30 AM,7079.988,0,126000 +12/29/2016 12:10:33 AM,7079.988,0,126100 +12/29/2016 12:10:37 AM,7079.988,0,126200 +12/29/2016 12:10:41 AM,7079.988,0,126300 +12/29/2016 12:10:46 AM,7079.988,0,126400 +12/29/2016 12:10:51 AM,7079.988,0,126500 +12/29/2016 12:10:54 AM,7079.988,0,126600 +12/29/2016 12:10:58 AM,7079.988,0,126700 +12/29/2016 12:11:02 AM,7079.988,0,126800 +12/29/2016 12:11:08 AM,7079.988,0,126900 +12/29/2016 12:11:13 AM,7079.988,0,127000 +12/29/2016 12:11:17 AM,7079.988,0,127100 +12/29/2016 12:11:23 AM,7079.988,0,127200 +12/29/2016 12:11:28 AM,7079.988,0,127300 +12/29/2016 12:11:32 AM,7079.988,0,127400 +12/29/2016 12:11:38 AM,7079.988,0,127500 +12/29/2016 12:11:42 AM,7079.988,0,127600 +12/29/2016 12:11:46 AM,7079.988,0,127700 +12/29/2016 12:11:49 AM,7079.988,0,127800 +12/29/2016 12:11:53 AM,7079.988,0,127900 +12/29/2016 12:11:59 AM,7079.988,0,128000 +12/29/2016 12:12:06 AM,7079.988,0,128100 +12/29/2016 12:12:14 AM,7079.988,0,128200 +12/29/2016 12:12:20 AM,7079.988,0,128300 +12/29/2016 12:12:25 AM,7079.988,0,128400 +12/29/2016 12:12:29 AM,7079.988,0,128500 +12/29/2016 12:12:33 AM,7079.988,0,128600 +12/29/2016 12:12:37 AM,7079.988,0,128700 +12/29/2016 12:12:43 AM,7079.988,0,128800 +12/29/2016 12:12:48 AM,7079.988,0,128900 +12/29/2016 12:12:54 AM,7079.988,0,129000 +12/29/2016 12:12:59 AM,7079.988,0,129100 +12/29/2016 12:13:03 AM,7079.988,0,129200 +12/29/2016 12:13:09 AM,7079.988,0,129300 +12/29/2016 12:13:14 AM,7079.988,0,129400 +12/29/2016 12:13:20 AM,7079.988,0,129500 +12/29/2016 12:13:25 AM,7079.988,0,129600 +12/29/2016 12:13:33 AM,7079.988,0,129700 +12/29/2016 12:13:39 AM,7079.988,0,129800 +12/29/2016 12:13:46 AM,7079.988,0,129900 +12/29/2016 12:13:55 AM,7079.988,0,130000 +12/29/2016 12:14:04 AM,7079.988,0,130100 +12/29/2016 12:14:13 AM,7079.988,0,130200 +12/29/2016 12:14:20 AM,7079.988,0,130300 +12/29/2016 12:14:29 AM,7079.988,0,130400 +12/29/2016 12:14:38 AM,7079.988,0,130500 +12/29/2016 12:14:45 AM,7079.988,0,130600 +12/29/2016 12:14:52 AM,7079.988,0,130700 +12/29/2016 12:15:00 AM,7079.988,0,130800 +12/29/2016 12:15:07 AM,7079.988,0,130900 +12/29/2016 12:15:16 AM,7079.988,0,131000 +12/29/2016 12:15:24 AM,7079.988,0,131100 +12/29/2016 12:15:39 AM,7079.988,0,131200 +12/29/2016 12:15:47 AM,7079.988,0,131300 +12/29/2016 12:15:54 AM,7079.988,0,131400 +12/29/2016 12:16:01 AM,7079.988,0,131500 +12/29/2016 12:16:08 AM,7079.988,0,131600 +12/29/2016 12:16:19 AM,7079.988,0,131700 +12/29/2016 12:16:26 AM,7079.988,0,131800 +12/29/2016 12:16:36 AM,7079.988,0,131900 +12/29/2016 12:16:48 AM,7079.988,0,132000 +12/29/2016 12:16:54 AM,7079.988,0,132100 +12/29/2016 12:17:00 AM,7079.988,0,132200 +12/29/2016 12:17:05 AM,7079.988,0,132300 +12/29/2016 12:17:12 AM,7079.988,0,132400 +12/29/2016 12:17:22 AM,7079.988,0,132500 +12/29/2016 12:17:30 AM,7079.988,0,132600 +12/29/2016 12:17:40 AM,7079.988,0,132700 +12/29/2016 12:17:47 AM,7079.988,0,132800 +12/29/2016 12:17:52 AM,7079.988,0,132900 +12/29/2016 12:17:56 AM,7079.988,0,133000 +12/29/2016 12:18:00 AM,7079.988,0,133100 +12/29/2016 12:18:04 AM,7079.988,0,133200 +12/29/2016 12:18:09 AM,7079.988,0,133300 +12/29/2016 12:18:13 AM,7079.988,0,133400 +12/29/2016 12:18:18 AM,7079.988,0,133500 +12/29/2016 12:18:23 AM,7079.988,0,133600 +12/29/2016 12:18:26 AM,7079.988,0,133700 +12/29/2016 12:18:32 AM,7079.988,0,133800 +12/29/2016 12:18:37 AM,7079.988,0,133900 +12/29/2016 12:18:41 AM,7079.988,0,134000 +12/29/2016 12:18:44 AM,7079.988,0,134100 +12/29/2016 12:18:48 AM,7079.988,0,134200 +12/29/2016 12:18:51 AM,7079.988,0,134300 +12/29/2016 12:18:55 AM,7079.988,0,134400 +12/29/2016 12:19:06 AM,7079.988,0,134500 +12/29/2016 12:19:10 AM,7079.988,0,134600 +12/29/2016 12:19:15 AM,7079.988,0,134700 +12/29/2016 12:19:19 AM,7079.988,0,134800 +12/29/2016 12:19:24 AM,7079.988,0,134900 +12/29/2016 12:19:29 AM,7079.988,0,135000 +12/29/2016 12:19:33 AM,7079.988,0,135100 +12/29/2016 12:19:37 AM,7079.988,0,135200 +12/29/2016 12:19:41 AM,7079.988,0,135300 +12/29/2016 12:19:45 AM,7079.988,0,135400 +12/29/2016 12:19:49 AM,7079.988,0,135500 +12/29/2016 12:19:55 AM,7079.988,0,135600 +12/29/2016 12:20:02 AM,7079.988,0,135700 +12/29/2016 12:20:08 AM,7079.988,0,135800 +12/29/2016 12:20:13 AM,7079.988,0,135900 +12/29/2016 12:20:17 AM,7079.988,0,136000 +12/29/2016 12:20:22 AM,7079.988,0,136100 +12/29/2016 12:20:26 AM,7079.988,0,136200 +12/29/2016 12:20:30 AM,7079.988,0,136300 +12/29/2016 12:20:33 AM,7079.988,0,136400 +12/29/2016 12:20:37 AM,7079.988,0,136500 +12/29/2016 12:20:41 AM,7079.988,0,136600 +12/29/2016 12:20:46 AM,7079.988,0,136700 +12/29/2016 12:20:49 AM,7079.988,0,136800 +12/29/2016 12:20:53 AM,7079.988,0,136900 +12/29/2016 12:20:59 AM,7079.988,0,137000 +12/29/2016 12:21:05 AM,7079.988,0,137100 +12/29/2016 12:21:11 AM,7079.988,0,137200 +12/29/2016 12:21:15 AM,7079.988,0,137300 +12/29/2016 12:21:19 AM,7079.988,0,137400 +12/29/2016 12:21:25 AM,7079.988,0,137500 +12/29/2016 12:21:32 AM,7079.988,0,137600 +12/29/2016 12:21:37 AM,7079.988,0,137700 +12/29/2016 12:21:41 AM,7079.988,0,137800 +12/29/2016 12:21:46 AM,7079.988,0,137900 +12/29/2016 12:21:53 AM,7079.988,0,138000 +12/29/2016 12:21:57 AM,7079.988,0,138100 +12/29/2016 12:22:01 AM,7079.988,0,138200 +12/29/2016 12:22:05 AM,7079.988,0,138300 +12/29/2016 12:22:08 AM,7079.988,0,138400 +12/29/2016 12:22:13 AM,7079.988,0,138500 +12/29/2016 12:22:20 AM,7079.988,0,138600 +12/29/2016 12:22:26 AM,7079.988,0,138700 +12/29/2016 12:22:31 AM,7079.988,0,138800 +12/29/2016 12:22:36 AM,7079.988,0,138900 +12/29/2016 12:22:39 AM,7079.988,0,139000 +12/29/2016 12:22:44 AM,7079.988,0,139100 +12/29/2016 12:22:48 AM,7079.988,0,139200 +12/29/2016 12:22:52 AM,7079.988,0,139300 +12/29/2016 12:22:59 AM,7079.988,0,139400 +12/29/2016 12:23:04 AM,7079.988,0,139500 +12/29/2016 12:23:11 AM,7079.988,0,139600 +12/29/2016 12:23:18 AM,7079.988,0,139700 +12/29/2016 12:23:23 AM,7079.988,0,139800 +12/29/2016 12:23:28 AM,7079.988,0,139900 +12/29/2016 12:23:32 AM,7079.988,0,140000 +12/29/2016 12:23:36 AM,7079.988,0,140100 +12/29/2016 12:23:40 AM,7079.988,0,140200 +12/29/2016 12:23:44 AM,7079.988,0,140300 +12/29/2016 12:23:49 AM,7079.988,0,140400 +12/29/2016 12:23:54 AM,7079.988,0,140500 +12/29/2016 12:23:58 AM,7079.988,0,140600 +12/29/2016 12:24:02 AM,7079.988,0,140700 +12/29/2016 12:24:07 AM,7079.988,0,140800 +12/29/2016 12:24:12 AM,7079.988,0,140900 +12/29/2016 12:24:19 AM,7079.988,0,141000 +12/29/2016 12:24:28 AM,7079.988,0,141100 +12/29/2016 12:24:36 AM,7079.988,0,141200 +12/29/2016 12:24:42 AM,7079.988,0,141300 +12/29/2016 12:24:49 AM,7079.988,0,141400 +12/29/2016 12:24:53 AM,7079.988,0,141500 +12/29/2016 12:25:02 AM,7079.988,0,141600 +12/29/2016 12:25:08 AM,7079.988,0,141700 +12/29/2016 12:25:16 AM,7079.988,0,141800 +12/29/2016 12:25:24 AM,7079.988,0,141900 +12/29/2016 12:25:31 AM,7079.988,0,142000 +12/29/2016 12:25:36 AM,7079.988,0,142100 +12/29/2016 12:25:43 AM,7079.988,0,142200 +12/29/2016 12:25:50 AM,7079.988,0,142300 +12/29/2016 12:25:57 AM,7079.988,0,142400 +12/29/2016 12:26:03 AM,7079.988,0,142500 +12/29/2016 12:26:06 AM,7079.988,0,142600 +12/29/2016 12:26:13 AM,7079.988,0,142700 +12/29/2016 12:26:19 AM,7079.988,0,142800 +12/29/2016 12:26:25 AM,7079.988,0,142900 +12/29/2016 12:26:29 AM,7079.988,0,143000 +12/29/2016 12:26:35 AM,7079.988,0,143100 +12/29/2016 12:26:40 AM,7079.988,0,143200 +12/29/2016 12:26:45 AM,7079.988,0,143300 +12/29/2016 12:26:49 AM,7079.988,0,143400 +12/29/2016 12:26:55 AM,7079.988,0,143500 +12/29/2016 12:27:02 AM,7079.988,0,143600 +12/29/2016 12:27:07 AM,7079.988,0,143700 +12/29/2016 12:27:13 AM,7079.988,0,143800 +12/29/2016 12:27:19 AM,7079.988,0,143900 +12/29/2016 12:27:22 AM,7079.988,0,144000 +12/29/2016 12:27:27 AM,7079.988,0,144100 +12/29/2016 12:27:30 AM,7079.988,0,144200 +12/29/2016 12:27:34 AM,7079.988,0,144300 +12/29/2016 12:27:37 AM,7079.988,0,144400 +12/29/2016 12:27:41 AM,7079.988,0,144500 +12/29/2016 12:27:45 AM,7079.988,0,144600 +12/29/2016 12:27:48 AM,7079.988,0,144700 +12/29/2016 12:27:52 AM,7079.988,0,144800 +12/29/2016 12:27:56 AM,7079.988,0,144900 +12/29/2016 12:28:00 AM,7079.988,0,145000 +12/29/2016 12:28:05 AM,7079.988,0,145100 +12/29/2016 12:28:10 AM,7079.988,0,145200 +12/29/2016 12:28:15 AM,7079.988,0,145300 +12/29/2016 12:28:19 AM,7079.988,0,145400 +12/29/2016 12:28:22 AM,7079.988,0,145500 +12/29/2016 12:28:27 AM,7079.988,0,145600 +12/29/2016 12:28:31 AM,7079.988,0,145700 +12/29/2016 12:28:35 AM,7079.988,0,145800 +12/29/2016 12:28:39 AM,7079.988,0,145900 +12/29/2016 12:28:42 AM,7079.988,0,146000 +12/29/2016 12:28:46 AM,7079.988,0,146100 +12/29/2016 12:28:51 AM,7079.988,0,146200 +12/29/2016 12:28:55 AM,7079.988,0,146300 +12/29/2016 12:29:00 AM,7079.988,0,146400 +12/29/2016 12:29:06 AM,7079.988,0,146500 +12/29/2016 12:29:09 AM,7079.988,0,146600 +12/29/2016 12:29:13 AM,7079.988,0,146700 +12/29/2016 12:29:17 AM,7079.988,0,146800 +12/29/2016 12:29:22 AM,7079.988,0,146900 +12/29/2016 12:29:26 AM,7079.988,0,147000 +12/29/2016 12:29:29 AM,7079.988,0,147100 +12/29/2016 12:29:33 AM,7079.988,0,147200 +12/29/2016 12:29:36 AM,7079.988,0,147300 +12/29/2016 12:29:40 AM,7079.988,0,147400 +12/29/2016 12:29:44 AM,7079.988,0,147500 +12/29/2016 12:29:51 AM,7079.988,0,147600 +12/29/2016 12:29:57 AM,7079.988,0,147700 +12/29/2016 12:30:03 AM,7079.988,0,147800 +12/29/2016 12:30:11 AM,7079.988,0,147900 +12/29/2016 12:30:17 AM,7079.988,0,148000 +12/29/2016 12:30:26 AM,7079.988,0,148100 +12/29/2016 12:30:34 AM,7079.988,0,148200 +12/29/2016 12:30:45 AM,7079.988,0,148300 +12/29/2016 12:30:51 AM,7079.988,0,148400 +12/29/2016 12:30:56 AM,7079.988,0,148500 +12/29/2016 12:31:02 AM,7079.988,0,148600 +12/29/2016 12:31:07 AM,7079.988,0,148700 +12/29/2016 12:31:12 AM,7079.988,0,148800 +12/29/2016 12:31:16 AM,7079.988,0,148900 +12/29/2016 12:31:22 AM,7079.988,0,149000 +12/29/2016 12:31:27 AM,7079.988,0,149100 +12/29/2016 12:31:31 AM,7079.988,0,149200 +12/29/2016 12:31:38 AM,7079.988,0,149300 +12/29/2016 12:31:43 AM,7079.988,0,149400 +12/29/2016 12:31:48 AM,7079.988,0,149500 +12/29/2016 12:31:52 AM,7079.988,0,149600 +12/29/2016 12:31:56 AM,7079.988,0,149700 +12/29/2016 12:32:00 AM,7079.988,0,149800 +12/29/2016 12:32:06 AM,7079.988,0,149900 +12/29/2016 12:32:11 AM,7079.988,0,150000 +12/29/2016 12:32:14 AM,7079.988,0,150100 +12/29/2016 12:32:19 AM,7079.988,0,150200 +12/29/2016 12:32:24 AM,7079.988,0,150300 +12/29/2016 12:32:29 AM,7079.988,0,150400 +12/29/2016 12:32:34 AM,7079.988,0,150500 +12/29/2016 12:32:41 AM,7079.988,0,150600 +12/29/2016 12:32:49 AM,7079.988,0,150700 +12/29/2016 12:32:57 AM,7079.988,0,150800 +12/29/2016 12:33:02 AM,7079.988,0,150900 +12/29/2016 12:33:08 AM,7079.988,0,151000 +12/29/2016 12:33:15 AM,7079.988,0,151100 +12/29/2016 12:33:20 AM,7079.988,0,151200 +12/29/2016 12:33:25 AM,7079.988,0,151300 +12/29/2016 12:33:32 AM,7079.988,0,151400 +12/29/2016 12:33:40 AM,7079.988,0,151500 +12/29/2016 12:33:52 AM,7079.988,0,151600 +12/29/2016 12:34:01 AM,7079.988,0,151700 +12/29/2016 12:34:08 AM,7079.988,0,151800 +12/29/2016 12:34:14 AM,7079.988,0,151900 +12/29/2016 12:34:23 AM,7079.988,0,152000 +12/29/2016 12:34:30 AM,7079.988,0,152100 +12/29/2016 12:34:36 AM,7079.988,0,152200 +12/29/2016 12:34:42 AM,7079.988,0,152300 +12/29/2016 12:34:47 AM,7079.988,0,152400 +12/29/2016 12:34:54 AM,7079.988,0,152500 +12/29/2016 12:34:59 AM,7079.988,0,152600 +12/29/2016 12:35:05 AM,7079.988,0,152700 +12/29/2016 12:35:10 AM,7079.988,0,152800 +12/29/2016 12:35:14 AM,7079.988,0,152900 +12/29/2016 12:35:18 AM,7079.988,0,153000 +12/29/2016 12:35:23 AM,7079.988,0,153100 +12/29/2016 12:35:32 AM,7079.988,0,153200 +12/29/2016 12:35:41 AM,7079.988,0,153300 +12/29/2016 12:35:50 AM,7079.988,0,153400 +12/29/2016 12:35:58 AM,7079.988,0,153500 +12/29/2016 12:36:07 AM,7079.988,0,153600 +12/29/2016 12:36:13 AM,7079.988,0,153700 +12/29/2016 12:36:18 AM,7079.988,0,153800 +12/29/2016 12:36:23 AM,7079.988,0,153900 +12/29/2016 12:36:28 AM,7079.988,0,154000 +12/29/2016 12:36:33 AM,7079.988,0,154100 +12/29/2016 12:36:37 AM,7079.988,0,154200 +12/29/2016 12:36:41 AM,7079.988,0,154300 +12/29/2016 12:36:45 AM,7079.988,0,154400 +12/29/2016 12:36:53 AM,7079.988,0,154500 +12/29/2016 12:36:59 AM,7079.988,0,154600 +12/29/2016 12:37:05 AM,7079.988,0,154700 +12/29/2016 12:37:11 AM,7079.988,0,154800 +12/29/2016 12:37:17 AM,7079.988,0,154900 +12/29/2016 12:37:21 AM,7079.988,0,155000 +12/29/2016 12:37:26 AM,7079.988,0,155100 +12/29/2016 12:37:29 AM,7079.988,0,155200 +12/29/2016 12:37:33 AM,7079.988,0,155300 +12/29/2016 12:37:37 AM,7079.988,0,155400 +12/29/2016 12:37:41 AM,7079.988,0,155500 +12/29/2016 12:37:46 AM,7079.988,0,155600 +12/29/2016 12:37:53 AM,7079.988,0,155700 +12/29/2016 12:37:59 AM,7079.988,0,155800 +12/29/2016 12:38:04 AM,7079.988,0,155900 +12/29/2016 12:38:12 AM,7079.988,0,156000 +12/29/2016 12:38:20 AM,7079.988,0,156100 +12/29/2016 12:38:26 AM,7079.988,0,156200 +12/29/2016 12:38:32 AM,7079.988,0,156300 +12/29/2016 12:38:38 AM,7079.988,0,156400 +12/29/2016 12:38:43 AM,7079.988,0,156500 +12/29/2016 12:38:49 AM,7079.988,0,156600 +12/29/2016 12:38:55 AM,7079.988,0,156700 +12/29/2016 12:39:02 AM,7079.988,0,156800 +12/29/2016 12:39:10 AM,7079.988,0,156900 +12/29/2016 12:39:17 AM,7079.988,0,157000 +12/29/2016 12:39:25 AM,7079.988,0,157100 +12/29/2016 12:39:34 AM,7079.988,0,157200 +12/29/2016 12:39:41 AM,7079.988,0,157300 +12/29/2016 12:39:49 AM,7079.988,0,157400 +12/29/2016 12:39:56 AM,7079.988,0,157500 +12/29/2016 12:40:03 AM,7079.988,0,157600 +12/29/2016 12:40:11 AM,7079.988,0,157700 +12/29/2016 12:40:18 AM,7079.988,0,157800 +12/29/2016 12:40:25 AM,7079.988,0,157900 +12/29/2016 12:40:31 AM,7079.988,0,158000 +12/29/2016 12:40:36 AM,7079.988,0,158100 +12/29/2016 12:40:40 AM,7079.988,0,158200 +12/29/2016 12:40:43 AM,7079.988,0,158300 +12/29/2016 12:40:49 AM,7079.988,0,158400 +12/29/2016 12:40:54 AM,7079.988,0,158500 +12/29/2016 12:40:58 AM,7079.988,0,158600 +12/29/2016 12:41:02 AM,7079.988,0,158700 +12/29/2016 12:41:06 AM,7079.988,0,158800 +12/29/2016 12:41:10 AM,7079.988,0,158900 +12/29/2016 12:41:16 AM,7079.988,0,159000 +12/29/2016 12:41:23 AM,7079.988,0,159100 +12/29/2016 12:41:30 AM,7079.988,0,159200 +12/29/2016 12:41:34 AM,7079.988,0,159300 +12/29/2016 12:41:41 AM,7079.988,0,159400 +12/29/2016 12:41:47 AM,7079.988,0,159500 +12/29/2016 12:41:54 AM,7079.988,0,159600 +12/29/2016 12:41:59 AM,7079.988,0,159700 +12/29/2016 12:42:04 AM,7079.988,0,159800 +12/29/2016 12:42:10 AM,7079.988,0,159900 +12/29/2016 12:42:16 AM,7079.988,0,160000 +12/29/2016 12:42:21 AM,7079.988,0,160100 +12/29/2016 12:42:26 AM,7079.988,0,160200 +12/29/2016 12:42:30 AM,7079.988,0,160300 +12/29/2016 12:42:34 AM,7079.988,0,160400 +12/29/2016 12:42:40 AM,7079.988,0,160500 +12/29/2016 12:42:45 AM,7079.988,0,160600 +12/29/2016 12:42:55 AM,7079.988,0,160700 +12/29/2016 12:43:02 AM,7079.988,0,160800 +12/29/2016 12:43:10 AM,7079.988,0,160900 +12/29/2016 12:43:15 AM,7079.988,0,161000 +12/29/2016 12:43:21 AM,7079.988,0,161100 +12/29/2016 12:43:25 AM,7079.988,0,161200 +12/29/2016 12:43:30 AM,7079.988,0,161300 +12/29/2016 12:43:36 AM,7079.988,0,161400 +12/29/2016 12:43:40 AM,7079.988,0,161500 +12/29/2016 12:43:45 AM,7079.988,0,161600 +12/29/2016 12:43:50 AM,7079.988,0,161700 +12/29/2016 12:43:54 AM,7079.988,0,161800 +12/29/2016 12:43:58 AM,7079.988,0,161900 +12/29/2016 12:44:03 AM,7079.988,0,162000 +12/29/2016 12:44:09 AM,7079.988,0,162100 +12/29/2016 12:44:13 AM,7079.988,0,162200 +12/29/2016 12:44:19 AM,7079.988,0,162300 +12/29/2016 12:44:26 AM,7079.988,0,162400 +12/29/2016 12:44:32 AM,7079.988,0,162500 +12/29/2016 12:44:37 AM,7079.988,0,162600 +12/29/2016 12:44:41 AM,7079.988,0,162700 +12/29/2016 12:44:46 AM,7079.988,0,162800 +12/29/2016 12:44:50 AM,7079.988,0,162900 +12/29/2016 12:44:53 AM,7079.988,0,163000 +12/29/2016 12:44:58 AM,7079.988,0,163100 +12/29/2016 12:45:03 AM,7079.988,0,163200 +12/29/2016 12:45:08 AM,7079.988,0,163300 +12/29/2016 12:45:14 AM,7079.988,0,163400 +12/29/2016 12:45:18 AM,7079.988,0,163500 +12/29/2016 12:45:24 AM,7079.988,0,163600 +12/29/2016 12:45:30 AM,7079.988,0,163700 +12/29/2016 12:45:37 AM,7079.988,0,163800 +12/29/2016 12:45:42 AM,7079.988,0,163900 +12/29/2016 12:45:48 AM,7079.988,0,164000 +12/29/2016 12:45:52 AM,7079.988,0,164100 +12/29/2016 12:45:55 AM,7079.988,0,164200 +12/29/2016 12:46:00 AM,7079.988,0,164300 +12/29/2016 12:46:04 AM,7079.988,0,164400 +12/29/2016 12:46:08 AM,7079.988,0,164500 +12/29/2016 12:46:12 AM,7079.988,0,164600 +12/29/2016 12:46:17 AM,7079.988,0,164700 +12/29/2016 12:46:20 AM,7079.988,0,164800 +12/29/2016 12:46:24 AM,7079.988,0,164900 +12/29/2016 12:46:28 AM,7079.988,0,165000 +12/29/2016 12:46:32 AM,7079.988,0,165100 +12/29/2016 12:46:35 AM,7079.988,0,165200 +12/29/2016 12:46:39 AM,7079.988,0,165300 +12/29/2016 12:46:44 AM,7079.988,0,165400 +12/29/2016 12:46:49 AM,7079.988,0,165500 +12/29/2016 12:46:53 AM,7079.988,0,165600 +12/29/2016 12:46:58 AM,7079.988,0,165700 +12/29/2016 12:47:03 AM,7079.988,0,165800 +12/29/2016 12:47:10 AM,7079.988,0,165900 +12/29/2016 12:47:15 AM,7079.988,0,166000 +12/29/2016 12:47:19 AM,7079.988,0,166100 +12/29/2016 12:47:24 AM,7079.988,0,166200 +12/29/2016 12:47:29 AM,7079.988,0,166300 +12/29/2016 12:47:35 AM,7079.988,0,166400 +12/29/2016 12:47:45 AM,7079.988,0,166500 +12/29/2016 12:47:51 AM,7079.988,0,166600 +12/29/2016 12:47:56 AM,7079.988,0,166700 +12/29/2016 12:48:01 AM,7079.988,0,166800 +12/29/2016 12:48:06 AM,7079.988,0,166900 +12/29/2016 12:48:10 AM,7079.988,0,167000 +12/29/2016 12:48:15 AM,7079.988,0,167100 +12/29/2016 12:48:20 AM,7079.988,0,167200 +12/29/2016 12:48:24 AM,7079.988,0,167300 +12/29/2016 12:48:29 AM,7079.988,0,167400 +12/29/2016 12:48:32 AM,7079.988,0,167500 +12/29/2016 12:48:38 AM,7079.988,0,167600 +12/29/2016 12:48:43 AM,7079.988,0,167700 +12/29/2016 12:48:48 AM,7079.988,0,167800 +12/29/2016 12:48:52 AM,7079.988,0,167900 +12/29/2016 12:48:57 AM,7079.988,0,168000 +12/29/2016 12:49:03 AM,7079.988,0,168100 +12/29/2016 12:49:12 AM,7079.988,0,168200 +12/29/2016 12:49:19 AM,7079.988,0,168300 +12/29/2016 12:49:28 AM,7079.988,0,168400 +12/29/2016 12:49:37 AM,7079.988,0,168500 +12/29/2016 12:49:44 AM,7079.988,0,168600 +12/29/2016 12:49:53 AM,7079.988,0,168700 +12/29/2016 12:50:01 AM,7079.988,0,168800 +12/29/2016 12:50:12 AM,7079.988,0,168900 +12/29/2016 12:50:20 AM,7079.988,0,169000 +12/29/2016 12:50:28 AM,7079.988,0,169100 +12/29/2016 12:50:37 AM,7079.988,0,169200 +12/29/2016 12:50:47 AM,7079.988,0,169300 +12/29/2016 12:50:56 AM,7079.988,0,169400 +12/29/2016 12:51:02 AM,7079.988,0,169500 +12/29/2016 12:51:09 AM,7079.988,0,169600 +12/29/2016 12:51:16 AM,7079.988,0,169700 +12/29/2016 12:51:25 AM,7079.988,0,169800 +12/29/2016 12:51:33 AM,7079.988,0,169900 +12/29/2016 12:51:39 AM,7079.988,0,170000 +12/29/2016 12:51:47 AM,7079.988,0,170100 +12/29/2016 12:51:53 AM,7079.988,0,170200 +12/29/2016 12:52:00 AM,7079.988,0,170300 +12/29/2016 12:52:07 AM,7079.988,0,170400 +12/29/2016 12:52:15 AM,7079.988,0,170500 +12/29/2016 12:52:21 AM,7079.988,0,170600 +12/29/2016 12:52:27 AM,7079.988,0,170700 +12/29/2016 12:52:33 AM,7079.988,0,170800 +12/29/2016 12:52:40 AM,7079.988,0,170900 +12/29/2016 12:52:44 AM,7079.988,0,171000 +12/29/2016 12:52:52 AM,7079.988,0,171100 +12/29/2016 12:53:00 AM,7079.988,0,171200 +12/29/2016 12:53:07 AM,7079.988,0,171300 +12/29/2016 12:53:16 AM,7079.988,0,171400 +12/29/2016 12:53:24 AM,7079.988,0,171500 +12/29/2016 12:53:31 AM,7079.988,0,171600 +12/29/2016 12:53:38 AM,7079.988,0,171700 +12/29/2016 12:53:47 AM,7079.988,0,171800 +12/29/2016 12:53:55 AM,7079.988,0,171900 +12/29/2016 12:54:02 AM,7079.988,0,172000 +12/29/2016 12:54:06 AM,7079.988,0,172100 +12/29/2016 12:54:13 AM,7079.988,0,172200 +12/29/2016 12:54:18 AM,7079.988,0,172300 +12/29/2016 12:54:25 AM,7079.988,0,172400 +12/29/2016 12:54:30 AM,7079.988,0,172500 +12/29/2016 12:54:37 AM,7079.988,0,172600 +12/29/2016 12:54:42 AM,7079.988,0,172700 +12/29/2016 12:54:47 AM,7079.988,0,172800 +12/29/2016 12:54:52 AM,7079.988,0,172900 +12/29/2016 12:54:58 AM,7079.988,0,173000 +12/29/2016 12:55:03 AM,7079.988,0,173100 +12/29/2016 12:55:07 AM,7079.988,0,173200 +12/29/2016 12:55:12 AM,7079.988,0,173300 +12/29/2016 12:55:17 AM,7079.988,0,173400 +12/29/2016 12:55:21 AM,7079.988,0,173500 +12/29/2016 12:55:25 AM,7079.988,0,173600 +12/29/2016 12:55:29 AM,7079.988,0,173700 +12/29/2016 12:55:34 AM,7079.988,0,173800 +12/29/2016 12:55:38 AM,7079.988,0,173900 +12/29/2016 12:55:44 AM,7079.988,0,174000 +12/29/2016 12:55:48 AM,7079.988,0,174100 +12/29/2016 12:55:54 AM,7079.988,0,174200 +12/29/2016 12:55:57 AM,7079.988,0,174300 +12/29/2016 12:56:02 AM,7079.988,0,174400 +12/29/2016 12:56:08 AM,7079.988,0,174500 +12/29/2016 12:56:14 AM,7079.988,0,174600 +12/29/2016 12:56:18 AM,7079.988,0,174700 +12/29/2016 12:56:23 AM,7079.988,0,174800 +12/29/2016 12:56:27 AM,7079.988,0,174900 +12/29/2016 12:56:30 AM,7079.988,0,175000 +12/29/2016 12:56:34 AM,7079.988,0,175100 +12/29/2016 12:56:39 AM,7079.988,0,175200 +12/29/2016 12:56:43 AM,7079.988,0,175300 +12/29/2016 12:56:47 AM,7079.988,0,175400 +12/29/2016 12:56:51 AM,7079.988,0,175500 +12/29/2016 12:56:56 AM,7079.988,0,175600 +12/29/2016 12:57:06 AM,7079.988,0,175700 +12/29/2016 12:57:12 AM,7079.988,0,175800 +12/29/2016 12:57:17 AM,7079.988,0,175900 +12/29/2016 12:57:23 AM,7079.988,0,176000 +12/29/2016 12:57:29 AM,7079.988,0,176100 +12/29/2016 12:57:37 AM,7079.988,0,176200 +12/29/2016 12:57:42 AM,7079.988,0,176300 +12/29/2016 12:57:49 AM,7079.988,0,176400 +12/29/2016 12:57:56 AM,7079.988,0,176500 +12/29/2016 12:58:03 AM,7079.988,0,176600 +12/29/2016 12:58:08 AM,7079.988,0,176700 +12/29/2016 12:58:13 AM,7079.988,0,176800 +12/29/2016 12:58:20 AM,7079.988,0,176900 +12/29/2016 12:58:25 AM,7079.988,0,177000 +12/29/2016 12:58:30 AM,7079.988,0,177100 +12/29/2016 12:58:36 AM,7079.988,0,177200 +12/29/2016 12:58:45 AM,7079.988,0,177300 +12/29/2016 12:58:53 AM,7079.988,0,177400 +12/29/2016 12:58:58 AM,7079.988,0,177500 +12/29/2016 12:59:04 AM,7079.988,0,177600 +12/29/2016 12:59:10 AM,7079.988,0,177700 +12/29/2016 12:59:14 AM,7079.988,0,177800 +12/29/2016 12:59:21 AM,7079.988,0,177900 +12/29/2016 12:59:26 AM,7079.988,0,178000 +12/29/2016 12:59:34 AM,7079.988,0,178100 +12/29/2016 12:59:38 AM,7079.988,0,178200 +12/29/2016 12:59:42 AM,7079.988,0,178300 +12/29/2016 12:59:46 AM,7079.988,0,178400 +12/29/2016 12:59:50 AM,7079.988,0,178500 +12/29/2016 12:59:56 AM,7079.988,0,178600 +12/29/2016 1:00:02 AM,7079.988,0,178700 +12/29/2016 1:00:08 AM,7079.988,0,178800 +12/29/2016 1:00:14 AM,7079.988,0,178900 +12/29/2016 1:00:20 AM,7079.988,0,179000 +12/29/2016 1:00:25 AM,7079.988,0,179100 +12/29/2016 1:00:32 AM,7079.988,0,179200 +12/29/2016 1:00:40 AM,7079.988,0,179300 +12/29/2016 1:00:47 AM,7079.988,0,179400 +12/29/2016 1:00:54 AM,7079.988,0,179500 +12/29/2016 1:01:00 AM,7079.988,0,179600 +12/29/2016 1:01:05 AM,7079.988,0,179700 +12/29/2016 1:01:11 AM,7079.988,0,179800 +12/29/2016 1:01:15 AM,7079.988,0,179900 +12/29/2016 1:01:21 AM,7079.988,0,180000 +12/29/2016 1:01:26 AM,7079.988,0,180100 +12/29/2016 1:01:32 AM,7079.988,0,180200 +12/29/2016 1:01:37 AM,7079.988,0,180300 +12/29/2016 1:01:44 AM,7099.582,0,180400 +12/29/2016 1:01:50 AM,7099.616,0,180500 +12/29/2016 1:01:56 AM,7099.632,0,180600 +12/29/2016 1:02:01 AM,7099.654,0,180700 +12/29/2016 1:02:06 AM,7099.654,0,180800 +12/29/2016 1:02:11 AM,7099.654,0,180900 +12/29/2016 1:02:16 AM,7099.686,0,181000 +12/29/2016 1:02:21 AM,7099.686,0,181100 +12/29/2016 1:02:25 AM,7099.688,0,181200 +12/29/2016 1:02:29 AM,7099.706,0,181300 +12/29/2016 1:02:35 AM,7099.714,0,181400 +12/29/2016 1:02:39 AM,7099.718,0,181500 +12/29/2016 1:02:45 AM,7099.718,0,181600 +12/29/2016 1:02:49 AM,7099.722,0,181700 +12/29/2016 1:02:55 AM,7099.722,0,181800 +12/29/2016 1:03:00 AM,7099.722,0,181900 +12/29/2016 1:03:05 AM,7099.728,0,182000 +12/29/2016 1:03:12 AM,7099.752,0,182100 +12/29/2016 1:03:17 AM,7099.752,0,182200 +12/29/2016 1:03:22 AM,7099.752,0,182300 +12/29/2016 1:03:26 AM,7099.76,0,182400 +12/29/2016 1:03:35 AM,7099.76,0,182500 +12/29/2016 1:03:40 AM,7099.764,0,182600 +12/29/2016 1:03:45 AM,7099.764,0,182700 +12/29/2016 1:03:50 AM,7099.77,0,182800 +12/29/2016 1:03:55 AM,7099.774,0,182900 +12/29/2016 1:04:01 AM,7099.774,0,183000 +12/29/2016 1:04:05 AM,7099.778,0,183100 +12/29/2016 1:04:11 AM,7099.782,0,183200 +12/29/2016 1:04:16 AM,7099.782,0,183300 +12/29/2016 1:04:23 AM,7099.782,0,183400 +12/29/2016 1:04:28 AM,7099.782,0,183500 +12/29/2016 1:04:33 AM,7099.782,0,183600 +12/29/2016 1:04:40 AM,7099.782,0,183700 +12/29/2016 1:04:46 AM,7099.782,0,183800 +12/29/2016 1:04:55 AM,7099.782,0,183900 +12/29/2016 1:05:01 AM,7099.786,0,184000 +12/29/2016 1:05:06 AM,7099.786,0,184100 +12/29/2016 1:05:12 AM,7099.786,0,184200 +12/29/2016 1:05:18 AM,7099.786,0,184300 +12/29/2016 1:05:23 AM,7099.786,0,184400 +12/29/2016 1:05:27 AM,7099.786,0,184500 +12/29/2016 1:05:32 AM,7099.786,0,184600 +12/29/2016 1:05:36 AM,7099.786,0,184700 +12/29/2016 1:05:40 AM,7099.786,0,184800 +12/29/2016 1:05:45 AM,7099.786,0,184900 +12/29/2016 1:05:51 AM,7099.786,0,185000 +12/29/2016 1:05:57 AM,7099.786,0,185100 +12/29/2016 1:06:03 AM,7099.786,0,185200 +12/29/2016 1:06:09 AM,7099.79,0,185300 +12/29/2016 1:06:13 AM,7099.79,0,185400 +12/29/2016 1:06:18 AM,7099.79,0,185500 +12/29/2016 1:06:24 AM,7099.79,0,185600 +12/29/2016 1:06:29 AM,7099.79,0,185700 +12/29/2016 1:06:34 AM,7099.79,0,185800 +12/29/2016 1:06:39 AM,7099.79,0,185900 +12/29/2016 1:06:46 AM,7099.79,0,186000 +12/29/2016 1:06:52 AM,7099.79,0,186100 +12/29/2016 1:06:57 AM,7099.79,0,186200 +12/29/2016 1:07:02 AM,7099.79,0,186300 +12/29/2016 1:07:07 AM,7099.79,0,186400 +12/29/2016 1:07:11 AM,7099.79,0,186500 +12/29/2016 1:07:17 AM,7099.79,0,186600 +12/29/2016 1:07:22 AM,7099.79,0,186700 +12/29/2016 1:07:30 AM,7099.79,0,186800 +12/29/2016 1:07:35 AM,7099.79,0,186900 +12/29/2016 1:07:39 AM,7099.79,0,187000 +12/29/2016 1:07:45 AM,7099.79,0,187100 +12/29/2016 1:07:51 AM,7099.79,0,187200 +12/29/2016 1:07:57 AM,7099.79,0,187300 +12/29/2016 1:08:03 AM,7099.79,0,187400 +12/29/2016 1:08:09 AM,7099.79,0,187500 +12/29/2016 1:08:16 AM,7099.79,0,187600 +12/29/2016 1:08:20 AM,7099.79,0,187700 +12/29/2016 1:08:25 AM,7099.793,0,187800 +12/29/2016 1:08:30 AM,7099.793,0,187900 +12/29/2016 1:08:35 AM,7099.793,0,188000 +12/29/2016 1:08:41 AM,7099.793,0,188100 +12/29/2016 1:08:46 AM,7099.793,0,188200 +12/29/2016 1:08:52 AM,7102.792,0,188300 +12/29/2016 1:09:00 AM,7102.792,0,188400 diff --git a/Results/extractinquotes2/history.txt b/Results/extractinquotes2/history.txt new file mode 100644 index 0000000..e8a42b8 --- /dev/null +++ b/Results/extractinquotes2/history.txt @@ -0,0 +1,370 @@ +12/28/2016 9:39:01 PM,4277.567,0,0 +12/28/2016 9:39:02 PM,4779.952,0,100 +12/28/2016 9:39:03 PM,4856.952,0,200 +12/28/2016 9:39:03 PM,4856.952,0,300 +12/28/2016 9:39:05 PM,5082.875,0,400 +12/28/2016 9:39:07 PM,5096.875,0,500 +12/28/2016 9:39:12 PM,5096.886,0,600 +12/28/2016 9:39:15 PM,5096.892,0,700 +12/28/2016 9:39:20 PM,5097.886,0,800 +12/28/2016 9:39:23 PM,5097.892,0,900 +12/28/2016 9:39:25 PM,5097.892,0,1000 +12/28/2016 9:39:31 PM,5097.892,0,1100 +12/28/2016 9:39:33 PM,5099.886,0,1200 +12/28/2016 9:39:35 PM,5099.886,0,1300 +12/28/2016 9:39:37 PM,5099.886,0,1400 +12/28/2016 9:39:39 PM,5099.886,0,1500 +12/28/2016 9:39:42 PM,5099.886,0,1600 +12/28/2016 9:39:47 PM,5099.886,0,1700 +12/28/2016 9:39:51 PM,5099.886,0,1800 +12/28/2016 9:39:54 PM,5103.886,0,1900 +12/28/2016 9:39:56 PM,5103.886,0,2000 +12/28/2016 9:39:58 PM,5103.886,0,2100 +12/28/2016 9:40:00 PM,5103.886,0,2200 +12/28/2016 9:40:02 PM,5103.886,0,2300 +12/28/2016 9:40:04 PM,5103.886,0,2400 +12/28/2016 9:40:09 PM,5103.886,0,2500 +12/28/2016 9:40:11 PM,5103.886,0,2600 +12/28/2016 9:40:16 PM,5103.886,0,2700 +12/28/2016 9:40:19 PM,5103.886,0,2800 +12/28/2016 9:40:21 PM,5103.886,0,2900 +12/28/2016 9:40:27 PM,5103.886,0,3000 +12/28/2016 9:40:29 PM,5103.886,0,3100 +12/28/2016 9:40:32 PM,5103.886,0,3200 +12/28/2016 9:40:37 PM,5103.886,0,3300 +12/28/2016 9:40:41 PM,5103.886,0,3400 +12/28/2016 9:40:45 PM,5103.886,0,3500 +12/28/2016 9:40:49 PM,5103.886,0,3600 +12/28/2016 9:40:51 PM,5103.886,0,3700 +12/28/2016 9:40:54 PM,5103.886,0,3800 +12/28/2016 9:40:57 PM,5103.886,0,3900 +12/28/2016 9:41:00 PM,5103.886,0,4000 +12/28/2016 9:41:04 PM,5103.886,0,4100 +12/28/2016 9:41:06 PM,5103.886,0,4200 +12/28/2016 9:41:09 PM,5103.886,0,4300 +12/28/2016 9:41:12 PM,5103.886,0,4400 +12/28/2016 9:41:14 PM,5103.886,0,4500 +12/28/2016 9:41:18 PM,5103.886,0,4600 +12/28/2016 9:41:22 PM,5103.886,0,4700 +12/28/2016 9:41:24 PM,5103.886,0,4800 +12/28/2016 9:41:26 PM,5103.886,0,4900 +12/28/2016 9:41:29 PM,5103.886,0,5000 +12/28/2016 9:41:32 PM,5103.886,0,5100 +12/28/2016 9:41:36 PM,5103.886,0,5200 +12/28/2016 9:41:39 PM,5103.886,0,5300 +12/28/2016 9:41:42 PM,5103.886,0,5400 +12/28/2016 9:41:46 PM,5103.886,0,5500 +12/28/2016 9:41:50 PM,5103.886,0,5600 +12/28/2016 9:41:54 PM,5103.886,0,5700 +12/28/2016 9:41:58 PM,5103.889,0,5800 +12/28/2016 9:42:04 PM,5103.889,0,5900 +12/28/2016 9:42:09 PM,5103.889,0,6000 +12/28/2016 9:42:14 PM,5107,0,6100 +12/28/2016 9:42:21 PM,5121,0,6200 +12/28/2016 9:42:29 PM,5121,0,6300 +12/28/2016 9:42:39 PM,5121,0,6400 +12/28/2016 9:42:49 PM,5121,0,6500 +12/28/2016 9:42:58 PM,5121,0,6600 +12/28/2016 9:43:08 PM,5121,0,6700 +12/28/2016 9:43:17 PM,5121,0,6800 +12/28/2016 9:43:25 PM,5125.905,0,6900 +12/28/2016 9:43:31 PM,5125.905,0,7000 +12/28/2016 9:43:41 PM,5125.905,0,7100 +12/28/2016 9:43:49 PM,5126.905,0,7200 +12/28/2016 9:43:58 PM,5126.905,0,7300 +12/28/2016 9:44:06 PM,5126.905,0,7400 +12/28/2016 9:44:15 PM,5126.905,0,7500 +12/28/2016 9:44:23 PM,5126.905,0,7600 +12/28/2016 9:44:31 PM,5126.905,0,7700 +12/28/2016 9:44:41 PM,5126.905,0,7800 +12/28/2016 9:44:52 PM,5126.905,0,7900 +12/28/2016 9:45:04 PM,5126.905,0,8000 +12/28/2016 9:45:15 PM,5126.905,0,8100 +12/28/2016 9:45:25 PM,5126.905,0,8200 +12/28/2016 9:45:36 PM,5126.905,0,8300 +12/28/2016 9:45:44 PM,5126.905,0,8400 +12/28/2016 9:45:53 PM,5126.905,0,8500 +12/28/2016 9:46:00 PM,5126.905,0,8600 +12/28/2016 9:46:11 PM,5126.905,0,8700 +12/28/2016 9:46:22 PM,5126.905,0,8800 +12/28/2016 9:46:28 PM,5126.905,0,8900 +12/28/2016 9:46:35 PM,5126.905,0,9000 +12/28/2016 9:46:41 PM,5126.905,0,9100 +12/28/2016 9:46:47 PM,5126.905,0,9200 +12/28/2016 9:46:54 PM,5126.905,0,9300 +12/28/2016 9:47:06 PM,5126.905,0,9400 +12/28/2016 9:47:14 PM,5126.905,0,9500 +12/28/2016 9:47:23 PM,5126.905,0,9600 +12/28/2016 9:47:32 PM,5126.905,0,9700 +12/28/2016 9:47:40 PM,5126.905,0,9800 +12/28/2016 9:47:49 PM,5126.905,0,9900 +12/28/2016 9:47:57 PM,5126.905,0,10000 +12/28/2016 9:48:08 PM,5126.906,0,10100 +12/28/2016 9:48:19 PM,5126.906,0,10200 +12/28/2016 9:48:29 PM,5126.906,0,10300 +12/28/2016 9:48:39 PM,5126.906,0,10400 +12/28/2016 9:48:49 PM,5126.906,0,10500 +12/28/2016 9:49:00 PM,5126.906,0,10600 +12/28/2016 9:49:09 PM,5198.429,0,10700 +12/28/2016 9:49:14 PM,5358.505,0,10800 +12/28/2016 9:49:23 PM,5358.505,0,10900 +12/28/2016 9:49:30 PM,5358.511,0,11000 +12/28/2016 9:49:39 PM,5358.657,0,11100 +12/28/2016 9:49:45 PM,5358.657,0,11200 +12/28/2016 9:49:52 PM,5358.657,0,11300 +12/28/2016 9:50:00 PM,5358.657,0,11400 +12/28/2016 9:50:08 PM,5358.657,0,11500 +12/28/2016 9:50:15 PM,5358.657,0,11600 +12/28/2016 9:50:23 PM,5358.657,0,11700 +12/28/2016 9:50:31 PM,5358.717,0,11800 +12/28/2016 9:50:40 PM,5358.717,0,11900 +12/28/2016 9:50:48 PM,5358.717,0,12000 +12/28/2016 9:50:54 PM,5358.722,0,12100 +12/28/2016 9:51:03 PM,5358.745,0,12200 +12/28/2016 9:51:07 PM,5358.745,0,12300 +12/28/2016 9:51:12 PM,5358.789,0,12400 +12/28/2016 9:51:17 PM,5358.789,0,12500 +12/28/2016 9:51:21 PM,5358.789,0,12600 +12/28/2016 9:51:27 PM,5358.789,0,12700 +12/28/2016 9:51:32 PM,5358.794,0,12800 +12/28/2016 9:51:38 PM,5358.794,0,12900 +12/28/2016 9:51:43 PM,5358.794,0,13000 +12/28/2016 9:51:47 PM,5358.795,0,13100 +12/28/2016 9:51:49 PM,5358.795,0,13200 +12/28/2016 9:51:53 PM,5358.795,0,13300 +12/28/2016 9:51:56 PM,5358.795,0,13400 +12/28/2016 9:52:01 PM,5358.795,0,13500 +12/28/2016 9:52:05 PM,5358.795,0,13600 +12/28/2016 9:52:10 PM,5358.795,0,13700 +12/28/2016 9:52:14 PM,5358.805,0,13800 +12/28/2016 9:52:19 PM,5358.805,0,13900 +12/28/2016 9:52:24 PM,5368.799,0,14000 +12/28/2016 9:52:28 PM,5388.789,0,14100 +12/28/2016 9:52:33 PM,5388.792,0,14200 +12/28/2016 9:52:38 PM,5388.795,0,14300 +12/28/2016 9:52:42 PM,5388.798,0,14400 +12/28/2016 9:52:46 PM,5388.807,0,14500 +12/28/2016 9:52:51 PM,5388.807,0,14600 +12/28/2016 9:52:54 PM,5388.807,0,14700 +12/28/2016 9:52:57 PM,5388.807,0,14800 +12/28/2016 9:53:01 PM,5388.807,0,14900 +12/28/2016 9:53:05 PM,5388.816,0,15000 +12/28/2016 9:53:09 PM,5388.807,0,15100 +12/28/2016 9:53:15 PM,5388.81,0,15200 +12/28/2016 9:53:19 PM,5388.81,0,15300 +12/28/2016 9:53:23 PM,5388.81,0,15400 +12/28/2016 9:53:28 PM,5388.81,0,15500 +12/28/2016 9:53:32 PM,5388.81,0,15600 +12/28/2016 9:53:38 PM,5388.81,0,15700 +12/28/2016 9:53:42 PM,5388.81,0,15800 +12/28/2016 9:53:47 PM,5388.81,0,15900 +12/28/2016 9:53:51 PM,5388.81,0,16000 +12/28/2016 9:53:55 PM,5388.81,0,16100 +12/28/2016 9:53:59 PM,5388.816,0,16200 +12/28/2016 9:54:05 PM,5388.816,0,16300 +12/28/2016 9:54:09 PM,5388.816,0,16400 +12/28/2016 9:54:13 PM,5388.816,0,16500 +12/28/2016 9:54:18 PM,5388.816,0,16600 +12/28/2016 9:54:21 PM,5388.816,0,16700 +12/28/2016 9:54:25 PM,5388.816,0,16800 +12/28/2016 9:54:30 PM,5388.816,0,16900 +12/28/2016 9:54:36 PM,5388.816,0,17000 +12/28/2016 9:54:41 PM,5388.816,0,17100 +12/28/2016 9:54:45 PM,5388.816,0,17200 +12/28/2016 9:54:50 PM,5388.816,0,17300 +12/28/2016 9:54:54 PM,5388.816,0,17400 +12/28/2016 9:54:58 PM,5388.816,0,17500 +12/28/2016 9:55:02 PM,5388.816,0,17600 +12/28/2016 9:55:05 PM,5388.816,0,17700 +12/28/2016 9:55:10 PM,5388.816,0,17800 +12/28/2016 9:55:16 PM,5388.816,0,17900 +12/28/2016 9:55:21 PM,5388.816,0,18000 +12/28/2016 9:55:24 PM,5388.816,0,18100 +12/28/2016 9:55:28 PM,5388.816,0,18200 +12/28/2016 9:55:33 PM,5388.816,0,18300 +12/28/2016 9:55:37 PM,5388.816,0,18400 +12/28/2016 9:55:41 PM,5388.816,0,18500 +12/28/2016 9:55:45 PM,5388.816,0,18600 +12/28/2016 9:55:50 PM,5388.829,0,18700 +12/28/2016 9:55:56 PM,5388.829,0,18800 +12/28/2016 9:56:02 PM,5388.829,0,18900 +12/28/2016 9:56:08 PM,5388.829,0,19000 +12/28/2016 9:56:12 PM,5388.829,0,19100 +12/28/2016 9:56:16 PM,5388.829,0,19200 +12/28/2016 9:56:20 PM,5388.829,0,19300 +12/28/2016 9:56:25 PM,5388.829,0,19400 +12/28/2016 9:56:29 PM,5388.829,0,19500 +12/28/2016 9:56:32 PM,5388.829,0,19600 +12/28/2016 9:56:35 PM,5388.829,0,19700 +12/28/2016 9:56:39 PM,5388.829,0,19800 +12/28/2016 9:56:43 PM,5388.829,0,19900 +12/28/2016 9:56:47 PM,5388.829,0,20000 +12/28/2016 9:56:52 PM,5388.829,0,20100 +12/28/2016 9:56:56 PM,5388.829,0,20200 +12/28/2016 9:57:00 PM,5388.829,0,20300 +12/28/2016 9:57:04 PM,5388.829,0,20400 +12/28/2016 9:57:08 PM,5388.829,0,20500 +12/28/2016 9:57:11 PM,5388.829,0,20600 +12/28/2016 9:57:16 PM,5388.829,0,20700 +12/28/2016 9:57:22 PM,5388.829,0,20800 +12/28/2016 9:57:27 PM,5388.829,0,20900 +12/28/2016 9:57:31 PM,5388.829,0,21000 +12/28/2016 9:57:36 PM,5388.829,0,21100 +12/28/2016 9:57:42 PM,5388.829,0,21200 +12/28/2016 9:57:47 PM,5388.832,0,21300 +12/28/2016 9:57:51 PM,5388.832,0,21400 +12/28/2016 9:57:55 PM,5388.838,0,21500 +12/28/2016 9:58:00 PM,5388.838,0,21600 +12/28/2016 9:58:04 PM,5388.838,0,21700 +12/28/2016 9:58:07 PM,5388.838,0,21800 +12/28/2016 9:58:12 PM,5388.838,0,21900 +12/28/2016 9:58:17 PM,5388.838,0,22000 +12/28/2016 9:58:20 PM,5388.844,0,22100 +12/28/2016 9:58:25 PM,5388.844,0,22200 +12/28/2016 9:58:30 PM,5388.844,0,22300 +12/28/2016 9:58:35 PM,5388.844,0,22400 +12/28/2016 9:58:38 PM,5388.844,0,22500 +12/28/2016 9:58:42 PM,5388.844,0,22600 +12/28/2016 9:58:45 PM,5388.844,0,22700 +12/28/2016 9:58:49 PM,5388.844,0,22800 +12/28/2016 9:58:54 PM,5388.844,0,22900 +12/28/2016 9:58:57 PM,5388.844,0,23000 +12/28/2016 9:59:01 PM,5388.844,0,23100 +12/28/2016 9:59:08 PM,5388.844,0,23200 +12/28/2016 9:59:12 PM,5388.844,0,23300 +12/28/2016 9:59:17 PM,5388.844,0,23400 +12/28/2016 9:59:22 PM,5388.844,0,23500 +12/28/2016 9:59:26 PM,5388.844,0,23600 +12/28/2016 9:59:29 PM,5388.844,0,23700 +12/28/2016 9:59:34 PM,5388.844,0,23800 +12/28/2016 9:59:38 PM,5388.844,0,23900 +12/28/2016 9:59:44 PM,5388.844,0,24000 +12/28/2016 9:59:48 PM,5388.844,0,24100 +12/28/2016 9:59:51 PM,5388.844,0,24200 +12/28/2016 9:59:55 PM,5388.844,0,24300 +12/28/2016 9:59:58 PM,5388.844,0,24400 +12/28/2016 10:00:03 PM,5388.844,0,24500 +12/28/2016 10:00:07 PM,5388.844,0,24600 +12/28/2016 10:00:11 PM,5388.844,0,24700 +12/28/2016 10:00:15 PM,5388.844,0,24800 +12/28/2016 10:00:19 PM,5388.844,0,24900 +12/28/2016 10:00:24 PM,5388.844,0,25000 +12/28/2016 10:00:28 PM,5388.844,0,25100 +12/28/2016 10:00:33 PM,5388.844,0,25200 +12/28/2016 10:00:39 PM,5388.844,0,25300 +12/28/2016 10:00:43 PM,5388.844,0,25400 +12/28/2016 10:00:47 PM,5388.844,0,25500 +12/28/2016 10:00:52 PM,5388.844,0,25600 +12/28/2016 10:00:56 PM,5388.844,0,25700 +12/28/2016 10:01:00 PM,5388.844,0,25800 +12/28/2016 10:01:04 PM,5388.844,0,25900 +12/28/2016 10:01:09 PM,5388.844,0,26000 +12/28/2016 10:01:14 PM,5388.844,0,26100 +12/28/2016 10:01:18 PM,5388.844,0,26200 +12/28/2016 10:01:23 PM,5388.844,0,26300 +12/28/2016 10:01:27 PM,5388.844,0,26400 +12/28/2016 10:01:32 PM,5388.844,0,26500 +12/28/2016 10:01:36 PM,5388.844,0,26600 +12/28/2016 10:01:40 PM,5388.844,0,26700 +12/28/2016 10:01:44 PM,5388.844,0,26800 +12/28/2016 10:01:47 PM,5388.844,0,26900 +12/28/2016 10:01:52 PM,5388.844,0,27000 +12/28/2016 10:01:57 PM,5388.844,0,27100 +12/28/2016 10:02:03 PM,5388.844,0,27200 +12/28/2016 10:02:07 PM,5388.844,0,27300 +12/28/2016 10:02:10 PM,5388.844,0,27400 +12/28/2016 10:02:15 PM,5388.844,0,27500 +12/28/2016 10:02:20 PM,5388.844,0,27600 +12/28/2016 10:02:27 PM,5388.844,0,27700 +12/28/2016 10:02:31 PM,5388.844,0,27800 +12/28/2016 10:02:35 PM,5388.844,0,27900 +12/28/2016 10:02:40 PM,5388.846,0,28000 +12/28/2016 10:02:44 PM,5388.846,0,28100 +12/28/2016 10:02:48 PM,5388.846,0,28200 +12/28/2016 10:02:52 PM,5388.846,0,28300 +12/28/2016 10:02:56 PM,5388.846,0,28400 +12/28/2016 10:03:01 PM,5388.846,0,28500 +12/28/2016 10:03:06 PM,5388.846,0,28600 +12/28/2016 10:03:11 PM,5388.846,0,28700 +12/28/2016 10:03:15 PM,5388.846,0,28800 +12/28/2016 10:03:19 PM,5388.846,0,28900 +12/28/2016 10:03:23 PM,5388.846,0,29000 +12/28/2016 10:03:28 PM,5388.846,0,29100 +12/28/2016 10:03:33 PM,5388.846,0,29200 +12/28/2016 10:03:37 PM,5388.846,0,29300 +12/28/2016 10:03:42 PM,5388.846,0,29400 +12/28/2016 10:03:46 PM,5388.846,0,29500 +12/28/2016 10:03:51 PM,5388.846,0,29600 +12/28/2016 10:03:55 PM,5388.846,0,29700 +12/28/2016 10:04:00 PM,5388.846,0,29800 +12/28/2016 10:04:04 PM,5388.846,0,29900 +12/28/2016 10:04:09 PM,5388.846,0,30000 +12/28/2016 10:04:14 PM,5388.838,0,30100 +12/28/2016 10:04:19 PM,5388.838,0,30200 +12/28/2016 10:04:22 PM,5388.838,0,30300 +12/28/2016 10:04:26 PM,5388.838,0,30400 +12/28/2016 10:04:30 PM,5388.838,0,30500 +12/28/2016 10:04:34 PM,5388.838,0,30600 +12/28/2016 10:04:38 PM,5388.838,0,30700 +12/28/2016 10:04:42 PM,5388.838,0,30800 +12/28/2016 10:04:46 PM,5388.838,0,30900 +12/28/2016 10:04:51 PM,5388.838,0,31000 +12/28/2016 10:04:54 PM,5388.838,0,31100 +12/28/2016 10:04:58 PM,5388.838,0,31200 +12/28/2016 10:05:02 PM,5388.838,0,31300 +12/28/2016 10:05:07 PM,5388.838,0,31400 +12/28/2016 10:05:12 PM,5388.838,0,31500 +12/28/2016 10:05:16 PM,5388.838,0,31600 +12/28/2016 10:05:22 PM,5388.838,0,31700 +12/28/2016 10:05:27 PM,5388.838,0,31800 +12/28/2016 10:05:31 PM,5388.838,0,31900 +12/28/2016 10:05:35 PM,5388.838,0,32000 +12/28/2016 10:05:40 PM,5388.838,0,32100 +12/28/2016 10:05:44 PM,5388.838,0,32200 +12/28/2016 10:05:47 PM,5388.838,0,32300 +12/28/2016 10:05:50 PM,5388.838,0,32400 +12/28/2016 10:05:54 PM,5388.838,0,32500 +12/28/2016 10:05:58 PM,5388.838,0,32600 +12/28/2016 10:06:02 PM,5388.838,0,32700 +12/28/2016 10:06:08 PM,5388.838,0,32800 +12/28/2016 10:06:12 PM,5388.844,0,32900 +12/28/2016 10:06:16 PM,5388.844,0,33000 +12/28/2016 10:06:20 PM,5388.844,0,33100 +12/28/2016 10:06:25 PM,5388.844,0,33200 +12/28/2016 10:06:30 PM,5388.844,0,33300 +12/28/2016 10:06:34 PM,5388.844,0,33400 +12/28/2016 10:06:38 PM,5388.844,0,33500 +12/28/2016 10:06:42 PM,5388.844,0,33600 +12/28/2016 10:06:46 PM,5388.844,0,33700 +12/28/2016 10:06:51 PM,5388.844,0,33800 +12/28/2016 10:06:56 PM,5388.844,0,33900 +12/28/2016 10:07:02 PM,5388.844,0,34000 +12/28/2016 10:07:08 PM,5388.844,0,34100 +12/28/2016 10:07:12 PM,5388.844,0,34200 +12/28/2016 10:07:18 PM,5388.844,0,34300 +12/28/2016 10:07:21 PM,5388.844,0,34400 +12/28/2016 10:07:25 PM,5388.844,0,34500 +12/28/2016 10:07:31 PM,5388.844,0,34600 +12/28/2016 10:07:36 PM,5388.844,0,34700 +12/28/2016 10:07:41 PM,5388.844,0,34800 +12/28/2016 10:07:44 PM,5388.844,0,34900 +12/28/2016 10:07:48 PM,5388.844,0,35000 +12/28/2016 10:07:54 PM,5388.844,0,35100 +12/28/2016 10:07:58 PM,5388.844,0,35200 +12/28/2016 10:08:03 PM,5388.844,0,35300 +12/28/2016 10:08:07 PM,5388.844,0,35400 +12/28/2016 10:08:13 PM,5388.844,0,35500 +12/28/2016 10:08:17 PM,5388.844,0,35600 +12/28/2016 10:08:21 PM,5388.844,0,35700 +12/28/2016 10:08:27 PM,5388.844,0,35800 +12/28/2016 10:08:30 PM,5388.844,0,35900 +12/28/2016 10:08:35 PM,5388.844,0,36000 +12/28/2016 10:08:40 PM,5388.844,0,36100 +12/28/2016 10:08:44 PM,5388.844,0,36200 +12/28/2016 10:08:48 PM,5388.844,0,36300 +12/28/2016 10:08:52 PM,5388.844,0,36400 +12/28/2016 10:08:56 PM,5388.844,0,36500 +12/28/2016 10:08:59 PM,5388.844,0,36600 +12/28/2016 10:09:03 PM,5388.844,0,36700 +12/28/2016 10:09:07 PM,5388.844,0,36800 +12/28/2016 10:09:11 PM,5388.844,0,36900 \ No newline at end of file From 3b335931a6322bc22efdf4cc659cd38d5ec5d8e3 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Thu, 29 Dec 2016 09:42:19 -0500 Subject: [PATCH 03/26] Added screenshots. --- .../extractinquotes2/extract-in-quotes-2-2.png | Bin 0 -> 31574 bytes .../extractinquotes2/extract-in-quotes-2-3.png | Bin 0 -> 16990 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Results/extractinquotes2/extract-in-quotes-2-2.png create mode 100644 Results/extractinquotes2/extract-in-quotes-2-3.png diff --git a/Results/extractinquotes2/extract-in-quotes-2-2.png b/Results/extractinquotes2/extract-in-quotes-2-2.png new file mode 100644 index 0000000000000000000000000000000000000000..4e66ca43d5e8b584e56457ea941d11e0b701f798 GIT binary patch literal 31574 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 literal 0 HcmV?d00001 diff --git a/Results/extractinquotes2/extract-in-quotes-2-3.png b/Results/extractinquotes2/extract-in-quotes-2-3.png new file mode 100644 index 0000000000000000000000000000000000000000..04f290b7dcff4573e0fbb20b9ea8bc114122c61f GIT binary patch literal 16990 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 Date: Wed, 25 Jan 2017 13:58:49 -0500 Subject: [PATCH 04/26] Added null/empty string check. This fixes an error in StringFunction if target string ends in a space character. --- AIProgrammer.Functions/Concrete/StringFunction.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/AIProgrammer.Functions/Concrete/StringFunction.cs b/AIProgrammer.Functions/Concrete/StringFunction.cs index d75859d..73ec376 100755 --- a/AIProgrammer.Functions/Concrete/StringFunction.cs +++ b/AIProgrammer.Functions/Concrete/StringFunction.cs @@ -51,7 +51,10 @@ public string Generate(IGeneticAlgorithm ga) Dictionary terms = new Dictionary(); foreach (string part in parts) { - terms[part] = part; + if (!string.IsNullOrEmpty(part)) + { + terms[part] = part; + } } foreach (string term in terms.Values) From f76902f3f59a447e34dd20998aff445701c4d0f0 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Thu, 4 May 2017 20:53:29 -0400 Subject: [PATCH 05/26] Update README.md --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7a2b633..ac31b2e 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ AI-Programmer ========= -Read the full article at: -http://www.primaryobjects.com/2013/01/27/using-artificial-intelligence-to-write-self-modifying-improving-programs/ - +Read the full article [Using Artificial Intelligence to Write Self-Modifying/Improving Programs](http://www.primaryobjects.com/2013/01/27/using-artificial-intelligence-to-write-self-modifying-improving-programs/) + +See also: [BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](https://drive.google.com/open?id=0B1ZVyY5eRQNibTl0Q3NIcVV4VlU) + AI-Programmer is an experiment with using artificial intelligence and genetic algorithms to automatically generate programs in the Brainf**k programming language. Successfully created [programs](https://github.com/primaryobjects/AI-Programmer/tree/master/Results) by the AI include: hello world, hello , addition, subtraction, reversing a string, fibonnaci sequence, 99 bottles of beer on the wall, and more. It's getting smarter. In short, it's an AI genetic algorithm implementation with self modifying code. ## Motivation @@ -163,6 +164,8 @@ http://www.primaryobjects.com/CMS/Article150 Self-Programming Artificial Intelligence Learns to Use Functions http://www.primaryobjects.com/CMS/Article163 +[BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](https://drive.google.com/open?id=0B1ZVyY5eRQNibTl0Q3NIcVV4VlU) + View @ GitHub https://github.com/primaryobjects/ai-programmer From b436988fcc480559f36b4d4b07742e5edd84fe3a Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Thu, 4 May 2017 20:55:26 -0400 Subject: [PATCH 06/26] Update README.md --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ac31b2e..847a90d 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,7 @@ AI-Programmer ========= -Read the full article [Using Artificial Intelligence to Write Self-Modifying/Improving Programs](http://www.primaryobjects.com/2013/01/27/using-artificial-intelligence-to-write-self-modifying-improving-programs/) - -See also: [BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](https://drive.google.com/open?id=0B1ZVyY5eRQNibTl0Q3NIcVV4VlU) +Read the full article [Using Artificial Intelligence to Write Self-Modifying/Improving Programs](http://www.primaryobjects.com/2013/01/27/using-artificial-intelligence-to-write-self-modifying-improving-programs/) and [research paper](https://drive.google.com/open?id=0B1ZVyY5eRQNibTl0Q3NIcVV4VlU "BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms"). AI-Programmer is an experiment with using artificial intelligence and genetic algorithms to automatically generate programs in the Brainf**k programming language. Successfully created [programs](https://github.com/primaryobjects/AI-Programmer/tree/master/Results) by the AI include: hello world, hello , addition, subtraction, reversing a string, fibonnaci sequence, 99 bottles of beer on the wall, and more. It's getting smarter. In short, it's an AI genetic algorithm implementation with self modifying code. @@ -164,6 +162,7 @@ http://www.primaryobjects.com/CMS/Article150 Self-Programming Artificial Intelligence Learns to Use Functions http://www.primaryobjects.com/CMS/Article163 +Reseach Paper [BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](https://drive.google.com/open?id=0B1ZVyY5eRQNibTl0Q3NIcVV4VlU) View @ GitHub From 00acb7de91949be2ea3c49d3c28341dd1eda18e5 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Thu, 4 May 2017 20:56:19 -0400 Subject: [PATCH 07/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 847a90d..a985906 100644 --- a/README.md +++ b/README.md @@ -162,7 +162,7 @@ http://www.primaryobjects.com/CMS/Article150 Self-Programming Artificial Intelligence Learns to Use Functions http://www.primaryobjects.com/CMS/Article163 -Reseach Paper +Reseach Paper
[BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](https://drive.google.com/open?id=0B1ZVyY5eRQNibTl0Q3NIcVV4VlU) View @ GitHub From aa0c76563c9d4abfaf9fe1337034c0dd90e7ecd1 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Thu, 4 May 2017 20:57:07 -0400 Subject: [PATCH 08/26] Update README.md --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a985906..3791d4c 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,6 @@ Experiment and have fun! Kory Becker http://www.primaryobjects.com/kory-becker -Read @ Primary Objects Using Artificial Intelligence to Write Self-Modifying/Improving Programs http://www.primaryobjects.com/CMS/Article149 @@ -162,8 +161,8 @@ http://www.primaryobjects.com/CMS/Article150 Self-Programming Artificial Intelligence Learns to Use Functions http://www.primaryobjects.com/CMS/Article163 -Reseach Paper
-[BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](https://drive.google.com/open?id=0B1ZVyY5eRQNibTl0Q3NIcVV4VlU) +BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms +https://drive.google.com/open?id=0B1ZVyY5eRQNibTl0Q3NIcVV4VlU View @ GitHub https://github.com/primaryobjects/ai-programmer From 5e505780e9365e5375582d5019366ae606204c16 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Thu, 4 May 2017 20:57:55 -0400 Subject: [PATCH 09/26] Update README.md --- README.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 3791d4c..8754efc 100644 --- a/README.md +++ b/README.md @@ -152,17 +152,13 @@ Experiment and have fun! Kory Becker http://www.primaryobjects.com/kory-becker -Using Artificial Intelligence to Write Self-Modifying/Improving Programs -http://www.primaryobjects.com/CMS/Article149 +[Using Artificial Intelligence to Write Self-Modifying/Improving Programs](http://www.primaryobjects.com/CMS/Article149) -Pushing the Limits of Self-Programming Artificial Intelligence -http://www.primaryobjects.com/CMS/Article150 +[Pushing the Limits of Self-Programming Artificial Intelligence](http://www.primaryobjects.com/CMS/Article150) -Self-Programming Artificial Intelligence Learns to Use Functions -http://www.primaryobjects.com/CMS/Article163 +[Self-Programming Artificial Intelligence Learns to Use Functions](http://www.primaryobjects.com/CMS/Article163) -BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms -https://drive.google.com/open?id=0B1ZVyY5eRQNibTl0Q3NIcVV4VlU +[BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](https://drive.google.com/open?id=0B1ZVyY5eRQNibTl0Q3NIcVV4VlU) View @ GitHub https://github.com/primaryobjects/ai-programmer From 9197ce02ad4c076b8548ff46ea1354f293d0965c Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Tue, 25 Jul 2017 11:40:44 -0400 Subject: [PATCH 10/26] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8754efc..10578c2 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ AI-Programmer ========= -Read the full article [Using Artificial Intelligence to Write Self-Modifying/Improving Programs](http://www.primaryobjects.com/2013/01/27/using-artificial-intelligence-to-write-self-modifying-improving-programs/) and [research paper](https://drive.google.com/open?id=0B1ZVyY5eRQNibTl0Q3NIcVV4VlU "BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms"). +Read the full article [Using Artificial Intelligence to Write Self-Modifying/Improving Programs](http://www.primaryobjects.com/2013/01/27/using-artificial-intelligence-to-write-self-modifying-improving-programs/) + +Read the research paper [BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](http://www.primaryobjects.com/bf-programmer-2017.pdf "BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms"). AI-Programmer is an experiment with using artificial intelligence and genetic algorithms to automatically generate programs in the Brainf**k programming language. Successfully created [programs](https://github.com/primaryobjects/AI-Programmer/tree/master/Results) by the AI include: hello world, hello , addition, subtraction, reversing a string, fibonnaci sequence, 99 bottles of beer on the wall, and more. It's getting smarter. In short, it's an AI genetic algorithm implementation with self modifying code. From ead7d43bc2d08512f9096e19a23859fe827109cb Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Tue, 25 Jul 2017 11:41:55 -0400 Subject: [PATCH 11/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 10578c2..07ff3a5 100644 --- a/README.md +++ b/README.md @@ -160,7 +160,7 @@ http://www.primaryobjects.com/kory-becker [Self-Programming Artificial Intelligence Learns to Use Functions](http://www.primaryobjects.com/CMS/Article163) -[BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](https://drive.google.com/open?id=0B1ZVyY5eRQNibTl0Q3NIcVV4VlU) +[BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](http://www.primaryobjects.com/bf-programmer-2017.pdf) View @ GitHub https://github.com/primaryobjects/ai-programmer From 280880d74ce88e82b9c8d8b2132ac46fc9bfe988 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Wed, 30 Aug 2017 09:30:13 -0400 Subject: [PATCH 12/26] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 07ff3a5..e425b5c 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,13 @@ Read the full article [Using Artificial Intelligence to Write Self-Modifying/Imp Read the research paper [BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](http://www.primaryobjects.com/bf-programmer-2017.pdf "BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms"). -AI-Programmer is an experiment with using artificial intelligence and genetic algorithms to automatically generate programs in the Brainf**k programming language. Successfully created [programs](https://github.com/primaryobjects/AI-Programmer/tree/master/Results) by the AI include: hello world, hello , addition, subtraction, reversing a string, fibonnaci sequence, 99 bottles of beer on the wall, and more. It's getting smarter. In short, it's an AI genetic algorithm implementation with self modifying code. +AI-Programmer is an experiment with using artificial intelligence and genetic algorithms to automatically generate programs. Successfully created [programs](https://github.com/primaryobjects/AI-Programmer/tree/master/Results) by the AI include: hello world, hello , addition, subtraction, reversing a string, fibonnaci sequence, 99 bottles of beer on the wall, and more. It's getting smarter. In short, it's an AI genetic algorithm implementation with self modifying code. ## Motivation Is it possible for a computer to write its own programs? Need a word processor? Let the computer create one for you. Need a screen capture tool? Let the computer create one for you. Take it a step further, and let the computer create programs that simplify your life, that you didn't even know you needed! -This is the idea behind the AI-Programmer experiment. The goal is to ultimately create a computer program that can write its own computer programs to solve specific computational problems. While the capability of a computer deciding what type of program to write is beyond our current means, we can still have a computer generate programs to solve very specific tasks, such as outputting the text, "Hello World". First, we need to choose a target programming language. For this experiment, we'll choose [Brainfuck](http://en.wikipedia.org/wiki/Brainfuck) (BF). +This is the idea behind the AI-Programmer experiment. The goal is to ultimately create a computer program that can write its own computer programs to solve specific computational problems. While the capability of a computer deciding what type of program to write is beyond our current means, we can still have a computer generate programs to solve very specific tasks, such as outputting the text, "Hello World". AI Programmer uses an esoteric [programming language](http://en.wikipedia.org/wiki/Brainfuck) for generating software programs. ## Details @@ -137,7 +137,7 @@ Set the App.config to use BrainPlus, so the AI has access to sub-routine instruc ``` - + ``` From 84caa433a8b4880b72e0b42f7a23cc7c970acc71 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Wed, 30 Aug 2017 09:32:17 -0400 Subject: [PATCH 13/26] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e425b5c..e715566 100644 --- a/README.md +++ b/README.md @@ -15,14 +15,14 @@ This is the idea behind the AI-Programmer experiment. The goal is to ultimately ## Details -The BF programming language was selected due to the fact that it consists of only 8 instructions, while being Turing complete. Theoretically, it is capable of solving any computational problem. This makes it easy to develop an interpreter, capable of running the AI-generated programs in a simulated environment. In this manner, each generated program may be executed and its performance ranked as a fitness score. Since the AI is using a Turing complete programming language, the AI itself, is also theoretically capable of solving any computational problem. However, for this experiment, the AI will focus on outputting a simple string to the console. +The underlying programming language consists of only 8 instructions, while being Turing complete. Theoretically, it is capable of solving any computational problem. This makes it easy to develop an interpreter, capable of running the AI-generated programs in a simulated environment. In this manner, each generated program may be executed and its performance ranked as a fitness score. Since the AI is using a Turing complete programming language, the AI itself, is also theoretically capable of solving any computational problem. However, for this experiment, the AI will focus on outputting a simple string to the console. ## How It Works AI-Programmer works as follows: - A genome consists of an array of doubles. -- Each gene corresponds to an instruction in the BF programming language. +- Each gene corresponds to an instruction in the programming language. - Start with a population of random genomes. - Decode each genome into a resulting program by converting each double into its corresponding instruction and execute the program. - Get each program's fitness score, based upon the output it writes to the console (if any), and rank them. @@ -64,7 +64,7 @@ The AI successfully wrote a program to output "hi" after 5,700 generations in ab While the above code contains parsing errors, such as non-matching brackets, our simulation interpreter computes the result up until the program fails, so in the above case, the syntax error (which is later on in the code, after a solution is found) doesn't impact the fitness. -You can try pasting the above code into a BF [interpreter](http://www.iamcal.com/misc/bf_debug/). Click "Start Debugger", ignore the warnings, then click Run To Breakpoint. Note the output. +You can try pasting the above code into an online [interpreter](http://www.iamcal.com/misc/bf_debug/). Click "Start Debugger", ignore the warnings, then click Run To Breakpoint. Note the output. If we trim off the excess code, we see the following syntactically-valid code: @@ -102,7 +102,7 @@ More complex programs could likely be generated while using faster PCs. Next ste ## Quick-Start Guide to Using the Code -By default, the code is configured to use the BF Classic instruction set and to write a program to output a string. To change the string that is generated, simply expand the "Private Variables" section and change the text for TargetString to your desired value. +By default, the code is configured to use the Classic instruction set and to write a program to output a string. To change the string that is generated, simply expand the "Private Variables" section and change the text for TargetString to your desired value. ``` private static TargetParams _targetParams = new TargetParams { TargetString = "hello world" }; From 56ee953395a8583275ff9beaa1d23c8839e14a89 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Wed, 30 Aug 2017 09:33:44 -0400 Subject: [PATCH 14/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e715566..3fcd07b 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ AI-Programmer is an experiment with using artificial intelligence and genetic al Is it possible for a computer to write its own programs? Need a word processor? Let the computer create one for you. Need a screen capture tool? Let the computer create one for you. Take it a step further, and let the computer create programs that simplify your life, that you didn't even know you needed! -This is the idea behind the AI-Programmer experiment. The goal is to ultimately create a computer program that can write its own computer programs to solve specific computational problems. While the capability of a computer deciding what type of program to write is beyond our current means, we can still have a computer generate programs to solve very specific tasks, such as outputting the text, "Hello World". AI Programmer uses an esoteric [programming language](http://en.wikipedia.org/wiki/Brainfuck) for generating software programs. +This is the idea behind the AI-Programmer experiment. The goal is to ultimately create a computer program that can write its own computer programs to solve specific computational problems. While the capability of a computer deciding what type of program to write is beyond our current means, we can still have a computer generate programs to solve very specific tasks, such as outputting the text, "Hello World". AI Programmer uses an esoteric programming language for generating software programs. ## Details From 3d25559c90b1a30eb918ed2b1bab3720d55a47f5 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Mon, 4 Jun 2018 17:22:50 -0400 Subject: [PATCH 15/26] Added callback event for when a function solves a step. Allows for client code to output the program code generated so far. Reset genomeSize when a function completes a step. Display minutes and seconds in status. --- .../Concrete/StringFunction.cs | 7 +++++- .../Concrete/StringFunctionChunk.cs | 7 +++++- AIProgrammer.Managers/GAManager.cs | 13 ++++++++--- AIProgrammer/Program.cs | 23 +++++++++++++++++-- 4 files changed, 43 insertions(+), 7 deletions(-) diff --git a/AIProgrammer.Functions/Concrete/StringFunction.cs b/AIProgrammer.Functions/Concrete/StringFunction.cs index 73ec376..447d5cd 100755 --- a/AIProgrammer.Functions/Concrete/StringFunction.cs +++ b/AIProgrammer.Functions/Concrete/StringFunction.cs @@ -19,12 +19,14 @@ public class StringFunction : IFunction private double _mutationRate; private int _genomeSize; private GAFunction _fitnessFunc; + private Action _onStepComplete; private OnGeneration _generationFunc; private TargetParams _targetParams; - public StringFunction(Func getFitnessMethod, GAStatus bestStatus, GAFunction fitnessFunc, OnGeneration generationFunc, double crossoverRate, double mutationRate, int genomeSize, TargetParams targetParams) + public StringFunction(Func getFitnessMethod, Action onStepComplete, GAStatus bestStatus, GAFunction fitnessFunc, OnGeneration generationFunc, double crossoverRate, double mutationRate, int genomeSize, TargetParams targetParams) { _getFitnessFunc = getFitnessMethod; + _onStepComplete = onStepComplete; _bestStatus = bestStatus; _crossoverRate = crossoverRate; _mutationRate = mutationRate; @@ -79,6 +81,9 @@ public string Generate(IGeneticAlgorithm ga) _bestStatus.LastChangeDate = DateTime.Now; _bestStatus.Program = ""; _bestStatus.Ticks = 0; + + // Notify parent of progress. + _onStepComplete(appendCode, term); } // Restore target string. diff --git a/AIProgrammer.Functions/Concrete/StringFunctionChunk.cs b/AIProgrammer.Functions/Concrete/StringFunctionChunk.cs index d495460..fea2b66 100644 --- a/AIProgrammer.Functions/Concrete/StringFunctionChunk.cs +++ b/AIProgrammer.Functions/Concrete/StringFunctionChunk.cs @@ -31,13 +31,15 @@ public class StringFunctionChunk : IFunction private double _mutationRate; private int _genomeSize; private GAFunction _fitnessFunc; + private Action _onStepComplete; private OnGeneration _generationFunc; private TargetParams _targetParams; private int _chunkSize; - public StringFunctionChunk(Func getFitnessMethod, GAStatus bestStatus, GAFunction fitnessFunc, OnGeneration generationFunc, double crossoverRate, double mutationRate, int genomeSize, TargetParams targetParams, int chunkSize = 4) + public StringFunctionChunk(Func getFitnessMethod, Action onStepComplete, GAStatus bestStatus, GAFunction fitnessFunc, OnGeneration generationFunc, double crossoverRate, double mutationRate, int genomeSize, TargetParams targetParams, int chunkSize = 4) { _getFitnessFunc = getFitnessMethod; + _onStepComplete = onStepComplete; _bestStatus = bestStatus; _crossoverRate = crossoverRate; _mutationRate = mutationRate; @@ -111,6 +113,9 @@ public string Generate(IGeneticAlgorithm ga) _bestStatus.LastChangeDate = DateTime.Now; _bestStatus.Program = ""; _bestStatus.Ticks = 0; + + // Notify parent of progress. + _onStepComplete(appendCode, term); } // Restore target string. diff --git a/AIProgrammer.Managers/GAManager.cs b/AIProgrammer.Managers/GAManager.cs index 1dc26d7..36415fd 100644 --- a/AIProgrammer.Managers/GAManager.cs +++ b/AIProgrammer.Managers/GAManager.cs @@ -25,10 +25,17 @@ public static string Run(IGeneticAlgorithm iga, GAFunction fitnessFunc, OnGenera { // Perform any additional setup for this fitness. setupFunc(); + } + + try + { + // Delete any existing dat file. + File.Delete(Directory.GetCurrentDirectory() + "\\my-genetic-algorithm.dat"); + } + catch (Exception excep) + { + Console.WriteLine("Unable to delete " + Directory.GetCurrentDirectory() + "\\my-genetic-algorithm.dat\n" + excep.Message); } - - // Delete any existing dat file. - File.Delete(Directory.GetCurrentDirectory() + "\\my-genetic-algorithm.dat"); // Start a new genetic algorithm. ga.GAParams.Elitism = true; diff --git a/AIProgrammer/Program.cs b/AIProgrammer/Program.cs index e9c8197..fc1f379 100755 --- a/AIProgrammer/Program.cs +++ b/AIProgrammer/Program.cs @@ -44,10 +44,11 @@ class Program private static int _maxIterationCount = 5000; // Max iterations a program may run before being killed (prevents infinite loops). private static int _expandAmount = 0; // The max genome size will expand by this amount, every _expandRate iterations (may help learning). Set to 0 to disable. private static int _expandRate = 5000; // The max genome size will expand by _expandAmount, at this interval of generations. + private static int _originalGenomeSize = _genomeSize; #endregion - private static IFunction _functionGenerator = null; //new StringFunction(() => GetFitnessMethod(), _bestStatus, fitnessFunction, OnGeneration, _crossoverRate, _mutationRate, _genomeSize, _targetParams); /* Functions require setting BrainfuckVersion=2 in App.config */ + private static IFunction _functionGenerator = null; //new StringFunction(() => GetFitnessMethod(), (program, param) => OnFunctionStepComplete(program, param), _bestStatus, fitnessFunction, OnGeneration, _crossoverRate, _mutationRate, _genomeSize, _targetParams); /* Functions require setting BrainfuckVersion=2 in App.config */ /// /// Selects the type of fitness algorithm to use (Hello World solutions, Calculation solutions, etc). @@ -67,6 +68,24 @@ private static IFitness GetFitnessMethod() return new StringStrictFitness(_ga, _maxIterationCount, _targetParams.TargetString, _appendCode); } + /// + /// Callback handler for each time a function completes solving a step of its process. For example, solving a word within a sentence, etc. + /// + /// Complete append code generated so far. This can be set as the value for _appendCode to generate programs. + /// Optional parameter supplied by Function to indicate what has been solved (i.e., the term, sentence, numeric value, etc). + private static void OnFunctionStepComplete(string program, object param) + { + // Reset genome size back to its original value for subsequent solving steps. + _genomeSize = _originalGenomeSize; + _ga.GAParams.GenomeSize = _genomeSize; + + // Reset timer. + _startTime = DateTime.Now; + + // Display generated code so far. + Console.WriteLine(param.ToString() + "\n" + program); + } + #region Worker Methods /// @@ -77,7 +96,7 @@ private static void OnGeneration(GA ga) if (_bestStatus.Iteration++ > 1000) { _bestStatus.Iteration = 0; - Console.WriteLine("Best Fitness: " + _bestStatus.TrueFitness + "/" + _targetParams.TargetFitness + " " + Math.Round(_bestStatus.TrueFitness / _targetParams.TargetFitness * 100, 2) + "%, Ticks: " + _bestStatus.Ticks + ", Total Ticks: " + _bestStatus.TotalTicks + ", Running: " + Math.Round((DateTime.Now - _startTime).TotalMinutes) + "m, Size: " + _genomeSize + ", Best Output: " + _bestStatus.Output + ", Changed: " + _bestStatus.LastChangeDate.ToString() + ", Program: " + _bestStatus.Program); + Console.WriteLine("Best Fitness: " + _bestStatus.TrueFitness + "/" + _targetParams.TargetFitness + " " + Math.Round(_bestStatus.TrueFitness / _targetParams.TargetFitness * 100, 2) + "%, Ticks: " + _bestStatus.Ticks + ", Total Ticks: " + _bestStatus.TotalTicks + ", Running: " + Math.Floor((DateTime.Now - _startTime).TotalSeconds / 60) + "m " + Math.Round(((DateTime.Now - _startTime).TotalSeconds % 60)) + "s, Size: " + _genomeSize + ", Best Output: " + _bestStatus.Output + ", Changed: " + _bestStatus.LastChangeDate.ToString() + ", Program: " + _bestStatus.Program); ga.Save("my-genetic-algorithm.dat"); } From 5d02c2dd37fdef01781ce92259d15888b850a3e2 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Mon, 4 Jun 2018 17:32:43 -0400 Subject: [PATCH 16/26] Optimized AlphabetFunctions. --- AIProgrammer.Managers/CommonManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AIProgrammer.Managers/CommonManager.cs b/AIProgrammer.Managers/CommonManager.cs index 68ffae8..b20cdd9 100644 --- a/AIProgrammer.Managers/CommonManager.cs +++ b/AIProgrammer.Managers/CommonManager.cs @@ -79,7 +79,7 @@ public static class CommonManager /// ... /// return new StringStrictFitness(_ga, _maxIterationCount, _targetParams.TargetString, _appendCode); /// - public static string AlphabetFunctions = "6+.>>[->>>.+-++><<+.[-]><.<+-+[...-+[++.+-.<+]+<[-@6-+++.->[[--..>->--<>+++.[[-.+.>.<.<.><[+,+.--<[<.@>6+++.>-[+[.-[-[-][.-]+..+>--++>-].<>.>.->+[..]]-<@---6++++.>-++-[>-+>++[[+-[-.[]<>..[<--]..<]<>>[-,.@-7---+---------.>>[.>>+.>.+>.>>.[+,>>.].>...-<-@>>+-+[6+++[+++.[]]>[.]<.-.-.+<.<.]---<.>>[-+>[<+[.@6++++++<<>>+.+[--[-]-]-[..][[[>-.-.[-<.]][]>..>.-,@7--------<>.>[-..,.+-.+[[]...+++[++-<<++<+]<>]<>,[@7-><------.[[+]+]]].....[[]+<[-><<>++[-[<-<].<<>->@6++++++++><><++.+>-<->>[>>++>[-]>.>......-...[-,.[@-7-----.>><>[-[-]-]]@><7----.[]>.>....+.-<+.->+><-,-]]-+.+...<>.<+[]]8<@6--7---.>->+-[>..->+>>.[<->-.-.....+<>+.[>>.>-[]->@+>[,++<>+.+--.>>.>>....<.-->+[+<<[+]<>.-<.]]7--.-+@>6+++++++++++++++.-++[-[-]-[+[-[+-+--+--]..<.,<[,>@8----------------.>[+-[-<>.>++><]+<..[<-++]>[--],-@><----[[[+]>1+[7+.--<[-[-[[++-,-+[+].<.[<<-+<<[[+,@8[[++++[+-+7++.++>[]>+>><[>-.++.<+[+-.[+[<[[<++.+[@8------------->+<>+<.[]->[>..-><.>..<[.->>[]-]]9<.@7++><++.[]+-.>+.<[-[..[[-]<.].]+,-.++d-[d[>]-,-]+]@<>-->+[>[+++.[][,][,]]7++<][-+<+.<>-[>+]+,+>[.-.w<@>5>+7++++++.[].,.[+[.+--.<>-<-.<<-.<]->.[-+-+>]>1u@8-------[--.++>-+>>+>++>][[+..<>..[..<<[.<+<<<]-.<@";//>8-------+--[[.<[-...[+><><[.-..>[.[]]]>>>>].>,[><@7><+++++++++.>[<.<<.-.+-.>[-+--[][.-.+[<,>0]>[[[->@8---++--[--[+--.[->+>>->[<><>+[.++-++<+++]]-[[],,,@"; + public static string AlphabetFunctions = "6+.@6++.@6+++.@6++++.@6+++++.@6++++++.@6+++++++.@6++++++++.@7-------.@7------.@7-----.@7----.@7---.@7[--.@7-.@7.@-7+.@7++.-@7+++.@7++++.@7+++++.@7++++++.@8---------.@7++++++++.@8-------.@8------.@"; public static string ConvertDoubleArrayToBF(double[] array) { From 833c76a62c523af0278620ed82421a2a20c64664 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Tue, 5 Jun 2018 10:21:01 -0400 Subject: [PATCH 17/26] Added GetAlphabet function to use a subset of letters from AlphabetFunctions. --- AIProgrammer.Managers/CommonManager.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/AIProgrammer.Managers/CommonManager.cs b/AIProgrammer.Managers/CommonManager.cs index b20cdd9..941b620 100644 --- a/AIProgrammer.Managers/CommonManager.cs +++ b/AIProgrammer.Managers/CommonManager.cs @@ -267,5 +267,21 @@ public static int GetFunctionCount(string program) return count; } + + /// + /// Returns a string alphabet functions to be used within appendCode. + /// + /// Return alphabet functions from a through "to" inclusive. + /// string + public static string GetAlphabet(char to = 'z') + { + string result = ""; + + string[] parts = AlphabetFunctions.Split("@".ToCharArray()); + int index = to - 'a'; + result = string.Join("@", parts.Take(index + 1)) + "@"; + + return result; + } } } From 69ddc2fa2443acffc2185327dce5e8e6438ffd31 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Tue, 5 Jun 2018 11:27:41 -0400 Subject: [PATCH 18/26] Removed extraneous loops from function generated code. --- AIProgrammer.Functions/Concrete/StringFunction.cs | 5 ++++- AIProgrammer.Functions/Concrete/StringFunctionChunk.cs | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/AIProgrammer.Functions/Concrete/StringFunction.cs b/AIProgrammer.Functions/Concrete/StringFunction.cs index 447d5cd..39356e4 100755 --- a/AIProgrammer.Functions/Concrete/StringFunction.cs +++ b/AIProgrammer.Functions/Concrete/StringFunction.cs @@ -70,7 +70,10 @@ public string Generate(IGeneticAlgorithm ga) // Run the genetic algorithm and get the best brain. program = GAManager.Run(ga, _fitnessFunc, _generationFunc); - + + // Trim extraneous loop instructions from the end. + program = program.Replace("[]", ""); + appendCode += program + "@"; // Reset the target fitness. diff --git a/AIProgrammer.Functions/Concrete/StringFunctionChunk.cs b/AIProgrammer.Functions/Concrete/StringFunctionChunk.cs index fea2b66..57d9719 100644 --- a/AIProgrammer.Functions/Concrete/StringFunctionChunk.cs +++ b/AIProgrammer.Functions/Concrete/StringFunctionChunk.cs @@ -102,7 +102,10 @@ public string Generate(IGeneticAlgorithm ga) // Run the genetic algorithm and get the best brain. program = GAManager.Run(ga, _fitnessFunc, _generationFunc); - + + // Trim extraneous loop instructions from the end. + program = program.Replace("[]", ""); + appendCode += program + "@"; // Reset the target fitness. From 1a30fe1e999a57468c6fd0b37752cdfa4e9858a4 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Tue, 5 Jun 2018 13:15:41 -0400 Subject: [PATCH 19/26] Updated README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3fcd07b..459388e 100644 --- a/README.md +++ b/README.md @@ -167,4 +167,4 @@ https://github.com/primaryobjects/ai-programmer ## Copyright -Copyright (c) 2017 Kory Becker http://primaryobjects.com/kory-becker +Copyright (c) 2018 Kory Becker http://primaryobjects.com/kory-becker From 0b4e4daa982dca7d13945bfea8a9010d19e4e14c Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Fri, 7 Sep 2018 13:45:21 -0400 Subject: [PATCH 20/26] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 459388e..b0acb49 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,9 @@ AI-Programmer Read the full article [Using Artificial Intelligence to Write Self-Modifying/Improving Programs](http://www.primaryobjects.com/2013/01/27/using-artificial-intelligence-to-write-self-modifying-improving-programs/) -Read the research paper [BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](http://www.primaryobjects.com/bf-programmer-2017.pdf "BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms"). +Read the research paper [AI Programmer: Autonomously Creating +Software Programs Using Genetic Algorithms](https://arxiv.org/pdf/1709.05703.pdf "AI Programmer: Autonomously Creating +Software Programs Using Genetic Algorithms"). AI-Programmer is an experiment with using artificial intelligence and genetic algorithms to automatically generate programs. Successfully created [programs](https://github.com/primaryobjects/AI-Programmer/tree/master/Results) by the AI include: hello world, hello , addition, subtraction, reversing a string, fibonnaci sequence, 99 bottles of beer on the wall, and more. It's getting smarter. In short, it's an AI genetic algorithm implementation with self modifying code. From 9a1751b7eba13cc82c7c6c2105672649f63c1f44 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Sun, 30 Sep 2018 17:58:22 -0400 Subject: [PATCH 21/26] Added StringLengthFitness.cs with successful result. --- .../AIProgrammer.Fitness.csproj | 1 + .../Concrete/StringLengthFitness.cs | 207 ++++++++++++++++++ Results/string-length/history.txt | 186 ++++++++++++++++ Results/string-length/output.exe | Bin 0 -> 5120 bytes Results/string-length/string-length-1.png | Bin 0 -> 38300 bytes 5 files changed, 394 insertions(+) create mode 100644 AIProgrammer.Fitness/Concrete/StringLengthFitness.cs create mode 100644 Results/string-length/history.txt create mode 100644 Results/string-length/output.exe create mode 100644 Results/string-length/string-length-1.png diff --git a/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj b/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj index 316978a..0421884 100644 --- a/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj +++ b/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj @@ -75,6 +75,7 @@ + diff --git a/AIProgrammer.Fitness/Concrete/StringLengthFitness.cs b/AIProgrammer.Fitness/Concrete/StringLengthFitness.cs new file mode 100644 index 0000000..faa7ed2 --- /dev/null +++ b/AIProgrammer.Fitness/Concrete/StringLengthFitness.cs @@ -0,0 +1,207 @@ +using AIProgrammer.Fitness.Base; +using AIProgrammer.GeneticAlgorithm; +using AIProgrammer.Managers; +using AIProgrammer.Types; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Xml; + +namespace AIProgrammer.Fitness.Concrete +{ + /// + /// Returns the length of a string. + /// + public class StringLengthFitness : FitnessBase + { + private static string[] _trainingExamples = { "cori@domain.com", "mt@po.box", "test", "johnandjanesdfgjnsdkfjgjnrtkhreuitgure", "unknown-string-goes-here" }; + private static int[] _trainingResults; + + #region Settings + + public override int? GenomeSize + { + get + { + return 10; + } + } + + public override int? MaxGenomeSize + { + get + { + return 150; + } + } + + public override int? ExpandAmount + { + get + { + return 2; + } + } + + public override int? ExpandRate + { + get + { + return 2000; + } + } + + #endregion + + public StringLengthFitness(GA ga, int maxIterationCount, string appendFunctions = null) + : base(ga, maxIterationCount, appendFunctions) + { + if (_targetFitness == 0) + { + // Extract expected results from training examples. + _trainingResults = _trainingExamples.ToList().ConvertAll(e => { return e.Length; }).ToArray(); + + // Assign target fitness. + _targetFitness = _trainingExamples.Length * 256; + //_targetFitness += _trainingExamples.Length * 10; // bonus for matching exact length of output + } + } + + #region FitnessBase Members + + protected override double GetFitnessMethod(string program) + { + double countBonus = 0; + double penalty = 0; + + for (int i = 0; i < _trainingExamples.Length; i++) + { + try + { + int state = 0; + _console.Clear(); + + // Run the program. + _bf = new Interpreter(program, () => + { + if (state < _trainingExamples[i].Length) + { + // Send input. + return (byte)_trainingExamples[i][state++]; + } + else + { + // Not ready for input. + return 0; + } + }, + (b) => + { + if (state < _trainingExamples[i].Length) + { + // Apply a penalty for outputting before reading the input. + penalty += 10; + } + + _console.Append(b.ToString()); + }); + _bf.Run(_maxIterationCount); + } + catch + { + } + + if (_console.Length > 0) + { + string console = _console.ToString(); + _output.Append(console); + _output.Append(","); + + if (Int32.TryParse(console, out int value)) + { + Fitness += 256 - Math.Abs(value - _trainingResults[i]); + } + } + + // Make the AI wait until a solution is found without the penalty. + Fitness -= penalty; + + // Check for solution. + IsFitnessAchieved(); + + // Length bonus (percentage of 100). + //Fitness += 10;// * ((1 - Math.Abs(_console.Length - 1)) / 1); + + // Bonus for less operations to optimize the code. + countBonus += ((_maxIterationCount - _bf.m_Ticks) / 1000.0); + + Ticks += _bf.m_Ticks; + TotalTicks += _bf.m_TotalTicks; + } + + if (_fitness != Double.MaxValue) + { + _fitness = Fitness + countBonus; + } + + return _fitness; + } + + protected override void RunProgramMethod(string program) + { + for (int i = 0; i < 99; i++) + { + // Get input from the user. + Console.WriteLine(); + Console.Write(">: "); + string line = Console.ReadLine(); + int index = 0; + + _console.Clear(); + + try + { + // Run the program. + Interpreter bf = new Interpreter(program, () => + { + byte b; + + // Send the next character. + if (index < line.Length) + { + b = (byte)line[index++]; + } + else + { + b = 0; + } + + return b; + }, + (b) => + { + _console.Append(b.ToString()); + }); + + bf.Run(_maxIterationCount); + } + catch + { + } + + Console.WriteLine(_console.ToString()); + } + } + + public override string GetConstructorParameters() + { + return _maxIterationCount.ToString(); + } + + #endregion + } +} diff --git a/Results/string-length/history.txt b/Results/string-length/history.txt new file mode 100644 index 0000000..7b6e118 --- /dev/null +++ b/Results/string-length/history.txt @@ -0,0 +1,186 @@ +9/30/2018 4:55:35 PM,1064.99,0,0 +9/30/2018 4:55:36 PM,1096.945,0,100 +9/30/2018 4:55:37 PM,1099.945,0,200 +9/30/2018 4:55:38 PM,1099.945,0,300 +9/30/2018 4:55:39 PM,1099.945,0,400 +9/30/2018 4:55:40 PM,1099.945,0,500 +9/30/2018 4:55:42 PM,1099.945,0,600 +9/30/2018 4:55:44 PM,1104.955,0,700 +9/30/2018 4:55:46 PM,1104.99,0,800 +9/30/2018 4:55:48 PM,1104.99,0,900 +9/30/2018 4:55:50 PM,1214.675,0,1000 +9/30/2018 4:55:51 PM,1252.495,0,1100 +9/30/2018 4:55:52 PM,1252.675,0,1200 +9/30/2018 4:55:54 PM,1253.585,0,1300 +9/30/2018 4:55:55 PM,1253.675,0,1400 +9/30/2018 4:55:57 PM,1254.675,0,1500 +9/30/2018 4:55:58 PM,1254.675,0,1600 +9/30/2018 4:56:00 PM,1254.675,0,1700 +9/30/2018 4:56:01 PM,1254.675,0,1800 +9/30/2018 4:56:02 PM,1254.675,0,1900 +9/30/2018 4:56:04 PM,1254.69,0,2000 +9/30/2018 4:56:06 PM,1255.665,0,2100 +9/30/2018 4:56:08 PM,1255.665,0,2200 +9/30/2018 4:56:09 PM,1255.665,0,2300 +9/30/2018 4:56:11 PM,1255.665,0,2400 +9/30/2018 4:56:13 PM,1255.68,0,2500 +9/30/2018 4:56:14 PM,1255.68,0,2600 +9/30/2018 4:56:15 PM,1255.68,0,2700 +9/30/2018 4:56:17 PM,1255.68,0,2800 +9/30/2018 4:56:18 PM,1255.68,0,2900 +9/30/2018 4:56:20 PM,1255.68,0,3000 +9/30/2018 4:56:21 PM,1255.68,0,3100 +9/30/2018 4:56:22 PM,1255.759,0,3200 +9/30/2018 4:56:24 PM,1255.759,0,3300 +9/30/2018 4:56:25 PM,1255.759,0,3400 +9/30/2018 4:56:26 PM,1255.759,0,3500 +9/30/2018 4:56:28 PM,1255.759,0,3600 +9/30/2018 4:56:29 PM,1255.759,0,3700 +9/30/2018 4:56:30 PM,1255.759,0,3800 +9/30/2018 4:56:32 PM,1255.759,0,3900 +9/30/2018 4:56:33 PM,1255.759,0,4000 +9/30/2018 4:56:35 PM,1255.759,0,4100 +9/30/2018 4:56:36 PM,1255.761,0,4200 +9/30/2018 4:56:37 PM,1255.761,0,4300 +9/30/2018 4:56:39 PM,1255.764,0,4400 +9/30/2018 4:56:40 PM,1255.764,0,4500 +9/30/2018 4:56:42 PM,1255.764,0,4600 +9/30/2018 4:56:43 PM,1255.771,0,4700 +9/30/2018 4:56:44 PM,1255.771,0,4800 +9/30/2018 4:56:46 PM,1255.771,0,4900 +9/30/2018 4:56:48 PM,1255.771,0,5000 +9/30/2018 4:56:49 PM,1255.771,0,5100 +9/30/2018 4:56:51 PM,1255.771,0,5200 +9/30/2018 4:56:52 PM,1255.771,0,5300 +9/30/2018 4:56:54 PM,1255.771,0,5400 +9/30/2018 4:56:56 PM,1255.771,0,5500 +9/30/2018 4:56:58 PM,1255.771,0,5600 +9/30/2018 4:57:00 PM,1255.771,0,5700 +9/30/2018 4:57:03 PM,1255.771,0,5800 +9/30/2018 4:57:05 PM,1255.771,0,5900 +9/30/2018 4:57:08 PM,1255.771,0,6000 +9/30/2018 4:57:10 PM,1255.771,0,6100 +9/30/2018 4:57:12 PM,1255.771,0,6200 +9/30/2018 4:57:15 PM,1255.771,0,6300 +9/30/2018 4:57:17 PM,1255.771,0,6400 +9/30/2018 4:57:19 PM,1255.779,0,6500 +9/30/2018 4:57:21 PM,1255.786,0,6600 +9/30/2018 4:57:23 PM,1255.786,0,6700 +9/30/2018 4:57:25 PM,1255.79,0,6800 +9/30/2018 4:57:27 PM,1255.79,0,6900 +9/30/2018 4:57:29 PM,1255.79,0,7000 +9/30/2018 4:57:30 PM,1255.805,0,7100 +9/30/2018 4:57:32 PM,1255.805,0,7200 +9/30/2018 4:57:33 PM,1255.805,0,7300 +9/30/2018 4:57:35 PM,1255.805,0,7400 +9/30/2018 4:57:37 PM,1255.805,0,7500 +9/30/2018 4:57:38 PM,1255.805,0,7600 +9/30/2018 4:57:40 PM,1255.805,0,7700 +9/30/2018 4:57:41 PM,1255.805,0,7800 +9/30/2018 4:57:43 PM,1255.805,0,7900 +9/30/2018 4:57:45 PM,1255.805,0,8000 +9/30/2018 4:57:47 PM,1255.805,0,8100 +9/30/2018 4:57:49 PM,1255.805,0,8200 +9/30/2018 4:57:51 PM,1255.805,0,8300 +9/30/2018 4:57:53 PM,1255.805,0,8400 +9/30/2018 4:57:55 PM,1255.805,0,8500 +9/30/2018 4:57:58 PM,1255.805,0,8600 +9/30/2018 4:58:01 PM,1255.805,0,8700 +9/30/2018 4:58:03 PM,1255.805,0,8800 +9/30/2018 4:58:05 PM,1255.805,0,8900 +9/30/2018 4:58:08 PM,1255.805,0,9000 +9/30/2018 4:58:11 PM,1255.805,0,9100 +9/30/2018 4:58:13 PM,1255.805,0,9200 +9/30/2018 4:58:15 PM,1255.805,0,9300 +9/30/2018 4:58:17 PM,1255.805,0,9400 +9/30/2018 4:58:19 PM,1255.805,0,9500 +9/30/2018 4:58:20 PM,1255.805,0,9600 +9/30/2018 4:58:22 PM,1255.805,0,9700 +9/30/2018 4:58:23 PM,1255.805,0,9800 +9/30/2018 4:58:25 PM,1255.805,0,9900 +9/30/2018 4:58:27 PM,1255.805,0,10000 +9/30/2018 4:58:30 PM,1255.805,0,10100 +9/30/2018 4:58:32 PM,1255.805,0,10200 +9/30/2018 4:58:35 PM,1255.805,0,10300 +9/30/2018 4:58:37 PM,1255.805,0,10400 +9/30/2018 4:58:40 PM,1255.805,0,10500 +9/30/2018 4:58:42 PM,1255.805,0,10600 +9/30/2018 4:58:44 PM,1255.811,0,10700 +9/30/2018 4:58:46 PM,1255.811,0,10800 +9/30/2018 4:58:48 PM,1255.811,0,10900 +9/30/2018 4:58:50 PM,1255.817,0,11000 +9/30/2018 4:58:53 PM,1255.817,0,11100 +9/30/2018 4:58:55 PM,1255.817,0,11200 +9/30/2018 4:58:58 PM,1255.82,0,11300 +9/30/2018 4:59:00 PM,1255.82,0,11400 +9/30/2018 4:59:03 PM,1255.824,0,11500 +9/30/2018 4:59:06 PM,1255.824,0,11600 +9/30/2018 4:59:08 PM,1255.824,0,11700 +9/30/2018 4:59:11 PM,1255.827,0,11800 +9/30/2018 4:59:14 PM,1255.827,0,11900 +9/30/2018 4:59:16 PM,1255.827,0,12000 +9/30/2018 4:59:18 PM,1251.729,0,12100 +9/30/2018 4:59:21 PM,1252.655,0,12200 +9/30/2018 4:59:23 PM,1256.715,0,12300 +9/30/2018 4:59:26 PM,1256.719,0,12400 +9/30/2018 4:59:28 PM,1256.719,0,12500 +9/30/2018 4:59:31 PM,1256.727,0,12600 +9/30/2018 4:59:33 PM,1256.735,0,12700 +9/30/2018 4:59:36 PM,1257.727,0,12800 +9/30/2018 4:59:38 PM,1257.729,0,12900 +9/30/2018 4:59:41 PM,1257.735,0,13000 +9/30/2018 4:59:42 PM,1257.795,0,13100 +9/30/2018 4:59:44 PM,1257.795,0,13200 +9/30/2018 4:59:47 PM,1257.795,0,13300 +9/30/2018 4:59:48 PM,1257.795,0,13400 +9/30/2018 4:59:50 PM,1257.795,0,13500 +9/30/2018 4:59:52 PM,1257.795,0,13600 +9/30/2018 4:59:54 PM,1257.795,0,13700 +9/30/2018 4:59:56 PM,1257.797,0,13800 +9/30/2018 4:59:59 PM,1263.726,0,13900 +9/30/2018 5:00:02 PM,1263.726,0,14000 +9/30/2018 5:00:04 PM,1252.672,0,14100 +9/30/2018 5:00:07 PM,1255.719,0,14200 +9/30/2018 5:00:09 PM,1255.719,0,14300 +9/30/2018 5:00:11 PM,1255.749,0,14400 +9/30/2018 5:00:13 PM,1255.749,0,14500 +9/30/2018 5:00:15 PM,1255.75,0,14600 +9/30/2018 5:00:17 PM,1255.75,0,14700 +9/30/2018 5:00:20 PM,1255.756,0,14800 +9/30/2018 5:00:22 PM,1255.765,0,14900 +9/30/2018 5:00:24 PM,1255.781,0,15000 +9/30/2018 5:00:27 PM,1255.781,0,15100 +9/30/2018 5:00:29 PM,1255.802,0,15200 +9/30/2018 5:00:32 PM,1255.807,0,15300 +9/30/2018 5:00:34 PM,1255.812,0,15400 +9/30/2018 5:00:37 PM,1255.812,0,15500 +9/30/2018 5:00:39 PM,1255.812,0,15600 +9/30/2018 5:00:42 PM,1255.812,0,15700 +9/30/2018 5:00:44 PM,1255.812,0,15800 +9/30/2018 5:00:46 PM,1255.812,0,15900 +9/30/2018 5:00:49 PM,1255.812,0,16000 +9/30/2018 5:00:51 PM,1255.812,0,16100 +9/30/2018 5:00:54 PM,1255.812,0,16200 +9/30/2018 5:00:57 PM,1255.812,0,16300 +9/30/2018 5:00:59 PM,1255.812,0,16400 +9/30/2018 5:01:02 PM,1255.812,0,16500 +9/30/2018 5:01:04 PM,1255.812,0,16600 +9/30/2018 5:01:07 PM,1255.812,0,16700 +9/30/2018 5:01:09 PM,1255.812,0,16800 +9/30/2018 5:01:12 PM,1255.822,0,16900 +9/30/2018 5:01:15 PM,1255.822,0,17000 +9/30/2018 5:01:18 PM,1255.822,0,17100 +9/30/2018 5:01:21 PM,1255.822,0,17200 +9/30/2018 5:01:23 PM,1255.822,0,17300 +9/30/2018 5:01:25 PM,1255.822,0,17400 +9/30/2018 5:01:28 PM,1255.822,0,17500 +9/30/2018 5:01:31 PM,1255.822,0,17600 +9/30/2018 5:01:33 PM,1255.822,0,17700 +9/30/2018 5:01:36 PM,1255.822,0,17800 +9/30/2018 5:01:39 PM,1255.822,0,17900 +9/30/2018 5:01:42 PM,1255.822,0,18000 +9/30/2018 5:01:44 PM,1255.822,0,18100 +9/30/2018 5:01:46 PM,1255.822,0,18200 +9/30/2018 5:01:49 PM,1255.822,0,18300 +9/30/2018 5:01:51 PM,1255.822,0,18400 +9/30/2018 5:01:52 PM,1302.413,0,18500 diff --git a/Results/string-length/output.exe b/Results/string-length/output.exe new file mode 100644 index 0000000000000000000000000000000000000000..8aa0716ec9b1d2c39f5f3c4251acfb29d9d3bf57 GIT binary patch literal 5120 zcmeHKU2Ggz75--Z+f8F7PHF-q?RcBIZkruDjRkdTC%g8>W{Kk%+i`%nN@i!T*VD|- zEHksNw-3lXfXYiLF9^zykf_894}dBW6{-k?#8V|6^8^u3h?l-ZeE_NDJ9l=o>(qqs zSdp{7=bm%!x#ym9@11k5FMRb4bOGpQ`{*O!277^=#`i}%93FV$odLZ4$a}*#jD`1x zS2x|rtc5`(w5z6L`+g9cC1r+n-*kPmaB;<~24!XK-=99-G`(~VSTMTq`^jHjX{~k} zDPy0p4@gtepGX%+*_&)RHbEx4RN^-&?Z5QcVWV823%PFs2lQXNZ?cIB?mP`#7CHyq zl1;c5t^toy_PY__=)Gh2l2=gN4 zqG^OdoBVN`{8yV4TOdjQ3OON2$$5W$n@t&Po z`QnVBcOlu+tqE(~IyHXkdPX#w1T4y zleZ90&R;4P*q+91?psGDsgrnjmPbB`!x$$144xrAfRn^eAdf}kX%ta5vKl{+ zFX89L=ScrrOa5fM$jC+CqTlnxhpy3&Z>j!u57~%T z*{$cd*r^Lax$dbm2u@{~*s&Y<%gVF2H5IkZH7AN1hf1#J#*Ox95)JajW-L_|T61pft0>x2$n||ERCF`B z&V$$s&T0odJ&(E_~ib4|U2+%pyP)HA+1wj+?yW7RG_>EICE} zn7B-N2@T@&)DJZ^L%GARQfA?$P3pz8a~fm(y`p~>`H+^Yv?6l?+IU&din+GM*|PQ+ zZ6r3c9BL-RJ2!{szO#Y;-@LlM_UVb+-)5dLjtz8~+(6SX4({(J z?(Z|ZjKO3513gHk1_rvRGQbRGa7;KH%=Y$m4Gcb$>Nn75h51oejcs+e#-sofMU_%AV9iz9651nbXum^hw--6f3a44m(HK zzmUA9I|51G1WW%xzPX27Chv4uNJ#zZ;teuC%>f1Zc$@I|8Q>quu$B~36YSTpf~&;m zuuQ6mi&!LIB%UKJ@NW0}AIh8MUO3wn$ZO%=(Snw(>0CS4%;!bsx(#MOf#Z-_t2$@; z%#$89B^w6RN#K{=Z_%hhpJHkyx%T6hcC^koYee#!VAf{6VD(9HZcD$Qv$3P?)OM|7 zQg@swv8}sC-H;x&eHqs^Na~QTMLfHG)R$=SWRsi;`_E1xB?` z3*;(#hE%&6Yl1{qfz&KO{K;wi7n^d4TU!(SC_5O11iL^XM+#|Lx7Gv)fhA++y-)37O8Ew8k^0@|~c}XV`S+(&}9Hg^U@+ zwqLfrz*p0mhKe$0&+Jc6*-@mbC9h%9fFDg~>Y;x+ayC`fjwIdwk38cm*(kS{d)sme>CyTvzWMMV#2^;FBMNod<)X>jUN zq!-kd@=QV=}LwMjFFq8jpmzeAy!vEh6{2LqTo)Q26 literal 0 HcmV?d00001 diff --git a/Results/string-length/string-length-1.png b/Results/string-length/string-length-1.png new file mode 100644 index 0000000000000000000000000000000000000000..fec2ec4eaec00bba18d77adfd1c9db53de557604 GIT binary patch literal 38300 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 Date: Sun, 30 Sep 2018 22:42:40 -0400 Subject: [PATCH 22/26] Fixed path. --- AIProgrammer.Fitness/AIProgrammer.Fitness.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj b/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj index 0421884..da33722 100644 --- a/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj +++ b/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj @@ -54,6 +54,7 @@ + @@ -75,7 +76,6 @@ - From e74d2ce1e391cbed69abe9275151400149392c43 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Sun, 30 Sep 2018 22:45:21 -0400 Subject: [PATCH 23/26] Cleanup. --- AIProgrammer.Fitness/Concrete/StringLengthFitness.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/AIProgrammer.Fitness/Concrete/StringLengthFitness.cs b/AIProgrammer.Fitness/Concrete/StringLengthFitness.cs index faa7ed2..5e07b73 100644 --- a/AIProgrammer.Fitness/Concrete/StringLengthFitness.cs +++ b/AIProgrammer.Fitness/Concrete/StringLengthFitness.cs @@ -67,7 +67,6 @@ public StringLengthFitness(GA ga, int maxIterationCount, string appendFunctions // Assign target fitness. _targetFitness = _trainingExamples.Length * 256; - //_targetFitness += _trainingExamples.Length * 10; // bonus for matching exact length of output } } @@ -133,9 +132,6 @@ protected override double GetFitnessMethod(string program) // Check for solution. IsFitnessAchieved(); - // Length bonus (percentage of 100). - //Fitness += 10;// * ((1 - Math.Abs(_console.Length - 1)) / 1); - // Bonus for less operations to optimize the code. countBonus += ((_maxIterationCount - _bf.m_Ticks) / 1000.0); From 077909f5ff7d9f8a58a94da5e92d105ccc1270a8 Mon Sep 17 00:00:00 2001 From: Alfred Feldmeyer <6654064+byteSamurai@users.noreply.github.com> Date: Thu, 17 Sep 2020 18:16:15 +0200 Subject: [PATCH 24/26] Delete CountDownFitness.cs unused regarding AIProgrammer.Fitness.csproj, produces warnings on case insensitive file systems --- .../Concrete/CountDownFitness.cs | 167 ------------------ 1 file changed, 167 deletions(-) delete mode 100644 AIProgrammer.Fitness/Concrete/CountDownFitness.cs diff --git a/AIProgrammer.Fitness/Concrete/CountDownFitness.cs b/AIProgrammer.Fitness/Concrete/CountDownFitness.cs deleted file mode 100644 index 46a28c8..0000000 --- a/AIProgrammer.Fitness/Concrete/CountDownFitness.cs +++ /dev/null @@ -1,167 +0,0 @@ -using AIProgrammer.Fitness.Base; -using AIProgrammer.GeneticAlgorithm; -using AIProgrammer.Managers; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace AIProgrammer.Fitness.Concrete -{ - /// - /// Outputs a countdown from an input number. Note, input is taken in byte value. - /// Example: input = 5: 543210 - /// - public class CountdownFitness : FitnessBase - { - private int _trainingCount; - - public CountdownFitness(GA ga, int maxIterationCount, int maxTrainingCount = 4) - : base(ga, maxIterationCount) - { - _trainingCount = maxTrainingCount; - - if (_targetFitness == 0) - { - // A * 256 => A = Number of numeric values in training example, 256 = 256 characters per byte. - _targetFitness += 6 * 256; - _targetFitness += 4 * 256; - _targetFitness += 3 * 256; - _targetFitness += 7 * 256; - } - } - - #region FitnessBase Members - - protected override double GetFitnessMethod(string program) - { - byte[][] trainingExamples = { new byte[] { 5, 4, 3, 2, 1, 0 }, - new byte[] { 3, 2, 1, 0 }, - new byte[] { 2, 1, 0 }, - new byte[] { 6, 5, 4, 3, 2, 1, 0 } }; - double countBonus = 0; - double penalty = 0; - - for (int i = 0; i < trainingExamples.Length; i++) - { - try - { - int state = 0; - _console.Clear(); - - // Run the program. - _bf = new Interpreter(program, () => - { - if (state == 0) - { - state++; - - // Send input. - return trainingExamples[i][0]; - } - else - { - // Not ready for input. - penalty++; - - return 255; - } - }, - (b) => - { - _console.Append((char)b); - }); - _bf.Run(_maxIterationCount); - } - catch - { - } - - _output.Append(_console.ToString()); - _output.Append(","); - - // Order bonus. - for (int j = 0; j < trainingExamples[i].Length; j++) - { - if (_console.Length > j) - { - Fitness += 256 - Math.Abs((byte)_console[j] - trainingExamples[i][j]); - } - } - - // Make the AI wait until a solution is found without the penalty (too many input characters). - Fitness -= penalty; - - // Check for solution. - IsFitnessAchieved(); - - // Bonus for less operations to optimize the code. - countBonus += ((_maxIterationCount - _bf.m_Ticks) / 20.0); - - Ticks += _bf.m_Ticks; - } - - if (_fitness != Double.MaxValue) - { - _fitness = Fitness + countBonus; - } - - return _fitness; - } - - protected override void RunProgramMethod(string program) - { - for (int i = 0; i < 99; i++) - { - // Get input from the user. - Console.WriteLine(); - Console.Write(">: "); - byte startingValue = Byte.Parse(Console.ReadLine()); - int index = 0; - - _console.Clear(); - - try - { - // Run the program. - Interpreter bf = new Interpreter(program, () => - { - byte b; - - // Send the next character. - if (index++ == 0) - { - b = startingValue; - } - else - { - b = 255; - } - - return b; - }, - (b) => - { - // Append numeric byte value. - _console.Append(b); - }); - - bf.Run(_maxIterationCount); - } - catch - { - } - - Console.WriteLine(_console); - } - } - - public override string GetConstructorParameters() - { - return _maxIterationCount + ", " + _trainingCount; - } - - #endregion - } -} From 42c0ba644fdeb5ae907c407a76e3054197d2e4c2 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Wed, 7 Oct 2020 17:23:37 -0400 Subject: [PATCH 25/26] Added CountdownFitness.cs. --- AIProgrammer.Fitness/AIProgrammer.Fitness.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj b/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj index da33722..1902e0b 100644 --- a/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj +++ b/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj @@ -46,6 +46,7 @@ + @@ -60,7 +61,6 @@ - From 1b2faab214055b720fafb5d5e2a29319964c1f24 Mon Sep 17 00:00:00 2001 From: Kory Becker Date: Mon, 16 Jan 2023 08:42:32 -0500 Subject: [PATCH 26/26] Create FUNDING.yml --- .github/FUNDING.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..c5ca883 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,3 @@ +# These are supported funding model platforms + +github: [primaryobjects]