diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000..a3839a1e34
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,3 @@
+Jint.Tests/* linguist-vendored
+Jint.Tests.Ecma/* linguist-vendored
+Jint.Tests.CommonScripts/* linguist-vendored
diff --git a/.gitignore b/.gitignore
index b66510d910..fba4ce910d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,6 +28,7 @@ build/
*_p.c
*.ilk
*.meta
+*.nupkg
*.obj
*.pch
*.pdb
@@ -101,6 +102,7 @@ publish/
# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
packages/
+.nuget/
# Windows Azure Build Output
csx
@@ -151,3 +153,8 @@ $RECYCLE.BIN/
# Mac crap
.DS_Store
+Jint.sln.ide/*
+/Jint.sln.GhostDoc.xml
+.vs
+project.lock.json
+.build
diff --git a/.nuget/NuGet.Config b/.nuget/NuGet.Config
deleted file mode 100644
index 67f8ea046e..0000000000
--- a/.nuget/NuGet.Config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.nuget/NuGet.exe b/.nuget/NuGet.exe
deleted file mode 100644
index 8f61340295..0000000000
Binary files a/.nuget/NuGet.exe and /dev/null differ
diff --git a/.nuget/NuGet.targets b/.nuget/NuGet.targets
deleted file mode 100644
index 83fe906016..0000000000
--- a/.nuget/NuGet.targets
+++ /dev/null
@@ -1,136 +0,0 @@
-
-
-
- $(MSBuildProjectDirectory)\..\
-
-
- false
-
-
- false
-
-
- true
-
-
- false
-
-
-
-
-
-
-
-
-
-
- $([System.IO.Path]::Combine($(SolutionDir), ".nuget"))
- $([System.IO.Path]::Combine($(ProjectDir), "packages.config"))
-
-
-
-
- $(SolutionDir).nuget
- packages.config
-
-
-
-
- $(NuGetToolsPath)\NuGet.exe
- @(PackageSource)
-
- "$(NuGetExePath)"
- mono --runtime=v4.0.30319 $(NuGetExePath)
-
- $(TargetDir.Trim('\\'))
-
- -RequireConsent
- -NonInteractive
-
- "$(SolutionDir) "
- "$(SolutionDir)"
-
-
- $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)
- $(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols
-
-
-
- RestorePackages;
- $(BuildDependsOn);
-
-
-
-
- $(BuildDependsOn);
- BuildPackage;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Common.props b/Common.props
new file mode 100644
index 0000000000..3f6b2ded4c
--- /dev/null
+++ b/Common.props
@@ -0,0 +1,18 @@
+
+
+
+ Sebastien Ros
+ Sebastien Ros
+ true
+ portable
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ true
+
+
+
diff --git a/Jint.Benchmark/App.config b/Jint.Benchmark/App.config
deleted file mode 100644
index 8e15646352..0000000000
--- a/Jint.Benchmark/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Jint.Benchmark/Jint.Benchmark.csproj b/Jint.Benchmark/Jint.Benchmark.csproj
index ba8ed1b30b..17511eb9e0 100644
--- a/Jint.Benchmark/Jint.Benchmark.csproj
+++ b/Jint.Benchmark/Jint.Benchmark.csproj
@@ -1,93 +1,25 @@
-
-
-
+
+
- Debug
- AnyCPU
- {8922A952-4F82-4A97-B41C-C0A9932BFFA8}
- Exe
- Properties
- Jint.Benchmark
+ net45
Jint.Benchmark
- v4.5
- 512
- ..\
- true
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
+ Exe
+ Jint.Benchmark
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
-
-
- False
- ..\packages\FSharp.Core.4.0.0\lib\FSharp.Core.dll
-
-
- ..\packages\IronJS.Core.0.2.0.1\lib\net40\IronJS.dll
-
-
- False
- ..\packages\Jurassic.2.2.0\lib\Jurassic.dll
-
-
- ..\packages\IronJS.Core.0.2.0.1\lib\net40\Microsoft.Dynamic.dll
-
-
- ..\packages\IronJS.Core.0.2.0.1\lib\net40\Microsoft.Scripting.dll
-
-
- ..\packages\IronJS.Core.0.2.0.1\lib\net40\Microsoft.Scripting.Core.dll
-
-
- ..\packages\IronJS.Core.0.2.0.1\lib\net40\Microsoft.Scripting.ExtensionAttribute.dll
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {678738da-f723-4920-b9e5-cad667104bda}
- Jint
-
-
-
-
-
-
\ No newline at end of file
+
+
diff --git a/Jint.Benchmark/Program.cs b/Jint.Benchmark/Program.cs
index d8d1dcaf13..09d7fe8bb6 100644
--- a/Jint.Benchmark/Program.cs
+++ b/Jint.Benchmark/Program.cs
@@ -14,11 +14,11 @@ class Program
if(o.Blah != 'bar42.0001') throw TypeError;
function fib(n){
- if(n<2) {
- return n;
+ if(n<2) {
+ return n;
}
-
- return fib(n-1) + fib(n-2);
+
+ return fib(n-1) + fib(n-2);
}
if(fib(3) != 2) throw TypeError;
@@ -26,34 +26,34 @@ function fib(n){
static void Main()
{
- const bool runIronJs = true;
+ //const bool runIronJs = true;
const bool runJint = true;
const bool runJurassic = true;
- const int iterations = 100;
+ const int iterations = 1000;
const bool reuseEngine = false;
var watch = new Stopwatch();
- if (runIronJs)
- {
- IronJS.Hosting.CSharp.Context ironjs;
- ironjs = new IronJS.Hosting.CSharp.Context();
- ironjs.Execute(Script);
- watch.Restart();
- for (var i = 0; i < iterations; i++)
- {
- if (!reuseEngine)
- {
- ironjs = new IronJS.Hosting.CSharp.Context();
- }
-
- ironjs.Execute(Script);
- }
-
- Console.WriteLine("IronJs: {0} iterations in {1} ms", iterations, watch.ElapsedMilliseconds);
- }
+ //if (runIronJs)
+ //{
+ // IronJS.Hosting.CSharp.Context ironjs;
+ // ironjs = new IronJS.Hosting.CSharp.Context();
+ // ironjs.Execute(Script);
+ // watch.Restart();
+ // for (var i = 0; i < iterations; i++)
+ // {
+ // if (!reuseEngine)
+ // {
+ // ironjs = new IronJS.Hosting.CSharp.Context();
+ // }
+
+ // ironjs.Execute(Script);
+ // }
+
+ // Console.WriteLine("IronJs: {0} iterations in {1} ms", iterations, watch.ElapsedMilliseconds);
+ //}
if (runJint)
{
diff --git a/Jint.Benchmark/packages.config b/Jint.Benchmark/packages.config
deleted file mode 100644
index 792d1a5854..0000000000
--- a/Jint.Benchmark/packages.config
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Jint.Repl/App.config b/Jint.Repl/App.config
deleted file mode 100644
index 8e15646352..0000000000
--- a/Jint.Repl/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Jint.Repl/Jint.Repl.csproj b/Jint.Repl/Jint.Repl.csproj
index ea44cc113d..1f83a4e972 100644
--- a/Jint.Repl/Jint.Repl.csproj
+++ b/Jint.Repl/Jint.Repl.csproj
@@ -1,64 +1,25 @@
-
-
-
+
+
- Debug
- AnyCPU
- {A69FD3C5-F2B0-4055-A518-F4173EBA5E4D}
+ net45
+ Jint.Repl
Exe
- Properties
- Jint.Repl
- jint
- v4.5
- 512
+ Jint.Repl
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {678738DA-F723-4920-B9E5-CAD667104BDA}
- Jint
-
-
-
-
\ No newline at end of file
+
+
diff --git a/Jint.Repl/Program.cs b/Jint.Repl/Program.cs
index dbb08e1c51..14ab3bd3ab 100644
--- a/Jint.Repl/Program.cs
+++ b/Jint.Repl/Program.cs
@@ -66,7 +66,7 @@ static void Main(string[] args)
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(e.Message);
}
-
+
}
}
}
diff --git a/Jint.Repl/Properties/AssemblyInfo.cs b/Jint.Repl/Properties/AssemblyInfo.cs
index c0dd407c1d..ef3edbd898 100644
--- a/Jint.Repl/Properties/AssemblyInfo.cs
+++ b/Jint.Repl/Properties/AssemblyInfo.cs
@@ -16,5 +16,5 @@
[assembly: AssemblyCulture("")]
[assembly: NeutralResourcesLanguage("en")]
-[assembly: AssemblyVersion("2.2.0")]
-[assembly: AssemblyFileVersion("2.2.0")]
+[assembly: AssemblyVersion("2.9.1")]
+[assembly: AssemblyFileVersion("2.9.1")]
diff --git a/Jint.Tests.CommonScripts/Jint.Tests.CommonScripts.csproj b/Jint.Tests.CommonScripts/Jint.Tests.CommonScripts.csproj
index a07ed66182..9c6a03d798 100644
--- a/Jint.Tests.CommonScripts/Jint.Tests.CommonScripts.csproj
+++ b/Jint.Tests.CommonScripts/Jint.Tests.CommonScripts.csproj
@@ -1,71 +1,39 @@
-
-
-
+
+
- Debug
- AnyCPU
- {9A78C21A-8887-4B1B-9AFE-246B53EE23B4}
- Library
- Properties
- Jint.Tests.CommonScripts
+ netcoreapp1.0;net451
Jint.Tests.CommonScripts
- v4.5
- 512
- ..\
- true
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
+ Jint.Tests.CommonScripts
+ true
+ 1.0.4
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
-
-
-
-
-
-
-
-
- ..\packages\xunit.1.9.2\lib\net20\xunit.dll
-
-
- ..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll
-
+
+
-
-
+
+
-
+
+
+
+
-
-
- {678738da-f723-4920-b9e5-cad667104bda}
- Jint
-
+
+
+
+
-
-
-
-
\ No newline at end of file
+
+
diff --git a/Jint.Tests.CommonScripts/Scripts/3d-cube.js b/Jint.Tests.CommonScripts/Scripts/3d-cube.js
new file mode 100644
index 0000000000..db4932f9c6
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/3d-cube.js
@@ -0,0 +1,355 @@
+// 3D Cube Rotation
+// http://www.speich.net/computer/moztesting/3d.htm
+// Created by Simon Speich
+
+var Q = new Array();
+var MTrans = new Array(); // transformation matrix
+var MQube = new Array(); // position information of qube
+var I = new Array(); // entity matrix
+var Origin = new Object();
+var Testing = new Object();
+var LoopTimer;
+
+var validation = {
+ 20: 2889.0000000000045,
+ 40: 2889.0000000000055,
+ 80: 2889.000000000005,
+ 160: 2889.0000000000055
+};
+
+var DisplArea = new Object();
+DisplArea.Width = 300;
+DisplArea.Height = 300;
+
+function DrawLine(From, To) {
+ var x1 = From.V[0];
+ var x2 = To.V[0];
+ var y1 = From.V[1];
+ var y2 = To.V[1];
+ var dx = Math.abs(x2 - x1);
+ var dy = Math.abs(y2 - y1);
+ var x = x1;
+ var y = y1;
+ var IncX1, IncY1;
+ var IncX2, IncY2;
+ var Den;
+ var Num;
+ var NumAdd;
+ var NumPix;
+
+ if (x2 >= x1) { IncX1 = 1; IncX2 = 1; }
+ else { IncX1 = -1; IncX2 = -1; }
+ if (y2 >= y1) { IncY1 = 1; IncY2 = 1; }
+ else { IncY1 = -1; IncY2 = -1; }
+ if (dx >= dy) {
+ IncX1 = 0;
+ IncY2 = 0;
+ Den = dx;
+ Num = dx / 2;
+ NumAdd = dy;
+ NumPix = dx;
+ }
+ else {
+ IncX2 = 0;
+ IncY1 = 0;
+ Den = dy;
+ Num = dy / 2;
+ NumAdd = dx;
+ NumPix = dy;
+ }
+
+ NumPix = Math.round(Q.LastPx + NumPix);
+
+ var i = Q.LastPx;
+ for (; i < NumPix; i++) {
+ Num += NumAdd;
+ if (Num >= Den) {
+ Num -= Den;
+ x += IncX1;
+ y += IncY1;
+ }
+ x += IncX2;
+ y += IncY2;
+ }
+ Q.LastPx = NumPix;
+}
+
+function CalcCross(V0, V1) {
+ var Cross = new Array();
+ Cross[0] = V0[1]*V1[2] - V0[2]*V1[1];
+ Cross[1] = V0[2]*V1[0] - V0[0]*V1[2];
+ Cross[2] = V0[0]*V1[1] - V0[1]*V1[0];
+ return Cross;
+}
+
+function CalcNormal(V0, V1, V2) {
+ var A = new Array(); var B = new Array();
+ for (var i = 0; i < 3; i++) {
+ A[i] = V0[i] - V1[i];
+ B[i] = V2[i] - V1[i];
+ }
+ A = CalcCross(A, B);
+ var Length = Math.sqrt(A[0]*A[0] + A[1]*A[1] + A[2]*A[2]);
+ for (var i = 0; i < 3; i++) A[i] = A[i] / Length;
+ A[3] = 1;
+ return A;
+}
+
+function CreateP(X,Y,Z) {
+ this.V = [X,Y,Z,1];
+}
+
+// multiplies two matrices
+function MMulti(M1, M2) {
+ var M = [[],[],[],[]];
+ var i = 0;
+ var j = 0;
+ for (; i < 4; i++) {
+ j = 0;
+ for (; j < 4; j++) M[i][j] = M1[i][0] * M2[0][j] + M1[i][1] * M2[1][j] + M1[i][2] * M2[2][j] + M1[i][3] * M2[3][j];
+ }
+ return M;
+}
+
+//multiplies matrix with vector
+function VMulti(M, V) {
+ var Vect = new Array();
+ var i = 0;
+ for (;i < 4; i++) Vect[i] = M[i][0] * V[0] + M[i][1] * V[1] + M[i][2] * V[2] + M[i][3] * V[3];
+ return Vect;
+}
+
+function VMulti2(M, V) {
+ var Vect = new Array();
+ var i = 0;
+ for (;i < 3; i++) Vect[i] = M[i][0] * V[0] + M[i][1] * V[1] + M[i][2] * V[2];
+ return Vect;
+}
+
+// add to matrices
+function MAdd(M1, M2) {
+ var M = [[],[],[],[]];
+ var i = 0;
+ var j = 0;
+ for (; i < 4; i++) {
+ j = 0;
+ for (; j < 4; j++) M[i][j] = M1[i][j] + M2[i][j];
+ }
+ return M;
+}
+
+function Translate(M, Dx, Dy, Dz) {
+ var T = [
+ [1,0,0,Dx],
+ [0,1,0,Dy],
+ [0,0,1,Dz],
+ [0,0,0,1]
+ ];
+ return MMulti(T, M);
+}
+
+function RotateX(M, Phi) {
+ var a = Phi;
+ a *= Math.PI / 180;
+ var Cos = Math.cos(a);
+ var Sin = Math.sin(a);
+ var R = [
+ [1,0,0,0],
+ [0,Cos,-Sin,0],
+ [0,Sin,Cos,0],
+ [0,0,0,1]
+ ];
+ return MMulti(R, M);
+}
+
+function RotateY(M, Phi) {
+ var a = Phi;
+ a *= Math.PI / 180;
+ var Cos = Math.cos(a);
+ var Sin = Math.sin(a);
+ var R = [
+ [Cos,0,Sin,0],
+ [0,1,0,0],
+ [-Sin,0,Cos,0],
+ [0,0,0,1]
+ ];
+ return MMulti(R, M);
+}
+
+function RotateZ(M, Phi) {
+ var a = Phi;
+ a *= Math.PI / 180;
+ var Cos = Math.cos(a);
+ var Sin = Math.sin(a);
+ var R = [
+ [Cos,-Sin,0,0],
+ [Sin,Cos,0,0],
+ [0,0,1,0],
+ [0,0,0,1]
+ ];
+ return MMulti(R, M);
+}
+
+function DrawQube() {
+ // calc current normals
+ var CurN = new Array();
+ var i = 5;
+ Q.LastPx = 0;
+ for (; i > -1; i--) CurN[i] = VMulti2(MQube, Q.Normal[i]);
+ if (CurN[0][2] < 0) {
+ if (!Q.Line[0]) { DrawLine(Q[0], Q[1]); Q.Line[0] = true; };
+ if (!Q.Line[1]) { DrawLine(Q[1], Q[2]); Q.Line[1] = true; };
+ if (!Q.Line[2]) { DrawLine(Q[2], Q[3]); Q.Line[2] = true; };
+ if (!Q.Line[3]) { DrawLine(Q[3], Q[0]); Q.Line[3] = true; };
+ }
+ if (CurN[1][2] < 0) {
+ if (!Q.Line[2]) { DrawLine(Q[3], Q[2]); Q.Line[2] = true; };
+ if (!Q.Line[9]) { DrawLine(Q[2], Q[6]); Q.Line[9] = true; };
+ if (!Q.Line[6]) { DrawLine(Q[6], Q[7]); Q.Line[6] = true; };
+ if (!Q.Line[10]) { DrawLine(Q[7], Q[3]); Q.Line[10] = true; };
+ }
+ if (CurN[2][2] < 0) {
+ if (!Q.Line[4]) { DrawLine(Q[4], Q[5]); Q.Line[4] = true; };
+ if (!Q.Line[5]) { DrawLine(Q[5], Q[6]); Q.Line[5] = true; };
+ if (!Q.Line[6]) { DrawLine(Q[6], Q[7]); Q.Line[6] = true; };
+ if (!Q.Line[7]) { DrawLine(Q[7], Q[4]); Q.Line[7] = true; };
+ }
+ if (CurN[3][2] < 0) {
+ if (!Q.Line[4]) { DrawLine(Q[4], Q[5]); Q.Line[4] = true; };
+ if (!Q.Line[8]) { DrawLine(Q[5], Q[1]); Q.Line[8] = true; };
+ if (!Q.Line[0]) { DrawLine(Q[1], Q[0]); Q.Line[0] = true; };
+ if (!Q.Line[11]) { DrawLine(Q[0], Q[4]); Q.Line[11] = true; };
+ }
+ if (CurN[4][2] < 0) {
+ if (!Q.Line[11]) { DrawLine(Q[4], Q[0]); Q.Line[11] = true; };
+ if (!Q.Line[3]) { DrawLine(Q[0], Q[3]); Q.Line[3] = true; };
+ if (!Q.Line[10]) { DrawLine(Q[3], Q[7]); Q.Line[10] = true; };
+ if (!Q.Line[7]) { DrawLine(Q[7], Q[4]); Q.Line[7] = true; };
+ }
+ if (CurN[5][2] < 0) {
+ if (!Q.Line[8]) { DrawLine(Q[1], Q[5]); Q.Line[8] = true; };
+ if (!Q.Line[5]) { DrawLine(Q[5], Q[6]); Q.Line[5] = true; };
+ if (!Q.Line[9]) { DrawLine(Q[6], Q[2]); Q.Line[9] = true; };
+ if (!Q.Line[1]) { DrawLine(Q[2], Q[1]); Q.Line[1] = true; };
+ }
+ Q.Line = [false,false,false,false,false,false,false,false,false,false,false,false];
+ Q.LastPx = 0;
+}
+
+function Loop() {
+ if (Testing.LoopCount > Testing.LoopMax) return;
+ var TestingStr = String(Testing.LoopCount);
+ while (TestingStr.length < 3) TestingStr = "0" + TestingStr;
+ MTrans = Translate(I, -Q[8].V[0], -Q[8].V[1], -Q[8].V[2]);
+ MTrans = RotateX(MTrans, 1);
+ MTrans = RotateY(MTrans, 3);
+ MTrans = RotateZ(MTrans, 5);
+ MTrans = Translate(MTrans, Q[8].V[0], Q[8].V[1], Q[8].V[2]);
+ MQube = MMulti(MTrans, MQube);
+ var i = 8;
+ for (; i > -1; i--) {
+ Q[i].V = VMulti(MTrans, Q[i].V);
+ }
+ DrawQube();
+ Testing.LoopCount++;
+ Loop();
+}
+
+function Init(CubeSize) {
+ // init/reset vars
+ Origin.V = [150,150,20,1];
+ Testing.LoopCount = 0;
+ Testing.LoopMax = 50;
+ Testing.TimeMax = 0;
+ Testing.TimeAvg = 0;
+ Testing.TimeMin = 0;
+ Testing.TimeTemp = 0;
+ Testing.TimeTotal = 0;
+ Testing.Init = false;
+
+ // transformation matrix
+ MTrans = [
+ [1,0,0,0],
+ [0,1,0,0],
+ [0,0,1,0],
+ [0,0,0,1]
+ ];
+
+ // position information of qube
+ MQube = [
+ [1,0,0,0],
+ [0,1,0,0],
+ [0,0,1,0],
+ [0,0,0,1]
+ ];
+
+ // entity matrix
+ I = [
+ [1,0,0,0],
+ [0,1,0,0],
+ [0,0,1,0],
+ [0,0,0,1]
+ ];
+
+ // create qube
+ Q[0] = new CreateP(-CubeSize,-CubeSize, CubeSize);
+ Q[1] = new CreateP(-CubeSize, CubeSize, CubeSize);
+ Q[2] = new CreateP( CubeSize, CubeSize, CubeSize);
+ Q[3] = new CreateP( CubeSize,-CubeSize, CubeSize);
+ Q[4] = new CreateP(-CubeSize,-CubeSize,-CubeSize);
+ Q[5] = new CreateP(-CubeSize, CubeSize,-CubeSize);
+ Q[6] = new CreateP( CubeSize, CubeSize,-CubeSize);
+ Q[7] = new CreateP( CubeSize,-CubeSize,-CubeSize);
+
+ // center of gravity
+ Q[8] = new CreateP(0, 0, 0);
+
+ // anti-clockwise edge check
+ Q.Edge = [[0,1,2],[3,2,6],[7,6,5],[4,5,1],[4,0,3],[1,5,6]];
+
+ // calculate squad normals
+ Q.Normal = new Array();
+ for (var i = 0; i < Q.Edge.length; i++) Q.Normal[i] = CalcNormal(Q[Q.Edge[i][0]].V, Q[Q.Edge[i][1]].V, Q[Q.Edge[i][2]].V);
+
+ // line drawn ?
+ Q.Line = [false,false,false,false,false,false,false,false,false,false,false,false];
+
+ // create line pixels
+ Q.NumPx = 9 * 2 * CubeSize;
+ for (var i = 0; i < Q.NumPx; i++) CreateP(0,0,0);
+
+ MTrans = Translate(MTrans, Origin.V[0], Origin.V[1], Origin.V[2]);
+ MQube = MMulti(MTrans, MQube);
+
+ var i = 0;
+ for (; i < 9; i++) {
+ Q[i].V = VMulti(MTrans, Q[i].V);
+ }
+ DrawQube();
+ Testing.Init = true;
+ Loop();
+
+ // Perform a simple sum-based verification.
+ var sum = 0;
+ for (var i = 0; i < Q.length; ++i) {
+ var vector = Q[i].V;
+ for (var j = 0; j < vector.length; ++j)
+ sum += vector[j];
+ }
+ if (sum != validation[CubeSize])
+ throw "Error: bad vector sum for CubeSize = " + CubeSize + "; expected " + validation[CubeSize] + " but got " + sum;
+}
+
+for ( var i = 20; i <= 160; i *= 2 ) {
+ Init(i);
+}
+
+Q = null;
+MTrans = null;
+MQube = null;
+I = null;
+Origin = null;
+Testing = null;
+LoopTime = null;
+DisplArea = null;
+
diff --git a/Jint.Tests.CommonScripts/Scripts/3d-morph.js b/Jint.Tests.CommonScripts/Scripts/3d-morph.js
new file mode 100644
index 0000000000..0043b319e9
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/3d-morph.js
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2007 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+var loops = 15
+var nx = 120
+var nz = 120
+
+function morph(a, f) {
+ var PI2nx = Math.PI * 8/nx
+ var sin = Math.sin
+ var f30 = -(50 * sin(f*Math.PI*2))
+
+ for (var i = 0; i < nz; ++i) {
+ for (var j = 0; j < nx; ++j) {
+ a[3*(i*nx+j)+1] = sin((j-1) * PI2nx ) * -f30
+ }
+ }
+}
+
+
+var a = Array()
+for (var i=0; i < nx*nz*3; ++i)
+ a[i] = 0
+
+for (var i = 0; i < loops; ++i) {
+ morph(a, i/loops)
+}
+
+testOutput = 0;
+for (var i = 0; i < nx; i++)
+ testOutput += a[3*(i*nx+i)+1];
+a = null;
+
+// This has to be an approximate test since ECMAscript doesn't formally specify
+// what sin() returns. Even if it did specify something like for example what Java 7
+// says - that sin() has to return a value within 1 ulp of exact - then we still
+// would not be able to do an exact test here since that would allow for just enough
+// low-bit slop to create possibly big errors due to testOutput being a sum.
+var epsilon = 1e-13;
+if (Math.abs(testOutput) >= epsilon)
+ throw "Error: bad test output: expected magnitude below " + epsilon + " but got " + testOutput;
diff --git a/Jint.Tests.CommonScripts/Scripts/3d-raytrace.js b/Jint.Tests.CommonScripts/Scripts/3d-raytrace.js
new file mode 100644
index 0000000000..a7edf7f1f8
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/3d-raytrace.js
@@ -0,0 +1,447 @@
+/*
+ * Copyright (C) 2007 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+function createVector(x,y,z) {
+ return new Array(x,y,z);
+}
+
+function sqrLengthVector(self) {
+ return self[0] * self[0] + self[1] * self[1] + self[2] * self[2];
+}
+
+function lengthVector(self) {
+ return Math.sqrt(self[0] * self[0] + self[1] * self[1] + self[2] * self[2]);
+}
+
+function addVector(self, v) {
+ self[0] += v[0];
+ self[1] += v[1];
+ self[2] += v[2];
+ return self;
+}
+
+function subVector(self, v) {
+ self[0] -= v[0];
+ self[1] -= v[1];
+ self[2] -= v[2];
+ return self;
+}
+
+function scaleVector(self, scale) {
+ self[0] *= scale;
+ self[1] *= scale;
+ self[2] *= scale;
+ return self;
+}
+
+function normaliseVector(self) {
+ var len = Math.sqrt(self[0] * self[0] + self[1] * self[1] + self[2] * self[2]);
+ self[0] /= len;
+ self[1] /= len;
+ self[2] /= len;
+ return self;
+}
+
+function add(v1, v2) {
+ return new Array(v1[0] + v2[0], v1[1] + v2[1], v1[2] + v2[2]);
+}
+
+function sub(v1, v2) {
+ return new Array(v1[0] - v2[0], v1[1] - v2[1], v1[2] - v2[2]);
+}
+
+function scalev(v1, v2) {
+ return new Array(v1[0] * v2[0], v1[1] * v2[1], v1[2] * v2[2]);
+}
+
+function dot(v1, v2) {
+ return v1[0] * v2[0] + v1[1] * v2[1] + v1[2] * v2[2];
+}
+
+function scale(v, scale) {
+ return [v[0] * scale, v[1] * scale, v[2] * scale];
+}
+
+function cross(v1, v2) {
+ return [v1[1] * v2[2] - v1[2] * v2[1],
+ v1[2] * v2[0] - v1[0] * v2[2],
+ v1[0] * v2[1] - v1[1] * v2[0]];
+
+}
+
+function normalise(v) {
+ var len = lengthVector(v);
+ return [v[0] / len, v[1] / len, v[2] / len];
+}
+
+function transformMatrix(self, v) {
+ var vals = self;
+ var x = vals[0] * v[0] + vals[1] * v[1] + vals[2] * v[2] + vals[3];
+ var y = vals[4] * v[0] + vals[5] * v[1] + vals[6] * v[2] + vals[7];
+ var z = vals[8] * v[0] + vals[9] * v[1] + vals[10] * v[2] + vals[11];
+ return [x, y, z];
+}
+
+function invertMatrix(self) {
+ var temp = new Array(16);
+ var tx = -self[3];
+ var ty = -self[7];
+ var tz = -self[11];
+ for (h = 0; h < 3; h++)
+ for (v = 0; v < 3; v++)
+ temp[h + v * 4] = self[v + h * 4];
+ for (i = 0; i < 11; i++)
+ self[i] = temp[i];
+ self[3] = tx * self[0] + ty * self[1] + tz * self[2];
+ self[7] = tx * self[4] + ty * self[5] + tz * self[6];
+ self[11] = tx * self[8] + ty * self[9] + tz * self[10];
+ return self;
+}
+
+
+// Triangle intersection using barycentric coord method
+function Triangle(p1, p2, p3) {
+ var edge1 = sub(p3, p1);
+ var edge2 = sub(p2, p1);
+ var normal = cross(edge1, edge2);
+ if (Math.abs(normal[0]) > Math.abs(normal[1]))
+ if (Math.abs(normal[0]) > Math.abs(normal[2]))
+ this.axis = 0;
+ else
+ this.axis = 2;
+ else
+ if (Math.abs(normal[1]) > Math.abs(normal[2]))
+ this.axis = 1;
+ else
+ this.axis = 2;
+ var u = (this.axis + 1) % 3;
+ var v = (this.axis + 2) % 3;
+ var u1 = edge1[u];
+ var v1 = edge1[v];
+
+ var u2 = edge2[u];
+ var v2 = edge2[v];
+ this.normal = normalise(normal);
+ this.nu = normal[u] / normal[this.axis];
+ this.nv = normal[v] / normal[this.axis];
+ this.nd = dot(normal, p1) / normal[this.axis];
+ var det = u1 * v2 - v1 * u2;
+ this.eu = p1[u];
+ this.ev = p1[v];
+ this.nu1 = u1 / det;
+ this.nv1 = -v1 / det;
+ this.nu2 = v2 / det;
+ this.nv2 = -u2 / det;
+ this.material = [0.7, 0.7, 0.7];
+}
+
+Triangle.prototype.intersect = function(orig, dir, near, far) {
+ var u = (this.axis + 1) % 3;
+ var v = (this.axis + 2) % 3;
+ var d = dir[this.axis] + this.nu * dir[u] + this.nv * dir[v];
+ var t = (this.nd - orig[this.axis] - this.nu * orig[u] - this.nv * orig[v]) / d;
+ if (t < near || t > far)
+ return null;
+ var Pu = orig[u] + t * dir[u] - this.eu;
+ var Pv = orig[v] + t * dir[v] - this.ev;
+ var a2 = Pv * this.nu1 + Pu * this.nv1;
+ if (a2 < 0)
+ return null;
+ var a3 = Pu * this.nu2 + Pv * this.nv2;
+ if (a3 < 0)
+ return null;
+
+ if ((a2 + a3) > 1)
+ return null;
+ return t;
+}
+
+function Scene(a_triangles) {
+ this.triangles = a_triangles;
+ this.lights = [];
+ this.ambient = [0,0,0];
+ this.background = [0.8,0.8,1];
+}
+var zero = new Array(0,0,0);
+
+Scene.prototype.intersect = function(origin, dir, near, far) {
+ var closest = null;
+ for (i = 0; i < this.triangles.length; i++) {
+ var triangle = this.triangles[i];
+ var d = triangle.intersect(origin, dir, near, far);
+ if (d == null || d > far || d < near)
+ continue;
+ far = d;
+ closest = triangle;
+ }
+
+ if (!closest)
+ return [this.background[0],this.background[1],this.background[2]];
+
+ var normal = closest.normal;
+ var hit = add(origin, scale(dir, far));
+ if (dot(dir, normal) > 0)
+ normal = [-normal[0], -normal[1], -normal[2]];
+
+ var colour = null;
+ if (closest.shader) {
+ colour = closest.shader(closest, hit, dir);
+ } else {
+ colour = closest.material;
+ }
+
+ // do reflection
+ var reflected = null;
+ if (colour.reflection > 0.001) {
+ var reflection = addVector(scale(normal, -2*dot(dir, normal)), dir);
+ reflected = this.intersect(hit, reflection, 0.0001, 1000000);
+ if (colour.reflection >= 0.999999)
+ return reflected;
+ }
+
+ var l = [this.ambient[0], this.ambient[1], this.ambient[2]];
+ for (var i = 0; i < this.lights.length; i++) {
+ var light = this.lights[i];
+ var toLight = sub(light, hit);
+ var distance = lengthVector(toLight);
+ scaleVector(toLight, 1.0/distance);
+ distance -= 0.0001;
+ if (this.blocked(hit, toLight, distance))
+ continue;
+ var nl = dot(normal, toLight);
+ if (nl > 0)
+ addVector(l, scale(light.colour, nl));
+ }
+ l = scalev(l, colour);
+ if (reflected) {
+ l = addVector(scaleVector(l, 1 - colour.reflection), scaleVector(reflected, colour.reflection));
+ }
+ return l;
+}
+
+Scene.prototype.blocked = function(O, D, far) {
+ var near = 0.0001;
+ var closest = null;
+ for (i = 0; i < this.triangles.length; i++) {
+ var triangle = this.triangles[i];
+ var d = triangle.intersect(O, D, near, far);
+ if (d == null || d > far || d < near)
+ continue;
+ return true;
+ }
+
+ return false;
+}
+
+
+// this camera code is from notes i made ages ago, it is from *somewhere* -- i cannot remember where
+// that somewhere is
+function Camera(origin, lookat, up) {
+ var zaxis = normaliseVector(subVector(lookat, origin));
+ var xaxis = normaliseVector(cross(up, zaxis));
+ var yaxis = normaliseVector(cross(xaxis, subVector([0,0,0], zaxis)));
+ var m = new Array(16);
+ m[0] = xaxis[0]; m[1] = xaxis[1]; m[2] = xaxis[2];
+ m[4] = yaxis[0]; m[5] = yaxis[1]; m[6] = yaxis[2];
+ m[8] = zaxis[0]; m[9] = zaxis[1]; m[10] = zaxis[2];
+ invertMatrix(m);
+ m[3] = 0; m[7] = 0; m[11] = 0;
+ this.origin = origin;
+ this.directions = new Array(4);
+ this.directions[0] = normalise([-0.7, 0.7, 1]);
+ this.directions[1] = normalise([ 0.7, 0.7, 1]);
+ this.directions[2] = normalise([ 0.7, -0.7, 1]);
+ this.directions[3] = normalise([-0.7, -0.7, 1]);
+ this.directions[0] = transformMatrix(m, this.directions[0]);
+ this.directions[1] = transformMatrix(m, this.directions[1]);
+ this.directions[2] = transformMatrix(m, this.directions[2]);
+ this.directions[3] = transformMatrix(m, this.directions[3]);
+}
+
+Camera.prototype.generateRayPair = function(y) {
+ rays = new Array(new Object(), new Object());
+ rays[0].origin = this.origin;
+ rays[1].origin = this.origin;
+ rays[0].dir = addVector(scale(this.directions[0], y), scale(this.directions[3], 1 - y));
+ rays[1].dir = addVector(scale(this.directions[1], y), scale(this.directions[2], 1 - y));
+ return rays;
+}
+
+function renderRows(camera, scene, pixels, width, height, starty, stopy) {
+ for (var y = starty; y < stopy; y++) {
+ var rays = camera.generateRayPair(y / height);
+ for (var x = 0; x < width; x++) {
+ var xp = x / width;
+ var origin = addVector(scale(rays[0].origin, xp), scale(rays[1].origin, 1 - xp));
+ var dir = normaliseVector(addVector(scale(rays[0].dir, xp), scale(rays[1].dir, 1 - xp)));
+ var l = scene.intersect(origin, dir);
+ pixels[y][x] = l;
+ }
+ }
+}
+
+Camera.prototype.render = function(scene, pixels, width, height) {
+ var cam = this;
+ var row = 0;
+ renderRows(cam, scene, pixels, width, height, 0, height);
+}
+
+
+
+function raytraceScene()
+{
+ var startDate = new Date().getTime();
+ var numTriangles = 2 * 6;
+ var triangles = new Array();//numTriangles);
+ var tfl = createVector(-10, 10, -10);
+ var tfr = createVector( 10, 10, -10);
+ var tbl = createVector(-10, 10, 10);
+ var tbr = createVector( 10, 10, 10);
+ var bfl = createVector(-10, -10, -10);
+ var bfr = createVector( 10, -10, -10);
+ var bbl = createVector(-10, -10, 10);
+ var bbr = createVector( 10, -10, 10);
+
+ // cube!!!
+ // front
+ var i = 0;
+
+ triangles[i++] = new Triangle(tfl, tfr, bfr);
+ triangles[i++] = new Triangle(tfl, bfr, bfl);
+ // back
+ triangles[i++] = new Triangle(tbl, tbr, bbr);
+ triangles[i++] = new Triangle(tbl, bbr, bbl);
+ // triangles[i-1].material = [0.7,0.2,0.2];
+ // triangles[i-1].material.reflection = 0.8;
+ // left
+ triangles[i++] = new Triangle(tbl, tfl, bbl);
+ // triangles[i-1].reflection = 0.6;
+ triangles[i++] = new Triangle(tfl, bfl, bbl);
+ // triangles[i-1].reflection = 0.6;
+ // right
+ triangles[i++] = new Triangle(tbr, tfr, bbr);
+ triangles[i++] = new Triangle(tfr, bfr, bbr);
+ // top
+ triangles[i++] = new Triangle(tbl, tbr, tfr);
+ triangles[i++] = new Triangle(tbl, tfr, tfl);
+ // bottom
+ triangles[i++] = new Triangle(bbl, bbr, bfr);
+ triangles[i++] = new Triangle(bbl, bfr, bfl);
+
+ //Floor!!!!
+ var green = createVector(0.0, 0.4, 0.0);
+ var grey = createVector(0.4, 0.4, 0.4);
+ grey.reflection = 1.0;
+ var floorShader = function(tri, pos, view) {
+ var x = ((pos[0]/32) % 2 + 2) % 2;
+ var z = ((pos[2]/32 + 0.3) % 2 + 2) % 2;
+ if (x < 1 != z < 1) {
+ //in the real world we use the fresnel term...
+ // var angle = 1-dot(view, tri.normal);
+ // angle *= angle;
+ // angle *= angle;
+ // angle *= angle;
+ //grey.reflection = angle;
+ return grey;
+ } else
+ return green;
+ }
+ var ffl = createVector(-1000, -30, -1000);
+ var ffr = createVector( 1000, -30, -1000);
+ var fbl = createVector(-1000, -30, 1000);
+ var fbr = createVector( 1000, -30, 1000);
+ triangles[i++] = new Triangle(fbl, fbr, ffr);
+ triangles[i-1].shader = floorShader;
+ triangles[i++] = new Triangle(fbl, ffr, ffl);
+ triangles[i-1].shader = floorShader;
+
+ var _scene = new Scene(triangles);
+ _scene.lights[0] = createVector(20, 38, -22);
+ _scene.lights[0].colour = createVector(0.7, 0.3, 0.3);
+ _scene.lights[1] = createVector(-23, 40, 17);
+ _scene.lights[1].colour = createVector(0.7, 0.3, 0.3);
+ _scene.lights[2] = createVector(23, 20, 17);
+ _scene.lights[2].colour = createVector(0.7, 0.7, 0.7);
+ _scene.ambient = createVector(0.1, 0.1, 0.1);
+ // _scene.background = createVector(0.7, 0.7, 1.0);
+
+ var size = 30;
+ var pixels = new Array();
+ for (var y = 0; y < size; y++) {
+ pixels[y] = new Array();
+ for (var x = 0; x < size; x++) {
+ pixels[y][x] = 0;
+ }
+ }
+
+ var _camera = new Camera(createVector(-40, 40, 40), createVector(0, 0, 0), createVector(0, 1, 0));
+ _camera.render(_scene, pixels, size, size);
+
+ return pixels;
+}
+
+function arrayToCanvasCommands(pixels)
+{
+ var s = '\nvar pixels = [';
+ var size = 30;
+ for (var y = 0; y < size; y++) {
+ s += "[";
+ for (var x = 0; x < size; x++) {
+ s += "[" + pixels[y][x] + "],";
+ }
+ s+= "],";
+ }
+ s += '];\n var canvas = document.getElementById("renderCanvas").getContext("2d");\n\
+\n\
+\n\
+ var size = 30;\n\
+ canvas.fillStyle = "red";\n\
+ canvas.fillRect(0, 0, size, size);\n\
+ canvas.scale(1, -1);\n\
+ canvas.translate(0, -size);\n\
+\n\
+ if (!canvas.setFillColor)\n\
+ canvas.setFillColor = function(r, g, b, a) {\n\
+ this.fillStyle = "rgb("+[Math.floor(r * 255), Math.floor(g * 255), Math.floor(b * 255)]+")";\n\
+ }\n\
+\n\
+for (var y = 0; y < size; y++) {\n\
+ for (var x = 0; x < size; x++) {\n\
+ var l = pixels[y][x];\n\
+ canvas.setFillColor(l[0], l[1], l[2], 1);\n\
+ canvas.fillRect(x, y, 1, 1);\n\
+ }\n\
+}';
+
+ return s;
+}
+
+testOutput = arrayToCanvasCommands(raytraceScene());
+
+var expectedLength = 20970;
+
+if (testOutput.length != expectedLength)
+ throw "Error: bad result: expected length " + expectedLength + " but got " + testOutput.length;
+
diff --git a/Jint.Tests.CommonScripts/Scripts/access-binary-trees.js b/Jint.Tests.CommonScripts/Scripts/access-binary-trees.js
new file mode 100644
index 0000000000..80771a8d97
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/access-binary-trees.js
@@ -0,0 +1,54 @@
+/* The Great Computer Language Shootout
+ http://shootout.alioth.debian.org/
+ contributed by Isaac Gouy */
+
+function TreeNode(left,right,item){
+ this.left = left;
+ this.right = right;
+ this.item = item;
+}
+
+TreeNode.prototype.itemCheck = function(){
+ if (this.left==null) return this.item;
+ else return this.item + this.left.itemCheck() - this.right.itemCheck();
+}
+
+function bottomUpTree(item,depth){
+ if (depth>0){
+ return new TreeNode(
+ bottomUpTree(2*item-1, depth-1)
+ ,bottomUpTree(2*item, depth-1)
+ ,item
+ );
+ }
+ else {
+ return new TreeNode(null,null,item);
+ }
+}
+
+var ret = 0;
+
+for ( var n = 4; n <= 7; n += 1 ) {
+ var minDepth = 4;
+ var maxDepth = Math.max(minDepth + 2, n);
+ var stretchDepth = maxDepth + 1;
+
+ var check = bottomUpTree(0,stretchDepth).itemCheck();
+
+ var longLivedTree = bottomUpTree(0,maxDepth);
+ for (var depth=minDepth; depth<=maxDepth; depth+=2){
+ var iterations = 1 << (maxDepth - depth + minDepth);
+
+ check = 0;
+ for (var i=1; i<=iterations; i++){
+ check += bottomUpTree(i,depth).itemCheck();
+ check += bottomUpTree(-i,depth).itemCheck();
+ }
+ }
+
+ ret += longLivedTree.itemCheck();
+}
+
+var expected = -4;
+if (ret != expected)
+ throw "ERROR: bad result: expected " + expected + " but got " + ret;
\ No newline at end of file
diff --git a/Jint.Tests.CommonScripts/Scripts/access-fannkuch.js b/Jint.Tests.CommonScripts/Scripts/access-fannkuch.js
new file mode 100644
index 0000000000..5c62d570f9
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/access-fannkuch.js
@@ -0,0 +1,70 @@
+/* The Great Computer Language Shootout
+ http://shootout.alioth.debian.org/
+ contributed by Isaac Gouy */
+
+function fannkuch(n) {
+ var check = 0;
+ var perm = Array(n);
+ var perm1 = Array(n);
+ var count = Array(n);
+ var maxPerm = Array(n);
+ var maxFlipsCount = 0;
+ var m = n - 1;
+
+ for (var i = 0; i < n; i++) perm1[i] = i;
+ var r = n;
+
+ while (true) {
+ // write-out the first 30 permutations
+ if (check < 30){
+ var s = "";
+ for(var i=0; i> 1;
+ for (var i = 0; i < k2; i++) {
+ var temp = perm[i]; perm[i] = perm[k - i]; perm[k - i] = temp;
+ }
+ flipsCount++;
+ }
+
+ if (flipsCount > maxFlipsCount) {
+ maxFlipsCount = flipsCount;
+ for (var i = 0; i < n; i++) maxPerm[i] = perm1[i];
+ }
+ }
+
+ while (true) {
+ if (r == n) return maxFlipsCount;
+ var perm0 = perm1[0];
+ var i = 0;
+ while (i < r) {
+ var j = i + 1;
+ perm1[i] = perm1[j];
+ i = j;
+ }
+ perm1[r] = perm0;
+
+ count[r] = count[r] - 1;
+ if (count[r] > 0) break;
+ r++;
+ }
+ }
+}
+
+var n = 8;
+var ret = fannkuch(n);
+
+var expected = 22;
+if (ret != expected)
+ throw "ERROR: bad result: expected " + expected + " but got " + ret;
+
diff --git a/Jint.Tests.CommonScripts/Scripts/access-nbody.js b/Jint.Tests.CommonScripts/Scripts/access-nbody.js
new file mode 100644
index 0000000000..7a52358aa7
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/access-nbody.js
@@ -0,0 +1,174 @@
+/* The Great Computer Language Shootout
+ http://shootout.alioth.debian.org/
+ contributed by Isaac Gouy */
+
+var PI = 3.141592653589793;
+var SOLAR_MASS = 4 * PI * PI;
+var DAYS_PER_YEAR = 365.24;
+
+function Body(x,y,z,vx,vy,vz,mass){
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ this.vx = vx;
+ this.vy = vy;
+ this.vz = vz;
+ this.mass = mass;
+}
+
+Body.prototype.offsetMomentum = function(px,py,pz) {
+ this.vx = -px / SOLAR_MASS;
+ this.vy = -py / SOLAR_MASS;
+ this.vz = -pz / SOLAR_MASS;
+ return this;
+}
+
+function Jupiter(){
+ return new Body(
+ 4.84143144246472090e+00,
+ -1.16032004402742839e+00,
+ -1.03622044471123109e-01,
+ 1.66007664274403694e-03 * DAYS_PER_YEAR,
+ 7.69901118419740425e-03 * DAYS_PER_YEAR,
+ -6.90460016972063023e-05 * DAYS_PER_YEAR,
+ 9.54791938424326609e-04 * SOLAR_MASS
+ );
+}
+
+function Saturn(){
+ return new Body(
+ 8.34336671824457987e+00,
+ 4.12479856412430479e+00,
+ -4.03523417114321381e-01,
+ -2.76742510726862411e-03 * DAYS_PER_YEAR,
+ 4.99852801234917238e-03 * DAYS_PER_YEAR,
+ 2.30417297573763929e-05 * DAYS_PER_YEAR,
+ 2.85885980666130812e-04 * SOLAR_MASS
+ );
+}
+
+function Uranus(){
+ return new Body(
+ 1.28943695621391310e+01,
+ -1.51111514016986312e+01,
+ -2.23307578892655734e-01,
+ 2.96460137564761618e-03 * DAYS_PER_YEAR,
+ 2.37847173959480950e-03 * DAYS_PER_YEAR,
+ -2.96589568540237556e-05 * DAYS_PER_YEAR,
+ 4.36624404335156298e-05 * SOLAR_MASS
+ );
+}
+
+function Neptune(){
+ return new Body(
+ 1.53796971148509165e+01,
+ -2.59193146099879641e+01,
+ 1.79258772950371181e-01,
+ 2.68067772490389322e-03 * DAYS_PER_YEAR,
+ 1.62824170038242295e-03 * DAYS_PER_YEAR,
+ -9.51592254519715870e-05 * DAYS_PER_YEAR,
+ 5.15138902046611451e-05 * SOLAR_MASS
+ );
+}
+
+function Sun(){
+ return new Body(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, SOLAR_MASS);
+}
+
+
+function NBodySystem(bodies){
+ this.bodies = bodies;
+ var px = 0.0;
+ var py = 0.0;
+ var pz = 0.0;
+ var size = this.bodies.length;
+ for (var i=0; i0){
+ for (var i=1; i<=prefixWidth; i++) s = " " + s;
+ }
+ return s;
+}
+
+function nsieve(m, isPrime){
+ var i, k, count;
+
+ for (i=2; i<=m; i++) { isPrime[i] = true; }
+ count = 0;
+
+ for (i=2; i<=m; i++){
+ if (isPrime[i]) {
+ for (k=i+i; k<=m; k+=i) isPrime[k] = false;
+ count++;
+ }
+ }
+ return count;
+}
+
+function sieve() {
+ var sum = 0;
+ for (var i = 1; i <= 3; i++ ) {
+ var m = (1<> ((b << 1) & 14));
+c += 3 & (bi3b >> ((b >> 2) & 14));
+c += 3 & (bi3b >> ((b >> 5) & 6));
+return c;
+
+/*
+lir4,0xE994; 9 instructions, no memory access, minimal register dependence, 6 shifts, 2 adds, 1 inline assign
+rlwinmr5,r3,1,28,30
+rlwinmr6,r3,30,28,30
+rlwinmr7,r3,27,29,30
+rlwnmr8,r4,r5,30,31
+rlwnmr9,r4,r6,30,31
+rlwnmr10,r4,r7,30,31
+addr3,r8,r9
+addr3,r3,r10
+*/
+}
+
+
+function TimeFunc(func) {
+var x, y, t;
+var sum = 0;
+for(var x=0; x<500; x++)
+for(var y=0; y<256; y++) sum += func(y);
+return sum;
+}
+
+sum = TimeFunc(fast3bitlookup);
+
+var expected = 512000;
+if (sum != expected)
+ throw "ERROR: bad result: expected " + expected + " but got " + sum;
diff --git a/Jint.Tests.CommonScripts/Scripts/bitops-bits-in-byte.js b/Jint.Tests.CommonScripts/Scripts/bitops-bits-in-byte.js
new file mode 100644
index 0000000000..208d5f7d7e
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/bitops-bits-in-byte.js
@@ -0,0 +1,30 @@
+// Copyright (c) 2004 by Arthur Langereis (arthur_ext at domain xfinitegames, tld com)
+
+
+var result = 0;
+
+// 1 op = 2 assigns, 16 compare/branches, 8 ANDs, (0-8) ADDs, 8 SHLs
+// O(n)
+function bitsinbyte(b) {
+var m = 1, c = 0;
+while(m<0x100) {
+if(b & m) c++;
+m <<= 1;
+}
+return c;
+}
+
+function TimeFunc(func) {
+var x, y, t;
+var sum = 0;
+for(var x=0; x<350; x++)
+for(var y=0; y<256; y++) sum += func(y);
+return sum;
+}
+
+result = TimeFunc(bitsinbyte);
+
+var expected = 358400;
+if (result != expected)
+ throw "ERROR: bad result: expected " + expected + " but got " + result;
+
diff --git a/Jint.Tests.CommonScripts/Scripts/bitops-bitwise-and.js b/Jint.Tests.CommonScripts/Scripts/bitops-bitwise-and.js
new file mode 100644
index 0000000000..bc74b22103
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/bitops-bitwise-and.js
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2007 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+bitwiseAndValue = 4294967296;
+for (var i = 0; i < 600000; i++)
+ bitwiseAndValue = bitwiseAndValue & i;
+
+var result = bitwiseAndValue;
+
+var expected = 0;
+if (result != expected)
+ throw "ERROR: bad result: expected " + expected + " but got " + result;
+
diff --git a/Jint.Tests.CommonScripts/Scripts/bitops-nsieve-bits.js b/Jint.Tests.CommonScripts/Scripts/bitops-nsieve-bits.js
new file mode 100644
index 0000000000..dc6051b32e
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/bitops-nsieve-bits.js
@@ -0,0 +1,42 @@
+// The Great Computer Language Shootout
+// http://shootout.alioth.debian.org
+//
+// Contributed by Ian Osgood
+
+function pad(n,width) {
+ var s = n.toString();
+ while (s.length < width) s = ' ' + s;
+ return s;
+}
+
+function primes(isPrime, n) {
+ var i, count = 0, m = 10000<>5;
+
+ for (i=0; i>5] & 1<<(i&31)) {
+ for (var j=i+i; j>5] &= ~(1<<(j&31));
+ count++;
+ }
+}
+
+function sieve() {
+ for (var i = 4; i <= 4; i++) {
+ var isPrime = new Array((10000<>5);
+ primes(isPrime, i);
+ }
+ return isPrime;
+}
+
+var result = sieve();
+
+var sum = 0;
+for (var i = 0; i < result.length; ++i)
+ sum += result[i];
+
+var expected = -1286749544853;
+if (sum != expected)
+ throw "ERROR: bad result: expected " + expected + " but got " + sum;
+
diff --git a/Jint.Tests.CommonScripts/Scripts/controlflow-recursive.js b/Jint.Tests.CommonScripts/Scripts/controlflow-recursive.js
new file mode 100644
index 0000000000..718c765332
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/controlflow-recursive.js
@@ -0,0 +1,32 @@
+// The Computer Language Shootout
+// http://shootout.alioth.debian.org/
+// contributed by Isaac Gouy
+
+function ack(m,n){
+ if (m==0) { return n+1; }
+ if (n==0) { return ack(m-1,1); }
+ return ack(m-1, ack(m,n-1) );
+}
+
+function fib(n) {
+ if (n < 2){ return 1; }
+ return fib(n-2) + fib(n-1);
+}
+
+function tak(x,y,z) {
+ if (y >= x) return z;
+ return tak(tak(x-1,y,z), tak(y-1,z,x), tak(z-1,x,y));
+}
+
+var result = 0;
+
+for ( var i = 3; i <= 5; i++ ) {
+ result += ack(3,i);
+ result += fib(17.0+i);
+ result += tak(3*i+3,2*i+2,i+1);
+}
+
+var expected = 57775;
+if (result != expected)
+ throw "ERROR: bad result: expected " + expected + " but got " + result;
+
diff --git a/Jint.Tests.CommonScripts/Scripts/crypto-aes.js b/Jint.Tests.CommonScripts/Scripts/crypto-aes.js
new file mode 100644
index 0000000000..a7d527b831
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/crypto-aes.js
@@ -0,0 +1,426 @@
+/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
+
+/*
+ * AES Cipher function: encrypt 'input' with Rijndael algorithm
+ *
+ * takes byte-array 'input' (16 bytes)
+ * 2D byte-array key schedule 'w' (Nr+1 x Nb bytes)
+ *
+ * applies Nr rounds (10/12/14) using key schedule w for 'add round key' stage
+ *
+ * returns byte-array encrypted value (16 bytes)
+ */
+function Cipher(input, w) { // main Cipher function [§5.1]
+ var Nb = 4; // block size (in words): no of columns in state (fixed at 4 for AES)
+ var Nr = w.length/Nb - 1; // no of rounds: 10/12/14 for 128/192/256-bit keys
+
+ var state = [[],[],[],[]]; // initialise 4xNb byte-array 'state' with input [§3.4]
+ for (var i=0; i<4*Nb; i++) state[i%4][Math.floor(i/4)] = input[i];
+
+ state = AddRoundKey(state, w, 0, Nb);
+
+ for (var round=1; round 6 && i%Nk == 4) {
+ temp = SubWord(temp);
+ }
+ for (var t=0; t<4; t++) w[i][t] = w[i-Nk][t] ^ temp[t];
+ }
+
+ return w;
+}
+
+function SubWord(w) { // apply SBox to 4-byte word w
+ for (var i=0; i<4; i++) w[i] = Sbox[w[i]];
+ return w;
+}
+
+function RotWord(w) { // rotate 4-byte word w left by one byte
+ w[4] = w[0];
+ for (var i=0; i<4; i++) w[i] = w[i+1];
+ return w;
+}
+
+
+// Sbox is pre-computed multiplicative inverse in GF(2^8) used in SubBytes and KeyExpansion [§5.1.1]
+var Sbox = [0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5,0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76,
+ 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0,0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0,
+ 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc,0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15,
+ 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a,0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75,
+ 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0,0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84,
+ 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b,0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf,
+ 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85,0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8,
+ 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5,0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2,
+ 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17,0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73,
+ 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88,0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb,
+ 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c,0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79,
+ 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9,0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08,
+ 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6,0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a,
+ 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e,0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e,
+ 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94,0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf,
+ 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68,0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16];
+
+// Rcon is Round Constant used for the Key Expansion [1st col is 2^(r-1) in GF(2^8)] [§5.2]
+var Rcon = [ [0x00, 0x00, 0x00, 0x00],
+ [0x01, 0x00, 0x00, 0x00],
+ [0x02, 0x00, 0x00, 0x00],
+ [0x04, 0x00, 0x00, 0x00],
+ [0x08, 0x00, 0x00, 0x00],
+ [0x10, 0x00, 0x00, 0x00],
+ [0x20, 0x00, 0x00, 0x00],
+ [0x40, 0x00, 0x00, 0x00],
+ [0x80, 0x00, 0x00, 0x00],
+ [0x1b, 0x00, 0x00, 0x00],
+ [0x36, 0x00, 0x00, 0x00] ];
+
+
+/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
+
+/*
+ * Use AES to encrypt 'plaintext' with 'password' using 'nBits' key, in 'Counter' mode of operation
+ * - see http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf
+ * for each block
+ * - outputblock = cipher(counter, key)
+ * - cipherblock = plaintext xor outputblock
+ */
+function AESEncryptCtr(plaintext, password, nBits) {
+ if (!(nBits==128 || nBits==192 || nBits==256)) return ''; // standard allows 128/192/256 bit keys
+
+ // for this example script, generate the key by applying Cipher to 1st 16/24/32 chars of password;
+ // for real-world applications, a more secure approach would be to hash the password e.g. with SHA-1
+ var nBytes = nBits/8; // no bytes in key
+ var pwBytes = new Array(nBytes);
+ for (var i=0; i>> i*8) & 0xff;
+ for (var i=0; i<4; i++) counterBlock[i+4] = (nonce/0x100000000 >>> i*8) & 0xff;
+
+ // generate key schedule - an expansion of the key into distinct Key Rounds for each round
+ var keySchedule = KeyExpansion(key);
+
+ var blockCount = Math.ceil(plaintext.length/blockSize);
+ var ciphertext = new Array(blockCount); // ciphertext as array of strings
+
+ for (var b=0; b>> c*8) & 0xff;
+ for (var c=0; c<4; c++) counterBlock[15-c-4] = (b/0x100000000 >>> c*8)
+
+ var cipherCntr = Cipher(counterBlock, keySchedule); // -- encrypt counter block --
+
+ // calculate length of final block:
+ var blockLength = b>> c*8) & 0xff;
+ for (var c=0; c<4; c++) counterBlock[15-c-4] = ((b/0x100000000-1) >>> c*8) & 0xff;
+
+ var cipherCntr = Cipher(counterBlock, keySchedule); // encrypt counter block
+
+ ciphertext[b] = unescCtrlChars(ciphertext[b]);
+
+ var pt = '';
+ for (var i=0; i>18 & 0x3f;
+ h2 = bits>>12 & 0x3f;
+ h3 = bits>>6 & 0x3f;
+ h4 = bits & 0x3f;
+
+ // end of string? index to '=' in b64
+ if (isNaN(o3)) h4 = 64;
+ if (isNaN(o2)) h3 = 64;
+
+ // use hexets to index into b64, and append result to encoded string
+ enc += b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
+ } while (i < str.length);
+
+ return enc;
+}
+
+function decodeBase64(str) {
+ var o1, o2, o3, h1, h2, h3, h4, bits, i=0, enc='';
+
+ do { // unpack four hexets into three octets using index points in b64
+ h1 = b64.indexOf(str.charAt(i++));
+ h2 = b64.indexOf(str.charAt(i++));
+ h3 = b64.indexOf(str.charAt(i++));
+ h4 = b64.indexOf(str.charAt(i++));
+
+ bits = h1<<18 | h2<<12 | h3<<6 | h4;
+
+ o1 = bits>>16 & 0xff;
+ o2 = bits>>8 & 0xff;
+ o3 = bits & 0xff;
+
+ if (h3 == 64) enc += String.fromCharCode(o1);
+ else if (h4 == 64) enc += String.fromCharCode(o1, o2);
+ else enc += String.fromCharCode(o1, o2, o3);
+ } while (i < str.length);
+
+ return decodeUTF8(enc); // decode UTF-8 byte-array back to Unicode
+}
+
+function encodeUTF8(str) { // encode multi-byte string into utf-8 multiple single-byte characters
+ str = str.replace(
+ /[\u0080-\u07ff]/g, // U+0080 - U+07FF = 2-byte chars
+ function(c) {
+ var cc = c.charCodeAt(0);
+ return String.fromCharCode(0xc0 | cc>>6, 0x80 | cc&0x3f); }
+ );
+ str = str.replace(
+ /[\u0800-\uffff]/g, // U+0800 - U+FFFF = 3-byte chars
+ function(c) {
+ var cc = c.charCodeAt(0);
+ return String.fromCharCode(0xe0 | cc>>12, 0x80 | cc>>6&0x3F, 0x80 | cc&0x3f); }
+ );
+ return str;
+}
+
+function decodeUTF8(str) { // decode utf-8 encoded string back into multi-byte characters
+ str = str.replace(
+ /[\u00c0-\u00df][\u0080-\u00bf]/g, // 2-byte chars
+ function(c) {
+ var cc = (c.charCodeAt(0)&0x1f)<<6 | c.charCodeAt(1)&0x3f;
+ return String.fromCharCode(cc); }
+ );
+ str = str.replace(
+ /[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g, // 3-byte chars
+ function(c) {
+ var cc = (c.charCodeAt(0)&0x0f)<<12 | (c.charCodeAt(1)&0x3f<<6) | c.charCodeAt(2)&0x3f;
+ return String.fromCharCode(cc); }
+ );
+ return str;
+}
+
+
+function byteArrayToHexStr(b) { // convert byte array to hex string for displaying test vectors
+ var s = '';
+ for (var i=0; i> 5] |= 0x80 << ((len) % 32);
+ x[(((len + 64) >>> 9) << 4) + 14] = len;
+
+ var a = 1732584193;
+ var b = -271733879;
+ var c = -1732584194;
+ var d = 271733878;
+
+ for(var i = 0; i < x.length; i += 16)
+ {
+ var olda = a;
+ var oldb = b;
+ var oldc = c;
+ var oldd = d;
+
+ a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
+ d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
+ c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
+ b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
+ a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
+ d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
+ c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
+ b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
+ a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
+ d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
+ c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
+ b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
+ a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
+ d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
+ c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
+ b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
+
+ a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
+ d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
+ c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
+ b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
+ a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
+ d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
+ c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
+ b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
+ a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
+ d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
+ c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
+ b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
+ a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
+ d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
+ c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
+ b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
+
+ a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
+ d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
+ c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
+ b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
+ a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
+ d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
+ c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
+ b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
+ a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
+ d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
+ c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
+ b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
+ a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
+ d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
+ c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
+ b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
+
+ a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
+ d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
+ c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
+ b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
+ a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
+ d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
+ c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
+ b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
+ a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
+ d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
+ c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
+ b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
+ a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
+ d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
+ c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
+ b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
+
+ a = safe_add(a, olda);
+ b = safe_add(b, oldb);
+ c = safe_add(c, oldc);
+ d = safe_add(d, oldd);
+ }
+ return Array(a, b, c, d);
+
+}
+
+/*
+ * These functions implement the four basic operations the algorithm uses.
+ */
+function md5_cmn(q, a, b, x, s, t)
+{
+ return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
+}
+function md5_ff(a, b, c, d, x, s, t)
+{
+ return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
+}
+function md5_gg(a, b, c, d, x, s, t)
+{
+ return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
+}
+function md5_hh(a, b, c, d, x, s, t)
+{
+ return md5_cmn(b ^ c ^ d, a, b, x, s, t);
+}
+function md5_ii(a, b, c, d, x, s, t)
+{
+ return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
+}
+
+/*
+ * Calculate the HMAC-MD5, of a key and some data
+ */
+function core_hmac_md5(key, data)
+{
+ var bkey = str2binl(key);
+ if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);
+
+ var ipad = Array(16), opad = Array(16);
+ for(var i = 0; i < 16; i++)
+ {
+ ipad[i] = bkey[i] ^ 0x36363636;
+ opad[i] = bkey[i] ^ 0x5C5C5C5C;
+ }
+
+ var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
+ return core_md5(opad.concat(hash), 512 + 128);
+}
+
+/*
+ * Add integers, wrapping at 2^32. This uses 16-bit operations internally
+ * to work around bugs in some JS interpreters.
+ */
+function safe_add(x, y)
+{
+ var lsw = (x & 0xFFFF) + (y & 0xFFFF);
+ var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
+ return (msw << 16) | (lsw & 0xFFFF);
+}
+
+/*
+ * Bitwise rotate a 32-bit number to the left.
+ */
+function bit_rol(num, cnt)
+{
+ return (num << cnt) | (num >>> (32 - cnt));
+}
+
+/*
+ * Convert a string to an array of little-endian words
+ * If chrsz is ASCII, characters >255 have their hi-byte silently ignored.
+ */
+function str2binl(str)
+{
+ var bin = Array();
+ var mask = (1 << chrsz) - 1;
+ for(var i = 0; i < str.length * chrsz; i += chrsz)
+ bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
+ return bin;
+}
+
+/*
+ * Convert an array of little-endian words to a string
+ */
+function binl2str(bin)
+{
+ var str = "";
+ var mask = (1 << chrsz) - 1;
+ for(var i = 0; i < bin.length * 32; i += chrsz)
+ str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);
+ return str;
+}
+
+/*
+ * Convert an array of little-endian words to a hex string.
+ */
+function binl2hex(binarray)
+{
+ var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
+ var str = "";
+ for(var i = 0; i < binarray.length * 4; i++)
+ {
+ str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
+ hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF);
+ }
+ return str;
+}
+
+/*
+ * Convert an array of little-endian words to a base-64 string
+ */
+function binl2b64(binarray)
+{
+ var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+ var str = "";
+ for(var i = 0; i < binarray.length * 4; i += 3)
+ {
+ var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16)
+ | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )
+ | ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);
+ for(var j = 0; j < 4; j++)
+ {
+ if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
+ else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
+ }
+ }
+ return str;
+}
+
+var plainText = "Rebellious subjects, enemies to peace,\n\
+Profaners of this neighbour-stained steel,--\n\
+Will they not hear? What, ho! you men, you beasts,\n\
+That quench the fire of your pernicious rage\n\
+With purple fountains issuing from your veins,\n\
+On pain of torture, from those bloody hands\n\
+Throw your mistemper'd weapons to the ground,\n\
+And hear the sentence of your moved prince.\n\
+Three civil brawls, bred of an airy word,\n\
+By thee, old Capulet, and Montague,\n\
+Have thrice disturb'd the quiet of our streets,\n\
+And made Verona's ancient citizens\n\
+Cast by their grave beseeming ornaments,\n\
+To wield old partisans, in hands as old,\n\
+Canker'd with peace, to part your canker'd hate:\n\
+If ever you disturb our streets again,\n\
+Your lives shall pay the forfeit of the peace.\n\
+For this time, all the rest depart away:\n\
+You Capulet; shall go along with me:\n\
+And, Montague, come you this afternoon,\n\
+To know our further pleasure in this case,\n\
+To old Free-town, our common judgment-place.\n\
+Once more, on pain of death, all men depart."
+
+for (var i = 0; i <4; i++) {
+ plainText += plainText;
+}
+
+var md5Output = hex_md5(plainText);
+
+var expected = "a831e91e0f70eddcb70dc61c6f82f6cd";
+
+if (md5Output != expected)
+ throw "ERROR: bad result: expected " + expected + " but got " + md5Output;
+
diff --git a/Jint.Tests.CommonScripts/Scripts/crypto-sha1.js b/Jint.Tests.CommonScripts/Scripts/crypto-sha1.js
new file mode 100644
index 0000000000..7301e9ec40
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/crypto-sha1.js
@@ -0,0 +1,228 @@
+/*
+ * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
+ * in FIPS PUB 180-1
+ * Version 2.1a Copyright Paul Johnston 2000 - 2002.
+ * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+ * Distributed under the BSD License
+ * See http://pajhome.org.uk/crypt/md5 for details.
+ */
+
+/*
+ * Configurable variables. You may need to tweak these to be compatible with
+ * the server-side, but the defaults work in most cases.
+ */
+var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */
+var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */
+var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */
+
+/*
+ * These are the functions you'll usually want to call
+ * They take string arguments and return either hex or base-64 encoded strings
+ */
+function hex_sha1(s){return binb2hex(core_sha1(str2binb(s),s.length * chrsz));}
+function b64_sha1(s){return binb2b64(core_sha1(str2binb(s),s.length * chrsz));}
+function str_sha1(s){return binb2str(core_sha1(str2binb(s),s.length * chrsz));}
+function hex_hmac_sha1(key, data){ return binb2hex(core_hmac_sha1(key, data));}
+function b64_hmac_sha1(key, data){ return binb2b64(core_hmac_sha1(key, data));}
+function str_hmac_sha1(key, data){ return binb2str(core_hmac_sha1(key, data));}
+
+/*
+ * Perform a simple self-test to see if the VM is working
+ */
+function sha1_vm_test()
+{
+ return hex_sha1("abc") == "a9993e364706816aba3e25717850c26c9cd0d89d";
+}
+
+/*
+ * Calculate the SHA-1 of an array of big-endian words, and a bit length
+ */
+function core_sha1(x, len)
+{
+ /* append padding */
+ x[len >> 5] |= 0x80 << (24 - len % 32);
+ x[((len + 64 >> 9) << 4) + 15] = len;
+
+ var w = Array(80);
+ var a = 1732584193;
+ var b = -271733879;
+ var c = -1732584194;
+ var d = 271733878;
+ var e = -1009589776;
+
+ for(var i = 0; i < x.length; i += 16)
+ {
+ var olda = a;
+ var oldb = b;
+ var oldc = c;
+ var oldd = d;
+ var olde = e;
+
+ for(var j = 0; j < 80; j++)
+ {
+ if(j < 16) w[j] = x[i + j];
+ else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);
+ var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)),
+ safe_add(safe_add(e, w[j]), sha1_kt(j)));
+ e = d;
+ d = c;
+ c = rol(b, 30);
+ b = a;
+ a = t;
+ }
+
+ a = safe_add(a, olda);
+ b = safe_add(b, oldb);
+ c = safe_add(c, oldc);
+ d = safe_add(d, oldd);
+ e = safe_add(e, olde);
+ }
+ return Array(a, b, c, d, e);
+
+}
+
+/*
+ * Perform the appropriate triplet combination function for the current
+ * iteration
+ */
+function sha1_ft(t, b, c, d)
+{
+ if(t < 20) return (b & c) | ((~b) & d);
+ if(t < 40) return b ^ c ^ d;
+ if(t < 60) return (b & c) | (b & d) | (c & d);
+ return b ^ c ^ d;
+}
+
+/*
+ * Determine the appropriate additive constant for the current iteration
+ */
+function sha1_kt(t)
+{
+ return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 :
+ (t < 60) ? -1894007588 : -899497514;
+}
+
+/*
+ * Calculate the HMAC-SHA1 of a key and some data
+ */
+function core_hmac_sha1(key, data)
+{
+ var bkey = str2binb(key);
+ if(bkey.length > 16) bkey = core_sha1(bkey, key.length * chrsz);
+
+ var ipad = Array(16), opad = Array(16);
+ for(var i = 0; i < 16; i++)
+ {
+ ipad[i] = bkey[i] ^ 0x36363636;
+ opad[i] = bkey[i] ^ 0x5C5C5C5C;
+ }
+
+ var hash = core_sha1(ipad.concat(str2binb(data)), 512 + data.length * chrsz);
+ return core_sha1(opad.concat(hash), 512 + 160);
+}
+
+/*
+ * Add integers, wrapping at 2^32. This uses 16-bit operations internally
+ * to work around bugs in some JS interpreters.
+ */
+function safe_add(x, y)
+{
+ var lsw = (x & 0xFFFF) + (y & 0xFFFF);
+ var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
+ return (msw << 16) | (lsw & 0xFFFF);
+}
+
+/*
+ * Bitwise rotate a 32-bit number to the left.
+ */
+function rol(num, cnt)
+{
+ return (num << cnt) | (num >>> (32 - cnt));
+}
+
+/*
+ * Convert an 8-bit or 16-bit string to an array of big-endian words
+ * In 8-bit function, characters >255 have their hi-byte silently ignored.
+ */
+function str2binb(str)
+{
+ var bin = Array();
+ var mask = (1 << chrsz) - 1;
+ for(var i = 0; i < str.length * chrsz; i += chrsz)
+ bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (32 - chrsz - i%32);
+ return bin;
+}
+
+/*
+ * Convert an array of big-endian words to a string
+ */
+function binb2str(bin)
+{
+ var str = "";
+ var mask = (1 << chrsz) - 1;
+ for(var i = 0; i < bin.length * 32; i += chrsz)
+ str += String.fromCharCode((bin[i>>5] >>> (32 - chrsz - i%32)) & mask);
+ return str;
+}
+
+/*
+ * Convert an array of big-endian words to a hex string.
+ */
+function binb2hex(binarray)
+{
+ var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
+ var str = "";
+ for(var i = 0; i < binarray.length * 4; i++)
+ {
+ str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) +
+ hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8 )) & 0xF);
+ }
+ return str;
+}
+
+/*
+ * Convert an array of big-endian words to a base-64 string
+ */
+function binb2b64(binarray)
+{
+ var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+ var str = "";
+ for(var i = 0; i < binarray.length * 4; i += 3)
+ {
+ var triplet = (((binarray[i >> 2] >> 8 * (3 - i %4)) & 0xFF) << 16)
+ | (((binarray[i+1 >> 2] >> 8 * (3 - (i+1)%4)) & 0xFF) << 8 )
+ | ((binarray[i+2 >> 2] >> 8 * (3 - (i+2)%4)) & 0xFF);
+ for(var j = 0; j < 4; j++)
+ {
+ if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
+ else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
+ }
+ }
+ return str;
+}
+
+
+var plainText = "Two households, both alike in dignity,\n\
+In fair Verona, where we lay our scene,\n\
+From ancient grudge break to new mutiny,\n\
+Where civil blood makes civil hands unclean.\n\
+From forth the fatal loins of these two foes\n\
+A pair of star-cross'd lovers take their life;\n\
+Whole misadventured piteous overthrows\n\
+Do with their death bury their parents' strife.\n\
+The fearful passage of their death-mark'd love,\n\
+And the continuance of their parents' rage,\n\
+Which, but their children's end, nought could remove,\n\
+Is now the two hours' traffic of our stage;\n\
+The which if you with patient ears attend,\n\
+What here shall miss, our toil shall strive to mend.";
+
+for (var i = 0; i <4; i++) {
+ plainText += plainText;
+}
+
+var sha1Output = hex_sha1(plainText);
+
+var expected = "2524d264def74cce2498bf112bedf00e6c0b796d";
+if (sha1Output != expected)
+ throw "ERROR: bad result: expected " + expected + " but got " + sha1Output;
diff --git a/Jint.Tests.CommonScripts/Scripts/date-format-tofte.js b/Jint.Tests.CommonScripts/Scripts/date-format-tofte.js
new file mode 100644
index 0000000000..54126ad7c5
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/date-format-tofte.js
@@ -0,0 +1,301 @@
+function arrayExists(array, x) {
+ for (var i = 0; i < array.length; i++) {
+ if (array[i] == x) return true;
+ }
+ return false;
+}
+
+Date.prototype.formatDate = function (input,time) {
+ // formatDate :
+ // a PHP date like function, for formatting date strings
+ // See: http://www.php.net/date
+ //
+ // input : format string
+ // time : epoch time (seconds, and optional)
+ //
+ // if time is not passed, formatting is based on
+ // the current "this" date object's set time.
+ //
+ // supported:
+ // a, A, B, d, D, F, g, G, h, H, i, j, l (lowercase L), L,
+ // m, M, n, O, r, s, S, t, U, w, W, y, Y, z
+ //
+ // unsupported:
+ // I (capital i), T, Z
+
+ var switches = ["a", "A", "B", "d", "D", "F", "g", "G", "h", "H",
+ "i", "j", "l", "L", "m", "M", "n", "O", "r", "s",
+ "S", "t", "U", "w", "W", "y", "Y", "z"];
+ var daysLong = ["Sunday", "Monday", "Tuesday", "Wednesday",
+ "Thursday", "Friday", "Saturday"];
+ var daysShort = ["Sun", "Mon", "Tue", "Wed",
+ "Thu", "Fri", "Sat"];
+ var monthsShort = ["Jan", "Feb", "Mar", "Apr",
+ "May", "Jun", "Jul", "Aug", "Sep",
+ "Oct", "Nov", "Dec"];
+ var monthsLong = ["January", "February", "March", "April",
+ "May", "June", "July", "August", "September",
+ "October", "November", "December"];
+ var daysSuffix = ["st", "nd", "rd", "th", "th", "th", "th", // 1st - 7th
+ "th", "th", "th", "th", "th", "th", "th", // 8th - 14th
+ "th", "th", "th", "th", "th", "th", "st", // 15th - 21st
+ "nd", "rd", "th", "th", "th", "th", "th", // 22nd - 28th
+ "th", "th", "st"]; // 29th - 31st
+
+ function a() {
+ // Lowercase Ante meridiem and Post meridiem
+ return self.getHours() > 11? "pm" : "am";
+ }
+ function A() {
+ // Uppercase Ante meridiem and Post meridiem
+ return self.getHours() > 11? "PM" : "AM";
+ }
+
+ function B(){
+ // Swatch internet time. code simply grabbed from ppk,
+ // since I was feeling lazy:
+ // http://www.xs4all.nl/~ppk/js/beat.html
+ var off = (self.getTimezoneOffset() + 60)*60;
+ var theSeconds = (self.getHours() * 3600) +
+ (self.getMinutes() * 60) +
+ self.getSeconds() + off;
+ var beat = Math.floor(theSeconds/86.4);
+ if (beat > 1000) beat -= 1000;
+ if (beat < 0) beat += 1000;
+ if ((""+beat).length == 1) beat = "00"+beat;
+ if ((""+beat).length == 2) beat = "0"+beat;
+ return beat;
+ }
+
+ function d() {
+ // Day of the month, 2 digits with leading zeros
+ return new String(self.getDate()).length == 1?
+ "0"+self.getDate() : self.getDate();
+ }
+ function D() {
+ // A textual representation of a day, three letters
+ return daysShort[self.getDay()];
+ }
+ function F() {
+ // A full textual representation of a month
+ return monthsLong[self.getMonth()];
+ }
+ function g() {
+ // 12-hour format of an hour without leading zeros
+ return self.getHours() > 12? self.getHours()-12 : self.getHours();
+ }
+ function G() {
+ // 24-hour format of an hour without leading zeros
+ return self.getHours();
+ }
+ function h() {
+ // 12-hour format of an hour with leading zeros
+ if (self.getHours() > 12) {
+ var s = new String(self.getHours()-12);
+ return s.length == 1?
+ "0"+ (self.getHours()-12) : self.getHours()-12;
+ } else {
+ var s = new String(self.getHours());
+ return s.length == 1?
+ "0"+self.getHours() : self.getHours();
+ }
+ }
+ function H() {
+ // 24-hour format of an hour with leading zeros
+ return new String(self.getHours()).length == 1?
+ "0"+self.getHours() : self.getHours();
+ }
+ function i() {
+ // Minutes with leading zeros
+ return new String(self.getMinutes()).length == 1?
+ "0"+self.getMinutes() : self.getMinutes();
+ }
+ function j() {
+ // Day of the month without leading zeros
+ return self.getDate();
+ }
+ function l() {
+ // A full textual representation of the day of the week
+ return daysLong[self.getDay()];
+ }
+ function L() {
+ // leap year or not. 1 if leap year, 0 if not.
+ // the logic should match iso's 8601 standard.
+ var y_ = Y();
+ if (
+ (y_ % 4 == 0 && y_ % 100 != 0) ||
+ (y_ % 4 == 0 && y_ % 100 == 0 && y_ % 400 == 0)
+ ) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+ function m() {
+ // Numeric representation of a month, with leading zeros
+ return self.getMonth() < 9?
+ "0"+(self.getMonth()+1) :
+ self.getMonth()+1;
+ }
+ function M() {
+ // A short textual representation of a month, three letters
+ return monthsShort[self.getMonth()];
+ }
+ function n() {
+ // Numeric representation of a month, without leading zeros
+ return self.getMonth()+1;
+ }
+ function O() {
+ // Difference to Greenwich time (GMT) in hours
+ var os = Math.abs(self.getTimezoneOffset());
+ var h = ""+Math.floor(os/60);
+ var m = ""+(os%60);
+ h.length == 1? h = "0"+h:1;
+ m.length == 1? m = "0"+m:1;
+ return self.getTimezoneOffset() < 0 ? "+"+h+m : "-"+h+m;
+ }
+ function r() {
+ // RFC 822 formatted date
+ var r; // result
+ // Thu , 21 Dec 2000
+ r = D() + ", " + j() + " " + M() + " " + Y() +
+ // 16 : 01 : 07 +0200
+ " " + H() + ":" + i() + ":" + s() + " " + O();
+ return r;
+ }
+ function S() {
+ // English ordinal suffix for the day of the month, 2 characters
+ return daysSuffix[self.getDate()-1];
+ }
+ function s() {
+ // Seconds, with leading zeros
+ return new String(self.getSeconds()).length == 1?
+ "0"+self.getSeconds() : self.getSeconds();
+ }
+ function t() {
+
+ // thanks to Matt Bannon for some much needed code-fixes here!
+ var daysinmonths = [null,31,28,31,30,31,30,31,31,30,31,30,31];
+ if (L()==1 && n()==2) return 29; // leap day
+ return daysinmonths[n()];
+ }
+ function U() {
+ // Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
+ return Math.round(self.getTime()/1000);
+ }
+ function W() {
+ // Weeknumber, as per ISO specification:
+ // http://www.cl.cam.ac.uk/~mgk25/iso-time.html
+
+ // if the day is three days before newyears eve,
+ // there's a chance it's "week 1" of next year.
+ // here we check for that.
+ var beforeNY = 364+L() - z();
+ var afterNY = z();
+ var weekday = w()!=0?w()-1:6; // makes sunday (0), into 6.
+ if (beforeNY <= 2 && weekday <= 2-beforeNY) {
+ return 1;
+ }
+ // similarly, if the day is within threedays of newyears
+ // there's a chance it belongs in the old year.
+ var ny = new Date("January 1 " + Y() + " 00:00:00");
+ var nyDay = ny.getDay()!=0?ny.getDay()-1:6;
+ if (
+ (afterNY <= 2) &&
+ (nyDay >=4) &&
+ (afterNY >= (6-nyDay))
+ ) {
+ // Since I'm not sure we can just always return 53,
+ // i call the function here again, using the last day
+ // of the previous year, as the date, and then just
+ // return that week.
+ var prevNY = new Date("December 31 " + (Y()-1) + " 00:00:00");
+ return prevNY.formatDate("W");
+ }
+
+ // week 1, is the week that has the first thursday in it.
+ // note that this value is not zero index.
+ if (nyDay <= 3) {
+ // first day of the year fell on a thursday, or earlier.
+ return 1 + Math.floor( ( z() + nyDay ) / 7 );
+ } else {
+ // first day of the year fell on a friday, or later.
+ return 1 + Math.floor( ( z() - ( 7 - nyDay ) ) / 7 );
+ }
+ }
+ function w() {
+ // Numeric representation of the day of the week
+ return self.getDay();
+ }
+
+ function Y() {
+ // A full numeric representation of a year, 4 digits
+
+ // we first check, if getFullYear is supported. if it
+ // is, we just use that. ppks code is nice, but wont
+ // work with dates outside 1900-2038, or something like that
+ if (self.getFullYear) {
+ var newDate = new Date("January 1 2001 00:00:00 +0000");
+ var x = newDate .getFullYear();
+ if (x == 2001) {
+ // i trust the method now
+ return self.getFullYear();
+ }
+ }
+ // else, do this:
+ // codes thanks to ppk:
+ // http://www.xs4all.nl/~ppk/js/introdate.html
+ var x = self.getYear();
+ var y = x % 100;
+ y += (y < 38) ? 2000 : 1900;
+ return y;
+ }
+ function y() {
+ // A two-digit representation of a year
+ var y = Y()+"";
+ return y.substring(y.length-2,y.length);
+ }
+ function z() {
+ // The day of the year, zero indexed! 0 through 366
+ var t = new Date("January 1 " + Y() + " 00:00:00");
+ var diff = self.getTime() - t.getTime();
+ return Math.floor(diff/1000/60/60/24);
+ }
+
+ var self = this;
+ if (time) {
+ // save time
+ var prevTime = self.getTime();
+ self.setTime(time);
+ }
+
+ var ia = input.split("");
+ var ij = 0;
+ while (ia[ij]) {
+ if (ia[ij] == "\\") {
+ // this is our way of allowing users to escape stuff
+ ia.splice(ij,1);
+ } else {
+ if (arrayExists(switches,ia[ij])) {
+ ia[ij] = eval(ia[ij] + "()");
+ }
+ }
+ ij++;
+ }
+ // reset time, back to what it was
+ if (prevTime) {
+ self.setTime(prevTime);
+ }
+ return ia.join("");
+}
+
+var date = new Date("1/1/2007 1:11:11");
+
+for (i = 0; i < 500; ++i) {
+ var shortFormat = date.formatDate("Y-m-d");
+ var longFormat = date.formatDate("l, F d, Y g:i:s A");
+ date.setTime(date.getTime() + 84266956);
+}
+
+// FIXME: Find a way to validate this test.
+// https://bugs.webkit.org/show_bug.cgi?id=114849
diff --git a/Jint.Tests.CommonScripts/Scripts/date-format-xparb.js b/Jint.Tests.CommonScripts/Scripts/date-format-xparb.js
new file mode 100644
index 0000000000..0eee7f51bd
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/date-format-xparb.js
@@ -0,0 +1,420 @@
+/*
+ * Copyright (C) 2004 Baron Schwartz
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by the
+ * Free Software Foundation, version 2.1.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+
+Date.parseFunctions = {count:0};
+Date.parseRegexes = [];
+Date.formatFunctions = {count:0};
+
+Date.prototype.dateFormat = function(format) {
+ if (Date.formatFunctions[format] == null) {
+ Date.createNewFormat(format);
+ }
+ var func = Date.formatFunctions[format];
+ return this[func]();
+}
+
+Date.createNewFormat = function(format) {
+ var funcName = "format" + Date.formatFunctions.count++;
+ Date.formatFunctions[format] = funcName;
+ var code = "Date.prototype." + funcName + " = function(){return ";
+ var special = false;
+ var ch = '';
+ for (var i = 0; i < format.length; ++i) {
+ ch = format.charAt(i);
+ if (!special && ch == "\\") {
+ special = true;
+ }
+ else if (special) {
+ special = false;
+ code += "'" + String.escape(ch) + "' + ";
+ }
+ else {
+ code += Date.getFormatCode(ch);
+ }
+ }
+ eval(code.substring(0, code.length - 3) + ";}");
+}
+
+Date.getFormatCode = function(character) {
+ switch (character) {
+ case "d":
+ return "String.leftPad(this.getDate(), 2, '0') + ";
+ case "D":
+ return "Date.dayNames[this.getDay()].substring(0, 3) + ";
+ case "j":
+ return "this.getDate() + ";
+ case "l":
+ return "Date.dayNames[this.getDay()] + ";
+ case "S":
+ return "this.getSuffix() + ";
+ case "w":
+ return "this.getDay() + ";
+ case "z":
+ return "this.getDayOfYear() + ";
+ case "W":
+ return "this.getWeekOfYear() + ";
+ case "F":
+ return "Date.monthNames[this.getMonth()] + ";
+ case "m":
+ return "String.leftPad(this.getMonth() + 1, 2, '0') + ";
+ case "M":
+ return "Date.monthNames[this.getMonth()].substring(0, 3) + ";
+ case "n":
+ return "(this.getMonth() + 1) + ";
+ case "t":
+ return "this.getDaysInMonth() + ";
+ case "L":
+ return "(this.isLeapYear() ? 1 : 0) + ";
+ case "Y":
+ return "this.getFullYear() + ";
+ case "y":
+ return "('' + this.getFullYear()).substring(2, 4) + ";
+ case "a":
+ return "(this.getHours() < 12 ? 'am' : 'pm') + ";
+ case "A":
+ return "(this.getHours() < 12 ? 'AM' : 'PM') + ";
+ case "g":
+ return "((this.getHours() %12) ? this.getHours() % 12 : 12) + ";
+ case "G":
+ return "this.getHours() + ";
+ case "h":
+ return "String.leftPad((this.getHours() %12) ? this.getHours() % 12 : 12, 2, '0') + ";
+ case "H":
+ return "String.leftPad(this.getHours(), 2, '0') + ";
+ case "i":
+ return "String.leftPad(this.getMinutes(), 2, '0') + ";
+ case "s":
+ return "String.leftPad(this.getSeconds(), 2, '0') + ";
+ case "O":
+ return "this.getGMTOffset() + ";
+ case "T":
+ return "this.getTimezone() + ";
+ case "Z":
+ return "(this.getTimezoneOffset() * -60) + ";
+ default:
+ return "'" + String.escape(character) + "' + ";
+ }
+}
+
+Date.parseDate = function(input, format) {
+ if (Date.parseFunctions[format] == null) {
+ Date.createParser(format);
+ }
+ var func = Date.parseFunctions[format];
+ return Date[func](input);
+}
+
+Date.createParser = function(format) {
+ var funcName = "parse" + Date.parseFunctions.count++;
+ var regexNum = Date.parseRegexes.length;
+ var currentGroup = 1;
+ Date.parseFunctions[format] = funcName;
+
+ var code = "Date." + funcName + " = function(input){\n"
+ + "var y = -1, m = -1, d = -1, h = -1, i = -1, s = -1;\n"
+ + "var d = new Date();\n"
+ + "y = d.getFullYear();\n"
+ + "m = d.getMonth();\n"
+ + "d = d.getDate();\n"
+ + "var results = input.match(Date.parseRegexes[" + regexNum + "]);\n"
+ + "if (results && results.length > 0) {"
+ var regex = "";
+
+ var special = false;
+ var ch = '';
+ for (var i = 0; i < format.length; ++i) {
+ ch = format.charAt(i);
+ if (!special && ch == "\\") {
+ special = true;
+ }
+ else if (special) {
+ special = false;
+ regex += String.escape(ch);
+ }
+ else {
+ obj = Date.formatCodeToRegex(ch, currentGroup);
+ currentGroup += obj.g;
+ regex += obj.s;
+ if (obj.g && obj.c) {
+ code += obj.c;
+ }
+ }
+ }
+
+ code += "if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0)\n"
+ + "{return new Date(y, m, d, h, i, s);}\n"
+ + "else if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0)\n"
+ + "{return new Date(y, m, d, h, i);}\n"
+ + "else if (y > 0 && m >= 0 && d > 0 && h >= 0)\n"
+ + "{return new Date(y, m, d, h);}\n"
+ + "else if (y > 0 && m >= 0 && d > 0)\n"
+ + "{return new Date(y, m, d);}\n"
+ + "else if (y > 0 && m >= 0)\n"
+ + "{return new Date(y, m);}\n"
+ + "else if (y > 0)\n"
+ + "{return new Date(y);}\n"
+ + "}return null;}";
+
+ Date.parseRegexes[regexNum] = new RegExp("^" + regex + "$");
+ eval(code);
+}
+
+Date.formatCodeToRegex = function(character, currentGroup) {
+ switch (character) {
+ case "D":
+ return {g:0,
+ c:null,
+ s:"(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)"};
+ case "j":
+ case "d":
+ return {g:1,
+ c:"d = parseInt(results[" + currentGroup + "], 10);\n",
+ s:"(\\d{1,2})"};
+ case "l":
+ return {g:0,
+ c:null,
+ s:"(?:" + Date.dayNames.join("|") + ")"};
+ case "S":
+ return {g:0,
+ c:null,
+ s:"(?:st|nd|rd|th)"};
+ case "w":
+ return {g:0,
+ c:null,
+ s:"\\d"};
+ case "z":
+ return {g:0,
+ c:null,
+ s:"(?:\\d{1,3})"};
+ case "W":
+ return {g:0,
+ c:null,
+ s:"(?:\\d{2})"};
+ case "F":
+ return {g:1,
+ c:"m = parseInt(Date.monthNumbers[results[" + currentGroup + "].substring(0, 3)], 10);\n",
+ s:"(" + Date.monthNames.join("|") + ")"};
+ case "M":
+ return {g:1,
+ c:"m = parseInt(Date.monthNumbers[results[" + currentGroup + "]], 10);\n",
+ s:"(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)"};
+ case "n":
+ case "m":
+ return {g:1,
+ c:"m = parseInt(results[" + currentGroup + "], 10) - 1;\n",
+ s:"(\\d{1,2})"};
+ case "t":
+ return {g:0,
+ c:null,
+ s:"\\d{1,2}"};
+ case "L":
+ return {g:0,
+ c:null,
+ s:"(?:1|0)"};
+ case "Y":
+ return {g:1,
+ c:"y = parseInt(results[" + currentGroup + "], 10);\n",
+ s:"(\\d{4})"};
+ case "y":
+ return {g:1,
+ c:"var ty = parseInt(results[" + currentGroup + "], 10);\n"
+ + "y = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n",
+ s:"(\\d{1,2})"};
+ case "a":
+ return {g:1,
+ c:"if (results[" + currentGroup + "] == 'am') {\n"
+ + "if (h == 12) { h = 0; }\n"
+ + "} else { if (h < 12) { h += 12; }}",
+ s:"(am|pm)"};
+ case "A":
+ return {g:1,
+ c:"if (results[" + currentGroup + "] == 'AM') {\n"
+ + "if (h == 12) { h = 0; }\n"
+ + "} else { if (h < 12) { h += 12; }}",
+ s:"(AM|PM)"};
+ case "g":
+ case "G":
+ case "h":
+ case "H":
+ return {g:1,
+ c:"h = parseInt(results[" + currentGroup + "], 10);\n",
+ s:"(\\d{1,2})"};
+ case "i":
+ return {g:1,
+ c:"i = parseInt(results[" + currentGroup + "], 10);\n",
+ s:"(\\d{2})"};
+ case "s":
+ return {g:1,
+ c:"s = parseInt(results[" + currentGroup + "], 10);\n",
+ s:"(\\d{2})"};
+ case "O":
+ return {g:0,
+ c:null,
+ s:"[+-]\\d{4}"};
+ case "T":
+ return {g:0,
+ c:null,
+ s:"[A-Z]{3}"};
+ case "Z":
+ return {g:0,
+ c:null,
+ s:"[+-]\\d{1,5}"};
+ default:
+ return {g:0,
+ c:null,
+ s:String.escape(character)};
+ }
+}
+
+Date.prototype.getTimezone = function() {
+ return this.toString().replace(
+ /^.*? ([A-Z]{3}) [0-9]{4}.*$/, "$1").replace(
+ /^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/, "$1$2$3");
+}
+
+Date.prototype.getGMTOffset = function() {
+ return (this.getTimezoneOffset() > 0 ? "-" : "+")
+ + String.leftPad(Math.floor(this.getTimezoneOffset() / 60), 2, "0")
+ + String.leftPad(this.getTimezoneOffset() % 60, 2, "0");
+}
+
+Date.prototype.getDayOfYear = function() {
+ var num = 0;
+ Date.daysInMonth[1] = this.isLeapYear() ? 29 : 28;
+ for (var i = 0; i < this.getMonth(); ++i) {
+ num += Date.daysInMonth[i];
+ }
+ return num + this.getDate() - 1;
+}
+
+Date.prototype.getWeekOfYear = function() {
+ // Skip to Thursday of this week
+ var now = this.getDayOfYear() + (4 - this.getDay());
+ // Find the first Thursday of the year
+ var jan1 = new Date(this.getFullYear(), 0, 1);
+ var then = (7 - jan1.getDay() + 4);
+ document.write(then);
+ return String.leftPad(((now - then) / 7) + 1, 2, "0");
+}
+
+Date.prototype.isLeapYear = function() {
+ var year = this.getFullYear();
+ return ((year & 3) == 0 && (year % 100 || (year % 400 == 0 && year)));
+}
+
+Date.prototype.getFirstDayOfMonth = function() {
+ var day = (this.getDay() - (this.getDate() - 1)) % 7;
+ return (day < 0) ? (day + 7) : day;
+}
+
+Date.prototype.getLastDayOfMonth = function() {
+ var day = (this.getDay() + (Date.daysInMonth[this.getMonth()] - this.getDate())) % 7;
+ return (day < 0) ? (day + 7) : day;
+}
+
+Date.prototype.getDaysInMonth = function() {
+ Date.daysInMonth[1] = this.isLeapYear() ? 29 : 28;
+ return Date.daysInMonth[this.getMonth()];
+}
+
+Date.prototype.getSuffix = function() {
+ switch (this.getDate()) {
+ case 1:
+ case 21:
+ case 31:
+ return "st";
+ case 2:
+ case 22:
+ return "nd";
+ case 3:
+ case 23:
+ return "rd";
+ default:
+ return "th";
+ }
+}
+
+String.escape = function(string) {
+ return string.replace(/('|\\)/g, "\\$1");
+}
+
+String.leftPad = function (val, size, ch) {
+ var result = new String(val);
+ if (ch == null) {
+ ch = " ";
+ }
+ while (result.length < size) {
+ result = ch + result;
+ }
+ return result;
+}
+
+Date.daysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31];
+Date.monthNames =
+ ["January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"];
+Date.dayNames =
+ ["Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"];
+Date.y2kYear = 50;
+Date.monthNumbers = {
+ Jan:0,
+ Feb:1,
+ Mar:2,
+ Apr:3,
+ May:4,
+ Jun:5,
+ Jul:6,
+ Aug:7,
+ Sep:8,
+ Oct:9,
+ Nov:10,
+ Dec:11};
+Date.patterns = {
+ ISO8601LongPattern:"Y-m-d H:i:s",
+ ISO8601ShortPattern:"Y-m-d",
+ ShortDatePattern: "n/j/Y",
+ LongDatePattern: "l, F d, Y",
+ FullDateTimePattern: "l, F d, Y g:i:s A",
+ MonthDayPattern: "F d",
+ ShortTimePattern: "g:i A",
+ LongTimePattern: "g:i:s A",
+ SortableDateTimePattern: "Y-m-d\\TH:i:s",
+ UniversalSortableDateTimePattern: "Y-m-d H:i:sO",
+ YearMonthPattern: "F, Y"};
+
+var date = new Date("1/1/2007 1:11:11");
+
+for (i = 0; i < 4000; ++i) {
+ var shortFormat = date.dateFormat("Y-m-d");
+ var longFormat = date.dateFormat("l, F d, Y g:i:s A");
+ date.setTime(date.getTime() + 84266956);
+}
+
+// FIXME: Find a way to validate this test.
+// https://bugs.webkit.org/show_bug.cgi?id=114849
diff --git a/Jint.Tests.CommonScripts/Scripts/math-cordic.js b/Jint.Tests.CommonScripts/Scripts/math-cordic.js
new file mode 100644
index 0000000000..f71bd11186
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/math-cordic.js
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) Rich Moore. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/////. Start CORDIC
+
+var AG_CONST = 0.6072529350;
+
+function FIXED(X)
+{
+ return X * 65536.0;
+}
+
+function FLOAT(X)
+{
+ return X / 65536.0;
+}
+
+function DEG2RAD(X)
+{
+ return 0.017453 * (X);
+}
+
+var Angles = [
+ FIXED(45.0), FIXED(26.565), FIXED(14.0362), FIXED(7.12502),
+ FIXED(3.57633), FIXED(1.78991), FIXED(0.895174), FIXED(0.447614),
+ FIXED(0.223811), FIXED(0.111906), FIXED(0.055953),
+ FIXED(0.027977)
+ ];
+
+var Target = 28.027;
+
+function cordicsincos(Target) {
+ var X;
+ var Y;
+ var TargetAngle;
+ var CurrAngle;
+ var Step;
+
+ X = FIXED(AG_CONST); /* AG_CONST * cos(0) */
+ Y = 0; /* AG_CONST * sin(0) */
+
+ TargetAngle = FIXED(Target);
+ CurrAngle = 0;
+ for (Step = 0; Step < 12; Step++) {
+ var NewX;
+ if (TargetAngle > CurrAngle) {
+ NewX = X - (Y >> Step);
+ Y = (X >> Step) + Y;
+ X = NewX;
+ CurrAngle += Angles[Step];
+ } else {
+ NewX = X + (Y >> Step);
+ Y = -(X >> Step) + Y;
+ X = NewX;
+ CurrAngle -= Angles[Step];
+ }
+ }
+
+ return FLOAT(X) * FLOAT(Y);
+}
+
+///// End CORDIC
+
+var total = 0;
+
+function cordic( runs ) {
+ var start = new Date();
+
+ for ( var i = 0 ; i < runs ; i++ ) {
+ total += cordicsincos(Target);
+ }
+
+ var end = new Date();
+
+ return end.getTime() - start.getTime();
+}
+
+cordic(25000);
+
+var expected = 10362.570468755888;
+
+if (total != expected)
+ throw "ERROR: bad result: expected " + expected + " but got " + total;
+
diff --git a/Jint.Tests.CommonScripts/Scripts/math-partial-sums.js b/Jint.Tests.CommonScripts/Scripts/math-partial-sums.js
new file mode 100644
index 0000000000..67d376554a
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/math-partial-sums.js
@@ -0,0 +1,45 @@
+// The Computer Language Shootout
+// http://shootout.alioth.debian.org/
+// contributed by Isaac Gouy
+
+function partial(n){
+ var a1 = a2 = a3 = a4 = a5 = a6 = a7 = a8 = a9 = 0.0;
+ var twothirds = 2.0/3.0;
+ var alt = -1.0;
+ var k2 = k3 = sk = ck = 0.0;
+
+ for (var k = 1; k <= n; k++){
+ k2 = k*k;
+ k3 = k2*k;
+ sk = Math.sin(k);
+ ck = Math.cos(k);
+ alt = -alt;
+
+ a1 += Math.pow(twothirds,k-1);
+ a2 += Math.pow(k,-0.5);
+ a3 += 1.0/(k*(k+1.0));
+ a4 += 1.0/(k3 * sk*sk);
+ a5 += 1.0/(k3 * ck*ck);
+ a6 += 1.0/k;
+ a7 += 1.0/k2;
+ a8 += alt/k;
+ a9 += alt/(2*k -1);
+ }
+
+ // NOTE: We don't try to validate anything from pow(), sin() or cos() because those aren't
+ // well-specified in ECMAScript.
+ return a6 + a7 + a8 + a9;
+}
+
+var total = 0;
+
+for (var i = 1024; i <= 16384; i *= 2) {
+ total += partial(i);
+}
+
+var expected = 60.08994194659945;
+
+if (total != expected) {
+ throw "ERROR: bad result: expected " + expected + " but got " + total;
+}
+
diff --git a/Jint.Tests.CommonScripts/Scripts/math-spectral-norm.js b/Jint.Tests.CommonScripts/Scripts/math-spectral-norm.js
new file mode 100644
index 0000000000..ebf36933fb
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/math-spectral-norm.js
@@ -0,0 +1,59 @@
+// The Great Computer Language Shootout
+// http://shootout.alioth.debian.org/
+//
+// contributed by Ian Osgood
+
+function A(i,j) {
+ return 1/((i+j)*(i+j+1)/2+i+1);
+}
+
+function Au(u,v) {
+ for (var i=0; i.*\n|\n/g,"")
+clen = dnaInput.length
+
+var dnaOutputString = "";
+
+for(i in seqs)
+ dnaOutputString += seqs[i].source + " " + (dnaInput.match(seqs[i]) || []).length + "\n";
+ // match returns null if no matches, so replace with empty
+
+for(k in subs)
+ dnaInput = dnaInput.replace(k, subs[k]) // FIXME: Would like this to be a global substitution in a future version of SunSpider.
+ // search string, replacement string, flags
+
+var expectedDNAOutputString = "agggtaaa|tttaccct 0\n[cgt]gggtaaa|tttaccc[acg] 9\na[act]ggtaaa|tttacc[agt]t 27\nag[act]gtaaa|tttac[agt]ct 24\nagg[act]taaa|ttta[agt]cct 30\naggg[acg]aaa|ttt[cgt]ccct 9\nagggt[cgt]aa|tt[acg]accct 12\nagggta[cgt]a|t[acg]taccct 9\nagggtaa[cgt]|[acg]ttaccct 15\n";
+var expectedDNAInput = "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCctt(c|g|t)tatcatatgcta(g|t)gg(a|c|g|t)cataaa(c|t)atgtaaa(a|g|t)cD(a|g)tBggDtctttataattcBgtcgtactDtDagcctatttS(a|c|g)(a|c|t)tHttKtgtH(a|c)aSattg(a|t)aHKHttttagacatWatgtRgaaaNtactMcSMt(c|t)tcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgtcattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcagagtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYaHgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRcatttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactttattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSStacaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaaccttacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYtgtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWaaccRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagtRDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgttgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacagcccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctgttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaatactcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKaggYtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSaKtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttataaaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBaaNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacggtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgctcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccKtcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMtttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacgggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNaBKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDttaRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacctttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatccgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcacaattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKgatacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcgaaacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaDgttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtgttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcVtaBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaaccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagatgaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgggaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaatYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctttYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactttaSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatcacBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBagaHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHtcgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctcttttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBWattccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatagttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaaattBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStctHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHcctaaagacYRcaggattHaYgtKtaatgcVcaataMYacccatatcacgWDBtgaatcBaatacKcttRaRtgatgaBDacggtaattaaYtataStgVHDtDctgactcaaatKtacaatgcgYatBtRaDatHaactgtttatatDttttaaaKVccYcaaccNcBcgHaaVcattHctcgattaaatBtatgcaaaaatYMctSactHatacgaWacattacMBgHttcgaatVaaaacaBatatVtctgaaaaWtctRacgBMaatSgRgtgtcgactatcRtattaScctaStagKgaDcWgtYtDDWKRgRtHatRtggtcgaHgggcgtattaMgtcagccaBggWVcWctVaaattcgNaatcKWagcNaHtgaaaSaaagctcYctttRVtaaaatNtataaccKtaRgtttaMtgtKaBtRtNaggaSattHatatWactcagtgtactaKctatttgRYYatKatgtccgtRtttttatttaatatVgKtttgtatgtNtataRatWYNgtRtHggtaaKaYtKSDcatcKgtaaYatcSRctaVtSMWtVtRWHatttagataDtVggacagVcgKWagBgatBtaaagNcaRtagcataBggactaacacRctKgttaatcctHgDgttKHHagttgttaatgHBtatHcDaagtVaBaRccctVgtgDtacRHSctaagagcggWYaBtSaKtHBtaaactYacgNKBaVYgtaacttagtVttcttaatgtBtatMtMtttaattaatBWccatRtttcatagVgMMtagctStKctaMactacDNYgKYHgaWcgaHgagattacVgtttgtRaSttaWaVgataatgtgtYtaStattattMtNgWtgttKaccaatagNYttattcgtatHcWtctaaaNVYKKttWtggcDtcgaagtNcagatacgcattaagaccWctgcagcttggNSgaNcHggatgtVtcatNtRaaBNcHVagagaaBtaaSggDaatWaatRccaVgggStctDaacataKttKatttggacYtattcSatcttagcaatgaVBMcttDattctYaaRgatgcattttNgVHtKcYRaatRKctgtaaacRatVSagctgtWacBtKVatctgttttKcgtctaaDcaagtatcSataWVgcKKataWaYttcccSaatgaaaacccWgcRctWatNcWtBRttYaattataaNgacacaatagtttVNtataNaYtaatRaVWKtBatKagtaatataDaNaaaaataMtaagaaStccBcaatNgaataWtHaNactgtcDtRcYaaVaaaaaDgtttRatctatgHtgttKtgaaNSgatactttcgagWaaatctKaaDaRttgtggKKagcDgataaattgSaacWaVtaNMacKtcaDaaatttctRaaVcagNacaScRBatatctRatcctaNatWgRtcDcSaWSgttRtKaRtMtKaatgttBHcYaaBtgatSgaSWaScMgatNtctcctatttctYtatMatMtRRtSaattaMtagaaaaStcgVgRttSVaScagtgDtttatcatcatacRcatatDcttatcatVRtttataaHtattcYtcaaaatactttgVctagtaaYttagatagtSYacKaaacgaaKtaaatagataatSatatgaaatSgKtaatVtttatcctgKHaatHattagaaccgtYaaHactRcggSBNgtgctaaBagBttgtRttaaattYtVRaaaattgtaatVatttctcttcatgBcVgtgKgaHaaatattYatagWacNctgaaMcgaattStagWaSgtaaKagttttaagaDgatKcctgtaHtcatggKttVDatcaaggtYcgccagNgtgcVttttagagatgctaccacggggtNttttaSHaNtatNcctcatSaaVgtactgBHtagcaYggYVKNgtaKBcRttgaWatgaatVtagtcgattYgatgtaatttacDacSctgctaaaStttaWMagDaaatcaVYctccgggcgaVtaaWtStaKMgDtttcaaMtVgBaatccagNaaatcYRMBggttWtaaScKttMWtYataRaDBMaDataatHBcacDaaKDactaMgagttDattaHatHtaYatDtattDcRNStgaatattSDttggtattaaNSYacttcDMgYgBatWtaMagactVWttctttgYMaYaacRgHWaattgRtaagcattctMKVStatactacHVtatgatcBtVNataaBttYtSttacKgggWgYDtgaVtYgatDaacattYgatggtRDaVDttNactaSaMtgNttaacaaSaBStcDctaccacagacgcaHatMataWKYtaYattMcaMtgSttDagcHacgatcaHttYaKHggagttccgatYcaatgatRaVRcaagatcagtatggScctatattaNtagcgacgtgKaaWaactSgagtMYtcttccaKtStaacggMtaagNttattatcgtctaRcactctctDtaacWYtgaYaSaagaWtNtatttRacatgNaatgttattgWDDcNaHcctgaaHacSgaataaRaataMHttatMtgaSDSKatatHHaNtacagtccaYatWtcactaactatKDacSaStcggataHgYatagKtaatKagStaNgtatactatggRHacttgtattatgtDVagDVaRctacMYattDgtttYgtctatggtKaRSttRccRtaaccttagagRatagSaaMaacgcaNtatgaaatcaRaagataatagatactcHaaYKBctccaagaRaBaStNagataggcgaatgaMtagaatgtcaKttaaatgtaWcaBttaatRcggtgNcacaaKtttScRtWtgcatagtttWYaagBttDKgcctttatMggNttattBtctagVtacataaaYttacacaaRttcYtWttgHcaYYtaMgBaBatctNgcDtNttacgacDcgataaSatYaSttWtcctatKaatgcagHaVaacgctgcatDtgttaSataaaaYSNttatagtaNYtaDaaaNtggggacttaBggcHgcgtNtaaMcctggtVtaKcgNacNtatVaSWctWtgaWcggNaBagctctgaYataMgaagatBSttctatacttgtgtKtaattttRagtDtacatatatatgatNHVgBMtKtaKaNttDHaagatactHaccHtcatttaaagttVaMcNgHatatKtaNtgYMccttatcaaNagctggacStttcNtggcaVtattactHaSttatgNMVattMMDtMactattattgWMSgtHBttStStgatatRaDaagattttctatMtaaaaaggtactaaVttaSacNaatactgMttgacHaHRttgMacaaaatagttaatatWKRgacDgaRtatatttattatcYttaWtgtBRtWatgHaaattHataagtVaDtWaVaWtgStcgtMSgaSRgMKtaaataVacataatgtaSaatttagtcgaaHtaKaatgcacatcggRaggSKctDcagtcSttcccStYtccRtctctYtcaaKcgagtaMttttcRaYDttgttatctaatcataNctctgctatcaMatactataggDaHaaSttMtaDtcNatataattctMcStaaBYtaNagatgtaatHagagSttgWHVcttatKaYgDctcttggtgttMcRaVgSgggtagacaataaDtaattSaDaNaHaBctattgNtaccaaRgaVtKNtaaYggHtaKKgHcatctWtctDtttctttggSDtNtaStagttataaacaattgcaBaBWggHgcaaaBtYgctaatgaaatWcDcttHtcMtWWattBHatcatcaaatctKMagtDNatttWaBtHaaaNgMttaaStagttctctaatDtcRVaYttgttMtRtgtcaSaaYVgSWDRtaatagctcagDgcWWaaaBaaRaBctgVgggNgDWStNaNBKcBctaaKtttDcttBaaggBttgaccatgaaaNgttttttttatctatgttataccaaDRaaSagtaVtDtcaWatBtacattaWacttaSgtattggDgKaaatScaattacgWcagKHaaccaYcRcaRttaDttRtttHgaHVggcttBaRgtccctDatKaVtKtcRgYtaKttacgtatBtStaagcaattaagaRgBagSaattccSWYtttattVaataNctgHgttaaNBgcVYgtRtcccagWNaaaacaDNaBcaaaaRVtcWMgBagMtttattacgDacttBtactatcattggaaatVccggttRttcatagttVYcatYaSHaHcttaaagcNWaHataaaRWtctVtRYtagHtaaaYMataHYtNBctNtKaatattStgaMcBtRgctaKtgcScSttDgYatcVtggaaKtaagatWccHccgKYctaNNctacaWcttttgcRtgtVcgaKttcMRHgctaHtVaataaDtatgKDcttatBtDttggNtacttttMtgaacRattaaNagaactcaaaBBVtcDtcgaStaDctgaaaSgttMaDtcgttcaccaaaaggWtcKcgSMtcDtatgtttStaaBtatagDcatYatWtaaaBacaKgcaDatgRggaaYctaRtccagattDaWtttggacBaVcHtHtaacDacYgtaatataMagaatgHMatcttatacgtatttttatattacHactgttataMgStYaattYaccaattgagtcaaattaYtgtatcatgMcaDcgggtcttDtKgcatgWRtataatatRacacNRBttcHtBgcRttgtgcgtcatacMtttBctatctBaatcattMttMYgattaaVYatgDaatVagtattDacaacDMatcMtHcccataagatgBggaccattVWtRtSacatgctcaaggggYtttDtaaNgNtaaBatggaatgtctRtaBgBtcNYatatNRtagaacMgagSaSDDSaDcctRagtVWSHtVSRggaacaBVaccgtttaStagaacaMtactccagtttVctaaRaaHttNcttagcaatttattaatRtaaaatctaacDaBttggSagagctacHtaaRWgattcaaBtctRtSHaNtgtacattVcaHaNaagtataccacaWtaRtaaVKgMYaWgttaKggKMtKcgWatcaDatYtKSttgtacgaccNctSaattcDcatcttcaaaDKttacHtggttHggRRaRcaWacaMtBWVHSHgaaMcKattgtaRWttScNattBBatYtaNRgcggaagacHSaattRtttcYgaccBRccMacccKgatgaacttcgDgHcaaaaaRtatatDtatYVtttttHgSHaSaatagctNYtaHYaVYttattNtttgaaaYtaKttWtctaNtgagaaaNctNDctaaHgttagDcRttatagccBaacgcaRBtRctRtggtaMYYttWtgataatcgaataattattataVaaaaattacNRVYcaaMacNatRttcKatMctgaagactaattataaYgcKcaSYaatMNctcaacgtgatttttBacNtgatDccaattattKWWcattttatatatgatBcDtaaaagttgaaVtaHtaHHtBtataRBgtgDtaataMttRtDgDcttattNtggtctatctaaBcatctaRatgNacWtaatgaagtcMNaacNgHttatactaWgcNtaStaRgttaaHacccgaYStacaaaatWggaYaWgaattattcMaactcBKaaaRVNcaNRDcYcgaBctKaacaaaaaSgctccYBBHYaVagaatagaaaacagYtctVccaMtcgtttVatcaatttDRtgWctagtacRttMctgtDctttcKtWttttataaatgVttgBKtgtKWDaWagMtaaagaaattDVtaggttacatcatttatgtcgMHaVcttaBtVRtcgtaYgBRHatttHgaBcKaYWaatcNSctagtaaaaatttacaatcactSWacgtaatgKttWattagttttNaggtctcaagtcactattcttctaagKggaataMgtttcataagataaaaatagattatDgcBVHWgaBKttDgcatRHaagcaYcRaattattatgtMatatattgHDtcaDtcaaaHctStattaatHaccgacNattgatatattttgtgtDtRatagSacaMtcRtcattcccgacacSattgttKaWattNHcaacttccgtttSRtgtctgDcgctcaaMagVtBctBMcMcWtgtaacgactctcttRggRKSttgYtYatDccagttDgaKccacgVatWcataVaaagaataMgtgataaKYaaatcHDaacgataYctRtcYatcgcaMgtNttaBttttgatttaRtStgcaacaaaataccVgaaDgtVgDcStctatatttattaaaaRKDatagaaagaKaaYYcaYSgKStctccSttacagtcNactttDVttagaaagMHttRaNcSaRaMgBttattggtttaRMggatggcKDgWRtNaataataWKKacttcKWaaagNaBttaBatMHtccattaacttccccYtcBcYRtagattaagctaaYBDttaNtgaaaccHcaRMtKtaaHMcNBttaNaNcVcgVttWNtDaBatgataaVtcWKcttRggWatcattgaRagHgaattNtatttctctattaattaatgaDaaMatacgttgggcHaYVaaNaDDttHtcaaHtcVVDgBVagcMacgtgttaaBRNtatRtcagtaagaggtttaagacaVaaggttaWatctccgtVtaDtcDatttccVatgtacNtttccgtHttatKgScBatgtVgHtYcWagcaKtaMYaaHgtaattaSaHcgcagtWNaatNccNNYcacgVaagaRacttctcattcccRtgtgtaattagcSttaaStWaMtctNNcSMacattataaactaDgtatWgtagtttaagaaaattgtagtNagtcaataaatttgatMMYactaatatcggBWDtVcYttcDHtVttatacYaRgaMaacaStaatcRttttVtagaDtcacWatttWtgaaaagaaagNRacDtttStVatBaDNtaactatatcBSMcccaSttccggaMatgattaaWatKMaBaBatttgataNctgttKtVaagtcagScgaaaDggaWgtgttttKtWtatttHaatgtagttcactaaKMagttSYBtKtaYgaactcagagRtatagtVtatcaaaWYagcgNtaDagtacNSaaYDgatBgtcgataacYDtaaactacagWDcYKaagtttattagcatcgagttKcatDaattgattatDtcagRtWSKtcgNtMaaaaacaMttKcaWcaaSVMaaaccagMVtaMaDtMaHaBgaacataBBVtaatVYaNSWcSgNtDNaaKacacBtttatKtgtttcaaHaMctcagtaacgtcgYtactDcgcctaNgagagcYgatattttaaatttccattttacatttDaaRctattttWctttacgtDatYtttcagacgcaaVttagtaaKaaaRtgVtccataBggacttatttgtttaWNtgttVWtaWNVDaattgtatttBaagcBtaaBttaaVatcHcaVgacattccNggtcgacKttaaaRtagRtctWagaYggtgMtataatMtgaaRttattttgWcttNtDRRgMDKacagaaaaggaaaRStcccagtYccVattaNaaKStNWtgacaVtagaagcttSaaDtcacaacgDYacWDYtgtttKatcVtgcMaDaSKStVcgtagaaWaKaagtttcHaHgMgMtctataagBtKaaaKKcactggagRRttaagaBaaNatVVcgRcKSttDaactagtSttSattgttgaaRYatggttVttaataaHttccaagDtgatNWtaagHtgcYtaactRgcaatgMgtgtRaatRaNaacHKtagactactggaatttcgccataacgMctRgatgttaccctaHgtgWaYcactcacYaattcttaBtgacttaaacctgYgaWatgBttcttVttcgttWttMcNYgtaaaatctYgMgaaattacNgaHgaacDVVMtttggtHtctaaRgtacagacgHtVtaBMNBgattagcttaRcttacaHcRctgttcaaDBggttKaacatgKtttYataVaNattccgMcgcgtagtRaVVaattaKaatggttRgaMcagtatcWBttNtHagctaatctagaaNaaacaYBctatcgcVctBtgcaaagDgttVtgaHtactSNYtaaNccatgtgDacgaVtDcgKaRtacDcttgctaagggcagMDagggtBWRtttSgccttttttaacgtcHctaVtVDtagatcaNMaVtcVacatHctDWNaataRgcgtaVHaggtaaaaSgtttMtattDgBtctgatSgtRagagYtctSaKWaataMgattRKtaacatttYcgtaacacattRWtBtcggtaaatMtaaacBatttctKagtcDtttgcBtKYYBaKttctVttgttaDtgattttcttccacttgSaaacggaaaNDaattcYNNaWcgaaYattttMgcBtcatRtgtaaagatgaWtgaccaYBHgaatagataVVtHtttVgYBtMctaMtcctgaDcYttgtccaaaRNtacagcMctKaaaggatttacatgtttaaWSaYaKttBtagDacactagctMtttNaKtctttcNcSattNacttggaacaatDagtattRtgSHaataatgccVgacccgatactatccctgtRctttgagaSgatcatatcgDcagWaaHSgctYYWtatHttggttctttatVattatcgactaagtgtagcatVgtgHMtttgtttcgttaKattcMatttgtttWcaaStNatgtHcaaaDtaagBaKBtRgaBgDtSagtatMtaacYaatYtVcKatgtgcaacVaaaatactKcRgtaYtgtNgBBNcKtcttaccttKgaRaYcaNKtactttgagSBtgtRagaNgcaaaNcacagtVtttHWatgttaNatBgtttaatNgVtctgaatatcaRtattcttttttttRaaKcRStctcggDgKagattaMaaaKtcaHacttaataataKtaRgDtKVBttttcgtKaggHHcatgttagHggttNctcgtatKKagVagRaaaggaaBtNatttVKcRttaHctaHtcaaatgtaggHccaBataNaNaggttgcWaatctgatYcaaaHaatWtaVgaaBttagtaagaKKtaaaKtRHatMaDBtBctagcatWtatttgWttVaaaScMNattRactttgtYtttaaaagtaagtMtaMaSttMBtatgaBtttaKtgaatgagYgtNNacMtcNRacMMHcttWtgtRtctttaacaacattattcYaMagBaacYttMatcttKcRMtgMNccattaRttNatHaHNaSaaHMacacaVaatacaKaSttHatattMtVatWgattttttaYctttKttHgScWaacgHtttcaVaaMgaacagNatcgttaacaaaaagtacaHBNaattgttKtcttVttaaBtctgctacgBgcWtttcaggacacatMgacatcccagcggMgaVKaBattgacttaatgacacacaaaaaatRKaaBctacgtRaDcgtagcVBaacDSBHaaaaSacatatacagacRNatcttNaaVtaaaataHattagtaaaaSWccgtatWatggDttaactattgcccatcttHaSgYataBttBaactattBtcHtgatcaataSttaBtatKSHYttWggtcYtttBttaataccRgVatStaHaKagaatNtagRMNgtcttYaaSaactcagDSgagaaYtMttDtMRVgWKWtgMaKtKaDttttgactatacataatcNtatNaHattVagacgYgatatatttttgtStWaaatctWaMgagaRttRatacgStgattcttaagaDtaWccaaatRcagcagaaNKagtaaDggcgccBtYtagSBMtactaaataMataBSacRMgDgattMMgtcHtcaYDtRaDaacggttDaggcMtttatgttaNctaattaVacgaaMMtaatDccSgtattgaRtWWaccaccgagtactMcgVNgctDctaMScatagcgtcaactatacRacgHRttgctatttaatgaattataYKttgtaagWgtYttgcHgMtaMattWaWVtaRgcttgYgttBHtYataSccStBtgtagMgtDtggcVaaSBaatagDttgBgtctttctcattttaNagtHKtaMWcYactVcgcgtatMVtttRacVagDaatcttgctBBcRDgcaacKttgatSKtYtagBMagaRtcgBattHcBWcaactgatttaatttWDccatttatcgagSKaWttataHactaHMttaatHtggaHtHagaatgtKtaaRactgtttMatacgatcaagDgatKaDctataMggtHDtggHacctttRtatcttYattttgacttgaaSaataaatYcgBaaaaccgNatVBttMacHaKaataagtatKgtcaagactcttaHttcggaattgttDtctaaccHttttWaaatgaaatataaaWattccYDtKtaaaacggtgaggWVtctattagtgactattaagtMgtttaagcatttgSgaaatatccHaaggMaaaattttcWtatKctagDtYtMcctagagHcactttactatacaaacattaacttaHatcVMYattYgVgtMttaaRtgaaataaDatcaHgtHHatKcDYaatcttMtNcgatYatgSaMaNtcttKcWataScKggtatcttacgcttWaaagNatgMgHtctttNtaacVtgttcMaaRatccggggactcMtttaYMtcWRgNctgNccKatcttgYDcMgattNYaRagatHaaHgKctcataRDttacatBatccattgDWttatttaWgtcggagaaaaatacaatacSNtgggtttccttacSMaagBattacaMaNcactMttatgaRBacYcYtcaaaWtagctSaacttWgDMHgaggatgBVgcHaDtggaactttggtcNatNgtaKaBcccaNtaagttBaacagtatacDYttcctNgWgcgSMcacatStctHatgRcNcgtacacaatRttMggaNKKggataaaSaYcMVcMgtaMaHtgattYMatYcggtcttcctHtcDccgtgRatcattgcgccgatatMaaYaataaYSggatagcgcBtNtaaaScaKgttBgagVagttaKagagtatVaactaSacWactSaKatWccaKaaaatBKgaaKtDMattttgtaaatcRctMatcaaMagMttDgVatggMaaWgttcgaWatgaaatttgRtYtattaWHKcRgctacatKttctaccaaHttRatctaYattaaWatVNccatNgagtcKttKataStRaatatattcctRWatDctVagttYDgSBaatYgttttgtVaatttaatagcagMatRaacttBctattgtMagagattaaactaMatVtHtaaatctRgaaaaaaaatttWacaacaYccYDSaattMatgaccKtaBKWBattgtcaagcHKaagttMMtaatttcKcMagNaaKagattggMagaggtaatttYacatcWaaDgatMgKHacMacgcVaacaDtaDatatYggttBcgtatgWgaSatttgtagaHYRVacaRtctHaaRtatgaactaatatctSSBgggaaHMWtcaagatKgagtDaSatagttgattVRatNtctMtcSaagaSHaataNataataRaaRgattctttaataaagWaRHcYgcatgtWRcttgaaggaMcaataBRaaccagStaaacNtttcaatataYtaatatgHaDgcStcWttaacctaRgtYaRtataKtgMttttatgactaaaatttacYatcccRWtttHRtattaaatgtttatatttgttYaatMcaRcSVaaDatcgtaYMcatgtagacatgaaattgRtcaaYaaYtRBatKacttataccaNaaattVaBtctggacaagKaaYaaatatWtMtatcYaaVNtcgHaactBaagKcHgtctacaatWtaDtSgtaHcataHtactgataNctRgttMtDcDttatHtcgtacatcccaggSttaBgtcacacWtccNMcNatMVaVgtccDYStatMaccDatggYaRKaaagataRatttHKtSaaatDgataaacttaHgttgVBtcttVttHgDacgaKatgtatatNYataactctSatatatattgcHRRYttStggaactHgttttYtttaWtatMcttttctatctDtagVHYgMRBgtHttcctaatYRttKtaagatggaVRataKDctaMtKBNtMtHNtWtttYcVtattMcgRaacMcctNSctcatttaaagDcaHtYccSgatgcaatYaaaaDcttcgtaWtaattctcgttttScttggtaatctttYgtctaactKataHacctMctcttacHtKataacacagcNRatgKatttttSaaatRYcgDttaMRcgaaattactMtgcgtaagcgttatBtttttaattaagtNacatHgttcRgacKcBBtVgatKttcgaBaatactDRgtRtgaNacWtcacYttaaKcgttctHaKttaNaMgWgWaggtctRgaKgWttSttBtDcNtgtttacaaatYcDRtgVtgcctattcNtctaaaDMNttttNtggctgagaVctDaacVtWccaagtaacacaNctgaScattccDHcVBatcgatgtMtaatBgHaatDctMYgagaatgYWKcctaatNaStHaaaKccgHgcgtYaaYtattgtStgtgcaaRtattaKatattagaWVtcaMtBagttattagNaWHcVgcaattttDcMtgtaRHVYtHtctgtaaaaHVtMKacatcgNaatttMatatgttgttactagWYtaRacgataKagYNKcattataNaRtgaacKaYgcaaYYacaNccHatMatDcNgtHttRaWttagaaDcaaaaaatagggtKDtStaDaRtaVtHWKNtgtattVctSVgRgataDaRaWataBgaagaaKtaataaYgDcaStaNgtaDaaggtattHaRaWMYaYaWtggttHYgagVtgtgcttttcaaDKcagVcgttagacNaaWtagtaataDttctggttVcatcataaagtgKaaaNaMtaBBaattaatWaattgctHaVKaSgDaaVKaHtatatatHatcatSBagNgHtatcHYMHgttDgtaHtBttWatcgtttaRaattgStKgSKNWKatcagDtctcagatttctRtYtBatBgHHtKaWtgYBgacVVWaKtacKcDttKMaKaVcggtgttataagaataaHaatattagtataatMHgttYgaRttagtaRtcaaVatacggtcMcgagtaaRttacWgactKRYataaaagSattYaWgagatYagKagatgSaagKgttaatMggtataatgttWYttatgagaaacctNVataatHcccKtDctcctaatactggctHggaSaggRtKHaWaattcgSatMatttagaggcYtctaMcgctcataSatatgRagacNaaDaggaVBagaYttKtacNaKgtSYtagttggaWcatcWttaatctatgaVtcgtgtMtatcaYcgtRccaaYgDctgcMgtgtWgacWtgataacacgcgctBtgttaKtYDtatDcatcagKaVMctaatcttgVcaaRgcRMtDcgattaHttcaNatgaatMtactacVgtRgatggaWtttactaaKatgagSaaKggtaNtactVaYtaaKRagaacccacaMtaaMtKtatBcttgtaaWBtMctaataaVcDaaYtcRHBtcgttNtaaHatttBNgRStVDattBatVtaagttaYatVattaagaBcacggtSgtVtatttaRattgatgtaHDKgcaatattKtggcctatgaWDKRYcggattgRctatNgatacaatMNttctgtcRBYRaaaHctNYattcHtaWcaattctBtMKtVgYataatMgYtcagcttMDataVtggRtKtgaatgccNcRttcaMtRgattaacattRcagcctHtWMtgtDRagaKaBtgDttYaaaaKatKgatctVaaYaacWcgcatagBVtaNtRtYRaggBaaBtgKgttacataagagcatgtRattccacttaccatRaaatgWgDaMHaYVgVtaSctatcgKaatatattaDgacccYagtgtaYNaaatKcagtBRgagtccatgKgaaaccBgaagBtgSttWtacgatWHaYatcgatttRaaNRgcaNaKVacaNtDgattgHVaatcDaagcgtatgcNttaDataatcSataaKcaataaHWataBtttatBtcaKtKtatagttaDgSaYctacaRatNtaWctSaatatttYaKaKtaccWtatcRagacttaYttVcKgSDcgagaagatccHtaattctSttatggtKYgtMaHagVaBRatttctgtRgtctatgggtaHKgtHacHtSYacgtacacHatacKaaBaVaccaDtatcSaataaHaagagaatScagactataaRttagcaaVcaHataKgDacatWccccaagcaBgagWatctaYttgaaatctVNcYtttWagHcgcgcDcVaaatgttKcHtNtcaatagtgtNRaactttttcaatggWgBcgDtgVgtttctacMtaaataaaRggaaacWaHttaRtNtgctaaRRtVBctYtVtatDcattDtgaccYatagatYRKatNYKttNgcctagtaWtgaactaMVaacctgaStttctgaKVtaaVaRKDttVtVctaDNtataaaDtccccaagtWtcgatcactDgYaBcatcctMtVtacDaaBtYtMaKNatNtcaNacgDatYcatcgcaRatWBgaacWttKttagYtaattcggttgSWttttDWctttacYtatatWtcatDtMgtBttgRtVDggttaacYtacgtacatgaattgaaWcttMStaDgtatattgaDtcRBcattSgaaVBRgagccaaKtttcDgcgaSMtatgWattaKttWtgDBMaggBBttBaatWttRtgcNtHcgttttHtKtcWtagHStaacagttgatatBtaWSaWggtaataaMttaKacDaatactcBttcaatatHttcBaaSaaatYggtaRtatNtHcaatcaHtagVtgtattataNggaMtcttHtNagctaaaggtagaYctMattNaMVNtcKtactBKcaHHcBttaSagaKacataYgctaKaYgttYcgacWVttWtSagcaacatcccHaccKtcttaacgaKttcacKtNtacHtatatRtaaatacactaBtttgaHaRttggttWtatYagcatYDatcggagagcWBataagRtacctataRKgtBgatgaDatataSttagBaHtaatNtaDWcWtgtaattacagKttcNtMagtattaNgtctcgtcctcttBaHaKcKccgtRcaaYagSattaagtKataDatatatagtcDtaacaWHcaKttDgaaRcgtgYttgtcatatNtatttttatggccHtgDtYHtWgttatYaacaattcaWtatNgctcaaaSttRgctaatcaaatNatcgtttaBtNNVtgttataagcaaagattBacgtDatttNatttaaaDcBgtaSKgacgtagataatttcHMVNttgttBtDtgtaWKaaRMcKMtHtaVtagataWctccNNaSWtVaHatctcMgggDgtNHtDaDttatatVWttgttatttaacctttcacaaggaSaDcggttttttatatVtctgVtaacaStDVaKactaMtttaSNagtgaaattaNacttSKctattcctctaSagKcaVttaagNaVcttaVaaRNaHaaHttatgtHttgtgatMccaggtaDcgaccgtWgtWMtttaHcRtattgScctatttKtaaccaagtYagaHgtWcHaatgccKNRtttagtMYSgaDatctgtgaWDtccMNcgHgcaaacNDaaaRaStDWtcaaaaHKtaNBctagBtgtattaactaattttVctagaatggcWSatMacccttHttaSgSgtgMRcatRVKtatctgaaaccDNatYgaaVHNgatMgHRtacttaaaRtatStRtDtatDttYatattHggaBcttHgcgattgaKcKtttcRataMtcgaVttWacatNcatacctRataDDatVaWNcggttgaHtgtMacVtttaBHtgagVttMaataattatgttcttagtttgtgcDtSatttgBtcaacHattaaBagVWcgcaSYttMgcttacYKtVtatcaYaKctgBatgcgggcYcaaaaacgNtctagKBtattatctttKtaVttatagtaYtRagNtaYataaVtgaatatcHgcaaRataHtacacatgtaNtgtcgYatWMatttgaactacRctaWtWtatacaatctBatatgYtaagtatgtgtatSttactVatcttYtaBcKgRaSggRaaaaatgcagtaaaWgtaRgcgataatcBaataccgtatttttccatcNHtatWYgatHSaaaDHttgctgtccHtggggcctaataatttttctatattYWtcattBtgBRcVttaVMRSgctaatMagtYtttaaaaatBRtcBttcaaVtaacagctccSaaSttKNtHtKYcagcagaaaccccRtttttaaDcDtaStatccaagcgctHtatcttaDRYgatDHtWcaaaBcWgKWHttHataagHacgMNKttMKHccaYcatMVaacgttaKgYcaVaaBtacgcaactttMctaaHaatgtBatgagaSatgtatgSRgHgWaVWgataaatatttccKagVgataattWaHNcYggaaatgctHtKtaDtctaaagtMaatVDVactWtSaaWaaMtaHtaSKtcBRaNcttStggtBttacNagcatagRgtKtgcgaacaacBcgKaatgataagatgaaaattgtactgcgggtccHHWHaaNacaBttNKtKtcaaBatatgctaHNgtKcDWgtttatNgVDHgaccaacWctKaaggHttgaRgYaatHcaBacaatgagcaaattactgtaVaaYaDtagattgagNKggtggtgKtWKaatacagDRtatRaMRtgattDggtcaaYRtatttNtagaDtcacaaSDctDtataatcgtactaHttatacaatYaacaaHttHatHtgcgatRRttNgcatSVtacWWgaaggagtatVMaVaaattScDDKNcaYBYaDatHgtctatBagcaacaagaatgagaaRcataaKNaRtBDatcaaacgcattttttaaBtcSgtacaRggatgtMNaattggatatWtgagtattaaaVctgcaYMtatgatttttYgaHtgtcttaagWBttHttgtcttattDtcgtatWtataataSgctaHagcDVcNtaatcaagtaBDaWaDgtttagYctaNccDtaKtaHcttaataacccaRKtacaVaatNgcWRaMgaattatgaBaaagattVYaHMDcaDHtcRcgYtcttaaaWaaaVKgatacRtttRRKYgaatacaWVacVcRtatMacaBtactggMataaattttHggNagSctacHgtBagcgtcgtgattNtttgatSaaggMttctttcttNtYNagBtaaacaaatttMgaccttacataattgYtcgacBtVMctgStgMDtagtaRctHtatgttcatatVRNWataDKatWcgaaaaagttaaaagcacgHNacgtaatctttMRtgacttttDacctataaacgaaatatgattagaactccSYtaBctttaataacWgaaaYatagatgWttcatKtNgatttttcaagHtaYgaaRaDaagtaggagcttatVtagtctttcattaaaatcgKtattaRttacagVaDatgcatVgattgggtctttHVtagKaaRBtaHtaaggccccaaaaKatggtttaMWgtBtaaacttcactttKHtcgatctccctaYaBacMgtcttBaBaNgcgaaacaatctagtHccHtKttcRtRVttccVctttcatacYagMVtMcagaMaaacaataBctgYtaatRaaagattaaccatVRatHtaRagcgcaBcgDttStttttcVtttaDtKgcaaWaaaaatSccMcVatgtKgtaKgcgatatgtagtSaaaDttatacaaacatYaRRcVRHctKtcgacKttaaVctaDaatgttMggRcWaacttttHaDaKaDaBctgtaggcgtttaHBccatccattcNHtDaYtaataMttacggctNVaacDattgatattttacVttSaattacaaRtataNDgacVtgaacataVRttttaDtcaaacataYDBtttaatBaDtttYDaDaMccMttNBttatatgagaaMgaNtattHccNataattcaHagtgaaggDgatgtatatatgYatgaStcataaBStWacgtcccataRMaaDattggttaaattcMKtctMacaBSactcggaatDDgatDgcWctaacaccgggaVcacWKVacggtaNatatacctMtatgatagtgcaKagggVaDtgtaacttggagtcKatatcgMcttRaMagcattaBRaStctYSggaHYtacaactMBaagDcaBDRaaacMYacaHaattagcattaaaHgcgctaaggSccKtgaaKtNaBtatDDcKBSaVtgatVYaagVtctSgMctacgttaacWaaattctSgtDactaaStaaattgcagBBRVctaatatacctNttMcRggctttMttagacRaHcaBaacVKgaataHttttMgYgattcYaNRgttMgcVaaacaVVcDHaatttgKtMYgtatBtVVctWgVtatHtacaaHttcacgatagcagtaaNattBatatatttcVgaDagcggttMaagtcScHagaaatgcYNggcgtttttMtStggtRatctacttaaatVVtBacttHNttttaRcaaatcacagHgagagtMgatcSWaNRacagDtatactaaDKaSRtgattctccatSaaRttaaYctacacNtaRtaactggatgaccYtacactttaattaattgattYgttcagDtNKttagDttaaaaaaaBtttaaNaYWKMBaaaacVcBMtatWtgBatatgaacVtattMtYatMNYDKNcKgDttDaVtaaaatgggatttctgtaaatWtctcWgtVVagtcgRgacttcccctaDcacagcRcagagtgtWSatgtacatgttaaSttgtaaHcgatgggMagtgaacttatRtttaVcaccaWaMgtactaatSSaHtcMgaaYtatcgaaggYgggcgtgaNDtgttMNgaNDMtaattcgVttttaacatgVatgtWVMatatcaKgaaattcaBcctccWcttgaaWHtWgHtcgNWgaRgctcBgSgaattgcaaHtgattgtgNagtDttHHgBttaaWcaaWagcaSaHHtaaaVctRaaMagtaDaatHtDMtcVaWMtagSagcttHSattaacaaagtRacMtRtctgttagcMtcaBatVKtKtKacgagaSNatSactgtatatcBctgagVtYactgtaaattaaaggcYgDHgtaacatSRDatMMccHatKgttaacgactKtgKagtcttcaaHRVtccttKgtSataatttacaactggatDNgaacttcaRtVaagDcaWatcBctctHYatHaDaaatttagYatSatccaWtttagaaatVaacBatHcatcgtacaatatcgcNYRcaataYaRaYtgattVttgaatgaVaactcRcaNStgtgtattMtgaggtNttBaDRcgaaaagctNgBcWaWgtSaDcVtgVaatMKBtttcgtttctaaHctaaagYactgMtatBDtcStgaccgtSDattYaataHctgggaYYttcggttaWaatctggtRagWMaDagtaacBccactacgHWMKaatgatWatcctgHcaBaSctVtcMtgtDttacctaVgatYcWaDRaaaaRtagatcgaMagtggaRaWctctgMgcWttaagKBRtaaDaaWtctgtaagYMttactaHtaatcttcataacggcacBtSgcgttNHtgtHccatgttttaaagtatcgaKtMttVcataYBBaKtaMVaVgtattNDSataHcagtWMtaggtaSaaKgttgBtVtttgttatcatKcgHacacRtctHatNVagSBgatgHtgaRaSgttRcctaacaaattDNttgacctaaYtBgaaaatagttattactcttttgatgtNNtVtgtatMgtcttRttcatttgatgacacttcHSaaaccaWWDtWagtaRDDVNacVaRatgttBccttaatHtgtaaacStcVNtcacaSRttcYagacagaMMttttgMcNttBcgWBtactgVtaRttctccaaYHBtaaagaBattaYacgatttacatctgtaaMKaRYtttttactaaVatWgctBtttDVttctggcDaHaggDaagtcgaWcaagtagtWttHtgKtVataStccaMcWcaagataagatcactctHatgtcYgaKcatcagatactaagNSStHcctRRNtattgtccttagttagMVgtatagactaactctVcaatMctgtttgtgttgccttatWgtaBVtttctggMcaaKgDWtcgtaaYStgSactatttHgatctgKagtagBtVacRaagRtMctatgggcaaaKaaaatacttcHctaRtgtDcttDattaggaaatttcYHaRaaBttaatggcacKtgctHVcaDcaaaVDaaaVcgMttgtNagcgtaDWgtcgttaatDgKgagcSatatcSHtagtagttggtgtHaWtaHKtatagctgtVgattaBVaatgaataagtaatVatSttaHctttKtttgtagttaccttaatcgtagtcctgBcgactatttVcMacHaaaggaatgDatggKtaHtgStatattaaSagctWcctccRtataBaDYcgttgcNaagaggatRaaaYtaWgNtSMcaatttactaacatttaaWttHtatBattgtcgacaatNgattgcNgtMaaaKaBDattHacttggtRtttaYaacgVactBtaBaKtgBttatgVttgtVttcaatcWcNctDBaaBgaDHacBttattNtgtDtatttVSaaacaggatgcRatSgtaSaNtgBatagttcHBgcBBaaattaHgtDattatDaKaatBaaYaaMaataaataKtttYtagtBgMatNcatgtttgaNagtgttgtgKaNaSagtttgaSMaYBcaaaacDStagttVacaaaaactaaWttBaagtctgtgcgtMgtaattctcctacctcaNtttaaccaaaaVtBcacataacaccccBcWMtatVtggaatgaWtcaaWaaaaaaaaWtDtaatatRcctDWtcctaccMtVVatKttaWaaKaaatataaagScHBagaggBaSMtaWaVtatattactSaaaKNaactatNatccttgaYctattcaaaVgatttYHcRagattttaSataggttattcVtaaagaKgtattattKtRttNcggcRgtgtgtWYtaacHgKatKgatYtacYagDtWcHBDctctgRaYKaYagcactKcacSaRtBttttBHKcMtNtcBatttatttttgSatVgaaagaWtcDtagDatatgMacaacRgatatatgtttgtKtNRaatatNatgYcaHtgHataacKtgagtagtaacYttaNccaaatHcacaacaVDtagtaYtccagcattNtacKtBtactaaagaBatVtKaaHBctgStgtBgtatgaSNtgDataaccctgtagcaBgtgatcttaDataStgaMaccaSBBgWagtacKcgattgaDgNNaaaacacagtSatBacKDgcgtataBKcatacactaSaatYtYcDaactHttcatRtttaatcaattataRtttgtaagMcgNttcatcBtYBagtNWNMtSHcattcRctttttRWgaKacKttgggagBcgttcgcMaWHtaatactgtctctatttataVgtttaBScttttaBMaNaatMacactYtBMggtHacMagtaRtctgcatttaHtcaaaatttgagKtgNtactBacaHtcgtatttctMaSRagcagttaatgtNtaaattgagagWcKtaNttagVtacgatttgaatttcgRtgtWcVatcgttaaDVctgtttBWgaccagaaagtcSgtVtatagaBccttttcctaaattgHtatcggRattttcaaggcYSKaagWaWtRactaaaacccBatMtttBaatYtaagaactSttcgaaScaatagtattgaccaagtgttttctaacatgtttNVaatcaaagagaaaNattaaRttttaVaaaccgcaggNMtatattVctcaagaggaacgBgtttaacaagttcKcYaatatactaaccBaaaSggttcNtattctagttRtBacgScVctcaatttaatYtaaaaaaatgSaatgatagaMBRatgRcMcgttgaWHtcaVYgaatYtaatctttYttatRaWtctgBtDcgatNatcKaBaDgatgtaNatWKctccgatattaacattNaaacDatgBgttctgtDtaaaMggtgaBaSHataacgccSctaBtttaRBtcNHcDatcDcctagagtcRtaBgWttDRVHagattYatgtatcWtaHtttYcattWtaaagtctNgtStggRNcgcggagSSaaagaaaatYcHDtcgctttaatgYcKBVSgtattRaYBaDaaatBgtatgaHtaaRaRgcaSWNtagatHaacttNctBtcaccatctMcatattccaSatttgcgaDagDgtatYtaaaVDtaagtttWVaagtagYatRttaagDcNgacKBcScagHtattatcDaDactaaaaaYgHttBcgaDttggataaaKSRcBMaBcgaBSttcWtgNBatRaccgattcatttataacggHVtaattcacaagagVttaaRaatVVRKcgWtVgacctgDgYaaHaWtctttcacMagggatVgactagMaaataKaaNWagKatagNaaWtaaaatttgaattttatttgctaaVgaHatBatcaaBWcBgttcMatcgBaaNgttcgSNaggSaRtttgHtRtattaNttcDcatSaVttttcgaaaaattgHatctaRaggSaNatMDaaatDcacgattttagaHgHaWtYgattaatHNSttatMSgggNtcKtYatRggtttgtMWVtttaYtagcagBagHaYagttatatggtBacYcattaRSataBatMtttaaatctHcaaaSaaaagttNSaaWcWRccRtKaagtBWtcaaattSttMtattggaaaccttaacgttBtWatttatatWcDaatagattcctScacctaagggRaaYtaNaatgVtBcttaaBaacaMVaaattatStYgRcctgtactatcMcVKatttcgSgatRHMaaaHtagtaaHtVgcaaataatatcgKKtgccaatBNgaaWcVttgagttaKatagttcaggKDatDtattgaKaVcaKtaataDataataHSaHcattagttaatRVYcNaHtaRcaaggtNHcgtcaaccaBaaagYtHWaaaRcKgaYaaDttgcWYtataRgaatatgtYtgcKtaNttWacatYHctRaDtYtattcBttttatcSataYaYgttWaRagcacHMgtttHtYttYaatcggtatStttcgtRSattaaDaKMaatatactaNBaWgctacacYtgaYVgtgHtaaaRaaRgHtagtWattataaaSDaaWtgMattatcgaaaagtaYRSaWtSgNtBgagcRYaMDtactaacttaWgtatctagacaagNtattHggataatYttYatcataDcgHgttBttctttVttgccgaaWtaaaacgKgtatctaaaaaNtccDtaDatBMaMggaatNKtatBaaatVtccRaHtaSacataHattgtttKVYattcataVaattWtcgtgMttcttKtgtctaacVtatctatatBRataactcgKatStatattcatHHRttKtccaacgtgggtgRgtgaMtattattggctatcgtgacMtRcBDtcttgtactaatRHttttaagatcgVMDStattatYBtttDttgtBtNttgRcMtYtgBacHaWaBaatDKctaagtgaaactaatgRaaKgatccaagNaaaatattaggWNtaagtatacttttKcgtcggSYtcttgRctataYcttatataaagtatattaatttataVaacacaDHatctatttttKYVatHRactttaBHccaWagtactBtcacgaVgcgttRtttttttSVgtSagtBaaattctgaHgactcttgMcattttagVtaagaattHctHtcaDaaNtaacRggWatagttcgtSttgaDatcNgNagctagDgatcNttKgttgtaDtctttRaaYStRatDtgMggactSttaDtagSaVtBDttgtDgccatcacaMattaaaMtNacaVcgSWcVaaDatcaHaatgaattaMtatccVtctBtaattgtWattatBRcWcaatgNNtactWYtDaKttaaatcactcagtRaaRgatggtKgcgccaaHgaggatStattYcaNMtcaBttacttatgagDaNtaMgaaWtgtttcttctaHtMNgttatctaWWatMtBtaaatagDVatgtBYtatcggcttaagacMRtaHScgatatYgRDtcattatSDaHggaaataNgaWSRRaaaBaatagBattaDctttgHWNttacaataaaaaaatacggtttgHgVtaHtWMttNtBtctagtMcgKMgHgYtataHaNagWtcaacYattaataYRgtaWKgaBctataaccgatttaHaNBRaRaMtccggtNgacMtctcatttgcaattcWgMacttacaaDaaNtactWatVtttagccttMaatcagVaagtctVaaDaBtattaattaYtNaYtggattaKtaKctYaMtattYgatattataatKtVgDcttatatNBtcgttgtStttttMagaggttaHYSttcKgtcKtDNtataagttataagSgttatDtRttattgttttSNggRtcaaKMNatgaatattgtBWtaMacctgggYgaSgaagYataagattacgagaatBtggtRcVHtgYggaDgaYaKagWagctatagacgaaHgtWaNgacttHRatVaWacKYtgRVNgVcSgRWctacatcKSactctgWYtBggtataagcttNRttVtgRcaWaaatDMatYattaactttcgaagRatSctgccttgcRKaccHtttSNVagtagHagBagttagaccaRtataBccataatSHatRtcHagacBWatagcaMtacaRtgtgaaBatctKRtScttccaNaatcNgtaatatWtcaMgactctBtWtaaNactHaaaaRctcgcatggctMcaaNtcagaaaaacacagtggggWttRttagtaagaVctVMtcgaatcttcMaaaHcaHBttcgattatgtcaDagcYRtBtYcgacMgtDcagcgaNgttaataatagcagKYYtcgtaBtYctMaRtaRtDagaaaacacatgYaBttgattattcgaaNttBctSataaMataWRgaHtttccgtDgaYtatggtDgHKgMtatttVtMtVagttaRatMattRagataaccctKctMtSttgaHagtcStctatttccSagatgttccacgaggYNttHRacgattcDatatDcataaaatBBttatcgaHtNHaaatatDNaggctgaNcaaggagttBttMgRagVatBcRtaWgatgBtSgaKtcgHtttgaatcaaDaHttcSBgHcagtVaaSttDcagccgttNBtgttHagYtattctttRWaaVtSttcatatKaaRaaaNacaVtVctMtSDtDtRHRcgtaatgctcttaaatSacacaatcgHattcaWcttaaaatHaaatcNctWttaNMcMtaKctVtcctaagYgatgatcYaaaRactctaRDaYagtaacgtDgaggaaatctcaaacatcaScttcKttNtaccatNtaNatacatttHaaDHgcaDatMWaaBttcRggctMaagctVYcacgatcaDttatYtaatcKatWatcaatVYtNagatttgattgaYttttYgacttVtcKaRagaaaHVgDtaMatKYagagttNatWttaccNtYtcDWgSatgaRgtMatgKtcgacaagWtacttaagtcgKtgatccttNcttatagMatHVggtagcgHctatagccctYttggtaattKNaacgaaYatatVctaataMaaaYtgVtcKaYtaataacagaatHcacVagatYWHttagaaSMaatWtYtgtaaagNaaacaVgaWtcacNWgataNttcaSagctMDaRttgNactaccgataMaaatgtttattDtcaagacgctDHYYatggttcaagccNctccttcMctttagacBtaaWtaWVHggaaaaNatttaDtDtgctaaHHtMtatNtMtagtcatttgcaaaRatacagRHtatDNtgtDgaatVgtVNtcaaatYBMaaaagcaKgtgatgatMgWWMaHttttMgMagatDtataaattaaccaactMtacataaattgRataatacgBtKtaataattRgtatDagDtcRDacctatRcagagcSHatNtcaScNtttggacNtaaggaccgtgKNttgttNcttgaaRgYgRtNtcagttBcttttcHtKtgcttYaaNgYagtaaatgaatggWaMattBHtatctatSgtcYtgcHtaattHgaaMtHcagaaSatggtatgccaHBtYtcNattWtgtNgctttaggtttgtWatNtgHtgcDttactttttttgcNtactKtWRaVcttcatagtgSNKaNccgaataaBttataataYtSagctttaaatSttggctaaKSaatRccgWHgagDttaaatcatgagMtcgagtVtaDggaBtatttgDacataaacgtagYRagBWtgDStKDgatgaagttcattatttaKWcataaatWRgatataRgttRacaaNKttNtKagaaYaStaactScattattaacgatttaaatgDtaattagatHgaYataaactatggggatVHtgccgtNgatNYcaStRtagaccacWcaMtatRagHgVactYtWHtcttcatgatWgagaKggagtatgaWtDtVtNaNtcgYYgtaaactttaDtBactagtaDctatagtaatatttatatataacgHaaaRagKattSagttYtStagagagacgatgaaaattaatcgtcaatacgctggcgaacactgagggggacccaatgctcttctcggtctaaaaaggaatgtgtcagaaattggtcagttcaaaagtagaccggatctttgcggagaacaattcacggaacgtagcgttgggaaatatcctttctaccacacatcggattttcgccctctcccattatttattgtgttctcacatagaattattgtttagacatccctcgttgtatggagagttgcccgagcgtaaaggcataatccatataccgccgggtgagtgacctgaaattgtttttagttgggatttcgctatggattagcttacacgaagagattctaatggtactataggataattataatgctgcgtggcgcagtacaccgttacaaacgtcgttcgcatatgtggctaacacggtgaaaatacctacatcgtatttgcaatttcggtcgtttcatagagcgcattgaattactcaaaaattatatatgttgattatttgattagactgcgtggaaagaaggggtactcaagccatttgtaaaagctgcatctcgcttaagtttgagagcttacattagtctatttcagtcttctaggaaatgtctgtgtgagtggttgtcgtccataggtcactggcatatgcgattcatgacatgctaaactaagaaagtagattactattaccggcatgcctaatgcgattgcactgctatgaaggtgcggacgtcgcgcccatgtagccctgataataccaatacttacatttggtcagcaattctgacattatacctagcacccataaatttactcagacttgaggacaggctcttggagtcgatcttctgtttgtatgcatgtgatcatatagatgaataagcgatgcgactagttagggcatagtatagatctgtgtatacagttcagctgaacgtccgcgagtggaagtacagctgagatctatcctaaaatgcaaccatatcgttcacacatgatatgaacccagggggaaacattgagttcagttaaattggcagcgaatcccccaagaagaaggcggagtgacgttgaacgggcttatggtttttcagtacttcctccgtataagttgagcgaaatgtaaacagaataatcgttgtgttaacaacattaaaatcgcggaatatgatgagaatacacagtgtgagcatttcacttgtaaaatatctttggtagaacttactttgctttaaatatgttaaaccgatctaataatctacaaaacggtagattttgcctagcacattgcgtccttctctattcagatagaggcaatactcagaaggttttatccaaagcactgtgttgactaacctaagttttagtctaataatcatgattgattataggtgccgtggactacatgactcgtccacaaataatacttagcagatcagcaattggccaagcacccgacttttatttaatggttgtgcaatagtccagattcgtattcgggactctttcaaataatagtttcctggcatctaagtaagaaaagctcataaggaagcgatattatgacacgctcttccgccgctgttttgaaacttgagtattgctcgtccgaaattgagggtcacttcaaaatttactgagaagacgaagatcgactaaagttaaaatgctagtccacagttggtcaagttgaattcatccacgagttatatagctattttaatttatagtcgagtgtacaaaaaacatccacaataagatttatcttagaataacaacccccgtatcatcgaaatcctccgttatggcctgactcctcgagcttatagcatttgtgctggcgctcttgccaggaacttgctcgcgaggtggtgacgagtgagatgatcagtttcattatgatgatacgattttatcgcgactagttaatcatcatagcaagtaaaatttgaattatgtcattatcatgctccattaacaggttatttaattgatactgacgaaattttttcacaatgggttttctagaatttaatatcagtaattgaagccttcataggggtcctactagtatcctacacgacgcaggtccgcagtatcctggagggacgtgttactgattaaaagggtcaaaggaatgaaggctcacaatgttacctgcttcaccatagtgagccgatgagttttacattagtactaaatcccaaatcatactttacgatgaggcttgctagcgctaaagagaatacatacaccaccacatagaattgttagcgatgatatcaaatagactcctggaagtgtcagggggaaactgttcaatatttcgtccacaggactgaccaggcatggaaaagactgacgttggaaactataccatctcacgcccgacgcttcactaattgatgatccaaaaaatatagcccggattcctgattagcaaagggttcacagagaaagatattatcgacgtatatcccaaaaaacagacgtaatgtgcatcttcgaatcgggatgaatacttgtatcataaaaatgtgacctctagtatacaggttaatgttagtgatacacaatactcgtgggccatgggttctcaaataaaatgtaatattgcgtcgatcactcacccacgtatttggtctaattatgttttatttagtgacaatccaatagataaccggtcctattaagggctatatttttagcgaccacgcgtttaaacaaaggattgtatgtagatggtaccagtttaattgccagtgggcaatcctaagcaaaatgagattctatcctaaagtttgggcttgatataagatttcggatgtatgggttttataatcgttggagagctcaatcatgagctaatacatggatttcgctacctcaccgagagaccttgcatgaagaattctaaccaaaagtttaataggccggattggattgagttaattaagaccttgttcagtcatagtaaaaacccttaaattttaccgattgacaaagtgagcagtcgcaataccctatgcgaaacgcctcgatagtgactaggtatacaaggtttttgagttcctttgaaatagttaactaatttaaaattaattaacgacatggaaatcacagaacctaatgctttgtaggagttatttatgctgtttactgcctctacaaccctaataaagcagtcctaagaatgaaacgcatcttttagttcagaaagtggtatccagggtggtcaatttaataaattcaacatcgggtctcaggatattcggtcatataatttattaagggctcttcgagtcttactctgagtgaaattggaaacagtcatccttttcgttgtgaggcatcttacaccgctatcgatatacaatgcattccaccgcggtgtcccgtacacaaggaaacttgttaccttggggatataagaaaactcacacgtctcattattaaactgagtacaatttttgcacgagaaagtaatgcaatacaatatgatgaaagccagctaatgaaaagggatggaacgcacctcggatctgttgcactggattaaaatccgattatttttaaaaatattcagtgctagagcatatcaggtctacttttttatctggtatgtaaagcccacggagcgatagtgagatccttacgactcaacgaaaagttataacataactcccgttagccaaagcccaatcccgattactgccctaccctaacgtctgccatctaaatatcgaacttgttatgatcaatgtgactacctcccaccctttccccttcatttgttccactggggataagctagcgttttcagaatcaatgcaataagaatagccaattgtctcacttcatcagagctcttggcaattccaggcgctacgtggttctggaatatattcatttttcaaatagtaatacgtttagtgttgctattgtctacacgtttggatattacgttatgtgagcggacatcaatagttgtctaactctttagtaagccagagatagcactcttagcgaatggataccatcttccataagtttagttaatagtccgaaacaactgcttcgagcatatttgaacctccttgtaggcaaatagcctcttcaaagcaatcttactaatagatagagtttgttttaagggactactagaaatgggacaatcttaatagtatgacctaaactgacatttaaagatatatccaggtggcaagcataaagatcattgcgccacctccaccgtgggattacttatcagtcgatatcctatatgctaagtttgcgacggcagaatacaaactaagctgagttgatgctaaccttacctatgataccccattggaccggttaacagccctacttattccaaataaaagaacttttatgctgtagaagctattatagtgatgcctggtaacttcagtatattaaaatgacacacatacgccatatagagctcctggaactttgaataatgagcgaacttcgaagttgaagagcaagaaaccatatgtcacggttgcctaaagcccggtaaccagacatgtgctatcattgatcattatcgaggttttcataaccttgacccattatcggctgtgcgcggacaagtacttaaatcactagtttcttcacctgcttatcggtaagaaataaggttggcaaagaatcgcataagacggacgtagagccgcagcgttgtgcgagtccaggtgcatgcgcagcaataggattttaaattttgttccatttttaatttagccgtaaggatgtccgtaaatgattgaaaattggattcaatctttgggcctatgctactggaacctgatcgacaaaatttcaaacatacgttaactccgaaagaccgtatttttgcggctagaatagtcagtcgcttggagccatataccttaccacttaaacgacgtgctcctgtagttgaaatataaacagaacacaaagactaccgatcatatcaactgaagatctttgtaactttgaggcgaagcaccctcttcgagacaactaagagtaaagtaccgggcgccgcaaggagtcgattgggaccctaaatcttgacgaattgctaagaggctcagagctaccactgtaatttctctagagcccataataaatgaacgatacatccgtaggtagcacctaagggattataatggaagccaaatgcagttaataatattatatactggcgtacacgattcgacggatctctcacatagtgattcacgacccccccctttgattgacacagcgtcagcattttgcaagaacgatcttctgcatagggtgcgccaccgtaaggatgacgtcgaagctacaactgggtataatttaccatgcttccctgatgctgagtgcaatacactaagaatgagtttttaccccatatcaccagtatttgttctgttattgcgaagaaatggctatgctgagttggcgactaaagtcacccatcctttttattaggtaaccccctcccttaaactaactgatttgctggagctgccctgcatacatatactttatcatttatggacgtccgtgacgcttattatccaccatagtcgatatgctacacggattcattaatggatcgtaggagtttaagttatatttactaagatcggtctcggctactatcccgccttacccggcgctatttacggccatttttaatatattgacggtaattattcctatggtttcgaccgcacgtccttggacaagaaagaatggcaaaaaaaatgtaaaagaaaaaaaatattgagtccctaccatcatataaaaaatatgtgatgagtaacttgacgaaatgttagtggttattaaagactatctattacaccttttgttttctgtcgtagtatattaaagtctagaagccttacaggaaaatcagggttatacagccgatactccgcagcatgaatcatcgaggaggtgtcctaccatcgcgccttgtaatcttgtctgtgtatactgtatttagaccttttatacaaagtaaatatctcggctttatgtgattgggaggggcctactcaaacatgatgacttgacctaataatcactgtgcgggcgtcttatgactagctattccttgaaatccaccaccaaatggttaatatgtaaaaactttgacgatgaaacaaggtgaatgtgtagttactttgtgtaattagctgcgtcgagcattgcttgtaaaaccgtcaatcgcacacgttacttccataaaatttctacgaatacacccttcttaaaaaaaacgtaggaattcacgagtttaacaaacgataactgtataaagtggaagtccgaagaaagcagatgcccgaactactcgaagatgtttcgttttcttaaccataggggcttcttaatggcccactacgcacattttgttcaagcccgagagggacatccccattacgggagtattactaaaactgttccgtaatacgttcagcaagggatgaaaaaggccactgctcaagttattgacgtgggagtattacatcggaagcctgaatcccacactatgatggtctgtacaggcctagggactgcgtctagacggtattaccggcttctaatcatacgatcgtgagtcttaacgggaagtaaggctcacacctaccccaaaccatttatctatgtaagtataaaattgtgcgtaagtgttcaaagtggacaataaagacgtggcaaaaacccccgcacataagccgctttagatttcacaaataccaatgcggttaaaaacatccttgagtcgtacatacaccatactcgcgttaaacggatataacagaagataataaatccggatgtggagtcggtgtaactatagaaagccaagtgaaataatgcttaccagtcatttagctatacggctttcatttcatgtcaagagggtggagtttgacctgtacagttgatatatcaccgatacttagaactcacctaaagctaaaattgctcgcagcgtgtaatccgcatattacaaacaatagatgggattcattatacataagacacgatgatctgctttttcaggttgcgagatgttgcctatcgtcaatcgagtcctgccttacaccacttaaacaaaagtattgacagggaacctattttcgaggtattatatagtccagcttgaatatcaatttgacagttaacctagtgaaaatcagtaagaggaaatacgccacattctccagtgaaattctacgggttatcgtctagtccaactatcaattataactcacgagatataagtaaattctcgtacttggcctgatttttattatactttggatccttagtaaacaggaagggagaaaccttcaacgaaaaacactggattttgttttactctcaaagctcttatatgacggaaataccctgtcaagtcttaactttattactagactaatgaaatgggcttggggtggccagaatcatagtacaatttagcggatacactattcggactttcctatcggctgtctggttggataagtatggggactaataggctagacatacctatacttaaactatacaggcgtcatctatctctgcaactttggagttccctgatgttctcccgccctttgggttcacatcttctataccgacacccctaataacgattagtttgtgggttagagtaaattaatacggttaatattaatgtatcgttgaaaagctggtgtcgccaataaggtaaccggctaggcagagtatatgtcacgaagtataactaccctaatgataagctgtaggaataaaattaatgctgtctctaagcgaagagatatttccgactctgttttaatgacgaatctcattacttctgacttgcaaatgttcaatatggcacggtttcacggcacctttgtgacgcatataatgaacttagaagattataacgacggaactttatatgataatccgttacgattaaagaatctgttaaatatcataatggcattcagttctagaccgtgcatcatggtaaacttactttctctgcatggcgacatacatttcgctattcaaattcgcgtgtggttacacccactcgcacctttggaatattaagagaagatgatcagaaaatccattcgctcaatttttctgacgtacgtctaatttatcctaggagacaaatcgttttatgtctctcacatttttgaagaaaggttcgagagacaatactcaggtcctgaactgctagaagatactcggtggagcgtggcaacaatgaaaaactcgtgacataaatgaatgatacttttccaagttcagttaagtgaatatgtttaacatacccggcttttcgatcttaagctgacgctggacgtgcgagtaatgtcagtctcttacatacactagtgactccaagtttcgtcaaaaacgccccctcccttctcgagcccactcacgctatgtattgacgcgaacttgttcgggatcagacttttcaggagttcggtcgcgtgtccctatgtgctaatatataagttagatcgcattagatgctaatctgaatacttatagacgaccttcaacgagaacgggtaccaccttgaggctagagttaggtgtgaaacgacaggtagggacatataaaatttgagtgcggctttagttaagggtttaattacctactcaaacatcacgctcgcgcccttcgtacgtaatcgaccatctagaggctaaggggactgtactaggtagtgattaatgatatcctagacgcacgtgccttagatcttcagactctgatggtccgcgatcaccgtaattgtagtcctccaactcgatcactttgttggcgtcaaagaaattacgatatctaaatacttataatacaataaccaaggatgagaatgactcatcgcgttggagttatattgcttgaagttctatggaatgaaagcacgttatctgccgtcccaatatctccagtgagctaattcattggacggtccactttgatcaatccccgaggagatgttcggacactttagtctgtaacacttagcgttgagaccacgaacaattgattactcagtcttgaaggtgttttccaaagttcattttaaataagactacgataggcctttcctattgatataaactacccggctctgttgttcgtgtgagtcgtacttctctgtgtttttctgattatagcaagattcgattcttagtgtaaacagcgatttttatttgacccgtcaatgagaagcgcataggatctaagcaaaattatcaagttgtgccacaaggtaagatctttccagttattgcaggtaggatgtatcccacgttgatagtatgaggtctgacgtcaactgtctaggagagttgaccgcgtgcgggtacaccggatttgcatcgatgttgagaacgcagaactcccactgtcgtggcggcgttcctgatatttagcaagaggcgttgataaagccctcatcatctagatctcgacctcatctgccctcttgctccatcattttctacacagactactttcctatctacgttagtataattgctttctatcttagtatcatttagagcttctccgtcaacaggttcgtgctattaaagttagtacgaaagggacaacttgtagcaacgcatttaatcggttttcgactacttcgcacaaaatcagataaagaagtttgtcattctattagacattgaattgcgcaattgacttgtaccacttatgatcgaacactgaatcaagactgtgattaactaaaatagacaagccactatatcaactaataaaaacgcccctggtggtcgaacatagttgactacaggataattaattggactggagccattacattctctacaatcgtatcacttcccaagtagacaactttgaccttgtagtttcatgtacaaaaaaatgctttcgcaggagcacattggtagttcaatagtttcatgggaacctcttgagccgtcttctgtgggtgtgttcggatagtaggtactgataaagtcgtgtcgctttcgatgagagggaattcaccggaaaacaccttggttaacaggatagtctatgtaaacttcgagacatgtttaagagttaccagcttaatccacggtgctctactagtatcatcagctgtcttgcctcgcctagaaatatgcattctatcgttatcctatcaacggttgccgtactgagcagccttattgtggaagagtaatatataaatgtagtcttgtctttacgaagcagacgtaagtaataatgacttggaataccaaaactaaacatagtggattatcatactcaagaactctccagataaataacagtttttacgatacgtcaccaatgagcttaaagattaggatcctcaaaactgatacaaacgctaattcatttgttattggatccagtatcagttaaactgaatggagtgaagattgtagaatgttgttctggcctcgcatggggtctaggtgatatacaatttctcatacttacacggtagtggaaatctgattctagcttcgtagctgactatactcaaggaaccactgctcaaggtaggagactagttccgaccctacagtcaaagtggccgaagcttaaactatagactagttgttaaatgctgatttcaagatatcatctatatacagtttggacaattatgtgtgcgaaactaaaattcatgctattcagatggatttcacttatgccttagaaacagatattgcccgagctcaatcaacagttttagccggaaacaatcgaagcatagggacaatgtatcttttcctaaattgccatgtgcagatttctgagtgtcacgaagcgcataatagaatcttgtgttgcctcaactcgttgaaaagtttaaaacaatcgcagcagtctttttggggtctactgtgtgtttgcaaaataactgaaagaaacgcttgaacaactctgaagtagctcgagtactcattaaagtgtaacacattagtgaatatcggccaatgaaccaaacgcttcccggtacgctatctctctcatcgggaggcgatgtgcaggttatctacgaaagcatccctttacgttgagagtgtcgatgcatgaacctcattgtaacaatagcccagcaaattctcatacgtgcctcagggtccgggcgtactcctccatggaagggcgcgcatctagtgttataccaactcgctttttaactactatgctgtagttctacaggcatagtggccagtattttctaacttctctggatagatgctctcactcctcatccatcacggcttcagtttacgtcttacttgcttgttcagcaacggatggaggcattaagtatcttcactgttccctaaaattgctgttcaatatcaaagtaaggacgatacagggaaagctcaagcacactcattgaatactgccccagttgcaacctcacttaatctgacaaaaataatgactactctaagtgttgcggaagcagtctcttccacgagcttgtctgtatcacttcgtataggcatgtaactcgatagacacgaacaccgagtgagaaactatattcttgcttccgtgtgtgtgacaccaggtaattgatgcggatataagctggagatcactcacgcccacacaaggcgctgctacctctttattccaatgtgtaagaatttgctaacttcatttctagaccgcagctttgcggtcataatttcacggtacggacccttgggttagagacttgataacacacttcgcagtttccaccgcgcacatgttttagtggcttctaacatagaatttttgttgtgacataaagagtgcgtgggagacttgcccgaccgttaagccataatcaattgaaagccccgtgagtcacatctaattggttgtactgcgcatttagctatcctttagctgactcgaagagattcgattcctaatataggttaattagatggctgccgcgcgaagtaaaacgtgaaaaacgtagtgcgcagatctgcataactcgcgcttaattacttatgagtagttccaagttcgctacgttatgagagagattggaattaagcaaatatgttttatggtgattttgggatgagaaggactgctaagtacggctactaaacaaatttctaaaaccgccatctaccttatcttggagacatttaagttgtatatgtcactagtctagcttttgtctgtgggacgcgttctcggaatgagggaaatgcaagagccgattcatcaaatgcttatctaagaaagtagtggactattacaccaagcacgaatgccagggaactgctttcttgctcaggacctcgcgacaaggtaccccgcataagtcctagaattacatttggtcagcaatgctgacatttgaccgtgaaaacataattttaatcagaaggcagctcacccgcttgctctagatcttatctttgtatgaatgtcagaatttactgcaatatccgttccgaatagtgagggcttagtatagttctctgtatacaggtcacatcaaactccccctgtcctagtacagctctgagctttaattaattgcatacatttccttcaatcatcagatgaaaacaccgcgaatcatgctcttctcgtatagggcaagagaagcaacaaacaactagcccgactcacgttcatccgccgtatccttgttcagttcttactccgtattaggtcagcgaaatctaatcagaataatcggtcgcgtatcaaaattaaaatcccgcttgaggttgacaattaaaacgctgagcagttatcggctattagatagtggggtgaaagtaattggctggaattatgttaaaacgtgatattaagctaaaatacgctacttgttgccgacctaattcagtcattcgatattcagttagagccaagaataacaagcttgtataaattgaacggggtgcactaaacgatgtgttactctaatattcagcttggagtatacctgaaggcgaattcatgtatcggccaataataagacgttgaagatcacaatttggactagcaaaagaaggtgatttatgcgtggggattgagtccactgtacgagtacggtctctggaaaattataggttcagggaatataaggaagtaaagataattaccaagagatttttggtatcgctatgacccagaggtgttctaacgtctgttttgatccgcagaatttctgcctcaatgcatatttgacggacttgaactagagcctctaaagttaaatggcgacgcaactgttcctaaacttcaattattactactctttttttcctagggtattgtagaggccagtggacaaaataaatcaaatttaagatgtttcggacattaacatcccccgtagcatagaaatcatcagttatccaatctctcatcgagcttttacaatttctgctggcgctatggacagcatatgccgcgagacctccgcaagactcacttgatcactgtaagtatcttcattagaggttagagcctatagttaagctgctgacctagtaaaattggtattttctaattttattgctcaagttaaaggttagtgaagggataatgacgttatttttgaacaatgggttgtattcaattttatatcacgaatggaacccttcattcccggcataatactagacgacacgaacaagctccgatctatcagccaggcacgtgttaaggtttaattccggcaaaccaatgaagcatcaaaaggtgacctgatgcaacttagggtcacgatgagtttttcaggactacttattacctattaataagttaacatgagccttcataccccgtaagacaatacatactccaccaattagaattctgagccatcttatctttttgtatcatcgaagggtatggccgaataggttaattagttactcctaacgtctctacaggcatgcatttgacgcaccttcgaaaatagtcaatctctcgccacacgcgtctagtatgcagcatcaaaaatatagtccacggtttccggattaccaaacgcggcaaagagaaacattgtatcgacggagataacttaatacagaaggaaggggcatcttcgaatacggatgaataattctatctgtttattctgacatcttgttttcaggttaatcttacgcattcaaatgacgcctgccccatgcgtgcgcaattattttctaatattgacgagagcaatctcactccttttgggtctatttatgttttattgaggcacaagcctatacagaacaggtactattaaggccgtgagtgtgagactcaaaccgtggaaacaaaggatgggttgttcttggtacaagttttagtgcatgtgggcaatccttaccaaaatcagatgctatccttaactttgggctgcatttaagatggcggttggaggcctgtgagaatcctgcgtgtcatctttaatgaccgaattcatccatgtagattcagatcacacactcattccttgatgttgtctaaacaaaagttgttgtggacgcattggagggagttaagtaacaacttgggatcgcatacttataaaaattatatgttaaactttcacaaacgctgaagtccaaagtaactagcccaaacgcctcgagagtcactaggtattaatggtgtttgagttcctgtgaaatagtgttcgaaggtaaaatttatgtaccaaatcgaaagaacacttaataaggcttgcttgcacggaggtatgatgtttactgactctacaaccctaattttccagtacgtacattcattccaataggttagttctcaaagtgctatacaggctcctcaattgatgatatgcttcagccgctctatggatattagctcattttatttaggaagcccgcttagaggcttactatgagggaaatgccaaaatgtcatacttttcggtgtgtcccatatgacaccgctttacatagaatttgaattaaaacgcgctctcccgttcactaccatacttggtaccgtgcgcatattacatatagatataggatcattttttaaagctgtactaggtttgatcgacaatcttatgctatactatatgatgtaaccctcataatcaataccgatcgtacgatcctagcataggtggcaagcgattttatgccgattattgtgttaaatagtctgtgagtgtgattatcagggctacgttggtagaggggttgtatagacctcgcacacattgtgacatacttaacaatatacgaaaactgatataataaatccccttacccaaacaccaatcccgttgaatcaactaccataacgtctcccatataaattgcctacttgtttgcataaatctgaatacataacaccattgcaccttcttgtgttccaatcccgttaagattgccttgtcagatgatatgcaagaacaatagcatttgctagcaattattaacagctcttcgaattgcctccacataacgcgggagggtatattttaatttggcaaatactaagtactgttggcgtcatatgctattaacggttggatattaagttatgtcagccgtaagcaagagtgggcgaaatattttgttacccagtgagagcactcttagagtttggatacaataggccatatgttgacttaagaggacgtaactacgccgtacaccattgttcaaccgacttcttggcaaatagaatcgtattagcaatcttaagaatagagacacgttcgtgttagggtatactacaaatccgaaaatcttaagaggatcacctaaactgaaatttatacatatttcaacgtggatagatttaacataattcagccacctccaacctgggagtaattttcagtagatttactagatgattagtggcccaacgcacttgactatataagatctggggatcctaacctgacctatgagacaaaattggaaacgttaacagcccttatgtgtacaaagaaaagtaagttgttgctgttcaacagatgatagtcatgacgcgtaacttcactatagtaaattgaaacaaatacgcaatttagacagaatggtacggtcatgaatgacagtaattcgaagtgctagaccaacttaaaataggtaaacgtgcccgaaaccccccttaacagaaagctgctatcatggtgcagtatcgacgtgttcagaaacttgtaacttttgagcaggtccgagcacatggaagtatatcacgtgtttctgaaccggcttatccctaagatatatccgtcgcaaactttcgatttagtcccacgtagagcccaagcgttgtgcgactccacgtgcatgcccagaaatacgagtttaaatttggttacatggttaattttgaccgaagcatcgcactttatgattgataattggattcaatatgtcgccctatgcgaatgcaacatgatccacaatttggctataagacgtttaatccgtatcacactttgtttgcggctagtatagtaacgcccgtgcaccaagagtcagtaacaattataagtactccgcaggtacttcaaatataaaaactaatcaaacacgacccatatgatcatctgaagatatttggaactttctcgacaaccaccctcgtactcaatacttacactaatcgacaggcacacgcaacgtgtacagtcgcaccatattgagtcaagatttgcttagtggcgatgagcgtacacgcttatttctctagtcacaattagttatctacgagacatcacgagggagcaaataagcgatgttatggctacacataggcacgtatgaatatgatataagccagttaaacagtcgaaccatcgagcaaattctcatgcaccaacccacacgttgaggcacaaagagtaagctgtttgaatgtaacttcttctgctgagcgggccccaacgtaaggatcaactagaagagaaaactcggtattagtttaaatgcgtcacggagcatgagtgcatttcactaagaatgtctgtgtaaccaatataacatctatttgttatctgattgcctacttatggctttgcggtcgtggcgactaatgtctccaatccttttgaggtcggtaccaactccctttaaattacgctgtgcaggctcatgcactgcatacatatacggtagcaggtagggacctcacgcacccttattataatcaatagtagttatcagtcaacgaggcaggaatgctgaggtcgaggtgttggtatattttctatgtgccgtctaggcgactatcacgcattaccaggcgagatttaagccaattttgaatatagtcaacgtaatttttactatgggttccaccgaaacgccttgcacaactaagaatcccataaaatatcgatatcaaataaaagattgtgtcaataccttcatatatattttttcggttgactaacgtgaactaaggttaggggttttgtatgtctatataggaaacagtttcttttctgtcctactttagtaaagtcttcaagccttactccaaaatcacggtgattaagccgttactcagcagcatgattctgcctgctcgggtcctaaaatccagccttgtaagagtcgctgtgtattagctagggagacctttgttaaaaaggatatatcgcggcgggatgtgagtgcgtggcgcatactcaatcttcagctcgtgtcattataatatctctcccccacgcttttcactagatatgccgtgtaagcaaacaccttatgcttaatttcgaaaatattggtacttgaaaaaagctgtaggggtacttaatgtctggtaggagatcaggagagaattgagtgtaaaaccgtaaagccctcacctgacttcatgtaaatggcttagaagactccatgatttaataaatactacgaaggaaagactggatctaaagataactctagtaaggccaactcccttcaatgctgttgccagttataatccaagagctgtccttttctgaaccatagcggcttctgaagcgaactagaagcaaagttggttctagccagacagccacataccctgtacgggtgtattactaaaactggtccggtattagttcaccaagggaggaattaggcaaaggatctaggtatgcaagtcggagtattacatccctaccctgaatccatcaataggttcctctgtactggccttcgcaatgagtattcaaggttgtacagccgtataataataagatagtgactatgaacgggaagtaacccgctcaccttccccaaaacattgttatatctaagtattaaagtctgccgtagtgttaatactcgaaaataaacaactggcaaattacaccgcacttaagccgcttttgatttatatttttccaatgcgcttttaaaaataattcagtcctacatactaattaagacccttaaacggagatatcacaagttaagttttaaccatctcgactaggtggaactatagatacccaactcaatttatcattacctgtaatgttcctagaaggattgcatttcatgtcaagacggtggagtttcacagcgaaacttcagtgtgaacagattctgagaaatcacctaaacctattagtcagagcacccggttagaaccagttgtcaaaaaatagagcggttgcatgagacagaagtaacgatgagatccgttgtaacgttgagacatctggcctatcgtcaatacagtcctcccttaaaaatatttttaaatactaggcaaacccaacataggttagtcctatgtgatacgccacatggtatatcattttgtaacgttacctagggataatcaggaagtggaattacgcaaaagtagacagtgaaatgcttagggttatagtctagtccaaagataaaggataaagcacgtcagagaactatattagccgaatgggaatcattgttaggagactgtggatcatgtctaaaaagcaacgcagaaacagtcatcgaaaaaatctcgtttttgtttgaatctaaaagagctttgatgaccgatagtacctgtatactagttactgtattacgtgtctaatgatttcggattggggtccccagaatcagacgtcattgtagacgattcaagtttaccaatttaatttcccagctctccttggagaactatcgccaataattgcagtcactttccttttctgaaacgataaagccgtcagagttctctgcaacgttggacttacctgaggttctaacccactttcggttctaatagtagttaacgacacaacgaataacctttactgtggggctttcacgatattttttcgcttattattaatggttacgtcataagctggtgtccaaattaaggttaccggcttcgcagagtagttgtatccaagtataacttccctaatcataagatcgaggtagaaaattaatgctgtctctaaccgaacagatatgtcccactatgtggtatggacgttgctaattacttctgaagggaaattggtcattatggatacgtgtctaccatcaggtcggacgcagatatggttctgtcttcagttgatccaccgttctttataggataataactgacgattaaagattatggtaaatagattaagccaattctcttcttgtcagtgaagcatccttaactgacttgctctgcagcccctcatacatttagctattcaaagtaccggctcgtttcaaactctcccacctttggaagaggttgtcaacttgataagtatatcatttacagcattttttcggacgtacctctaatgtttcattgcagaaaattagttttttctatcgcacattttgcaagtaacgttagagacacaattatctgcgaatgaactgctagatctgacgaccgggagcctcgcaaatatcaaaaaagactgacatatatcaaggagtcgttgacaagtgctggtaagtcaattggtttatctgtcccggcgtttcgatcttaagctgaccatgcacggcagagtaatgtcactctcgttcttacaagtctgtctccaagggtcggcaaaaaagacccctccattctcgagcccactcacgatatgtagggacgacaacttgtgcggcttatgaattgtctggactgcgggcgagggtccatatctccgaagttagaagggacatacctttagatgataagatcaattcttattgacgaaattcatccacaacggggaacaacttcaccctagacttacgtctgaaaagacacctagcgtcttataaaaggtcagtgccccgtttcgtaaggctggaattacctacgcaaacttaaacctcgcgcccttccttacgtatcgacaagatagaggctatcgcgaatgtactacggaggcatgaatcatatactagaaccaagtgcctgtgatattaacaagatgatccgacgcgagcaccgtaattctaggcataaaactccagcaatttgggggccgaaaacaaatgacgttagctaattaattatatgacatgatcaaaggaggtcaatcacgcatcgagttcgacgtatattcattgaacttcgtgcgtttgaaagaaacttttatgaaggcaaaattgatcctgtctcctatttcatgcgtacctcctagttgataattccccgagcagtggttaggacacttttgtcggtatcaagttccggtctcaaaacgtaaaattctgtaatctgtatggatggtctgtgaattagttaatttttatgaagtcgtcgagacgcagttcctattgatttattctaaacggagatgtgcttcgtgggactcggaagtagatctgtgtttatgattattgctactttagatgctgactgttaactccgtgttgtttttcaaccgtatatcacaaccgaattggatagaacctatagtttcaagttctgccacaaggtatcatatttacagttagtgctggttgcttctttcaaacgtggtgagtttgtgctatcacgtcaacggtagagctcagtggaccgagtgcgcgttcaaccctgttccagagagggtgtgatagcacatataccacgctcgtcgaggcgttcatgatagtttgcaagagccggtgttaaacacatattattattgttatccaactaatcggacctatgcataaagcattgtctaaacagaataattgcctatatacggtagttttagtgatttatatcttagtatcagttagagcttcgaactcttcaggttcctcatatttaacgttcttcgaaagcgaaaacttctacaaacgaatgtaagcggttttccaagtagtacctataaatcacagaaagatctgtctcagtatagttgaaatggtattcagctagtgacgtgtaccaattatcatagttcactcaagcaagacgctcattaacgaatatagacaagacactatatcatataataaaaaagaacatggtgctcgaacatagttgaattcaccatattgaaggggaatgctgacatgtaattcgctactagacgatcaattccctacttgtcaaagttgaactggtacgttcttggaattaaatatgattgcgctggaccaaattgcgacttcttgagtttcagggcaaacgattgagccggaggatgtccgtctcttacctttcttgcttatgataaacgacggtccctgtacatcactgggaattctcagcaaaaataattgggtaaatcgagactcgatgtattcggccacaaaggtgttagacgttaaagattattcaacggggcgataataggatcataaccggtatgcaagcgcattgaaagagccatgagatccttatccgataaacgctgcacggtatgtgcagccttattgtcgatcacgaatttataaatgtagtctgggctgtaagttgaagacctaagttataatgaagtgcaataccaaatcgattcatagtggattatcagactcaagatatctcctgataaattacagttgttaagatacggataaaatgagatttaagattagcagcctctaatctgtttcaatcccgttggaatgtggtatgcgatcaaggttaagttaaaatcaagcctgtcttcagtcttgattcttgttctgccatcgcatgcggtctacgtgagttaatatgtagcttacgttctagcttgtgctaatctgagtatagattcgtagaggaatattatcaagcttccacgcctcaacgtacgtgtattggtcacacaagacactaaaagtggaagtagcgtaaactatagtctagttgttaaatgctcagttcttgttatattcgatatactcttggctaatttatgtctgagtatataaaattaatgatattaacttgcatttcacggatcccttagaaaaagattttgaccgagcgcattataaacggttacaccgaatcaatagaagcatacccaatagctttctttgaatttattgcctgcgcaacttggctgactctctagatccgaataattctatatggtcgtgacgaaactagttcattactgtttaaaatgccaacatgtcttttgggccgataatggctctttgcaaaattactcaatgatacgattgatcaaagcggtagttgctagtggtagcatgtaagtctatcaaatgtctgattatccgaaaatcttccaaaagagtccacgtaccatatctatctcatagcgacgcgaggggaaccttatctaactatcattccatttaccgggtgactctcgatgcaggatccgattgggataaattgcccagaaatggctcattcctgactaagggtaaggccgttctcagcaagggaaccccgcgaatctaggcttataccatctagattgttaactacttgcctgtagttctacagccatactggacagttgtttctaaatgatcgggattcatgctagcactcctctgaatgcaccgcgtaagtttaactattacgtccgtgggcagataaggatggaggctgtatgtatcttaactgttacctaatatggctggtaattatcaaagtaaggaccttaatgccatagcgctagcaatcgctttgtatactgaccatgtgccaacctctcttaatctgtaaaatataatgtcttagctaactgtggacgatcatgtctctgcctagagcttcgctgtatcaattcctatagccagcgtactagtgacacaacaacaccgtgtgagaaaagatattagtccttacgtctgtctctctacagcttattgatgaggattgaacatggacatatagctccccctcaaaagcagatgctacctctttattccattctcgaacatttgccgaacttaatttcgacaaacctgaggtcacgtcttaatttatcggtaacgtcacgtccctttgagactggataaatatattaccaggggccaacgagcaattgttggaggcgcttctataatacaaggtgtcttgtcaaagaaagacggcgtgcgtctcgtgcaactcacttaaccaatattaatgtgaaacccccctctctcacatcttatgcggtgtactgccctggtacatttcctgtacaggactccaacagtgtagattcctaagatagctgttggagttgcctcacgccagatcgaaaaactgaataaactagtgagctgagctgcagaaataccgcttaattacttatgactagttcaaagggacctacgtgatgtcagacattgcaaggaagaaattaggtttgtgcgtcattttggctggactagcactccttacttcccctactattcaaatgtcgtaaacagcatgagacaggatcgtgctgacatttaaggtctattgggaacgaggctacctttggtcgcgcgctcgcgttctccgaatgaccgaaatgcatgagcacagtatgcaattgcttatagatctaaggtctggtcgttgaaaccaagcacgtaggcctgggaaatcagttcttcctcagcaactacacaaaagcgtccaagcattagtacttgtagtaaatgtccgaacctatgcgctcatttgaaagtcaaaaaatatttttaagcagtaggcacctaacccgattcctctacttagtagctttctttgattctcagaattgactgcaatatcactgcacaattctgtgccattactagacttctctgtattaacgtctcatcttactaacactcgcctaggacacatctgagagtgaagtatttcaatacatttactgaaatcttcagttctaaaatccccgaataaggctcttatcggtttggccaacacaagaaaaaaacttcttgcaccactcaccttcatacgcaggagcctggggaacttagtaataactatttcggcagacaaagcttataacaagttgccggcgcgtataatatttaaaagaccccttgagctgctcaattaaaacgctcacctggtataggctattagatagtgccgtcttagtaaggggcgggaattatcggataaactgatattttgataaaataaccgacttgttcacgacataagtcactaaggagattttatctttctccaaagtatatcttccttggataatttcaaagcgctgcaatttaagttctgttactagtttatgctgctgggaggtgaccggaaggcgtagtaatctagaggcaaattataagaagttcatcatatcattttcgactacaaaaacaaggtgttgtatgccggcgcattgtgtaaactggacgagtaccctagatggaaaattatacgttaagccaagatttcgatgtaatgataattacctacacatttttgctatccataggaacaagagctgttctataggctcgtggcatacgaacatttgctgccgctatgaatattggaagctcttcaactacagactctattcttaattgccgtcgaaaatgggccgaatcggctattattaatactcggtttttccgaggggattgttgtcgacagtcgtaattattattaatattgatgttggtgaggtcatttaaatacaaccttgcagacaatgaataagggatccaatctctcatactccttttacaattgctcatgcccctatgcaaaccttatgccgccacacctccgcaactctctcttctgaactgtaagtagcttcattactggtttgagactatactgaagctgatgacattctaaaatggctattttcgaatgtgattcataatgtttatcgtttgggatggcagaatcacgttatttttgatatagcccgggtattctattgtatagaacgtatgctacaagtcattccccgaagaagactagaagtaaacaacatgcgaccatcgttaagccacgcaaggctgtagctttatttcccgataacctatcttccataaatagcggacagcaggatactgacgctcaacatcagtggttatggtctaatttttaacttttaataaggtaacttcagcaggcatacacagtaactctttaatttataatcaaattagaagtctgacacttcttatatttttctatcatccaacgcgatcgcccattagcttattgtgttactaataacgtatctaaaccaatccttttcaagctactgcctatattgtcaatatatacaaacaacaggatagtaggctgcttaaaaaatattgtcaaccgtgtacgctttacaatacccggaaatcacaaactttgtagacaacgagtgaaatttatacactacgaagggccagcgtacaagacccatgaattaggcgatatgtttattctgacatattggtttatccttaatctgtcgctgtaaaatgaagccgcccccatccctgcgaattttttttcgaagattcacgactgaaatataaatacgtttggctatatttatgttggagggaggcaatagcctttactgttaaccgaagatttagccagtgagtgtgacactaaaacactggaataaatgcaggcgttcttctgggtaaaaggtttagtcaatctcgcctataagttcatatagctctggatataattatctggcccatgcatttatcatggcgcttggtgccctgtgtgaagccggcctctcatattgaaggtccgaagtattccatgtacattaagatcactctctcattcatgcatcttggcttaacaaatctggttgtccaagctttccaggcacgtatggtacaaattcggatcgaatacttataaaaatgatatgttaaactgtctaaaacgctcatctacaaagtaaagtgcactaaccaatagagtctcaagaccgtgtaatgctggtgcactgaatgtgtaatacggttagaagggattagttatgttacaaatccattgaaaacttaagaagcattgcgtgctcggagggtgcatcttttatcaagagactaacattattttcaacgacgtacatgctttacaatagggtacttatcaaacgccgagaaacgcgcctatagtgatgttatgattatgacccgatatccattggaccgaattttatgtaggttcccagcgtactcgcgtaatatctcggtattgccataatgtaatacttgtcggtctctcccagatgaaaaagcgttacagagtatttcaatgaaaaacagcgcgcaacgtcaatacctttaggggtaacggccgctgatttcatatagatatacgataagttggtatagctctactaggtggcatccacaatcgttgcatttactatagctggttacaatcataatctataccgttccttacatactaccatagcgggatagcgtttttttgccgttgattgggtttaagaggatgtcagtctcattatatccgattcggtgggagagccgttgttttcaaatcgcacactttgtgacataatgtacaagataacaaaactgatataagatataaactgtcaatatcaccttgacacttgaatcaaagtaaattaactcgcaaatataatttgactaattgggtgcagatttctcaattaataaaaaaatggcaccggatgggcttacaagccccttatcattcacttgtatcatgatttccaagaacaatagaatttgctagcaagtatgaacagagattcgaattgcatccacagtacgccggagcgtttattttaatgtggatatgacgatgtactgttggcggcatttgctagtaaccggtccttatttacgtagcgcacacgtaagcatgtctgggagaaatatggtggtacaatctcagagaaagattacagtttggtttaaataggacttatcgggtcggaagtggaacttaataagcagtacacaattgggcaacagacgtcttgcctattacaataggattacaatgcgttagatttcagacacgttcgtgtttggctattcgtcaattccctaaatagttagacgatcaactattatcaaagtgattctttgttcatcctccattcatgtaacagatggcacactacgcataacgccgaggaattttaacgagatttaagagagcagttcgggcacaacccacttgactttataacagctcggcagcataaacggtaatatgtgacaaatttccaaacgttataagaacgtatgtgtacttagaaaactaagtggttcatgttcaacagatgtgacgcagcaagcctaacttatctattggttttgctataaaagaacaaagttacacagaatcctaagggcttgtttcacacttatgcctagtgcttcaccatcttaaaatagcgaaaccggcacgaatcaaaccttaaaacaatgcgcagatattggtgatggtgactccgggtatgataatggtaactgttgaccagcgcccacctcatcgaagtatagaaagtggttaggataaggatgagaccgaacttatttccggccataactttagattttctacctagtacacaacatcagggcggacacgaaaccgccatcacatcatataccaggtttaatttgcttaatgggggaagtgtcaacgaaccttcgaactttagcaggcatatggccattatatatggccccagagcagaatgctacagcagacaaaatttggatttatgtagtttaatacctatcaaacttggtgtgaccatacttgtctaacgacagtgcacaaagtgtaagttacaattattactactcagcagcttctgcaatgataaaatcttatcatacacgtcacatatgataatatctacttagggggaacgggctccacaacctacatagtactcaatacttacactattcgacaggcacaccaaacctgtacagtcccaaaagattgagtcaactttgcagtactgcagatcacagtaatagcttagttagcgagtcaaaattagttttctacgagactgcacgaccgtgcaaatttccgatgtgttggctacaaatagcaacgtatgaatttgtttgaagccacgtaaactgtacaaccttagagataagtctcaggctactaaaaacacgttgtggcactaacaggatcatggttgattcttacttattcggctgaccggcccaataagtaaccttcaactagaacagaataatcgggagtagtttaattcagtcaaggtgcaggtctcattgtaactaacaagctctgtgtaaccaagttaaaatcgttttcttagcggattccctacttatggatttgagctcgtccacaatattcgatacaagaagtttgtggtccgtaacaacgaaattttaattacgctgtgcagcctcatccaaggaattaatagaaggttgatggtaggctccgaacgctccatgattataatcaagtggactgtgcagtaaacgaggaaggtatcctgacgtcgtggtgttcgtttttgttatttgtgccctatacgagtagataaaccatgaacagcacagtgtgaacccatggttgattttaggctaccttatttttaatttccgttacacagaaacgaattccacaactaacatgccattaatttttcgatatcttataaaagatggtcgaaattcattcatttattttttttcggttctcgaaagtcaactaagctgtcgcgttttgtttctctttagaggtaaaagtggctttgatctcctacgtttggatactagtcaaccattactccatttgatccgtgagtatcacctgtctaacatccagcattatgactcctcggcgaagaaaagacacacttcttagagtcgatgtgtattagctagggacacagttgtttaatacgatagtgagcccagggagggcagtgcgtcccccagtagatttattcagctagtgtaagtataagatatctcacccacgaggttcaagtgatatgcagtcttagaataatacttatcctgaatttcgatattatgggtacttcaataatccgctagcgctactttatgtctcgttggacagcaggacacatggcagtcttaaacactaaagacatcacctgaatgaatgtaatgggattacaagaatcaatgaggtattatatacgacgtaggaaactctggatatatacagtaatctagttacgccatcgcacttcattcctctggaaacttagaagacatcagctgtacgtggaggaaccagacccccgtatgtagccaaatagaaccaaagttgcttatacaaacacacccaatgacaatggaccgctggagttcgtaaactcggaacgtagtactgcacaaacccagcatttagcaataggagctacgtatgcaactcccacgtggtaataccttcaagctatcaatatataggtgcctagctaatcgcattcgcaagcagtattcaagcttgtaaaccagtataataattacagaggctctatgaaacccaactttccagctaaaagtcccaattaaatggttatttcgtacttttaaagtcgcccgttctgttattacgcgaattgattctactccaaaattaaacacaaattatcaaccgtttcatttatatttgtcaatgcagctgtttaaaataaggctctactaaattataattaagacacttattaccagatttctctagttaagtttgaaccagctcgactaccgcgaaagatacattcccttctctatttttcagttcatctatgggtcagagaagcattgaatttattctattcaccctcgtcgttcacagcgaatcgtcagtgtgatcagtgtatgagaaatatcctaaaccgtttagtcagaccacacgcttagaacaagtggtctaaaaagactgccctggaaggagtaagaagtatacagctgatccggtgtatccttcagtcatctgccctatactaattacacgacgcaaggaaaaataggtttattttctaggcaaacccttcataggtgactccgatgtgttacgaatcatgcttgagaatgtgctatcgttaccgacggataataacgatctccaatgaaccaaatgtagaatgtctattgattacccttttactattcgacttagagataggagatagaacctcagtgtacttttttagccgaatgggaatctttgggaggtgaatggccataaggtcgtaaatccaaccctcttaaagtcttccatattatatcgttgttcgtggaatcgataacagatttgttgacccatagtaaatgtatactagtttatgttgtaagtgtagattgttttccgattgccgtccaaactttatgtcgtaattgtagaccagtaaagttgaccaaggtaagtgcccagcgatcctgcgagatcgatcgccaatttttccagtcactgtaagtgtaggtttagataaagccgtatgagttatatcataagggcctcggaaagcagcttcgaaccaaagttcccttataatagtagtttaactataaaagtatatactggtctgtcgccctttcacgatttgttttaccggtttatgaagcgttacgtcattagagcggctccaatttaaggttaacggcttccatgtgtagttgtatacaaggataacttaaagtatctgttcagcgagctagttaagttatcctcgatagaacacaactcagaggtcccaagatcgggtttgcaacttgctaatttattctcaaggcaaattgggaattatcgatacctgtataccataaggtcgctcgatgtgatgcttatgtcttctggtgatcctaccttagttagtgctgattaacggaacattaatgtttatcgttttgagatttagccaattctctgattctaactcaagatgccttatctgacgtgctatgcagcccctaagtattttacattgtaataggacacgctcctttaaaactcgccaaaaggtcgttgtggttctctactggttaactatataatttacagctttgttgagctagttcctctttggtttaagtcctcaatattagttggttcgagcgataagttggctagttaccttagtcactatattagatccgaatgttatgcttcatctgaagaccgccaccctccaaaatttcttttaagactcacttattgcaaggtgtaggtgaattcggctcgtttctcaagtggtgtatctgtacacgagtttccatattttcatcaacagccaccgcacacttatgtcactctaggtattaaaagtcgctctacaaggggacgcaattaagaaacagacatgctagtcaaaaataaacatagcgaggcaccactaattcggccgcttatcaatgggatgctctgcgcgagacgcgccagagctcagtagttagttcggacatacatttacttcagatgatcaattagttttctacaaatgcttactctaccccgaaaaaagtcaccagactcttacgtctctttagtatccttccgtcttatataaggtcagtcccccgtttcggtaccctggaatttactaagaataatgaaacagcccccaaggacgtacgtttacaaatgatagaccagatcgcctagcttattccgacgcatgttgcatagaattgaaccaacggaatgtgagagtaactagatgagccgaccacagcacccgtttgcgtcgcagaatacgcctgatagttcggccacgaaatcatatgtcctttgagtattaagtatttgtaatgatcaatcgagctcaagcaagcttacacttcctcggatattcagggaacttagtgcctttgaaagatacgttgatcaacgaaaaattgataatggctcatatggaatgcctacctcatagtgctgaattaacacagcactgcggacctaacttttcgaggtttcaagttcacgtctcaaaacctaataggctggaatatgtagggatcctcggtgaatttgtgattgggtttgttgtagtactgaccaagtgaatattctttttttctaaaagcagatctgctgccgggcactacgaaggagatctctgtgtatcattattgcttcttgacatgatgactcttaaatcactgtgggtgtgcaaaacgatagcacaacccaattcgatagtacatattgttgatacttcgcactaaaccgttcatatttaaaggttgtgctccttccttcgttaaatactggtgacttggtcctatctactattagctagacctctggggaaccacgcccccgtaaaacctgtgcaagagagggggtcatacatcttagacatcgcgcctccaccagggaagcattgggtgattgaccaggtgtgtaacaaatatgattattcttatactaatattagcaaagatgcataatgatttgtattaaatgtataattgaattgataagggtcttttagtcagtgatagagtagtataaggtagacattagaactcttaaccggacgcagatttttcggtcttagtaagccaattagtcgacaaaacaaggtaagagcggttactagtagtacctataatgcactgaatcttcggtcgaagtatagttctaatgctatgcagattgtgacggcgacaaatgttcagacttatatcatgaaacaagctcttgtaagtattgacaaatgaaaagattgaatatttttaaatacaaaatgcgcctacttattaggggaattaaccagattgaaggccaatcctcacatgtaatgagataatagacgataaatgaaattcttgtaatagttgaactgctacgtgatgggtattatatatgattgagatcctccaattgccgacgtcttgtcttgatgcccaaaagattgtcaacgaggagctccctcgcgtacctgtcgtccgtatcataaacgacgcgacatgtacagcactccgaagtataagcaataataatgcgggtaatccagactagatcttttcggactcaatgcggtttcacggtaaacatgattaataccggagagtagtcgagcttatcagcgatgcaagcgaattcattgtgccaggagatacgttgcagataaaaccggcaacgtatgtcaacaagttttggcgatctcgttgtttgtattcgacgaggcgcgggaacttcaagaactatcgtatattcaagtccattaccttttagtttcagactggtggagctgactaaagttatatcatcattttgtacactggtttagttaacgataatttcagatttaacatgaccagacgataatcgctgtatatccagttggaatgtggtttgccagaaaggttaacttataatcaagcctctcttcagtcttgattcgtcgtatcccatccattgcgctatacctcagtgtatttggagctgtagttataccgtgtgctaagatcagtagacatgacgagagcaatattatctaccttacaagcatcaacggacgtctagtcggaacaaaagactctaaaactcgaacttcaggttaatatactatagttctgtattcagcagttattcttatattcgatattatcttgcctattggatgtctgactttagtatattaatcatagtatctgccatgtaaaggtgccagtactaaatctgtttcacagtgcgaattataaacggttacaaccattaaagacaacaagaccctatagctttatttgaattttgtcaatgcgcaacttggagctcgcgatacatcccaattagtctatagggtcgggacgattctacggcatttctggttataatgacaacatggattgtggcccgagaatcgctctttcattaattaagcaatcattacagtcttataagcgctacttccgagtggtagcaggtaactcgatataaggtcgcatgagccgaatagcttaaaaaacaggccaccgaacattgatagagaataccgaccacagcgcaacctttgattactttcattaaattgtacggctcactcgacatcaagcttaagattgcgataatgtgaactcaaatggatcagtactgaagaaccgtaacccacttcgcagaaagcgtacccagagaagatacgctgttacaatatacagggtgaaattattgcctgttcttcgtaaccatttcgccaaacttggttagaaatgatagccattcatgatagaaataagctgaatgataccagtatctttaactatgtagtcagggggaagataacgatggtccatgtatgtttctgatatgtgacagtattggccgcgtaatttgctaacgaagctacttaatgcctttgagcttcatatagatttctttaatcaaaatcggcaaaaagatagtatgagctataatatatgctagtagagaactctggaccatcatctatatgaatactgattcgagcgtgcaattactttagcctgcgtactactgactctacaaaacactctgagataagtttgtagtcagtaagtcgctctctataaaccttttggatgaccattgtacagccacttatagatcccaataaatagcacaggagacagagtttttcaatgctcgatcatttgccgatagtattttcgtctaacctcagggcacctattatttgatacctaacctaacggccctttcacaatggagaaatatatgacatcgggacaaacacaaatggtgggtggccaggagatatgacatggtggcgtctctaagaaacacggactccctctaggcaaactcacgtaaccaattttaatgtcaaacaaaacgctcgaaaagattttgccgtgtaatgacctggtacattgactggtcaggaatacatcactgtagttgccgtagtgtcctgttggtgttccatcaagacacatcgtataacgcaatttacgacggacatcagatcaagttatacagattatttaagtatcacgtgtgcattgggacataagggatctcacacatgccttggaacatttttgctttgtgccgctttttcgctgcactaccaatccttacttaccagtatattcaaaggtcgttaacagaatgagaaaggttagggctctaagttatcgtcgattgggatagacgagacatttgcgagcgccctccacggatacgaatctcccatatcaatgtgaactggatgctatgcagtttagttcttacgtctcctagtggtaaaaatcaaagtagcactcgcatagcagttattcagaacctaatacacaaaaccgtcaaacattttctaattctaggtatgggccgatcataggagctaaggtgaaactcataaatgttttgttagatctagcatcctaaaaagatgcatatactgagtagctggcgtgcattctctcaattgtatcctttttaactgaactagtcggtcccatttcgtgactgagatctattaaccgataagattaataacactcgcattcgtatcagctcagagtgaagtttttcaataatttgactgatatattaacttctaaaataaccctttaagcctcggatccgtttcccaatcacatcaaaaattcttattccaactatctacggattaacaacgtgcatggggatcgtagtaagaacttgttccgatcactttgagtatatcaagttgacggcccggttattattgaatagaaacattcacctgctaaattaaataccgcacatcggatacccgatttcagagggccgtcttactaagggcaggctttgttcggtttaactgagatgttcattattttacagtatgcttcaactaatatgtaacgaaggacagtggatctgtctccatagtagatcttcagtcgtgaatttcataccgctcctatttaagttcgcgttcgagttgttgatcatggcacgtgaaagcaacccctagtattctagacgaaaattttttctagttcatctgataatttgccaattcaaaaacaaccgctggtttcccggcgcattctctaaaatggaagtcgaacctagagccattatttgtcggtaacccatgagttccttcttttcagaagttaatacactgtggtcctatacagaggaaaaacagcggttatatacgatcgtggcataacaacattggatcaagatagcaatttggctacctattctaattctcactagattcggtattccactacaatatcggcagattaggattggatgaataatcggtgtttaagtccggttgcgtctccaatctcctaatttttattaatattgatcttggtgacctattgtaaataaaaacttcaagactttgaataacggtgaaaagatagaagactcatttgaaaatggatcatccacagatccaaacattagcaagacactaatccccaactagctattctgatcgcgatcgtgctgcagtactcctgtcacaatagtctgttcatgatctaattctttttgggctttgttcgatggtgattcagaatctttatccggtcgcttccctgtagctactttgtggggatattgcccggggattatagggttgagatcgtttcctaaaagtatttaaaccaagtagacttcaactaaactacatcagaacatcgtgaagacaccatacgcggtacctttatttaccgataacatttcttcaagaaataccggtaagcagcataatgaccctaaacagctcggggtatcgtcgtagttttaaattttatttaggttactgctcaaggaataaaaactaactatttaatttataataatattacaaggctcacactgattagatttgtctataagacttcgcgatcccccattaccggattgtcttaagaataaactagataaaccatgcattttctagataaggcctttagtctaattagatacaaaaaacacgatagttgcatccttaatttattgtgtcaaacctggaaccttttaattacccgcaaatcactttatgtcgagactacctctgaaatttattatctacctaccgcatgaggacttgaaccatcttgtaggagttatgtttattagctaagattcgtttatcctgtagcggtccatgtatattcaacaagcaaaaagcactcagaattgtttttagttgagtcaagactgatatataaataagtttccctagttttttcgtggtgggacgatattgaattgaatcttaaccgaagagtttcccactctgtcgcacaataatacacgccaatatttccagccctgcttatgccttaatcggttactcaatctcccattgaagttcattttgatctgcatagaagtttcgggcccagccttttttctgccaccttcctccaagctctgtagacgcactctaagattgatgctcacatgtattaattctacattaacataaatatataagtcatgcatcttcgagtaaaatatctggttctccaacatgtcctggcacgtatcgttataatgcccatacatgtagtattaaaatgattgggttaactggatattaagatcatcgaaattgtaaagtcaaattaacaatactgtctcaagaccgtgtattcctcgtgctcggaagggctattacgcttacttccgttttggtatcttaatatgactttcaaaaattaagttgcagtgagtcctacctgcgtgcatcggttagcaagagtataaaagttgtttaaacgaactacttgctttacaataccggtcgtatatatcgccgtgaatccagaagattgtcttctttggattatcaaccgagatcctgtggaccgatgttttgggaccttcacagaggactccaggtagagctcgcttttgcattaatctaagaattgtacctctctaaaagatctaaaacagtgaatgtgtatttcatggaaaaacacagagaaacgtaaattactttaggccgaaaggcacatgagttattatacatatacgagatggtggtatacatcgaattcggggcatacactatagttgcattgtatttagctgctttaaataatatgatattaccttccttacataagacattaccggcataccctggttttcaacttgtggggctttttgacgatcgcactctcatttgatccgagtagggcggtgacccctgcttttcaaatacaaaaatttcgctatgaaggtaatagattacttttcgctgttatgatagaaacggtaaatttaaaattgaaacttctagaaaagtaaagtaacgagaaatgattttgtgaataatgcggtcatgattgcgcaagtaagaaaaaaaggcaaaaggatgcgcggaatagaaacttatcagtcacgggtatcttgatttcattcttcttgtcaattgccgacataggatgaaatcagattccaatgcaatacacagtaacccccacccttgattgtaatgtcgatttgaagttgtacgcgtcgacgaagtggatagtatacgggccttttgtacggtgcgatcaactatgaatctcggcgagttagatggtcgtacaatctcacacatagaggtcacttgcctgtaatgacgaattttcggctaggtactcgaactttattagaagtaaaaatgtgggcaaaagaaggattccattttacaagacgattacaatgagttacatgtctctcaacgtagtctttccctagtagtctttgaactatttaggtactccagaaaattttagcaaagggtttctgtgtgaatccgccattcatgtttatgatggaacaataagaataacgccctcgtatgttatcgacagtgaagtcagcagttcggccaaaaacatattcaatttagtacagatccccagaagttaagctaagtgctctaaaatggcctaaacggttatcaaagtaggtctaattactatactaacgggtgcatcgtaataactgctgtcgatgcaacactatatgatagtgtcgttttgctatatatgtacaatgtgacaaagaagccttagcgattcttgcaaacttaggacttcggattctcaatcttaaatgtccgaaaacgcaaagattcaaaaatttaatctatgagcagatatgcctgatggtgactacgcgtatgttaaggctaaatgttgacaaccgcacacataatcgaactattgatagtcgggagcataaccaggtgaacgtactttgttcacgacatttattgacatgttctaaatacgtctcaaaatcacggcgcactagaaaacgcaatcaaatcattgtcctggtttaagggccgtaatgccggtagtgtcaaacttcatgagaactttagctggcttttggccagtatttagggaccaagagcactagccttaagctgaatattttgccatttatctactgttataactttaaaacttggtggcaccagacttgtcgatacacacgcatcaatctgtaacgtaaaaggtttactaagaacaagcgtaggaattgagtttatattatatttaaactaaaagatgatattagcttctgagggcgatagggctccaaatcataaagaggaatatattattacacgattagaaacccacaacatacctcgaatcgcccaaaagtttgacgaaacttggcagtactccacatctcagtaatacagttgggagagtctcaaatgttgttttattactcaatgaaccaccctcataatttcactgctgttccattaaatttgcaaacgatcatttgctttgaagaaacgtaaaatcgacaaaattacagataagtagatgcataataaaaaaaactgctcgctataacacgatcatcgtgcattcttacttaggagcatcacccgcacaataacgtaccttaaactacaacactattagaccgagtactgtaattcacgaaagctcaagctcgcattgtaaagaacttgctctctcgtaaaatgtgataatagtttgcggagaggattcaattattttccattgcacctactccactagattcgataaaagaaggtggtcctcccttaaaaagaaatgttaagtaacatcggaaccataagcaaagcatgtaagtgaaccgtcatccttccctaagaaacataaaggtttttaataatgtcgactgtgaactataactgcatcctttcctgacctactccggttccttgttgttatttctgaacgagaccagtagataaacaatgtaaaccacagtgggtaccaatggtgcatgtgacgctaccgttgttttaagtgcccgtacaaacataagaagtcataatcttacttgaaattaattttgccttttattttttttcaggctcgaaattaatgatttgttttttttgaccttctagttacgctaatatgcggtcgcctgtggtttctattgagtcctataacgggatgggatctaatacgtttggttactagtaaacaaggtataaatttgataccggagtatcaactgtataacatcaagctttatgactcatacgcgaagtaatgacacaaggctttcaggagatcgcgagtacagagccactaaggggtgtattacgatagtgacaccaccgagcgcactcactccccaagtagatttatgatcctacgctaagtattagatatataaccaaagaggttctagtcagtgcaactcttagaataataattagccggttttgcctttttaggcctaatgcaatattcagctagcccttatgtatctcgcgttccacagcaccactcatggcacgcgtttaaactaatcaaatataatctatgaatgttatgccagtacttgaataaatcaggttttttataagtccttgcatactctcgttatatactgttagagtcttaccccatagaaattctttcatctgcaaacttagaagaattctcagctacggggagcataaagtccccaggatgttgacaaatacaacaaatgtggcttatacaaacactccatatgaaaatcgaaccctcgtggtagttttagccgaaccttgtacggataaatccctccattttccaatagcagatacctatcctactacctcgtggtattaaattaaagcttgaaatatagagctgcatagcttatccaattcccaagcacgagtctaccgtcgtaaccacgatttgatttacagacgctagagcaaacccatctttaaacatataagtaaaaattaaagggtgagtgcgtacgtgtttactagcaacttcgcttattaagacaattgtttataagccataattaaaaacatatgttcaacaggttcattgatatttgtaattgcacaggtttttaataaggatctacgtaagtataatgaacaaactttttaccagagttatattctgtactttgaaaatgctcctctaccgccttagagactttcaattagattttttgcagttaatctatgcgtaagtgaaccatgcaagggatgcgattcaaccgcctcgtgctaaccctatcgtctgtctcataactgtaggtctaatataattttcagttttcgaacacataaccctttgaaaatctgctatttaatgtctcacctgcatgcactatcttctatactgctcagaacggctatacgtcactatgctccaagtgacgatttaaacgaagcaaggaataataggtttattttagtgcaaaacaattaagtgcggactacgtgctctttacaataagccttgtgattgggctataggttaagtcccatattaacgatctccaatgtacaaaatcgacaatcgctttgcattacccggttactagtcgaattacagatagctgttagatactcactctaattttggacaacaatcccaatcttggggtcgtctatcgcctgaagctcgtaaatccttccatcttaaacgattacatattatagacttgttcggggtagagatatcacagttgtgcaaacattgtaaatcgatactagtttatgttggtagtctagttgcttttaccattccccgaaaaacttgatctactatttcgacaacagtaaacttgaactaggtaagtgaaaacagagaatgcctcatagtgccactatttgtccactatatgtaagtgtagctttacataatccactatgactgagatcattacggcctaggaaagcagcgtagaaaaaaagggcccggatattacgactgtaactataaaactagttactggtagcgcgccatgtatagatttgttttaccggttgtggttgcgttaacgaatttcagccgcgaaaattgatccgttaaccagtccatctcgacttctataaaacgataaagtaaagttgatgttcagcctccttcttatggttgcatcgagagtacactactcagtgggaaatagatcggggttcctacttcagattgtattatctaggcaattgccgattgtgccatacctggataaaataagctacctacatgtgatgcttatctattatcgtcatactaccttagggtgtcctgttgaacgctacattaatctttagccgtttgagatgttccaatggataggagtctaacgcatgatgaagtttaggaaggcagagcatcccactaagtatgtgacagtgtatttcgaaacgagacgttataaatagaaaaaaggtccttctggttctattctgctgaactattgaatggaaagattggttgacctacgtactatttgcttgaagtcatcaatttgacggggtgagagacatatggtgcatactttacggactctatattttagatcagaagcttagcagtcttctctacaccccctcacgacataattgcttttaagaatctatgtttgattcctctacgggaattcggatccgttcgcatgtgcggtttatctaaaccaggggacatatgttcagctaaagcatacgaacactttgctaactagacgtatgtatagtagctataaatcccgacgatatttacaaaaagaaatgagactcaaatatatacatagcgaccctacacttattcgcaccctgatctaggcgatcctagcacccacacccgaaagtgagcactagtgtcttccgtattaaatttactgcagttgagattttagttgtctactaaggattactctaacccgtaataaggatcaagactcggtactagctttactatcattccctatgtgttttcctaactcacaagggtacgtaccagcctatgtaattacaataatgataaagacacaaaggaagtaactttacaaatgagtctccagttacactagcttagtccctcccatcttgctttgaagtctaaatacgcaatctctgaggatatacagcagaagaacactcataacgttggagtccaagaattagactcatagggcccccaacatttaatatgtactgtgagtttgaaggtgttctattgttaattcctgctcttgatacatgacacgtactccgtgtttaaggcttcggactgactttctttcataagttgagcaacgaaaatttcagaatcgataagttggattcactaactaatacggctgattgaaaactccactccggacctatatggtcgacctttatacgtaaccgatataaaacttataggctggtatatcgagccttcctagcgcaatttcggatggggtttcttctactactcaacaacggaatagtctttgtttagtaaaccagagctcaggacgcccaatacgtaggagagcgctgtggagcatgtgtcattatggactggagcactcttaaatcactctgcgtgtgctaaacgatagatcataacatgtcctgagtaaattttcttgatacgtcgcaatataccgttattagttaaacgttctcatccgtcatgcgtgaaatacggctgtcgtgctcagatatactattagcgactcatctcgcctaacacgcacacgtataaactcggaatgactgccgctcttacatattagaaatacagactacaccacggaagcattgggtcattctcaaccgctgtataaaagatgattagtcttataataagattaccaaagaggcagaatcatgggtagtaaatctattattcaagtgattaccgtcgtgtaggcagggagtgaggacgagatggtactcaggacaaatattaaccggacgaagtggtttacgtcgtactttcactattagtagtaaatacaaggtaacaccggggaatagtactaaatataatgatatctatcttcgggagaacgagtcgtctattgctttgaacattctcaaggcgtaaaatgtgctgacttatagcatgatacaaccgattgttacttttgtctattcaaaagattgaatagttttttatacaaaagccgcatacttatgacggctagtatacagtttcatcccctagcatcaatgctatggacagtattgaacttataggaaattcttctaatagggcaaatccgtcgtgatgcctattttttttcagtcacatcctcaaatggcactagtattgtcgggatcccattaacaggctcaaccacgagctcacgcgaggacatgtagtccgtatctttaacgaagcgacagcgacagaactcccatggataaccaattataaggcccgtaatcctctagacatcgtttaccaataaatccgctttctccgtaatcatgttgaataccccagagtagtccagatgataaccgatgaaacacaagtctttctcaatgcacttacggtgaacttattaccgccaacgtagctcatcaaggttgcgacatctagttgtgtgtttgcgacgagcccagcgaacttcatcaactttcgtatattcaacgccttgtaattttactttaagacgcctggtgatgtagattcttagataatcagtttgttatcggctgtactttaccataatttcacaggtttcaggtcaagaagattatagctgtatatacagttccatgctcggtgcacagaaacgtgatcggataataatcaatcgcttatgtcgtctttaggcgtatccaatacatgccccgataccgcagtgtatttcgacatgtaggtataccgtcgcatttgagctcgagtcaggacgtcagctagattagattccttaatagaatataccgacctctagtccgaactaaactatagataacgccaacttcaggttaattgtctagtcgtctgtttgcagatgggattcttagatgagtgagtatcggccatattggttcgagcactttagtttttgatgcataggatatgcaatgtatagctgaaagtactttatctgtttcaaactcacattgattaaaccggtaaacctttaaagactacaagaaaatattcagtgagggcaattttgtcaatcacaatcttccagctagagatacttcacaatttgtcttgaggctacgcaacattagacggattttcgcgttttattgaaataatcgaggggcccaagagtatccatagttcattttgtaagatttctttacaggcttattacagcttcttcagactcctacatgcttacgagttatatgctagcatgtgaacaatagattaatatacaggaaaacgtacattgagagagatgaccctacacagcgcaaccgttgagtactttcattaaagggtaacgctctcgagacagcatccttaagatggccttattgtcaaatcatttgcagaagtacgcaagatccctaaccaacgtagaagaatccctacaaacacatgagacgcggtgaaaatagacagggtgttagtattcaatcttcggagtatcaatttcgccaatcttggtgagaaagcataccctttcttcagagaaagaagatcaatcataacactatctttaacgaggtacgcacgcgcatcattacctgcctccatggatctttaggatagcggaaagtattggcagcgtattgtgatttcgttcctactttatcaatttcacattcatatacatgtcttttatcaaaatcgccaataagataggatgagctatattagatgctagtagagttcgcgccaacatcatcgataggaatactcaggacagcgtgataggacttttcaatccctaatactctctataattataactctctcttaagtttggaggcagtaacgcgctctatataatcagtttgctgcaccattcttcagcctctgatacatacaaataaattccacagcagtaagagggtttaattgagacatcttgggaacttaggattttactctaacatcaccgaaacgattattggataccgtacctaaacgaactttctcaaggcagtaatataggacatccgcaataacacaaatgctgcctccccaggagttatgtcttcctggaggctatatcttacacccactcactataggcaaactaaagtttaaatgttgattgtctaaaaaaaagatagataagagttggccggcgtagcacatgcgaaagtgaatcgtaagctataattctctggacttgaagttctgtcctgttcctctgcaagaaacaaacttcctttaaagctatttacgacgcacatctcagcaagttataaacatgttggaagtttctagtcggaattcccaaagaacggatctatctaatgcattcctacatttttcctgtctgccgatggtgccatcctattcaaagaatttcttaaaagtagattaaatgggacttttaacaatgagtaaccttacgcctctaagggttcctcgagtgccatacaccagtcaggtccgagccacatacacggagaacattctaacatagcattctcaactcgatcatttgcaggttacttctttcctatcctagtgctaaaaatcatacttgcaatcccatagcacggattaagaacctaagaaacaattcagtaaaacatgttcgaattcttggtatgggaacatcattgcagctatggtctaacgcattaatgtttgggtacatcttccatcatataaacaggaagagtctgacgacagggagtgcttgcgatcatgtctatcattgtgaaatcaaattgtagctcacatgtcgtctatgagagcgtgtatccgataagatttagaaaaatagaagtcgtataagatctcactgaacttttgaatgaatgtgaagcatatatgatctgctttaataaaactttatccataggatacgtttccaaatcaattcaataattattagtcaaaatagataaggatgaacaacctgaaggccgatcggacgtagaaagtggtcccatcactttgagttgatattgttgaaccacacgttattatggttttcaaacagtctcaggatattgtatatacagataatccgataccagttgtctgacgcccctcttacgtaccccaccctttgtgacgtttaaagcagttgttcagtattttaaactaggcggcaactaatttggaaagaagcacagtggatatgtctaaattcttgttattcaggcctgaatttaatacaccgcatagttaacttcgcggtagagttgttcatcatgcctcctctaagctaccacttctatgatacaccaatagttgttctacggaatctgataattggccaagtcataaacttccgctgcgttcaacccccttgctcgaatatccaactcgaaaagacagccttttggtgtccggaacaaatcagttacttcttttctgatgttaattctctgtggtcagatacagaccaaaaactccgcggatttaccatcctccaagaacaaatttgcatcaacatagcattttggctacatattctaagtctcaatagtttaggttttcaactacattatcccaacattaggattggaggaataatagctgggtaagtccccttgcgtctacaatcgactattttttatgaatatgcttctgccgcacctatggttattaaaaaagtcatgactttgaagaaccctgaaaagatagatgaatcaggtgtaatggcagcagccaaagagcatataattagcaacactctaagaacattatagatatgatgatagcgatcgtcatgatgttatccggtcacaatagtagcttcatcagctaattcgttttgccagtggtgacttgcgctggaagaatcgttatacggtcccttccctcttgatacggtgggggcttattcaaccgcgtggattgggttgtcatacttgcattaaacgatgtaaaccatctagtagtcaactatactaaatcacaaaatagtgatcaatacatacccgcttcatggttttaaccatttaattgattaaagatattccgctaagaaccattatctacctaaactgatcgccgtatcctagtagtttgaaatttgatgtaccgtaatgatcaacgaagtaaaacgttatattgtatgtagaataataggtcttggagctaaatgatgtgattggtagtgaagacttacccttacaactttaccggtttctcggaagaatatactagagaatcaatgcatgggctacataagcactttagtctaatgagataaaaaatacacgagtcttccatcatgaattttttgtcgaaaaactcgaacctggtaatttaaaccatatatctttatgtcgtcaataactctcatatgttttatataacttcccaatcacgacttgtaactgcttgttcgactgagctgtttgagctatgaggccgggatccggttgagctacatctatttgctacaagaaaaatgaaagcacatttgttgggagttctggctacactcatagagaaataagtggcccgagtgggtgcggcctgcctccatattcaagtgtatcttaaaccaagtggttccaacgctcgcgctaaagaattaaagcctttatttcctccacggagtagcccgtaatccggttcgaaagagaccattgaagttaattttcatatccagtgaagtttaggcacaagcatgtgttctgccacatgcctcaaagcgctcttcaaccaagatatgattcatcctaacttcgatgaatgcgtctgtaacataaatatagaaggaatgattcggcgagttaattttcgccttctccaacatggcatccctacgttcgttataaggaccatacatgtaggttttaaaggtttgcggttaatcgatatttacatcatagaaattctatagtcaaatttacaagactctagatactcactcgttgcagccggctaggaagcgctttgtaccttacttcccttttcgttgcgtaatatgaatttcatatagtaagttcaaggcactcatacctccgtgaagagggtagatagactattaaagttgtttaatagtacgtattgatggaaatgacccgtaggagatttaccactcaatccacaagattcgctgctgtgcattatcaaaacagtgcatgtcgaaacatgggttgggtccttcaaacacgaatccaggtagagatacctttgcaatttttGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCcttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcgtactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaaNtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgtcattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcagagtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYaHgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRcatttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactttattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSStacaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaaccttacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYtgtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWaaccRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagtRDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgttgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacagcccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctgttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaatactcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKaggYtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSaKtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttataaaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBaaNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacggtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgctcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccKtcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMtttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacgggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNaBKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDttaRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacctttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatccgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcacaattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKgatacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcgaaacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaDgttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtgttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcVtaBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaaccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagatgaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgggaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaatYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctttYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactttaSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatcacBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBagaHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHtcgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctcttttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBWattccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatagttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaaattBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStctHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHcctaaagacYRcaggattHaYgtKtaatgcVcaataMYacccatatcacgWDBtgaatcBaatacKcttRaRtgatgaBDacggtaattaaYtataStgVHDtDctgactcaaatKtacaatgcgYatBtRaDatHaactgtttatatDttttaaaKVccYcaaccNcBcgHaaVcattHctcgattaaatBtatgcaaaaatYMctSactHatacgaWacattacMBgHttcgaatVaaaacaBatatVtctgaaaaWtctRacgBMaatSgRgtgtcgactatcRtattaScctaStagKgaDcWgtYtDDWKRgRtHatRtggtcgaHgggcgtattaMgtcagccaBggWVcWctVaaattcgNaatcKWagcNaHtgaaaSaaagctcYctttRVtaaaatNtataaccKtaRgtttaMtgtKaBtRtNaggaSattHatatWactcagtgtactaKctatttgRYYatKatgtccgtRtttttatttaatatVgKtttgtatgtNtataRatWYNgtRtHggtaaKaYtKSDcatcKgtaaYatcSRctaVtSMWtVtRWHatttagataDtVggacagVcgKWagBgatBtaaagNcaRtagcataBggactaacacRctKgttaatcctHgDgttKHHagttgttaatgHBtatHcDaagtVaBaRccctVgtgDtacRHSctaagagcggWYaBtSaKtHBtaaactYacgNKBaVYgtaacttagtVttcttaatgtBtatMtMtttaattaatBWccatRtttcatagVgMMtagctStKctaMactacDNYgKYHgaWcgaHgagattacVgtttgtRaSttaWaVgataatgtgtYtaStattattMtNgWtgttKaccaatagNYttattcgtatHcWtctaaaNVYKKttWtggcDtcgaagtNcagatacgcattaagaccWctgcagcttggNSgaNcHggatgtVtcatNtRaaBNcHVagagaaBtaaSggDaatWaatRccaVgggStctDaacataKttKatttggacYtattcSatcttagcaatgaVBMcttDattctYaaRgatgcattttNgVHtKcYRaatRKctgtaaacRatVSagctgtWacBtKVatctgttttKcgtctaaDcaagtatcSataWVgcKKataWaYttcccSaatgaaaacccWgcRctWatNcWtBRttYaattataaNgacacaatagtttVNtataNaYtaatRaVWKtBatKagtaatataDaNaaaaataMtaagaaStccBcaatNgaataWtHaNactgtcDtRcYaaVaaaaaDgtttRatctatgHtgttKtgaaNSgatactttcgagWaaatctKaaDaRttgtggKKagcDgataaattgSaacWaVtaNMacKtcaDaaatttctRaaVcagNacaScRBatatctRatcctaNatWgRtcDcSaWSgttRtKaRtMtKaatgttBHcYaaBtgatSgaSWaScMgatNtctcctatttctYtatMatMtRRtSaattaMtagaaaaStcgVgRttSVaScagtgDtttatcatcatacRcatatDcttatcatVRtttataaHtattcYtcaaaatactttgVctagtaaYttagatagtSYacKaaacgaaKtaaatagataatSatatgaaatSgKtaatVtttatcctgKHaatHattagaaccgtYaaHactRcggSBNgtgctaaBagBttgtRttaaattYtVRaaaattgtaatVatttctcttcatgBcVgtgKgaHaaatattYatagWacNctgaaMcgaattStagWaSgtaaKagttttaagaDgatKcctgtaHtcatggKttVDatcaaggtYcgccagNgtgcVttttagagatgctaccacggggtNttttaSHaNtatNcctcatSaaVgtactgBHtagcaYggYVKNgtaKBcRttgaWatgaatVtagtcgattYgatgtaatttacDacSctgctaaaStttaWMagDaaatcaVYctccgggcgaVtaaWtStaKMgDtttcaaMtVgBaatccagNaaatcYRMBggttWtaaScKttMWtYataRaDBMaDataatHBcacDaaKDactaMgagttDattaHatHtaYatDtattDcRNStgaatattSDttggtattaaNSYacttcDMgYgBatWtaMagactVWttctttgYMaYaacRgHWaattgRtaagcattctMKVStatactacHVtatgatcBtVNataaBttYtSttacKgggWgYDtgaVtYgatDaacattYgatggtRDaVDttNactaSaMtgNttaacaaSaBStcDctaccacagacgcaHatMataWKYtaYattMcaMtgSttDagcHacgatcaHttYaKHggagttccgatYcaatgatRaVRcaagatcagtatggScctatattaNtagcgacgtgKaaWaactSgagtMYtcttccaKtStaacggMtaagNttattatcgtctaRcactctctDtaacWYtgaYaSaagaWtNtatttRacatgNaatgttattgWDDcNaHcctgaaHacSgaataaRaataMHttatMtgaSDSKatatHHaNtacagtccaYatWtcactaactatKDacSaStcggataHgYatagKtaatKagStaNgtatactatggRHacttgtattatgtDVagDVaRctacMYattDgtttYgtctatggtKaRSttRccRtaaccttagagRatagSaaMaacgcaNtatgaaatcaRaagataatagatactcHaaYKBctccaagaRaBaStNagataggcgaatgaMtagaatgtcaKttaaatgtaWcaBttaatRcggtgNcacaaKtttScRtWtgcatagtttWYaagBttDKgcctttatMggNttattBtctagVtacataaaYttacacaaRttcYtWttgHcaYYtaMgBaBatctNgcDtNttacgacDcgataaSatYaSttWtcctatKaatgcagHaVaacgctgcatDtgttaSataaaaYSNttatagtaNYtaDaaaNtggggacttaBggcHgcgtNtaaMcctggtVtaKcgNacNtatVaSWctWtgaWcggNaBagctctgaYataMgaagatBSttctatacttgtgtKtaattttRagtDtacatatatatgatNHVgBMtKtaKaNttDHaagatactHaccHtcatttaaagttVaMcNgHatatKtaNtgYMccttatcaaNagctggacStttcNtggcaVtattactHaSttatgNMVattMMDtMactattattgWMSgtHBttStStgatatRaDaagattttctatMtaaaaaggtactaaVttaSacNaatactgMttgacHaHRttgMacaaaatagttaatatWKRgacDgaRtatatttattatcYttaWtgtBRtWatgHaaattHataagtVaDtWaVaWtgStcgtMSgaSRgMKtaaataVacataatgtaSaatttagtcgaaHtaKaatgcacatcggRaggSKctDcagtcSttcccStYtccRtctctYtcaaKcgagtaMttttcRaYDttgttatctaatcataNctctgctatcaMatactataggDaHaaSttMtaDtcNatataattctMcStaaBYtaNagatgtaatHagagSttgWHVcttatKaYgDctcttggtgttMcRaVgSgggtagacaataaDtaattSaDaNaHaBctattgNtaccaaRgaVtKNtaaYggHtaKKgHcatctWtctDtttctttggSDtNtaStagttataaacaattgcaBaBWggHgcaaaBtYgctaatgaaatWcDcttHtcMtWWattBHatcatcaaatctKMagtDNatttWaBtHaaaNgMttaaStagttctctaatDtcRVaYttgttMtRtgtcaSaaYVgSWDRtaatagctcagDgcWWaaaBaaRaBctgVgggNgDWStNaNBKcBctaaKtttDcttBaaggBttgaccatgaaaNgttttttttatctatgttataccaaDRaaSagtaVtDtcaWatBtacattaWacttaSgtattggDgKaaatScaattacgWcagKHaaccaYcRcaRttaDttRtttHgaHVggcttBaRgtccctDatKaVtKtcRgYtaKttacgtatBtStaagcaattaagaRgBagSaattccSWYtttattVaataNctgHgttaaNBgcVYgtRtcccagWNaaaacaDNaBcaaaaRVtcWMgBagMtttattacgDacttBtactatcattggaaatVccggttRttcatagttVYcatYaSHaHcttaaagcNWaHataaaRWtctVtRYtagHtaaaYMataHYtNBctNtKaatattStgaMcBtRgctaKtgcScSttDgYatcVtggaaKtaagatWccHccgKYctaNNctacaWcttttgcRtgtVcgaKttcMRHgctaHtVaataaDtatgKDcttatBtDttggNtacttttMtgaacRattaaNagaactcaaaBBVtcDtcgaStaDctgaaaSgttMaDtcgttcaccaaaaggWtcKcgSMtcDtatgtttStaaBtatagDcatYatWtaaaBacaKgcaDatgRggaaYctaRtccagattDaWtttggacBaVcHtHtaacDacYgtaatataMagaatgHMatcttatacgtatttttatattacHactgttataMgStYaattYaccaattgagtcaaattaYtgtatcatgMcaDcgggtcttDtKgcatgWRtataatatRacacNRBttcHtBgcRttgtgcgtcatacMtttBctatctBaatcattMttMYgattaaVYatgDaatVagtattDacaacDMatcMtHcccataagatgBggaccattVWtRtSacatgctcaaggggYtttDtaaNgNtaaBatggaatgtctRtaBgBtcNYatatNRtagaacMgagSaSDDSaDcctRagtVWSHtVSRggaacaBVaccgtttaStagaacaMtactccagtttVctaaRaaHttNcttagcaatttattaatRtaaaatctaacDaBttggSagagctacHtaaRWgattcaaBtctRtSHaNtgtacattVcaHaNaagtataccacaWtaRtaaVKgMYaWgttaKggKMtKcgWatcaDatYtKSttgtacgaccNctSaattcDcatcttcaaaDKttacHtggttHggRRaRcaWacaMtBWVHSHgaaMcKattgtaRWttScNattBBatYtaNRgcggaagacHSaattRtttcYgaccBRccMacccKgatgaacttcgDgHcaaaaaRtatatDtatYVtttttHgSHaSaatagctNYtaHYaVYttattNtttgaaaYtaKttWtctaNtgagaaaNctNDctaaHgttagDcRttatagccBaacgcaRBtRctRtggtaMYYttWtgataatcgaataattattataVaaaaattacNRVYcaaMacNatRttcKatMctgaagactaattataaYgcKcaSYaatMNctcaacgtgatttttBacNtgatDccaattattKWWcattttatatatgatBcDtaaaagttgaaVtaHtaHHtBtataRBgtgDtaataMttRtDgDcttattNtggtctatctaaBcatctaRatgNacWtaatgaagtcMNaacNgHttatactaWgcNtaStaRgttaaHacccgaYStacaaaatWggaYaWgaattattcMaactcBKaaaRVNcaNRDcYcgaBctKaacaaaaaSgctccYBBHYaVagaatagaaaacagYtctVccaMtcgtttVatcaatttDRtgWctagtacRttMctgtDctttcKtWttttataaatgVttgBKtgtKWDaWagMtaaagaaattDVtaggttacatcatttatgtcgMHaVcttaBtVRtcgtaYgBRHatttHgaBcKaYWaatcNSctagtaaaaatttacaatcactSWacgtaatgKttWattagttttNaggtctcaagtcactattcttctaagKggaataMgtttcataagataaaaatagattatDgcBVHWgaBKttDgcatRHaagcaYcRaattattatgtMatatattgHDtcaDtcaaaHctStattaatHaccgacNattgatatattttgtgtDtRatagSacaMtcRtcattcccgacacSattgttKaWattNHcaacttccgtttSRtgtctgDcgctcaaMagVtBctBMcMcWtgtaacgactctcttRggRKSttgYtYatDccagttDgaKccacgVatWcataVaaagaataMgtgataaKYaaatcHDaacgataYctRtcYatcgcaMgtNttaBttttgatttaRtStgcaacaaaataccVgaaDgtVgDcStctatatttattaaaaRKDatagaaagaKaaYYcaYSgKStctccSttacagtcNactttDVttagaaagMHttRaNcSaRaMgBttattggtttaRMggatggcKDgWRtNaataataWKKacttcKWaaagNaBttaBatMHtccattaacttccccYtcBcYRtagattaagctaaYBDttaNtgaaaccHcaRMtKtaaHMcNBttaNaNcVcgVttWNtDaBatgataaVtcWKcttRggWatcattgaRagHgaattNtatttctctattaattaatgaDaaMatacgttgggcHaYVaaNaDDttHtcaaHtcVVDgBVagcMacgtgttaaBRNtatRtcagtaagaggtttaagacaVaaggttaWatctccgtVtaDtcDatttccVatgtacNtttccgtHttatKgScBatgtVgHtYcWagcaKtaMYaaHgtaattaSaHcgcagtWNaatNccNNYcacgVaagaRacttctcattcccRtgtgtaattagcSttaaStWaMtctNNcSMacattataaactaDgtatWgtagtttaagaaaattgtagtNagtcaataaatttgatMMYactaatatcggBWDtVcYttcDHtVttatacYaRgaMaacaStaatcRttttVtagaDtcacWatttWtgaaaagaaagNRacDtttStVatBaDNtaactatatcBSMcccaSttccggaMatgattaaWatKMaBaBatttgataNctgttKtVaagtcagScgaaaDggaWgtgttttKtWtatttHaatgtagttcactaaKMagttSYBtKtaYgaactcagagRtatagtVtatcaaaWYagcgNtaDagtacNSaaYDgatBgtcgataacYDtaaactacagWDcYKaagtttattagcatcgagttKcatDaattgattatDtcagRtWSKtcgNtMaaaaacaMttKcaWcaaSVMaaaccagMVtaMaDtMaHaBgaacataBBVtaatVYaNSWcSgNtDNaaKacacBtttatKtgtttcaaHaMctcagtaacgtcgYtactDcgcctaNgagagcYgatattttaaatttccattttacatttDaaRctattttWctttacgtDatYtttcagacgcaaVttagtaaKaaaRtgVtccataBggacttatttgtttaWNtgttVWtaWNVDaattgtatttBaagcBtaaBttaaVatcHcaVgacattccNggtcgacKttaaaRtagRtctWagaYggtgMtataatMtgaaRttattttgWcttNtDRRgMDKacagaaaaggaaaRStcccagtYccVattaNaaKStNWtgacaVtagaagcttSaaDtcacaacgDYacWDYtgtttKatcVtgcMaDaSKStVcgtagaaWaKaagtttcHaHgMgMtctataagBtKaaaKKcactggagRRttaagaBaaNatVVcgRcKSttDaactagtSttSattgttgaaRYatggttVttaataaHttccaagDtgatNWtaagHtgcYtaactRgcaatgMgtgtRaatRaNaacHKtagactactggaatttcgccataacgMctRgatgttaccctaHgtgWaYcactcacYaattcttaBtgacttaaacctgYgaWatgBttcttVttcgttWttMcNYgtaaaatctYgMgaaattacNgaHgaacDVVMtttggtHtctaaRgtacagacgHtVtaBMNBgattagcttaRcttacaHcRctgttcaaDBggttKaacatgKtttYataVaNattccgMcgcgtagtRaVVaattaKaatggttRgaMcagtatcWBttNtHagctaatctagaaNaaacaYBctatcgcVctBtgcaaagDgttVtgaHtactSNYtaaNccatgtgDacgaVtDcgKaRtacDcttgctaagggcagMDagggtBWRtttSgccttttttaacgtcHctaVtVDtagatcaNMaVtcVacatHctDWNaataRgcgtaVHaggtaaaaSgtttMtattDgBtctgatSgtRagagYtctSaKWaataMgattRKtaacatttYcgtaacacattRWtBtcggtaaatMtaaacBatttctKagtcDtttgcBtKYYBaKttctVttgttaDtgattttcttccacttgSaaacggaaaNDaattcYNNaWcgaaYattttMgcBtcatRtgtaaagatgaWtgaccaYBHgaatagataVVtHtttVgYBtMctaMtcctgaDcYttgtccaaaRNtacagcMctKaaaggatttacatgtttaaWSaYaKttBtagDacactagctMtttNaKtctttcNcSattNacttggaacaatDagtattRtgSHaataatgccVgacccgatactatccctgtRctttgagaSgatcatatcgDcagWaaHSgctYYWtatHttggttctttatVattatcgactaagtgtagcatVgtgHMtttgtttcgttaKattcMatttgtttWcaaStNatgtHcaaaDtaagBaKBtRgaBgDtSagtatMtaacYaatYtVcKatgtgcaacVaaaatactKcRgtaYtgtNgBBNcKtcttaccttKgaRaYcaNKtactttgagSBtgtRagaNgcaaaNcacagtVtttHWatgttaNatBgtttaatNgVtctgaatatcaRtattcttttttttRaaKcRStctcggDgKagattaMaaaKtcaHacttaataataKtaRgDtKVBttttcgtKaggHHcatgttagHggttNctcgtatKKagVagRaaaggaaBtNatttVKcRttaHctaHtcaaatgtaggHccaBataNaNaggttgcWaatctgatYcaaaHaatWtaVgaaBttagtaagaKKtaaaKtRHatMaDBtBctagcatWtatttgWttVaaaScMNattRactttgtYtttaaaagtaagtMtaMaSttMBtatgaBtttaKtgaatgagYgtNNacMtcNRacMMHcttWtgtRtctttaacaacattattcYaMagBaacYttMatcttKcRMtgMNccattaRttNatHaHNaSaaHMacacaVaatacaKaSttHatattMtVatWgattttttaYctttKttHgScWaacgHtttcaVaaMgaacagNatcgttaacaaaaagtacaHBNaattgttKtcttVttaaBtctgctacgBgcWtttcaggacacatMgacatcccagcggMgaVKaBattgacttaatgacacacaaaaaatRKaaBctacgtRaDcgtagcVBaacDSBHaaaaSacatatacagacRNatcttNaaVtaaaataHattagtaaaaSWccgtatWatggDttaactattgcccatcttHaSgYataBttBaactattBtcHtgatcaataSttaBtatKSHYttWggtcYtttBttaataccRgVatStaHaKagaatNtagRMNgtcttYaaSaactcagDSgagaaYtMttDtMRVgWKWtgMaKtKaDttttgactatacataatcNtatNaHattVagacgYgatatatttttgtStWaaatctWaMgagaRttRatacgStgattcttaagaDtaWccaaatRcagcagaaNKagtaaDggcgccBtYtagSBMtactaaataMataBSacRMgDgattMMgtcHtcaYDtRaDaacggttDaggcMtttatgttaNctaattaVacgaaMMtaatDccSgtattgaRtWWaccaccgagtactMcgVNgctDctaMScatagcgtcaactatacRacgHRttgctatttaatgaattataYKttgtaagWgtYttgcHgMtaMattWaWVtaRgcttgYgttBHtYataSccStBtgtagMgtDtggcVaaSBaatagDttgBgtctttctcattttaNagtHKtaMWcYactVcgcgtatMVtttRacVagDaatcttgctBBcRDgcaacKttgatSKtYtagBMagaRtcgBattHcBWcaactgatttaatttWDccatttatcgagSKaWttataHactaHMttaatHtggaHtHagaatgtKtaaRactgtttMatacgatcaagDgatKaDctataMggtHDtggHacctttRtatcttYattttgacttgaaSaataaatYcgBaaaaccgNatVBttMacHaKaataagtatKgtcaagactcttaHttcggaattgttDtctaaccHttttWaaatgaaatataaaWattccYDtKtaaaacggtgaggWVtctattagtgactattaagtMgtttaagcatttgSgaaatatccHaaggMaaaattttcWtatKctagDtYtMcctagagHcactttactatacaaacattaacttaHatcVMYattYgVgtMttaaRtgaaataaDatcaHgtHHatKcDYaatcttMtNcgatYatgSaMaNtcttKcWataScKggtatcttacgcttWaaagNatgMgHtctttNtaacVtgttcMaaRatccggggactcMtttaYMtcWRgNctgNccKatcttgYDcMgattNYaRagatHaaHgKctcataRDttacatBatccattgDWttatttaWgtcggagaaaaatacaatacSNtgggtttccttacSMaagBattacaMaNcactMttatgaRBacYcYtcaaaWtagctSaacttWgDMHgaggatgBVgcHaDtggaactttggtcNatNgtaKaBcccaNtaagttBaacagtatacDYttcctNgWgcgSMcacatStctHatgRcNcgtacacaatRttMggaNKKggataaaSaYcMVcMgtaMaHtgattYMatYcggtcttcctHtcDccgtgRatcattgcgccgatatMaaYaataaYSggatagcgcBtNtaaaScaKgttBgagVagttaKagagtatVaactaSacWactSaKatWccaKaaaatBKgaaKtDMattttgtaaatcRctMatcaaMagMttDgVatggMaaWgttcgaWatgaaatttgRtYtattaWHKcRgctacatKttctaccaaHttRatctaYattaaWatVNccatNgagtcKttKataStRaatatattcctRWatDctVagttYDgSBaatYgttttgtVaatttaatagcagMatRaacttBctattgtMagagattaaactaMatVtHtaaatctRgaaaaaaaatttWacaacaYccYDSaattMatgaccKtaBKWBattgtcaagcHKaagttMMtaatttcKcMagNaaKagattggMagaggtaatttYacatcWaaDgatMgKHacMacgcVaacaDtaDatatYggttBcgtatgWgaSatttgtagaHYRVacaRtctHaaRtatgaactaatatctSSBgggaaHMWtcaagatKgagtDaSatagttgattVRatNtctMtcSaagaSHaataNataataRaaRgattctttaataaagWaRHcYgcatgtWRcttgaaggaMcaataBRaaccagStaaacNtttcaatataYtaatatgHaDgcStcWttaacctaRgtYaRtataKtgMttttatgactaaaatttacYatcccRWtttHRtattaaatgtttatatttgttYaatMcaRcSVaaDatcgtaYMcatgtagacatgaaattgRtcaaYaaYtRBatKacttataccaNaaattVaBtctggacaagKaaYaaatatWtMtatcYaaVNtcgHaactBaagKcHgtctacaatWtaDtSgtaHcataHtactgataNctRgttMtDcDttatHtcgtacatcccaggSttaBgtcacacWtccNMcNatMVaVgtccDYStatMaccDatggYaRKaaagataRatttHKtSaaatDgataaacttaHgttgVBtcttVttHgDacgaKatgtatatNYataactctSatatatattgcHRRYttStggaactHgttttYtttaWtatMcttttctatctDtagVHYgMRBgtHttcctaatYRttKtaagatggaVRataKDctaMtKBNtMtHNtWtttYcVtattMcgRaacMcctNSctcatttaaagDcaHtYccSgatgcaatYaaaaDcttcgtaWtaattctcgttttScttggtaatctttYgtctaactKataHacctMctcttacHtKataacacagcNRatgKatttttSaaatRYcgDttaMRcgaaattactMtgcgtaagcgttatBtttttaattaagtNacatHgttcRgacKcBBtVgatKttcgaBaatactDRgtRtgaNacWtcacYttaaKcgttctHaKttaNaMgWgWaggtctRgaKgWttSttBtDcNtgtttacaaatYcDRtgVtgcctattcNtctaaaDMNttttNtggctgagaVctDaacVtWccaagtaacacaNctgaScattccDHcVBatcgatgtMtaatBgHaatDctMYgagaatgYWKcctaatNaStHaaaKccgHgcgtYaaYtattgtStgtgcaaRtattaKatattagaWVtcaMtBagttattagNaWHcVgcaattttDcMtgtaRHVYtHtctgtaaaaHVtMKacatcgNaatttMatatgttgttactagWYtaRacgataKagYNKcattataNaRtgaacKaYgcaaYYacaNccHatMatDcNgtHttRaWttagaaDcaaaaaatagggtKDtStaDaRtaVtHWKNtgtattVctSVgRgataDaRaWataBgaagaaKtaataaYgDcaStaNgtaDaaggtattHaRaWMYaYaWtggttHYgagVtgtgcttttcaaDKcagVcgttagacNaaWtagtaataDttctggttVcatcataaagtgKaaaNaMtaBBaattaatWaattgctHaVKaSgDaaVKaHtatatatHatcatSBagNgHtatcHYMHgttDgtaHtBttWatcgtttaRaattgStKgSKNWKatcagDtctcagatttctRtYtBatBgHHtKaWtgYBgacVVWaKtacKcDttKMaKaVcggtgttataagaataaHaatattagtataatMHgttYgaRttagtaRtcaaVatacggtcMcgagtaaRttacWgactKRYataaaagSattYaWgagatYagKagatgSaagKgttaatMggtataatgttWYttatgagaaacctNVataatHcccKtDctcctaatactggctHggaSaggRtKHaWaattcgSatMatttagaggcYtctaMcgctcataSatatgRagacNaaDaggaVBagaYttKtacNaKgtSYtagttggaWcatcWttaatctatgaVtcgtgtMtatcaYcgtRccaaYgDctgcMgtgtWgacWtgataacacgcgctBtgttaKtYDtatDcatcagKaVMctaatcttgVcaaRgcRMtDcgattaHttcaNatgaatMtactacVgtRgatggaWtttactaaKatgagSaaKggtaNtactVaYtaaKRagaacccacaMtaaMtKtatBcttgtaaWBtMctaataaVcDaaYtcRHBtcgttNtaaHatttBNgRStVDattBatVtaagttaYatVattaagaBcacggtSgtVtatttaRattgatgtaHDKgcaatattKtggcctatgaWDKRYcggattgRctatNgatacaatMNttctgtcRBYRaaaHctNYattcHtaWcaattctBtMKtVgYataatMgYtcagcttMDataVtggRtKtgaatgccNcRttcaMtRgattaacattRcagcctHtWMtgtDRagaKaBtgDttYaaaaKatKgatctVaaYaacWcgcatagBVtaNtRtYRaggBaaBtgKgttacataagagcatgtRattccacttaccatRaaatgWgDaMHaYVgVtaSctatcgKaatatattaDgacccYagtgtaYNaaatKcagtBRgagtccatgKgaaaccBgaagBtgSttWtacgatWHaYatcgatttRaaNRgcaNaKVacaNtDgattgHVaatcDaagcgtatgcNttaDataatcSataaKcaataaHWataBtttatBtcaKtKtatagttaDgSaYctacaRatNtaWctSaatatttYaKaKtaccWtatcRagacttaYttVcKgSDcgagaagatccHtaattctSttatggtKYgtMaHagVaBRatttctgtRgtctatgggtaHKgtHacHtSYacgtacacHatacKaaBaVaccaDtatcSaataaHaagagaatScagactataaRttagcaaVcaHataKgDacatWccccaagcaBgagWatctaYttgaaatctVNcYtttWagHcgcgcDcVaaatgttKcHtNtcaatagtgtNRaactttttcaatggWgBcgDtgVgtttctacMtaaataaaRggaaacWaHttaRtNtgctaaRRtVBctYtVtatDcattDtgaccYatagatYRKatNYKttNgcctagtaWtgaactaMVaacctgaStttctgaKVtaaVaRKDttVtVctaDNtataaaDtccccaagtWtcgatcactDgYaBcatcctMtVtacDaaBtYtMaKNatNtcaNacgDatYcatcgcaRatWBgaacWttKttagYtaattcggttgSWttttDWctttacYtatatWtcatDtMgtBttgRtVDggttaacYtacgtacatgaattgaaWcttMStaDgtatattgaDtcRBcattSgaaVBRgagccaaKtttcDgcgaSMtatgWattaKttWtgDBMaggBBttBaatWttRtgcNtHcgttttHtKtcWtagHStaacagttgatatBtaWSaWggtaataaMttaKacDaatactcBttcaatatHttcBaaSaaatYggtaRtatNtHcaatcaHtagVtgtattataNggaMtcttHtNagctaaaggtagaYctMattNaMVNtcKtactBKcaHHcBttaSagaKacataYgctaKaYgttYcgacWVttWtSagcaacatcccHaccKtcttaacgaKttcacKtNtacHtatatRtaaatacactaBtttgaHaRttggttWtatYagcatYDatcggagagcWBataagRtacctataRKgtBgatgaDatataSttagBaHtaatNtaDWcWtgtaattacagKttcNtMagtattaNgtctcgtcctcttBaHaKcKccgtRcaaYagSattaagtKataDatatatagtcDtaacaWHcaKttDgaaRcgtgYttgtcatatNtatttttatggccHtgDtYHtWgttatYaacaattcaWtatNgctcaaaSttRgctaatcaaatNatcgtttaBtNNVtgttataagcaaagattBacgtDatttNatttaaaDcBgtaSKgacgtagataatttcHMVNttgttBtDtgtaWKaaRMcKMtHtaVtagataWctccNNaSWtVaHatctcMgggDgtNHtDaDttatatVWttgttatttaacctttcacaaggaSaDcggttttttatatVtctgVtaacaStDVaKactaMtttaSNagtgaaattaNacttSKctattcctctaSagKcaVttaagNaVcttaVaaRNaHaaHttatgtHttgtgatMccaggtaDcgaccgtWgtWMtttaHcRtattgScctatttKtaaccaagtYagaHgtWcHaatgccKNRtttagtMYSgaDatctgtgaWDtccMNcgHgcaaacNDaaaRaStDWtcaaaaHKtaNBctagBtgtattaactaattttVctagaatggcWSatMacccttHttaSgSgtgMRcatRVKtatctgaaaccDNatYgaaVHNgatMgHRtacttaaaRtatStRtDtatDttYatattHggaBcttHgcgattgaKcKtttcRataMtcgaVttWacatNcatacctRataDDatVaWNcggttgaHtgtMacVtttaBHtgagVttMaataattatgttcttagtttgtgcDtSatttgBtcaacHattaaBagVWcgcaSYttMgcttacYKtVtatcaYaKctgBatgcgggcYcaaaaacgNtctagKBtattatctttKtaVttatagtaYtRagNtaYataaVtgaatatcHgcaaRataHtacacatgtaNtgtcgYatWMatttgaactacRctaWtWtatacaatctBatatgYtaagtatgtgtatSttactVatcttYtaBcKgRaSggRaaaaatgcagtaaaWgtaRgcgataatcBaataccgtatttttccatcNHtatWYgatHSaaaDHttgctgtccHtggggcctaataatttttctatattYWtcattBtgBRcVttaVMRSgctaatMagtYtttaaaaatBRtcBttcaaVtaacagctccSaaSttKNtHtKYcagcagaaaccccRtttttaaDcDtaStatccaagcgctHtatcttaDRYgatDHtWcaaaBcWgKWHttHataagHacgMNKttMKHccaYcatMVaacgttaKgYcaVaaBtacgcaactttMctaaHaatgtBatgagaSatgtatgSRgHgWaVWgataaatatttccKagVgataattWaHNcYggaaatgctHtKtaDtctaaagtMaatVDVactWtSaaWaaMtaHtaSKtcBRaNcttStggtBttacNagcatagRgtKtgcgaacaacBcgKaatgataagatgaaaattgtactgcgggtccHHWHaaNacaBttNKtKtcaaBatatgctaHNgtKcDWgtttatNgVDHgaccaacWctKaaggHttgaRgYaatHcaBacaatgagcaaattactgtaVaaYaDtagattgagNKggtggtgKtWKaatacagDRtatRaMRtgattDggtcaaYRtatttNtagaDtcacaaSDctDtataatcgtactaHttatacaatYaacaaHttHatHtgcgatRRttNgcatSVtacWWgaaggagtatVMaVaaattScDDKNcaYBYaDatHgtctatBagcaacaagaatgagaaRcataaKNaRtBDatcaaacgcattttttaaBtcSgtacaRggatgtMNaattggatatWtgagtattaaaVctgcaYMtatgatttttYgaHtgtcttaagWBttHttgtcttattDtcgtatWtataataSgctaHagcDVcNtaatcaagtaBDaWaDgtttagYctaNccDtaKtaHcttaataacccaRKtacaVaatNgcWRaMgaattatgaBaaagattVYaHMDcaDHtcRcgYtcttaaaWaaaVKgatacRtttRRKYgaatacaWVacVcRtatMacaBtactggMataaattttHggNagSctacHgtBagcgtcgtgattNtttgatSaaggMttctttcttNtYNagBtaaacaaatttMgaccttacataattgYtcgacBtVMctgStgMDtagtaRctHtatgttcatatVRNWataDKatWcgaaaaagttaaaagcacgHNacgtaatctttMRtgacttttDacctataaacgaaatatgattagaactccSYtaBctttaataacWgaaaYatagatgWttcatKtNgatttttcaagHtaYgaaRaDaagtaggagcttatVtagtctttcattaaaatcgKtattaRttacagVaDatgcatVgattgggtctttHVtagKaaRBtaHtaaggccccaaaaKatggtttaMWgtBtaaacttcactttKHtcgatctccctaYaBacMgtcttBaBaNgcgaaacaatctagtHccHtKttcRtRVttccVctttcatacYagMVtMcagaMaaacaataBctgYtaatRaaagattaaccatVRatHtaRagcgcaBcgDttStttttcVtttaDtKgcaaWaaaaatSccMcVatgtKgtaKgcgatatgtagtSaaaDttatacaaacatYaRRcVRHctKtcgacKttaaVctaDaatgttMggRcWaacttttHaDaKaDaBctgtaggcgtttaHBccatccattcNHtDaYtaataMttacggctNVaacDattgatattttacVttSaattacaaRtataNDgacVtgaacataVRttttaDtcaaacataYDBtttaatBaDtttYDaDaMccMttNBttatatgagaaMgaNtattHccNataattcaHagtgaaggDgatgtatatatgYatgaStcataaBStWacgtcccataRMaaDattggttaaattcMKtctMacaBSactcggaatDDgatDgcWctaacaccgggaVcacWKVacggtaNatatacctMtatgatagtgcaKagggVaDtgtaacttggagtcKatatcgMcttRaMagcattaBRaStctYSggaHYtacaactMBaagDcaBDRaaacMYacaHaattagcattaaaHgcgctaaggSccKtgaaKtNaBtatDDcKBSaVtgatVYaagVtctSgMctacgttaacWaaattctSgtDactaaStaaattgcagBBRVctaatatacctNttMcRggctttMttagacRaHcaBaacVKgaataHttttMgYgattcYaNRgttMgcVaaacaVVcDHaatttgKtMYgtatBtVVctWgVtatHtacaaHttcacgatagcagtaaNattBatatatttcVgaDagcggttMaagtcScHagaaatgcYNggcgtttttMtStggtRatctacttaaatVVtBacttHNttttaRcaaatcacagHgagagtMgatcSWaNRacagDtatactaaDKaSRtgattctccatSaaRttaaYctacacNtaRtaactggatgaccYtacactttaattaattgattYgttcagDtNKttagDttaaaaaaaBtttaaNaYWKMBaaaacVcBMtatWtgBatatgaacVtattMtYatMNYDKNcKgDttDaVtaaaatgggatttctgtaaatWtctcWgtVVagtcgRgacttcccctaDcacagcRcagagtgtWSatgtacatgttaaSttgtaaHcgatgggMagtgaacttatRtttaVcaccaWaMgtactaatSSaHtcMgaaYtatcgaaggYgggcgtgaNDtgttMNgaNDMtaattcgVttttaacatgVatgtWVMatatcaKgaaattcaBcctccWcttgaaWHtWgHtcgNWgaRgctcBgSgaattgcaaHtgattgtgNagtDttHHgBttaaWcaaWagcaSaHHtaaaVctRaaMagtaDaatHtDMtcVaWMtagSagcttHSattaacaaagtRacMtRtctgttagcMtcaBatVKtKtKacgagaSNatSactgtatatcBctgagVtYactgtaaattaaaggcYgDHgtaacatSRDatMMccHatKgttaacgactKtgKagtcttcaaHRVtccttKgtSataatttacaactggatDNgaacttcaRtVaagDcaWatcBctctHYatHaDaaatttagYatSatccaWtttagaaatVaacBatHcatcgtacaatatcgcNYRcaataYaRaYtgattVttgaatgaVaactcRcaNStgtgtattMtgaggtNttBaDRcgaaaagctNgBcWaWgtSaDcVtgVaatMKBtttcgtttctaaHctaaagYactgMtatBDtcStgaccgtSDattYaataHctgggaYYttcggttaWaatctggtRagWMaDagtaacBccactacgHWMKaatgatWatcctgHcaBaSctVtcMtgtDttacctaVgatYcWaDRaaaaRtagatcgaMagtggaRaWctctgMgcWttaagKBRtaaDaaWtctgtaagYMttactaHtaatcttcataacggcacBtSgcgttNHtgtHccatgttttaaagtatcgaKtMttVcataYBBaKtaMVaVgtattNDSataHcagtWMtaggtaSaaKgttgBtVtttgttatcatKcgHacacRtctHatNVagSBgatgHtgaRaSgttRcctaacaaattDNttgacctaaYtBgaaaatagttattactcttttgatgtNNtVtgtatMgtcttRttcatttgatgacacttcHSaaaccaWWDtWagtaRDDVNacVaRatgttBccttaatHtgtaaacStcVNtcacaSRttcYagacagaMMttttgMcNttBcgWBtactgVtaRttctccaaYHBtaaagaBattaYacgatttacatctgtaaMKaRYtttttactaaVatWgctBtttDVttctggcDaHaggDaagtcgaWcaagtagtWttHtgKtVataStccaMcWcaagataagatcactctHatgtcYgaKcatcagatactaagNSStHcctRRNtattgtccttagttagMVgtatagactaactctVcaatMctgtttgtgttgccttatWgtaBVtttctggMcaaKgDWtcgtaaYStgSactatttHgatctgKagtagBtVacRaagRtMctatgggcaaaKaaaatacttcHctaRtgtDcttDattaggaaatttcYHaRaaBttaatggcacKtgctHVcaDcaaaVDaaaVcgMttgtNagcgtaDWgtcgttaatDgKgagcSatatcSHtagtagttggtgtHaWtaHKtatagctgtVgattaBVaatgaataagtaatVatSttaHctttKtttgtagttaccttaatcgtagtcctgBcgactatttVcMacHaaaggaatgDatggKtaHtgStatattaaSagctWcctccRtataBaDYcgttgcNaagaggatRaaaYtaWgNtSMcaatttactaacatttaaWttHtatBattgtcgacaatNgattgcNgtMaaaKaBDattHacttggtRtttaYaacgVactBtaBaKtgBttatgVttgtVttcaatcWcNctDBaaBgaDHacBttattNtgtDtatttVSaaacaggatgcRatSgtaSaNtgBatagttcHBgcBBaaattaHgtDattatDaKaatBaaYaaMaataaataKtttYtagtBgMatNcatgtttgaNagtgttgtgKaNaSagtttgaSMaYBcaaaacDStagttVacaaaaactaaWttBaagtctgtgcgtMgtaattctcctacctcaNtttaaccaaaaVtBcacataacaccccBcWMtatVtggaatgaWtcaaWaaaaaaaaWtDtaatatRcctDWtcctaccMtVVatKttaWaaKaaatataaagScHBagaggBaSMtaWaVtatattactSaaaKNaactatNatccttgaYctattcaaaVgatttYHcRagattttaSataggttattcVtaaagaKgtattattKtRttNcggcRgtgtgtWYtaacHgKatKgatYtacYagDtWcHBDctctgRaYKaYagcactKcacSaRtBttttBHKcMtNtcBatttatttttgSatVgaaagaWtcDtagDatatgMacaacRgatatatgtttgtKtNRaatatNatgYcaHtgHataacKtgagtagtaacYttaNccaaatHcacaacaVDtagtaYtccagcattNtacKtBtactaaagaBatVtKaaHBctgStgtBgtatgaSNtgDataaccctgtagcaBgtgatcttaDataStgaMaccaSBBgWagtacKcgattgaDgNNaaaacacagtSatBacKDgcgtataBKcatacactaSaatYtYcDaactHttcatRtttaatcaattataRtttgtaagMcgNttcatcBtYBagtNWNMtSHcattcRctttttRWgaKacKttgggagBcgttcgcMaWHtaatactgtctctatttataVgtttaBScttttaBMaNaatMacactYtBMggtHacMagtaRtctgcatttaHtcaaaatttgagKtgNtactBacaHtcgtatttctMaSRagcagttaatgtNtaaattgagagWcKtaNttagVtacgatttgaatttcgRtgtWcVatcgttaaDVctgtttBWgaccagaaagtcSgtVtatagaBccttttcctaaattgHtatcggRattttcaaggcYSKaagWaWtRactaaaacccBatMtttBaatYtaagaactSttcgaaScaatagtattgaccaagtgttttctaacatgtttNVaatcaaagagaaaNattaaRttttaVaaaccgcaggNMtatattVctcaagaggaacgBgtttaacaagttcKcYaatatactaaccBaaaSggttcNtattctagttRtBacgScVctcaatttaatYtaaaaaaatgSaatgatagaMBRatgRcMcgttgaWHtcaVYgaatYtaatctttYttatRaWtctgBtDcgatNatcKaBaDgatgtaNatWKctccgatattaacattNaaacDatgBgttctgtDtaaaMggtgaBaSHataacgccSctaBtttaRBtcNHcDatcDcctagagtcRtaBgWttDRVHagattYatgtatcWtaHtttYcattWtaaagtctNgtStggRNcgcggagSSaaagaaaatYcHDtcgctttaatgYcKBVSgtattRaYBaDaaatBgtatgaHtaaRaRgcaSWNtagatHaacttNctBtcaccatctMcatattccaSatttgcgaDagDgtatYtaaaVDtaagtttWVaagtagYatRttaagDcNgacKBcScagHtattatcDaDactaaaaaYgHttBcgaDttggataaaKSRcBMaBcgaBSttcWtgNBatRaccgattcatttataacggHVtaattcacaagagVttaaRaatVVRKcgWtVgacctgDgYaaHaWtctttcacMagggatVgactagMaaataKaaNWagKatagNaaWtaaaatttgaattttatttgctaaVgaHatBatcaaBWcBgttcMatcgBaaNgttcgSNaggSaRtttgHtRtattaNttcDcatSaVttttcgaaaaattgHatctaRaggSaNatMDaaatDcacgattttagaHgHaWtYgattaatHNSttatMSgggNtcKtYatRggtttgtMWVtttaYtagcagBagHaYagttatatggtBacYcattaRSataBatMtttaaatctHcaaaSaaaagttNSaaWcWRccRtKaagtBWtcaaattSttMtattggaaaccttaacgttBtWatttatatWcDaatagattcctScacctaagggRaaYtaNaatgVtBcttaaBaacaMVaaattatStYgRcctgtactatcMcVKatttcgSgatRHMaaaHtagtaaHtVgcaaataatatcgKKtgccaatBNgaaWcVttgagttaKatagttcaggKDatDtattgaKaVcaKtaataDataataHSaHcattagttaatRVYcNaHtaRcaaggtNHcgtcaaccaBaaagYtHWaaaRcKgaYaaDttgcWYtataRgaatatgtYtgcKtaNttWacatYHctRaDtYtattcBttttatcSataYaYgttWaRagcacHMgtttHtYttYaatcggtatStttcgtRSattaaDaKMaatatactaNBaWgctacacYtgaYVgtgHtaaaRaaRgHtagtWattataaaSDaaWtgMattatcgaaaagtaYRSaWtSgNtBgagcRYaMDtactaacttaWgtatctagacaagNtattHggataatYttYatcataDcgHgttBttctttVttgccgaaWtaaaacgKgtatctaaaaaNtccDtaDatBMaMggaatNKtatBaaatVtccRaHtaSacataHattgtttKVYattcataVaattWtcgtgMttcttKtgtctaacVtatctatatBRataactcgKatStatattcatHHRttKtccaacgtgggtgRgtgaMtattattggctatcgtgacMtRcBDtcttgtactaatRHttttaagatcgVMDStattatYBtttDttgtBtNttgRcMtYtgBacHaWaBaatDKctaagtgaaactaatgRaaKgatccaagNaaaatattaggWNtaagtatacttttKcgtcggSYtcttgRctataYcttatataaagtatattaatttataVaacacaDHatctatttttKYVatHRactttaBHccaWagtactBtcacgaVgcgttRtttttttSVgtSagtBaaattctgaHgactcttgMcattttagVtaagaattHctHtcaDaaNtaacRggWatagttcgtSttgaDatcNgNagctagDgatcNttKgttgtaDtctttRaaYStRatDtgMggactSttaDtagSaVtBDttgtDgccatcacaMattaaaMtNacaVcgSWcVaaDatcaHaatgaattaMtatccVtctBtaattgtWattatBRcWcaatgNNtactWYtDaKttaaatcactcagtRaaRgatggtKgcgccaaHgaggatStattYcaNMtcaBttacttatgagDaNtaMgaaWtgtttcttctaHtMNgttatctaWWatMtBtaaatagDVatgtBYtatcggcttaagacMRtaHScgatatYgRDtcattatSDaHggaaataNgaWSRRaaaBaatagBattaDctttgHWNttacaataaaaaaatacggtttgHgVtaHtWMttNtBtctagtMcgKMgHgYtataHaNagWtcaacYattaataYRgtaWKgaBctataaccgatttaHaNBRaRaMtccggtNgacMtctcatttgcaattcWgMacttacaaDaaNtactWatVtttagccttMaatcagVaagtctVaaDaBtattaattaYtNaYtggattaKtaKctYaMtattYgatattataatKtVgDcttatatNBtcgttgtStttttMagaggttaHYSttcKgtcKtDNtataagttataagSgttatDtRttattgttttSNggRtcaaKMNatgaatattgtBWtaMacctgggYgaSgaagYataagattacgagaatBtggtRcVHtgYggaDgaYaKagWagctatagacgaaHgtWaNgacttHRatVaWacKYtgRVNgVcSgRWctacatcKSactctgWYtBggtataagcttNRttVtgRcaWaaatDMatYattaactttcgaagRatSctgccttgcRKaccHtttSNVagtagHagBagttagaccaRtataBccataatSHatRtcHagacBWatagcaMtacaRtgtgaaBatctKRtScttccaNaatcNgtaatatWtcaMgactctBtWtaaNactHaaaaRctcgcatggctMcaaNtcagaaaaacacagtggggWttRttagtaagaVctVMtcgaatcttcMaaaHcaHBttcgattatgtcaDagcYRtBtYcgacMgtDcagcgaNgttaataatagcagKYYtcgtaBtYctMaRtaRtDagaaaacacatgYaBttgattattcgaaNttBctSataaMataWRgaHtttccgtDgaYtatggtDgHKgMtatttVtMtVagttaRatMattRagataaccctKctMtSttgaHagtcStctatttccSagatgttccacgaggYNttHRacgattcDatatDcataaaatBBttatcgaHtNHaaatatDNaggctgaNcaaggagttBttMgRagVatBcRtaWgatgBtSgaKtcgHtttgaatcaaDaHttcSBgHcagtVaaSttDcagccgttNBtgttHagYtattctttRWaaVtSttcatatKaaRaaaNacaVtVctMtSDtDtRHRcgtaatgctcttaaatSacacaatcgHattcaWcttaaaatHaaatcNctWttaNMcMtaKctVtcctaagYgatgatcYaaaRactctaRDaYagtaacgtDgaggaaatctcaaacatcaScttcKttNtaccatNtaNatacatttHaaDHgcaDatMWaaBttcRggctMaagctVYcacgatcaDttatYtaatcKatWatcaatVYtNagatttgattgaYttttYgacttVtcKaRagaaaHVgDtaMatKYagagttNatWttaccNtYtcDWgSatgaRgtMatgKtcgacaagWtacttaagtcgKtgatccttNcttatagMatHVggtagcgHctatagccctYttggtaattKNaacgaaYatatVctaataMaaaYtgVtcKaYtaataacagaatHcacVagatYWHttagaaSMaatWtYtgtaaagNaaacaVgaWtcacNWgataNttcaSagctMDaRttgNactaccgataMaaatgtttattDtcaagacgctDHYYatggttcaagccNctccttcMctttagacBtaaWtaWVHggaaaaNatttaDtDtgctaaHHtMtatNtMtagtcatttgcaaaRatacagRHtatDNtgtDgaatVgtVNtcaaatYBMaaaagcaKgtgatgatMgWWMaHttttMgMagatDtataaattaaccaactMtacataaattgRataatacgBtKtaataattRgtatDagDtcRDacctatRcagagcSHatNtcaScNtttggacNtaaggaccgtgKNttgttNcttgaaRgYgRtNtcagttBcttttcHtKtgcttYaaNgYagtaaatgaatggWaMattBHtatctatSgtcYtgcHtaattHgaaMtHcagaaSatggtatgccaHBtYtcNattWtgtNgctttaggtttgtWatNtgHtgcDttactttttttgcNtactKtWRaVcttcatagtgSNKaNccgaataaBttataataYtSagctttaaatSttggctaaKSaatRccgWHgagDttaaatcatgagMtcgagtVtaDggaBtatttgDacataaacgtagYRagBWtgDStKDgatgaagttcattatttaKWcataaatWRgatataRgttRacaaNKttNtKagaaYaStaactScattattaacgatttaaatgDtaattagatHgaYataaactatggggatVHtgccgtNgatNYcaStRtagaccacWcaMtatRagHgVactYtWHtcttcatgatWgagaKggagtatgaWtDtVtNaNtcgYYgtaaactttaDtBactagtaDctatagtaatatttatatataacgHaaaRagKattSagttYtStagagagacgatgaaaattaatcgtcaatacgctggcgaacactgagggggacccaatgctcttctcggtctaaaaaggaatgtgtcagaaattggtcagttcaaaagtagaccggatctttgcggagaacaattcacggaacgtagcgttgggaaatatcctttctaccacacatcggattttcgccctctcccattatttattgtgttctcacatagaattattgtttagacatccctcgttgtatggagagttgcccgagcgtaaaggcataatccatataccgccgggtgagtgacctgaaattgtttttagttgggatttcgctatggattagcttacacgaagagattctaatggtactataggataattataatgctgcgtggcgcagtacaccgttacaaacgtcgttcgcatatgtggctaacacggtgaaaatacctacatcgtatttgcaatttcggtcgtttcatagagcgcattgaattactcaaaaattatatatgttgattatttgattagactgcgtggaaagaaggggtactcaagccatttgtaaaagctgcatctcgcttaagtttgagagcttacattagtctatttcagtcttctaggaaatgtctgtgtgagtggttgtcgtccataggtcactggcatatgcgattcatgacatgctaaactaagaaagtagattactattaccggcatgcctaatgcgattgcactgctatgaaggtgcggacgtcgcgcccatgtagccctgataataccaatacttacatttggtcagcaattctgacattatacctagcacccataaatttactcagacttgaggacaggctcttggagtcgatcttctgtttgtatgcatgtgatcatatagatgaataagcgatgcgactagttagggcatagtatagatctgtgtatacagttcagctgaacgtccgcgagtggaagtacagctgagatctatcctaaaatgcaaccatatcgttcacacatgatatgaacccagggggaaacattgagttcagttaaattggcagcgaatcccccaagaagaaggcggagtgacgttgaacgggcttatggtttttcagtacttcctccgtataagttgagcgaaatgtaaacagaataatcgttgtgttaacaacattaaaatcgcggaatatgatgagaatacacagtgtgagcatttcacttgtaaaatatctttggtagaacttactttgctttaaatatgttaaaccgatctaataatctacaaaacggtagattttgcctagcacattgcgtccttctctattcagatagaggcaatactcagaaggttttatccaaagcactgtgttgactaacctaagttttagtctaataatcatgattgattataggtgccgtggactacatgactcgtccacaaataatacttagcagatcagcaattggccaagcacccgacttttatttaatggttgtgcaatagtccagattcgtattcgggactctttcaaataatagtttcctggcatctaagtaagaaaagctcataaggaagcgatattatgacacgctcttccgccgctgttttgaaacttgagtattgctcgtccgaaattgagggtcacttcaaaatttactgagaagacgaagatcgactaaagttaaaatgctagtccacagttggtcaagttgaattcatccacgagttatatagctattttaatttatagtcgagtgtacaaaaaacatccacaataagatttatcttagaataacaacccccgtatcatcgaaatcctccgttatggcctgactcctcgagcttatagcatttgtgctggcgctcttgccaggaacttgctcgcgaggtggtgacgagtgagatgatcagtttcattatgatgatacgattttatcgcgactagttaatcatcatagcaagtaaaatttgaattatgtcattatcatgctccattaacaggttatttaattgatactgacgaaattttttcacaatgggttttctagaatttaatatcagtaattgaagccttcataggggtcctactagtatcctacacgacgcaggtccgcagtatcctggagggacgtgttactgattaaaagggtcaaaggaatgaaggctcacaatgttacctgcttcaccatagtgagccgatgagttttacattagtactaaatcccaaatcatactttacgatgaggcttgctagcgctaaagagaatacatacaccaccacatagaattgttagcgatgatatcaaatagactcctggaagtgtcagggggaaactgttcaatatttcgtccacaggactgaccaggcatggaaaagactgacgttggaaactataccatctcacgcccgacgcttcactaattgatgatccaaaaaatatagcccggattcctgattagcaaagggttcacagagaaagatattatcgacgtatatcccaaaaaacagacgtaatgtgcatcttcgaatcgggatgaatacttgtatcataaaaatgtgacctctagtatacaggttaatgttagtgatacacaatactcgtgggccatgggttctcaaataaaatgtaatattgcgtcgatcactcacccacgtatttggtctaattatgttttatttagtgacaatccaatagataaccggtcctattaagggctatatttttagcgaccacgcgtttaaacaaaggattgtatgtagatggtaccagtttaattgccagtgggcaatcctaagcaaaatgagattctatcctaaagtttgggcttgatataagatttcggatgtatgggttttataatcgttggagagctcaatcatgagctaatacatggatttcgctacctcaccgagagaccttgcatgaagaattctaaccaaaagtttaataggccggattggattgagttaattaagaccttgttcagtcatagtaaaaacccttaaattttaccgattgacaaagtgagcagtcgcaataccctatgcgaaacgcctcgatagtgactaggtatacaaggtttttgagttcctttgaaatagttaactaatttaaaattaattaacgacatggaaatcacagaacctaatgctttgtaggagttatttatgctgtttactgcctctacaaccctaataaagcagtcctaagaatgaaacgcatcttttagttcagaaagtggtatccagggtggtcaatttaataaattcaacatcgggtctcaggatattcggtcatataatttattaagggctcttcgagtcttactctgagtgaaattggaaacagtcatccttttcgttgtgaggcatcttacaccgctatcgatatacaatgcattccaccgcggtgtcccgtacacaaggaaacttgttaccttggggatataagaaaactcacacgtctcattattaaactgagtacaatttttgcacgagaaagtaatgcaatacaatatgatgaaagccagctaatgaaaagggatggaacgcacctcggatctgttgcactggattaaaatccgattatttttaaaaatattcagtgctagagcatatcaggtctacttttttatctggtatgtaaagcccacggagcgatagtgagatccttacgactcaacgaaaagttataacataactcccgttagccaaagcccaatcccgattactgccctaccctaacgtctgccatctaaatatcgaacttgttatgatcaatgtgactacctcccaccctttccccttcatttgttccactggggataagctagcgttttcagaatcaatgcaataagaatagccaattgtctcacttcatcagagctcttggcaattccaggcgctacgtggttctggaatatattcatttttcaaatagtaatacgtttagtgttgctattgtctacacgtttggatattacgttatgtgagcggacatcaatagttgtctaactctttagtaagccagagatagcactcttagcgaatggataccatcttccataagtttagttaatagtccgaaacaactgcttcgagcatatttgaacctccttgtaggcaaatagcctcttcaaagcaatcttactaatagatagagtttgttttaagggactactagaaatgggacaatcttaatagtatgacctaaactgacatttaaagatatatccaggtggcaagcataaagatcattgcgccacctccaccgtgggattacttatcagtcgatatcctatatgctaagtttgcgacggcagaatacaaactaagctgagttgatgctaaccttacctatgataccccattggaccggttaacagccctacttattccaaataaaagaacttttatgctgtagaagctattatagtgatgcctggtaacttcagtatattaaaatgacacacatacgccatatagagctcctggaactttgaataatgagcgaacttcgaagttgaagagcaagaaaccatatgtcacggttgcctaaagcccggtaaccagacatgtgctatcattgatcattatcgaggttttcataaccttgacccattatcggctgtgcgcggacaagtacttaaatcactagtttcttcacctgcttatcggtaagaaataaggttggcaaagaatcgcataagacggacgtagagccgcagcgttgtgcgagtccaggtgcatgcgcagcaataggattttaaattttgttccatttttaatttagccgtaaggatgtccgtaaatgattgaaaattggattcaatctttgggcctatgctactggaacctgatcgacaaaatttcaaacatacgttaactccgaaagaccgtatttttgcggctagaatagtcagtcgcttggagccatataccttaccacttaaacgacgtgctcctgtagttgaaatataaacagaacacaaagactaccgatcatatcaactgaagatctttgtaactttgaggcgaagcaccctcttcgagacaactaagagtaaagtaccgggcgccgcaaggagtcgattgggaccctaaatcttgacgaattgctaagaggctcagagctaccactgtaatttctctagagcccataataaatgaacgatacatccgtaggtagcacctaagggattataatggaagccaaatgcagttaataatattatatactggcgtacacgattcgacggatctctcacatagtgattcacgacccccccctttgattgacacagcgtcagcattttgcaagaacgatcttctgcatagggtgcgccaccgtaaggatgacgtcgaagctacaactgggtataatttaccatgcttccctgatgctgagtgcaatacactaagaatgagtttttaccccatatcaccagtatttgttctgttattgcgaagaaatggctatgctgagttggcgactaaagtcacccatcctttttattaggtaaccccctcccttaaactaactgatttgctggagctgccctgcatacatatactttatcatttatggacgtccgtgacgcttattatccaccatagtcgatatgctacacggattcattaatggatcgtaggagtttaagttatatttactaagatcggtctcggctactatcccgccttacccggcgctatttacggccatttttaatatattgacggtaattattcctatggtttcgaccgcacgtccttggacaagaaagaatggcaaaaaaaatgtaaaagaaaaaaaatattgagtccctaccatcatataaaaaatatgtgatgagtaacttgacgaaatgttagtggttattaaagactatctattacaccttttgttttctgtcgtagtatattaaagtctagaagccttacaggaaaatcagggttatacagccgatactccgcagcatgaatcatcgaggaggtgtcctaccatcgcgccttgtaatcttgtctgtgtatactgtatttagaccttttatacaaagtaaatatctcggctttatgtgattgggaggggcctactcaaacatgatgacttgacctaataatcactgtgcgggcgtcttatgactagctattccttgaaatccaccaccaaatggttaatatgtaaaaactttgacgatgaaacaaggtgaatgtgtagttactttgtgtaattagctgcgtcgagcattgcttgtaaaaccgtcaatcgcacacgttacttccataaaatttctacgaatacacccttcttaaaaaaaacgtaggaattcacgagtttaacaaacgataactgtataaagtggaagtccgaagaaagcagatgcccgaactactcgaagatgtttcgttttcttaaccataggggcttcttaatggcccactacgcacattttgttcaagcccgagagggacatccccattacgggagtattactaaaactgttccgtaatacgttcagcaagggatgaaaaaggccactgctcaagttattgacgtgggagtattacatcggaagcctgaatcccacactatgatggtctgtacaggcctagggactgcgtctagacggtattaccggcttctaatcatacgatcgtgagtcttaacgggaagtaaggctcacacctaccccaaaccatttatctatgtaagtataaaattgtgcgtaagtgttcaaagtggacaataaagacgtggcaaaaacccccgcacataagccgctttagatttcacaaataccaatgcggttaaaaacatccttgagtcgtacatacaccatactcgcgttaaacggatataacagaagataataaatccggatgtggagtcggtgtaactatagaaagccaagtgaaataatgcttaccagtcatttagctatacggctttcatttcatgtcaagagggtggagtttgacctgtacagttgatatatcaccgatacttagaactcacctaaagctaaaattgctcgcagcgtgtaatccgcatattacaaacaatagatgggattcattatacataagacacgatgatctgctttttcaggttgcgagatgttgcctatcgtcaatcgagtcctgccttacaccacttaaacaaaagtattgacagggaacctattttcgaggtattatatagtccagcttgaatatcaatttgacagttaacctagtgaaaatcagtaagaggaaatacgccacattctccagtgaaattctacgggttatcgtctagtccaactatcaattataactcacgagatataagtaaattctcgtacttggcctgatttttattatactttggatccttagtaaacaggaagggagaaaccttcaacgaaaaacactggattttgttttactctcaaagctcttatatgacggaaataccctgtcaagtcttaactttattactagactaatgaaatgggcttggggtggccagaatcatagtacaatttagcggatacactattcggactttcctatcggctgtctggttggataagtatggggactaataggctagacatacctatacttaaactatacaggcgtcatctatctctgcaactttggagttccctgatgttctcccgccctttgggttcacatcttctataccgacacccctaataacgattagtttgtgggttagagtaaattaatacggttaatattaatgtatcgttgaaaagctggtgtcgccaataaggtaaccggctaggcagagtatatgtcacgaagtataactaccctaatgataagctgtaggaataaaattaatgctgtctctaagcgaagagatatttccgactctgttttaatgacgaatctcattacttctgacttgcaaatgttcaatatggcacggtttcacggcacctttgtgacgcatataatgaacttagaagattataacgacggaactttatatgataatccgttacgattaaagaatctgttaaatatcataatggcattcagttctagaccgtgcatcatggtaaacttactttctctgcatggcgacatacatttcgctattcaaattcgcgtgtggttacacccactcgcacctttggaatattaagagaagatgatcagaaaatccattcgctcaatttttctgacgtacgtctaatttatcctaggagacaaatcgttttatgtctctcacatttttgaagaaaggttcgagagacaatactcaggtcctgaactgctagaagatactcggtggagcgtggcaacaatgaaaaactcgtgacataaatgaatgatacttttccaagttcagttaagtgaatatgtttaacatacccggcttttcgatcttaagctgacgctggacgtgcgagtaatgtcagtctcttacatacactagtgactccaagtttcgtcaaaaacgccccctcccttctcgagcccactcacgctatgtattgacgcgaacttgttcgggatcagacttttcaggagttcggtcgcgtgtccctatgtgctaatatataagttagatcgcattagatgctaatctgaatacttatagacgaccttcaacgagaacgggtaccaccttgaggctagagttaggtgtgaaacgacaggtagggacatataaaatttgagtgcggctttagttaagggtttaattacctactcaaacatcacgctcgcgcccttcgtacgtaatcgaccatctagaggctaaggggactgtactaggtagtgattaatgatatcctagacgcacgtgccttagatcttcagactctgatggtccgcgatcaccgtaattgtagtcctccaactcgatcactttgttggcgtcaaagaaattacgatatctaaatacttataatacaataaccaaggatgagaatgactcatcgcgttggagttatattgcttgaagttctatggaatgaaagcacgttatctgccgtcccaatatctccagtgagctaattcattggacggtccactttgatcaatccccgaggagatgttcggacactttagtctgtaacacttagcgttgagaccacgaacaattgattactcagtcttgaaggtgttttccaaagttcattttaaataagactacgataggcctttcctattgatataaactacccggctctgttgttcgtgtgagtcgtacttctctgtgtttttctgattatagcaagattcgattcttagtgtaaacagcgatttttatttgacccgtcaatgagaagcgcataggatctaagcaaaattatcaagttgtgccacaaggtaagatctttccagttattgcaggtaggatgtatcccacgttgatagtatgaggtctgacgtcaactgtctaggagagttgaccgcgtgcgggtacaccggatttgcatcgatgttgagaacgcagaactcccactgtcgtggcggcgttcctgatatttagcaagaggcgttgataaagccctcatcatctagatctcgacctcatctgccctcttgctccatcattttctacacagactactttcctatctacgttagtataattgctttctatcttagtatcatttagagcttctccgtcaacaggttcgtgctattaaagttagtacgaaagggacaacttgtagcaacgcatttaatcggttttcgactacttcgcacaaaatcagataaagaagtttgtcattctattagacattgaattgcgcaattgacttgtaccacttatgatcgaacactgaatcaagactgtgattaactaaaatagacaagccactatatcaactaataaaaacgcccctggtggtcgaacatagttgactacaggataattaattggactggagccattacattctctacaatcgtatcacttcccaagtagacaactttgaccttgtagtttcatgtacaaaaaaatgctttcgcaggagcacattggtagttcaatagtttcatgggaacctcttgagccgtcttctgtgggtgtgttcggatagtaggtactgataaagtcgtgtcgctttcgatgagagggaattcaccggaaaacaccttggttaacaggatagtctatgtaaacttcgagacatgtttaagagttaccagcttaatccacggtgctctactagtatcatcagctgtcttgcctcgcctagaaatatgcattctatcgttatcctatcaacggttgccgtactgagcagccttattgtggaagagtaatatataaatgtagtcttgtctttacgaagcagacgtaagtaataatgacttggaataccaaaactaaacatagtggattatcatactcaagaactctccagataaataacagtttttacgatacgtcaccaatgagcttaaagattaggatcctcaaaactgatacaaacgctaattcatttgttattggatccagtatcagttaaactgaatggagtgaagattgtagaatgttgttctggcctcgcatggggtctaggtgatatacaatttctcatacttacacggtagtggaaatctgattctagcttcgtagctgactatactcaaggaaccactgctcaaggtaggagactagttccgaccctacagtcaaagtggccgaagcttaaactatagactagttgttaaatgctgatttcaagatatcatctatatacagtttggacaattatgtgtgcgaaactaaaattcatgctattcagatggatttcacttatgccttagaaacagatattgcccgagctcaatcaacagttttagccggaaacaatcgaagcatagggacaatgtatcttttcctaaattgccatgtgcagatttctgagtgtcacgaagcgcataatagaatcttgtgttgcctcaactcgttgaaaagtttaaaacaatcgcagcagtctttttggggtctactgtgtgtttgcaaaataactgaaagaaacgcttgaacaactctgaagtagctcgagtactcattaaagtgtaacacattagtgaatatcggccaatgaaccaaacgcttcccggtacgctatctctctcatcgggaggcgatgtgcaggttatctacgaaagcatccctttacgttgagagtgtcgatgcatgaacctcattgtaacaatagcccagcaaattctcatacgtgcctcagggtccgggcgtactcctccatggaagggcgcgcatctagtgttataccaactcgctttttaactactatgctgtagttctacaggcatagtggccagtattttctaacttctctggatagatgctctcactcctcatccatcacggcttcagtttacgtcttacttgcttgttcagcaacggatggaggcattaagtatcttcactgttccctaaaattgctgttcaatatcaaagtaaggacgatacagggaaagctcaagcacactcattgaatactgccccagttgcaacctcacttaatctgacaaaaataatgactactctaagtgttgcggaagcagtctcttccacgagcttgtctgtatcacttcgtataggcatgtaactcgatagacacgaacaccgagtgagaaactatattcttgcttccgtgtgtgtgacaccaggtaattgatgcggatataagctggagatcactcacgcccacacaaggcgctgctacctctttattccaatgtgtaagaatttgctaacttcatttctagaccgcagctttgcggtcataatttcacggtacggacccttgggttagagacttgataacacacttcgcagtttccaccgcgcacatgttttagtggcttctaacatagaatttttgttgtgacataaagagtgcgtgggagacttgcccgaccgttaagccataatcaattgaaagccccgtgagtcacatctaattggttgtactgcgcatttagctatcctttagctgactcgaagagattcgattcctaatataggttaattagatggctgccgcgcgaagtaaaacgtgaaaaacgtagtgcgcagatctgcataactcgcgcttaattacttatgagtagttccaagttcgctacgttatgagagagattggaattaagcaaatatgttttatggtgattttgggatgagaaggactgctaagtacggctactaaacaaatttctaaaaccgccatctaccttatcttggagacatttaagttgtatatgtcactagtctagcttttgtctgtgggacgcgttctcggaatgagggaaatgcaagagccgattcatcaaatgcttatctaagaaagtagtggactattacaccaagcacgaatgccagggaactgctttcttgctcaggacctcgcgacaaggtaccccgcataagtcctagaattacatttggtcagcaatgctgacatttgaccgtgaaaacataattttaatcagaaggcagctcacccgcttgctctagatcttatctttgtatgaatgtcagaatttactgcaatatccgttccgaatagtgagggcttagtatagttctctgtatacaggtcacatcaaactccccctgtcctagtacagctctgagctttaattaattgcatacatttccttcaatcatcagatgaaaacaccgcgaatcatgctcttctcgtatagggcaagagaagcaacaaacaactagcccgactcacgttcatccgccgtatccttgttcagttcttactccgtattaggtcagcgaaatctaatcagaataatcggtcgcgtatcaaaattaaaatcccgcttgaggttgacaattaaaacgctgagcagttatcggctattagatagtggggtgaaagtaattggctggaattatgttaaaacgtgatattaagctaaaatacgctacttgttgccgacctaattcagtcattcgatattcagttagagccaagaataacaagcttgtataaattgaacggggtgcactaaacgatgtgttactctaatattcagcttggagtatacctgaaggcgaattcatgtatcggccaataataagacgttgaagatcacaatttggactagcaaaagaaggtgatttatgcgtggggattgagtccactgtacgagtacggtctctggaaaattataggttcagggaatataaggaagtaaagataattaccaagagatttttggtatcgctatgacccagaggtgttctaacgtctgttttgatccgcagaatttctgcctcaatgcatatttgacggacttgaactagagcctctaaagttaaatggcgacgcaactgttcctaaacttcaattattactactctttttttcctagggtattgtagaggccagtggacaaaataaatcaaatttaagatgtttcggacattaacatcccccgtagcatagaaatcatcagttatccaatctctcatcgagcttttacaatttctgctggcgctatggacagcatatgccgcgagacctccgcaagactcacttgatcactgtaagtatcttcattagaggttagagcctatagttaagctgctgacctagtaaaattggtattttctaattttattgctcaagttaaaggttagtgaagggataatgacgttatttttgaacaatgggttgtattcaattttatatcacgaatggaacccttcattcccggcataatactagacgacacgaacaagctccgatctatcagccaggcacgtgttaaggtttaattccggcaaaccaatgaagcatcaaaaggtgacctgatgcaacttagggtcacgatgagtttttcaggactacttattacctattaataagttaacatgagccttcataccccgtaagacaatacatactccaccaattagaattctgagccatcttatctttttgtatcatcgaagggtatggccgaataggttaattagttactcctaacgtctctacaggcatgcatttgacgcaccttcgaaaatagtcaatctctcgccacacgcgtctagtatgcagcatcaaaaatatagtccacggtttccggattaccaaacgcggcaaagagaaacattgtatcgacggagataacttaatacagaaggaaggggcatcttcgaatacggatgaataattctatctgtttattctgacatcttgttttcaggttaatcttacgcattcaaatgacgcctgccccatgcgtgcgcaattattttctaatattgacgagagcaatctcactccttttgggtctatttatgttttattgaggcacaagcctatacagaacaggtactattaaggccgtgagtgtgagactcaaaccgtggaaacaaaggatgggttgttcttggtacaagttttagtgcatgtgggcaatccttaccaaaatcagatgctatccttaactttgggctgcatttaagatggcggttggaggcctgtgagaatcctgcgtgtcatctttaatgaccgaattcatccatgtagattcagatcacacactcattccttgatgttgtctaaacaaaagttgttgtggacgcattggagggagttaagtaacaacttgggatcgcatacttataaaaattatatgttaaactttcacaaacgctgaagtccaaagtaactagcccaaacgcctcgagagtcactaggtattaatggtgtttgagttcctgtgaaatagtgttcgaaggtaaaatttatgtaccaaatcgaaagaacacttaataaggcttgcttgcacggaggtatgatgtttactgactctacaaccctaattttccagtacgtacattcattccaataggttagttctcaaagtgctatacaggctcctcaattgatgatatgcttcagccgctctatggatattagctcattttatttaggaagcccgcttagaggcttactatgagggaaatgccaaaatgtcatacttttcggtgtgtcccatatgacaccgctttacatagaatttgaattaaaacgcgctctcccgttcactaccatacttggtaccgtgcgcatattacatatagatataggatcattttttaaagctgtactaggtttgatcgacaatcttatgctatactatatgatgtaaccctcataatcaataccgatcgtacgatcctagcataggtggcaagcgattttatgccgattattgtgttaaatagtctgtgagtgtgattatcagggctacgttggtagaggggttgtatagacctcgcacacattgtgacatacttaacaatatacgaaaactgatataataaatccccttacccaaacaccaatcccgttgaatcaactaccataacgtctcccatataaattgcctacttgtttgcataaatctgaatacataacaccattgcaccttcttgtgttccaatcccgttaagattgccttgtcagatgatatgcaagaacaatagcatttgctagcaattattaacagctcttcgaattgcctccacataacgcgggagggtatattttaatttggcaaatactaagtactgttggcgtcatatgctattaacggttggatattaagttatgtcagccgtaagcaagagtgggcgaaatattttgttacccagtgagagcactcttagagtttggatacaataggccatatgttgacttaagaggacgtaactacgccgtacaccattgttcaaccgacttcttggcaaatagaatcgtattagcaatcttaagaatagagacacgttcgtgttagggtatactacaaatccgaaaatcttaagaggatcacctaaactgaaatttatacatatttcaacgtggatagatttaacataattcagccacctccaacctgggagtaattttcagtagatttactagatgattagtggcccaacgcacttgactatataagatctggggatcctaacctgacctatgagacaaaattggaaacgttaacagcccttatgtgtacaaagaaaagtaagttgttgctgttcaacagatgatagtcatgacgcgtaacttcactatagtaaattgaaacaaatacgcaatttagacagaatggtacggtcatgaatgacagtaattcgaagtgctagaccaacttaaaataggtaaacgtgcccgaaaccccccttaacagaaagctgctatcatggtgcagtatcgacgtgttcagaaacttgtaacttttgagcaggtccgagcacatggaagtatatcacgtgtttctgaaccggcttatccctaagatatatccgtcgcaaactttcgatttagtcccacgtagagcccaagcgttgtgcgactccacgtgcatgcccagaaatacgagtttaaatttggttacatggttaattttgaccgaagcatcgcactttatgattgataattggattcaatatgtcgccctatgcgaatgcaacatgatccacaatttggctataagacgtttaatccgtatcacactttgtttgcggctagtatagtaacgcccgtgcaccaagagtcagtaacaattataagtactccgcaggtacttcaaatataaaaactaatcaaacacgacccatatgatcatctgaagatatttggaactttctcgacaaccaccctcgtactcaatacttacactaatcgacaggcacacgcaacgtgtacagtcgcaccatattgagtcaagatttgcttagtggcgatgagcgtacacgcttatttctctagtcacaattagttatctacgagacatcacgagggagcaaataagcgatgttatggctacacataggcacgtatgaatatgatataagccagttaaacagtcgaaccatcgagcaaattctcatgcaccaacccacacgttgaggcacaaagagtaagctgtttgaatgtaacttcttctgctgagcgggccccaacgtaaggatcaactagaagagaaaactcggtattagtttaaatgcgtcacggagcatgagtgcatttcactaagaatgtctgtgtaaccaatataacatctatttgttatctgattgcctacttatggctttgcggtcgtggcgactaatgtctccaatccttttgaggtcggtaccaactccctttaaattacgctgtgcaggctcatgcactgcatacatatacggtagcaggtagggacctcacgcacccttattataatcaatagtagttatcagtcaacgaggcaggaatgctgaggtcgaggtgttggtatattttctatgtgccgtctaggcgactatcacgcattaccaggcgagatttaagccaattttgaatatagtcaacgtaatttttactatgggttccaccgaaacgccttgcacaactaagaatcccataaaatatcgatatcaaataaaagattgtgtcaataccttcatatatattttttcggttgactaacgtgaactaaggttaggggttttgtatgtctatataggaaacagtttcttttctgtcctactttagtaaagtcttcaagccttactccaaaatcacggtgattaagccgttactcagcagcatgattctgcctgctcgggtcctaaaatccagccttgtaagagtcgctgtgtattagctagggagacctttgttaaaaaggatatatcgcggcgggatgtgagtgcgtggcgcatactcaatcttcagctcgtgtcattataatatctctcccccacgcttttcactagatatgccgtgtaagcaaacaccttatgcttaatttcgaaaatattggtacttgaaaaaagctgtaggggtacttaatgtctggtaggagatcaggagagaattgagtgtaaaaccgtaaagccctcacctgacttcatgtaaatggcttagaagactccatgatttaataaatactacgaaggaaagactggatctaaagataactctagtaaggccaactcccttcaatgctgttgccagttataatccaagagctgtccttttctgaaccatagcggcttctgaagcgaactagaagcaaagttggttctagccagacagccacataccctgtacgggtgtattactaaaactggtccggtattagttcaccaagggaggaattaggcaaaggatctaggtatgcaagtcggagtattacatccctaccctgaatccatcaataggttcctctgtactggccttcgcaatgagtattcaaggttgtacagccgtataataataagatagtgactatgaacgggaagtaacccgctcaccttccccaaaacattgttatatctaagtattaaagtctgccgtagtgttaatactcgaaaataaacaactggcaaattacaccgcacttaagccgcttttgatttatatttttccaatgcgcttttaaaaataattcagtcctacatactaattaagacccttaaacggagatatcacaagttaagttttaaccatctcgactaggtggaactatagatacccaactcaatttatcattacctgtaatgttcctagaaggattgcatttcatgtcaagacggtggagtttcacagcgaaacttcagtgtgaacagattctgagaaatcacctaaacctattagtcagagcacccggttagaaccagttgtcaaaaaatagagcggttgcatgagacagaagtaacgatgagatccgttgtaacgttgagacatctggcctatcgtcaatacagtcctcccttaaaaatatttttaaatactaggcaaacccaacataggttagtcctatgtgatacgccacatggtatatcattttgtaacgttacctagggataatcaggaagtggaattacgcaaaagtagacagtgaaatgcttagggttatagtctagtccaaagataaaggataaagcacgtcagagaactatattagccgaatgggaatcattgttaggagactgtggatcatgtctaaaaagcaacgcagaaacagtcatcgaaaaaatctcgtttttgtttgaatctaaaagagctttgatgaccgatagtacctgtatactagttactgtattacgtgtctaatgatttcggattggggtccccagaatcagacgtcattgtagacgattcaagtttaccaatttaatttcccagctctccttggagaactatcgccaataattgcagtcactttccttttctgaaacgataaagccgtcagagttctctgcaacgttggacttacctgaggttctaacccactttcggttctaatagtagttaacgacacaacgaataacctttactgtggggctttcacgatattttttcgcttattattaatggttacgtcataagctggtgtccaaattaaggttaccggcttcgcagagtagttgtatccaagtataacttccctaatcataagatcgaggtagaaaattaatgctgtctctaaccgaacagatatgtcccactatgtggtatggacgttgctaattacttctgaagggaaattggtcattatggatacgtgtctaccatcaggtcggacgcagatatggttctgtcttcagttgatccaccgttctttataggataataactgacgattaaagattatggtaaatagattaagccaattctcttcttgtcagtgaagcatccttaactgacttgctctgcagcccctcatacatttagctattcaaagtaccggctcgtttcaaactctcccacctttggaagaggttgtcaacttgataagtatatcatttacagcattttttcggacgtacctctaatgtttcattgcagaaaattagttttttctatcgcacattttgcaagtaacgttagagacacaattatctgcgaatgaactgctagatctgacgaccgggagcctcgcaaatatcaaaaaagactgacatatatcaaggagtcgttgacaagtgctggtaagtcaattggtttatctgtcccggcgtttcgatcttaagctgaccatgcacggcagagtaatgtcactctcgttcttacaagtctgtctccaagggtcggcaaaaaagacccctccattctcgagcccactcacgatatgtagggacgacaacttgtgcggcttatgaattgtctggactgcgggcgagggtccatatctccgaagttagaagggacatacctttagatgataagatcaattcttattgacgaaattcatccacaacggggaacaacttcaccctagacttacgtctgaaaagacacctagcgtcttataaaaggtcagtgccccgtttcgtaaggctggaattacctacgcaaacttaaacctcgcgcccttccttacgtatcgacaagatagaggctatcgcgaatgtactacggaggcatgaatcatatactagaaccaagtgcctgtgatattaacaagatgatccgacgcgagcaccgtaattctaggcataaaactccagcaatttgggggccgaaaacaaatgacgttagctaattaattatatgacatgatcaaaggaggtcaatcacgcatcgagttcgacgtatattcattgaacttcgtgcgtttgaaagaaacttttatgaaggcaaaattgatcctgtctcctatttcatgcgtacctcctagttgataattccccgagcagtggttaggacacttttgtcggtatcaagttccggtctcaaaacgtaaaattctgtaatctgtatggatggtctgtgaattagttaatttttatgaagtcgtcgagacgcagttcctattgatttattctaaacggagatgtgcttcgtgggactcggaagtagatctgtgtttatgattattgctactttagatgctgactgttaactccgtgttgtttttcaaccgtatatcacaaccgaattggatagaacctatagtttcaagttctgccacaaggtatcatatttacagttagtgctggttgcttctttcaaacgtggtgagtttgtgctatcacgtcaacggtagagctcagtggaccgagtgcgcgttcaaccctgttccagagagggtgtgatagcacatataccacgctcgtcgaggcgttcatgatagtttgcaagagccggtgttaaacacatattattattgttatccaactaatcggacctatgcataaagcattgtctaaacagaataattgcctatatacggtagttttagtgatttatatcttagtatcagttagagcttcgaactcttcaggttcctcatatttaacgttcttcgaaagcgaaaacttctacaaacgaatgtaagcggttttccaagtagtacctataaatcacagaaagatctgtctcagtatagttgaaatggtattcagctagtgacgtgtaccaattatcatagttcactcaagcaagacgctcattaacgaatatagacaagacactatatcatataataaaaaagaacatggtgctcgaacatagttgaattcaccatattgaaggggaatgctgacatgtaattcgctactagacgatcaattccctacttgtcaaagttgaactggtacgttcttggaattaaatatgattgcgctggaccaaattgcgacttcttgagtttcagggcaaacgattgagccggaggatgtccgtctcttacctttcttgcttatgataaacgacggtccctgtacatcactgggaattctcagcaaaaataattgggtaaatcgagactcgatgtattcggccacaaaggtgttagacgttaaagattattcaacggggcgataataggatcataaccggtatgcaagcgcattgaaagagccatgagatccttatccgataaacgctgcacggtatgtgcagccttattgtcgatcacgaatttataaatgtagtctgggctgtaagttgaagacctaagttataatgaagtgcaataccaaatcgattcatagtggattatcagactcaagatatctcctgataaattacagttgttaagatacggataaaatgagatttaagattagcagcctctaatctgtttcaatcccgttggaatgtggtatgcgatcaaggttaagttaaaatcaagcctgtcttcagtcttgattcttgttctgccatcgcatgcggtctacgtgagttaatatgtagcttacgttctagcttgtgctaatctgagtatagattcgtagaggaatattatcaagcttccacgcctcaacgtacgtgtattggtcacacaagacactaaaagtggaagtagcgtaaactatagtctagttgttaaatgctcagttcttgttatattcgatatactcttggctaatttatgtctgagtatataaaattaatgatattaacttgcatttcacggatcccttagaaaaagattttgaccgagcgcattataaacggttacaccgaatcaatagaagcatacccaatagctttctttgaatttattgcctgcgcaacttggctgactctctagatccgaataattctatatggtcgtgacgaaactagttcattactgtttaaaatgccaacatgtcttttgggccgataatggctctttgcaaaattactcaatgatacgattgatcaaagcggtagttgctagtggtagcatgtaagtctatcaaatgtctgattatccgaaaatcttccaaaagagtccacgtaccatatctatctcatagcgacgcgaggggaaccttatctaactatcattccatttaccgggtgactctcgatgcaggatccgattgggataaattgcccagaaatggctcattcctgactaagggtaaggccgttctcagcaagggaaccccgcgaatctaggcttataccatctagattgttaactacttgcctgtagttctacagccatactggacagttgtttctaaatgatcgggattcatgctagcactcctctgaatgcaccgcgtaagtttaactattacgtccgtgggcagataaggatggaggctgtatgtatcttaactgttacctaatatggctggtaattatcaaagtaaggaccttaatgccatagcgctagcaatcgctttgtatactgaccatgtgccaacctctcttaatctgtaaaatataatgtcttagctaactgtggacgatcatgtctctgcctagagcttcgctgtatcaattcctatagccagcgtactagtgacacaacaacaccgtgtgagaaaagatattagtccttacgtctgtctctctacagcttattgatgaggattgaacatggacatatagctccccctcaaaagcagatgctacctctttattccattctcgaacatttgccgaacttaatttcgacaaacctgaggtcacgtcttaatttatcggtaacgtcacgtccctttgagactggataaatatattaccaggggccaacgagcaattgttggaggcgcttctataatacaaggtgtcttgtcaaagaaagacggcgtgcgtctcgtgcaactcacttaaccaatattaatgtgaaacccccctctctcacatcttatgcggtgtactgccctggtacatttcctgtacaggactccaacagtgtagattcctaagatagctgttggagttgcctcacgccagatcgaaaaactgaataaactagtgagctgagctgcagaaataccgcttaattacttatgactagttcaaagggacctacgtgatgtcagacattgcaaggaagaaattaggtttgtgcgtcattttggctggactagcactccttacttcccctactattcaaatgtcgtaaacagcatgagacaggatcgtgctgacatttaaggtctattgggaacgaggctacctttggtcgcgcgctcgcgttctccgaatgaccgaaatgcatgagcacagtatgcaattgcttatagatctaaggtctggtcgttgaaaccaagcacgtaggcctgggaaatcagttcttcctcagcaactacacaaaagcgtccaagcattagtacttgtagtaaatgtccgaacctatgcgctcatttgaaagtcaaaaaatatttttaagcagtaggcacctaacccgattcctctacttagtagctttctttgattctcagaattgactgcaatatcactgcacaattctgtgccattactagacttctctgtattaacgtctcatcttactaacactcgcctaggacacatctgagagtgaagtatttcaatacatttactgaaatcttcagttctaaaatccccgaataaggctcttatcggtttggccaacacaagaaaaaaacttcttgcaccactcaccttcatacgcaggagcctggggaacttagtaataactatttcggcagacaaagcttataacaagttgccggcgcgtataatatttaaaagaccccttgagctgctcaattaaaacgctcacctggtataggctattagatagtgccgtcttagtaaggggcgggaattatcggataaactgatattttgataaaataaccgacttgttcacgacataagtcactaaggagattttatctttctccaaagtatatcttccttggataatttcaaagcgctgcaatttaagttctgttactagtttatgctgctgggaggtgaccggaaggcgtagtaatctagaggcaaattataagaagttcatcatatcattttcgactacaaaaacaaggtgttgtatgccggcgcattgtgtaaactggacgagtaccctagatggaaaattatacgttaagccaagatttcgatgtaatgataattacctacacatttttgctatccataggaacaagagctgttctataggctcgtggcatacgaacatttgctgccgctatgaatattggaagctcttcaactacagactctattcttaattgccgtcgaaaatgggccgaatcggctattattaatactcggtttttccgaggggattgttgtcgacagtcgtaattattattaatattgatgttggtgaggtcatttaaatacaaccttgcagacaatgaataagggatccaatctctcatactccttttacaattgctcatgcccctatgcaaaccttatgccgccacacctccgcaactctctcttctgaactgtaagtagcttcattactggtttgagactatactgaagctgatgacattctaaaatggctattttcgaatgtgattcataatgtttatcgtttgggatggcagaatcacgttatttttgatatagcccgggtattctattgtatagaacgtatgctacaagtcattccccgaagaagactagaagtaaacaacatgcgaccatcgttaagccacgcaaggctgtagctttatttcccgataacctatcttccataaatagcggacagcaggatactgacgctcaacatcagtggttatggtctaatttttaacttttaataaggtaacttcagcaggcatacacagtaactctttaatttataatcaaattagaagtctgacacttcttatatttttctatcatccaacgcgatcgcccattagcttattgtgttactaataacgtatctaaaccaatccttttcaagctactgcctatattgtcaatatatacaaacaacaggatagtaggctgcttaaaaaatattgtcaaccgtgtacgctttacaatacccggaaatcacaaactttgtagacaacgagtgaaatttatacactacgaagggccagcgtacaagacccatgaattaggcgatatgtttattctgacatattggtttatccttaatctgtcgctgtaaaatgaagccgcccccatccctgcgaattttttttcgaagattcacgactgaaatataaatacgtttggctatatttatgttggagggaggcaatagcctttactgttaaccgaagatttagccagtgagtgtgacactaaaacactggaataaatgcaggcgttcttctgggtaaaaggtttagtcaatctcgcctataagttcatatagctctggatataattatctggcccatgcatttatcatggcgcttggtgccctgtgtgaagccggcctctcatattgaaggtccgaagtattccatgtacattaagatcactctctcattcatgcatcttggcttaacaaatctggttgtccaagctttccaggcacgtatggtacaaattcggatcgaatacttataaaaatgatatgttaaactgtctaaaacgctcatctacaaagtaaagtgcactaaccaatagagtctcaagaccgtgtaatgctggtgcactgaatgtgtaatacggttagaagggattagttatgttacaaatccattgaaaacttaagaagcattgcgtgctcggagggtgcatcttttatcaagagactaacattattttcaacgacgtacatgctttacaatagggtacttatcaaacgccgagaaacgcgcctatagtgatgttatgattatgacccgatatccattggaccgaattttatgtaggttcccagcgtactcgcgtaatatctcggtattgccataatgtaatacttgtcggtctctcccagatgaaaaagcgttacagagtatttcaatgaaaaacagcgcgcaacgtcaatacctttaggggtaacggccgctgatttcatatagatatacgataagttggtatagctctactaggtggcatccacaatcgttgcatttactatagctggttacaatcataatctataccgttccttacatactaccatagcgggatagcgtttttttgccgttgattgggtttaagaggatgtcagtctcattatatccgattcggtgggagagccgttgttttcaaatcgcacactttgtgacataatgtacaagataacaaaactgatataagatataaactgtcaatatcaccttgacacttgaatcaaagtaaattaactcgcaaatataatttgactaattgggtgcagatttctcaattaataaaaaaatggcaccggatgggcttacaagccccttatcattcacttgtatcatgatttccaagaacaatagaatttgctagcaagtatgaacagagattcgaattgcatccacagtacgccggagcgtttattttaatgtggatatgacgatgtactgttggcggcatttgctagtaaccggtccttatttacgtagcgcacacgtaagcatgtctgggagaaatatggtggtacaatctcagagaaagattacagtttggtttaaataggacttatcgggtcggaagtggaacttaataagcagtacacaattgggcaacagacgtcttgcctattacaataggattacaatgcgttagatttcagacacgttcgtgtttggctattcgtcaattccctaaatagttagacgatcaactattatcaaagtgattctttgttcatcctccattcatgtaacagatggcacactacgcataacgccgaggaattttaacgagatttaagagagcagttcgggcacaacccacttgactttataacagctcggcagcataaacggtaatatgtgacaaatttccaaacgttataagaacgtatgtgtacttagaaaactaagtggttcatgttcaacagatgtgacgcagcaagcctaacttatctattggttttgctataaaagaacaaagttacacagaatcctaagggcttgtttcacacttatgcctagtgcttcaccatcttaaaatagcgaaaccggcacgaatcaaaccttaaaacaatgcgcagatattggtgatggtgactccgggtatgataatggtaactgttgaccagcgcccacctcatcgaagtatagaaagtggttaggataaggatgagaccgaacttatttccggccataactttagattttctacctagtacacaacatcagggcggacacgaaaccgccatcacatcatataccaggtttaatttgcttaatgggggaagtgtcaacgaaccttcgaactttagcaggcatatggccattatatatggccccagagcagaatgctacagcagacaaaatttggatttatgtagtttaatacctatcaaacttggtgtgaccatacttgtctaacgacagtgcacaaagtgtaagttacaattattactactcagcagcttctgcaatgataaaatcttatcatacacgtcacatatgataatatctacttagggggaacgggctccacaacctacatagtactcaatacttacactattcgacaggcacaccaaacctgtacagtcccaaaagattgagtcaactttgcagtactgcagatcacagtaatagcttagttagcgagtcaaaattagttttctacgagactgcacgaccgtgcaaatttccgatgtgttggctacaaatagcaacgtatgaatttgtttgaagccacgtaaactgtacaaccttagagataagtctcaggctactaaaaacacgttgtggcactaacaggatcatggttgattcttacttattcggctgaccggcccaataagtaaccttcaactagaacagaataatcgggagtagtttaattcagtcaaggtgcaggtctcattgtaactaacaagctctgtgtaaccaagttaaaatcgttttcttagcggattccctacttatggatttgagctcgtccacaatattcgatacaagaagtttgtggtccgtaacaacgaaattttaattacgctgtgcagcctcatccaaggaattaatagaaggttgatggtaggctccgaacgctccatgattataatcaagtggactgtgcagtaaacgaggaaggtatcctgacgtcgtggtgttcgtttttgttatttgtgccctatacgagtagataaaccatgaacagcacagtgtgaacccatggttgattttaggctaccttatttttaatttccgttacacagaaacgaattccacaactaacatgccattaatttttcgatatcttataaaagatggtcgaaattcattcatttattttttttcggttctcgaaagtcaactaagctgtcgcgttttgtttctctttagaggtaaaagtggctttgatctcctacgtttggatactagtcaaccattactccatttgatccgtgagtatcacctgtctaacatccagcattatgactcctcggcgaagaaaagacacacttcttagagtcgatgtgtattagctagggacacagttgtttaatacgatagtgagcccagggagggcagtgcgtcccccagtagatttattcagctagtgtaagtataagatatctcacccacgaggttcaagtgatatgcagtcttagaataatacttatcctgaatttcgatattatgggtacttcaataatccgctagcgctactttatgtctcgttggacagcaggacacatggcagtcttaaacactaaagacatcacctgaatgaatgtaatgggattacaagaatcaatgaggtattatatacgacgtaggaaactctggatatatacagtaatctagttacgccatcgcacttcattcctctggaaacttagaagacatcagctgtacgtggaggaaccagacccccgtatgtagccaaatagaaccaaagttgcttatacaaacacacccaatgacaatggaccgctggagttcgtaaactcggaacgtagtactgcacaaacccagcatttagcaataggagctacgtatgcaactcccacgtggtaataccttcaagctatcaatatataggtgcctagctaatcgcattcgcaagcagtattcaagcttgtaaaccagtataataattacagaggctctatgaaacccaactttccagctaaaagtcccaattaaatggttatttcgtacttttaaagtcgcccgttctgttattacgcgaattgattctactccaaaattaaacacaaattatcaaccgtttcatttatatttgtcaatgcagctgtttaaaataaggctctactaaattataattaagacacttattaccagatttctctagttaagtttgaaccagctcgactaccgcgaaagatacattcccttctctatttttcagttcatctatgggtcagagaagcattgaatttattctattcaccctcgtcgttcacagcgaatcgtcagtgtgatcagtgtatgagaaatatcctaaaccgtttagtcagaccacacgcttagaacaagtggtctaaaaagactgccctggaaggagtaagaagtatacagctgatccggtgtatccttcagtcatctgccctatactaattacacgacgcaaggaaaaataggtttattttctaggcaaacccttcataggtgactccgatgtgttacgaatcatgcttgagaatgtgctatcgttaccgacggataataacgatctccaatgaaccaaatgtagaatgtctattgattacccttttactattcgacttagagataggagatagaacctcagtgtacttttttagccgaatgggaatctttgggaggtgaatggccataaggtcgtaaatccaaccctcttaaagtcttccatattatatcgttgttcgtggaatcgataacagatttgttgacccatagtaaatgtatactagtttatgttgtaagtgtagattgttttccgattgccgtccaaactttatgtcgtaattgtagaccagtaaagttgaccaaggtaagtgcccagcgatcctgcgagatcgatcgccaatttttccagtcactgtaagtgtaggtttagataaagccgtatgagttatatcataagggcctcggaaagcagcttcgaaccaaagttcccttataatagtagtttaactataaaagtatatactggtctgtcgccctttcacgatttgttttaccggtttatgaagcgttacgtcattagagcggctccaatttaaggttaacggcttccatgtgtagttgtatacaaggataacttaaagtatctgttcagcgagctagttaagttatcctcgatagaacacaactcagaggtcccaagatcgggtttgcaacttgctaatttattctcaaggcaaattgggaattatcgatacctgtataccataaggtcgctcgatgtgatgcttatgtcttctggtgatcctaccttagttagtgctgattaacggaacattaatgtttatcgttttgagatttagccaattctctgattctaactcaagatgccttatctgacgtgctatgcagcccctaagtattttacattgtaataggacacgctcctttaaaactcgccaaaaggtcgttgtggttctctactggttaactatataatttacagctttgttgagctagttcctctttggtttaagtcctcaatattagttggttcgagcgataagttggctagttaccttagtcactatattagatccgaatgttatgcttcatctgaagaccgccaccctccaaaatttcttttaagactcacttattgcaaggtgtaggtgaattcggctcgtttctcaagtggtgtatctgtacacgagtttccatattttcatcaacagccaccgcacacttatgtcactctaggtattaaaagtcgctctacaaggggacgcaattaagaaacagacatgctagtcaaaaataaacatagcgaggcaccactaattcggccgcttatcaatgggatgctctgcgcgagacgcgccagagctcagtagttagttcggacatacatttacttcagatgatcaattagttttctacaaatgcttactctaccccgaaaaaagtcaccagactcttacgtctctttagtatccttccgtcttatataaggtcagtcccccgtttcggtaccctggaatttactaagaataatgaaacagcccccaaggacgtacgtttacaaatgatagaccagatcgcctagcttattccgacgcatgttgcatagaattgaaccaacggaatgtgagagtaactagatgagccgaccacagcacccgtttgcgtcgcagaatacgcctgatagttcggccacgaaatcatatgtcctttgagtattaagtatttgtaatgatcaatcgagctcaagcaagcttacacttcctcggatattcagggaacttagtgcctttgaaagatacgttgatcaacgaaaaattgataatggctcatatggaatgcctacctcatagtgctgaattaacacagcactgcggacctaacttttcgaggtttcaagttcacgtctcaaaacctaataggctggaatatgtagggatcctcggtgaatttgtgattgggtttgttgtagtactgaccaagtgaatattctttttttctaaaagcagatctgctgccgggcactacgaaggagatctctgtgtatcattattgcttcttgacatgatgactcttaaatcactgtgggtgtgcaaaacgatagcacaacccaattcgatagtacatattgttgatacttcgcactaaaccgttcatatttaaaggttgtgctccttccttcgttaaatactggtgacttggtcctatctactattagctagacctctggggaaccacgcccccgtaaaacctgtgcaagagagggggtcatacatcttagacatcgcgcctccaccagggaagcattgggtgattgaccaggtgtgtaacaaatatgattattcttatactaatattagcaaagatgcataatgatttgtattaaatgtataattgaattgataagggtcttttagtcagtgatagagtagtataaggtagacattagaactcttaaccggacgcagatttttcggtcttagtaagccaattagtcgacaaaacaaggtaagagcggttactagtagtacctataatgcactgaatcttcggtcgaagtatagttctaatgctatgcagattgtgacggcgacaaatgttcagacttatatcatgaaacaagctcttgtaagtattgacaaatgaaaagattgaatatttttaaatacaaaatgcgcctacttattaggggaattaaccagattgaaggccaatcctcacatgtaatgagataatagacgataaatgaaattcttgtaatagttgaactgctacgtgatgggtattatatatgattgagatcctccaattgccgacgtcttgtcttgatgcccaaaagattgtcaacgaggagctccctcgcgtacctgtcgtccgtatcataaacgacgcgacatgtacagcactccgaagtataagcaataataatgcgggtaatccagactagatcttttcggactcaatgcggtttcacggtaaacatgattaataccggagagtagtcgagcttatcagcgatgcaagcgaattcattgtgccaggagatacgttgcagataaaaccggcaacgtatgtcaacaagttttggcgatctcgttgtttgtattcgacgaggcgcgggaacttcaagaactatcgtatattcaagtccattaccttttagtttcagactggtggagctgactaaagttatatcatcattttgtacactggtttagttaacgataatttcagatttaacatgaccagacgataatcgctgtatatccagttggaatgtggtttgccagaaaggttaacttataatcaagcctctcttcagtcttgattcgtcgtatcccatccattgcgctatacctcagtgtatttggagctgtagttataccgtgtgctaagatcagtagacatgacgagagcaatattatctaccttacaagcatcaacggacgtctagtcggaacaaaagactctaaaactcgaacttcaggttaatatactatagttctgtattcagcagttattcttatattcgatattatcttgcctattggatgtctgactttagtatattaatcatagtatctgccatgtaaaggtgccagtactaaatctgtttcacagtgcgaattataaacggttacaaccattaaagacaacaagaccctatagctttatttgaattttgtcaatgcgcaacttggagctcgcgatacatcccaattagtctatagggtcgggacgattctacggcatttctggttataatgacaacatggattgtggcccgagaatcgctctttcattaattaagcaatcattacagtcttataagcgctacttccgagtggtagcaggtaactcgatataaggtcgcatgagccgaatagcttaaaaaacaggccaccgaacattgatagagaataccgaccacagcgcaacctttgattactttcattaaattgtacggctcactcgacatcaagcttaagattgcgataatgtgaactcaaatggatcagtactgaagaaccgtaacccacttcgcagaaagcgtacccagagaagatacgctgttacaatatacagggtgaaattattgcctgttcttcgtaaccatttcgccaaacttggttagaaatgatagccattcatgatagaaataagctgaatgataccagtatctttaactatgtagtcagggggaagataacgatggtccatgtatgtttctgatatgtgacagtattggccgcgtaatttgctaacgaagctacttaatgcctttgagcttcatatagatttctttaatcaaaatcggcaaaaagatagtatgagctataatatatgctagtagagaactctggaccatcatctatatgaatactgattcgagcgtgcaattactttagcctgcgtactactgactctacaaaacactctgagataagtttgtagtcagtaagtcgctctctataaaccttttggatgaccattgtacagccacttatagatcccaataaatagcacaggagacagagtttttcaatgctcgatcatttgccgatagtattttcgtctaacctcagggcacctattatttgatacctaacctaacggccctttcacaatggagaaatatatgacatcgggacaaacacaaatggtgggtggccaggagatatgacatggtggcgtctctaagaaacacggactccctctaggcaaactcacgtaaccaattttaatgtcaaacaaaacgctcgaaaagattttgccgtgtaatgacctggtacattgactggtcaggaatacatcactgtagttgccgtagtgtcctgttggtgttccatcaagacacatcgtataacgcaatttacgacggacatcagatcaagttatacagattatttaagtatcacgtgtgcattgggacataagggatctcacacatgccttggaacatttttgctttgtgccgctttttcgctgcactaccaatccttacttaccagtatattcaaaggtcgttaacagaatgagaaaggttagggctctaagttatcgtcgattgggatagacgagacatttgcgagcgccctccacggatacgaatctcccatatcaatgtgaactggatgctatgcagtttagttcttacgtctcctagtggtaaaaatcaaagtagcactcgcatagcagttattcagaacctaatacacaaaaccgtcaaacattttctaattctaggtatgggccgatcataggagctaaggtgaaactcataaatgttttgttagatctagcatcctaaaaagatgcatatactgagtagctggcgtgcattctctcaattgtatcctttttaactgaactagtcggtcccatttcgtgactgagatctattaaccgataagattaataacactcgcattcgtatcagctcagagtgaagtttttcaataatttgactgatatattaacttctaaaataaccctttaagcctcggatccgtttcccaatcacatcaaaaattcttattccaactatctacggattaacaacgtgcatggggatcgtagtaagaacttgttccgatcactttgagtatatcaagttgacggcccggttattattgaatagaaacattcacctgctaaattaaataccgcacatcggatacccgatttcagagggccgtcttactaagggcaggctttgttcggtttaactgagatgttcattattttacagtatgcttcaactaatatgtaacgaaggacagtggatctgtctccatagtagatcttcagtcgtgaatttcataccgctcctatttaagttcgcgttcgagttgttgatcatggcacgtgaaagcaacccctagtattctagacgaaaattttttctagttcatctgataatttgccaattcaaaaacaaccgctggtttcccggcgcattctctaaaatggaagtcgaacctagagccattatttgtcggtaacccatgagttccttcttttcagaagttaatacactgtggtcctatacagaggaaaaacagcggttatatacgatcgtggcataacaacattggatcaagatagcaatttggctacctattctaattctcactagattcggtattccactacaatatcggcagattaggattggatgaataatcggtgtttaagtccggttgcgtctccaatctcctaatttttattaatattgatcttggtgacctattgtaaataaaaacttcaagactttgaataacggtgaaaagatagaagactcatttgaaaatggatcatccacagatccaaacattagcaagacactaatccccaactagctattctgatcgcgatcgtgctgcagtactcctgtcacaatagtctgttcatgatctaattctttttgggctttgttcgatggtgattcagaatctttatccggtcgcttccctgtagctactttgtggggatattgcccggggattatagggttgagatcgtttcctaaaagtatttaaaccaagtagacttcaactaaactacatcagaacatcgtgaagacaccatacgcggtacctttatttaccgataacatttcttcaagaaataccggtaagcagcataatgaccctaaacagctcggggtatcgtcgtagttttaaattttatttaggttactgctcaaggaataaaaactaactatttaatttataataatattacaaggctcacactgattagatttgtctataagacttcgcgatcccccattaccggattgtcttaagaataaactagataaaccatgcattttctagataaggcctttagtctaattagatacaaaaaacacgatagttgcatccttaatttattgtgtcaaacctggaaccttttaattacccgcaaatcactttatgtcgagactacctctgaaatttattatctacctaccgcatgaggacttgaaccatcttgtaggagttatgtttattagctaagattcgtttatcctgtagcggtccatgtatattcaacaagcaaaaagcactcagaattgtttttagttgagtcaagactgatatataaataagtttccctagttttttcgtggtgggacgatattgaattgaatcttaaccgaagagtttcccactctgtcgcacaataatacacgccaatatttccagccctgcttatgccttaatcggttactcaatctcccattgaagttcattttgatctgcatagaagtttcgggcccagccttttttctgccaccttcctccaagctctgtagacgcactctaagattgatgctcacatgtattaattctacattaacataaatatataagtcatgcatcttcgagtaaaatatctggttctccaacatgtcctggcacgtatcgttataatgcccatacatgtagtattaaaatgattgggttaactggatattaagatcatcgaaattgtaaagtcaaattaacaatactgtctcaagaccgtgtattcctcgtgctcggaagggctattacgcttacttccgttttggtatcttaatatgactttcaaaaattaagttgcagtgagtcctacctgcgtgcatcggttagcaagagtataaaagttgtttaaacgaactacttgctttacaataccggtcgtatatatcgccgtgaatccagaagattgtcttctttggattatcaaccgagatcctgtggaccgatgttttgggaccttcacagaggactccaggtagagctcgcttttgcattaatctaagaattgtacctctctaaaagatctaaaacagtgaatgtgtatttcatggaaaaacacagagaaacgtaaattactttaggccgaaaggcacatgagttattatacatatacgagatggtggtatacatcgaattcggggcatacactatagttgcattgtatttagctgctttaaataatatgatattaccttccttacataagacattaccggcataccctggttttcaacttgtggggctttttgacgatcgcactctcatttgatccgagtagggcggtgacccctgcttttcaaatacaaaaatttcgctatgaaggtaatagattacttttcgctgttatgatagaaacggtaaatttaaaattgaaacttctagaaaagtaaagtaacgagaaatgattttgtgaataatgcggtcatgattgcgcaagtaagaaaaaaaggcaaaaggatgcgcggaatagaaacttatcagtcacgggtatcttgatttcattcttcttgtcaattgccgacataggatgaaatcagattccaatgcaatacacagtaacccccacccttgattgtaatgtcgatttgaagttgtacgcgtcgacgaagtggatagtatacgggccttttgtacggtgcgatcaactatgaatctcggcgagttagatggtcgtacaatctcacacatagaggtcacttgcctgtaatgacgaattttcggctaggtactcgaactttattagaagtaaaaatgtgggcaaaagaaggattccattttacaagacgattacaatgagttacatgtctctcaacgtagtctttccctagtagtctttgaactatttaggtactccagaaaattttagcaaagggtttctgtgtgaatccgccattcatgtttatgatggaacaataagaataacgccctcgtatgttatcgacagtgaagtcagcagttcggccaaaaacatattcaatttagtacagatccccagaagttaagctaagtgctctaaaatggcctaaacggttatcaaagtaggtctaattactatactaacgggtgcatcgtaataactgctgtcgatgcaacactatatgatagtgtcgttttgctatatatgtacaatgtgacaaagaagccttagcgattcttgcaaacttaggacttcggattctcaatcttaaatgtccgaaaacgcaaagattcaaaaatttaatctatgagcagatatgcctgatggtgactacgcgtatgttaaggctaaatgttgacaaccgcacacataatcgaactattgatagtcgggagcataaccaggtgaacgtactttgttcacgacatttattgacatgttctaaatacgtctcaaaatcacggcgcactagaaaacgcaatcaaatcattgtcctggtttaagggccgtaatgccggtagtgtcaaacttcatgagaactttagctggcttttggccagtatttagggaccaagagcactagccttaagctgaatattttgccatttatctactgttataactttaaaacttggtggcaccagacttgtcgatacacacgcatcaatctgtaacgtaaaaggtttactaagaacaagcgtaggaattgagtttatattatatttaaactaaaagatgatattagcttctgagggcgatagggctccaaatcataaagaggaatatattattacacgattagaaacccacaacatacctcgaatcgcccaaaagtttgacgaaacttggcagtactccacatctcagtaatacagttgggagagtctcaaatgttgttttattactcaatgaaccaccctcataatttcactgctgttccattaaatttgcaaacgatcatttgctttgaagaaacgtaaaatcgacaaaattacagataagtagatgcataataaaaaaaactgctcgctataacacgatcatcgtgcattcttacttaggagcatcacccgcacaataacgtaccttaaactacaacactattagaccgagtactgtaattcacgaaagctcaagctcgcattgtaaagaacttgctctctcgtaaaatgtgataatagtttgcggagaggattcaattattttccattgcacctactccactagattcgataaaagaaggtggtcctcccttaaaaagaaatgttaagtaacatcggaaccataagcaaagcatgtaagtgaaccgtcatccttccctaagaaacataaaggtttttaataatgtcgactgtgaactataactgcatcctttcctgacctactccggttccttgttgttatttctgaacgagaccagtagataaacaatgtaaaccacagtgggtaccaatggtgcatgtgacgctaccgttgttttaagtgcccgtacaaacataagaagtcataatcttacttgaaattaattttgccttttattttttttcaggctcgaaattaatgatttgttttttttgaccttctagttacgctaatatgcggtcgcctgtggtttctattgagtcctataacgggatgggatctaatacgtttggttactagtaaacaaggtataaatttgataccggagtatcaactgtataacatcaagctttatgactcatacgcgaagtaatgacacaaggctttcaggagatcgcgagtacagagccactaaggggtgtattacgatagtgacaccaccgagcgcactcactccccaagtagatttatgatcctacgctaagtattagatatataaccaaagaggttctagtcagtgcaactcttagaataataattagccggttttgcctttttaggcctaatgcaatattcagctagcccttatgtatctcgcgttccacagcaccactcatggcacgcgtttaaactaatcaaatataatctatgaatgttatgccagtacttgaataaatcaggttttttataagtccttgcatactctcgttatatactgttagagtcttaccccatagaaattctttcatctgcaaacttagaagaattctcagctacggggagcataaagtccccaggatgttgacaaatacaacaaatgtggcttatacaaacactccatatgaaaatcgaaccctcgtggtagttttagccgaaccttgtacggataaatccctccattttccaatagcagatacctatcctactacctcgtggtattaaattaaagcttgaaatatagagctgcatagcttatccaattcccaagcacgagtctaccgtcgtaaccacgatttgatttacagacgctagagcaaacccatctttaaacatataagtaaaaattaaagggtgagtgcgtacgtgtttactagcaacttcgcttattaagacaattgtttataagccataattaaaaacatatgttcaacaggttcattgatatttgtaattgcacaggtttttaataaggatctacgtaagtataatgaacaaactttttaccagagttatattctgtactttgaaaatgctcctctaccgccttagagactttcaattagattttttgcagttaatctatgcgtaagtgaaccatgcaagggatgcgattcaaccgcctcgtgctaaccctatcgtctgtctcataactgtaggtctaatataattttcagttttcgaacacataaccctttgaaaatctgctatttaatgtctcacctgcatgcactatcttctatactgctcagaacggctatacgtcactatgctccaagtgacgatttaaacgaagcaaggaataataggtttattttagtgcaaaacaattaagtgcggactacgtgctctttacaataagccttgtgattgggctataggttaagtcccatattaacgatctccaatgtacaaaatcgacaatcgctttgcattacccggttactagtcgaattacagatagctgttagatactcactctaattttggacaacaatcccaatcttggggtcgtctatcgcctgaagctcgtaaatccttccatcttaaacgattacatattatagacttgttcggggtagagatatcacagttgtgcaaacattgtaaatcgatactagtttatgttggtagtctagttgcttttaccattccccgaaaaacttgatctactatttcgacaacagtaaacttgaactaggtaagtgaaaacagagaatgcctcatagtgccactatttgtccactatatgtaagtgtagctttacataatccactatgactgagatcattacggcctaggaaagcagcgtagaaaaaaagggcccggatattacgactgtaactataaaactagttactggtagcgcgccatgtatagatttgttttaccggttgtggttgcgttaacgaatttcagccgcgaaaattgatccgttaaccagtccatctcgacttctataaaacgataaagtaaagttgatgttcagcctccttcttatggttgcatcgagagtacactactcagtgggaaatagatcggggttcctacttcagattgtattatctaggcaattgccgattgtgccatacctggataaaataagctacctacatgtgatgcttatctattatcgtcatactaccttagggtgtcctgttgaacgctacattaatctttagccgtttgagatgttccaatggataggagtctaacgcatgatgaagtttaggaaggcagagcatcccactaagtatgtgacagtgtatttcgaaacgagacgttataaatagaaaaaaggtccttctggttctattctgctgaactattgaatggaaagattggttgacctacgtactatttgcttgaagtcatcaatttgacggggtgagagacatatggtgcatactttacggactctatattttagatcagaagcttagcagtcttctctacaccccctcacgacataattgcttttaagaatctatgtttgattcctctacgggaattcggatccgttcgcatgtgcggtttatctaaaccaggggacatatgttcagctaaagcatacgaacactttgctaactagacgtatgtatagtagctataaatcccgacgatatttacaaaaagaaatgagactcaaatatatacatagcgaccctacacttattcgcaccctgatctaggcgatcctagcacccacacccgaaagtgagcactagtgtcttccgtattaaatttactgcagttgagattttagttgtctactaaggattactctaacccgtaataaggatcaagactcggtactagctttactatcattccctatgtgttttcctaactcacaagggtacgtaccagcctatgtaattacaataatgataaagacacaaaggaagtaactttacaaatgagtctccagttacactagcttagtccctcccatcttgctttgaagtctaaatacgcaatctctgaggatatacagcagaagaacactcataacgttggagtccaagaattagactcatagggcccccaacatttaatatgtactgtgagtttgaaggtgttctattgttaattcctgctcttgatacatgacacgtactccgtgtttaaggcttcggactgactttctttcataagttgagcaacgaaaatttcagaatcgataagttggattcactaactaatacggctgattgaaaactccactccggacctatatggtcgacctttatacgtaaccgatataaaacttataggctggtatatcgagccttcctagcgcaatttcggatggggtttcttctactactcaacaacggaatagtctttgtttagtaaaccagagctcaggacgcccaatacgtaggagagcgctgtggagcatgtgtcattatggactggagcactcttaaatcactctgcgtgtgctaaacgatagatcataacatgtcctgagtaaattttcttgatacgtcgcaatataccgttattagttaaacgttctcatccgtcatgcgtgaaatacggctgtcgtgctcagatatactattagcgactcatctcgcctaacacgcacacgtataaactcggaatgactgccgctcttacatattagaaatacagactacaccacggaagcattgggtcattctcaaccgctgtataaaagatgattagtcttataataagattaccaaagaggcagaatcatgggtagtaaatctattattcaagtgattaccgtcgtgtaggcagggagtgaggacgagatggtactcaggacaaatattaaccggacgaagtggtttacgtcgtactttcactattagtagtaaatacaaggtaacaccggggaatagtactaaatataatgatatctatcttcgggagaacgagtcgtctattgctttgaacattctcaaggcgtaaaatgtgctgacttatagcatgatacaaccgattgttacttttgtctattcaaaagattgaatagttttttatacaaaagccgcatacttatgacggctagtatacagtttcatcccctagcatcaatgctatggacagtattgaacttataggaaattcttctaatagggcaaatccgtcgtgatgcctattttttttcagtcacatcctcaaatggcactagtattgtcgggatcccattaacaggctcaaccacgagctcacgcgaggacatgtagtccgtatctttaacgaagcgacagcgacagaactcccatggataaccaattataaggcccgtaatcctctagacatcgtttaccaataaatccgctttctccgtaatcatgttgaataccccagagtagtccagatgataaccgatgaaacacaagtctttctcaatgcacttacggtgaacttattaccgccaacgtagctcatcaaggttgcgacatctagttgtgtgtttgcgacgagcccagcgaacttcatcaactttcgtatattcaacgccttgtaattttactttaagacgcctggtgatgtagattcttagataatcagtttgttatcggctgtactttaccataatttcacaggtttcaggtcaagaagattatagctgtatatacagttccatgctcggtgcacagaaacgtgatcggataataatcaatcgcttatgtcgtctttaggcgtatccaatacatgccccgataccgcagtgtatttcgacatgtaggtataccgtcgcatttgagctcgagtcaggacgtcagctagattagattccttaatagaatataccgacctctagtccgaactaaactatagataacgccaacttcaggttaattgtctagtcgtctgtttgcagatgggattcttagatgagtgagtatcggccatattggttcgagcactttagtttttgatgcataggatatgcaatgtatagctgaaagtactttatctgtttcaaactcacattgattaaaccggtaaacctttaaagactacaagaaaatattcagtgagggcaattttgtcaatcacaatcttccagctagagatacttcacaatttgtcttgaggctacgcaacattagacggattttcgcgttttattgaaataatcgaggggcccaagagtatccatagttcattttgtaagatttctttacaggcttattacagcttcttcagactcctacatgcttacgagttatatgctagcatgtgaacaatagattaatatacaggaaaacgtacattgagagagatgaccctacacagcgcaaccgttgagtactttcattaaagggtaacgctctcgagacagcatccttaagatggccttattgtcaaatcatttgcagaagtacgcaagatccctaaccaacgtagaagaatccctacaaacacatgagacgcggtgaaaatagacagggtgttagtattcaatcttcggagtatcaatttcgccaatcttggtgagaaagcataccctttcttcagagaaagaagatcaatcataacactatctttaacgaggtacgcacgcgcatcattacctgcctccatggatctttaggatagcggaaagtattggcagcgtattgtgatttcgttcctactttatcaatttcacattcatatacatgtcttttatcaaaatcgccaataagataggatgagctatattagatgctagtagagttcgcgccaacatcatcgataggaatactcaggacagcgtgataggacttttcaatccctaatactctctataattataactctctcttaagtttggaggcagtaacgcgctctatataatcagtttgctgcaccattcttcagcctctgatacatacaaataaattccacagcagtaagagggtttaattgagacatcttgggaacttaggattttactctaacatcaccgaaacgattattggataccgtacctaaacgaactttctcaaggcagtaatataggacatccgcaataacacaaatgctgcctccccaggagttatgtcttcctggaggctatatcttacacccactcactataggcaaactaaagtttaaatgttgattgtctaaaaaaaagatagataagagttggccggcgtagcacatgcgaaagtgaatcgtaagctataattctctggacttgaagttctgtcctgttcctctgcaagaaacaaacttcctttaaagctatttacgacgcacatctcagcaagttataaacatgttggaagtttctagtcggaattcccaaagaacggatctatctaatgcattcctacatttttcctgtctgccgatggtgccatcctattcaaagaatttcttaaaagtagattaaatgggacttttaacaatgagtaaccttacgcctctaagggttcctcgagtgccatacaccagtcaggtccgagccacatacacggagaacattctaacatagcattctcaactcgatcatttgcaggttacttctttcctatcctagtgctaaaaatcatacttgcaatcccatagcacggattaagaacctaagaaacaattcagtaaaacatgttcgaattcttggtatgggaacatcattgcagctatggtctaacgcattaatgtttgggtacatcttccatcatataaacaggaagagtctgacgacagggagtgcttgcgatcatgtctatcattgtgaaatcaaattgtagctcacatgtcgtctatgagagcgtgtatccgataagatttagaaaaatagaagtcgtataagatctcactgaacttttgaatgaatgtgaagcatatatgatctgctttaataaaactttatccataggatacgtttccaaatcaattcaataattattagtcaaaatagataaggatgaacaacctgaaggccgatcggacgtagaaagtggtcccatcactttgagttgatattgttgaaccacacgttattatggttttcaaacagtctcaggatattgtatatacagataatccgataccagttgtctgacgcccctcttacgtaccccaccctttgtgacgtttaaagcagttgttcagtattttaaactaggcggcaactaatttggaaagaagcacagtggatatgtctaaattcttgttattcaggcctgaatttaatacaccgcatagttaacttcgcggtagagttgttcatcatgcctcctctaagctaccacttctatgatacaccaatagttgttctacggaatctgataattggccaagtcataaacttccgctgcgttcaacccccttgctcgaatatccaactcgaaaagacagccttttggtgtccggaacaaatcagttacttcttttctgatgttaattctctgtggtcagatacagaccaaaaactccgcggatttaccatcctccaagaacaaatttgcatcaacatagcattttggctacatattctaagtctcaatagtttaggttttcaactacattatcccaacattaggattggaggaataatagctgggtaagtccccttgcgtctacaatcgactattttttatgaatatgcttctgccgcacctatggttattaaaaaagtcatgactttgaagaaccctgaaaagatagatgaatcaggtgtaatggcagcagccaaagagcatataattagcaacactctaagaacattatagatatgatgatagcgatcgtcatgatgttatccggtcacaatagtagcttcatcagctaattcgttttgccagtggtgacttgcgctggaagaatcgttatacggtcccttccctcttgatacggtgggggcttattcaaccgcgtggattgggttgtcatacttgcattaaacgatgtaaaccatctagtagtcaactatactaaatcacaaaatagtgatcaatacatacccgcttcatggttttaaccatttaattgattaaagatattccgctaagaaccattatctacctaaactgatcgccgtatcctagtagtttgaaatttgatgtaccgtaatgatcaacgaagtaaaacgttatattgtatgtagaataataggtcttggagctaaatgatgtgattggtagtgaagacttacccttacaactttaccggtttctcggaagaatatactagagaatcaatgcatgggctacataagcactttagtctaatgagataaaaaatacacgagtcttccatcatgaattttttgtcgaaaaactcgaacctggtaatttaaaccatatatctttatgtcgtcaataactctcatatgttttatataacttcccaatcacgacttgtaactgcttgttcgactgagctgtttgagctatgaggccgggatccggttgagctacatctatttgctacaagaaaaatgaaagcacatttgttgggagttctggctacactcatagagaaataagtggcccgagtgggtgcggcctgcctccatattcaagtgtatcttaaaccaagtggttccaacgctcgcgctaaagaattaaagcctttatttcctccacggagtagcccgtaatccggttcgaaagagaccattgaagttaattttcatatccagtgaagtttaggcacaagcatgtgttctgccacatgcctcaaagcgctcttcaaccaagatatgattcatcctaacttcgatgaatgcgtctgtaacataaatatagaaggaatgattcggcgagttaattttcgccttctccaacatggcatccctacgttcgttataaggaccatacatgtaggttttaaaggtttgcggttaatcgatatttacatcatagaaattctatagtcaaatttacaagactctagatactcactcgttgcagccggctaggaagcgctttgtaccttacttcccttttcgttgcgtaatatgaatttcatatagtaagttcaaggcactcatacctccgtgaagagggtagatagactattaaagttgtttaatagtacgtattgatggaaatgacccgtaggagatttaccactcaatccacaagattcgctgctgtgcattatcaaaacagtgcatgtcgaaacatgggttgggtccttcaaacacgaatccaggtagagatacctttgcaatttttGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCcttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcgtactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaaNtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgtcattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcagagtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYaHgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRcatttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactttattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSStacaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaaccttacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYtgtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWaaccRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagtRDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgttgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacagcccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctgttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaatactcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKaggYtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSaKtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttataaaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBaaNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacggtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgctcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccKtcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMtttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacgggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNaBKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDttaRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacctttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatccgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcacaattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKgatacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcgaaacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaDgttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtgttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcVtaBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaaccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagatgaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgggaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaatYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctttYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactttaSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatcacBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBagaHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHtcgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctcttttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBWattccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatagttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaaattBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStctHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHcctaaagacYRcaggattHaYgtKtaatgcVcaataMYacccatatcacgWDBtgaatcBaatacKcttRaRtgatgaBDacggtaattaaYtataStgVHDtDctgactcaaatKtacaatgcgYatBtRaDatHaactgtttatatDttttaaaKVccYcaaccNcBcgHaaVcattHctcgattaaatBtatgcaaaaatYMctSactHatacgaWacattacMBgHttcgaatVaaaacaBatatVtctgaaaaWtctRacgBMaatSgRgtgtcgactatcRtattaScctaStagKgaDcWgtYtDDWKRgRtHatRtggtcgaHgggcgtattaMgtcagccaBggWVcWctVaaattcgNaatcKWagcNaHtgaaaSaaagctcYctttRVtaaaatNtataaccKtaRgtttaMtgtKaBtRtNaggaSattHatatWactcagtgtactaKctatttgRYYatKatgtccgtRtttttatttaatatVgKtttgtatgtNtataRatWYNgtRtHggtaaKaYtKSDcatcKgtaaYatcSRctaVtSMWtVtRWHatttagataDtVggacagVcgKWagBgatBtaaagNcaRtagcataBggactaacacRctKgttaatcctHgDgttKHHagttgttaatgHBtatHcDaagtVaBaRccctVgtgDtacRHSctaagagcggWYaBtSaKtHBtaaactYacgNKBaVYgtaacttagtVttcttaatgtBtatMtMtttaattaatBWccatRtttcatagVgMMtagctStKctaMactacDNYgKYHgaWcgaHgagattacVgtttgtRaSttaWaVgataatgtgtYtaStattattMtNgWtgttKaccaatagNYttattcgtatHcWtctaaaNVYKKttWtggcDtcgaagtNcagatacgcattaagaccWctgcagcttggNSgaNcHggatgtVtcatNtRaaBNcHVagagaaBtaaSggDaatWaatRccaVgggStctDaacataKttKatttggacYtattcSatcttagcaatgaVBMcttDattctYaaRgatgcattttNgVHtKcYRaatRKctgtaaacRatVSagctgtWacBtKVatctgttttKcgtctaaDcaagtatcSataWVgcKKataWaYttcccSaatgaaaacccWgcRctWatNcWtBRttYaattataaNgacacaatagtttVNtataNaYtaatRaVWKtBatKagtaatataDaNaaaaataMtaagaaStccBcaatNgaataWtHaNactgtcDtRcYaaVaaaaaDgtttRatctatgHtgttKtgaaNSgatactttcgagWaaatctKaaDaRttgtggKKagcDgataaattgSaacWaVtaNMacKtcaDaaatttctRaaVcagNacaScRBatatctRatcctaNatWgRtcDcSaWSgttRtKaRtMtKaatgttBHcYaaBtgatSgaSWaScMgatNtctcctatttctYtatMatMtRRtSaattaMtagaaaaStcgVgRttSVaScagtgDtttatcatcatacRcatatDcttatcatVRtttataaHtattcYtcaaaatactttgVctagtaaYttagatagtSYacKaaacgaaKtaaatagataatSatatgaaatSgKtaatVtttatcctgKHaatHattagaaccgtYaaHactRcggSBNgtgctaaBagBttgtRttaaattYtVRaaaattgtaatVatttctcttcatgBcVgtgKgaHaaatattYatagWacNctgaaMcgaattStagWaSgtaaKagttttaagaDgatKcctgtaHtcatggKttVDatcaaggtYcgccagNgtgcVttttagagatgctaccacggggtNttttaSHaNtatNcctcatSaaVgtactgBHtagcaYggYVKNgtaKBcRttgaWatgaatVtagtcgattYgatgtaatttacDacSctgctaaaStttaWMagDaaatcaVYctccgggcgaVtaaWtStaKMgDtttcaaMtVgBaatccagNaaatcYRMBggttWtaaScKttMWtYataRaDBMaDataatHBcacDaaKDactaMgagttDattaHatHtaYatDtattDcRNStgaatattSDttggtattaaNSYacttcDMgYgBatWtaMagactVWttctttgYMaYaacRgHWaattgRtaagcattctMKVStatactacHVtatgatcBtVNataaBttYtSttacKgggWgYDtgaVtYgatDaacattYgatggtRDaVDttNactaSaMtgNttaacaaSaBStcDctaccacagacgcaHatMataWKYtaYattMcaMtgSttDagcHacgatcaHttYaKHggagttccgatYcaatgatRaVRcaagatcagtatggScctatattaNtagcgacgtgKaaWaactSgagtMYtcttccaKtStaacggMtaagNttattatcgtctaRcactctctDtaacWYtgaYaSaagaWtNtatttRacatgNaatgttattgWDDcNaHcctgaaHacSgaataaRaataMHttatMtgaSDSKatatHHaNtacagtccaYatWtcactaactatKDacSaStcggataHgYatagKtaatKagStaNgtatactatggRHacttgtattatgtDVagDVaRctacMYattDgtttYgtctatggtKaRSttRccRtaaccttagagRatagSaaMaacgcaNtatgaaatcaRaagataatagatactcHaaYKBctccaagaRaBaStNagataggcgaatgaMtagaatgtcaKttaaatgtaWcaBttaatRcggtgNcacaaKtttScRtWtgcatagtttWYaagBttDKgcctttatMggNttattBtctagVtacataaaYttacacaaRttcYtWttgHcaYYtaMgBaBatctNgcDtNttacgacDcgataaSatYaSttWtcctatKaatgcagHaVaacgctgcatDtgttaSataaaaYSNttatagtaNYtaDaaaNtggggacttaBggcHgcgtNtaaMcctggtVtaKcgNacNtatVaSWctWtgaWcggNaBagctctgaYataMgaagatBSttctatacttgtgtKtaattttRagtDtacatatatatgatNHVgBMtKtaKaNttDHaagatactHaccHtcatttaaagttVaMcNgHatatKtaNtgYMccttatcaaNagctggacStttcNtggcaVtattactHaSttatgNMVattMMDtMactattattgWMSgtHBttStStgatatRaDaagattttctatMtaaaaaggtactaaVttaSacNaatactgMttgacHaHRttgMacaaaatagttaatatWKRgacDgaRtatatttattatcYttaWtgtBRtWatgHaaattHataagtVaDtWaVaWtgStcgtMSgaSRgMKtaaataVacataatgtaSaatttagtcgaaHtaKaatgcacatcggRaggSKctDcagtcSttcccStYtccRtctctYtcaaKcgagtaMttttcRaYDttgttatctaatcataNctctgctatcaMatactataggDaHaaSttMtaDtcNatataattctMcStaaBYtaNagatgtaatHagagSttgWHVcttatKaYgDctcttggtgttMcRaVgSgggtagacaataaDtaattSaDaNaHaBctattgNtaccaaRgaVtKNtaaYggHtaKKgHcatctWtctDtttctttggSDtNtaStagttataaacaattgcaBaBWggHgcaaaBtYgctaatgaaatWcDcttHtcMtWWattBHatcatcaaatctKMagtDNatttWaBtHaaaNgMttaaStagttctctaatDtcRVaYttgttMtRtgtcaSaaYVgSWDRtaatagctcagDgcWWaaaBaaRaBctgVgggNgDWStNaNBKcBctaaKtttDcttBaaggBttgaccatgaaaNgttttttttatctatgttataccaaDRaaSagtaVtDtcaWatBtacattaWacttaSgtattggDgKaaatScaattacgWcagKHaaccaYcRcaRttaDttRtttHgaHVggcttBaRgtccctDatKaVtKtcRgYtaKttacgtatBtStaagcaattaagaRgBagSaattccSWYtttattVaataNctgHgttaaNBgcVYgtRtcccagWNaaaacaDNaBcaaaaRVtcWMgBagMtttattacgDacttBtactatcattggaaatVccggttRttcatagttVYcatYaSHaHcttaaagcNWaHataaaRWtctVtRYtagHtaaaYMataHYtNBctNtKaatattStgaMcBtRgctaKtgcScSttDgYatcVtggaaKtaagatWccHccgKYctaNNctacaWcttttgcRtgtVcgaKttcMRHgctaHtVaataaDtatgKDcttatBtDttggNtacttttMtgaacRattaaNagaactcaaaBBVtcDtcgaStaDctgaaaSgttMaDtcgttcaccaaaaggWtcKcgSMtcDtatgtttStaaBtatagDcatYatWtaaaBacaKgcaDatgRggaaYctaRtccagattDaWtttggacBaVcHtHtaacDacYgtaatataMagaatgHMatcttatacgtatttttatattacHactgttataMgStYaattYaccaattgagtcaaattaYtgtatcatgMcaDcgggtcttDtKgcatgWRtataatatRacacNRBttcHtBgcRttgtgcgtcatacMtttBctatctBaatcattMttMYgattaaVYatgDaatVagtattDacaacDMatcMtHcccataagatgBggaccattVWtRtSacatgctcaaggggYtttDtaaNgNtaaBatggaatgtctRtaBgBtcNYatatNRtagaacMgagSaSDDSaDcctRagtVWSHtVSRggaacaBVaccgtttaStagaacaMtactccagtttVctaaRaaHttNcttagcaatttattaatRtaaaatctaacDaBttggSagagctacHtaaRWgattcaaBtctRtSHaNtgtacattVcaHaNaagtataccacaWtaRtaaVKgMYaWgttaKggKMtKcgWatcaDatYtKSttgtacgaccNctSaattcDcatcttcaaaDKttacHtggttHggRRaRcaWacaMtBWVHSHgaaMcKattgtaRWttScNattBBatYtaNRgcggaagacHSaattRtttcYgaccBRccMacccKgatgaacttcgDgHcaaaaaRtatatDtatYVtttttHgSHaSaatagctNYtaHYaVYttattNtttgaaaYtaKttWtctaNtgagaaaNctNDctaaHgttagDcRttatagccBaacgcaRBtRctRtggtaMYYttWtgataatcgaataattattataVaaaaattacNRVYcaaMacNatRttcKatMctgaagactaattataaYgcKcaSYaatMNctcaacgtgatttttBacNtgatDccaattattKWWcattttatatatgatBcDtaaaagttgaaVtaHtaHHtBtataRBgtgDtaataMttRtDgDcttattNtggtctatctaaBcatctaRatgNacWtaatgaagtcMNaacNgHttatactaWgcNtaStaRgttaaHacccgaYStacaaaatWggaYaWgaattattcMaactcBKaaaRVNcaNRDcYcgaBctKaacaaaaaSgctccYBBHYaVagaatagaaaacagYtctVccaMtcgtttVatcaatttDRtgWctagtacRttMctgtDctttcKtWttttataaatgVttgBKtgtKWDaWagMtaaagaaattDVtaggttacatcatttatgtcgMHaVcttaBtVRtcgtaYgBRHatttHgaBcKaYWaatcNSctagtaaaaatttacaatcactSWacgtaatgKttWattagttttNaggtctcaagtcactattcttctaagKggaataMgtttcataagataaaaatagattatDgcBVHWgaBKttDgcatRHaagcaYcRaattattatgtMatatattgHDtcaDtcaaaHctStattaatHaccgacNattgatatattttgtgtDtRatagSacaMtcRtcattcccgacacSattgttKaWattNHcaacttccgtttSRtgtctgDcgctcaaMagVtBctBMcMcWtgtaacgactctcttRggRKSttgYtYatDccagttDgaKccacgVatWcataVaaagaataMgtgataaKYaaatcHDaacgataYctRtcYatcgcaMgtNttaBttttgatttaRtStgcaacaaaataccVgaaDgtVgDcStctatatttattaaaaRKDatagaaagaKaaYYcaYSgKStctccSttacagtcNactttDVttagaaagMHttRaNcSaRaMgBttattggtttaRMggatggcKDgWRtNaataataWKKacttcKWaaagNaBttaBatMHtccattaacttccccYtcBcYRtagattaagctaaYBDttaNtgaaaccHcaRMtKtaaHMcNBttaNaNcVcgVttWNtDaBatgataaVtcWKcttRggWatcattgaRagHgaattNtatttctctattaattaatgaDaaMatacgttgggcHaYVaaNaDDttHtcaaHtcVVDgBVagcMacgtgttaaBRNtatRtcagtaagaggtttaagacaVaaggttaWatctccgtVtaDtcDatttccVatgtacNtttccgtHttatKgScBatgtVgHtYcWagcaKtaMYaaHgtaattaSaHcgcagtWNaatNccNNYcacgVaagaRacttctcattcccRtgtgtaattagcSttaaStWaMtctNNcSMacattataaactaDgtatWgtagtttaagaaaattgtagtNagtcaataaatttgatMMYactaatatcggBWDtVcYttcDHtVttatacYaRgaMaacaStaatcRttttVtagaDtcacWatttWtgaaaagaaagNRacDtttStVatBaDNtaactatatcBSMcccaSttccggaMatgattaaWatKMaBaBatttgataNctgttKtVaagtcagScgaaaDggaWgtgttttKtWtatttHaatgtagttcactaaKMagttSYBtKtaYgaactcagagRtatagtVtatcaaaWYagcgNtaDagtacNSaaYDgatBgtcgataacYDtaaactacagWDcYKaagtttattagcatcgagttKcatDaattgattatDtcagRtWSKtcgNtMaaaaacaMttKcaWcaaSVMaaaccagMVtaMaDtMaHaBgaacataBBVtaatVYaNSWcSgNtDNaaKacacBtttatKtgtttcaaHaMctcagtaacgtcgYtactDcgcctaNgagagcYgatattttaaatttccattttacatttDaaRctattttWctttacgtDatYtttcagacgcaaVttagtaaKaaaRtgVtccataBggacttatttgtttaWNtgttVWtaWNVDaattgtatttBaagcBtaaBttaaVatcHcaVgacattccNggtcgacKttaaaRtagRtctWagaYggtgMtataatMtgaaRttattttgWcttNtDRRgMDKacagaaaaggaaaRStcccagtYccVattaNaaKStNWtgacaVtagaagcttSaaDtcacaacgDYacWDYtgtttKatcVtgcMaDaSKStVcgtagaaWaKaagtttcHaHgMgMtctataagBtKaaaKKcactggagRRttaagaBaaNatVVcgRcKSttDaactagtSttSattgttgaaRYatggttVttaataaHttccaagDtgatNWtaagHtgcYtaactRgcaatgMgtgtRaatRaNaacHKtagactactggaatttcgccataacgMctRgatgttaccctaHgtgWaYcactcacYaattcttaBtgacttaaacctgYgaWatgBttcttVttcgttWttMcNYgtaaaatctYgMgaaattacNgaHgaacDVVMtttggtHtctaaRgtacagacgHtVtaBMNBgattagcttaRcttacaHcRctgttcaaDBggttKaacatgKtttYataVaNattccgMcgcgtagtRaVVaattaKaatggttRgaMcagtatcWBttNtHagctaatctagaaNaaacaYBctatcgcVctBtgcaaagDgttVtgaHtactSNYtaaNccatgtgDacgaVtDcgKaRtacDcttgctaagggcagMDagggtBWRtttSgccttttttaacgtcHctaVtVDtagatcaNMaVtcVacatHctDWNaataRgcgtaVHaggtaaaaSgtttMtattDgBtctgatSgtRagagYtctSaKWaataMgattRKtaacatttYcgtaacacattRWtBtcggtaaatMtaaacBatttctKagtcDtttgcBtKYYBaKttctVttgttaDtgattttcttccacttgSaaacggaaaNDaattcYNNaWcgaaYattttMgcBtcatRtgtaaagatgaWtgaccaYBHgaatagataVVtHtttVgYBtMctaMtcctgaDcYttgtccaaaRNtacagcMctKaaaggatttacatgtttaaWSaYaKttBtagDacactagctMtttNaKtctttcNcSattNacttggaacaatDagtattRtgSHaataatgccVgacccgatactatccctgtRctttgagaSgatcatatcgDcagWaaHSgctYYWtatHttggttctttatVattatcgactaagtgtagcatVgtgHMtttgtttcgttaKattcMatttgtttWcaaStNatgtHcaaaDtaagBaKBtRgaBgDtSagtatMtaacYaatYtVcKatgtgcaacVaaaatactKcRgtaYtgtNgBBNcKtcttaccttKgaRaYcaNKtactttgagSBtgtRagaNgcaaaNcacagtVtttHWatgttaNatBgtttaatNgVtctgaatatcaRtattcttttttttRaaKcRStctcggDgKagattaMaaaKtcaHacttaataataKtaRgDtKVBttttcgtKaggHHcatgttagHggttNctcgtatKKagVagRaaaggaaBtNatttVKcRttaHctaHtcaaatgtaggHccaBataNaNaggttgcWaatctgatYcaaaHaatWtaVgaaBttagtaagaKKtaaaKtRHatMaDBtBctagcatWtatttgWttVaaaScMNattRactttgtYtttaaaagtaagtMtaMaSttMBtatgaBtttaKtgaatgagYgtNNacMtcNRacMMHcttWtgtRtctttaacaacattattcYaMagBaacYttMatcttKcRMtgMNccattaRttNatHaHNaSaaHMacacaVaatacaKaSttHatattMtVatWgattttttaYctttKttHgScWaacgHtttcaVaaMgaacagNatcgttaacaaaaagtacaHBNaattgttKtcttVttaaBtctgctacgBgcWtttcaggacacatMgacatcccagcggMgaVKaBattgacttaatgacacacaaaaaatRKaaBctacgtRaDcgtagcVBaacDSBHaaaaSacatatacagacRNatcttNaaVtaaaataHattagtaaaaSWccgtatWatggDttaactattgcccatcttHaSgYataBttBaactattBtcHtgatcaataSttaBtatKSHYttWggtcYtttBttaataccRgVatStaHaKagaatNtagRMNgtcttYaaSaactcagDSgagaaYtMttDtMRVgWKWtgMaKtKaDttttgactatacataatcNtatNaHattVagacgYgatatatttttgtStWaaatctWaMgagaRttRatacgStgattcttaagaDtaWccaaatRcagcagaaNKagtaaDggcgccBtYtagSBMtactaaataMataBSacRMgDgattMMgtcHtcaYDtRaDaacggttDaggcMtttatgttaNctaattaVacgaaMMtaatDccSgtattgaRtWWaccaccgagtactMcgVNgctDctaMScatagcgtcaactatacRacgHRttgctatttaatgaattataYKttgtaagWgtYttgcHgMtaMattWaWVtaRgcttgYgttBHtYataSccStBtgtagMgtDtggcVaaSBaatagDttgBgtctttctcattttaNagtHKtaMWcYactVcgcgtatMVtttRacVagDaatcttgctBBcRDgcaacKttgatSKtYtagBMagaRtcgBattHcBWcaactgatttaatttWDccatttatcgagSKaWttataHactaHMttaatHtggaHtHagaatgtKtaaRactgtttMatacgatcaagDgatKaDctataMggtHDtggHacctttRtatcttYattttgacttgaaSaataaatYcgBaaaaccgNatVBttMacHaKaataagtatKgtcaagactcttaHttcggaattgttDtctaaccHttttWaaatgaaatataaaWattccYDtKtaaaacggtgaggWVtctattagtgactattaagtMgtttaagcatttgSgaaatatccHaaggMaaaattttcWtatKctagDtYtMcctagagHcactttactatacaaacattaacttaHatcVMYattYgVgtMttaaRtgaaataaDatcaHgtHHatKcDYaatcttMtNcgatYatgSaMaNtcttKcWataScKggtatcttacgcttWaaagNatgMgHtctttNtaacVtgttcMaaRatccggggactcMtttaYMtcWRgNctgNccKatcttgYDcMgattNYaRagatHaaHgKctcataRDttacatBatccattgDWttatttaWgtcggagaaaaatacaatacSNtgggtttccttacSMaagBattacaMaNcactMttatgaRBacYcYtcaaaWtagctSaacttWgDMHgaggatgBVgcHaDtggaactttggtcNatNgtaKaBcccaNtaagttBaacagtatacDYttcctNgWgcgSMcacatStctHatgRcNcgtacacaatRttMggaNKKggataaaSaYcMVcMgtaMaHtgattYMatYcggtcttcctHtcDccgtgRatcattgcgccgatatMaaYaataaYSggatagcgcBtNtaaaScaKgttBgagVagttaKagagtatVaactaSacWactSaKatWccaKaaaatBKgaaKtDMattttgtaaatcRctMatcaaMagMttDgVatggMaaWgttcgaWatgaaatttgRtYtattaWHKcRgctacatKttctaccaaHttRatctaYattaaWatVNccatNgagtcKttKataStRaatatattcctRWatDctVagttYDgSBaatYgttttgtVaatttaatagcagMatRaacttBctattgtMagagattaaactaMatVtHtaaatctRgaaaaaaaatttWacaacaYccYDSaattMatgaccKtaBKWBattgtcaagcHKaagttMMtaatttcKcMagNaaKagattggMagaggtaatttYacatcWaaDgatMgKHacMacgcVaacaDtaDatatYggttBcgtatgWgaSatttgtagaHYRVacaRtctHaaRtatgaactaatatctSSBgggaaHMWtcaagatKgagtDaSatagttgattVRatNtctMtcSaagaSHaataNataataRaaRgattctttaataaagWaRHcYgcatgtWRcttgaaggaMcaataBRaaccagStaaacNtttcaatataYtaatatgHaDgcStcWttaacctaRgtYaRtataKtgMttttatgactaaaatttacYatcccRWtttHRtattaaatgtttatatttgttYaatMcaRcSVaaDatcgtaYMcatgtagacatgaaattgRtcaaYaaYtRBatKacttataccaNaaattVaBtctggacaagKaaYaaatatWtMtatcYaaVNtcgHaactBaagKcHgtctacaatWtaDtSgtaHcataHtactgataNctRgttMtDcDttatHtcgtacatcccaggSttaBgtcacacWtccNMcNatMVaVgtccDYStatMaccDatggYaRKaaagataRatttHKtSaaatDgataaacttaHgttgVBtcttVttHgDacgaKatgtatatNYataactctSatatatattgcHRRYttStggaactHgttttYtttaWtatMcttttctatctDtagVHYgMRBgtHttcctaatYRttKtaagatggaVRataKDctaMtKBNtMtHNtWtttYcVtattMcgRaacMcctNSctcatttaaagDcaHtYccSgatgcaatYaaaaDcttcgtaWtaattctcgttttScttggtaatctttYgtctaactKataHacctMctcttacHtKataacacagcNRatgKatttttSaaatRYcgDttaMRcgaaattactMtgcgtaagcgttatBtttttaattaagtNacatHgttcRgacKcBBtVgatKttcgaBaatactDRgtRtgaNacWtcacYttaaKcgttctHaKttaNaMgWgWaggtctRgaKgWttSttBtDcNtgtttacaaatYcDRtgVtgcctattcNtctaaaDMNttttNtggctgagaVctDaacVtWccaagtaacacaNctgaScattccDHcVBatcgatgtMtaatBgHaatDctMYgagaatgYWKcctaatNaStHaaaKccgHgcgtYaaYtattgtStgtgcaaRtattaKatattagaWVtcaMtBagttattagNaWHcVgcaattttDcMtgtaRHVYtHtctgtaaaaHVtMKacatcgNaatttMatatgttgttactagWYtaRacgataKagYNKcattataNaRtgaacKaYgcaaYYacaNccHatMatDcNgtHttRaWttagaaDcaaaaaatagggtKDtStaDaRtaVtHWKNtgtattVctSVgRgataDaRaWataBgaagaaKtaataaYgDcaStaNgtaDaaggtattHaRaWMYaYaWtggttHYgagVtgtgcttttcaaDKcagVcgttagacNaaWtagtaataDttctggttVcatcataaagtgKaaaNaMtaBBaattaatWaattgctHaVKaSgDaaVKaHtatatatHatcatSBagNgHtatcHYMHgttDgtaHtBttWatcgtttaRaattgStKgSKNWKatcagDtctcagatttctRtYtBatBgHHtKaWtgYBgacVVWaKtacKcDttKMaKaVcggtgttataagaataaHaatattagtataatMHgttYgaRttagtaRtcaaVatacggtcMcgagtaaRttacWgactKRYataaaagSattYaWgagatYagKagatgSaagKgttaatMggtataatgttWYttatgagaaacctNVataatHcccKtDctcctaatactggctHggaSaggRtKHaWaattcgSatMatttagaggcYtctaMcgctcataSatatgRagacNaaDaggaVBagaYttKtacNaKgtSYtagttggaWcatcWttaatctatgaVtcgtgtMtatcaYcgtRccaaYgDctgcMgtgtWgacWtgataacacgcgctBtgttaKtYDtatDcatcagKaVMctaatcttgVcaaRgcRMtDcgattaHttcaNatgaatMtactacVgtRgatggaWtttactaaKatgagSaaKggtaNtactVaYtaaKRagaacccacaMtaaMtKtatBcttgtaaWBtMctaataaVcDaaYtcRHBtcgttNtaaHatttBNgRStVDattBatVtaagttaYatVattaagaBcacggtSgtVtatttaRattgatgtaHDKgcaatattKtggcctatgaWDKRYcggattgRctatNgatacaatMNttctgtcRBYRaaaHctNYattcHtaWcaattctBtMKtVgYataatMgYtcagcttMDataVtggRtKtgaatgccNcRttcaMtRgattaacattRcagcctHtWMtgtDRagaKaBtgDttYaaaaKatKgatctVaaYaacWcgcatagBVtaNtRtYRaggBaaBtgKgttacataagagcatgtRattccacttaccatRaaatgWgDaMHaYVgVtaSctatcgKaatatattaDgacccYagtgtaYNaaatKcagtBRgagtccatgKgaaaccBgaagBtgSttWtacgatWHaYatcgatttRaaNRgcaNaKVacaNtDgattgHVaatcDaagcgtatgcNttaDataatcSataaKcaataaHWataBtttatBtcaKtKtatagttaDgSaYctacaRatNtaWctSaatatttYaKaKtaccWtatcRagacttaYttVcKgSDcgagaagatccHtaattctSttatggtKYgtMaHagVaBRatttctgtRgtctatgggtaHKgtHacHtSYacgtacacHatacKaaBaVaccaDtatcSaataaHaagagaatScagactataaRttagcaaVcaHataKgDacatWccccaagcaBgagWatctaYttgaaatctVNcYtttWagHcgcgcDcVaaatgttKcHtNtcaatagtgtNRaactttttcaatggWgBcgDtgVgtttctacMtaaataaaRggaaacWaHttaRtNtgctaaRRtVBctYtVtatDcattDtgaccYatagatYRKatNYKttNgcctagtaWtgaactaMVaacctgaStttctgaKVtaaVaRKDttVtVctaDNtataaaDtccccaagtWtcgatcactDgYaBcatcctMtVtacDaaBtYtMaKNatNtcaNacgDatYcatcgcaRatWBgaacWttKttagYtaattcggttgSWttttDWctttacYtatatWtcatDtMgtBttgRtVDggttaacYtacgtacatgaattgaaWcttMStaDgtatattgaDtcRBcattSgaaVBRgagccaaKtttcDgcgaSMtatgWattaKttWtgDBMaggBBttBaatWttRtgcNtHcgttttHtKtcWtagHStaacagttgatatBtaWSaWggtaataaMttaKacDaatactcBttcaatatHttcBaaSaaatYggtaRtatNtHcaatcaHtagVtgtattataNggaMtcttHtNagctaaaggtagaYctMattNaMVNtcKtactBKcaHHcBttaSagaKacataYgctaKaYgttYcgacWVttWtSagcaacatcccHaccKtcttaacgaKttcacKtNtacHtatatRtaaatacactaBtttgaHaRttggttWtatYagcatYDatcggagagcWBataagRtacctataRKgtBgatgaDatataSttagBaHtaatNtaDWcWtgtaattacagKttcNtMagtattaNgtctcgtcctcttBaHaKcKccgtRcaaYagSattaagtKataDatatatagtcDtaacaWHcaKttDgaaRcgtgYttgtcatatNtatttttatggccHtgDtYHtWgttatYaacaattcaWtatNgctcaaaSttRgctaatcaaatNatcgtttaBtNNVtgttataagcaaagattBacgtDatttNatttaaaDcBgtaSKgacgtagataatttcHMVNttgttBtDtgtaWKaaRMcKMtHtaVtagataWctccNNaSWtVaHatctcMgggDgtNHtDaDttatatVWttgttatttaacctttcacaaggaSaDcggttttttatatVtctgVtaacaStDVaKactaMtttaSNagtgaaattaNacttSKctattcctctaSagKcaVttaagNaVcttaVaaRNaHaaHttatgtHttgtgatMccaggtaDcgaccgtWgtWMtttaHcRtattgScctatttKtaaccaagtYagaHgtWcHaatgccKNRtttagtMYSgaDatctgtgaWDtccMNcgHgcaaacNDaaaRaStDWtcaaaaHKtaNBctagBtgtattaactaattttVctagaatggcWSatMacccttHttaSgSgtgMRcatRVKtatctgaaaccDNatYgaaVHNgatMgHRtacttaaaRtatStRtDtatDttYatattHggaBcttHgcgattgaKcKtttcRataMtcgaVttWacatNcatacctRataDDatVaWNcggttgaHtgtMacVtttaBHtgagVttMaataattatgttcttagtttgtgcDtSatttgBtcaacHattaaBagVWcgcaSYttMgcttacYKtVtatcaYaKctgBatgcgggcYcaaaaacgNtctagKBtattatctttKtaVttatagtaYtRagNtaYataaVtgaatatcHgcaaRataHtacacatgtaNtgtcgYatWMatttgaactacRctaWtWtatacaatctBatatgYtaagtatgtgtatSttactVatcttYtaBcKgRaSggRaaaaatgcagtaaaWgtaRgcgataatcBaataccgtatttttccatcNHtatWYgatHSaaaDHttgctgtccHtggggcctaataatttttctatattYWtcattBtgBRcVttaVMRSgctaatMagtYtttaaaaatBRtcBttcaaVtaacagctccSaaSttKNtHtKYcagcagaaaccccRtttttaaDcDtaStatccaagcgctHtatcttaDRYgatDHtWcaaaBcWgKWHttHataagHacgMNKttMKHccaYcatMVaacgttaKgYcaVaaBtacgcaactttMctaaHaatgtBatgagaSatgtatgSRgHgWaVWgataaatatttccKagVgataattWaHNcYggaaatgctHtKtaDtctaaagtMaatVDVactWtSaaWaaMtaHtaSKtcBRaNcttStggtBttacNagcatagRgtKtgcgaacaacBcgKaatgataagatgaaaattgtactgcgggtccHHWHaaNacaBttNKtKtcaaBatatgctaHNgtKcDWgtttatNgVDHgaccaacWctKaaggHttgaRgYaatHcaBacaatgagcaaattactgtaVaaYaDtagattgagNKggtggtgKtWKaatacagDRtatRaMRtgattDggtcaaYRtatttNtagaDtcacaaSDctDtataatcgtactaHttatacaatYaacaaHttHatHtgcgatRRttNgcatSVtacWWgaaggagtatVMaVaaattScDDKNcaYBYaDatHgtctatBagcaacaagaatgagaaRcataaKNaRtBDatcaaacgcattttttaaBtcSgtacaRggatgtMNaattggatatWtgagtattaaaVctgcaYMtatgatttttYgaHtgtcttaagWBttHttgtcttattDtcgtatWtataataSgctaHagcDVcNtaatcaagtaBDaWaDgtttagYctaNccDtaKtaHcttaataacccaRKtacaVaatNgcWRaMgaattatgaBaaagattVYaHMDcaDHtcRcgYtcttaaaWaaaVKgatacRtttRRKYgaatacaWVacVcRtatMacaBtactggMataaattttHggNagSctacHgtBagcgtcgtgattNtttgatSaaggMttctttcttNtYNagBtaaacaaatttMgaccttacataattgYtcgacBtVMctgStgMDtagtaRctHtatgttcatatVRNWataDKatWcgaaaaagttaaaagcacgHNacgtaatctttMRtgacttttDacctataaacgaaatatgattagaactccSYtaBctttaataacWgaaaYatagatgWttcatKtNgatttttcaagHtaYgaaRaDaagtaggagcttatVtagtctttcattaaaatcgKtattaRttacagVaDatgcatVgattgggtctttHVtagKaaRBtaHtaaggccccaaaaKatggtttaMWgtBtaaacttcactttKHtcgatctccctaYaBacMgtcttBaBaNgcgaaacaatctagtHccHtKttcRtRVttccVctttcatacYagMVtMcagaMaaacaataBctgYtaatRaaagattaaccatVRatHtaRagcgcaBcgDttStttttcVtttaDtKgcaaWaaaaatSccMcVatgtKgtaKgcgatatgtagtSaaaDttatacaaacatYaRRcVRHctKtcgacKttaaVctaDaatgttMggRcWaacttttHaDaKaDaBctgtaggcgtttaHBccatccattcNHtDaYtaataMttacggctNVaacDattgatattttacVttSaattacaaRtataNDgacVtgaacataVRttttaDtcaaacataYDBtttaatBaDtttYDaDaMccMttNBttatatgagaaMgaNtattHccNataattcaHagtgaaggDgatgtatatatgYatgaStcataaBStWacgtcccataRMaaDattggttaaattcMKtctMacaBSactcggaatDDgatDgcWctaacaccgggaVcacWKVacggtaNatatacctMtatgatagtgcaKagggVaDtgtaacttggagtcKatatcgMcttRaMagcattaBRaStctYSggaHYtacaactMBaagDcaBDRaaacMYacaHaattagcattaaaHgcgctaaggSccKtgaaKtNaBtatDDcKBSaVtgatVYaagVtctSgMctacgttaacWaaattctSgtDactaaStaaattgcagBBRVctaatatacctNttMcRggctttMttagacRaHcaBaacVKgaataHttttMgYgattcYaNRgttMgcVaaacaVVcDHaatttgKtMYgtatBtVVctWgVtatHtacaaHttcacgatagcagtaaNattBatatatttcVgaDagcggttMaagtcScHagaaatgcYNggcgtttttMtStggtRatctacttaaatVVtBacttHNttttaRcaaatcacagHgagagtMgatcSWaNRacagDtatactaaDKaSRtgattctccatSaaRttaaYctacacNtaRtaactggatgaccYtacactttaattaattgattYgttcagDtNKttagDttaaaaaaaBtttaaNaYWKMBaaaacVcBMtatWtgBatatgaacVtattMtYatMNYDKNcKgDttDaVtaaaatgggatttctgtaaatWtctcWgtVVagtcgRgacttcccctaDcacagcRcagagtgtWSatgtacatgttaaSttgtaaHcgatgggMagtgaacttatRtttaVcaccaWaMgtactaatSSaHtcMgaaYtatcgaaggYgggcgtgaNDtgttMNgaNDMtaattcgVttttaacatgVatgtWVMatatcaKgaaattcaBcctccWcttgaaWHtWgHtcgNWgaRgctcBgSgaattgcaaHtgattgtgNagtDttHHgBttaaWcaaWagcaSaHHtaaaVctRaaMagtaDaatHtDMtcVaWMtagSagcttHSattaacaaagtRacMtRtctgttagcMtcaBatVKtKtKacgagaSNatSactgtatatcBctgagVtYactgtaaattaaaggcYgDHgtaacatSRDatMMccHatKgttaacgactKtgKagtcttcaaHRVtccttKgtSataatttacaactggatDNgaacttcaRtVaagDcaWatcBctctHYatHaDaaatttagYatSatccaWtttagaaatVaacBatHcatcgtacaatatcgcNYRcaataYaRaYtgattVttgaatgaVaactcRcaNStgtgtattMtgaggtNttBaDRcgaaaagctNgBcWaWgtSaDcVtgVaatMKBtttcgtttctaaHctaaagYactgMtatBDtcStgaccgtSDattYaataHctgggaYYttcggttaWaatctggtRagWMaDagtaacBccactacgHWMKaatgatWatcctgHcaBaSctVtcMtgtDttacctaVgatYcWaDRaaaaRtagatcgaMagtggaRaWctctgMgcWttaagKBRtaaDaaWtctgtaagYMttactaHtaatcttcataacggcacBtSgcgttNHtgtHccatgttttaaagtatcgaKtMttVcataYBBaKtaMVaVgtattNDSataHcagtWMtaggtaSaaKgttgBtVtttgttatcatKcgHacacRtctHatNVagSBgatgHtgaRaSgttRcctaacaaattDNttgacctaaYtBgaaaatagttattactcttttgatgtNNtVtgtatMgtcttRttcatttgatgacacttcHSaaaccaWWDtWagtaRDDVNacVaRatgttBccttaatHtgtaaacStcVNtcacaSRttcYagacagaMMttttgMcNttBcgWBtactgVtaRttctccaaYHBtaaagaBattaYacgatttacatctgtaaMKaRYtttttactaaVatWgctBtttDVttctggcDaHaggDaagtcgaWcaagtagtWttHtgKtVataStccaMcWcaagataagatcactctHatgtcYgaKcatcagatactaagNSStHcctRRNtattgtccttagttagMVgtatagactaactctVcaatMctgtttgtgttgccttatWgtaBVtttctggMcaaKgDWtcgtaaYStgSactatttHgatctgKagtagBtVacRaagRtMctatgggcaaaKaaaatacttcHctaRtgtDcttDattaggaaatttcYHaRaaBttaatggcacKtgctHVcaDcaaaVDaaaVcgMttgtNagcgtaDWgtcgttaatDgKgagcSatatcSHtagtagttggtgtHaWtaHKtatagctgtVgattaBVaatgaataagtaatVatSttaHctttKtttgtagttaccttaatcgtagtcctgBcgactatttVcMacHaaaggaatgDatggKtaHtgStatattaaSagctWcctccRtataBaDYcgttgcNaagaggatRaaaYtaWgNtSMcaatttactaacatttaaWttHtatBattgtcgacaatNgattgcNgtMaaaKaBDattHacttggtRtttaYaacgVactBtaBaKtgBttatgVttgtVttcaatcWcNctDBaaBgaDHacBttattNtgtDtatttVSaaacaggatgcRatSgtaSaNtgBatagttcHBgcBBaaattaHgtDattatDaKaatBaaYaaMaataaataKtttYtagtBgMatNcatgtttgaNagtgttgtgKaNaSagtttgaSMaYBcaaaacDStagttVacaaaaactaaWttBaagtctgtgcgtMgtaattctcctacctcaNtttaaccaaaaVtBcacataacaccccBcWMtatVtggaatgaWtcaaWaaaaaaaaWtDtaatatRcctDWtcctaccMtVVatKttaWaaKaaatataaagScHBagaggBaSMtaWaVtatattactSaaaKNaactatNatccttgaYctattcaaaVgatttYHcRagattttaSataggttattcVtaaagaKgtattattKtRttNcggcRgtgtgtWYtaacHgKatKgatYtacYagDtWcHBDctctgRaYKaYagcactKcacSaRtBttttBHKcMtNtcBatttatttttgSatVgaaagaWtcDtagDatatgMacaacRgatatatgtttgtKtNRaatatNatgYcaHtgHataacKtgagtagtaacYttaNccaaatHcacaacaVDtagtaYtccagcattNtacKtBtactaaagaBatVtKaaHBctgStgtBgtatgaSNtgDataaccctgtagcaBgtgatcttaDataStgaMaccaSBBgWagtacKcgattgaDgNNaaaacacagtSatBacKDgcgtataBKcatacactaSaatYtYcDaactHttcatRtttaatcaattataRtttgtaagMcgNttcatcBtYBagtNWNMtSHcattcRctttttRWgaKacKttgggagBcgttcgcMaWHtaatactgtctctatttataVgtttaBScttttaBMaNaatMacactYtBMggtHacMagtaRtctgcatttaHtcaaaatttgagKtgNtactBacaHtcgtatttctMaSRagcagttaatgtNtaaattgagagWcKtaNttagVtacgatttgaatttcgRtgtWcVatcgttaaDVctgtttBWgaccagaaagtcSgtVtatagaBccttttcctaaattgHtatcggRattttcaaggcYSKaagWaWtRactaaaacccBatMtttBaatYtaagaactSttcgaaScaatagtattgaccaagtgttttctaacatgtttNVaatcaaagagaaaNattaaRttttaVaaaccgcaggNMtatattVctcaagaggaacgBgtttaacaagttcKcYaatatactaaccBaaaSggttcNtattctagttRtBacgScVctcaatttaatYtaaaaaaatgSaatgatagaMBRatgRcMcgttgaWHtcaVYgaatYtaatctttYttatRaWtctgBtDcgatNatcKaBaDgatgtaNatWKctccgatattaacattNaaacDatgBgttctgtDtaaaMggtgaBaSHataacgccSctaBtttaRBtcNHcDatcDcctagagtcRtaBgWttDRVHagattYatgtatcWtaHtttYcattWtaaagtctNgtStggRNcgcggagSSaaagaaaatYcHDtcgctttaatgYcKBVSgtattRaYBaDaaatBgtatgaHtaaRaRgcaSWNtagatHaacttNctBtcaccatctMcatattccaSatttgcgaDagDgtatYtaaaVDtaagtttWVaagtagYatRttaagDcNgacKBcScagHtattatcDaDactaaaaaYgHttBcgaDttggataaaKSRcBMaBcgaBSttcWtgNBatRaccgattcatttataacggHVtaattcacaagagVttaaRaatVVRKcgWtVgacctgDgYaaHaWtctttcacMagggatVgactagMaaataKaaNWagKatagNaaWtaaaatttgaattttatttgctaaVgaHatBatcaaBWcBgttcMatcgBaaNgttcgSNaggSaRtttgHtRtattaNttcDcatSaVttttcgaaaaattgHatctaRaggSaNatMDaaatDcacgattttagaHgHaWtYgattaatHNSttatMSgggNtcKtYatRggtttgtMWVtttaYtagcagBagHaYagttatatggtBacYcattaRSataBatMtttaaatctHcaaaSaaaagttNSaaWcWRccRtKaagtBWtcaaattSttMtattggaaaccttaacgttBtWatttatatWcDaatagattcctScacctaagggRaaYtaNaatgVtBcttaaBaacaMVaaattatStYgRcctgtactatcMcVKatttcgSgatRHMaaaHtagtaaHtVgcaaataatatcgKKtgccaatBNgaaWcVttgagttaKatagttcaggKDatDtattgaKaVcaKtaataDataataHSaHcattagttaatRVYcNaHtaRcaaggtNHcgtcaaccaBaaagYtHWaaaRcKgaYaaDttgcWYtataRgaatatgtYtgcKtaNttWacatYHctRaDtYtattcBttttatcSataYaYgttWaRagcacHMgtttHtYttYaatcggtatStttcgtRSattaaDaKMaatatactaNBaWgctacacYtgaYVgtgHtaaaRaaRgHtagtWattataaaSDaaWtgMattatcgaaaagtaYRSaWtSgNtBgagcRYaMDtactaacttaWgtatctagacaagNtattHggataatYttYatcataDcgHgttBttctttVttgccgaaWtaaaacgKgtatctaaaaaNtccDtaDatBMaMggaatNKtatBaaatVtccRaHtaSacataHattgtttKVYattcataVaattWtcgtgMttcttKtgtctaacVtatctatatBRataactcgKatStatattcatHHRttKtccaacgtgggtgRgtgaMtattattggctatcgtgacMtRcBDtcttgtactaatRHttttaagatcgVMDStattatYBtttDttgtBtNttgRcMtYtgBacHaWaBaatDKctaagtgaaactaatgRaaKgatccaagNaaaatattaggWNtaagtatacttttKcgtcggSYtcttgRctataYcttatataaagtatattaatttataVaacacaDHatctatttttKYVatHRactttaBHccaWagtactBtcacgaVgcgttRtttttttSVgtSagtBaaattctgaHgactcttgMcattttagVtaagaattHctHtcaDaaNtaacRggWatagttcgtSttgaDatcNgNagctagDgatcNttKgttgtaDtctttRaaYStRatDtgMggactSttaDtagSaVtBDttgtDgccatcacaMattaaaMtNacaVcgSWcVaaDatcaHaatgaattaMtatccVtctBtaattgtWattatBRcWcaatgNNtactWYtDaKttaaatcactcagtRaaRgatggtKgcgccaaHgaggatStattYcaNMtcaBttacttatgagDaNtaMgaaWtgtttcttctaHtMNgttatctaWWatMtBtaaatagDVatgtBYtatcggcttaagacMRtaHScgatatYgRDtcattatSDaHggaaataNgaWSRRaaaBaatagBattaDctttgHWNttacaataaaaaaatacggtttgHgVtaHtWMttNtBtctagtMcgKMgHgYtataHaNagWtcaacYattaataYRgtaWKgaBctataaccgatttaHaNBRaRaMtccggtNgacMtctcatttgcaattcWgMacttacaaDaaNtactWatVtttagccttMaatcagVaagtctVaaDaBtattaattaYtNaYtggattaKtaKctYaMtattYgatattataatKtVgDcttatatNBtcgttgtStttttMagaggttaHYSttcKgtcKtDNtataagttataagSgttatDtRttattgttttSNggRtcaaKMNatgaatattgtBWtaMacctgggYgaSgaagYataagattacgagaatBtggtRcVHtgYggaDgaYaKagWagctatagacgaaHgtWaNgacttHRatVaWacKYtgRVNgVcSgRWctacatcKSactctgWYtBggtataagcttNRttVtgRcaWaaatDMatYattaactttcgaagRatSctgccttgcRKaccHtttSNVagtagHagBagttagaccaRtataBccataatSHatRtcHagacBWatagcaMtacaRtgtgaaBatctKRtScttccaNaatcNgtaatatWtcaMgactctBtWtaaNactHaaaaRctcgcatggctMcaaNtcagaaaaacacagtggggWttRttagtaagaVctVMtcgaatcttcMaaaHcaHBttcgattatgtcaDagcYRtBtYcgacMgtDcagcgaNgttaataatagcagKYYtcgtaBtYctMaRtaRtDagaaaacacatgYaBttgattattcgaaNttBctSataaMataWRgaHtttccgtDgaYtatggtDgHKgMtatttVtMtVagttaRatMattRagataaccctKctMtSttgaHagtcStctatttccSagatgttccacgaggYNttHRacgattcDatatDcataaaatBBttatcgaHtNHaaatatDNaggctgaNcaaggagttBttMgRagVatBcRtaWgatgBtSgaKtcgHtttgaatcaaDaHttcSBgHcagtVaaSttDcagccgttNBtgttHagYtattctttRWaaVtSttcatatKaaRaaaNacaVtVctMtSDtDtRHRcgtaatgctcttaaatSacacaatcgHattcaWcttaaaatHaaatcNctWttaNMcMtaKctVtcctaagYgatgatcYaaaRactctaRDaYagtaacgtDgaggaaatctcaaacatcaScttcKttNtaccatNtaNatacatttHaaDHgcaDatMWaaBttcRggctMaagctVYcacgatcaDttatYtaatcKatWatcaatVYtNagatttgattgaYttttYgacttVtcKaRagaaaHVgDtaMatKYagagttNatWttaccNtYtcDWgSatgaRgtMatgKtcgacaagWtacttaagtcgKtgatccttNcttatagMatHVggtagcgHctatagccctYttggtaattKNaacgaaYatatVctaataMaaaYtgVtcKaYtaataacagaatHcacVagatYWHttagaaSMaatWtYtgtaaagNaaacaVgaWtcacNWgataNttcaSagctMDaRttgNactaccgataMaaatgtttattDtcaagacgctDHYYatggttcaagccNctccttcMctttagacBtaaWtaWVHggaaaaNatttaDtDtgctaaHHtMtatNtMtagtcatttgcaaaRatacagRHtatDNtgtDgaatVgtVNtcaaatYBMaaaagcaKgtgatgatMgWWMaHttttMgMagatDtataaattaaccaactMtacataaattgRataatacgBtKtaataattRgtatDagDtcRDacctatRcagagcSHatNtcaScNtttggacNtaaggaccgtgKNttgttNcttgaaRgYgRtNtcagttBcttttcHtKtgcttYaaNgYagtaaatgaatggWaMattBHtatctatSgtcYtgcHtaattHgaaMtHcagaaSatggtatgccaHBtYtcNattWtgtNgctttaggtttgtWatNtgHtgcDttactttttttgcNtactKtWRaVcttcatagtgSNKaNccgaataaBttataataYtSagctttaaatSttggctaaKSaatRccgWHgagDttaaatcatgagMtcgagtVtaDggaBtatttgDacataaacgtagYRagBWtgDStKDgatgaagttcattatttaKWcataaatWRgatataRgttRacaaNKttNtKagaaYaStaactScattattaacgatttaaatgDtaattagatHgaYataaactatggggatVHtgccgtNgatNYcaStRtagaccacWcaMtatRagHgVactYtWHtcttcatgatWgagaKggagtatgaWtDtVtNaNtcgYYgtaaactttaDtBactagtaDctatagtaatatttatatataacgHaaaRagKattSagttYtStagagagacgatgaaaattaatcgtcaatacgctggcgaacactgagggggacccaatgctcttctcggtctaaaaaggaatgtgtcagaaattggtcagttcaaaagtagaccggatctttgcggagaacaattcacggaacgtagcgttgggaaatatcctttctaccacacatcggattttcgccctctcccattatttattgtgttctcacatagaattattgtttagacatccctcgttgtatggagagttgcccgagcgtaaaggcataatccatataccgccgggtgagtgacctgaaattgtttttagttgggatttcgctatggattagcttacacgaagagattctaatggtactataggataattataatgctgcgtggcgcagtacaccgttacaaacgtcgttcgcatatgtggctaacacggtgaaaatacctacatcgtatttgcaatttcggtcgtttcatagagcgcattgaattactcaaaaattatatatgttgattatttgattagactgcgtggaaagaaggggtactcaagccatttgtaaaagctgcatctcgcttaagtttgagagcttacattagtctatttcagtcttctaggaaatgtctgtgtgagtggttgtcgtccataggtcactggcatatgcgattcatgacatgctaaactaagaaagtagattactattaccggcatgcctaatgcgattgcactgctatgaaggtgcggacgtcgcgcccatgtagccctgataataccaatacttacatttggtcagcaattctgacattatacctagcacccataaatttactcagacttgaggacaggctcttggagtcgatcttctgtttgtatgcatgtgatcatatagatgaataagcgatgcgactagttagggcatagtatagatctgtgtatacagttcagctgaacgtccgcgagtggaagtacagctgagatctatcctaaaatgcaaccatatcgttcacacatgatatgaacccagggggaaacattgagttcagttaaattggcagcgaatcccccaagaagaaggcggagtgacgttgaacgggcttatggtttttcagtacttcctccgtataagttgagcgaaatgtaaacagaataatcgttgtgttaacaacattaaaatcgcggaatatgatgagaatacacagtgtgagcatttcacttgtaaaatatctttggtagaacttactttgctttaaatatgttaaaccgatctaataatctacaaaacggtagattttgcctagcacattgcgtccttctctattcagatagaggcaatactcagaaggttttatccaaagcactgtgttgactaacctaagttttagtctaataatcatgattgattataggtgccgtggactacatgactcgtccacaaataatacttagcagatcagcaattggccaagcacccgacttttatttaatggttgtgcaatagtccagattcgtattcgggactctttcaaataatagtttcctggcatctaagtaagaaaagctcataaggaagcgatattatgacacgctcttccgccgctgttttgaaacttgagtattgctcgtccgaaattgagggtcacttcaaaatttactgagaagacgaagatcgactaaagttaaaatgctagtccacagttggtcaagttgaattcatccacgagttatatagctattttaatttatagtcgagtgtacaaaaaacatccacaataagatttatcttagaataacaacccccgtatcatcgaaatcctccgttatggcctgactcctcgagcttatagcatttgtgctggcgctcttgccaggaacttgctcgcgaggtggtgacgagtgagatgatcagtttcattatgatgatacgattttatcgcgactagttaatcatcatagcaagtaaaatttgaattatgtcattatcatgctccattaacaggttatttaattgatactgacgaaattttttcacaatgggttttctagaatttaatatcagtaattgaagccttcataggggtcctactagtatcctacacgacgcaggtccgcagtatcctggagggacgtgttactgattaaaagggtcaaaggaatgaaggctcacaatgttacctgcttcaccatagtgagccgatgagttttacattagtactaaatcccaaatcatactttacgatgaggcttgctagcgctaaagagaatacatacaccaccacatagaattgttagcgatgatatcaaatagactcctggaagtgtcagggggaaactgttcaatatttcgtccacaggactgaccaggcatggaaaagactgacgttggaaactataccatctcacgcccgacgcttcactaattgatgatccaaaaaatatagcccggattcctgattagcaaagggttcacagagaaagatattatcgacgtatatcccaaaaaacagacgtaatgtgcatcttcgaatcgggatgaatacttgtatcataaaaatgtgacctctagtatacaggttaatgttagtgatacacaatactcgtgggccatgggttctcaaataaaatgtaatattgcgtcgatcactcacccacgtatttggtctaattatgttttatttagtgacaatccaatagataaccggtcctattaagggctatatttttagcgaccacgcgtttaaacaaaggattgtatgtagatggtaccagtttaattgccagtgggcaatcctaagcaaaatgagattctatcctaaagtttgggcttgatataagatttcggatgtatgggttttataatcgttggagagctcaatcatgagctaatacatggatttcgctacctcaccgagagaccttgcatgaagaattctaaccaaaagtttaataggccggattggattgagttaattaagaccttgttcagtcatagtaaaaacccttaaattttaccgattgacaaagtgagcagtcgcaataccctatgcgaaacgcctcgatagtgactaggtatacaaggtttttgagttcctttgaaatagttaactaatttaaaattaattaacgacatggaaatcacagaacctaatgctttgtaggagttatttatgctgtttactgcctctacaaccctaataaagcagtcctaagaatgaaacgcatcttttagttcagaaagtggtatccagggtggtcaatttaataaattcaacatcgggtctcaggatattcggtcatataatttattaagggctcttcgagtcttactctgagtgaaattggaaacagtcatccttttcgttgtgaggcatcttacaccgctatcgatatacaatgcattccaccgcggtgtcccgtacacaaggaaacttgttaccttggggatataagaaaactcacacgtctcattattaaactgagtacaatttttgcacgagaaagtaatgcaatacaatatgatgaaagccagctaatgaaaagggatggaacgcacctcggatctgttgcactggattaaaatccgattatttttaaaaatattcagtgctagagcatatcaggtctacttttttatctggtatgtaaagcccacggagcgatagtgagatccttacgactcaacgaaaagttataacataactcccgttagccaaagcccaatcccgattactgccctaccctaacgtctgccatctaaatatcgaacttgttatgatcaatgtgactacctcccaccctttccccttcatttgttccactggggataagctagcgttttcagaatcaatgcaataagaatagccaattgtctcacttcatcagagctcttggcaattccaggcgctacgtggttctggaatatattcatttttcaaatagtaatacgtttagtgttgctattgtctacacgtttggatattacgttatgtgagcggacatcaatagttgtctaactctttagtaagccagagatagcactcttagcgaatggataccatcttccataagtttagttaatagtccgaaacaactgcttcgagcatatttgaacctccttgtaggcaaatagcctcttcaaagcaatcttactaatagatagagtttgttttaagggactactagaaatgggacaatcttaatagtatgacctaaactgacatttaaagatatatccaggtggcaagcataaagatcattgcgccacctccaccgtgggattacttatcagtcgatatcctatatgctaagtttgcgacggcagaatacaaactaagctgagttgatgctaaccttacctatgataccccattggaccggttaacagccctacttattccaaataaaagaacttttatgctgtagaagctattatagtgatgcctggtaacttcagtatattaaaatgacacacatacgccatatagagctcctggaactttgaataatgagcgaacttcgaagttgaagagcaagaaaccatatgtcacggttgcctaaagcccggtaaccagacatgtgctatcattgatcattatcgaggttttcataaccttgacccattatcggctgtgcgcggacaagtacttaaatcactagtttcttcacctgcttatcggtaagaaataaggttggcaaagaatcgcataagacggacgtagagccgcagcgttgtgcgagtccaggtgcatgcgcagcaataggattttaaattttgttccatttttaatttagccgtaaggatgtccgtaaatgattgaaaattggattcaatctttgggcctatgctactggaacctgatcgacaaaatttcaaacatacgttaactccgaaagaccgtatttttgcggctagaatagtcagtcgcttggagccatataccttaccacttaaacgacgtgctcctgtagttgaaatataaacagaacacaaagactaccgatcatatcaactgaagatctttgtaactttgaggcgaagcaccctcttcgagacaactaagagtaaagtaccgggcgccgcaaggagtcgattgggaccctaaatcttgacgaattgctaagaggctcagagctaccactgtaatttctctagagcccataataaatgaacgatacatccgtaggtagcacctaagggattataatggaagccaaatgcagttaataatattatatactggcgtacacgattcgacggatctctcacatagtgattcacgacccccccctttgattgacacagcgtcagcattttgcaagaacgatcttctgcatagggtgcgccaccgtaaggatgacgtcgaagctacaactgggtataatttaccatgcttccctgatgctgagtgcaatacactaagaatgagtttttaccccatatcaccagtatttgttctgttattgcgaagaaatggctatgctgagttggcgactaaagtcacccatcctttttattaggtaaccccctcccttaaactaactgatttgctggagctgccctgcatacatatactttatcatttatggacgtccgtgacgcttattatccaccatagtcgatatgctacacggattcattaatggatcgtaggagtttaagttatatttactaagatcggtctcggctactatcccgccttacccggcgctatttacggccatttttaatatattgacggtaattattcctatggtttcgaccgcacgtccttggacaagaaagaatggcaaaaaaaatgtaaaagaaaaaaaatattgagtccctaccatcatataaaaaatatgtgatgagtaacttgacgaaatgttagtggttattaaagactatctattacaccttttgttttctgtcgtagtatattaaagtctagaagccttacaggaaaatcagggttatacagccgatactccgcagcatgaatcatcgaggaggtgtcctaccatcgcgccttgtaatcttgtctgtgtatactgtatttagaccttttatacaaagtaaatatctcggctttatgtgattgggaggggcctactcaaacatgatgacttgacctaataatcactgtgcgggcgtcttatgactagctattccttgaaatccaccaccaaatggttaatatgtaaaaactttgacgatgaaacaaggtgaatgtgtagttactttgtgtaattagctgcgtcgagcattgcttgtaaaaccgtcaatcgcacacgttacttccataaaatttctacgaatacacccttcttaaaaaaaacgtaggaattcacgagtttaacaaacgataactgtataaagtggaagtccgaagaaagcagatgcccgaactactcgaagatgtttcgttttcttaaccataggggcttcttaatggcccactacgcacattttgttcaagcccgagagggacatccccattacgggagtattactaaaactgttccgtaatacgttcagcaagggatgaaaaaggccactgctcaagttattgacgtgggagtattacatcggaagcctgaatcccacactatgatggtctgtacaggcctagggactgcgtctagacggtattaccggcttctaatcatacgatcgtgagtcttaacgggaagtaaggctcacacctaccccaaaccatttatctatgtaagtataaaattgtgcgtaagtgttcaaagtggacaataaagacgtggcaaaaacccccgcacataagccgctttagatttcacaaataccaatgcggttaaaaacatccttgagtcgtacatacaccatactcgcgttaaacggatataacagaagataataaatccggatgtggagtcggtgtaactatagaaagccaagtgaaataatgcttaccagtcatttagctatacggctttcatttcatgtcaagagggtggagtttgacctgtacagttgatatatcaccgatacttagaactcacctaaagctaaaattgctcgcagcgtgtaatccgcatattacaaacaatagatgggattcattatacataagacacgatgatctgctttttcaggttgcgagatgttgcctatcgtcaatcgagtcctgccttacaccacttaaacaaaagtattgacagggaacctattttcgaggtattatatagtccagcttgaatatcaatttgacagttaacctagtgaaaatcagtaagaggaaatacgccacattctccagtgaaattctacgggttatcgtctagtccaactatcaattataactcacgagatataagtaaattctcgtacttggcctgatttttattatactttggatccttagtaaacaggaagggagaaaccttcaacgaaaaacactggattttgttttactctcaaagctcttatatgacggaaataccctgtcaagtcttaactttattactagactaatgaaatgggcttggggtggccagaatcatagtacaatttagcggatacactattcggactttcctatcggctgtctggttggataagtatggggactaataggctagacatacctatacttaaactatacaggcgtcatctatctctgcaactttggagttccctgatgttctcccgccctttgggttcacatcttctataccgacacccctaataacgattagtttgtgggttagagtaaattaatacggttaatattaatgtatcgttgaaaagctggtgtcgccaataaggtaaccggctaggcagagtatatgtcacgaagtataactaccctaatgataagctgtaggaataaaattaatgctgtctctaagcgaagagatatttccgactctgttttaatgacgaatctcattacttctgacttgcaaatgttcaatatggcacggtttcacggcacctttgtgacgcatataatgaacttagaagattataacgacggaactttatatgataatccgttacgattaaagaatctgttaaatatcataatggcattcagttctagaccgtgcatcatggtaaacttactttctctgcatggcgacatacatttcgctattcaaattcgcgtgtggttacacccactcgcacctttggaatattaagagaagatgatcagaaaatccattcgctcaatttttctgacgtacgtctaatttatcctaggagacaaatcgttttatgtctctcacatttttgaagaaaggttcgagagacaatactcaggtcctgaactgctagaagatactcggtggagcgtggcaacaatgaaaaactcgtgacataaatgaatgatacttttccaagttcagttaagtgaatatgtttaacatacccggcttttcgatcttaagctgacgctggacgtgcgagtaatgtcagtctcttacatacactagtgactccaagtttcgtcaaaaacgccccctcccttctcgagcccactcacgctatgtattgacgcgaacttgttcgggatcagacttttcaggagttcggtcgcgtgtccctatgtgctaatatataagttagatcgcattagatgctaatctgaatacttatagacgaccttcaacgagaacgggtaccaccttgaggctagagttaggtgtgaaacgacaggtagggacatataaaatttgagtgcggctttagttaagggtttaattacctactcaaacatcacgctcgcgcccttcgtacgtaatcgaccatctagaggctaaggggactgtactaggtagtgattaatgatatcctagacgcacgtgccttagatcttcagactctgatggtccgcgatcaccgtaattgtagtcctccaactcgatcactttgttggcgtcaaagaaattacgatatctaaatacttataatacaataaccaaggatgagaatgactcatcgcgttggagttatattgcttgaagttctatggaatgaaagcacgttatctgccgtcccaatatctccagtgagctaattcattggacggtccactttgatcaatccccgaggagatgttcggacactttagtctgtaacacttagcgttgagaccacgaacaattgattactcagtcttgaaggtgttttccaaagttcattttaaataagactacgataggcctttcctattgatataaactacccggctctgttgttcgtgtgagtcgtacttctctgtgtttttctgattatagcaagattcgattcttagtgtaaacagcgatttttatttgacccgtcaatgagaagcgcataggatctaagcaaaattatcaagttgtgccacaaggtaagatctttccagttattgcaggtaggatgtatcccacgttgatagtatgaggtctgacgtcaactgtctaggagagttgaccgcgtgcgggtacaccggatttgcatcgatgttgagaacgcagaactcccactgtcgtggcggcgttcctgatatttagcaagaggcgttgataaagccctcatcatctagatctcgacctcatctgccctcttgctccatcattttctacacagactactttcctatctacgttagtataattgctttctatcttagtatcatttagagcttctccgtcaacaggttcgtgctattaaagttagtacgaaagggacaacttgtagcaacgcatttaatcggttttcgactacttcgcacaaaatcagataaagaagtttgtcattctattagacattgaattgcgcaattgacttgtaccacttatgatcgaacactgaatcaagactgtgattaactaaaatagacaagccactatatcaactaataaaaacgcccctggtggtcgaacatagttgactacaggataattaattggactggagccattacattctctacaatcgtatcacttcccaagtagacaactttgaccttgtagtttcatgtacaaaaaaatgctttcgcaggagcacattggtagttcaatagtttcatgggaacctcttgagccgtcttctgtgggtgtgttcggatagtaggtactgataaagtcgtgtcgctttcgatgagagggaattcaccggaaaacaccttggttaacaggatagtctatgtaaacttcgagacatgtttaagagttaccagcttaatccacggtgctctactagtatcatcagctgtcttgcctcgcctagaaatatgcattctatcgttatcctatcaacggttgccgtactgagcagccttattgtggaagagtaatatataaatgtagtcttgtctttacgaagcagacgtaagtaataatgacttggaataccaaaactaaacatagtggattatcatactcaagaactctccagataaataacagtttttacgatacgtcaccaatgagcttaaagattaggatcctcaaaactgatacaaacgctaattcatttgttattggatccagtatcagttaaactgaatggagtgaagattgtagaatgttgttctggcctcgcatggggtctaggtgatatacaatttctcatacttacacggtagtggaaatctgattctagcttcgtagctgactatactcaaggaaccactgctcaaggtaggagactagttccgaccctacagtcaaagtggccgaagcttaaactatagactagttgttaaatgctgatttcaagatatcatctatatacagtttggacaattatgtgtgcgaaactaaaattcatgctattcagatggatttcacttatgccttagaaacagatattgcccgagctcaatcaacagttttagccggaaacaatcgaagcatagggacaatgtatcttttcctaaattgccatgtgcagatttctgagtgtcacgaagcgcataatagaatcttgtgttgcctcaactcgttgaaaagtttaaaacaatcgcagcagtctttttggggtctactgtgtgtttgcaaaataactgaaagaaacgcttgaacaactctgaagtagctcgagtactcattaaagtgtaacacattagtgaatatcggccaatgaaccaaacgcttcccggtacgctatctctctcatcgggaggcgatgtgcaggttatctacgaaagcatccctttacgttgagagtgtcgatgcatgaacctcattgtaacaatagcccagcaaattctcatacgtgcctcagggtccgggcgtactcctccatggaagggcgcgcatctagtgttataccaactcgctttttaactactatgctgtagttctacaggcatagtggccagtattttctaacttctctggatagatgctctcactcctcatccatcacggcttcagtttacgtcttacttgcttgttcagcaacggatggaggcattaagtatcttcactgttccctaaaattgctgttcaatatcaaagtaaggacgatacagggaaagctcaagcacactcattgaatactgccccagttgcaacctcacttaatctgacaaaaataatgactactctaagtgttgcggaagcagtctcttccacgagcttgtctgtatcacttcgtataggcatgtaactcgatagacacgaacaccgagtgagaaactatattcttgcttccgtgtgtgtgacaccaggtaattgatgcggatataagctggagatcactcacgcccacacaaggcgctgctacctctttattccaatgtgtaagaatttgctaacttcatttctagaccgcagctttgcggtcataatttcacggtacggacccttgggttagagacttgataacacacttcgcagtttccaccgcgcacatgttttagtggcttctaacatagaatttttgttgtgacataaagagtgcgtgggagacttgcccgaccgttaagccataatcaattgaaagccccgtgagtcacatctaattggttgtactgcgcatttagctatcctttagctgactcgaagagattcgattcctaatataggttaattagatggctgccgcgcgaagtaaaacgtgaaaaacgtagtgcgcagatctgcataactcgcgcttaattacttatgagtagttccaagttcgctacgttatgagagagattggaattaagcaaatatgttttatggtgattttgggatgagaaggactgctaagtacggctactaaacaaatttctaaaaccgccatctaccttatcttggagacatttaagttgtatatgtcactagtctagcttttgtctgtgggacgcgttctcggaatgagggaaatgcaagagccgattcatcaaatgcttatctaagaaagtagtggactattacaccaagcacgaatgccagggaactgctttcttgctcaggacctcgcgacaaggtaccccgcataagtcctagaattacatttggtcagcaatgctgacatttgaccgtgaaaacataattttaatcagaaggcagctcacccgcttgctctagatcttatctttgtatgaatgtcagaatttactgcaatatccgttccgaatagtgagggcttagtatagttctctgtatacaggtcacatcaaactccccctgtcctagtacagctctgagctttaattaattgcatacatttccttcaatcatcagatgaaaacaccgcgaatcatgctcttctcgtatagggcaagagaagcaacaaacaactagcccgactcacgttcatccgccgtatccttgttcagttcttactccgtattaggtcagcgaaatctaatcagaataatcggtcgcgtatcaaaattaaaatcccgcttgaggttgacaattaaaacgctgagcagttatcggctattagatagtggggtgaaagtaattggctggaattatgttaaaacgtgatattaagctaaaatacgctacttgttgccgacctaattcagtcattcgatattcagttagagccaagaataacaagcttgtataaattgaacggggtgcactaaacgatgtgttactctaatattcagcttggagtatacctgaaggcgaattcatgtatcggccaataataagacgttgaagatcacaatttggactagcaaaagaaggtgatttatgcgtggggattgagtccactgtacgagtacggtctctggaaaattataggttcagggaatataaggaagtaaagataattaccaagagatttttggtatcgctatgacccagaggtgttctaacgtctgttttgatccgcagaatttctgcctcaatgcatatttgacggacttgaactagagcctctaaagttaaatggcgacgcaactgttcctaaacttcaattattactactctttttttcctagggtattgtagaggccagtggacaaaataaatcaaatttaagatgtttcggacattaacatcccccgtagcatagaaatcatcagttatccaatctctcatcgagcttttacaatttctgctggcgctatggacagcatatgccgcgagacctccgcaagactcacttgatcactgtaagtatcttcattagaggttagagcctatagttaagctgctgacctagtaaaattggtattttctaattttattgctcaagttaaaggttagtgaagggataatgacgttatttttgaacaatgggttgtattcaattttatatcacgaatggaacccttcattcccggcataatactagacgacacgaacaagctccgatctatcagccaggcacgtgttaaggtttaattccggcaaaccaatgaagcatcaaaaggtgacctgatgcaacttagggtcacgatgagtttttcaggactacttattacctattaataagttaacatgagccttcataccccgtaagacaatacatactccaccaattagaattctgagccatcttatctttttgtatcatcgaagggtatggccgaataggttaattagttactcctaacgtctctacaggcatgcatttgacgcaccttcgaaaatagtcaatctctcgccacacgcgtctagtatgcagcatcaaaaatatagtccacggtttccggattaccaaacgcggcaaagagaaacattgtatcgacggagataacttaatacagaaggaaggggcatcttcgaatacggatgaataattctatctgtttattctgacatcttgttttcaggttaatcttacgcattcaaatgacgcctgccccatgcgtgcgcaattattttctaatattgacgagagcaatctcactccttttgggtctatttatgttttattgaggcacaagcctatacagaacaggtactattaaggccgtgagtgtgagactcaaaccgtggaaacaaaggatgggttgttcttggtacaagttttagtgcatgtgggcaatccttaccaaaatcagatgctatccttaactttgggctgcatttaagatggcggttggaggcctgtgagaatcctgcgtgtcatctttaatgaccgaattcatccatgtagattcagatcacacactcattccttgatgttgtctaaacaaaagttgttgtggacgcattggagggagttaagtaacaacttgggatcgcatacttataaaaattatatgttaaactttcacaaacgctgaagtccaaagtaactagcccaaacgcctcgagagtcactaggtattaatggtgtttgagttcctgtgaaatagtgttcgaaggtaaaatttatgtaccaaatcgaaagaacacttaataaggcttgcttgcacggaggtatgatgtttactgactctacaaccctaattttccagtacgtacattcattccaataggttagttctcaaagtgctatacaggctcctcaattgatgatatgcttcagccgctctatggatattagctcattttatttaggaagcccgcttagaggcttactatgagggaaatgccaaaatgtcatacttttcggtgtgtcccatatgacaccgctttacatagaatttgaattaaaacgcgctctcccgttcactaccatacttggtaccgtgcgcatattacatatagatataggatcattttttaaagctgtactaggtttgatcgacaatcttatgctatactatatgatgtaaccctcataatcaataccgatcgtacgatcctagcataggtggcaagcgattttatgccgattattgtgttaaatagtctgtgagtgtgattatcagggctacgttggtagaggggttgtatagacctcgcacacattgtgacatacttaacaatatacgaaaactgatataataaatccccttacccaaacaccaatcccgttgaatcaactaccataacgtctcccatataaattgcctacttgtttgcataaatctgaatacataacaccattgcaccttcttgtgttccaatcccgttaagattgccttgtcagatgatatgcaagaacaatagcatttgctagcaattattaacagctcttcgaattgcctccacataacgcgggagggtatattttaatttggcaaatactaagtactgttggcgtcatatgctattaacggttggatattaagttatgtcagccgtaagcaagagtgggcgaaatattttgttacccagtgagagcactcttagagtttggatacaataggccatatgttgacttaagaggacgtaactacgccgtacaccattgttcaaccgacttcttggcaaatagaatcgtattagcaatcttaagaatagagacacgttcgtgttagggtatactacaaatccgaaaatcttaagaggatcacctaaactgaaatttatacatatttcaacgtggatagatttaacataattcagccacctccaacctgggagtaattttcagtagatttactagatgattagtggcccaacgcacttgactatataagatctggggatcctaacctgacctatgagacaaaattggaaacgttaacagcccttatgtgtacaaagaaaagtaagttgttgctgttcaacagatgatagtcatgacgcgtaacttcactatagtaaattgaaacaaatacgcaatttagacagaatggtacggtcatgaatgacagtaattcgaagtgctagaccaacttaaaataggtaaacgtgcccgaaaccccccttaacagaaagctgctatcatggtgcagtatcgacgtgttcagaaacttgtaacttttgagcaggtccgagcacatggaagtatatcacgtgtttctgaaccggcttatccctaagatatatccgtcgcaaactttcgatttagtcccacgtagagcccaagcgttgtgcgactccacgtgcatgcccagaaatacgagtttaaatttggttacatggttaattttgaccgaagcatcgcactttatgattgataattggattcaatatgtcgccctatgcgaatgcaacatgatccacaatttggctataagacgtttaatccgtatcacactttgtttgcggctagtatagtaacgcccgtgcaccaagagtcagtaacaattataagtactccgcaggtacttcaaatataaaaactaatcaaacacgacccatatgatcatctgaagatatttggaactttctcgacaaccaccctcgtactcaatacttacactaatcgacaggcacacgcaacgtgtacagtcgcaccatattgagtcaagatttgcttagtggcgatgagcgtacacgcttatttctctagtcacaattagttatctacgagacatcacgagggagcaaataagcgatgttatggctacacataggcacgtatgaatatgatataagccagttaaacagtcgaaccatcgagcaaattctcatgcaccaacccacacgttgaggcacaaagagtaagctgtttgaatgtaacttcttctgctgagcgggccccaacgtaaggatcaactagaagagaaaactcggtattagtttaaatgcgtcacggagcatgagtgcatttcactaagaatgtctgtgtaaccaatataacatctatttgttatctgattgcctacttatggctttgcggtcgtggcgactaatgtctccaatccttttgaggtcggtaccaactccctttaaattacgctgtgcaggctcatgcactgcatacatatacggtagcaggtagggacctcacgcacccttattataatcaatagtagttatcagtcaacgaggcaggaatgctgaggtcgaggtgttggtatattttctatgtgccgtctaggcgactatcacgcattaccaggcgagatttaagccaattttgaatatagtcaacgtaatttttactatgggttccaccgaaacgccttgcacaactaagaatcccataaaatatcgatatcaaataaaagattgtgtcaataccttcatatatattttttcggttgactaacgtgaactaaggttaggggttttgtatgtctatataggaaacagtttcttttctgtcctactttagtaaagtcttcaagccttactccaaaatcacggtgattaagccgttactcagcagcatgattctgcctgctcgggtcctaaaatccagccttgtaagagtcgctgtgtattagctagggagacctttgttaaaaaggatatatcgcggcgggatgtgagtgcgtggcgcatactcaatcttcagctcgtgtcattataatatctctcccccacgcttttcactagatatgccgtgtaagcaaacaccttatgcttaatttcgaaaatattggtacttgaaaaaagctgtaggggtacttaatgtctggtaggagatcaggagagaattgagtgtaaaaccgtaaagccctcacctgacttcatgtaaatggcttagaagactccatgatttaataaatactacgaaggaaagactggatctaaagataactctagtaaggccaactcccttcaatgctgttgccagttataatccaagagctgtccttttctgaaccatagcggcttctgaagcgaactagaagcaaagttggttctagccagacagccacataccctgtacgggtgtattactaaaactggtccggtattagttcaccaagggaggaattaggcaaaggatctaggtatgcaagtcggagtattacatccctaccctgaatccatcaataggttcctctgtactggccttcgcaatgagtattcaaggttgtacagccgtataataataagatagtgactatgaacgggaagtaacccgctcaccttccccaaaacattgttatatctaagtattaaagtctgccgtagtgttaatactcgaaaataaacaactggcaaattacaccgcacttaagccgcttttgatttatatttttccaatgcgcttttaaaaataattcagtcctacatactaattaagacccttaaacggagatatcacaagttaagttttaaccatctcgactaggtggaactatagatacccaactcaatttatcattacctgtaatgttcctagaaggattgcatttcatgtcaagacggtggagtttcacagcgaaacttcagtgtgaacagattctgagaaatcacctaaacctattagtcagagcacccggttagaaccagttgtcaaaaaatagagcggttgcatgagacagaagtaacgatgagatccgttgtaacgttgagacatctggcctatcgtcaatacagtcctcccttaaaaatatttttaaatactaggcaaacccaacataggttagtcctatgtgatacgccacatggtatatcattttgtaacgttacctagggataatcaggaagtggaattacgcaaaagtagacagtgaaatgcttagggttatagtctagtccaaagataaaggataaagcacgtcagagaactatattagccgaatgggaatcattgttaggagactgtggatcatgtctaaaaagcaacgcagaaacagtcatcgaaaaaatctcgtttttgtttgaatctaaaagagctttgatgaccgatagtacctgtatactagttactgtattacgtgtctaatgatttcggattggggtccccagaatcagacgtcattgtagacgattcaagtttaccaatttaatttcccagctctccttggagaactatcgccaataattgcagtcactttccttttctgaaacgataaagccgtcagagttctctgcaacgttggacttacctgaggttctaacccactttcggttctaatagtagttaacgacacaacgaataacctttactgtggggctttcacgatattttttcgcttattattaatggttacgtcataagctggtgtccaaattaaggttaccggcttcgcagagtagttgtatccaagtataacttccctaatcataagatcgaggtagaaaattaatgctgtctctaaccgaacagatatgtcccactatgtggtatggacgttgctaattacttctgaagggaaattggtcattatggatacgtgtctaccatcaggtcggacgcagatatggttctgtcttcagttgatccaccgttctttataggataataactgacgattaaagattatggtaaatagattaagccaattctcttcttgtcagtgaagcatccttaactgacttgctctgcagcccctcatacatttagctattcaaagtaccggctcgtttcaaactctcccacctttggaagaggttgtcaacttgataagtatatcatttacagcattttttcggacgtacctctaatgtttcattgcagaaaattagttttttctatcgcacattttgcaagtaacgttagagacacaattatctgcgaatgaactgctagatctgacgaccgggagcctcgcaaatatcaaaaaagactgacatatatcaaggagtcgttgacaagtgctggtaagtcaattggtttatctgtcccggcgtttcgatcttaagctgaccatgcacggcagagtaatgtcactctcgttcttacaagtctgtctccaagggtcggcaaaaaagacccctccattctcgagcccactcacgatatgtagggacgacaacttgtgcggcttatgaattgtctggactgcgggcgagggtccatatctccgaagttagaagggacatacctttagatgataagatcaattcttattgacgaaattcatccacaacggggaacaacttcaccctagacttacgtctgaaaagacacctagcgtcttataaaaggtcagtgccccgtttcgtaaggctggaattacctacgcaaacttaaacctcgcgcccttccttacgtatcgacaagatagaggctatcgcgaatgtactacggaggcatgaatcatatactagaaccaagtgcctgtgatattaacaagatgatccgacgcgagcaccgtaattctaggcataaaactccagcaatttgggggccgaaaacaaatgacgttagctaattaattatatgacatgatcaaaggaggtcaatcacgcatcgagttcgacgtatattcattgaacttcgtgcgtttgaaagaaacttttatgaaggcaaaattgatcctgtctcctatttcatgcgtacctcctagttgataattccccgagcagtggttaggacacttttgtcggtatcaagttccggtctcaaaacgtaaaattctgtaatctgtatggatggtctgtgaattagttaatttttatgaagtcgtcgagacgcagttcctattgatttattctaaacggagatgtgcttcgtgggactcggaagtagatctgtgtttatgattattgctactttagatgctgactgttaactccgtgttgtttttcaaccgtatatcacaaccgaattggatagaacctatagtttcaagttctgccacaaggtatcatatttacagttagtgctggttgcttctttcaaacgtggtgagtttgtgctatcacgtcaacggtagagctcagtggaccgagtgcgcgttcaaccctgttccagagagggtgtgatagcacatataccacgctcgtcgaggcgttcatgatagtttgcaagagccggtgttaaacacatattattattgttatccaactaatcggacctatgcataaagcattgtctaaacagaataattgcctatatacggtagttttagtgatttatatcttagtatcagttagagcttcgaactcttcaggttcctcatatttaacgttcttcgaaagcgaaaacttctacaaacgaatgtaagcggttttccaagtagtacctataaatcacagaaagatctgtctcagtatagttgaaatggtattcagctagtgacgtgtaccaattatcatagttcactcaagcaagacgctcattaacgaatatagacaagacactatatcatataataaaaaagaacatggtgctcgaacatagttgaattcaccatattgaaggggaatgctgacatgtaattcgctactagacgatcaattccctacttgtcaaagttgaactggtacgttcttggaattaaatatgattgcgctggaccaaattgcgacttcttgagtttcagggcaaacgattgagccggaggatgtccgtctcttacctttcttgcttatgataaacgacggtccctgtacatcactgggaattctcagcaaaaataattgggtaaatcgagactcgatgtattcggccacaaaggtgttagacgttaaagattattcaacggggcgataataggatcataaccggtatgcaagcgcattgaaagagccatgagatccttatccgataaacgctgcacggtatgtgcagccttattgtcgatcacgaatttataaatgtagtctgggctgtaagttgaagacctaagttataatgaagtgcaataccaaatcgattcatagtggattatcagactcaagatatctcctgataaattacagttgttaagatacggataaaatgagatttaagattagcagcctctaatctgtttcaatcccgttggaatgtggtatgcgatcaaggttaagttaaaatcaagcctgtcttcagtcttgattcttgttctgccatcgcatgcggtctacgtgagttaatatgtagcttacgttctagcttgtgctaatctgagtatagattcgtagaggaatattatcaagcttccacgcctcaacgtacgtgtattggtcacacaagacactaaaagtggaagtagcgtaaactatagtctagttgttaaatgctcagttcttgttatattcgatatactcttggctaatttatgtctgagtatataaaattaatgatattaacttgcatttcacggatcccttagaaaaagattttgaccgagcgcattataaacggttacaccgaatcaatagaagcatacccaatagctttctttgaatttattgcctgcgcaacttggctgactctctagatccgaataattctatatggtcgtgacgaaactagttcattactgtttaaaatgccaacatgtcttttgggccgataatggctctttgcaaaattactcaatgatacgattgatcaaagcggtagttgctagtggtagcatgtaagtctatcaaatgtctgattatccgaaaatcttccaaaagagtccacgtaccatatctatctcatagcgacgcgaggggaaccttatctaactatcattccatttaccgggtgactctcgatgcaggatccgattgggataaattgcccagaaatggctcattcctgactaagggtaaggccgttctcagcaagggaaccccgcgaatctaggcttataccatctagattgttaactacttgcctgtagttctacagccatactggacagttgtttctaaatgatcgggattcatgctagcactcctctgaatgcaccgcgtaagtttaactattacgtccgtgggcagataaggatggaggctgtatgtatcttaactgttacctaatatggctggtaattatcaaagtaaggaccttaatgccatagcgctagcaatcgctttgtatactgaccatgtgccaacctctcttaatctgtaaaatataatgtcttagctaactgtggacgatcatgtctctgcctagagcttcgctgtatcaattcctatagccagcgtactagtgacacaacaacaccgtgtgagaaaagatattagtccttacgtctgtctctctacagcttattgatgaggattgaacatggacatatagctccccctcaaaagcagatgctacctctttattccattctcgaacatttgccgaacttaatttcgacaaacctgaggtcacgtcttaatttatcggtaacgtcacgtccctttgagactggataaatatattaccaggggccaacgagcaattgttggaggcgcttctataatacaaggtgtcttgtcaaagaaagacggcgtgcgtctcgtgcaactcacttaaccaatattaatgtgaaacccccctctctcacatcttatgcggtgtactgccctggtacatttcctgtacaggactccaacagtgtagattcctaagatagctgttggagttgcctcacgccagatcgaaaaactgaataaactagtgagctgagctgcagaaataccgcttaattacttatgactagttcaaagggacctacgtgatgtcagacattgcaaggaagaaattaggtttgtgcgtcattttggctggactagcactccttacttcccctactattcaaatgtcgtaaacagcatgagacaggatcgtgctgacatttaaggtctattgggaacgaggctacctttggtcgcgcgctcgcgttctccgaatgaccgaaatgcatgagcacagtatgcaattgcttatagatctaaggtctggtcgttgaaaccaagcacgtaggcctgggaaatcagttcttcctcagcaactacacaaaagcgtccaagcattagtacttgtagtaaatgtccgaacctatgcgctcatttgaaagtcaaaaaatatttttaagcagtaggcacctaacccgattcctctacttagtagctttctttgattctcagaattgactgcaatatcactgcacaattctgtgccattactagacttctctgtattaacgtctcatcttactaacactcgcctaggacacatctgagagtgaagtatttcaatacatttactgaaatcttcagttctaaaatccccgaataaggctcttatcggtttggccaacacaagaaaaaaacttcttgcaccactcaccttcatacgcaggagcctggggaacttagtaataactatttcggcagacaaagcttataacaagttgccggcgcgtataatatttaaaagaccccttgagctgctcaattaaaacgctcacctggtataggctattagatagtgccgtcttagtaaggggcgggaattatcggataaactgatattttgataaaataaccgacttgttcacgacataagtcactaaggagattttatctttctccaaagtatatcttccttggataatttcaaagcgctgcaatttaagttctgttactagtttatgctgctgggaggtgaccggaaggcgtagtaatctagaggcaaattataagaagttcatcatatcattttcgactacaaaaacaaggtgttgtatgccggcgcattgtgtaaactggacgagtaccctagatggaaaattatacgttaagccaagatttcgatgtaatgataattacctacacatttttgctatccataggaacaagagctgttctataggctcgtggcatacgaacatttgctgccgctatgaatattggaagctcttcaactacagactctattcttaattgccgtcgaaaatgggccgaatcggctattattaatactcggtttttccgaggggattgttgtcgacagtcgtaattattattaatattgatgttggtgaggtcatttaaatacaaccttgcagacaatgaataagggatccaatctctcatactccttttacaattgctcatgcccctatgcaaaccttatgccgccacacctccgcaactctctcttctgaactgtaagtagcttcattactggtttgagactatactgaagctgatgacattctaaaatggctattttcgaatgtgattcataatgtttatcgtttgggatggcagaatcacgttatttttgatatagcccgggtattctattgtatagaacgtatgctacaagtcattccccgaagaagactagaagtaaacaacatgcgaccatcgttaagccacgcaaggctgtagctttatttcccgataacctatcttccataaatagcggacagcaggatactgacgctcaacatcagtggttatggtctaatttttaacttttaataaggtaacttcagcaggcatacacagtaactctttaatttataatcaaattagaagtctgacacttcttatatttttctatcatccaacgcgatcgcccattagcttattgtgttactaataacgtatctaaaccaatccttttcaagctactgcctatattgtcaatatatacaaacaacaggatagtaggctgcttaaaaaatattgtcaaccgtgtacgctttacaatacccggaaatcacaaactttgtagacaacgagtgaaatttatacactacgaagggccagcgtacaagacccatgaattaggcgatatgtttattctgacatattggtttatccttaatctgtcgctgtaaaatgaagccgcccccatccctgcgaattttttttcgaagattcacgactgaaatataaatacgtttggctatatttatgttggagggaggcaatagcctttactgttaaccgaagatttagccagtgagtgtgacactaaaacactggaataaatgcaggcgttcttctgggtaaaaggtttagtcaatctcgcctataagttcatatagctctggatataattatctggcccatgcatttatcatggcgcttggtgccctgtgtgaagccggcctctcatattgaaggtccgaagtattccatgtacattaagatcactctctcattcatgcatcttggcttaacaaatctggttgtccaagctttccaggcacgtatggtacaaattcggatcgaatacttataaaaatgatatgttaaactgtctaaaacgctcatctacaaagtaaagtgcactaaccaatagagtctcaagaccgtgtaatgctggtgcactgaatgtgtaatacggttagaagggattagttatgttacaaatccattgaaaacttaagaagcattgcgtgctcggagggtgcatcttttatcaagagactaacattattttcaacgacgtacatgctttacaatagggtacttatcaaacgccgagaaacgcgcctatagtgatgttatgattatgacccgatatccattggaccgaattttatgtaggttcccagcgtactcgcgtaatatctcggtattgccataatgtaatacttgtcggtctctcccagatgaaaaagcgttacagagtatttcaatgaaaaacagcgcgcaacgtcaatacctttaggggtaacggccgctgatttcatatagatatacgataagttggtatagctctactaggtggcatccacaatcgttgcatttactatagctggttacaatcataatctataccgttccttacatactaccatagcgggatagcgtttttttgccgttgattgggtttaagaggatgtcagtctcattatatccgattcggtgggagagccgttgttttcaaatcgcacactttgtgacataatgtacaagataacaaaactgatataagatataaactgtcaatatcaccttgacacttgaatcaaagtaaattaactcgcaaatataatttgactaattgggtgcagatttctcaattaataaaaaaatggcaccggatgggcttacaagccccttatcattcacttgtatcatgatttccaagaacaatagaatttgctagcaagtatgaacagagattcgaattgcatccacagtacgccggagcgtttattttaatgtggatatgacgatgtactgttggcggcatttgctagtaaccggtccttatttacgtagcgcacacgtaagcatgtctgggagaaatatggtggtacaatctcagagaaagattacagtttggtttaaataggacttatcgggtcggaagtggaacttaataagcagtacacaattgggcaacagacgtcttgcctattacaataggattacaatgcgttagatttcagacacgttcgtgtttggctattcgtcaattccctaaatagttagacgatcaactattatcaaagtgattctttgttcatcctccattcatgtaacagatggcacactacgcataacgccgaggaattttaacgagatttaagagagcagttcgggcacaacccacttgactttataacagctcggcagcataaacggtaatatgtgacaaatttccaaacgttataagaacgtatgtgtacttagaaaactaagtggttcatgttcaacagatgtgacgcagcaagcctaacttatctattggttttgctataaaagaacaaagttacacagaatcctaagggcttgtttcacacttatgcctagtgcttcaccatcttaaaatagcgaaaccggcacgaatcaaaccttaaaacaatgcgcagatattggtgatggtgactccgggtatgataatggtaactgttgaccagcgcccacctcatcgaagtatagaaagtggttaggataaggatgagaccgaacttatttccggccataactttagattttctacctagtacacaacatcagggcggacacgaaaccgccatcacatcatataccaggtttaatttgcttaatgggggaagtgtcaacgaaccttcgaactttagcaggcatatggccattatatatggccccagagcagaatgctacagcagacaaaatttggatttatgtagtttaatacctatcaaacttggtgtgaccatacttgtctaacgacagtgcacaaagtgtaagttacaattattactactcagcagcttctgcaatgataaaatcttatcatacacgtcacatatgataatatctacttagggggaacgggctccacaacctacatagtactcaatacttacactattcgacaggcacaccaaacctgtacagtcccaaaagattgagtcaactttgcagtactgcagatcacagtaatagcttagttagcgagtcaaaattagttttctacgagactgcacgaccgtgcaaatttccgatgtgttggctacaaatagcaacgtatgaatttgtttgaagccacgtaaactgtacaaccttagagataagtctcaggctactaaaaacacgttgtggcactaacaggatcatggttgattcttacttattcggctgaccggcccaataagtaaccttcaactagaacagaataatcgggagtagtttaattcagtcaaggtgcaggtctcattgtaactaacaagctctgtgtaaccaagttaaaatcgttttcttagcggattccctacttatggatttgagctcgtccacaatattcgatacaagaagtttgtggtccgtaacaacgaaattttaattacgctgtgcagcctcatccaaggaattaatagaaggttgatggtaggctccgaacgctccatgattataatcaagtggactgtgcagtaaacgaggaaggtatcctgacgtcgtggtgttcgtttttgttatttgtgccctatacgagtagataaaccatgaacagcacagtgtgaacccatggttgattttaggctaccttatttttaatttccgttacacagaaacgaattccacaactaacatgccattaatttttcgatatcttataaaagatggtcgaaattcattcatttattttttttcggttctcgaaagtcaactaagctgtcgcgttttgtttctctttagaggtaaaagtggctttgatctcctacgtttggatactagtcaaccattactccatttgatccgtgagtatcacctgtctaacatccagcattatgactcctcggcgaagaaaagacacacttcttagagtcgatgtgtattagctagggacacagttgtttaatacgatagtgagcccagggagggcagtgcgtcccccagtagatttattcagctagtgtaagtataagatatctcacccacgaggttcaagtgatatgcagtcttagaataatacttatcctgaatttcgatattatgggtacttcaataatccgctagcgctactttatgtctcgttggacagcaggacacatggcagtcttaaacactaaagacatcacctgaatgaatgtaatgggattacaagaatcaatgaggtattatatacgacgtaggaaactctggatatatacagtaatctagttacgccatcgcacttcattcctctggaaacttagaagacatcagctgtacgtggaggaaccagacccccgtatgtagccaaatagaaccaaagttgcttatacaaacacacccaatgacaatggaccgctggagttcgtaaactcggaacgtagtactgcacaaacccagcatttagcaataggagctacgtatgcaactcccacgtggtaataccttcaagctatcaatatataggtgcctagctaatcgcattcgcaagcagtattcaagcttgtaaaccagtataataattacagaggctctatgaaacccaactttccagctaaaagtcccaattaaatggttatttcgtacttttaaagtcgcccgttctgttattacgcgaattgattctactccaaaattaaacacaaattatcaaccgtttcatttatatttgtcaatgcagctgtttaaaataaggctctactaaattataattaagacacttattaccagatttctctagttaagtttgaaccagctcgactaccgcgaaagatacattcccttctctatttttcagttcatctatgggtcagagaagcattgaatttattctattcaccctcgtcgttcacagcgaatcgtcagtgtgatcagtgtatgagaaatatcctaaaccgtttagtcagaccacacgcttagaacaagtggtctaaaaagactgccctggaaggagtaagaagtatacagctgatccggtgtatccttcagtcatctgccctatactaattacacgacgcaaggaaaaataggtttattttctaggcaaacccttcataggtgactccgatgtgttacgaatcatgcttgagaatgtgctatcgttaccgacggataataacgatctccaatgaaccaaatgtagaatgtctattgattacccttttactattcgacttagagataggagatagaacctcagtgtacttttttagccgaatgggaatctttgggaggtgaatggccataaggtcgtaaatccaaccctcttaaagtcttccatattatatcgttgttcgtggaatcgataacagatttgttgacccatagtaaatgtatactagtttatgttgtaagtgtagattgttttccgattgccgtccaaactttatgtcgtaattgtagaccagtaaagttgaccaaggtaagtgcccagcgatcctgcgagatcgatcgccaatttttccagtcactgtaagtgtaggtttagataaagccgtatgagttatatcataagggcctcggaaagcagcttcgaaccaaagttcccttataatagtagtttaactataaaagtatatactggtctgtcgccctttcacgatttgttttaccggtttatgaagcgttacgtcattagagcggctccaatttaaggttaacggcttccatgtgtagttgtatacaaggataacttaaagtatctgttcagcgagctagttaagttatcctcgatagaacacaactcagaggtcccaagatcgggtttgcaacttgctaatttattctcaaggcaaattgggaattatcgatacctgtataccataaggtcgctcgatgtgatgcttatgtcttctggtgatcctaccttagttagtgctgattaacggaacattaatgtttatcgttttgagatttagccaattctctgattctaactcaagatgccttatctgacgtgctatgcagcccctaagtattttacattgtaataggacacgctcctttaaaactcgccaaaaggtcgttgtggttctctactggttaactatataatttacagctttgttgagctagttcctctttggtttaagtcctcaatattagttggttcgagcgataagttggctagttaccttagtcactatattagatccgaatgttatgcttcatctgaagaccgccaccctccaaaatttcttttaagactcacttattgcaaggtgtaggtgaattcggctcgtttctcaagtggtgtatctgtacacgagtttccatattttcatcaacagccaccgcacacttatgtcactctaggtattaaaagtcgctctacaaggggacgcaattaagaaacagacatgctagtcaaaaataaacatagcgaggcaccactaattcggccgcttatcaatgggatgctctgcgcgagacgcgccagagctcagtagttagttcggacatacatttacttcagatgatcaattagttttctacaaatgcttactctaccccgaaaaaagtcaccagactcttacgtctctttagtatccttccgtcttatataaggtcagtcccccgtttcggtaccctggaatttactaagaataatgaaacagcccccaaggacgtacgtttacaaatgatagaccagatcgcctagcttattccgacgcatgttgcatagaattgaaccaacggaatgtgagagtaactagatgagccgaccacagcacccgtttgcgtcgcagaatacgcctgatagttcggccacgaaatcatatgtcctttgagtattaagtatttgtaatgatcaatcgagctcaagcaagcttacacttcctcggatattcagggaacttagtgcctttgaaagatacgttgatcaacgaaaaattgataatggctcatatggaatgcctacctcatagtgctgaattaacacagcactgcggacctaacttttcgaggtttcaagttcacgtctcaaaacctaataggctggaatatgtagggatcctcggtgaatttgtgattgggtttgttgtagtactgaccaagtgaatattctttttttctaaaagcagatctgctgccgggcactacgaaggagatctctgtgtatcattattgcttcttgacatgatgactcttaaatcactgtgggtgtgcaaaacgatagcacaacccaattcgatagtacatattgttgatacttcgcactaaaccgttcatatttaaaggttgtgctccttccttcgttaaatactggtgacttggtcctatctactattagctagacctctggggaaccacgcccccgtaaaacctgtgcaagagagggggtcatacatcttagacatcgcgcctccaccagggaagcattgggtgattgaccaggtgtgtaacaaatatgattattcttatactaatattagcaaagatgcataatgatttgtattaaatgtataattgaattgataagggtcttttagtcagtgatagagtagtataaggtagacattagaactcttaaccggacgcagatttttcggtcttagtaagccaattagtcgacaaaacaaggtaagagcggttactagtagtacctataatgcactgaatcttcggtcgaagtatagttctaatgctatgcagattgtgacggcgacaaatgttcagacttatatcatgaaacaagctcttgtaagtattgacaaatgaaaagattgaatatttttaaatacaaaatgcgcctacttattaggggaattaaccagattgaaggccaatcctcacatgtaatgagataatagacgataaatgaaattcttgtaatagttgaactgctacgtgatgggtattatatatgattgagatcctccaattgccgacgtcttgtcttgatgcccaaaagattgtcaacgaggagctccctcgcgtacctgtcgtccgtatcataaacgacgcgacatgtacagcactccgaagtataagcaataataatgcgggtaatccagactagatcttttcggactcaatgcggtttcacggtaaacatgattaataccggagagtagtcgagcttatcagcgatgcaagcgaattcattgtgccaggagatacgttgcagataaaaccggcaacgtatgtcaacaagttttggcgatctcgttgtttgtattcgacgaggcgcgggaacttcaagaactatcgtatattcaagtccattaccttttagtttcagactggtggagctgactaaagttatatcatcattttgtacactggtttagttaacgataatttcagatttaacatgaccagacgataatcgctgtatatccagttggaatgtggtttgccagaaaggttaacttataatcaagcctctcttcagtcttgattcgtcgtatcccatccattgcgctatacctcagtgtatttggagctgtagttataccgtgtgctaagatcagtagacatgacgagagcaatattatctaccttacaagcatcaacggacgtctagtcggaacaaaagactctaaaactcgaacttcaggttaatatactatagttctgtattcagcagttattcttatattcgatattatcttgcctattggatgtctgactttagtatattaatcatagtatctgccatgtaaaggtgccagtactaaatctgtttcacagtgcgaattataaacggttacaaccattaaagacaacaagaccctatagctttatttgaattttgtcaatgcgcaacttggagctcgcgatacatcccaattagtctatagggtcgggacgattctacggcatttctggttataatgacaacatggattgtggcccgagaatcgctctttcattaattaagcaatcattacagtcttataagcgctacttccgagtggtagcaggtaactcgatataaggtcgcatgagccgaatagcttaaaaaacaggccaccgaacattgatagagaataccgaccacagcgcaacctttgattactttcattaaattgtacggctcactcgacatcaagcttaagattgcgataatgtgaactcaaatggatcagtactgaagaaccgtaacccacttcgcagaaagcgtacccagagaagatacgctgttacaatatacagggtgaaattattgcctgttcttcgtaaccatttcgccaaacttggttagaaatgatagccattcatgatagaaataagctgaatgataccagtatctttaactatgtagtcagggggaagataacgatggtccatgtatgtttctgatatgtgacagtattggccgcgtaatttgctaacgaagctacttaatgcctttgagcttcatatagatttctttaatcaaaatcggcaaaaagatagtatgagctataatatatgctagtagagaactctggaccatcatctatatgaatactgattcgagcgtgcaattactttagcctgcgtactactgactctacaaaacactctgagataagtttgtagtcagtaagtcgctctctataaaccttttggatgaccattgtacagccacttatagatcccaataaatagcacaggagacagagtttttcaatgctcgatcatttgccgatagtattttcgtctaacctcagggcacctattatttgatacctaacctaacggccctttcacaatggagaaatatatgacatcgggacaaacacaaatggtgggtggccaggagatatgacatggtggcgtctctaagaaacacggactccctctaggcaaactcacgtaaccaattttaatgtcaaacaaaacgctcgaaaagattttgccgtgtaatgacctggtacattgactggtcaggaatacatcactgtagttgccgtagtgtcctgttggtgttccatcaagacacatcgtataacgcaatttacgacggacatcagatcaagttatacagattatttaagtatcacgtgtgcattgggacataagggatctcacacatgccttggaacatttttgctttgtgccgctttttcgctgcactaccaatccttacttaccagtatattcaaaggtcgttaacagaatgagaaaggttagggctctaagttatcgtcgattgggatagacgagacatttgcgagcgccctccacggatacgaatctcccatatcaatgtgaactggatgctatgcagtttagttcttacgtctcctagtggtaaaaatcaaagtagcactcgcatagcagttattcagaacctaatacacaaaaccgtcaaacattttctaattctaggtatgggccgatcataggagctaaggtgaaactcataaatgttttgttagatctagcatcctaaaaagatgcatatactgagtagctggcgtgcattctctcaattgtatcctttttaactgaactagtcggtcccatttcgtgactgagatctattaaccgataagattaataacactcgcattcgtatcagctcagagtgaagtttttcaataatttgactgatatattaacttctaaaataaccctttaagcctcggatccgtttcccaatcacatcaaaaattcttattccaactatctacggattaacaacgtgcatggggatcgtagtaagaacttgttccgatcactttgagtatatcaagttgacggcccggttattattgaatagaaacattcacctgctaaattaaataccgcacatcggatacccgatttcagagggccgtcttactaagggcaggctttgttcggtttaactgagatgttcattattttacagtatgcttcaactaatatgtaacgaaggacagtggatctgtctccatagtagatcttcagtcgtgaatttcataccgctcctatttaagttcgcgttcgagttgttgatcatggcacgtgaaagcaacccctagtattctagacgaaaattttttctagttcatctgataatttgccaattcaaaaacaaccgctggtttcccggcgcattctctaaaatggaagtcgaacctagagccattatttgtcggtaacccatgagttccttcttttcagaagttaatacactgtggtcctatacagaggaaaaacagcggttatatacgatcgtggcataacaacattggatcaagatagcaatttggctacctattctaattctcactagattcggtattccactacaatatcggcagattaggattggatgaataatcggtgtttaagtccggttgcgtctccaatctcctaatttttattaatattgatcttggtgacctattgtaaataaaaacttcaagactttgaataacggtgaaaagatagaagactcatttgaaaatggatcatccacagatccaaacattagcaagacactaatccccaactagctattctgatcgcgatcgtgctgcagtactcctgtcacaatagtctgttcatgatctaattctttttgggctttgttcgatggtgattcagaatctttatccggtcgcttccctgtagctactttgtggggatattgcccggggattatagggttgagatcgtttcctaaaagtatttaaaccaagtagacttcaactaaactacatcagaacatcgtgaagacaccatacgcggtacctttatttaccgataacatttcttcaagaaataccggtaagcagcataatgaccctaaacagctcggggtatcgtcgtagttttaaattttatttaggttactgctcaaggaataaaaactaactatttaatttataataatattacaaggctcacactgattagatttgtctataagacttcgcgatcccccattaccggattgtcttaagaataaactagataaaccatgcattttctagataaggcctttagtctaattagatacaaaaaacacgatagttgcatccttaatttattgtgtcaaacctggaaccttttaattacccgcaaatcactttatgtcgagactacctctgaaatttattatctacctaccgcatgaggacttgaaccatcttgtaggagttatgtttattagctaagattcgtttatcctgtagcggtccatgtatattcaacaagcaaaaagcactcagaattgtttttagttgagtcaagactgatatataaataagtttccctagttttttcgtggtgggacgatattgaattgaatcttaaccgaagagtttcccactctgtcgcacaataatacacgccaatatttccagccctgcttatgccttaatcggttactcaatctcccattgaagttcattttgatctgcatagaagtttcgggcccagccttttttctgccaccttcctccaagctctgtagacgcactctaagattgatgctcacatgtattaattctacattaacataaatatataagtcatgcatcttcgagtaaaatatctggttctccaacatgtcctggcacgtatcgttataatgcccatacatgtagtattaaaatgattgggttaactggatattaagatcatcgaaattgtaaagtcaaattaacaatactgtctcaagaccgtgtattcctcgtgctcggaagggctattacgcttacttccgttttggtatcttaatatgactttcaaaaattaagttgcagtgagtcctacctgcgtgcatcggttagcaagagtataaaagttgtttaaacgaactacttgctttacaataccggtcgtatatatcgccgtgaatccagaagattgtcttctttggattatcaaccgagatcctgtggaccgatgttttgggaccttcacagaggactccaggtagagctcgcttttgcattaatctaagaattgtacctctctaaaagatctaaaacagtgaatgtgtatttcatggaaaaacacagagaaacgtaaattactttaggccgaaaggcacatgagttattatacatatacgagatggtggtatacatcgaattcggggcatacactatagttgcattgtatttagctgctttaaataatatgatattaccttccttacataagacattaccggcataccctggttttcaacttgtggggctttttgacgatcgcactctcatttgatccgagtagggcggtgacccctgcttttcaaatacaaaaatttcgctatgaaggtaatagattacttttcgctgttatgatagaaacggtaaatttaaaattgaaacttctagaaaagtaaagtaacgagaaatgattttgtgaataatgcggtcatgattgcgcaagtaagaaaaaaaggcaaaaggatgcgcggaatagaaacttatcagtcacgggtatcttgatttcattcttcttgtcaattgccgacataggatgaaatcagattccaatgcaatacacagtaacccccacccttgattgtaatgtcgatttgaagttgtacgcgtcgacgaagtggatagtatacgggccttttgtacggtgcgatcaactatgaatctcggcgagttagatggtcgtacaatctcacacatagaggtcacttgcctgtaatgacgaattttcggctaggtactcgaactttattagaagtaaaaatgtgggcaaaagaaggattccattttacaagacgattacaatgagttacatgtctctcaacgtagtctttccctagtagtctttgaactatttaggtactccagaaaattttagcaaagggtttctgtgtgaatccgccattcatgtttatgatggaacaataagaataacgccctcgtatgttatcgacagtgaagtcagcagttcggccaaaaacatattcaatttagtacagatccccagaagttaagctaagtgctctaaaatggcctaaacggttatcaaagtaggtctaattactatactaacgggtgcatcgtaataactgctgtcgatgcaacactatatgatagtgtcgttttgctatatatgtacaatgtgacaaagaagccttagcgattcttgcaaacttaggacttcggattctcaatcttaaatgtccgaaaacgcaaagattcaaaaatttaatctatgagcagatatgcctgatggtgactacgcgtatgttaaggctaaatgttgacaaccgcacacataatcgaactattgatagtcgggagcataaccaggtgaacgtactttgttcacgacatttattgacatgttctaaatacgtctcaaaatcacggcgcactagaaaacgcaatcaaatcattgtcctggtttaagggccgtaatgccggtagtgtcaaacttcatgagaactttagctggcttttggccagtatttagggaccaagagcactagccttaagctgaatattttgccatttatctactgttataactttaaaacttggtggcaccagacttgtcgatacacacgcatcaatctgtaacgtaaaaggtttactaagaacaagcgtaggaattgagtttatattatatttaaactaaaagatgatattagcttctgagggcgatagggctccaaatcataaagaggaatatattattacacgattagaaacccacaacatacctcgaatcgcccaaaagtttgacgaaacttggcagtactccacatctcagtaatacagttgggagagtctcaaatgttgttttattactcaatgaaccaccctcataatttcactgctgttccattaaatttgcaaacgatcatttgctttgaagaaacgtaaaatcgacaaaattacagataagtagatgcataataaaaaaaactgctcgctataacacgatcatcgtgcattcttacttaggagcatcacccgcacaataacgtaccttaaactacaacactattagaccgagtactgtaattcacgaaagctcaagctcgcattgtaaagaacttgctctctcgtaaaatgtgataatagtttgcggagaggattcaattattttccattgcacctactccactagattcgataaaagaaggtggtcctcccttaaaaagaaatgttaagtaacatcggaaccataagcaaagcatgtaagtgaaccgtcatccttccctaagaaacataaaggtttttaataatgtcgactgtgaactataactgcatcctttcctgacctactccggttccttgttgttatttctgaacgagaccagtagataaacaatgtaaaccacagtgggtaccaatggtgcatgtgacgctaccgttgttttaagtgcccgtacaaacataagaagtcataatcttacttgaaattaattttgccttttattttttttcaggctcgaaattaatgatttgttttttttgaccttctagttacgctaatatgcggtcgcctgtggtttctattgagtcctataacgggatgggatctaatacgtttggttactagtaaacaaggtataaatttgataccggagtatcaactgtataacatcaagctttatgactcatacgcgaagtaatgacacaaggctttcaggagatcgcgagtacagagccactaaggggtgtattacgatagtgacaccaccgagcgcactcactccccaagtagatttatgatcctacgctaagtattagatatataaccaaagaggttctagtcagtgcaactcttagaataataattagccggttttgcctttttaggcctaatgcaatattcagctagcccttatgtatctcgcgttccacagcaccactcatggcacgcgtttaaactaatcaaatataatctatgaatgttatgccagtacttgaataaatcaggttttttataagtccttgcatactctcgttatatactgttagagtcttaccccatagaaattctttcatctgcaaacttagaagaattctcagctacggggagcataaagtccccaggatgttgacaaatacaacaaatgtggcttatacaaacactccatatgaaaatcgaaccctcgtggtagttttagccgaaccttgtacggataaatccctccattttccaatagcagatacctatcctactacctcgtggtattaaattaaagcttgaaatatagagctgcatagcttatccaattcccaagcacgagtctaccgtcgtaaccacgatttgatttacagacgctagagcaaacccatctttaaacatataagtaaaaattaaagggtgagtgcgtacgtgtttactagcaacttcgcttattaagacaattgtttataagccataattaaaaacatatgttcaacaggttcattgatatttgtaattgcacaggtttttaataaggatctacgtaagtataatgaacaaactttttaccagagttatattctgtactttgaaaatgctcctctaccgccttagagactttcaattagattttttgcagttaatctatgcgtaagtgaaccatgcaagggatgcgattcaaccgcctcgtgctaaccctatcgtctgtctcataactgtaggtctaatataattttcagttttcgaacacataaccctttgaaaatctgctatttaatgtctcacctgcatgcactatcttctatactgctcagaacggctatacgtcactatgctccaagtgacgatttaaacgaagcaaggaataataggtttattttagtgcaaaacaattaagtgcggactacgtgctctttacaataagccttgtgattgggctataggttaagtcccatattaacgatctccaatgtacaaaatcgacaatcgctttgcattacccggttactagtcgaattacagatagctgttagatactcactctaattttggacaacaatcccaatcttggggtcgtctatcgcctgaagctcgtaaatccttccatcttaaacgattacatattatagacttgttcggggtagagatatcacagttgtgcaaacattgtaaatcgatactagtttatgttggtagtctagttgcttttaccattccccgaaaaacttgatctactatttcgacaacagtaaacttgaactaggtaagtgaaaacagagaatgcctcatagtgccactatttgtccactatatgtaagtgtagctttacataatccactatgactgagatcattacggcctaggaaagcagcgtagaaaaaaagggcccggatattacgactgtaactataaaactagttactggtagcgcgccatgtatagatttgttttaccggttgtggttgcgttaacgaatttcagccgcgaaaattgatccgttaaccagtccatctcgacttctataaaacgataaagtaaagttgatgttcagcctccttcttatggttgcatcgagagtacactactcagtgggaaatagatcggggttcctacttcagattgtattatctaggcaattgccgattgtgccatacctggataaaataagctacctacatgtgatgcttatctattatcgtcatactaccttagggtgtcctgttgaacgctacattaatctttagccgtttgagatgttccaatggataggagtctaacgcatgatgaagtttaggaaggcagagcatcccactaagtatgtgacagtgtatttcgaaacgagacgttataaatagaaaaaaggtccttctggttctattctgctgaactattgaatggaaagattggttgacctacgtactatttgcttgaagtcatcaatttgacggggtgagagacatatggtgcatactttacggactctatattttagatcagaagcttagcagtcttctctacaccccctcacgacataattgcttttaagaatctatgtttgattcctctacgggaattcggatccgttcgcatgtgcggtttatctaaaccaggggacatatgttcagctaaagcatacgaacactttgctaactagacgtatgtatagtagctataaatcccgacgatatttacaaaaagaaatgagactcaaatatatacatagcgaccctacacttattcgcaccctgatctaggcgatcctagcacccacacccgaaagtgagcactagtgtcttccgtattaaatttactgcagttgagattttagttgtctactaaggattactctaacccgtaataaggatcaagactcggtactagctttactatcattccctatgtgttttcctaactcacaagggtacgtaccagcctatgtaattacaataatgataaagacacaaaggaagtaactttacaaatgagtctccagttacactagcttagtccctcccatcttgctttgaagtctaaatacgcaatctctgaggatatacagcagaagaacactcataacgttggagtccaagaattagactcatagggcccccaacatttaatatgtactgtgagtttgaaggtgttctattgttaattcctgctcttgatacatgacacgtactccgtgtttaaggcttcggactgactttctttcataagttgagcaacgaaaatttcagaatcgataagttggattcactaactaatacggctgattgaaaactccactccggacctatatggtcgacctttatacgtaaccgatataaaacttataggctggtatatcgagccttcctagcgcaatttcggatggggtttcttctactactcaacaacggaatagtctttgtttagtaaaccagagctcaggacgcccaatacgtaggagagcgctgtggagcatgtgtcattatggactggagcactcttaaatcactctgcgtgtgctaaacgatagatcataacatgtcctgagtaaattttcttgatacgtcgcaatataccgttattagttaaacgttctcatccgtcatgcgtgaaatacggctgtcgtgctcagatatactattagcgactcatctcgcctaacacgcacacgtataaactcggaatgactgccgctcttacatattagaaatacagactacaccacggaagcattgggtcattctcaaccgctgtataaaagatgattagtcttataataagattaccaaagaggcagaatcatgggtagtaaatctattattcaagtgattaccgtcgtgtaggcagggagtgaggacgagatggtactcaggacaaatattaaccggacgaagtggtttacgtcgtactttcactattagtagtaaatacaaggtaacaccggggaatagtactaaatataatgatatctatcttcgggagaacgagtcgtctattgctttgaacattctcaaggcgtaaaatgtgctgacttatagcatgatacaaccgattgttacttttgtctattcaaaagattgaatagttttttatacaaaagccgcatacttatgacggctagtatacagtttcatcccctagcatcaatgctatggacagtattgaacttataggaaattcttctaatagggcaaatccgtcgtgatgcctattttttttcagtcacatcctcaaatggcactagtattgtcgggatcccattaacaggctcaaccacgagctcacgcgaggacatgtagtccgtatctttaacgaagcgacagcgacagaactcccatggataaccaattataaggcccgtaatcctctagacatcgtttaccaataaatccgctttctccgtaatcatgttgaataccccagagtagtccagatgataaccgatgaaacacaagtctttctcaatgcacttacggtgaacttattaccgccaacgtagctcatcaaggttgcgacatctagttgtgtgtttgcgacgagcccagcgaacttcatcaactttcgtatattcaacgccttgtaattttactttaagacgcctggtgatgtagattcttagataatcagtttgttatcggctgtactttaccataatttcacaggtttcaggtcaagaagattatagctgtatatacagttccatgctcggtgcacagaaacgtgatcggataataatcaatcgcttatgtcgtctttaggcgtatccaatacatgccccgataccgcagtgtatttcgacatgtaggtataccgtcgcatttgagctcgagtcaggacgtcagctagattagattccttaatagaatataccgacctctagtccgaactaaactatagataacgccaacttcaggttaattgtctagtcgtctgtttgcagatgggattcttagatgagtgagtatcggccatattggttcgagcactttagtttttgatgcataggatatgcaatgtatagctgaaagtactttatctgtttcaaactcacattgattaaaccggtaaacctttaaagactacaagaaaatattcagtgagggcaattttgtcaatcacaatcttccagctagagatacttcacaatttgtcttgaggctacgcaacattagacggattttcgcgttttattgaaataatcgaggggcccaagagtatccatagttcattttgtaagatttctttacaggcttattacagcttcttcagactcctacatgcttacgagttatatgctagcatgtgaacaatagattaatatacaggaaaacgtacattgagagagatgaccctacacagcgcaaccgttgagtactttcattaaagggtaacgctctcgagacagcatccttaagatggccttattgtcaaatcatttgcagaagtacgcaagatccctaaccaacgtagaagaatccctacaaacacatgagacgcggtgaaaatagacagggtgttagtattcaatcttcggagtatcaatttcgccaatcttggtgagaaagcataccctttcttcagagaaagaagatcaatcataacactatctttaacgaggtacgcacgcgcatcattacctgcctccatggatctttaggatagcggaaagtattggcagcgtattgtgatttcgttcctactttatcaatttcacattcatatacatgtcttttatcaaaatcgccaataagataggatgagctatattagatgctagtagagttcgcgccaacatcatcgataggaatactcaggacagcgtgataggacttttcaatccctaatactctctataattataactctctcttaagtttggaggcagtaacgcgctctatataatcagtttgctgcaccattcttcagcctctgatacatacaaataaattccacagcagtaagagggtttaattgagacatcttgggaacttaggattttactctaacatcaccgaaacgattattggataccgtacctaaacgaactttctcaaggcagtaatataggacatccgcaataacacaaatgctgcctccccaggagttatgtcttcctggaggctatatcttacacccactcactataggcaaactaaagtttaaatgttgattgtctaaaaaaaagatagataagagttggccggcgtagcacatgcgaaagtgaatcgtaagctataattctctggacttgaagttctgtcctgttcctctgcaagaaacaaacttcctttaaagctatttacgacgcacatctcagcaagttataaacatgttggaagtttctagtcggaattcccaaagaacggatctatctaatgcattcctacatttttcctgtctgccgatggtgccatcctattcaaagaatttcttaaaagtagattaaatgggacttttaacaatgagtaaccttacgcctctaagggttcctcgagtgccatacaccagtcaggtccgagccacatacacggagaacattctaacatagcattctcaactcgatcatttgcaggttacttctttcctatcctagtgctaaaaatcatacttgcaatcccatagcacggattaagaacctaagaaacaattcagtaaaacatgttcgaattcttggtatgggaacatcattgcagctatggtctaacgcattaatgtttgggtacatcttccatcatataaacaggaagagtctgacgacagggagtgcttgcgatcatgtctatcattgtgaaatcaaattgtagctcacatgtcgtctatgagagcgtgtatccgataagatttagaaaaatagaagtcgtataagatctcactgaacttttgaatgaatgtgaagcatatatgatctgctttaataaaactttatccataggatacgtttccaaatcaattcaataattattagtcaaaatagataaggatgaacaacctgaaggccgatcggacgtagaaagtggtcccatcactttgagttgatattgttgaaccacacgttattatggttttcaaacagtctcaggatattgtatatacagataatccgataccagttgtctgacgcccctcttacgtaccccaccctttgtgacgtttaaagcagttgttcagtattttaaactaggcggcaactaatttggaaagaagcacagtggatatgtctaaattcttgttattcaggcctgaatttaatacaccgcatagttaacttcgcggtagagttgttcatcatgcctcctctaagctaccacttctatgatacaccaatagttgttctacggaatctgataattggccaagtcataaacttccgctgcgttcaacccccttgctcgaatatccaactcgaaaagacagccttttggtgtccggaacaaatcagttacttcttttctgatgttaattctctgtggtcagatacagaccaaaaactccgcggatttaccatcctccaagaacaaatttgcatcaacatagcattttggctacatattctaagtctcaatagtttaggttttcaactacattatcccaacattaggattggaggaataatagctgggtaagtccccttgcgtctacaatcgactattttttatgaatatgcttctgccgcacctatggttattaaaaaagtcatgactttgaagaaccctgaaaagatagatgaatcaggtgtaatggcagcagccaaagagcatataattagcaacactctaagaacattatagatatgatgatagcgatcgtcatgatgttatccggtcacaatagtagcttcatcagctaattcgttttgccagtggtgacttgcgctggaagaatcgttatacggtcccttccctcttgatacggtgggggcttattcaaccgcgtggattgggttgtcatacttgcattaaacgatgtaaaccatctagtagtcaactatactaaatcacaaaatagtgatcaatacatacccgcttcatggttttaaccatttaattgattaaagatattccgctaagaaccattatctacctaaactgatcgccgtatcctagtagtttgaaatttgatgtaccgtaatgatcaacgaagtaaaacgttatattgtatgtagaataataggtcttggagctaaatgatgtgattggtagtgaagacttacccttacaactttaccggtttctcggaagaatatactagagaatcaatgcatgggctacataagcactttagtctaatgagataaaaaatacacgagtcttccatcatgaattttttgtcgaaaaactcgaacctggtaatttaaaccatatatctttatgtcgtcaataactctcatatgttttatataacttcccaatcacgacttgtaactgcttgttcgactgagctgtttgagctatgaggccgggatccggttgagctacatctatttgctacaagaaaaatgaaagcacatttgttgggagttctggctacactcatagagaaataagtggcccgagtgggtgcggcctgcctccatattcaagtgtatcttaaaccaagtggttccaacgctcgcgctaaagaattaaagcctttatttcctccacggagtagcccgtaatccggttcgaaagagaccattgaagttaattttcatatccagtgaagtttaggcacaagcatgtgttctgccacatgcctcaaagcgctcttcaaccaagatatgattcatcctaacttcgatgaatgcgtctgtaacataaatatagaaggaatgattcggcgagttaattttcgccttctccaacatggcatccctacgttcgttataaggaccatacatgtaggttttaaaggtttgcggttaatcgatatttacatcatagaaattctatagtcaaatttacaagactctagatactcactcgttgcagccggctaggaagcgctttgtaccttacttcccttttcgttgcgtaatatgaatttcatatagtaagttcaaggcactcatacctccgtgaagagggtagatagactattaaagttgtttaatagtacgtattgatggaaatgacccgtaggagatttaccactcaatccacaagattcgctgctgtgcattatcaaaacagtgcatgtcgaaacatgggttgggtccttcaaacacgaatccaggtagagatacctttgcaattttt";
+
+if (dnaOutputString != expectedDNAOutputString)
+ throw "ERROR: bad result: expected " + JSON.stringify(expectedDNAOutputString) + " but got " + JSON.stringify(dnaOutputString);
+
+if (dnaInput != expectedDNAInput)
+ throw "ERROR: bad result: expected " + JSON.stringify(expectedDNAInput) + " but got " + JSON.stringify(dnaInput);
diff --git a/Jint.Tests.CommonScripts/Scripts/string-base64.js b/Jint.Tests.CommonScripts/Scripts/string-base64.js
new file mode 100644
index 0000000000..3125258964
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/string-base64.js
@@ -0,0 +1,137 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla XML-RPC Client component.
+ *
+ * The Initial Developer of the Original Code is
+ * Digital Creations 2, Inc.
+ * Portions created by the Initial Developer are Copyright (C) 2000
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Martijn Pieters (original author)
+ * Samuel Sieb
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+// From: http://lxr.mozilla.org/mozilla/source/extensions/xml-rpc/src/nsXmlRpcClient.js#956
+
+/* Convert data (an array of integers) to a Base64 string. */
+var toBase64Table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+var base64Pad = '=';
+
+function toBase64(data) {
+ var result = '';
+ var length = data.length;
+ var i;
+ // Convert every three bytes to 4 ascii characters.
+ for (i = 0; i < (length - 2); i += 3) {
+ result += toBase64Table[data.charCodeAt(i) >> 2];
+ result += toBase64Table[((data.charCodeAt(i) & 0x03) << 4) + (data.charCodeAt(i+1) >> 4)];
+ result += toBase64Table[((data.charCodeAt(i+1) & 0x0f) << 2) + (data.charCodeAt(i+2) >> 6)];
+ result += toBase64Table[data.charCodeAt(i+2) & 0x3f];
+ }
+
+ // Convert the remaining 1 or 2 bytes, pad out to 4 characters.
+ if (length%3) {
+ i = length - (length%3);
+ result += toBase64Table[data.charCodeAt(i) >> 2];
+ if ((length%3) == 2) {
+ result += toBase64Table[((data.charCodeAt(i) & 0x03) << 4) + (data.charCodeAt(i+1) >> 4)];
+ result += toBase64Table[(data.charCodeAt(i+1) & 0x0f) << 2];
+ result += base64Pad;
+ } else {
+ result += toBase64Table[(data.charCodeAt(i) & 0x03) << 4];
+ result += base64Pad + base64Pad;
+ }
+ }
+
+ return result;
+}
+
+/* Convert Base64 data to a string */
+var toBinaryTable = [
+ -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
+ -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
+ -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,62, -1,-1,-1,63,
+ 52,53,54,55, 56,57,58,59, 60,61,-1,-1, -1, 0,-1,-1,
+ -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11,12,13,14,
+ 15,16,17,18, 19,20,21,22, 23,24,25,-1, -1,-1,-1,-1,
+ -1,26,27,28, 29,30,31,32, 33,34,35,36, 37,38,39,40,
+ 41,42,43,44, 45,46,47,48, 49,50,51,-1, -1,-1,-1,-1
+];
+
+function base64ToString(data) {
+ var result = '';
+ var leftbits = 0; // number of bits decoded, but yet to be appended
+ var leftdata = 0; // bits decoded, but yet to be appended
+
+ // Convert one by one.
+ for (var i = 0; i < data.length; i++) {
+ var c = toBinaryTable[data.charCodeAt(i) & 0x7f];
+ var padding = (data.charCodeAt(i) == base64Pad.charCodeAt(0));
+ // Skip illegal characters and whitespace
+ if (c == -1) continue;
+
+ // Collect data into leftdata, update bitcount
+ leftdata = (leftdata << 6) | c;
+ leftbits += 6;
+
+ // If we have 8 or more bits, append 8 bits to the result
+ if (leftbits >= 8) {
+ leftbits -= 8;
+ // Append if not padding.
+ if (!padding)
+ result += String.fromCharCode((leftdata >> leftbits) & 0xff);
+ leftdata &= (1 << leftbits) - 1;
+ }
+ }
+
+ // If there are any bits left, the base64 string was corrupted
+ if (leftbits)
+ throw Components.Exception('Corrupted base64 string');
+
+ return result;
+}
+
+var str = "";
+
+for ( var i = 0; i < 8192; i++ )
+ str += String.fromCharCode( (25 * Math.random()) + 97 );
+
+for ( var i = 8192; i <= 16384; i *= 2 ) {
+
+ var base64;
+
+ base64 = toBase64(str);
+ var encoded = base64ToString(base64);
+ if (encoded != str)
+ throw "ERROR: bad result: expected " + str + " but got " + encoded;
+
+ // Double the string
+ str += str;
+}
+
+toBinaryTable = null;
diff --git a/Jint.Tests.CommonScripts/Scripts/string-fasta.js b/Jint.Tests.CommonScripts/Scripts/string-fasta.js
new file mode 100644
index 0000000000..c8a1ccb1b7
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/string-fasta.js
@@ -0,0 +1,90 @@
+// The Great Computer Language Shootout
+// http://shootout.alioth.debian.org
+//
+// Contributed by Ian Osgood
+
+var last = 42, A = 3877, C = 29573, M = 139968;
+
+function rand(max) {
+ last = (last * A + C) % M;
+ return max * last / M;
+}
+
+var ALU =
+ "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG" +
+ "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA" +
+ "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT" +
+ "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA" +
+ "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG" +
+ "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC" +
+ "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA";
+
+var IUB = {
+ a:0.27, c:0.12, g:0.12, t:0.27,
+ B:0.02, D:0.02, H:0.02, K:0.02,
+ M:0.02, N:0.02, R:0.02, S:0.02,
+ V:0.02, W:0.02, Y:0.02
+}
+
+var HomoSap = {
+ a: 0.3029549426680,
+ c: 0.1979883004921,
+ g: 0.1975473066391,
+ t: 0.3015094502008
+}
+
+function makeCumulative(table) {
+ var last = null;
+ for (var c in table) {
+ if (last) table[c] += table[last];
+ last = c;
+ }
+}
+
+function fastaRepeat(n, seq) {
+ var seqi = 0, lenOut = 60;
+ while (n>0) {
+ if (n0) {
+ if (n= 0x7f) {
+ validates = false;
+ break;
+ }
+ }
+
+ if (!validates)
+ continue;
+
+ var url = "http://example.com/tag/" + tag.replace(" ", "").toLowerCase();
+ var popularity = tagInfo[i].popularity;
+ var color = 'rgb(' + Math.floor(255 * (popularity - 12) / 20) + ', 0, 255)';
+ output += ' ' + tag + ' \n';
+ }
+
+ output += '';
+ output.replace(" ", " ");
+
+ return output;
+}
+
+var tagcloud = makeTagCloud(tagInfo);
+
+var expectedMinLength = 315000;
+
+if (tagcloud.length < expectedMinLength)
+ throw "ERROR: bad result: expected length at least " + expectedMinLength + " but got " + tagcloud.length;
+
+tagInfo = null;
diff --git a/Jint.Tests.CommonScripts/Scripts/string-unpack-code.js b/Jint.Tests.CommonScripts/Scripts/string-unpack-code.js
new file mode 100644
index 0000000000..0447c1807c
--- /dev/null
+++ b/Jint.Tests.CommonScripts/Scripts/string-unpack-code.js
@@ -0,0 +1,81 @@
+// This test case unpacks the compressed code for the MochiKit,
+// jQuery, Dojo and Prototype JavaScript libraries.
+
+/***
+ MochiKit.MochiKit 1.3.1 : PACKED VERSION
+ THIS FILE IS AUTOMATICALLY GENERATED. If creating patches, please
+ diff against the source tree, not this file.
+
+ See for documentation, downloads, license, etc.
+
+ (c) 2005 Bob Ippolito. All rights Reserved.
+***/
+
+var result = 0;
+
+for (var i = 0; i < 2; i++) {
+
+var decompressedMochiKit = function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('if(H(1q)!="L"){1q.2X("B.J")}if(H(B)=="L"){B={}}if(H(B.J)=="L"){B.J={}}B.J.1Y="1.3.1";B.J.1r="B.J";B.J.2l=G(7V,vR){if(7V===O){7V={}}R(u i=1;i=0;i--){aw.e9(o[i])}}N{X.1c(o)}}F X},1R:G(7U,1i,av){if(!av){av=0}if(1i){u l=1i.K;if(H(l)!="2y"){if(H(B.15)!="L"){1i=B.15.2G(1i);l=1i.K}N{14 Y 3p("au 2E an at-as 3W B.15 2E ar")}}if(!7U){7U=[]}R(u i=av;i>b},vG:G(a,b){F a>>>b},eq:G(a,b){F a==b},ne:G(a,b){F a!=b},gt:G(a,b){F a>b},ge:G(a,b){F a>=b},lt:G(a,b){F al){7T=l}}69=[];R(i=0;i<7T;i++){u fa=[];R(u j=1;j0){ap=m.2o(me.am,ap)}u 4o=me.f7;if(!4o){4o=D}F me.f5.1w(4o,ap)};7Q.f7=f6;7Q.f5=ao;7Q.am=5f;F 7Q},lF:G(7P){u mp=B.J.1O;R(u k in 7P){u f4=7P[k];if(H(f4)=="G"){7P[k]=mp(f4,7P)}}},5u:G(mo,mn,ml,mk){B.J.ae.5M(mo,mn,ml,mk)},mj:{"5L":1h,"1n":1h,"2y":1h},2f:G(a,b){if(a==b){F 0}u f3=(H(a)=="L"||a===O);u f2=(H(b)=="L"||b===O);if(f3&&f2){F 0}N{if(f3){F-1}N{if(f2){F 1}}}u m=B.J;u f1=m.mj;if(!(H(a)in f1&&H(b)in f1)){1f{F m.ae.3C(a,b)}1e(e){if(e!=m.4d){14 e}}}if(ab){F 1}}u f0=m.U;14 Y 3p(f0(a)+" 3W "+f0(b)+" 9v 2E be vv")},eM:G(a,b){F B.J.2f(a.9P(),b.9P())},eL:G(a,b){u mi=B.J.2f;u 7O=a.K;u al=0;if(7O>b.K){al=1;7O=b.K}N{if(7O0))){u kv=B.S.d5(3s);3s=kv[0];68=kv[1]}N{if(M.K==1){u o=3s;3s=[];68=[];R(u k in o){u v=o[k];if(H(v)!="G"){3s.1c(k);68.1c(v)}}}}u W=[];u lT=28.2a(3s.K,68.K);u eT=B.J.af;R(u i=0;i=2J){14 I.25}5c+=3a;F W}}},4c:G(aa,p,q){u m=B.J;u I=B.15;u lb=m.2r(I.1Q,m.1R(O,M,1));u 2r=m.2r;u 1a=I.1a;F{U:G(){F"4c(...)"},1l:m.24("U"),1a:G(){F aa.1w(D,2r(1a,lb))}}},ep:G(aa,1V,I){1V=B.15.1Q(1V);u m=B.J;F{U:G(){F"ep(...)"},1l:m.24("U"),1a:G(){F aa.1w(I,1V.1a())}}},55:G(p,q){u I=B.15;u m=B.J;if(M.K==1){F I.1Q(M[0])}u 64=m.2r(I.1Q,M);F{U:G(){F"55(...)"},1l:m.24("U"),1a:G(){1M(64.K>1){1f{F 64[0].1a()}1e(e){if(e!=I.25){14 e}64.2P()}}if(64.K==1){u a9=64.2P();D.1a=m.1O("1a",a9);F D.1a()}14 I.25}}},9Z:G(3b,1V){u I=B.15;1V=I.1Q(1V);F{U:G(){F"9Z(...)"},1l:B.J.24("U"),1a:G(){u W=1V.1a();if(!3b(W)){D.1a=G(){14 I.25};D.1a()}F W}}},eo:G(3b,1V){1V=B.15.1Q(1V);u m=B.J;u 1O=m.1O;F{"U":G(){F"eo(...)"},"1l":m.24("U"),"1a":G(){1M(1h){u W=1V.1a();if(!3b(W)){2K}}D.1a=1O("1a",1V);F W}}},a7:G(63,2u,la){2u.62[63]=-1;u m=B.J;u l9=m.eI;F{U:G(){F"en("+63+", ...)"},1l:m.24("U"),1a:G(){u W;u i=2u.62[63];if(i==2u.29){W=la.1a();2u.a8.1c(W);2u.29+=1;2u.62[63]+=1}N{W=2u.a8[i-2u.2a];2u.62[63]+=1;if(i==2u.2a&&l9(2u.62)!=2u.2a){2u.2a+=1;2u.a8.2P()}}F W}}},en:G(a6,n){u W=[];u 2u={"62":[],"a8":[],"29":-1,"2a":-1};if(M.K==1){n=2}u I=B.15;a6=I.1Q(a6);u a7=I.a7;R(u i=0;i0&&4k>=2J)||(3a<0&&4k<=2J)){14 B.15.25}u W=4k;4k+=3a;F W},U:G(){F"7I("+[4k,2J,3a].2b(", ")+")"},1l:B.J.24("U")}},l0:G(a5,l7){u x=l7||0;u I=B.15;a5=I.1Q(a5);1f{1M(1h){x+=a5.1a()}}1e(e){if(e!=I.25){14 e}}F x},em:G(a4){u I=B.15;a4=I.1Q(a4);1f{1M(1h){a4.1a()}}1e(e){if(e!=I.25){14 e}}},9a:G(7J,1A,I){u m=B.J;if(M.K>2){1A=m.1O(1A,I)}if(m.3A(7J)){1f{R(u i=0;i<7J.K;i++){1A(7J[i])}}1e(e){if(e!=B.15.25){14 e}}}N{I=B.15;I.em(I.4c(1A,7J))}},kZ:G(l6,1A){u I=B.15;1f{I.a0(1A,l6).1a();F 1m}1e(e){if(e!=I.25){14 e}F 1h}},kY:G(l5,4j){u W=B.15.2G(l5);if(M.K==1){4j=B.J.2f}W.iz(4j);F W},kX:G(l4){u W=B.15.2G(l4);W.vg();F W},kW:G(l3,1A){u I=B.15;1f{I.a1(1A,l3).1a();F 1h}1e(e){if(e!=I.25){14 e}F 1m}},kV:G(1g,5b){if(B.J.3A(5b)){R(u i=0;i<5b.K;i++){1g.1c(5b[i])}}N{u I=B.15;5b=I.1Q(5b);1f{1M(1h){1g.1c(5b.1a())}}1e(e){if(e!=I.25){14 e}}}F 1g},ek:G(a3,eH){u m=B.J;u I=B.15;if(M.K<2){eH=m.4i.eE}a3=I.1Q(a3);u pk=L;u k=L;u v;G eF(){v=a3.1a();k=eH(v)}G l2(){u 7j=v;v=L;F 7j}u eG=1h;F{U:G(){F"ek(...)"},1a:G(){1M(k==pk){eF();if(eG){eG=1m;2K}}pk=k;F[k,{1a:G(){if(v==L){eF()}if(k!=pk){14 I.25}F l2()}}]}}},kU:G(a2,eD){u m=B.J;u I=B.15;if(M.K<2){eD=m.4i.eE}a2=I.1Q(a2);u ey=[];u eA=1h;u ez;1M(1h){1f{u eB=a2.1a();u 2h=eD(eB)}1e(e){if(e==I.25){2K}14 e}if(eA||2h!=ez){u eC=[];ey.1c([2h,eC])}eC.1c(eB);eA=1m;ez=2h}F ey},9X:G(ex){u i=0;F{U:G(){F"9X(...)"},1l:B.J.24("U"),1a:G(){if(i>=ex.K){14 B.15.25}F ex[i++]}}},eh:G(ew){F(ew&&H(ew.ei)=="G")},9V:G(l1){F{U:G(){F"9V(...)"},1l:B.J.24("U"),1a:G(){u W=l1.ei();if(W===O||W===L){14 B.15.25}F W}}}});B.15.1W=["9Y","9X","eh","9V",];B.15.1z=["25","9W","1Q","eu","et","7b","1a","es","a1","a0","er","4c","ep","55","9Z","eo","en","2G","7H","7I","l0","em","9a","kZ","kY","kX","kW","kV","ek","kU"];B.15.2d=G(){u m=B.J;D.25=Y m.5a("25");D.9Y=Y m.4a();D.9W("ej",m.3A,D.9X);D.9W("ei",D.eh,D.9V);D.2k={":3e":D.1z,":1p":m.2o(D.1z,D.1W)};m.3f(D)};B.15.2d();if(!B.3d){7H=B.15.7H}B.J.2Y(D,B.15);if(H(1q)!="L"){1q.2X("B.1H");1q.2M("B.J")}if(H(1x)!="L"){1x.26("B.J",[])}1f{if(H(B.J)=="L"){14""}}1e(e){14"B.1H 3F on B.J!"}if(H(B.1H)=="L"){B.1H={}}B.1H.1r="B.1H";B.1H.1Y="1.3.1";B.1H.1K=G(){F"["+D.1r+" "+D.1Y+"]"};B.1H.1l=G(){F D.1K()};B.1H.1z=["5C","49","7A","kR","2L","5Z","kG","ch","kE","kC"];B.1H.1W=["ef","e8","e7"];B.1H.49=G(1P,kT,3z){D.1P=1P;D.3N=kT;D.3z=3z;D.vf=Y 3Q()};B.1H.49.1U={U:G(){u m=B.J;F"49("+m.2r(m.U,[D.1P,D.3N,D.3z]).2b(", ")+")"},1l:B.J.24("U")};B.J.2l(B.1H,{ef:G(7F){u I=B.1H;if(H(7F)=="1n"){7F=I.5C[7F]}F G(1t){u 7G=1t.3N;if(H(7G)=="1n"){7G=I.5C[7G]}F 7G>=7F}},e8:G(){u kS=B.1H.49;R(u i=0;i=0&&D.4h.K>D.ec){D.4h.2P()}},c8:G(9U){u ea=0;if(!(H(9U)=="L"||9U===O)){ea=28.29(0,D.4h.K-9U)}F D.4h.9T(ea)},kJ:G(7B){if(H(7B)=="L"||7B===O){7B=30}u 9S=D.c8(7B);if(9S.K){u 1g=2r(G(m){F"\\n ["+m.1P+"] "+m.3N+": "+m.3z.2b(" ")},9S);1g.e9("va "+9S.K+" v9:");F 1g.2b("")}F""},v8:G(kI){if(H(B.1I)=="L"){cq(D.kJ())}N{B.1I.bY(kI||1m)}}};B.1H.2d=G(){D.5C={8M:40,8L:50,8K:30,8J:20,8I:10};u m=B.J;m.5u("49",D.e8,D.e7);u 61=m.2z;u e6=D.7A;u 60=e6.1U.kH;m.2l(D.7A.1U,{kF:61(60,"8I"),5Z:61(60,"8J"),dE:61(60,"8M"),kD:61(60,"8L"),kB:61(60,"8K")});u I=D;u 5Y=G(1b){F G(){I.2L[1b].1w(I.2L,M)}};D.5Z=5Y("5Z");D.kG=5Y("dE");D.ch=5Y("kF");D.kE=5Y("kD");D.kC=5Y("kB");D.2L=Y e6();D.2L.e5=1h;D.2k={":3e":D.1z,":1p":m.2o(D.1z,D.1W)};m.3f(D)};if(H(5X)=="L"&&H(2v)!="L"&&2v.kA&&H(kz)!="L"){5X=G(){5X.3G=M;u ev=2v.kA("v7");ev.v6("5X",1m,1h);kz(ev)}}B.1H.2d();B.J.2Y(D,B.1H);if(H(1q)!="L"){1q.2X("B.1D")}if(H(B)=="L"){B={}}if(H(B.1D)=="L"){B.1D={}}B.1D.1r="B.1D";B.1D.1Y="1.3.1";B.1D.1K=G(){F"["+D.1r+" "+D.1Y+"]"};B.1D.1l=G(){F D.1K()};B.1D.ks=G(1y){1y=1y+"";if(H(1y)!="1n"||1y.K===0){F O}u 7z=1y.2R("-");if(7z.K===0){F O}F Y 3Q(7z[0],7z[1]-1,7z[2])};B.1D.ky=/(\\d{4,})(?:-(\\d{1,2})(?:-(\\d{1,2})(?:[T ](\\d{1,2}):(\\d{1,2})(?::(\\d{1,2})(?:\\.(\\d+))?)?(?:(Z)|([+-])(\\d{1,2})(?::(\\d{1,2}))?)?)?)?)?/;B.1D.kr=G(1y){1y=1y+"";if(H(1y)!="1n"||1y.K===0){F O}u X=1y.3C(B.1D.ky);if(H(X)=="L"||X===O){F O}u 5W,7y,7x,9R,2a,9Q,7w;5W=3w(X[1],10);if(H(X[2])=="L"||X[2]===""){F Y 3Q(5W)}7y=3w(X[2],10)-1;7x=3w(X[3],10);if(H(X[4])=="L"||X[4]===""){F Y 3Q(5W,7y,7x)}9R=3w(X[4],10);2a=3w(X[5],10);9Q=(H(X[6])!="L"&&X[6]!=="")?3w(X[6],10):0;if(H(X[7])!="L"&&X[7]!==""){7w=28.ha(c5*4M("0."+X[7]))}N{7w=0}if((H(X[8])=="L"||X[8]==="")&&(H(X[9])=="L"||X[9]==="")){F Y 3Q(5W,7y,7x,9R,2a,9Q,7w)}u 58;if(H(X[9])!="L"&&X[9]!==""){58=3w(X[10],10)*v5;if(H(X[11])!="L"&&X[11]!==""){58+=3w(X[11],10)*kw}if(X[9]=="-"){58=-58}}N{58=0}F Y 3Q(3Q.v4(5W,7y,7x,9R,2a,9Q,7w)-58)};B.1D.dY=G(2g,kx){if(H(2g)=="L"||2g===O){F O}u hh=2g.v3();u mm=2g.v2();u ss=2g.v1();u 1g=[((kx&&(hh<10))?"0"+hh:hh),((mm<10)?"0"+mm:mm),((ss<10)?"0"+ss:ss)];F 1g.2b(":")};B.1D.kq=G(2g,7v){if(H(2g)=="L"||2g===O){F O}u ku=7v?"T":" ";u kt=7v?"Z":"";if(7v){2g=Y 3Q(2g.9P()+(2g.v0()*kw))}F B.1D.dX(2g)+ku+B.1D.dY(2g,7v)+kt};B.1D.dX=G(2g){if(H(2g)=="L"||2g===O){F O}u e4=B.1D.e3;F[2g.dZ(),e4(2g.e1()+1),e4(2g.e0())].2b("-")};B.1D.kp=G(d){d=d+"";if(H(d)!="1n"||d.K===0){F O}u a=d.2R("/");F Y 3Q(a[2],a[0]-1,a[1])};B.1D.e3=G(n){F(n>9)?n:"0"+n};B.1D.ko=G(d){if(H(d)=="L"||d===O){F O}u e2=B.1D.e3;F[e2(d.e1()+1),e2(d.e0()),d.dZ()].2b("/")};B.1D.kn=G(d){if(H(d)=="L"||d===O){F O}F[d.e1()+1,d.e0(),d.dZ()].2b("/")};B.1D.1z=["ks","kr","dY","kq","dX","kp","ko","kn"];B.1D.1W=[];B.1D.2k={":3e":B.1D.1z,":1p":B.1D.1z};B.1D.2d=G(){u 2w=D.1r+".";R(u k in D){u o=D[k];if(H(o)=="G"&&H(o.1r)=="L"){1f{o.1r=2w+k}1e(e){}}}};B.1D.2d();if(H(B.J)!="L"){B.J.2Y(D,B.1D)}N{(G(km,dW){if((H(1x)=="L"&&H(1q)=="L")||(H(B.3d)=="5L"&&B.3d)){u 1p=dW.2k[":1p"];R(u i=0;i<1p.K;i++){km[1p[i]]=dW[1p[i]]}}})(D,B.1D)}if(H(1q)!="L"){1q.2X("B.1s")}if(H(B)=="L"){B={}}if(H(B.1s)=="L"){B.1s={}}B.1s.1r="B.1s";B.1s.1Y="1.3.1";B.1s.1K=G(){F"["+D.1r+" "+D.1Y+"]"};B.1s.1l=G(){F D.1K()};B.1s.ke=G(kl,kk,kj,ki,kh,dV,kg,9N,kf){F G(1P){1P=4M(1P);if(H(1P)=="L"||1P===O||k8(1P)){F kl}u 9L=kk;u 9K=kj;if(1P<0){1P=-1P}N{9L=9L.23(/-/,"")}u me=M.2U;u 9M=B.1s.dJ(ki);if(kh){1P=1P*3k;9K=9M.9y+9K}1P=B.1s.dK(1P,dV);u 9O=1P.2R(/\\./);u 3r=9O[0];u 3P=(9O.K==1)?"":9O[1];u X="";1M(3r.K9N){u i=3r.K-9N;X=9M.9A+3r.2W(i,3r.K)+X;3r=3r.2W(0,i)}}X=3r+X;if(dV>0){1M(3P.K=0)){D.9u()}},jR:G(X){D.9x(X);D.jX()},9x:G(X){D.2H=((X 2C 2x)?1:0);D.53[D.2H]=X;D.9u()},dD:G(){if(D.2H!=-1){if(!D.7l){14 Y B.1k.dj(D)}D.7l=1m;F}},3o:G(X){D.dD();if(X 2C B.1k.2t){14 Y 2x("2t jW 9v aB be 7r if jV jU jT jS of a 3o")}D.9x(X)},52:G(X){D.dD();u I=B.1k;if(X 2C I.2t){14 Y 2x("2t jW 9v aB be 7r if jV jU jT jS of a 3o")}if(!(X 2C 2x)){X=Y I.9p(X)}D.9x(X)},jP:G(fn){if(M.K>1){fn=B.J.2z.1w(O,M)}F D.9w(fn,fn)},5Q:G(fn){if(M.K>1){fn=B.J.2z.1w(O,M)}F D.9w(fn,O)},jA:G(fn){if(M.K>1){fn=B.J.2z.1w(O,M)}F D.9w(O,fn)},9w:G(cb,eb){if(D.7r){14 Y 2x("uQ uP 9v 2E be re-uO")}D.55.1c([cb,eb]);if(D.2H>=0){D.9u()}F D},9u:G(){u dC=D.55;u 56=D.2H;u X=D.53[56];u I=D;u cb=O;1M(dC.K>0&&D.54===0){u 2n=dC.2P();u f=2n[56];if(f===O){2V}1f{X=f(X);56=((X 2C 2x)?1:0);if(X 2C B.1k.2t){cb=G(X){I.jR(X)};D.jQ()}}1e(3O){56=1;if(!(3O 2C 2x)){3O=Y B.1k.9p(3O)}X=3O}}D.2H=56;D.53[56]=X;if(cb&&D.54){X.jP(cb);X.7r=1h}}};B.J.2l(B.1k,{dk:G(){F dB("("+M[0].jN+")")},dp:G(uN){u d=Y B.1k.2t();d.3o.1w(d,M);F d},9q:G(uM){u d=Y B.1k.2t();d.52.1w(d,M);F d},do:G(){u I=M.2U;if(!I.7q){u dy=[G(){F Y 7q()},G(){F Y dA("jO.dz")},G(){F Y dA("uL.dz")},G(){F Y dA("jO.dz.4.0")},G(){14 Y B.1k.dh("uK uJ 2E uI 7q")}];R(u i=0;i1){u m=B.J;u qs=m.dw.1w(O,m.1R(O,M,1));if(qs){5F+="?"+qs}}2s.cp("uB",5F,1h);F I.dl(2s)},jv:G(5F){u I=B.1k;u d=I.dn.1w(I,M);d=d.5Q(I.dk);F d},dm:G(jJ,dv){u d=Y B.1k.2t();u m=B.J;if(H(dv)!="L"){d.5Q(G(){F dv})}u jI=uA(m.1O("3o",d),28.8B(jJ*c5));d.7m=G(){1f{uz(jI)}1e(e){}};F d},ju:G(jH,1A){u m=B.J;u jG=m.2z.1w(m,m.1R(O,M,1));F B.1k.dm(jH).5Q(G(X){F jG()})}});B.1k.5O=G(){D.5S=[];D.4e=1m;D.id=D.7n()};B.1k.5O.1U={bX:B.1k.5O,uy:G(){d=Y B.1k.2t();if(D.4e){D.5S.1c(d)}N{D.4e=1h;d.3o(D)}F d},jF:G(){if(!D.4e){14 3p("ux to jF an jE 5O")}D.4e=1m;if(D.5S.K>0){D.4e=1h;D.5S.2P().3o(D)}},7n:B.J.4f(),U:G(){u 9t;if(D.4e){9t="4e, "+D.5S.K+" 5S"}N{9t="jE"}F"5O("+D.id+", "+9t+")"},1l:B.J.24("U")};B.1k.7i=G(2G,du,jC,jB,jD){D.2G=2G;D.9r=Y 7o(D.2G.K);D.55=[];D.id=D.7n();D.2H=-1;D.54=0;D.53=[O,O];D.7m=jD;D.7l=1m;if(D.2G.K===0&&!du){D.3o(D.9r)}D.dr=0;D.jz=du;D.jy=jC;D.jx=jB;u 9s=0;B.J.2r(B.J.1O(G(d){d.5Q(B.J.1O(D.dt,D),9s,1h);d.jA(B.J.1O(D.dt,D),9s,1m);9s+=1},D),D.2G)};B.J.2l(B.1k.7i.1U,B.1k.2t.1U);B.J.2l(B.1k.7i.1U,{dt:G(ds,7k,5R){D.9r[ds]=[7k,5R];D.dr+=1;if(D.2H!==0){if(7k&&D.jz){D.3o([ds,5R])}N{if(!7k&&D.jy){D.52(5R)}N{if(D.dr==D.2G.K){D.3o(D.9r)}}}}if(!7k&&D.jx){5R=O}F 5R}});B.1k.jt=G(jw){u d=Y B.1k.7i(jw,1m,1h,1m);d.5Q(G(dq){u 7j=[];R(u i=0;i=0){u 9m=Q.1S[Q.j4];7d.1c(1b);7c.1c((9m.3m)?9m.3m:9m.7X);F O}7d.1c(1b);7c.1c("");F O}if(4Y=="cu"||4Y=="P"||4Y=="8d"||4Y=="6m"){F Q.5h}7d.1c(1b);7c.1c(Q.3m||"");F O}F Q.5h});F[7d,7c]},94:G(1N,1A){u I=B.S;u d3=I.1Z;u W;1f{I.1Z=1N;W=1A()}1e(e){I.1Z=d3;14 e}I.1Z=d3;F W},j3:G(1b,j2,3y,j1){B.S.9b.5M(1b,j2,3y,j1)},9k:G(1j,7a){u im=B.15;u I=B.S;u 1Q=im.1Q;u iY=im.7b;u 4c=im.4c;u iX=I.9b;u iZ=I.9k;u iW=B.J.4d;1M(1h){if(H(1j)=="L"||1j===O){F O}if(H(1j.3T)!="L"&&1j.3T>0){F 1j}if(H(1j)=="2y"||H(1j)=="5L"){1j=1j.1l()}if(H(1j)=="1n"){F I.1Z.4S(1j)}if(H(1j.j0)=="G"){1j=1j.j0(7a);2V}if(H(1j)=="G"){1j=1j(7a);2V}u 9l=O;1f{9l=1Q(1j)}1e(e){}if(9l){F 4c(iZ,9l,iY(7a))}1f{1j=iX.3C(1j,7a);2V}1e(e){if(e!=iW){14 e}}F I.1Z.4S(1j.1l())}F L},iV:G(1j,79,iU){u o={};o[79]=iU;1f{F B.S.4X(1j,o)}1e(e){}F O},iT:G(1j,79){u I=B.S;u d2=I.4U.99[79];1j=I.1E(1j);1f{if(d2){F 1j[d2]}F 1j.fm(79)}1e(e){}F O},4X:G(1j,5K){u Q=1j;u I=B.S;if(H(1j)=="1n"){Q=I.1E(1j)}if(5K){u d0=B.J.8Z;if(I.4U.6X){R(u k in 5K){u v=5K[k];if(H(v)=="3n"&&H(Q[k])=="3n"){d0(Q[k],v)}N{if(k.2W(0,2)=="on"){if(H(v)=="1n"){v=Y cZ(v)}Q[k]=v}N{Q.4p(k,v)}}}}N{u iS=I.4U.99;R(k in 5K){v=5K[k];u d1=iS[k];if(k=="1T"&&H(v)=="1n"){Q.1T.3x=v}N{if(H(d1)=="1n"){Q[d1]=v}N{if(H(Q[k])=="3n"&&H(v)=="3n"){d0(Q[k],v)}N{if(k.2W(0,2)=="on"){if(H(v)=="1n"){v=Y cZ(v)}Q[k]=v}N{Q.4p(k,v)}}}}}}}F Q},9j:G(1j){u Q=1j;u I=B.S;if(H(1j)=="1n"){Q=I.1E(1j)}u 78=[I.9k(B.J.1R(O,M,1),Q)];u iR=B.J.2o;1M(78.K){u n=78.2P();if(H(n)=="L"||n===O){}N{if(H(n.3T)=="2y"){Q.2c(n)}N{78=iR(n,78)}}}F Q},iQ:G(1j){u Q=1j;u I=B.S;if(H(1j)=="1n"){Q=I.1E(1j);M[0]=Q}u cY;1M((cY=Q.6n)){Q.6S(cY)}if(M.K<2){F Q}N{F I.9j.1w(D,M)}},cX:G(1b,4b){u Q;u I=B.S;u m=B.J;if(H(4b)=="1n"||H(4b)=="2y"){u 3G=m.1R([1b,O],M,1);F M.2U.1w(D,3G)}if(H(1b)=="1n"){if(4b&&"1b"in 4b&&!I.4U.6X){1b=("<"+1b+" 1b=\\""+I.9c(4b.1b)+"\\">")}Q=I.1Z.2S(1b)}N{Q=1b}if(4b){I.4X(Q,4b)}if(M.K<=2){F Q}N{u 3G=m.1R([Q],M,2);F I.9j.1w(D,3G)}},cw:G(){u m=B.J;F m.2z.1w(D,m.1R([B.S.cX],M))},cs:G(5J,1d){u I=B.S;5J=I.1E(5J);u cW=5J.3t;if(1d){1d=I.1E(1d);cW.uj(1d,5J)}N{cW.6S(5J)}F 1d},1E:G(id){u I=B.S;if(M.K==1){F((H(id)=="1n")?I.1Z.hN(id):id)}N{F B.J.2r(I.1E,M)}},4q:G(iP,cV,cU){if(M.K==2){cU=cV}u I=B.S;u el=I.1E(iP);u 77=I.1Z;if(!el||el==77){F L}if(el.iO){F el.iO[cV]}if(H(77.5k)=="L"){F L}if(77.5k===O){F L}u 9i=77.5k.g4(el,O);if(H(9i)=="L"||9i===O){F L}F 9i.6q(cU)},aH:G(76,9g,4W){u I=B.S;if(H(76)=="L"||76===O){76="*"}if(H(4W)=="L"||4W===O){4W=I.1Z}4W=I.1E(4W);u 9h=(4W.fr(76)||I.1Z.1p);if(H(9g)=="L"||9g===O){F B.J.1R(O,9h)}u cR=[];R(u i=0;i<9h.K;i++){u cS=9h[i];u cT=cS.3M.2R(" ");R(u j=0;j/g,">")},iB:G(2q){F B.S.cG(2q).2b("")},cG:G(2q,1g){if(H(1g)=="L"||1g===O){1g=[]}u 70=[2q];u I=B.S;u cB=I.9c;u iA=I.4U;1M(70.K){2q=70.hP();if(H(2q)=="1n"){1g.1c(2q)}N{if(2q.3T==1){1g.1c("<"+2q.cD.8G());u 71=[];u cF=iA(2q);R(u i=0;i");70.1c(""+2q.cD.8G()+">");u cC=2q.5h;R(i=cC.K-1;i>=0;i--){70.1c(cC[i])}}N{1g.1c("/>")}}N{if(2q.3T==3){1g.1c(cB(2q.iv))}}}}F 1g},97:G(ix,cA){u m=B.J;u iy=m.1R(O,M,1);B.15.9a(m.47(O,m.2r(B.S.1E,iy)),G(cA){cA.1T.3u=ix})},iw:G(1j,iu){u W=[];(G(1j){u cn=1j.5h;if(cn){R(u i=0;i0){u it=m.47;2T=G(1j){F it(2T.ir,1j.6Y)};2T.cx={};B.15.9a(6Z.6Y,G(a){2T.cx[a.1b]=a.3m});2T.ir=G(a){F(2T.cx[a.1b]!=a.3m)};2T.6X=1m;2T.99={"iq":"3M","ip":"ud","uc":"ub","R":"u9"}}N{2T=G(1j){F 1j.6Y};2T.6X=1h;2T.99={}}D.4U=2T;u 1C=D.cw;D.io=1C("ul");D.il=1C("ol");D.ik=1C("li");D.ij=1C("td");D.cm=1C("tr");D.ii=1C("u8");D.ih=1C("u7");D.ig=1C("u6");D.ie=1C("u5");D.ic=1C("th");D.cv=1C("ck");D.8d=1C("cj");D.A=1C("a");D.6m=1C("4u");D.ib=1C("u4");D.ia=1C("2e");D.i9=1C("tt");D.i8=1C("4O");D.i7=1C("h1");D.i6=1C("h2");D.i5=1C("h3");D.i4=1C("br");D.i3=1C("hr");D.i2=1C("u3");D.i1=1C("u2");D.cu=1C("u1");D.P=1C("p");D.ct=1C("u0");D.i0=1C("hJ");D.hZ=1C("tZ");D.hY=1C("tY");D.hX=1C("tX");D.hW=1C("tW");D.hV=1C("tV");D.hU=m.2z(D.97,"98");D.hT=m.2z(D.97,"8c");D.hS=D.cs;D.$=D.1E;D.2k={":3e":D.1z,":1p":m.2o(D.1z,D.1W)};m.3f(D)}});B.S.2d(((H(2O)=="L")?D:2O));if(!B.3d){95=B.S.95;94=B.S.94}B.J.2Y(D,B.S);if(H(1q)!="L"){1q.2X("B.1I");1q.2M("B.1H");1q.2M("B.J")}if(H(1x)!="L"){1x.26("B.1H",[]);1x.26("B.J",[])}1f{if(H(B.J)=="L"||H(B.1H)=="L"){14""}}1e(e){14"B.1I 3F on B.J 3W B.1H!"}if(H(B.1I)=="L"){B.1I={}}B.1I.1r="B.1I";B.1I.1Y="1.3.1";B.1I.1K=G(){F"["+D.1r+" "+D.1Y+"]"};B.1I.1l=G(){F D.1K()};B.1I.bY=G(6W){u m=B.1I;6W=!(!6W);if(m.3l&&m.3l.8Q!=6W){m.3l.hA();m.3l=O}if(!m.3l||m.3l.8P){m.3l=Y m.1I(6W,B.1H.2L)}F m.3l};B.1I.1I=G(4R,6V){if(H(6V)=="L"||6V===O){6V=B.1H.2L}D.2L=6V;u tU=B.J.2l;u c3=B.J.8Z;u 1O=B.J.1O;u hM=B.J.4L;u 2m=2O;u 6U="tT";if(H(B.S)!="L"){2m=B.S.cr()}if(!4R){u 5F=2m.tS.tR.2R("?")[0].23(/[:\\/.><&]/g,"hR");u 1b=6U+"hR"+5F;u 5D=2m.cp("",1b,"tQ,tP,3V=hQ");if(!5D){cq("tO tN to cp tM 2O tL to hP-up tK.");F L}5D.2v.fl(""+"<5E><8Y>[B.1I]8Y>5E>"+"<5s>5s>");5D.2v.hG();5D.2v.8Y+=" "+2m.2v.8Y;2m=5D}u 1N=2m.2v;D.1N=1N;u 21=1N.hN(6U);u c4=!!21;if(21&&H(21.5B)!="L"){21.5B.2L=D.2L;21.5B.6K();F 21.5B}if(c4){u cl;1M((cl=21.6n)){21.6S(cl)}}N{21=1N.2S("4u");21.id=6U}21.5B=D;u 8T=1N.2S("ck");u 8S=1N.2S("ck");u 6O=1N.2S("2e");u 6N=1N.2S("2e");u 6M=1N.2S("2e");u 6L=1N.2S("2e");u 3L=1N.2S("4u");u 42=1N.2S("4u");u 8U=6U+"tz";D.8N=hM(D.8N);u 4T=[];u 6R=O;u cf=G(1t){u 6T=1t.3N;if(H(6T)=="2y"){6T=B.1H.5C[6T]}F 6T};u cd=G(1t){F 1t.3z.2b(" ")};u ca=1O(G(1t){u 8W=cf(1t);u 7X=cd(1t);u c=D.8N[8W];u p=1N.2S("cj");p.3M="B-49 B-5C-"+8W;p.1T.3x="ty: 2N; 4F-8X: -hL-4O-3y; 4F-8X: -o-4O-3y; 4F-8X: 4O-3y; 4F-8X: 4O-tx; hK-3y: 2K-hK; 3y-hJ: tw; 3U: "+c;p.2c(1N.4S(8W+": "+7X));42.2c(p);42.2c(1N.2S("br"));if(3L.ci>3L.hI){3L.4C=0}N{3L.4C=3L.hI}},D);u hD=G(1t){4T[4T.K]=1t;ca(1t)};u hF=G(){u cg,ce;1f{cg=Y 8V(8T.3m);ce=Y 8V(8S.3m)}1e(e){ch("2x in 47 tv: "+e.43);F O}F G(1t){F(cg.hH(cf(1t))&&ce.hH(cd(1t)))}};u cc=G(){1M(42.6n){42.6S(42.6n)}};u hB=G(){4T=[];cc()};u bZ=1O(G(){if(D.8P){F}D.8P=1h;if(B.1I.3l==D){B.1I.3l=O}D.2L.c9(8U);21.5B=O;if(4R){21.3t.6S(21)}N{D.2m.hG()}},D);u c7=G(){cc();R(u i=0;i<4T.K;i++){u 1t=4T[i];if(6R===O||6R(1t)){ca(1t)}}};D.6K=G(){6R=hF();c7();D.2L.c9(8U);D.2L.hE(8U,6R,hD)};u c0=1O(G(){4T=D.2L.c8();c7()},D);u c2=1O(G(6Q){6Q=6Q||2O.6D;2h=6Q.6w||6Q.8t;if(2h==13){D.6K()}},D);u 31="3u: 8c; z-c6: c5; 2I: 2N; 6f: 2N; 6P: tu; 5A: 3k%; he-3U: 4F; c1: "+D.8O;if(4R){31+="; 3V: ts; 3E-3D: fO 8a 8y"}N{31+="; 3V: 3k%;"}21.1T.3x=31;if(!c4){1N.5s.2c(21)}31={"3x":"5A: 33%; 3u: 8Q; c1: "+D.8O};c3(8T,{"3m":"8L|8M|8K|8J|8I","hC":c2,"1T":31});21.2c(8T);c3(8S,{"3m":".*","hC":c2,"1T":31});21.2c(8S);31="5A: 8%; 3u:8Q; c1: "+D.8O;6O.2c(1N.4S("tq"));6O.8R=1O("6K",D);6O.1T.3x=31;21.2c(6O);6N.2c(1N.4S("tp"));6N.8R=c0;6N.1T.3x=31;21.2c(6N);6M.2c(1N.4S("tn"));6M.8R=hB;6M.1T.3x=31;21.2c(6M);6L.2c(1N.4S("tm"));6L.8R=bZ;6L.1T.3x=31;21.2c(6L);3L.1T.3x="fS: tk; 5A: 3k%";42.1T.3x="5A: 3k%; 3V: "+(4R?"tj":"3k%");3L.2c(42);21.2c(3L);D.6K();c0();if(4R){D.2m=L}N{D.2m=2m}D.8Q=4R;D.hA=bZ;D.8P=1m;F D};B.1I.1I.1U={"8O":"ti tg,tf-te","8N":{"8M":"1v","8L":"gU","8K":"1F","8J":"8y","8I":"bx"}};B.1I.1W=["1I"];B.1I.1z=["bY"];B.1I.2d=G(){D.2k={":3e":D.1z,":1p":B.J.2o(D.1z,D.1W)};B.J.3f(D);B.1I.3l=O};B.1I.2d();B.J.2Y(D,B.1I);if(H(1q)!="L"){1q.2X("B.V");1q.2M("B.J")}if(H(1x)!="L"){1x.26("B.J",[])}1f{if(H(B.J)=="L"){14""}}1e(e){14"B.V 3F on B.J"}if(H(B.V)=="L"){B.V={}}B.V.1r="B.V";B.V.1Y="1.3.1";B.V.1K=G(){F"["+D.1r+" "+D.1Y+"]"};B.V.1l=G(){F D.1K()};B.V.V=G(1v,hz,1F,6J){if(H(6J)=="L"||6J===O){6J=1}D.1B={r:1v,g:hz,b:1F,a:6J}};B.V.V.1U={bX:B.V.V,tc:G(hy){u 1B=D.1B;u m=B.V;F m.V.3Y(1B.r,1B.g,1B.b,hy)},tb:G(1o){u 1G=D.41();1G.h=1o;u m=B.V;F m.V.4H(1G)},ta:G(hx){u 1G=D.41();1G.s=hx;u m=B.V;F m.V.4H(1G)},t9:G(hw){u 1G=D.41();1G.l=hw;u m=B.V;F m.V.4H(1G)},t8:G(hv){u 1G=D.41();1G.l=28.29(1G.l-hv,0);u m=B.V;F m.V.4H(1G)},t7:G(hu){u 1G=D.41();1G.l=28.2a(1G.l+hu,1);u m=B.V;F m.V.4H(1G)},fJ:G(ht,5z){if(H(5z)=="L"||5z===O){5z=0.5}u sf=1-5z;u s=D.1B;u d=ht.1B;u df=5z;F B.V.V.3Y((s.r*sf)+(d.r*df),(s.g*sf)+(d.g*df),(s.b*sf)+(d.b*df),(s.a*sf)+(d.a*df))},h4:G(hs){u a=D.6r();u b=hs.6r();F B.J.2f([a.r,a.g,a.b,a.a],[b.r,b.g,b.b,b.a])},hq:G(){F D.41().b>0.5},t6:G(){F(!D.hq())},t5:G(){u c=D.41();u 2Z=B.V.6F;u W=D.ho;if(!W){u 5y=(2Z(c.h,bF).6I(0)+","+2Z(c.s,3k).hp(4)+"%"+","+2Z(c.l,3k).hp(4)+"%");u a=c.a;if(a>=1){a=1;W="1G("+5y+")"}N{if(a<=0){a=0}W="t4("+5y+","+a+")"}D.ho=W}F W},hl:G(){u c=D.1B;u 2Z=B.V.6F;u W=D.hn;if(!W){u 5y=(2Z(c.r,3h).6I(0)+","+2Z(c.g,3h).6I(0)+","+2Z(c.b,3h).6I(0));if(c.a!=1){W="t3("+5y+","+c.a+")"}N{W="1B("+5y+")"}D.hn=W}F W},6r:G(){F B.J.4L(D.1B)},t2:G(){u m=B.V;u c=D.1B;u 2Z=B.V.6F;u W=D.hm;if(!W){W=("#"+m.6E(2Z(c.r,3h))+m.6E(2Z(c.g,3h))+m.6E(2Z(c.b,3h)));D.hm=W}F W},t1:G(){u 2Q=D.2Q;u c=D.1B;if(H(2Q)=="L"||2Q===O){2Q=B.V.bA(D.1B);D.2Q=2Q}F B.J.4L(2Q)},41:G(){u 1G=D.1G;u c=D.1B;if(H(1G)=="L"||1G===O){1G=B.V.bC(D.1B);D.1G=1G}F B.J.4L(1G)},1l:G(){F D.hl()},U:G(){u c=D.1B;u hk=[c.r,c.g,c.b,c.a];F D.bX.1r+"("+hk.2b(", ")+")"}};B.J.2l(B.V.V,{3Y:G(1v,bW,1F,8H){u hj=B.V.V;if(M.K==1){u 1B=1v;1v=1B.r;bW=1B.g;1F=1B.b;if(H(1B.a)=="L"){8H=L}N{8H=1B.a}}F Y hj(1v,bW,1F,8H)},4H:G(1o,t0,sZ,sY){u m=B.V;F m.V.3Y(m.bB.1w(m,M))},sX:G(1o,sW,sV,sU){u m=B.V;F m.V.3Y(m.bz.1w(m,M))},hi:G(1b){u 8F=B.V.V;if(1b.3Z(0)=="\\""){1b=1b.3H(1,1b.K-2)}u bV=8F.by[1b.8G()];if(H(bV)=="1n"){F 8F.bT(bV)}N{if(1b=="aP"){F 8F.sT()}}F O},8f:G(4Q){u I=B.V.V;u bU=4Q.3H(0,3);if(bU=="1B"){F I.h9(4Q)}N{if(bU=="1G"){F I.h8(4Q)}N{if(4Q.3Z(0)=="#"){F I.bT(4Q)}}}F I.hi(4Q)},bT:G(4P){if(4P.3Z(0)=="#"){4P=4P.2W(1)}u 8E=[];u i,5x;if(4P.K==3){R(i=0;i<3;i++){5x=4P.3H(i,1);8E.1c(3w(5x+5x,16)/3h)}}N{R(i=0;i<6;i+=2){5x=4P.3H(i,2);8E.1c(3w(5x,16)/3h)}}u bS=B.V.V;F bS.3Y.1w(bS,8E)},bG:G(4O,hf,hg,4N){if(4N.2A(4O)===0){4N=4N.2W(4N.2A("(",3)+1,4N.K-1)}u bR=4N.2R(/\\s*,\\s*/);u bP=[];R(u i=0;i0){F 8D}}F O},ba:G(Q){u 2F=B.V.V;F 2F.bN(Q,"aZ","he-3U")||2F.sN()},sM:G(Q){u 2F=B.V.V;F 2F.bN(Q,"3U","3U")||2F.sL()},sK:G(){F B.J.4L(B.V.V.by)}});B.J.2l(B.V,{6F:G(v,8C){v*=8C;if(v<0){F 0}N{if(v>8C){F 8C}N{F v}}},hc:G(n1,n2,1o){if(1o>6){1o-=6}N{if(1o<0){1o+=6}}u 2i;if(1o<1){2i=n1+(n2-n1)*1o}N{if(1o<3){2i=n2}N{if(1o<4){2i=n1+(n2-n1)*(4-1o)}N{2i=n1}}}F 2i},bz:G(1o,5w,3i,bM){if(M.K==1){u 2Q=1o;1o=2Q.h;5w=2Q.s;3i=2Q.v;bM=2Q.a}u 1v;u 3K;u 1F;if(5w===0){1v=0;3K=0;1F=0}N{u i=28.8B(1o*6);u f=(1o*6)-i;u p=3i*(1-5w);u q=3i*(1-(5w*f));u t=3i*(1-(5w*(1-f)));hd(i){3j 1:1v=q;3K=3i;1F=p;2K;3j 2:1v=p;3K=3i;1F=t;2K;3j 3:1v=p;3K=q;1F=3i;2K;3j 4:1v=t;3K=p;1F=3i;2K;3j 5:1v=3i;3K=p;1F=q;2K;3j 6:3j 0:1v=3i;3K=t;1F=p;2K}}F{r:1v,g:3K,b:1F,a:bM}},bB:G(1o,5v,3v,bL){if(M.K==1){u 1G=1o;1o=1G.h;5v=1G.s;3v=1G.l;bL=1G.a}u 1v;u 8A;u 1F;if(5v===0){1v=3v;8A=3v;1F=3v}N{u m2;if(3v<=0.5){m2=3v*(1+5v)}N{m2=3v+5v-(3v*5v)}u m1=(2*3v)-m2;u f=B.V.hc;u h6=1o*6;1v=f(m1,m2,h6+2);8A=f(m1,m2,h6);1F=f(m1,m2,h6-2)}F{r:1v,g:8A,b:1F,a:bL}},bA:G(1v,4K,1F,bK){if(M.K==1){u 1B=1v;1v=1B.r;4K=1B.g;1F=1B.b;bK=1B.a}u 29=28.29(28.29(1v,4K),1F);u 2a=28.2a(28.2a(1v,4K),1F);u 1o;u 8z;u hb=29;if(2a==29){1o=0;8z=0}N{u 6H=(29-2a);8z=6H/29;if(1v==29){1o=(4K-1F)/6H}N{if(4K==29){1o=2+((1F-1v)/6H)}N{1o=4+((1v-4K)/6H)}}1o/=6;if(1o<0){1o+=1}if(1o>1){1o-=1}}F{h:1o,s:8z,v:hb,a:bK}},bC:G(1v,4J,1F,bI){if(M.K==1){u 1B=1v;1v=1B.r;4J=1B.g;1F=1B.b;bI=1B.a}u 29=28.29(1v,28.29(4J,1F));u 2a=28.2a(1v,28.2a(4J,1F));u 1o;u 6G;u bJ=(29+2a)/2;u 4I=29-2a;if(4I===0){1o=0;6G=0}N{if(bJ<=0.5){6G=4I/(29+2a)}N{6G=4I/(2-29-2a)}if(1v==29){1o=(4J-1F)/4I}N{if(4J==29){1o=2+((1F-1v)/4I)}N{1o=4+((1v-4J)/4I)}}1o/=6;if(1o<0){1o+=1}if(1o>1){1o-=1}}F{h:1o,s:6G,l:bJ,a:bI}},6E:G(1P){1P=28.ha(1P);u bH=1P.1l(16);if(1P<16){F"0"+bH}F bH},2d:G(){u m=B.J;D.V.h9=m.1O(D.V.bG,D.V,"1B","3Y",[1/3h,1/3h,1/3h,1]);D.V.h8=m.1O(D.V.bG,D.V,"1G","4H",[1/bF,0.bE,0.bE,1]);u 4G=1/3;u bD={8y:[0,0,0],1F:[0,0,1],gY:[0.6,0.4,0.2],gX:[0,1,1],sJ:[4G,4G,4G],gR:[0.5,0.5,0.5],bx:[0,1,0],sI:[2*4G,2*4G,2*4G],gN:[1,0,1],gL:[1,0.5,0],gK:[0.5,0,0.5],1v:[1,0,0],aP:[0,0,0,0],4F:[1,1,1],gI:[1,1,0]};u h7=G(1b,r,g,b,a){u W=D.3Y(r,g,b,a);D[1b]=G(){F W};F W};R(u k in bD){u 1b=k+"V";u h5=m.2o([h7,D.V,1b],bD[k]);D.V[1b]=m.1O.1w(O,h5)}u h0=G(){R(u i=0;i1){u 1d=B.S.1E(M[0]);u 2D=M[1];u 1i=M[2];u 1A=M[3];R(u i=5o.K-1;i>=0;i--){u o=5o[i];if(o[0]===1d&&o[1]===2D&&o[4]===1i&&o[5]===1A){I.6t(o);5o.4y(i,1);F 1h}}}N{u 5n=m.bi(5o,bh);if(5n>=0){I.6t(bh);5o.4y(5n,1);F 1h}}F 1m},8i:G(1d,2D){1d=B.S.1E(1d);u m=B.J;u 8l=m.bg(m.1R(O,M,1));u I=B.1u;u bd=I.6t;u 4z=I.4x;if(8l.K===0){R(u i=4z.K-1;i>=0;i--){u 4A=4z[i];if(4A[0]===1d){bd(4A);4z.4y(i,1)}}}N{u bf={};R(u i=0;i<8l.K;i++){bf[8l[i]]=1h}R(u i=4z.K-1;i>=0;i--){u 4A=4z[i];if(4A[0]===1d&&4A[1]in bf){bd(4A);4z.4y(i,1)}}}},8h:G(1d,2D){u bc=B.1u.4x;1d=B.S.1E(1d);u 3G=B.J.1R(O,M,2);u 5m=[];R(u i=0;i1){u e=Y 2x("mZ bb mY in mX \'2D\', mW bb mV");e.bb=5m;14 e}}}});B.1u.1W=[];B.1u.1z=["6s","8j","8h","8i"];B.1u.2d=G(2m){u m=B.J;D.1Z=2v;D.3X=2m;1f{D.6s(2O,"g8",D.g7)}1e(e){}D.2k={":3e":D.1z,":1p":m.2o(D.1z,D.1W)};m.3f(D)};B.1u.2d(D);if(!B.3d){6s=B.1u.6s;8j=B.1u.8j;8i=B.1u.8i;8h=B.1u.8h}B.J.2Y(D,B.1u);if(H(1q)!="L"){1q.2X("B.1X");1q.2M("B.J");1q.2M("B.S");1q.2M("B.V")}if(H(1x)!="L"){1x.26("B.J",[]);1x.26("B.S",[]);1x.26("B.V",[])}1f{if(H(B.J)=="L"||H(B.S)=="L"||H(B.V)=="L"){14""}}1e(e){14"B.1X 3F on B.J, B.S 3W B.V!"}if(H(B.1X)=="L"){B.1X={}}B.1X.1r="B.1X";B.1X.1Y="1.3.1";B.1X.1K=G(){F"["+D.1r+" "+D.1Y+"]"};B.1X.1l=G(){F D.1K()};B.1X.aI=G(e,g6){e=B.S.1E(e);D.fN(g6);if(D.1S.fL){e=D.g5(e)}u 4w=D.1S.3U;u C=B.V.V;if(D.1S.3U=="aW"){4w=C.ba(e)}N{if(!(4w 2C C)){4w=C.8f(4w)}}D.82=(4w.6r().a<=0);u 5l=D.1S.aV;if(D.1S.aV=="fM"){5l=C.ba(e.8g)}N{if(!(5l 2C C)){5l=C.8f(5l)}}D.g3(e,4w,5l)};B.1X.aI.1U={g5:G(e){u mU=e.3t;u 1N=B.S.b9();if(H(1N.5k)=="L"||1N.5k===O){F e}u 4v=1N.5k.g4(e,O);if(H(4v)=="L"||4v===O){F e}u b8=B.S.6m({"1T":{3u:"8c",mT:4v.6q("6p-3D"),85:4v.6q("6p-3g"),mS:4v.6q("6p-6f"),86:4v.6q("6p-2I"),6p:"2N"}});b8.6o=e.6o;e.6o="";e.2c(b8);F e},g3:G(e,b7,8e){if(D.1S.3E){D.g2(e,8e)}if(D.fy()){D.fX(e,b7,8e)}if(D.fx()){D.fV(e,b7,8e)}},g2:G(el,g1){u b6="6l 8a "+D.aQ(g1);u g0="3E-2I: "+b6;u fZ="3E-3g: "+b6;u fY="1T=\'"+g0+";"+fZ+"\'";el.6o="<4u "+fY+">"+el.6o+"4u>"},fX:G(el,fW,b5){u b4=D.b1(b5);R(u i=0;i=0;i--){b2.2c(D.b0(fU,b3,i,"6f"))}el.1T.mP=0;el.2c(b2)},b1:G(fT){u 2q=B.S;F 2q.6m({1T:{aZ:fT.1l()}})},b0:G(aY,fQ,n,aX){u 6k=B.S.8d();u 2p=6k.1T;2p.aZ=aY.1l();2p.3u="8c";2p.3V="6l";2p.fS="fR";2p.mO="6l";u 8b=D.aQ(aY,fQ);if(D.1S.3E&&n===0){2p.mN="8a";2p.mM="6l";2p.84="2N";2p.83="2N";2p.mL="2N";2p.3V="2N";2p.fP=8b.1l()}N{if(8b){2p.fP=8b.1l();2p.mK="8a";2p.mJ="2N 6l"}}if(!D.1S.4r&&(n==(D.1S.89-1))){2p.3V="fO"}D.fI(6k,n,aX);D.fG(6k,n,aX);F 6k},fN:G(fK){D.1S={6g:"1p",3U:"aW",aV:"fM",5j:1h,3E:1m,4r:1m,fL:1m};B.J.2l(D.1S,fK);D.1S.89=(D.1S.4r?2:4)},aL:G(){u 88=D.1S.6g;if(D.6h(88,"1p","3D")){F""}u aU=(88.2A("tl")!=-1);u aT=(88.2A("tr")!=-1);if(aU&&aT){F""}if(aU){F"2I"}if(aT){F"3g"}F""},aK:G(){u 87=D.1S.6g;if(D.6h(87,"1p","6f")){F""}u aS=(87.2A("bl")!=-1);u aR=(87.2A("br")!=-1);if(aS&&aR){F""}if(aS){F"2I"}if(aR){F"3g"}F""},aQ:G(aN,aO){if(aN=="aP"){F aO}N{if(D.1S.3E){F D.1S.3E}N{if(D.1S.5j){F aO.fJ(aN)}}}F""},fI:G(el,n,fH){u 6j=D.fE(n)+"px";u aM=(fH=="3D"?D.aL():D.aK());u 4t=el.1T;if(aM=="2I"){4t.86=6j;4t.85="2N"}N{if(aM=="3g"){4t.85=6j;4t.86="2N"}N{4t.86=6j;4t.85=6j}}},fG:G(el,n,fF){u 6i=D.fz(n)+"px";u aJ=(fF=="3D"?D.aL():D.aK());u 4s=el.1T;if(aJ=="2I"){4s.84=6i;4s.83="2N"}N{if(aJ=="3g"){4s.83=6i;4s.84="2N"}N{4s.84=6i;4s.83=6i}}},fE:G(n){if(D.82){F 0}u o=D.1S;if(o.4r&&o.5j){u fD=[1,0];F fD[n]}N{if(o.4r){u fC=[2,1];F fC[n]}N{if(o.5j){u fB=[3,2,1,0];F fB[n]}N{u fA=[5,3,2,1];F fA[n]}}}},fz:G(n){u o=D.1S;u 5i;if(o.4r&&(o.5j||D.82)){F 1}N{if(o.4r){5i=[1,0]}N{if(o.5j){5i=[2,1,1,1]}N{if(o.3E){5i=[0,2,0,0]}N{if(D.82){5i=[5,3,2,1]}N{F 0}}}}}F 5i[n]},6h:G(1y){R(u i=1;i7W>")}}})()}',62,1976,'||||||||||||||||||||||||||||||var|||||||MochiKit||this||return|function|typeof|self|Base|length|undefined|arguments|else|null||elem|for|DOM||repr|Color|rval|res|new||||||throw|Iter|||||next|name|push|src|catch|try|lst|true|obj|node|Async|toString|false|string|hue|all|dojo|NAME|Format|msg|Signal|red|apply|JSAN|str|EXPORT|func|rgb|_425|DateTime|getElement|blue|hsl|Logging|LoggingPane|type|__repr__|_event|while|doc|bind|num|iter|extend|options|style|prototype|seq|EXPORT_OK|Visual|VERSION|_document||_434||replace|forwardCall|StopIteration|use||Math|max|min|join|appendChild|__new__|button|compare|date|key|val|_329|EXPORT_TAGS|update|win|pair|concat|_596|dom|map|req|Deferred|sync|document|base|Error|number|partial|indexOf||instanceof|sig|not|cls|list|fired|left|stop|break|logger|require|0px|window|shift|hsv|split|createElement|_423|callee|continue|substring|provide|_exportSymbols|ccc||_464|||||||||step|pred|_51|__compat__|common|nameFunctions|right|255|_517|case|100|_loggingPane|value|object|callback|TypeError|_251|_246|_113|parentNode|display|_522|parseInt|cssText|wrap|info|isArrayLike|end|match|top|border|depends|args|substr|mouse|code|_519|_443|className|level|err|frac|Date|_135|_85|nodeType|color|height|and|_window|fromRGB|charAt||asHSL|_444|message||||filter||LogMessage|AdapterRegistry|_366|imap|NotFound|locked|counter|_262|_messages|operator|cmp|_165|_161|pairs|arr|_52|setAttribute|computedStyle|compact|_614|_610|div|_576|_572|_observers|splice|_565|_566|_555|scrollTop|page|modifier|white|_541|fromHSL|_539|_535|_528|clone|parseFloat|_505|pre|_499|_497|_427|createTextNode|_446|attributeArray|_388|_379|updateNodeAttributes|_341|_326||box|errback|results|paused|chain|_285||ofs||NamedError|_175|_147|_122|_83|_54|_17|childNodes|_619|blend|defaultView|_574|_569|idx|_562|must|_554|_specialKeys|body|Coordinates|registerComparator|_521|_516|hex|mid|_478|width|loggingPane|LogLevel|nwin|head|url|setElementClass|callStack|path|dest|_359|boolean|register|Dimensions|DeferredLock|_313|addCallback|_310|waiting|onreadystatechange|_290|LOCALE|year|printfire|_214|log|_213|_211|pos|_155|_153||typeMatcher|listMinMax|_114|_40|itr|typ|_19|_634|_625|bottom|corners|_hasString|_612|_608|_595|1px|DIV|firstChild|innerHTML|padding|getPropertyValue|asRGB|connect|_disconnect|_559|middle|which|clientY|scrollLeft|clientX|client|charCode|relatedTarget|event|toColorPart|clampColorComponent|_537|_534|toFixed|_468|buildAndApplyFilter|_442|_441|_440|_439|position|_463|_447|removeChild|_449|uid|_428|_426|compliant|attributes|_422|_409|_412|_400|_395|_390|_389|_377|_375|_363|attr|ctx|repeat|_340|_339|isNotEmpty|_335|_333|opera|DeferredList|ret|_309|silentlyCancelled|canceller|_nextId|Array|_293|XMLHttpRequest|chained|_281|tail|_252|_225|msec|day|month|iso|Logger|_208|listeners|_200|_198|_194|_196|reduce|range|_169|_162|truth|registerRepr|_121|_70|_58|_56|_47|_45|_41|_13|_1|script|text|uri|documentElement|_630|_629|isTransparent|borderRightWidth|borderLeftWidth|marginRight|marginLeft|_602|_599|numSlices|solid|_597|block|SPAN|_579|fromString|offsetParent|signal|disconnectAll|disconnect|_570|_563|_557|preventDefault|stopPropagation|clientTop|clientLeft|pageY|pageX|keyCode|meta|ctrl|alt|target|black|_532|_524|floor|_513|_512|_500|_495|toLowerCase|_487|DEBUG|INFO|WARNING|FATAL|ERROR|colorTable|logFont|closed|inline|onclick|_438|_437|_445|RegExp|_452|space|title|updatetree|||||withDocument|withWindow||setDisplayForElement|none|renames|forEach|domConverters|escapeHTML|addElementClass|removeElementClass|once|_378|_380|_376|appendChildNodes|coerceToDOM|_355|opt|clientWidth|opacity|GenericError|fail|resultList|_307|_301|_fire|can|addCallbacks|_resback|percent|decimal|separator|twoDigitFloat|_274|_273|_264|_257|_250|_249|_254|_248|_243|_242|fmt|_240|_245|getTime|sec|hour|_209|slice|_206|iterateNextIter|registerIteratorFactory|arrayLikeIter|iteratorRegistry|takewhile|ifilterfalse|ifilter|_181|_176|_168|_166|_159|_tee|deque|arg|fun|jsonRegistry|reprString|reprRegistry|comparatorRegistry|urlEncode|_110|_108|cur|_95|_87|_71|im_preargs||_53|_57|_46|present|like|array|Argument|_15|_12|_632|_631|_633|SUBMODULES|only|_628|_627|_626|roundElement|_624|getElementsByTagAndClassName|_RoundCorners|_613|_whichSideBottom|_whichSideTop|_609|_605|_606|transparent|_borderColor|_604|_603|_601|_600|bgColor|fromElement|_594|_592|backgroundColor|_createCornerSlice|_createCorner|_590|_589|_587|_586|_581|_578|_577|currentDocument|fromBackground|errors|_568|_564||sigs|flattenArguments|_561|findIdentical|_560|_558||_556|attachEvent|addEventListener|funcOrStr|Event||_548|fromCharCode|String|_specialMacKeys|any|green|_namedColors|hsvToRGB|rgbToHSV|hslToRGB|rgbToHSL|_542|01|360|_fromColorString|_540|_536|_538|_529|_523|_518|fromComputedStyle|_511|_507|_508|_506|_501|fromHexString|_498|_496|_486|__class__|createLoggingPane|_459|_461|font|_462|_430|_435|1000|index|_460|getMessages|removeListener|_451||_457|_450|infore|_448|_456|logDebug|offsetHeight|span|input|_436|TR||HTML|open|alert|currentWindow|swapDOM|SELECT|FORM|INPUT|createDOMFunc|ignoreAttr|_421|call|_417|_410|_415|nodeName|_414|_413|emitHTML|good|_406|_399|_397|_393|_392|addLoadEvent|addToCallStack|_387|_386|_381|_382|_383|_373|_372|_369|createDOM|_365|Function|_360|_362|_358|_344|nodeWalk|formContents|_337|_338|_334|_332|offsetTop|offsetLeft|visibility|parentElement|||XMLHttpRequestError|BrowserComplianceError|CancelledError|AlreadyCalledError|evalJSONRequest|sendXMLHttpRequest|wait|doSimpleXMLHttpRequest|getXMLHttpRequest|succeed|_312|finishedCount|_308|_cbDeferred|_303|_297|queryString|_nothing|_289|XMLHTTP|ActiveXObject|eval|_284|_check|error|_279|default|rstrip|lstrip|formatLocale|roundToFixed|truncToFixed|_276|pow|_272|_271|_270|sign|_265|_263|tmp|_238|_232|toISODate|toISOTime|getFullYear|getDate|getMonth|_230|_padTwo|_228|useNativeConsole|_212|compareLogMessage|isLogMessage|unshift|_207||maxSize|_202|_199|logLevelAtLeast|console|hasIterateNext|iterateNext|arrayLike|groupby||exhaust|tee|dropwhile|applymap||islice|izip|cycle|count||_189|_188|_183|_185|_184|_186|_187|_182|identity|fetch|_180|_177|listMin|reprNumber|reprArrayLike|compareArrayLike|compareDateLike|isDateLike|findValue|_128|__export__|keyComparator|_124|_118|_93|_94|_90|_88|_84|_77|_68|_67|_66|_65|_60|im_func|_55|im_self|_48|_44|_42|_39|_36|_33|_27|_26|_25|_22|_24|_20|javascript|write|getAttribute||org|www|http|getElementsByTagName|roundClass|_623|_622|_621|_620|_isBottomRounded|_isTopRounded|_borderSize|_618|_617|_616|_615|_marginSize|_611|_setBorder|_607|_setMargin|blendedColor|_598|__unstable__wrapElement|fromParent|_setOptions|2px|borderColor|_593|hidden|overflow|_591|_588|_roundBottomCorners|_585|_roundTopCorners|_584|_583|_582|_580|_renderBorder|_roundCornersImpl|getComputedStyle|_doWrap|_571|_unloadCache|onunload|detachEvent|removeEventListener|_listener|objOrFunc|_552||_551|_549|onload|delete|112|KEY_F|KEY_|MINUS|KEY_SEMICOLON|KEY_DELETE|KEY_INSERT|KEY_ARROW_DOWN|KEY_ARROW_RIGHT|KEY_ARROW_UP||KEY_ARROW_LEFT|KEY_HOME|KEY_END|KEY_PAGE_DOWN|KEY_PAGE_UP|KEY_ENTER|KEY_NUM_PAD_CLEAR|63236|mousemove|contextmenu|click|mouseout|mouseover|_src|yellow|708090|purple|orange|ff00ff|magenta|778899|d3d3d3|808080|gray|696969|2f4f4f|darkred|a9a9a9|00ffff|cyan|brown|_547|_546||||compareRGB|_545||_543|fromHSLString|fromRGBString|round|_533|_hslValue|switch|background|_503|_504||fromName|_488|col|toRGBString|_hexString|_rgbString|_hslString|toPrecision|isLight||_481|_477|_476|_475|_474|_473|_469|_466|closePane|_458|onkeypress|_454|addListener|_455|close|test|scrollHeight|option|word|moz|_431|getElementById|html|pop|200|_|removeElement|showElement|hideElement|CANVAS|STRONG|FIELDSET|LEGEND|OPTGROUP|OPTION|TEXTAREA|LABEL|HR|BR|H3|H2|H1|PRE|TT|BUTTON|IMG|TH||TABLE||TFOOT|THEAD|TBODY|TD|LI|OL|||UL|checked|class|ignoreAttrFilter||_424|_419|nodeValue|scrapeText|_416|_418|sort|_411|toHTML|_404|hasElementClass|_403|_402|_401|swapElementClass|_398|_394|toggleElementClass|_391|focusOnLoad|_newCallStack|currentStyle|_371|replaceChildNodes|_364|_361|getNodeAttribute|_357|setNodeAttribute|_354|_352|_350|_353|toDOM|_346|_345|registerDOMConverter|selectedIndex|setElementPosition|setElementDimensions|tagName|absolute|getBoxObjectFor|getBoundingClientRect|elementPosition|_325|_324|_322|_323|offsetWidth|elementDimensions|clientHeight|innerWidth|getViewportDimensions|setOpacity|status|_317|deferred|_316|_newNamedError|maybeDeferred||gatherResults|callLater|loadJSONDoc|_311|consumeErrors|fireOnOneErrback|fireOnOneCallback|addErrback|_305|_304|_306|unlocked|release|_300|_299|_298|_296|_xhr_onreadystatechange|_xhr_canceller|304|responseText|Msxml2|addBoth|_pause|_continue|result|the|are|they|instances|_unpause|cancel|_280|_278|en_US|strip|percentFormat|twoDigitAverage|numberFormatter|_277|_275|isNaN|_259|_258|_260|_255|_253|_numberFormatter|_241|_239|_237|_236|_235|_234|_233|_231|toAmericanDate|toPaddedAmericanDate|americanDate|toISOTimestamp|isoTimestamp|isoDate|foot|sep||60000|_221|_isoRegexp|dispatchEvent|createEvent|warning|logWarning|fatal|logFatal|debug|logError|baseLog|_210|getMessageText|logToConsole|dispatchListeners|_204|_203|ident|_201|postError|alertListener|_197|_192|groupby_as_array|iextend|some|reversed|sorted|every|sum|_190|eat|_174|_173|_172|_171|_167|_163|_158|_157|_151|_144|_141||_139|_136|_134||_133|_132|zip|merge|isUndefined|isCallable|listMax|_131|_130|encodeURIComponent||_127|method|parseQueryString|evalJSON|registerJSON|serializeJSON|objMin|objMax|reverseKeyComparator|arrayEqual|objEqual|bindMethods|xfilter|xmap|isEmpty|isNull|isUndefinedOrNull|itemgetter|items|keys|setdefault|_126|_120|decodeURIComponent|_119|len|_109|_107|_104|_105|_101|_102|_98|||_100|_97|_96|_91|json|__json__|_82|_81|_80|_79|_76||_75|_74|_73|_69|_primitives|_64|_63||_62|_61|_59|_wrapDumbFunction|_49|_50|_31|_30|_21|_7|application|MochiKit_|createElementNS|namespaceURI|lastIndexOf|xul|there|gatekeeper|keymaster|mozilla|getElementsComputedStyle|_hasSingleTextChild|borderWidth|borderStyle|borderBottomWidth|borderTopWidth|borderTopStyle|fontSize|paddingBottom|insertBefore|paddingTop|marginBottom|marginTop|_575|property|see|handling|thrown|Multiple|element|||given|123|KEY_NUM_PAD_|105|KEY_APOSTROPHE|222|KEY_RIGHT_SQUARE_BRACKET|221|KEY_REVERSE_SOLIDUS|220|KEY_LEFT_SQUARE_BRACKET||219|KEY_GRAVE_ACCENT|192|KEY_SOLIDUS|191|KEY_FULL_STOP|190|KEY_HYPHEN|189||KEY_COMMA|188|KEY_EQUALS_SIGN|187|186|KEY_SCROLL_LOCK|145|KEY_NUM_LOCK|144|KEY_NUM_PAD_SOLIDUS|111|KEY_NUM_PAD_FULL_STOP|110|KEY_NUM_PAD_HYPHEN|109|KEY_NUM_PAD_PLUS_SIGN|107|KEY_NUM_PAD_ASTERISK|106|KEY_SELECT|KEY_WINDOWS_RIGHT|KEY_WINDOWS_LEFT|KEY_PRINT_SCREEN|KEY_SPACEBAR|KEY_ESCAPE|KEY_CAPS_LOCK|KEY_PAUSE|KEY_ALT|KEY_CTRL|KEY_SHIFT|KEY_TAB|KEY_BACKSPACE|63242|63272|63302|63233|63235|63232|63234|63273|63275|63277|63276|63289|returnValue|cancelBubble|keypress|KEY_UNKNOWN|keyup|keydown|shiftKey|metaKey||ctrlKey|altKey|toElement|srcElement|9acd32||yellowgreen||ffff00|f5f5f5|whitesmoke||ffffff|f5deb3|wheat|ee82ee|violet|40e0d0|turquoise|ff6347|tomato|d8bfd8|thistle|008080|teal|d2b48c|tan|4682b4|steelblue|00ff7f|springgreen|fffafa|snow|slategrey|slategray|6a5acd|slateblue|87ceeb|skyblue|c0c0c0|silver|a0522d|sienna|fff5ee|seashell|2e8b57|seagreen|f4a460|sandybrown|fa8072|salmon|8b4513|saddlebrown|4169e1|royalblue|bc8f8f|rosybrown|ff0000|800080|b0e0e6|powderblue|dda0dd|plum|ffc0cb|pink|cd853f||peru|ffdab9|peachpuff|ffefd5|papayawhip|db7093|palevioletred|afeeee|paleturquoise|98fb98|palegreen|eee8aa||palegoldenrod|da70d6|orchid|ff4500|orangered|ffa500|6b8e23|olivedrab|808000|olive|fdf5e6|oldlace|000080|navy|ffdead|navajowhite|ffe4b5|moccasin|ffe4e1|mistyrose|f5fffa|mintcream|191970|midnightblue|c71585|mediumvioletred|48d1cc|mediumturquoise|00fa9a|mediumspringgreen|7b68ee|mediumslateblue|3cb371|mediumseagreen|9370db|mediumpurple|ba55d3|mediumorchid|0000cd|mediumblue|66cdaa|mediumaquamarine|800000|maroon|faf0e6|linen|32cd32|limegreen|00ff00|lime|ffffe0|lightyellow|b0c4de|lightsteelblue|lightslategrey|lightslategray||87cefa|lightskyblue|20b2aa|lightseagreen|ffa07a|lightsalmon|ffb6c1|lightpink|lightgrey|90ee90|lightgreen|lightgray|fafad2|lightgoldenrodyellow|e0ffff|lightcyan|f08080|lightcoral|add8e6|lightblue|fffacd|lemonchiffon|7cfc00|lawngreen|fff0f5|lavenderblush|e6e6fa|lavender|f0e68c|khaki|fffff0|ivory|4b0082|indigo|cd5c5c|indianred|ff69b4|hotpink|f0fff0|honeydew|grey|adff2f|greenyellow|008000|daa520|goldenrod|ffd700||gold|f8f8ff|ghostwhite|dcdcdc|gainsboro|fuchsia|228b22|forestgreen|fffaf0|floralwhite|b22222|firebrick|1e90ff|dodgerblue|dimgrey|dimgray|00bfff|deepskyblue|ff1493|deeppink|9400d3|darkviolet|00ced1|darkturquoise|darkslategrey|darkslategray|483d8b|darkslateblue|8fbc8f|darkseagreen|e9967a|darksalmon|8b0000|9932cc|darkorchid|ff8c00|darkorange|556b2f|darkolivegreen|8b008b|darkmagenta|bdb76b|darkkhaki|darkgrey|006400|darkgreen|darkgray|b8860b|darkgoldenrod|008b8b|darkcyan|00008b|darkblue|dc143c|crimson|fff8dc|cornsilk|6495ed|cornflowerblue|ff7f50|coral|d2691e||chocolate|7fff00|chartreuse|5f9ea0|cadetblue|deb887|burlywood|a52a2a|8a2be2|blueviolet|0000ff|ffebcd||blanchedalmond|000000|ffe4c4|bisque|f5f5dc|beige|f0ffff|azure|7fffd4|aquamarine|aqua|faebd7|antiquewhite|f0f8ff|aliceblue|lightGray|darkGray|namedColors|blackColor|fromText|whiteColor|_510|_509|PI|rad|deg|transparentColor|_494|_493|_492|fromHSV|_491|_490|_489|asHSV|toHexString|rgba|hsla|toHSLString|isDark|lighterColorWithLevel|darkerColorWithLevel|colorWithLightness|colorWithSaturation|colorWithHue|colorWithAlpha||serif|sans|Verdana||8pt|8em|auto||Close|Clear||Load|Filter||10em||fixed|regex|emergency|line|margin|_Listener|dtd|loose|html4|w3|EN|Transitional|DTD|W3C|PUBLIC|DOCTYPE|blocking|due|debugging|able|Not|resizable|dependent|href|location|_MochiKit_LoggingPane|_429|canvas|strong|fieldset|legend|optgroup|select|form|textarea|label|img|table|tfoot|thead|tbody|htmlFor||useMap|usemap|defaultChecked|hasChildNodes|quot|amp|_405|focus|replaceChild|checkbox||radio|_win|BODY||safari|version|userAgent|navigator|innerHeight|alpha|khtml|Tried|acquire|clearTimeout|setTimeout|GET|ignore|send|abort|failed|Request|readyState|support|does|Browser|Microsoft|_288|_287|used|Deferreds|Chained|success|unfired|fr_FR|de_DE|00|abs|search|pattern|Invalid|getTimezoneOffset|getSeconds|getMinutes|getHours|UTC|3600000|initEvent|Events|debuggingBookmarklet|MESSAGES|LAST|_205|clear|ninfo|nlevel|timestamp|reverse|takes|initial|with|sequence|empty|iterable|numbers|dateLike|escape|find|forward|unregister|unescape|Object|compared|item|contains|logor|logand|cle|clt|cge|cgt|cne|ceq|zrshift|rshift|lshift|xor|mul|mod|sub|add|neg|lognot|_9|_2'.split('|'),0,{})
+
+result += decompressedMochiKit.length;
+
+/*
+ * jQuery 1.2.1 - New Wave Javascript
+ *
+ * Copyright (c) 2007 John Resig (jquery.com)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * $Date: 2007-09-16 23:42:06 -0400 (Sun, 16 Sep 2007) $
+ * $Rev: 3353 $
+ */
+
+var decompressedJQuery = function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(G(){9(1m E!="W")H w=E;H E=18.15=G(a,b){I 6 7u E?6.5N(a,b):1u E(a,b)};9(1m $!="W")H D=$;18.$=E;H u=/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/;E.1b=E.3A={5N:G(c,a){c=c||U;9(1m c=="1M"){H m=u.2S(c);9(m&&(m[1]||!a)){9(m[1])c=E.4D([m[1]],a);J{H b=U.3S(m[3]);9(b)9(b.22!=m[3])I E().1Y(c);J{6[0]=b;6.K=1;I 6}J c=[]}}J I 1u E(a).1Y(c)}J 9(E.1n(c))I 1u E(U)[E.1b.2d?"2d":"39"](c);I 6.6v(c.1c==1B&&c||(c.4c||c.K&&c!=18&&!c.1y&&c[0]!=W&&c[0].1y)&&E.2h(c)||[c])},4c:"1.2.1",7Y:G(){I 6.K},K:0,21:G(a){I a==W?E.2h(6):6[a]},2o:G(a){H b=E(a);b.4Y=6;I b},6v:G(a){6.K=0;1B.3A.1a.16(6,a);I 6},N:G(a,b){I E.N(6,a,b)},4I:G(a){H b=-1;6.N(G(i){9(6==a)b=i});I b},1x:G(f,d,e){H c=f;9(f.1c==3X)9(d==W)I 6.K&&E[e||"1x"](6[0],f)||W;J{c={};c[f]=d}I 6.N(G(a){L(H b 1i c)E.1x(e?6.R:6,b,E.1e(6,c[b],e,a,b))})},17:G(b,a){I 6.1x(b,a,"3C")},2g:G(e){9(1m e!="5i"&&e!=S)I 6.4n().3g(U.6F(e));H t="";E.N(e||6,G(){E.N(6.3j,G(){9(6.1y!=8)t+=6.1y!=1?6.6x:E.1b.2g([6])})});I t},5m:G(b){9(6[0])E(b,6[0].3H).6u().3d(6[0]).1X(G(){H a=6;1W(a.1w)a=a.1w;I a}).3g(6);I 6},8m:G(a){I 6.N(G(){E(6).6q().5m(a)})},8d:G(a){I 6.N(G(){E(6).5m(a)})},3g:G(){I 6.3z(1q,Q,1,G(a){6.58(a)})},6j:G(){I 6.3z(1q,Q,-1,G(a){6.3d(a,6.1w)})},6g:G(){I 6.3z(1q,P,1,G(a){6.12.3d(a,6)})},50:G(){I 6.3z(1q,P,-1,G(a){6.12.3d(a,6.2q)})},2D:G(){I 6.4Y||E([])},1Y:G(t){H b=E.1X(6,G(a){I E.1Y(t,a)});I 6.2o(/[^+>] [^+>]/.14(t)||t.1g("..")>-1?E.4V(b):b)},6u:G(e){H f=6.1X(G(){I 6.67?E(6.67)[0]:6.4R(Q)});H d=f.1Y("*").4O().N(G(){9(6[F]!=W)6[F]=S});9(e===Q)6.1Y("*").4O().N(G(i){H c=E.M(6,"2P");L(H a 1i c)L(H b 1i c[a])E.1j.1f(d[i],a,c[a][b],c[a][b].M)});I f},1E:G(t){I 6.2o(E.1n(t)&&E.2W(6,G(b,a){I t.16(b,[a])})||E.3m(t,6))},5V:G(t){I 6.2o(t.1c==3X&&E.3m(t,6,Q)||E.2W(6,G(a){I(t.1c==1B||t.4c)?E.2A(a,t)<0:a!=t}))},1f:G(t){I 6.2o(E.1R(6.21(),t.1c==3X?E(t).21():t.K!=W&&(!t.11||E.11(t,"2Y"))?t:[t]))},3t:G(a){I a?E.3m(a,6).K>0:P},7c:G(a){I 6.3t("."+a)},3i:G(b){9(b==W){9(6.K){H c=6[0];9(E.11(c,"24")){H e=c.4Z,a=[],Y=c.Y,2G=c.O=="24-2G";9(e<0)I S;L(H i=2G?e:0,33=2G?e+1:Y.K;i<33;i++){H d=Y[i];9(d.26){H b=E.V.1h&&!d.9V["1Q"].9L?d.2g:d.1Q;9(2G)I b;a.1a(b)}}I a}J I 6[0].1Q.1p(/\\r/g,"")}}J I 6.N(G(){9(b.1c==1B&&/4k|5j/.14(6.O))6.2Q=(E.2A(6.1Q,b)>=0||E.2A(6.2H,b)>=0);J 9(E.11(6,"24")){H a=b.1c==1B?b:[b];E("9h",6).N(G(){6.26=(E.2A(6.1Q,a)>=0||E.2A(6.2g,a)>=0)});9(!a.K)6.4Z=-1}J 6.1Q=b})},4o:G(a){I a==W?(6.K?6[0].3O:S):6.4n().3g(a)},6H:G(a){I 6.50(a).28()},6E:G(i){I 6.2J(i,i+1)},2J:G(){I 6.2o(1B.3A.2J.16(6,1q))},1X:G(b){I 6.2o(E.1X(6,G(a,i){I b.2O(a,i,a)}))},4O:G(){I 6.1f(6.4Y)},3z:G(f,d,g,e){H c=6.K>1,a;I 6.N(G(){9(!a){a=E.4D(f,6.3H);9(g<0)a.8U()}H b=6;9(d&&E.11(6,"1I")&&E.11(a[0],"4m"))b=6.4l("1K")[0]||6.58(U.5B("1K"));E.N(a,G(){H a=c?6.4R(Q):6;9(!5A(0,a))e.2O(b,a)})})}};G 5A(i,b){H a=E.11(b,"1J");9(a){9(b.3k)E.3G({1d:b.3k,3e:P,1V:"1J"});J E.5f(b.2g||b.6s||b.3O||"");9(b.12)b.12.3b(b)}J 9(b.1y==1)E("1J",b).N(5A);I a}E.1k=E.1b.1k=G(){H c=1q[0]||{},a=1,2c=1q.K,5e=P;9(c.1c==8o){5e=c;c=1q[1]||{}}9(2c==1){c=6;a=0}H b;L(;a<2c;a++)9((b=1q[a])!=S)L(H i 1i b){9(c==b[i])6r;9(5e&&1m b[i]==\'5i\'&&c[i])E.1k(c[i],b[i]);J 9(b[i]!=W)c[i]=b[i]}I c};H F="15"+(1u 3D()).3B(),6p=0,5c={};E.1k({8a:G(a){18.$=D;9(a)18.15=w;I E},1n:G(a){I!!a&&1m a!="1M"&&!a.11&&a.1c!=1B&&/G/i.14(a+"")},4a:G(a){I a.2V&&!a.1G||a.37&&a.3H&&!a.3H.1G},5f:G(a){a=E.36(a);9(a){9(18.6l)18.6l(a);J 9(E.V.1N)18.56(a,0);J 3w.2O(18,a)}},11:G(b,a){I b.11&&b.11.27()==a.27()},1L:{},M:G(c,d,b){c=c==18?5c:c;H a=c[F];9(!a)a=c[F]=++6p;9(d&&!E.1L[a])E.1L[a]={};9(b!=W)E.1L[a][d]=b;I d?E.1L[a][d]:a},30:G(c,b){c=c==18?5c:c;H a=c[F];9(b){9(E.1L[a]){2E E.1L[a][b];b="";L(b 1i E.1L[a])1T;9(!b)E.30(c)}}J{2a{2E c[F]}29(e){9(c.53)c.53(F)}2E E.1L[a]}},N:G(a,b,c){9(c){9(a.K==W)L(H i 1i a)b.16(a[i],c);J L(H i=0,48=a.K;i<48;i++)9(b.16(a[i],c)===P)1T}J{9(a.K==W)L(H i 1i a)b.2O(a[i],i,a[i]);J L(H i=0,48=a.K,3i=a[0];i<48&&b.2O(3i,i,3i)!==P;3i=a[++i]){}}I a},1e:G(c,b,d,e,a){9(E.1n(b))b=b.2O(c,[e]);H f=/z-?4I|7T-?7Q|1r|69|7P-?1H/i;I b&&b.1c==4W&&d=="3C"&&!f.14(a)?b+"2T":b},1o:{1f:G(b,c){E.N((c||"").2l(/\\s+/),G(i,a){9(!E.1o.3K(b.1o,a))b.1o+=(b.1o?" ":"")+a})},28:G(b,c){b.1o=c!=W?E.2W(b.1o.2l(/\\s+/),G(a){I!E.1o.3K(c,a)}).66(" "):""},3K:G(t,c){I E.2A(c,(t.1o||t).3s().2l(/\\s+/))>-1}},2k:G(e,o,f){L(H i 1i o){e.R["3r"+i]=e.R[i];e.R[i]=o[i]}f.16(e,[]);L(H i 1i o)e.R[i]=e.R["3r"+i]},17:G(e,p){9(p=="1H"||p=="2N"){H b={},42,41,d=["7J","7I","7G","7F"];E.N(d,G(){b["7C"+6]=0;b["7B"+6+"5Z"]=0});E.2k(e,b,G(){9(E(e).3t(\':3R\')){42=e.7A;41=e.7w}J{e=E(e.4R(Q)).1Y(":4k").5W("2Q").2D().17({4C:"1P",2X:"4F",19:"2Z",7o:"0",1S:"0"}).5R(e.12)[0];H a=E.17(e.12,"2X")||"3V";9(a=="3V")e.12.R.2X="7g";42=e.7e;41=e.7b;9(a=="3V")e.12.R.2X="3V";e.12.3b(e)}});I p=="1H"?42:41}I E.3C(e,p)},3C:G(h,j,i){H g,2w=[],2k=[];G 3n(a){9(!E.V.1N)I P;H b=U.3o.3Z(a,S);I!b||b.4y("3n")==""}9(j=="1r"&&E.V.1h){g=E.1x(h.R,"1r");I g==""?"1":g}9(j.1t(/4u/i))j=y;9(!i&&h.R[j])g=h.R[j];J 9(U.3o&&U.3o.3Z){9(j.1t(/4u/i))j="4u";j=j.1p(/([A-Z])/g,"-$1").2p();H d=U.3o.3Z(h,S);9(d&&!3n(h))g=d.4y(j);J{L(H a=h;a&&3n(a);a=a.12)2w.4w(a);L(a=0;a<2w.K;a++)9(3n(2w[a])){2k[a]=2w[a].R.19;2w[a].R.19="2Z"}g=j=="19"&&2k[2w.K-1]!=S?"2s":U.3o.3Z(h,S).4y(j)||"";L(a=0;a<2k.K;a++)9(2k[a]!=S)2w[a].R.19=2k[a]}9(j=="1r"&&g=="")g="1"}J 9(h.3Q){H f=j.1p(/\\-(\\w)/g,G(m,c){I c.27()});g=h.3Q[j]||h.3Q[f];9(!/^\\d+(2T)?$/i.14(g)&&/^\\d/.14(g)){H k=h.R.1S;H e=h.4v.1S;h.4v.1S=h.3Q.1S;h.R.1S=g||0;g=h.R.71+"2T";h.R.1S=k;h.4v.1S=e}}I g},4D:G(a,e){H r=[];e=e||U;E.N(a,G(i,d){9(!d)I;9(d.1c==4W)d=d.3s();9(1m d=="1M"){d=d.1p(/(<(\\w+)[^>]*?)\\/>/g,G(m,a,b){I b.1t(/^(70|6Z|6Y|9Q|4t|9N|9K|3a|9G|9E)$/i)?m:a+">"+b+">"});H s=E.36(d).2p(),1s=e.5B("1s"),2x=[];H c=!s.1g("<9y")&&[1,"<24>","24>"]||!s.1g("<9w")&&[1,"<6T>","6T>"]||s.1t(/^<(9u|1K|9t|9r|9p)/)&&[1,"<1I>","1I>"]||!s.1g("<4m")&&[2,"<1I><1K>","1K>1I>"]||(!s.1g("<9m")||!s.1g("<9k"))&&[3,"<1I><1K><4m>","4m>1K>1I>"]||!s.1g("<6Y")&&[2,"<1I><1K>1K><6L>","6L>1I>"]||E.V.1h&&[1,"1s<1s>","1s>"]||[0,"",""];1s.3O=c[1]+d+c[2];1W(c[0]--)1s=1s.5p;9(E.V.1h){9(!s.1g("<1I")&&s.1g("<1K")<0)2x=1s.1w&&1s.1w.3j;J 9(c[1]=="<1I>"&&s.1g("<1K")<0)2x=1s.3j;L(H n=2x.K-1;n>=0;--n)9(E.11(2x[n],"1K")&&!2x[n].3j.K)2x[n].12.3b(2x[n]);9(/^\\s/.14(d))1s.3d(e.6F(d.1t(/^\\s*/)[0]),1s.1w)}d=E.2h(1s.3j)}9(0===d.K&&(!E.11(d,"2Y")&&!E.11(d,"24")))I;9(d[0]==W||E.11(d,"2Y")||d.Y)r.1a(d);J r=E.1R(r,d)});I r},1x:G(c,d,a){H e=E.4a(c)?{}:E.5o;9(d=="26"&&E.V.1N)c.12.4Z;9(e[d]){9(a!=W)c[e[d]]=a;I c[e[d]]}J 9(E.V.1h&&d=="R")I E.1x(c.R,"9e",a);J 9(a==W&&E.V.1h&&E.11(c,"2Y")&&(d=="9d"||d=="9a"))I c.97(d).6x;J 9(c.37){9(a!=W){9(d=="O"&&E.11(c,"4t")&&c.12)6G"O 94 93\'t 92 91";c.90(d,a)}9(E.V.1h&&/6C|3k/.14(d)&&!E.4a(c))I c.4p(d,2);I c.4p(d)}J{9(d=="1r"&&E.V.1h){9(a!=W){c.69=1;c.1E=(c.1E||"").1p(/6O\\([^)]*\\)/,"")+(3I(a).3s()=="8S"?"":"6O(1r="+a*6A+")")}I c.1E?(3I(c.1E.1t(/1r=([^)]*)/)[1])/6A).3s():""}d=d.1p(/-([a-z])/8Q,G(z,b){I b.27()});9(a!=W)c[d]=a;I c[d]}},36:G(t){I(t||"").1p(/^\\s+|\\s+$/g,"")},2h:G(a){H r=[];9(1m a!="8P")L(H i=0,2c=a.K;i<2c;i++)r.1a(a[i]);J r=a.2J(0);I r},2A:G(b,a){L(H i=0,2c=a.K;i<2c;i++)9(a[i]==b)I i;I-1},1R:G(a,b){9(E.V.1h){L(H i=0;b[i];i++)9(b[i].1y!=8)a.1a(b[i])}J L(H i=0;b[i];i++)a.1a(b[i]);I a},4V:G(b){H r=[],2f={};2a{L(H i=0,6y=b.K;i<6y;i++){H a=E.M(b[i]);9(!2f[a]){2f[a]=Q;r.1a(b[i])}}}29(e){r=b}I r},2W:G(b,a,c){9(1m a=="1M")a=3w("P||G(a,i){I "+a+"}");H d=[];L(H i=0,4g=b.K;i<4g;i++)9(!c&&a(b[i],i)||c&&!a(b[i],i))d.1a(b[i]);I d},1X:G(c,b){9(1m b=="1M")b=3w("P||G(a){I "+b+"}");H d=[];L(H i=0,4g=c.K;i<4g;i++){H a=b(c[i],i);9(a!==S&&a!=W){9(a.1c!=1B)a=[a];d=d.8M(a)}}I d}});H v=8K.8I.2p();E.V={4s:(v.1t(/.+(?:8F|8E|8C|8B)[\\/: ]([\\d.]+)/)||[])[1],1N:/6w/.14(v),34:/34/.14(v),1h:/1h/.14(v)&&!/34/.14(v),35:/35/.14(v)&&!/(8z|6w)/.14(v)};H y=E.V.1h?"4h":"5h";E.1k({5g:!E.V.1h||U.8y=="8x",4h:E.V.1h?"4h":"5h",5o:{"L":"8w","8v":"1o","4u":y,5h:y,4h:y,3O:"3O",1o:"1o",1Q:"1Q",3c:"3c",2Q:"2Q",8u:"8t",26:"26",8s:"8r"}});E.N({1D:"a.12",8q:"15.4e(a,\'12\')",8p:"15.2I(a,2,\'2q\')",8n:"15.2I(a,2,\'4d\')",8l:"15.4e(a,\'2q\')",8k:"15.4e(a,\'4d\')",8j:"15.5d(a.12.1w,a)",8i:"15.5d(a.1w)",6q:"15.11(a,\'8h\')?a.8f||a.8e.U:15.2h(a.3j)"},G(i,n){E.1b[i]=G(a){H b=E.1X(6,n);9(a&&1m a=="1M")b=E.3m(a,b);I 6.2o(E.4V(b))}});E.N({5R:"3g",8c:"6j",3d:"6g",8b:"50",89:"6H"},G(i,n){E.1b[i]=G(){H a=1q;I 6.N(G(){L(H j=0,2c=a.K;j<2c;j++)E(a[j])[n](6)})}});E.N({5W:G(a){E.1x(6,a,"");6.53(a)},88:G(c){E.1o.1f(6,c)},87:G(c){E.1o.28(6,c)},86:G(c){E.1o[E.1o.3K(6,c)?"28":"1f"](6,c)},28:G(a){9(!a||E.1E(a,[6]).r.K){E.30(6);6.12.3b(6)}},4n:G(){E("*",6).N(G(){E.30(6)});1W(6.1w)6.3b(6.1w)}},G(i,n){E.1b[i]=G(){I 6.N(n,1q)}});E.N(["85","5Z"],G(i,a){H n=a.2p();E.1b[n]=G(h){I 6[0]==18?E.V.1N&&3y["84"+a]||E.5g&&38.33(U.2V["5a"+a],U.1G["5a"+a])||U.1G["5a"+a]:6[0]==U?38.33(U.1G["6n"+a],U.1G["6m"+a]):h==W?(6.K?E.17(6[0],n):S):6.17(n,h.1c==3X?h:h+"2T")}});H C=E.V.1N&&3x(E.V.4s)<83?"(?:[\\\\w*57-]|\\\\\\\\.)":"(?:[\\\\w\\82-\\81*57-]|\\\\\\\\.)",6k=1u 47("^>\\\\s*("+C+"+)"),6i=1u 47("^("+C+"+)(#)("+C+"+)"),6h=1u 47("^([#.]?)("+C+"*)");E.1k({55:{"":"m[2]==\'*\'||15.11(a,m[2])","#":"a.4p(\'22\')==m[2]",":":{80:"im[3]-0",2I:"m[3]-0==i",6E:"m[3]-0==i",3v:"i==0",3u:"i==r.K-1",6f:"i%2==0",6e:"i%2","3v-46":"a.12.4l(\'*\')[0]==a","3u-46":"15.2I(a.12.5p,1,\'4d\')==a","7X-46":"!15.2I(a.12.5p,2,\'4d\')",1D:"a.1w",4n:"!a.1w",7W:"(a.6s||a.7V||15(a).2g()||\'\').1g(m[3])>=0",3R:\'"1P"!=a.O&&15.17(a,"19")!="2s"&&15.17(a,"4C")!="1P"\',1P:\'"1P"==a.O||15.17(a,"19")=="2s"||15.17(a,"4C")=="1P"\',7U:"!a.3c",3c:"a.3c",2Q:"a.2Q",26:"a.26||15.1x(a,\'26\')",2g:"\'2g\'==a.O",4k:"\'4k\'==a.O",5j:"\'5j\'==a.O",54:"\'54\'==a.O",52:"\'52\'==a.O",51:"\'51\'==a.O",6d:"\'6d\'==a.O",6c:"\'6c\'==a.O",2r:\'"2r"==a.O||15.11(a,"2r")\',4t:"/4t|24|6b|2r/i.14(a.11)",3K:"15.1Y(m[3],a).K",7S:"/h\\\\d/i.14(a.11)",7R:"15.2W(15.32,G(1b){I a==1b.T;}).K"}},6a:[/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,1u 47("^([:.#]*)("+C+"+)")],3m:G(a,c,b){H d,2b=[];1W(a&&a!=d){d=a;H f=E.1E(a,c,b);a=f.t.1p(/^\\s*,\\s*/,"");2b=b?c=f.r:E.1R(2b,f.r)}I 2b},1Y:G(t,o){9(1m t!="1M")I[t];9(o&&!o.1y)o=S;o=o||U;H d=[o],2f=[],3u;1W(t&&3u!=t){H r=[];3u=t;t=E.36(t);H l=P;H g=6k;H m=g.2S(t);9(m){H p=m[1].27();L(H i=0;d[i];i++)L(H c=d[i].1w;c;c=c.2q)9(c.1y==1&&(p=="*"||c.11.27()==p.27()))r.1a(c);d=r;t=t.1p(g,"");9(t.1g(" ")==0)6r;l=Q}J{g=/^([>+~])\\s*(\\w*)/i;9((m=g.2S(t))!=S){r=[];H p=m[2],1R={};m=m[1];L(H j=0,31=d.K;j<31;j++){H n=m=="~"||m=="+"?d[j].2q:d[j].1w;L(;n;n=n.2q)9(n.1y==1){H h=E.M(n);9(m=="~"&&1R[h])1T;9(!p||n.11.27()==p.27()){9(m=="~")1R[h]=Q;r.1a(n)}9(m=="+")1T}}d=r;t=E.36(t.1p(g,""));l=Q}}9(t&&!l){9(!t.1g(",")){9(o==d[0])d.44();2f=E.1R(2f,d);r=d=[o];t=" "+t.68(1,t.K)}J{H k=6i;H m=k.2S(t);9(m){m=[0,m[2],m[3],m[1]]}J{k=6h;m=k.2S(t)}m[2]=m[2].1p(/\\\\/g,"");H f=d[d.K-1];9(m[1]=="#"&&f&&f.3S&&!E.4a(f)){H q=f.3S(m[2]);9((E.V.1h||E.V.34)&&q&&1m q.22=="1M"&&q.22!=m[2])q=E(\'[@22="\'+m[2]+\'"]\',f)[0];d=r=q&&(!m[3]||E.11(q,m[3]))?[q]:[]}J{L(H i=0;d[i];i++){H a=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];9(a=="*"&&d[i].11.2p()=="5i")a="3a";r=E.1R(r,d[i].4l(a))}9(m[1]==".")r=E.4X(r,m[2]);9(m[1]=="#"){H e=[];L(H i=0;r[i];i++)9(r[i].4p("22")==m[2]){e=[r[i]];1T}r=e}d=r}t=t.1p(k,"")}}9(t){H b=E.1E(t,r);d=r=b.r;t=E.36(b.t)}}9(t)d=[];9(d&&o==d[0])d.44();2f=E.1R(2f,d);I 2f},4X:G(r,m,a){m=" "+m+" ";H c=[];L(H i=0;r[i];i++){H b=(" "+r[i].1o+" ").1g(m)>=0;9(!a&&b||a&&!b)c.1a(r[i])}I c},1E:G(t,r,h){H d;1W(t&&t!=d){d=t;H p=E.6a,m;L(H i=0;p[i];i++){m=p[i].2S(t);9(m){t=t.7O(m[0].K);m[2]=m[2].1p(/\\\\/g,"");1T}}9(!m)1T;9(m[1]==":"&&m[2]=="5V")r=E.1E(m[3],r,Q).r;J 9(m[1]==".")r=E.4X(r,m[2],h);J 9(m[1]=="["){H g=[],O=m[3];L(H i=0,31=r.K;i<31;i++){H a=r[i],z=a[E.5o[m[2]]||m[2]];9(z==S||/6C|3k|26/.14(m[2]))z=E.1x(a,m[2])||\'\';9((O==""&&!!z||O=="="&&z==m[5]||O=="!="&&z!=m[5]||O=="^="&&z&&!z.1g(m[5])||O=="$="&&z.68(z.K-m[5].K)==m[5]||(O=="*="||O=="~=")&&z.1g(m[5])>=0)^h)g.1a(a)}r=g}J 9(m[1]==":"&&m[2]=="2I-46"){H e={},g=[],14=/(\\d*)n\\+?(\\d*)/.2S(m[3]=="6f"&&"2n"||m[3]=="6e"&&"2n+1"||!/\\D/.14(m[3])&&"n+"+m[3]||m[3]),3v=(14[1]||1)-0,d=14[2]-0;L(H i=0,31=r.K;i<31;i++){H j=r[i],12=j.12,22=E.M(12);9(!e[22]){H c=1;L(H n=12.1w;n;n=n.2q)9(n.1y==1)n.4U=c++;e[22]=Q}H b=P;9(3v==1){9(d==0||j.4U==d)b=Q}J 9((j.4U+d)%3v==0)b=Q;9(b^h)g.1a(j)}r=g}J{H f=E.55[m[1]];9(1m f!="1M")f=E.55[m[1]][m[2]];f=3w("P||G(a,i){I "+f+"}");r=E.2W(r,f,h)}}I{r:r,t:t}},4e:G(b,c){H d=[];H a=b[c];1W(a&&a!=U){9(a.1y==1)d.1a(a);a=a[c]}I d},2I:G(a,e,c,b){e=e||1;H d=0;L(;a;a=a[c])9(a.1y==1&&++d==e)1T;I a},5d:G(n,a){H r=[];L(;n;n=n.2q){9(n.1y==1&&(!a||n!=a))r.1a(n)}I r}});E.1j={1f:G(g,e,c,h){9(E.V.1h&&g.4j!=W)g=18;9(!c.2u)c.2u=6.2u++;9(h!=W){H d=c;c=G(){I d.16(6,1q)};c.M=h;c.2u=d.2u}H i=e.2l(".");e=i[0];c.O=i[1];H b=E.M(g,"2P")||E.M(g,"2P",{});H f=E.M(g,"2t",G(){H a;9(1m E=="W"||E.1j.4T)I a;a=E.1j.2t.16(g,1q);I a});H j=b[e];9(!j){j=b[e]={};9(g.4S)g.4S(e,f,P);J g.7N("43"+e,f)}j[c.2u]=c;6.1Z[e]=Q},2u:1,1Z:{},28:G(d,c,b){H e=E.M(d,"2P"),2L,4I;9(1m c=="1M"){H a=c.2l(".");c=a[0]}9(e){9(c&&c.O){b=c.4Q;c=c.O}9(!c){L(c 1i e)6.28(d,c)}J 9(e[c]){9(b)2E e[c][b.2u];J L(b 1i e[c])9(!a[1]||e[c][b].O==a[1])2E e[c][b];L(2L 1i e[c])1T;9(!2L){9(d.4P)d.4P(c,E.M(d,"2t"),P);J d.7M("43"+c,E.M(d,"2t"));2L=S;2E e[c]}}L(2L 1i e)1T;9(!2L){E.30(d,"2P");E.30(d,"2t")}}},1F:G(d,b,e,c,f){b=E.2h(b||[]);9(!e){9(6.1Z[d])E("*").1f([18,U]).1F(d,b)}J{H a,2L,1b=E.1n(e[d]||S),4N=!b[0]||!b[0].2M;9(4N)b.4w(6.4M({O:d,2m:e}));b[0].O=d;9(E.1n(E.M(e,"2t")))a=E.M(e,"2t").16(e,b);9(!1b&&e["43"+d]&&e["43"+d].16(e,b)===P)a=P;9(4N)b.44();9(f&&f.16(e,b)===P)a=P;9(1b&&c!==P&&a!==P&&!(E.11(e,\'a\')&&d=="4L")){6.4T=Q;e[d]()}6.4T=P}I a},2t:G(d){H a;d=E.1j.4M(d||18.1j||{});H b=d.O.2l(".");d.O=b[0];H c=E.M(6,"2P")&&E.M(6,"2P")[d.O],3q=1B.3A.2J.2O(1q,1);3q.4w(d);L(H j 1i c){3q[0].4Q=c[j];3q[0].M=c[j].M;9(!b[1]||c[j].O==b[1]){H e=c[j].16(6,3q);9(a!==P)a=e;9(e===P){d.2M();d.3p()}}}9(E.V.1h)d.2m=d.2M=d.3p=d.4Q=d.M=S;I a},4M:G(c){H a=c;c=E.1k({},a);c.2M=G(){9(a.2M)a.2M();a.7L=P};c.3p=G(){9(a.3p)a.3p();a.7K=Q};9(!c.2m&&c.65)c.2m=c.65;9(E.V.1N&&c.2m.1y==3)c.2m=a.2m.12;9(!c.4K&&c.4J)c.4K=c.4J==c.2m?c.7H:c.4J;9(c.64==S&&c.63!=S){H e=U.2V,b=U.1G;c.64=c.63+(e&&e.2R||b.2R||0);c.7E=c.7D+(e&&e.2B||b.2B||0)}9(!c.3Y&&(c.61||c.60))c.3Y=c.61||c.60;9(!c.5F&&c.5D)c.5F=c.5D;9(!c.3Y&&c.2r)c.3Y=(c.2r&1?1:(c.2r&2?3:(c.2r&4?2:0)));I c}};E.1b.1k({3W:G(c,a,b){I c=="5Y"?6.2G(c,a,b):6.N(G(){E.1j.1f(6,c,b||a,b&&a)})},2G:G(d,b,c){I 6.N(G(){E.1j.1f(6,d,G(a){E(6).5X(a);I(c||b).16(6,1q)},c&&b)})},5X:G(a,b){I 6.N(G(){E.1j.28(6,a,b)})},1F:G(c,a,b){I 6.N(G(){E.1j.1F(c,a,6,Q,b)})},7x:G(c,a,b){9(6[0])I E.1j.1F(c,a,6[0],P,b)},25:G(){H a=1q;I 6.4L(G(e){6.4H=0==6.4H?1:0;e.2M();I a[6.4H].16(6,[e])||P})},7v:G(f,g){G 4G(e){H p=e.4K;1W(p&&p!=6)2a{p=p.12}29(e){p=6};9(p==6)I P;I(e.O=="4x"?f:g).16(6,[e])}I 6.4x(4G).5U(4G)},2d:G(f){5T();9(E.3T)f.16(U,[E]);J E.3l.1a(G(){I f.16(6,[E])});I 6}});E.1k({3T:P,3l:[],2d:G(){9(!E.3T){E.3T=Q;9(E.3l){E.N(E.3l,G(){6.16(U)});E.3l=S}9(E.V.35||E.V.34)U.4P("5S",E.2d,P);9(!18.7t.K)E(18).39(G(){E("#4E").28()})}}});E.N(("7s,7r,39,7q,6n,5Y,4L,7p,"+"7n,7m,7l,4x,5U,7k,24,"+"51,7j,7i,7h,3U").2l(","),G(i,o){E.1b[o]=G(f){I f?6.3W(o,f):6.1F(o)}});H x=P;G 5T(){9(x)I;x=Q;9(E.V.35||E.V.34)U.4S("5S",E.2d,P);J 9(E.V.1h){U.7f("<7d"+"7y 22=4E 7z=Q "+"3k=//:><\\/1J>");H a=U.3S("4E");9(a)a.62=G(){9(6.2C!="1l")I;E.2d()};a=S}J 9(E.V.1N)E.4B=4j(G(){9(U.2C=="5Q"||U.2C=="1l"){4A(E.4B);E.4B=S;E.2d()}},10);E.1j.1f(18,"39",E.2d)}E.1b.1k({39:G(g,d,c){9(E.1n(g))I 6.3W("39",g);H e=g.1g(" ");9(e>=0){H i=g.2J(e,g.K);g=g.2J(0,e)}c=c||G(){};H f="4z";9(d)9(E.1n(d)){c=d;d=S}J{d=E.3a(d);f="5P"}H h=6;E.3G({1d:g,O:f,M:d,1l:G(a,b){9(b=="1C"||b=="5O")h.4o(i?E("<1s/>").3g(a.40.1p(/<1J(.|\\s)*?\\/1J>/g,"")).1Y(i):a.40);56(G(){h.N(c,[a.40,b,a])},13)}});I 6},7a:G(){I E.3a(6.5M())},5M:G(){I 6.1X(G(){I E.11(6,"2Y")?E.2h(6.79):6}).1E(G(){I 6.2H&&!6.3c&&(6.2Q||/24|6b/i.14(6.11)||/2g|1P|52/i.14(6.O))}).1X(G(i,c){H b=E(6).3i();I b==S?S:b.1c==1B?E.1X(b,G(a,i){I{2H:c.2H,1Q:a}}):{2H:c.2H,1Q:b}}).21()}});E.N("5L,5K,6t,5J,5I,5H".2l(","),G(i,o){E.1b[o]=G(f){I 6.3W(o,f)}});H B=(1u 3D).3B();E.1k({21:G(d,b,a,c){9(E.1n(b)){a=b;b=S}I E.3G({O:"4z",1d:d,M:b,1C:a,1V:c})},78:G(b,a){I E.21(b,S,a,"1J")},77:G(c,b,a){I E.21(c,b,a,"45")},76:G(d,b,a,c){9(E.1n(b)){a=b;b={}}I E.3G({O:"5P",1d:d,M:b,1C:a,1V:c})},75:G(a){E.1k(E.59,a)},59:{1Z:Q,O:"4z",2z:0,5G:"74/x-73-2Y-72",6o:Q,3e:Q,M:S},49:{},3G:G(s){H f,2y=/=(\\?|%3F)/g,1v,M;s=E.1k(Q,s,E.1k(Q,{},E.59,s));9(s.M&&s.6o&&1m s.M!="1M")s.M=E.3a(s.M);9(s.1V=="4b"){9(s.O.2p()=="21"){9(!s.1d.1t(2y))s.1d+=(s.1d.1t(/\\?/)?"&":"?")+(s.4b||"5E")+"=?"}J 9(!s.M||!s.M.1t(2y))s.M=(s.M?s.M+"&":"")+(s.4b||"5E")+"=?";s.1V="45"}9(s.1V=="45"&&(s.M&&s.M.1t(2y)||s.1d.1t(2y))){f="4b"+B++;9(s.M)s.M=s.M.1p(2y,"="+f);s.1d=s.1d.1p(2y,"="+f);s.1V="1J";18[f]=G(a){M=a;1C();1l();18[f]=W;2a{2E 18[f]}29(e){}}}9(s.1V=="1J"&&s.1L==S)s.1L=P;9(s.1L===P&&s.O.2p()=="21")s.1d+=(s.1d.1t(/\\?/)?"&":"?")+"57="+(1u 3D()).3B();9(s.M&&s.O.2p()=="21"){s.1d+=(s.1d.1t(/\\?/)?"&":"?")+s.M;s.M=S}9(s.1Z&&!E.5b++)E.1j.1F("5L");9(!s.1d.1g("8g")&&s.1V=="1J"){H h=U.4l("9U")[0];H g=U.5B("1J");g.3k=s.1d;9(!f&&(s.1C||s.1l)){H j=P;g.9R=g.62=G(){9(!j&&(!6.2C||6.2C=="5Q"||6.2C=="1l")){j=Q;1C();1l();h.3b(g)}}}h.58(g);I}H k=P;H i=18.6X?1u 6X("9P.9O"):1u 6W();i.9M(s.O,s.1d,s.3e);9(s.M)i.5C("9J-9I",s.5G);9(s.5y)i.5C("9H-5x-9F",E.49[s.1d]||"9D, 9C 9B 9A 5v:5v:5v 9z");i.5C("X-9x-9v","6W");9(s.6U)s.6U(i);9(s.1Z)E.1j.1F("5H",[i,s]);H c=G(a){9(!k&&i&&(i.2C==4||a=="2z")){k=Q;9(d){4A(d);d=S}1v=a=="2z"&&"2z"||!E.6S(i)&&"3U"||s.5y&&E.6R(i,s.1d)&&"5O"||"1C";9(1v=="1C"){2a{M=E.6Q(i,s.1V)}29(e){1v="5k"}}9(1v=="1C"){H b;2a{b=i.5s("6P-5x")}29(e){}9(s.5y&&b)E.49[s.1d]=b;9(!f)1C()}J E.5r(s,i,1v);1l();9(s.3e)i=S}};9(s.3e){H d=4j(c,13);9(s.2z>0)56(G(){9(i){i.9q();9(!k)c("2z")}},s.2z)}2a{i.9o(s.M)}29(e){E.5r(s,i,S,e)}9(!s.3e)c();I i;G 1C(){9(s.1C)s.1C(M,1v);9(s.1Z)E.1j.1F("5I",[i,s])}G 1l(){9(s.1l)s.1l(i,1v);9(s.1Z)E.1j.1F("6t",[i,s]);9(s.1Z&&!--E.5b)E.1j.1F("5K")}},5r:G(s,a,b,e){9(s.3U)s.3U(a,b,e);9(s.1Z)E.1j.1F("5J",[a,s,e])},5b:0,6S:G(r){2a{I!r.1v&&9n.9l=="54:"||(r.1v>=6N&&r.1v<9j)||r.1v==6M||E.V.1N&&r.1v==W}29(e){}I P},6R:G(a,c){2a{H b=a.5s("6P-5x");I a.1v==6M||b==E.49[c]||E.V.1N&&a.1v==W}29(e){}I P},6Q:G(r,b){H c=r.5s("9i-O");H d=b=="6K"||!b&&c&&c.1g("6K")>=0;H a=d?r.9g:r.40;9(d&&a.2V.37=="5k")6G"5k";9(b=="1J")E.5f(a);9(b=="45")a=3w("("+a+")");I a},3a:G(a){H s=[];9(a.1c==1B||a.4c)E.N(a,G(){s.1a(3f(6.2H)+"="+3f(6.1Q))});J L(H j 1i a)9(a[j]&&a[j].1c==1B)E.N(a[j],G(){s.1a(3f(j)+"="+3f(6))});J s.1a(3f(j)+"="+3f(a[j]));I s.66("&").1p(/%20/g,"+")}});E.1b.1k({1A:G(b,a){I b?6.1U({1H:"1A",2N:"1A",1r:"1A"},b,a):6.1E(":1P").N(G(){6.R.19=6.3h?6.3h:"";9(E.17(6,"19")=="2s")6.R.19="2Z"}).2D()},1z:G(b,a){I b?6.1U({1H:"1z",2N:"1z",1r:"1z"},b,a):6.1E(":3R").N(G(){6.3h=6.3h||E.17(6,"19");9(6.3h=="2s")6.3h="2Z";6.R.19="2s"}).2D()},6J:E.1b.25,25:G(a,b){I E.1n(a)&&E.1n(b)?6.6J(a,b):a?6.1U({1H:"25",2N:"25",1r:"25"},a,b):6.N(G(){E(6)[E(6).3t(":1P")?"1A":"1z"]()})},9c:G(b,a){I 6.1U({1H:"1A"},b,a)},9b:G(b,a){I 6.1U({1H:"1z"},b,a)},99:G(b,a){I 6.1U({1H:"25"},b,a)},98:G(b,a){I 6.1U({1r:"1A"},b,a)},96:G(b,a){I 6.1U({1r:"1z"},b,a)},95:G(c,a,b){I 6.1U({1r:a},c,b)},1U:G(k,i,h,g){H j=E.6D(i,h,g);I 6[j.3L===P?"N":"3L"](G(){j=E.1k({},j);H f=E(6).3t(":1P"),3y=6;L(H p 1i k){9(k[p]=="1z"&&f||k[p]=="1A"&&!f)I E.1n(j.1l)&&j.1l.16(6);9(p=="1H"||p=="2N"){j.19=E.17(6,"19");j.2U=6.R.2U}}9(j.2U!=S)6.R.2U="1P";j.3M=E.1k({},k);E.N(k,G(c,a){H e=1u E.2j(3y,j,c);9(/25|1A|1z/.14(a))e[a=="25"?f?"1A":"1z":a](k);J{H b=a.3s().1t(/^([+-]=)?([\\d+-.]+)(.*)$/),1O=e.2b(Q)||0;9(b){H d=3I(b[2]),2i=b[3]||"2T";9(2i!="2T"){3y.R[c]=(d||1)+2i;1O=((d||1)/e.2b(Q))*1O;3y.R[c]=1O+2i}9(b[1])d=((b[1]=="-="?-1:1)*d)+1O;e.3N(1O,d,2i)}J e.3N(1O,a,"")}});I Q})},3L:G(a,b){9(E.1n(a)){b=a;a="2j"}9(!a||(1m a=="1M"&&!b))I A(6[0],a);I 6.N(G(){9(b.1c==1B)A(6,a,b);J{A(6,a).1a(b);9(A(6,a).K==1)b.16(6)}})},9f:G(){H a=E.32;I 6.N(G(){L(H i=0;i-8O?r:3I(E.17(6.T,6.1e))||0},3N:G(c,b,e){6.5u=(1u 3D()).3B();6.1O=c;6.2D=b;6.2i=e||6.2i||"2T";6.2v=6.1O;6.4q=6.4i=0;6.4r();H f=6;G t(){I f.2F()}t.T=6.T;E.32.1a(t);9(E.32.K==1){H d=4j(G(){H a=E.32;L(H i=0;i6.Y.2e+6.5u){6.2v=6.2D;6.4q=6.4i=1;6.4r();6.Y.3M[6.1e]=Q;H a=Q;L(H i 1i 6.Y.3M)9(6.Y.3M[i]!==Q)a=P;9(a){9(6.Y.19!=S){6.T.R.2U=6.Y.2U;6.T.R.19=6.Y.19;9(E.17(6.T,"19")=="2s")6.T.R.19="2Z"}9(6.Y.1z)6.T.R.19="2s";9(6.Y.1z||6.Y.1A)L(H p 1i 6.Y.3M)E.1x(6.T.R,p,6.Y.3P[p])}9(a&&E.1n(6.Y.1l))6.Y.1l.16(6.T);I P}J{H n=t-6.5u;6.4i=n/6.Y.2e;6.4q=E.3J[6.Y.3J||(E.3J.5q?"5q":"6B")](6.4i,n,0,1,6.Y.2e);6.2v=6.1O+((6.2D-6.1O)*6.4q);6.4r()}I Q}};E.2j.2F={2R:G(a){a.T.2R=a.2v},2B:G(a){a.T.2B=a.2v},1r:G(a){E.1x(a.T.R,"1r",a.2v)},6z:G(a){a.T.R[a.1e]=a.2v+a.2i}};E.1b.6m=G(){H c=0,3E=0,T=6[0],5t;9(T)8L(E.V){H b=E.17(T,"2X")=="4F",1D=T.12,23=T.23,2K=T.3H,4f=1N&&3x(4s)<8J;9(T.6V){5w=T.6V();1f(5w.1S+38.33(2K.2V.2R,2K.1G.2R),5w.3E+38.33(2K.2V.2B,2K.1G.2B));9(1h){H d=E("4o").17("8H");d=(d=="8G"||E.5g&&3x(4s)>=7)&&2||d;1f(-d,-d)}}J{1f(T.5l,T.5z);1W(23){1f(23.5l,23.5z);9(35&&/^t[d|h]$/i.14(1D.37)||!4f)d(23);9(4f&&!b&&E.17(23,"2X")=="4F")b=Q;23=23.23}1W(1D.37&&!/^1G|4o$/i.14(1D.37)){9(!/^8D|1I-9S.*$/i.14(E.17(1D,"19")))1f(-1D.2R,-1D.2B);9(35&&E.17(1D,"2U")!="3R")d(1D);1D=1D.12}9(4f&&b)1f(-2K.1G.5l,-2K.1G.5z)}5t={3E:3E,1S:c}}I 5t;G d(a){1f(E.17(a,"9T"),E.17(a,"8A"))}G 1f(l,t){c+=3x(l)||0;3E+=3x(t)||0}}})();',62,616,'||||||this|||if|||||||||||||||||||||||||||||||||function|var|return|else|length|for|data|each|type|false|true|style|null|elem|document|browser|undefined||options|||nodeName|parentNode||test|jQuery|apply|css|window|display|push|fn|constructor|url|prop|add|indexOf|msie|in|event|extend|complete|typeof|isFunction|className|replace|arguments|opacity|div|match|new|status|firstChild|attr|nodeType|hide|show|Array|success|parent|filter|trigger|body|height|table|script|tbody|cache|string|safari|start|hidden|value|merge|left|break|animate|dataType|while|map|find|global||get|id|offsetParent|select|toggle|selected|toUpperCase|remove|catch|try|cur|al|ready|duration|done|text|makeArray|unit|fx|swap|split|target||pushStack|toLowerCase|nextSibling|button|none|handle|guid|now|stack|tb|jsre|timeout|inArray|scrollTop|readyState|end|delete|step|one|name|nth|slice|doc|ret|preventDefault|width|call|events|checked|scrollLeft|exec|px|overflow|documentElement|grep|position|form|block|removeData|rl|timers|max|opera|mozilla|trim|tagName|Math|load|param|removeChild|disabled|insertBefore|async|encodeURIComponent|append|oldblock|val|childNodes|src|readyList|multiFilter|color|defaultView|stopPropagation|args|old|toString|is|last|first|eval|parseInt|self|domManip|prototype|getTime|curCSS|Date|top||ajax|ownerDocument|parseFloat|easing|has|queue|curAnim|custom|innerHTML|orig|currentStyle|visible|getElementById|isReady|error|static|bind|String|which|getComputedStyle|responseText|oWidth|oHeight|on|shift|json|child|RegExp|ol|lastModified|isXMLDoc|jsonp|jquery|previousSibling|dir|safari2|el|styleFloat|state|setInterval|radio|getElementsByTagName|tr|empty|html|getAttribute|pos|update|version|input|float|runtimeStyle|unshift|mouseover|getPropertyValue|GET|clearInterval|safariTimer|visibility|clean|__ie_init|absolute|handleHover|lastToggle|index|fromElement|relatedTarget|click|fix|evt|andSelf|removeEventListener|handler|cloneNode|addEventListener|triggered|nodeIndex|unique|Number|classFilter|prevObject|selectedIndex|after|submit|password|removeAttribute|file|expr|setTimeout|_|appendChild|ajaxSettings|client|active|win|sibling|deep|globalEval|boxModel|cssFloat|object|checkbox|parsererror|offsetLeft|wrapAll|dequeue|props|lastChild|swing|handleError|getResponseHeader|results|startTime|00|box|Modified|ifModified|offsetTop|evalScript|createElement|setRequestHeader|ctrlKey|callback|metaKey|contentType|ajaxSend|ajaxSuccess|ajaxError|ajaxStop|ajaxStart|serializeArray|init|notmodified|POST|loaded|appendTo|DOMContentLoaded|bindReady|mouseout|not|removeAttr|unbind|unload|Width|keyCode|charCode|onreadystatechange|clientX|pageX|srcElement|join|outerHTML|substr|zoom|parse|textarea|reset|image|odd|even|before|quickClass|quickID|prepend|quickChild|execScript|offset|scroll|processData|uuid|contents|continue|textContent|ajaxComplete|clone|setArray|webkit|nodeValue|fl|_default|100|linear|href|speed|eq|createTextNode|throw|replaceWith|splice|_toggle|xml|colgroup|304|200|alpha|Last|httpData|httpNotModified|httpSuccess|fieldset|beforeSend|getBoundingClientRect|XMLHttpRequest|ActiveXObject|col|br|abbr|pixelLeft|urlencoded|www|application|ajaxSetup|post|getJSON|getScript|elements|serialize|clientWidth|hasClass|scr|clientHeight|write|relative|keyup|keypress|keydown|change|mousemove|mouseup|mousedown|right|dblclick|resize|focus|blur|frames|instanceof|hover|offsetWidth|triggerHandler|ipt|defer|offsetHeight|border|padding|clientY|pageY|Left|Right|toElement|Bottom|Top|cancelBubble|returnValue|detachEvent|attachEvent|substring|line|weight|animated|header|font|enabled|innerText|contains|only|size|gt|lt|uFFFF|u0128|417|inner|Height|toggleClass|removeClass|addClass|replaceAll|noConflict|insertAfter|prependTo|wrap|contentWindow|contentDocument|http|iframe|children|siblings|prevAll|nextAll|wrapInner|prev|Boolean|next|parents|maxLength|maxlength|readOnly|readonly|class|htmlFor|CSS1Compat|compatMode|compatible|borderTopWidth|ie|ra|inline|it|rv|medium|borderWidth|userAgent|522|navigator|with|concat|1px|10000|array|ig|PI|NaN|400|reverse|fast|600|slow|Function|Object|setAttribute|changed|be|can|property|fadeTo|fadeOut|getAttributeNode|fadeIn|slideToggle|method|slideUp|slideDown|action|cssText|stop|responseXML|option|content|300|th|protocol|td|location|send|cap|abort|colg|cos|tfoot|thead|With|leg|Requested|opt|GMT|1970|Jan|01|Thu|area|Since|hr|If|Type|Content|meta|specified|open|link|XMLHTTP|Microsoft|img|onload|row|borderLeftWidth|head|attributes'.split('|'),0,{});
+
+result += decompressedJQuery.length;
+
+/*
+ Copyright (c) 2004-2007, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+/*
+ This is a compiled version of Dojo, built for deployment and not for
+ development. To get an editable version, please visit:
+
+ http://dojotoolkit.org
+
+ for documentation and information on getting the source.
+*/
+
+var decompressedDojo = function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('if(V z=="1k"){(B(){if(V D["1o"]=="1k"){D.1o={}}if((!D["1z"])||(!1z["ca"])){D.1z={}}A cn=["rA","rz","1K","ry","rx","9f","rw","rv","ru","rt","rs","rr","rq","ro","rn","rm"];A i=0,24;1s(24=cn[i++]){if(!1z[24]){1z[24]=B(){}}}if(V D["z"]=="1k"){D.z={}}z.1W=D;A d3={im:U,rl:U,rk:"",rj:"",ri:"",rh:K,rg:U};R(A 8z in d3){if(V 1o[8z]=="1k"){1o[8z]=d3[8z]}}A jK=["rf","rd","rc","rb"];A t;1s(t=jK.3a()){z["is"+t]=U}})();z.8h=1o.8h;z.cY={jJ:0,jI:9,jH:0,jG:"",jF:2V("$ra: r9 $".1f(/[0-9]+/)[0]),2i:B(){4G(z.cY){C jJ+"."+jI+"."+jH+jG+" ("+jF+")"}}};z.d1=B(jE,jD,1V){A 2h=1V||z.1W;R(A i=0,p;2h&&(p=jE[i]);i++){2h=(p in 2h?2h[p]:(jD?2h[p]={}:1k))}C 2h};z.88=B(jC,jA,jB){A d2=jC.1A("."),p=d2.8q(),M=z.d1(d2,K,jB);C(M&&p?(M[p]=jA):1k)};z.6q=B(jz,jy,jx){C z.d1(jz.1A("."),jy,jx)};z.r8=B(jw,M){C!!z.6q(jw,U,M)};z["3u"]=B(d0){C z.1W.3u?z.1W.3u(d0):3u(d0)};z.ia=B(jv,cZ,cX){A 8y="r7: "+jv;if(cZ){8y+=" "+cZ}if(cX){8y+=" -- r6 be r5 in cY: "+cX}1z.1K(8y)};z.r4=B(ju,cW){A cV="r3: "+ju+" -- r2 r1 4F r0 qZ qY.";if(cW){cV+=" "+cW}1z.1K(cV)};(B(){A cR={53:{},6p:0,1h:{},8k:{z:{1p:"z",1Z:"."},cU:{1p:"cU",1Z:"../qX/cU"},cT:{1p:"cT",1Z:"cT"}},cN:B(cS){A mp=D.8k;C jp(mp[cS]&&mp[cS].1Z)},jk:B(8x){A mp=D.8k;if(D.cN(8x)){C mp[8x].1Z}C 8x},8v:[],6t:U,56:[],8t:[],8u:U};R(A cQ in cR){z[cQ]=cR[cQ]}})();z.jg=B(8w,cP,cb){A 1g=(((8w.2s(0)=="/"||8w.1f(/^\\w+:/)))?"":D.51)+8w;if(1o.jt&&z.c8){1g+="?"+67(1o.jt).2f(/\\W+/g,"")}1u{C!cP?D.cO(1g,cb):D.jq(1g,cP,cb)}1y(e){1z.1K(e);C U}};z.cO=B(1g,cb){if(D.8v[1g]){C K}A 6u=D.iR(1g,K);if(!6u){C U}D.8v[1g]=K;D.8v.Y(1g);if(cb){6u="("+6u+")"}A jr=z["3u"](6u+"\\r\\n//@ qW="+1g);if(cb){cb(jr)}C K};z.jq=B(1g,jo,cb){A ok=U;1u{ok=D.cO(1g,cb)}1y(e){1z.1K("qV je ",1g," 4G 9f: ",e)}C jp(ok&&D.53[jo])};z.6m=B(){D.8u=K;D.6t=K;A 57=D.56;D.56=[];R(A x=0;x<57.G;x++){57[x]()}D.8u=U;if(z.6t&&z.6p==0&&D.56.G>0){z.8s()}};z.ck=B(){A 57=D.8t;1s(57.G){(57.8q())()}};z.qU=B(M,jn){A d=z;if(P.G==1){d.56.Y(M)}I{if(P.G>1){d.56.Y(B(){M[jn]()})}}if(d.6t&&d.6p==0&&!d.8u){d.8s()}};z.dW=B(M,jm){A d=z;if(P.G==1){d.8t.Y(M)}I{if(P.G>1){d.8t.Y(B(){M[jm]()})}}};z.iM=B(){if(D.6t){C}if(D.6p>0){1z.1K("qT qS in qR!");C}z.8s()};z.8s=B(){if(V 5c=="8b"||(1o["qQ"]&&z.2M)){5c("z.6m();",0)}I{z.6m()}};z.cF=B(jl){A 4v=jl.1A(".");R(A i=4v.G;i>0;i--){A 8r=4v.2w(0,i).22(".");if((i==1)&&!D.cN(8r)){4v[0]="../"+4v[0]}I{A cM=D.jk(8r);if(cM!=8r){4v.3S(0,i,cM);3f}}}C 4v};z.jj=U;z.8m=B(2T,qP,55){55=D.jj||55;A 54=D.53[2T];if(54){C 54}A cL=2T.1A(".");A 3L=D.cF(2T);A jh=((3L[0].2s(0)!="/")&&!3L[0].1f(/^\\w+:/));A ji=3L[3L.G-1];A 3m;if(ji=="*"){2T=cL.2w(0,-1).22(".");3L.8q();3m=3L.22("/")+"/"+(1o["qO"]||"qN")+".js";if(jh&&3m.2s(0)=="/"){3m=3m.2w(1)}}I{3m=3L.22("/")+".js";2T=cL.22(".")}A jf=(!55)?2T:L;A ok=D.jg(3m,jf);if((!ok)&&(!55)){2m S 1O("qM 3O 4E \'"+2T+"\'; 72 qL \'"+3m+"\'")}if((!55)&&(!D["qK"])){54=D.53[2T];if(!54){2m S 1O("qJ \'"+2T+"\' is 3O qI a8 je \'"+3m+"\'")}}C 54};z.8c=z.8m;z.1Q=B(cK){A cJ=cK+"";A 8p=cJ;A 6s=cK.1A(/\\./);if(6s[6s.G-1]=="*"){6s.8q();8p=6s.22(".")}A 8o=z.6q(8p,K);D.53[cJ]=8o;D.53[8p]=8o;C 8o};z.qH=B(8n){A jd=8n["qG"]||[];A cI=jd.3U(8n[z.j4]||8n["aY"]||[]);R(A x=0;x0&&!(j==1&&1X[0]=="")&&1X[j]==".."&&1X[j-1]!=".."){if(j==(1X.G-1)){1X.3S(j,1);1X[j-1]=""}I{1X.3S(j-1,2);j-=2}}}}1t.28=1X.22("/")}}}}1g="";if(1t.4t){1g+=1t.4t+":"}if(1t.3l){1g+="//"+1t.3l}1g+=1t.28;if(1t.1r){1g+="?"+1t.1r}if(1t.52){1g+="#"+1t.52}}D.1g=1g.2i();A r=D.1g.1f(j7);D.4t=r[2]||(r[1]?"":n);D.3l=r[4]||(r[3]?"":n);D.28=r[5];D.1r=r[7]||(r[6]?"":n);D.52=r[9]||(r[8]?"":n);if(D.3l!=n){r=D.3l.1f(j6);D.8X=r[3]||n;D.8W=r[4]||n;D.qw=r[5];D.qv=r[7]||n}};z.4r.1C.2i=B(){C D.1g}})();z.qu=B(j5,2E){A 2B=z.cF(j5).22("/");if(!2B){C L}if(2B.31("/")!=2B.G-1){2B+="/"}A cE=2B.T(":");if(2B.2s(0)!="/"&&(cE==-1||cE>2B.T("/"))){2B=z.51+2B}C S z.4r(2B,2E)};if(V 26!="1k"){z.c8=K;z.j4="qt";(B(){A d=z;if(1q&&1q.4I){A 8j=1q.4I("ak");A j3=/z(\\.qs)?\\.js([\\?\\.]|$)/i;R(A i=0;i<8j.G;i++){A 4X=8j[i].5t("4X");if(!4X){6c}A m=4X.1f(j3);if(m){if(!1o["51"]){1o["51"]=4X.21(0,m.hK)}A cD=8j[i].5t("1o");if(cD){A cC=3u("({ "+cD+" })");R(A x in cC){1o[x]=cC[x]}}3f}}}d.51=1o["51"];A n=cq;A 8i=n.iL;A 4Z=n.qr;A 6r=2k(4Z);d.2M=(8i.T("qq")>=0)?6r:0;d.6B=(4Z.T("qo")>=0)||(4Z.T("j2")>=0)?6r:0;d.3o=(4Z.T("j2")>=0)?6r:0;A j1=8i.T("qn");d.gu=d.7B=((j1>=0)&&(!d.6B))?6r:0;d.j0=0;d.1l=0;d.iV=0;1u{if(d.7B){d.j0=2k(8i.1A("qm/")[1].1A(" ")[0])}if((1q.gx)&&(!d.2M)){d.1l=2k(4Z.1A("qk ")[1].1A(";")[0])}}1y(e){}if(z.1l&&(26.8f.cu==="9q:")){1o.iT=K}d.iX=B(){A 2A;A qj;A cB=d.6q("cz.cy");if(cB){C cB}if(V iZ!="1k"){2A=S iZ()}I{if(d.1l){1u{2A=S 9j("qi.qh")}1y(e){}}I{if(cq.qg["8Z/x-iY"]){2A=1q.a9("8b");2A.cA("Z","8Z/x-iY");2A.cA("3n",0);2A.cA("58",0);2A.1c.gq="7C";1q.5K.4c(2A)}}}if(!2A){C L}z.88("cz.cy.qf",2A);C z.6q("cz.cy")};A iW=d.iX();if(iW){d.iV=K}A cm=1q["aX"];d.qe=(cm=="aW")||(cm=="gr")||(d.1l<6);d.8h=1o.8h||(d.1l?n.qd:n.qc).1M();d.qb=1z.1K;d.cx=["iU.8g","em.8g","iU.8g.4.0"];d.9b=B(){A 4s=L;A cv=L;if(!z.1l||!1o.iT){1u{4s=S qa()}1y(e){}}if(!4s){R(A i=0;i<3;++i){A cw=z.cx[i];1u{4s=S 9j(cw)}1y(e){cv=e}if(4s){z.cx=[cw];3f}}}if(!4s){2m S 1O("8g 3O q9: "+cv)}C 4s};d.8Y=B(iS){A 4Y=iS.3N||0;C((4Y>=q8)&&(4Y0);d.iR=B(1g,iP){A 3K=D.9b();if(!iQ&&z.4r){1g=(S z.4r(26.8f,1g)).2i()}3K.dL("dD",1g,U);1u{3K.dI(L);if(!d.8Y(3K)){A 1G=1O("q2 4F 4E "+1g+" 3N:"+3K.3N);1G.3N=3K.3N;1G.2G=3K.2G;2m 1G}}1y(e){if(iP){C L}2m e}C 3K.2G}})();z.iO=U;z.6o=B(e){z.iO=K;A cr=(e&&e.Z)?e.Z.1M():"4E";if(P.2O.iN||(cr!="q1"&&cr!="4E")){C}P.2O.iN=K;if(V z["8e"]!="1k"){dX(z.8e);63 z.8e}if(z.6p==0){z.iM()}};if(1q.66){if(z.2M||(z.7B&&(1o["q0"]===K))){1q.66("pZ",z.6o,L)}26.66("4E",z.6o,L)}if(/(pY|pX)/i.6Z(cq.iL)){z.8e=dN(B(){if(/6m|iJ/.6Z(1q.6F)){z.6o()}},10)}(B(){A 3g=26;A 8d=B(cp,fp){A iK=3g[cp]||B(){};3g[cp]=B(){fp.14(3g,P);iK.14(3g,P)}};if(z.1l){1q.fJ(""+"");A co=K;8d("iG",B(){3g.5c(B(){co=U},0)});8d("pU",B(){if(co){z.ck()}});1u{1q.pT.2P("v","pS:pR-pQ-pP:pO");1q.pN().pM("v\\\\:*","pL:2E(#aY#pK)")}1y(e){}}I{8d("iG",B(){z.ck()})}})();z.pJ=B(){};z.1e=26["1q"]||L;z.3E=B(){C z.1e.3E||z.1e.4I("3E")[0]};z.ch=B(iF,iE){z.1W=iF;z.1e=iE};z.cf=B(4q,6n,iD){if((6n)&&((V 4q=="3c")||(4q 1N 67))){4q=6n[4q]}C(6n?4q.14(6n,iD||[]):4q())};z.pI=B(cj,iC,iB,iA){A cg;A iz=z.1W;A iy=z.1e;1u{z.ch(cj,cj.1q);cg=z.cf(iC,iB,iA)}ir{z.ch(iz,iy)}C cg};z.pH=B(ix,iw,iv,iu){A ce;A ip=z.1e;1u{z.1e=ix;ce=z.cf(iw,iv,iu)}ir{z.1e=ip}C ce};if(1o["cd"]){R(A cc in 1o["cd"]){z.io(cc,1o["cd"][cc])}}}if(1o.im){if(!1z.ca){z.8c("z.pG.ca")}}}if(!z.1h["z.X.c9"]){z.1h["z.X.c9"]=K;z.1Q("z.X.c9");z.1R=B(it){C(V it=="3c"||it 1N 67)};z.2l=B(it){C(it&&it 1N 4e||V it=="6a"||((V z["1H"]!="1k")&&(it 1N z.1H)))};if(z.c8&&z.3o){z.1Y=B(it){if((V(it)=="B")&&(it=="[8b 1H]")){C U}C(V it=="B"||it 1N bI)}}I{z.1Y=B(it){C(V it=="B"||it 1N bI)}}z.ib=B(it){if(V it=="1k"){C U}C(it===L||V it=="8b"||z.2l(it)||z.1Y(it))};z.pF=B(it){A d=z;if((!it)||(V it=="1k")){C U}if(d.1R(it)){C U}if(d.1Y(it)){C U}if(d.2l(it)){C K}if((it.5w)&&(it.5w.1M()=="3R")){C U}if(pE(it.G)){C K}C U};z.pD=B(it){if(!it){C U}C!z.1Y(it)&&/\\{\\s*\\[il 5h\\]\\s*\\}/.6Z(67(it))};z.c7=B(M,4W){A 8a={};R(A x in 4W){if((V 8a[x]=="1k")||(8a[x]!=4W[x])){M[x]=4W[x]}}if(z.1l){A p=4W.2i;if((V(p)=="B")&&(p!=M.2i)&&(p!=8a.2i)&&(p!="\\pC 2i() {\\n [il 5h]\\n}\\n")){M.2i=4W.2i}}C M};z.1x=B(M,pB){R(A i=1,l=P.G;i2){C z.ig.14(z,P)}if(!3k){3k=2z;2z=L}if(z.1R(3k)){2z=2z||z.1W;if(!2z[3k]){2m(["z.2p: ie[\\"",3k,"\\"] is L (ie=\\"",2z,"\\")"].22(""))}C B(){C 2z[3k].14(2z,P||[])}}I{C(!2z?3k:B(){C 3k.14(2z,P||[])})}};z.6j=B(M,c3){B c4(){};c4.1C=M;A c2=S c4();if(c3){z.1x(c2,c3)}C c2};z.7X=B(pz){A Q=[L];C z.2p.14(z,Q.3U(z.4d(P)))};z.4d=B(M,ic){A Q=[];R(A x=ic||0;x3)){z.ia("z.2r: R 9P \'"+6l+"\' py pw B as \'1P\' pv pu of as a pt i3.","","1.0");A c=3j;3j=P[3]||{};3j.1P=c}A dd=P.2O,4V=L;if(z.2l(4p)){4V=4p;4p=4V.3a()}if(4V){R(A i=0,m;i<4V.G;i++){m=4V[i];if(!m){2m("ps #"+i+" 4F pr of "+6l+" is L. pq\'s pp a po pl is 3O 6m.")}4p=dd.6j(4p,m)}}A i9=(3j||0).1P,6k=dd.6j(4p),fn;R(A i in 3j){if(z.1Y(fn=3j[i])&&(!0[i])){fn.i4=i}}z.4M(6k,{4o:6l,bY:i9,bZ:L},3j||0);6k.1C.1P=6k;C z.88(6l,6k)};z.1x(z.2r,{6j:B(c0,i8){A bp=(c0||0).1C,mp=(i8||0).1C;A 2S=z.2r.i7();z.1x(2S,{84:bp,1x:mp});if(c0){2S.1C=z.6j(bp)}z.4M(2S,z.2r.i6,mp||0,{bY:L});2S.1C.1P=2S;2S.1C.4o=(bp||0).4o+"pk"+(mp||0).4o;z.88(2S.1C.4o,2S);C 2S},i7:B(){C B(){D.i5(P)}},i6:{i5:B(86){A c=86.2O,s=c.84,ct=s&&s.1P,m=c.1x,87=m&&m.1P,a=86,ii,fn;if(a[0]){if((fn=a[0]["bZ"])){a=fn.14(D,a)||a}}if(fn=c.1C.bZ){a=fn.14(D,a)||a}if(ct&&ct.14){ct.14(D,a)}if(87&&87.14){87.14(D,a)}if(ii=c.1C.bY){ii.14(D,86)}},bX:B(85){A c=D.1P,p,m;1s(c){p=c.84;m=c.1x;if(m==85||(m 1N 85.1P)){C p}if(m&&(m=m.bX(85))){C m}c=p&&p.1P}},6h:B(83,82,bW,6i){A p=bW,c,m,f;do{c=p.1P;m=c.1x;if(m&&(m=D.6h(83,82,m,6i))){C m}if((f=p[83])&&(6i==(f==82))){C p}p=c.84}1s(p);C!6i&&(p=D.bX(bW))&&D.6h(83,82,p,6i)},bU:B(2R,4U,bV){A a=P;if(!z.1R(a[0])){bV=4U;4U=2R;2R=4U.2O.i4}A c=4U.2O,p=D.1P.1C,a=bV||4U,fn,mp;if(D[2R]!=c||p[2R]==c){mp=D.6h(2R,c,p,K);if(!mp){2m(D.4o+": 1p i3 (\\""+2R+"\\") 4F bU pj 1f 2O (2r.js)")}p=D.6h(2R,c,mp,U)}fn=p&&p[2R];if(!fn){1z.1K(mp.4o+": no bU \\""+2R+"\\" ph pg (2r.js)");C}C fn.14(D,a)}}})}if(!z.1h["z.X.2c"]){z.1h["z.X.2c"]=K;z.1Q("z.X.2c");z.3i={i2:B(){C B(){A ap=4e.1C,c=P.2O,ls=c.2b,t=c.5V;A r=t&&t.14(D,P);R(A i in ls){if(!(i in ap)){ls[i].14(D,P)}}C r}},2P:B(6g,bT,i1){6g=6g||z.1W;A f=6g[bT];if(!f||!f.2b){A d=z.3i.i2();d.5V=f;d.2b=[];f=6g[bT]=d}C f.2b.Y(i1)},3J:B(i0,hZ,bS){A f=(i0||z.1W)[hZ];if(f&&f.2b&&bS--){63 f.2b[bS]}}};z.2c=B(M,pd,pc,pa,p9){A a=P,F=[],i=0;F.Y(z.1R(a[0])?L:a[i++],a[i++]);A a1=a[i+1];F.Y(z.1R(a1)||z.1Y(a1)?a[i++]:L,a[i++]);R(A l=a.G;i2){6e=z.7X(6e,P,2)}C D.5k(6e,6e)},ef:B(cb,4T){A 7Y=z.2p(cb,4T);if(P.G>2){7Y=z.7X(7Y,P,2)}C D.5k(7Y,L)},ed:B(cb,4T){A 7W=z.2p(cb,4T);if(P.G>2){7W=z.7X(7W,P,2)}C D.5k(L,7W)},5k:B(cb,eb){D.bM.Y([cb,eb]);if(D.2y>=0){D.7U()}C D},7U:B(){A bL=D.bM;A 4n=D.2y;A 1v=D.4R[4n];A 4S=D;A cb=L;1s((bL.G>0)&&(D.3M==0)){A f=bL.3a()[4n];if(!f){6c}1u{1v=f(1v);4n=((1v 1N 1O)?1:0);if(1v 1N z.30){cb=B(1v){4S.7V(1v);4S.3M--;if((4S.3M==0)&&(4S.2y>=0)){4S.7U()}};D.3M++}}1y(1G){1z.1K(1G);4n=1;1v=1G}}D.2y=4n;D.4R[4n]=1v;if((cb)&&(D.3M)){1v.9e(cb)}}})}if(!z.1h["z.X.2e"]){z.1h["z.X.2e"]=K;z.1Q("z.X.2e");z.5m=B(2e){1u{C 3u("("+2e+")")}1y(e){1z.1K(e);C 2e}};z.bK=B(2H){C("\\""+2H.2f(/(["\\\\])/g,"\\\\$1")+"\\"").2f(/[\\f]/g,"\\\\f").2f(/[\\b]/g,"\\\\b").2f(/[\\n]/g,"\\\\n").2f(/[\\t]/g,"\\\\t").2f(/[\\r]/g,"\\\\r")};z.hM="\\t";z.eq=B(it,4l,4P){4P=4P||"";A 4k=(4l?4P+z.hM:"");A 6b=(4l?"\\n":"");A 4Q=V(it);if(4Q=="1k"){C"1k"}I{if((4Q=="4J")||(4Q=="p1")){C it+""}I{if(it===L){C"L"}}}if(4Q=="3c"){C z.bK(it)}A 6d=P.2O;A 4m;if(V it.hL=="B"){4m=it.hL();if(it!==4m){C 6d(4m,4l,4k)}}if(V it.2e=="B"){4m=it.2e();if(it!==4m){C 6d(4m,4l,4k)}}if(z.2l(it)){A 1v=[];R(A i=0;i>=7R;t[x]=7R==4?17*c:c});t.a=1;C t};z.7P=B(a,M){A t=M||S z.1J();t.bz(2V(a[0]),2V(a[1]),2V(a[2]),2V(a[3]));if(2L(t.a)){t.a=1}C t.7Q()};z.hq=B(2H,M){A a=z.1J.hp[2H];C a&&z.7P(a,M)||z.ho(2H,M)||z.hn(2H,M)}}if(!z.1h["z.X"]){z.1h["z.X"]=K;z.1Q("z.X")}if(!z.1h["z.X.5Z"]){z.1h["z.X.5Z"]=K;z.1Q("z.X.5Z");(B(){A 1j=z.b2={2P:B(E,68,fp){if(!E){C}68=1j.4O(68);fp=1j.7G(68,fp);E.66(68,fp,U);C fp},3J:B(E,hm,hl){(E)&&(E.oF(1j.4O(hm),hl,U))},4O:B(1p){C(1p.2w(0,2)=="on"?1p.2w(2):1p)},7G:B(1p,fp){C(1p!="4b"?fp:B(e){C fp.2d(D,1j.4i(e,D))})},4i:B(H,oE){4w(H.Z){2X"4b":1j.7K(H);3f}C H},7K:B(H){H.oD=(H.3h?67.oC(H.3h):"")}};z.oB=B(H,hk){C 1j.4i(H,hk)};z.gY=B(H){H.7J();H.7I()};A 7O=z.3i;z.by=B(M,bx,hh,hg,hi){A hj=M&&(M.2t||M.oA||M.66);A bw=!hj?0:(!hi?1:2),l=[z.3i,1j,7O][bw];A h=l.2P(M,bx,z.2p(hh,hg));C[M,bx,h,bw]};z.bv=B(M,he,hd,hf){([z.3i,1j,7O][hf]).3J(M,he,hd)};z.5W={oz:8,gV:9,oy:12,ox:13,ow:16,ov:17,ou:18,gG:19,ot:20,os:27,or:32,b5:33,b4:34,gE:35,gF:36,b7:37,b9:38,b6:39,b8:40,gD:45,8S:46,oq:47,oo:91,om:92,ol:93,oj:96,oi:97,oh:98,og:99,oe:6D,od:oc,ob:oa,o9:o8,o7:o6,o5:o4,o3:bi,o2:o1,o0:nZ,nY:nX,nW:nV,nU:bk,gS:nT,gR:nS,gQ:nR,gP:nQ,gO:nP,gN:nO,gM:nN,gL:nM,gK:nL,gJ:nK,gI:nJ,gH:nI,nH:nG,nF:nE,nD:nC,gB:nB,gC:nA};if(z.1l){bf=B(e,5h){1u{C(e.3I=5h)}1y(e){C 0}};A 61=z.3i;if(!1o.nz){7O=61=z.gy={b3:[],2P:B(64,bu,hc){64=64||z.1W;A f=64[bu];if(!f||!f.2b){A d=z.gz();d.5V=f&&(7M.Y(f)-1);d.2b=[];f=64[bu]=d}C f.2b.Y(7M.Y(hc)-1)},3J:B(hb,ha,7N){A f=(hb||z.1W)[ha],l=f&&f.2b;if(f&&l&&7N--){63 7M[l[7N]];63 l[7N]}}};A 7M=61.b3}z.1x(1j,{2P:B(E,62,fp){if(!E){C}62=1j.4O(62);if(62=="h3"){A kd=E.bs;if(!kd||!kd.2b||!kd.h9){1j.2P(E,"bs",1j.h4);E.bs.h9=K}}C 61.2P(E,62,1j.7G(fp))},3J:B(E,h8,h7){61.3J(E,1j.4O(h8),h7)},4O:B(7L){C(7L.2w(0,2)!="on"?"on"+7L:7L)},ny:B(){},4i:B(H,4N){if(!H){A w=(4N)&&((4N.aD||4N.1q||4N).nx)||26;H=w.5Z}if(!H){C(H)}H.5V=H.br;H.bh=(4N||H.br);H.nw=H.nv;H.nu=H.nr;A bq=H.br,1e=(bq&&bq.aD)||1q;A bn=((z.1l<6)||(1e["aX"]=="aW"))?1e.3E:1e.5K;A bm=z.aB();H.nq=H.np+z.aH(bn.5I||0)-bm.x;H.nn=H.nm+(bn.5G||0)-bm.y;if(H.Z=="fk"){H.h6=H.nl}if(H.Z=="fj"){H.h6=H.nk}H.7I=1j.bc;H.7J=1j.ba;C 1j.h5(H)},h5:B(H){4w(H.Z){2X"4b":A c=("3h"in H?H.3h:H.3I);if(c==10){c=0;H.3I=13}I{if(c==13||c==27){c=0}I{if(c==3){c=99}}}H.3h=c;1j.7K(H);3f}C H},gZ:{bi:42,bk:47,h2:59,nj:43,ni:44,nh:45,ng:46,nf:47,60:96,h1:91,nb:92,na:93,h0:39},h4:B(H){A kp=H.bh.h3;if(!kp||!kp.2b){C}A k=H.3I;A bj=(k!=13)&&(k!=32)&&(k!=27)&&(k<48||k>90)&&(k<96||k>bk)&&(k