Commit ffd5e06d authored by Christoph Ruegge's avatar Christoph Ruegge
Browse files

move bfgs to archive

parent e1eaaddb
%% Cell type:markdown id: tags:
## minimization
## Minimization
%% Cell type:code id: tags:
``` haskell
import Numeric.GSL.Minimization
```
%% Cell type:markdown id: tags:
**minimize** <br /> Simplex algorithm (does not need a derivative).
```haskell
minimize
:: MinimizeMethod -- minimize method
-> Double -- desired precision of the solution (size test)
-> Int -- maximum number of iterations allowed
-> [Double] -- sizes of the initial search box
-> ([Double] -> Double) -- function to minimize
-> [Double] -- starting point
-> ([Double], Matrix Double) -- solution vector and optimization path
```
```haskell
data MinimizeMethod = NMSimplex
NMSimplex2
```
%% Cell type:code id: tags:
``` haskell
f [x,y] = 10*(x-1)^2 + 20*(y-2)^2 + 30
minimize NMSimplex2 1E-2 30 [1,1] f [5,7]
```
%%%% Output: display_data
%% Cell type:markdown id: tags:
Andere Verfahren wie Broyden-Fletcher-Goldfarb-Shanno (BFGS) in `minimizeD` (mit Ableitung)
## Finding roots
%% Cell type:code id: tags:
``` haskell
import Numeric.GSL.Root
```
%% Cell type:markdown id: tags:
**root** <br /> non-linear, multidimensional root finding (no derivative needed).
```haskell
root
:: RootMethod -- Methode
-> Double -- maximum residual
-> Int -- maximum number of iterations allowed
-> ([Double] -> [Double]) -- function to minimize
-> [Double] -- starting point
-> ([Double], Matrix Double) -- solution vector and optimization path
```
```haskell
data RootMethod = Hybrids
| Hybrid
| DNewton
| Broyden
```
%% Cell type:code id: tags:
``` haskell
(sol,path) = root Hybrid 1E-7 30 (\[x] -> [x^2 -1]) [-10]
print path
print sol
```
%%%% Output: display_data
%%%% Output: display_data
%% Cell type:markdown id: tags:
## Newton-method
%% Cell type:code id: tags:
``` haskell
newton :: (Fractional a, Floating a ) => (a -> a) -> a -> [(a,a)]
newton f xn = (f xn,xn) : newton f (fn xn)
where fn xn = let h = 1e-11 in xn - f xn/((f (xn+h) - f xn)/h)
```
%% Cell type:code id: tags:
``` haskell
unzip $ takeWhile (\(y,_) -> abs y >1e-16) $ newton cos (1::Double)
import Numeric.Container
import Graphics.Rendering.Chart.Easy hiding (Matrix, Vector, scale)
import Graphics.Rendering.Chart.Backend.Cairo
(f,_) = unzip $ take 10 $ newton cos (1::Double)
toRenderable $ do
layout_title .= "Solution"
setColors [opaque blue, opaque red]
plot ( line "f" [ zip [0..] (map LogValue f) ] )
plot ( points "points" ( zip [0..] (map LogValue f) ) )
```
%%%% Output: display_data
%%%% Output: display_data
![](data:image/png;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDUwcHQiIGhlaWdodD0iMzAwcHQiIHZpZXdCb3g9IjAgMCA0NTAgMzAwIiB2ZXJzaW9uPSIxLjEiPgo8ZGVmcz4KPGc+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDAtMCI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9Ik0gMC43NSAyLjY1NjI1IEwgMC43NSAtMTAuNTc4MTI1IEwgOC4yNSAtMTAuNTc4MTI1IEwgOC4yNSAyLjY1NjI1IFogTSAxLjU5Mzc1IDEuODEyNSBMIDcuNDA2MjUgMS44MTI1IEwgNy40MDYyNSAtOS43MzQzNzUgTCAxLjU5Mzc1IC05LjczNDM3NSBaIE0gMS41OTM3NSAxLjgxMjUgIi8+Cjwvc3ltYm9sPgo8c3ltYm9sIG92ZXJmbG93PSJ2aXNpYmxlIiBpZD0iZ2x5cGgwLTEiPgo8cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7IiBkPSJNIDguOTg0Mzc1IC0xMC41OTM3NSBMIDguOTg0Mzc1IC04LjI4MTI1IEMgOC4zOTA2MjUgLTguNTM5MDYyIDcuODA0Njg4IC04LjczODI4MSA3LjIzNDM3NSAtOC44NzUgQyA2LjY2MDE1NiAtOS4wMTk1MzEgNi4xMTcxODggLTkuMDkzNzUgNS42MDkzNzUgLTkuMDkzNzUgQyA0LjkyOTY4OCAtOS4wOTM3NSA0LjQyOTY4OCAtOSA0LjEwOTM3NSAtOC44MTI1IEMgMy43OTY4NzUgLTguNjI1IDMuNjQwNjI1IC04LjMzNTkzOCAzLjY0MDYyNSAtNy45NTMxMjUgQyAzLjY0MDYyNSAtNy42NDg0MzggMy43NDIxODggLTcuNDE0MDYyIDMuOTUzMTI1IC03LjI1IEMgNC4xNzE4NzUgLTcuMDkzNzUgNC41NjY0MDYgLTYuOTU3MDMxIDUuMTQwNjI1IC02Ljg0Mzc1IEwgNi4zNDM3NSAtNi41OTM3NSBDIDcuNTYyNSAtNi4zNTE1NjIgOC40MjU3ODEgLTUuOTg0Mzc1IDguOTM3NSAtNS40ODQzNzUgQyA5LjQ0NTMxMiAtNC45ODQzNzUgOS43MDMxMjUgLTQuMjczNDM4IDkuNzAzMTI1IC0zLjM1OTM3NSBDIDkuNzAzMTI1IC0yLjE0ODQzOCA5LjM0Mzc1IC0xLjI1IDguNjI1IC0wLjY1NjI1IEMgNy45MTQwNjIgLTAuMDcwMzEyNSA2LjgyODEyNSAwLjIxODc1IDUuMzU5Mzc1IDAuMjE4NzUgQyA0LjY2MDE1NiAwLjIxODc1IDMuOTYwOTM4IDAuMTQ4NDM4IDMuMjY1NjI1IDAuMDE1NjI1IEMgMi41NjY0MDYgLTAuMTE3MTg4IDEuODY3MTg4IC0wLjMxNjQwNiAxLjE3MTg3NSAtMC41NzgxMjUgTCAxLjE3MTg3NSAtMi45NTMxMjUgQyAxLjg2NzE4OCAtMi41NzgxMjUgMi41MzkwNjIgLTIuMjk2ODc1IDMuMTg3NSAtMi4xMDkzNzUgQyAzLjg0Mzc1IC0xLjkyMTg3NSA0LjQ3MjY1NiAtMS44MjgxMjUgNS4wNzgxMjUgLTEuODI4MTI1IEMgNS42OTE0MDYgLTEuODI4MTI1IDYuMTYwMTU2IC0xLjkyOTY4OCA2LjQ4NDM3NSAtMi4xNDA2MjUgQyA2LjgxNjQwNiAtMi4zNDc2NTYgNi45ODQzNzUgLTIuNjQwNjI1IDYuOTg0Mzc1IC0zLjAxNTYyNSBDIDYuOTg0Mzc1IC0zLjM1OTM3NSA2Ljg3NSAtMy42MjUgNi42NTYyNSAtMy44MTI1IEMgNi40Mzc1IC00IDUuOTkyMTg4IC00LjE2NDA2MiA1LjMyODEyNSAtNC4zMTI1IEwgNC4yMzQzNzUgLTQuNTQ2ODc1IEMgMy4xNDA2MjUgLTQuNzg1MTU2IDIuMzM1OTM4IC01LjE2MDE1NiAxLjgyODEyNSAtNS42NzE4NzUgQyAxLjMyODEyNSAtNi4xNzk2ODggMS4wNzgxMjUgLTYuODY3MTg4IDEuMDc4MTI1IC03LjczNDM3NSBDIDEuMDc4MTI1IC04LjgyODEyNSAxLjQyNTc4MSAtOS42NjQwNjIgMi4xMjUgLTEwLjI1IEMgMi44MzIwMzEgLTEwLjg0Mzc1IDMuODQzNzUgLTExLjE0MDYyNSA1LjE1NjI1IC0xMS4xNDA2MjUgQyA1Ljc1NzgxMiAtMTEuMTQwNjI1IDYuMzc4OTA2IC0xMS4wOTM3NSA3LjAxNTYyNSAtMTEgQyA3LjY0ODQzOCAtMTAuOTA2MjUgOC4zMDQ2ODggLTEwLjc2OTUzMSA4Ljk4NDM3NSAtMTAuNTkzNzUgWiBNIDguOTg0Mzc1IC0xMC41OTM3NSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDAtMiI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9Ik0gNS4xNTYyNSAtNi41MzEyNSBDIDQuNTgyMDMxIC02LjUzMTI1IDQuMTQwNjI1IC02LjMyMDMxMiAzLjgyODEyNSAtNS45MDYyNSBDIDMuNTIzNDM4IC01LjQ4ODI4MSAzLjM3NSAtNC44ODI4MTIgMy4zNzUgLTQuMDkzNzUgQyAzLjM3NSAtMy4zMTI1IDMuNTIzNDM4IC0yLjcwNzAzMSAzLjgyODEyNSAtMi4yODEyNSBDIDQuMTQwNjI1IC0xLjg2MzI4MSA0LjU4MjAzMSAtMS42NTYyNSA1LjE1NjI1IC0xLjY1NjI1IEMgNS43MjY1NjIgLTEuNjU2MjUgNi4xNjQwNjIgLTEuODYzMjgxIDYuNDY4NzUgLTIuMjgxMjUgQyA2Ljc2OTUzMSAtMi43MDcwMzEgNi45MjE4NzUgLTMuMzEyNSA2LjkyMTg3NSAtNC4wOTM3NSBDIDYuOTIxODc1IC00Ljg4MjgxMiA2Ljc2OTUzMSAtNS40ODgyODEgNi40Njg3NSAtNS45MDYyNSBDIDYuMTY0MDYyIC02LjMyMDMxMiA1LjcyNjU2MiAtNi41MzEyNSA1LjE1NjI1IC02LjUzMTI1IFogTSA1LjE1NjI1IC04LjQwNjI1IEMgNi41NzAzMTIgLTguNDA2MjUgNy42NzU3ODEgLTguMDE5NTMxIDguNDY4NzUgLTcuMjUgQyA5LjI1NzgxMiAtNi40ODgyODEgOS42NTYyNSAtNS40Mzc1IDkuNjU2MjUgLTQuMDkzNzUgQyA5LjY1NjI1IC0yLjc1IDkuMjU3ODEyIC0xLjY5MTQwNiA4LjQ2ODc1IC0wLjkyMTg3NSBDIDcuNjc1NzgxIC0wLjE2MDE1NiA2LjU3MDMxMiAwLjIxODc1IDUuMTU2MjUgMC4yMTg3NSBDIDMuNzUgMC4yMTg3NSAyLjY0NDUzMSAtMC4xNjAxNTYgMS44NDM3NSAtMC45MjE4NzUgQyAxLjAzOTA2MiAtMS42OTE0MDYgMC42NDA2MjUgLTIuNzUgMC42NDA2MjUgLTQuMDkzNzUgQyAwLjY0MDYyNSAtNS40Mzc1IDEuMDM5MDYyIC02LjQ4ODI4MSAxLjg0Mzc1IC03LjI1IEMgMi42NDQ1MzEgLTguMDE5NTMxIDMuNzUgLTguNDA2MjUgNS4xNTYyNSAtOC40MDYyNSBaIE0gNS4xNTYyNSAtOC40MDYyNSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDAtMyI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9Ik0gMS4yNjU2MjUgLTExLjM5MDYyNSBMIDMuODc1IC0xMS4zOTA2MjUgTCAzLjg3NSAwIEwgMS4yNjU2MjUgMCBaIE0gMS4yNjU2MjUgLTExLjM5MDYyNSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDAtNCI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9Ik0gMS4xNzE4NzUgLTMuMTg3NSBMIDEuMTcxODc1IC04LjIwMzEyNSBMIDMuODEyNSAtOC4yMDMxMjUgTCAzLjgxMjUgLTcuMzkwNjI1IEMgMy44MTI1IC02Ljk0MTQwNiAzLjgwNDY4OCAtNi4zNzg5MDYgMy43OTY4NzUgLTUuNzAzMTI1IEMgMy43OTY4NzUgLTUuMDM1MTU2IDMuNzk2ODc1IC00LjU4NTkzOCAzLjc5Njg3NSAtNC4zNTkzNzUgQyAzLjc5Njg3NSAtMy43MDMxMjUgMy44MTI1IC0zLjIyNjU2MiAzLjg0Mzc1IC0yLjkzNzUgQyAzLjg3NSAtMi42NDQ1MzEgMy45Mjk2ODggLTIuNDM3NSA0LjAxNTYyNSAtMi4zMTI1IEMgNC4xMjg5MDYgLTIuMTMyODEyIDQuMjY5NTMxIC0yIDQuNDM3NSAtMS45MDYyNSBDIDQuNjEzMjgxIC0xLjgxMjUgNC44MTY0MDYgLTEuNzY1NjI1IDUuMDQ2ODc1IC0xLjc2NTYyNSBDIDUuNTg1OTM4IC0xLjc2NTYyNSA2LjAxNTYyNSAtMS45NzI2NTYgNi4zMjgxMjUgLTIuMzkwNjI1IEMgNi42NDA2MjUgLTIuODE2NDA2IDYuNzk2ODc1IC0zLjQwNjI1IDYuNzk2ODc1IC00LjE1NjI1IEwgNi43OTY4NzUgLTguMjAzMTI1IEwgOS40MjE4NzUgLTguMjAzMTI1IEwgOS40MjE4NzUgMCBMIDYuNzk2ODc1IDAgTCA2Ljc5Njg3NSAtMS4xODc1IEMgNi4zOTg0MzggLTAuNzA3MDMxIDUuOTc2NTYyIC0wLjM1MTU2MiA1LjUzMTI1IC0wLjEyNSBDIDUuMDkzNzUgMC4xMDE1NjIgNC42MDkzNzUgMC4yMTg3NSA0LjA3ODEyNSAwLjIxODc1IEMgMy4xMjg5MDYgMC4yMTg3NSAyLjQwNjI1IC0wLjA3MDMxMjUgMS45MDYyNSAtMC42NTYyNSBDIDEuNDE0MDYyIC0xLjIzODI4MSAxLjE3MTg3NSAtMi4wODIwMzEgMS4xNzE4NzUgLTMuMTg3NSBaIE0gMS4xNzE4NzUgLTMuMTg3NSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDAtNSI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9Ik0gNC4xMjUgLTEwLjUzMTI1IEwgNC4xMjUgLTguMjAzMTI1IEwgNi44MjgxMjUgLTguMjAzMTI1IEwgNi44MjgxMjUgLTYuMzI4MTI1IEwgNC4xMjUgLTYuMzI4MTI1IEwgNC4xMjUgLTIuODQzNzUgQyA0LjEyNSAtMi40Njg3NSA0LjE5NTMxMiAtMi4yMTA5MzggNC4zNDM3NSAtMi4wNzgxMjUgQyA0LjUgLTEuOTQxNDA2IDQuODAwNzgxIC0xLjg3NSA1LjI1IC0xLjg3NSBMIDYuNTkzNzUgLTEuODc1IEwgNi41OTM3NSAwIEwgNC4zNDM3NSAwIEMgMy4zMTI1IDAgMi41NzgxMjUgLTAuMjEwOTM4IDIuMTQwNjI1IC0wLjY0MDYyNSBDIDEuNzEwOTM4IC0xLjA3ODEyNSAxLjUgLTEuODEyNSAxLjUgLTIuODQzNzUgTCAxLjUgLTYuMzI4MTI1IEwgMC4yMDMxMjUgLTYuMzI4MTI1IEwgMC4yMDMxMjUgLTguMjAzMTI1IEwgMS41IC04LjIwMzEyNSBMIDEuNSAtMTAuNTMxMjUgWiBNIDQuMTI1IC0xMC41MzEyNSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDAtNiI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9Ik0gMS4yNjU2MjUgLTguMjAzMTI1IEwgMy44NzUgLTguMjAzMTI1IEwgMy44NzUgMCBMIDEuMjY1NjI1IDAgWiBNIDEuMjY1NjI1IC0xMS4zOTA2MjUgTCAzLjg3NSAtMTEuMzkwNjI1IEwgMy44NzUgLTkuMjY1NjI1IEwgMS4yNjU2MjUgLTkuMjY1NjI1IFogTSAxLjI2NTYyNSAtMTEuMzkwNjI1ICIvPgo8L3N5bWJvbD4KPHN5bWJvbCBvdmVyZmxvdz0idmlzaWJsZSIgaWQ9ImdseXBoMC03Ij4KPHBhdGggc3R5bGU9InN0cm9rZTpub25lOyIgZD0iTSA5LjUgLTUgTCA5LjUgMCBMIDYuODc1IDAgTCA2Ljg3NSAtMy44MjgxMjUgQyA2Ljg3NSAtNC41MzUxNTYgNi44NTkzNzUgLTUuMDE5NTMxIDYuODI4MTI1IC01LjI4MTI1IEMgNi43OTY4NzUgLTUuNTUwNzgxIDYuNzM4MjgxIC01Ljc1IDYuNjU2MjUgLTUuODc1IEMgNi41NTA3ODEgLTYuMDUwNzgxIDYuNDEwMTU2IC02LjE4NzUgNi4yMzQzNzUgLTYuMjgxMjUgQyA2LjA2NjQwNiAtNi4zNzUgNS44NjcxODggLTYuNDIxODc1IDUuNjQwNjI1IC02LjQyMTg3NSBDIDUuMDg1OTM4IC02LjQyMTg3NSA0LjY1NjI1IC02LjIwNzAzMSA0LjM0Mzc1IC01Ljc4MTI1IEMgNC4wMzEyNSAtNS4zNjMyODEgMy44NzUgLTQuNzgxMjUgMy44NzUgLTQuMDMxMjUgTCAzLjg3NSAwIEwgMS4yNjU2MjUgMCBMIDEuMjY1NjI1IC04LjIwMzEyNSBMIDMuODc1IC04LjIwMzEyNSBMIDMuODc1IC03IEMgNC4yNjk1MzEgLTcuNDc2NTYyIDQuNjkxNDA2IC03LjgzMjAzMSA1LjE0MDYyNSAtOC4wNjI1IEMgNS41ODU5MzggLTguMjg5MDYyIDYuMDc4MTI1IC04LjQwNjI1IDYuNjA5Mzc1IC04LjQwNjI1IEMgNy41NTQ2ODggLTguNDA2MjUgOC4yNzM0MzggLTguMTEzMjgxIDguNzY1NjI1IC03LjUzMTI1IEMgOS4yNTM5MDYgLTYuOTQ1MzEyIDkuNSAtNi4xMDE1NjIgOS41IC01IFogTSA5LjUgLTUgIi8+Cjwvc3ltYm9sPgo8c3ltYm9sIG92ZXJmbG93PSJ2aXNpYmxlIiBpZD0iZ2x5cGgxLTAiPgo8cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7IiBkPSJNIDAuNSAxLjc2NTYyNSBMIDAuNSAtNy4wNDY4NzUgTCA1LjUgLTcuMDQ2ODc1IEwgNS41IDEuNzY1NjI1IFogTSAxLjA2MjUgMS4yMTg3NSBMIDQuOTM3NSAxLjIxODc1IEwgNC45Mzc1IC02LjQ4NDM3NSBMIDEuMDYyNSAtNi40ODQzNzUgWiBNIDEuMDYyNSAxLjIxODc1ICIvPgo8L3N5bWJvbD4KPHN5bWJvbCBvdmVyZmxvdz0idmlzaWJsZSIgaWQ9ImdseXBoMS0xIj4KPHBhdGggc3R5bGU9InN0cm9rZTpub25lOyIgZD0iTSAzLjE3MTg3NSAtNi42NDA2MjUgQyAyLjY3MTg3NSAtNi42NDA2MjUgMi4yODkwNjIgLTYuMzkwNjI1IDIuMDMxMjUgLTUuODkwNjI1IEMgMS43ODEyNSAtNS4zOTA2MjUgMS42NTYyNSAtNC42NDA2MjUgMS42NTYyNSAtMy42NDA2MjUgQyAxLjY1NjI1IC0yLjY0MDYyNSAxLjc4MTI1IC0xLjg5MDYyNSAyLjAzMTI1IC0xLjM5MDYyNSBDIDIuMjg5MDYyIC0wLjg5MDYyNSAyLjY3MTg3NSAtMC42NDA2MjUgMy4xNzE4NzUgLTAuNjQwNjI1IEMgMy42OTE0MDYgLTAuNjQwNjI1IDQuMDc4MTI1IC0wLjg5MDYyNSA0LjMyODEyNSAtMS4zOTA2MjUgQyA0LjU4NTkzOCAtMS44OTA2MjUgNC43MTg3NSAtMi42NDA2MjUgNC43MTg3NSAtMy42NDA2MjUgQyA0LjcxODc1IC00LjY0MDYyNSA0LjU4NTkzOCAtNS4zOTA2MjUgNC4zMjgxMjUgLTUuODkwNjI1IEMgNC4wNzgxMjUgLTYuMzkwNjI1IDMuNjkxNDA2IC02LjY0MDYyNSAzLjE3MTg3NSAtNi42NDA2MjUgWiBNIDMuMTcxODc1IC03LjQyMTg3NSBDIDMuOTkyMTg4IC03LjQyMTg3NSA0LjYxNzE4OCAtNy4wOTc2NTYgNS4wNDY4NzUgLTYuNDUzMTI1IEMgNS40ODQzNzUgLTUuODA0Njg4IDUuNzAzMTI1IC00Ljg2NzE4OCA1LjcwMzEyNSAtMy42NDA2MjUgQyA1LjcwMzEyNSAtMi40MTAxNTYgNS40ODQzNzUgLTEuNDcyNjU2IDUuMDQ2ODc1IC0wLjgyODEyNSBDIDQuNjE3MTg4IC0wLjE3OTY4OCAzLjk5MjE4OCAwLjE0MDYyNSAzLjE3MTg3NSAwLjE0MDYyNSBDIDIuMzU5Mzc1IDAuMTQwNjI1IDEuNzM0Mzc1IC0wLjE3OTY4OCAxLjI5Njg3NSAtMC44MjgxMjUgQyAwLjg2NzE4OCAtMS40NzI2NTYgMC42NTYyNSAtMi40MTAxNTYgMC42NTYyNSAtMy42NDA2MjUgQyAwLjY1NjI1IC00Ljg2NzE4OCAwLjg2NzE4OCAtNS44MDQ2ODggMS4yOTY4NzUgLTYuNDUzMTI1IEMgMS43MzQzNzUgLTcuMDk3NjU2IDIuMzU5Mzc1IC03LjQyMTg3NSAzLjE3MTg3NSAtNy40MjE4NzUgWiBNIDMuMTcxODc1IC03LjQyMTg3NSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDEtMiI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9Ik0gMS4wNjI1IC0xLjIzNDM3NSBMIDIuMDkzNzUgLTEuMjM0Mzc1IEwgMi4wOTM3NSAwIEwgMS4wNjI1IDAgWiBNIDEuMDYyNSAtMS4yMzQzNzUgIi8+Cjwvc3ltYm9sPgo8c3ltYm9sIG92ZXJmbG93PSJ2aXNpYmxlIiBpZD0iZ2x5cGgxLTMiPgo8cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7IiBkPSJNIDEuMjM0Mzc1IC0wLjgyODEyNSBMIDIuODU5Mzc1IC0wLjgyODEyNSBMIDIuODU5Mzc1IC02LjM5MDYyNSBMIDEuMDkzNzUgLTYuMDQ2ODc1IEwgMS4wOTM3NSAtNi45Mzc1IEwgMi44NDM3NSAtNy4yOTY4NzUgTCAzLjgyODEyNSAtNy4yOTY4NzUgTCAzLjgyODEyNSAtMC44MjgxMjUgTCA1LjQzNzUgLTAuODI4MTI1IEwgNS40Mzc1IDAgTCAxLjIzNDM3NSAwIFogTSAxLjIzNDM3NSAtMC44MjgxMjUgIi8+Cjwvc3ltYm9sPgo8c3ltYm9sIG92ZXJmbG93PSJ2aXNpYmxlIiBpZD0iZ2x5cGgxLTQiPgo8cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7IiBkPSJNIDEuOTIxODc1IC0wLjgyODEyNSBMIDUuMzU5Mzc1IC0wLjgyODEyNSBMIDUuMzU5Mzc1IDAgTCAwLjczNDM3NSAwIEwgMC43MzQzNzUgLTAuODI4MTI1IEMgMS4xMDkzNzUgLTEuMjEwOTM4IDEuNjE3MTg4IC0xLjczNDM3NSAyLjI2NTYyNSAtMi4zOTA2MjUgQyAyLjkxMDE1NiAtMy4wNDY4NzUgMy4zMTY0MDYgLTMuNDY4NzUgMy40ODQzNzUgLTMuNjU2MjUgQyAzLjc5Njg3NSAtNC4wMDc4MTIgNC4wMTU2MjUgLTQuMzA0Njg4IDQuMTQwNjI1IC00LjU0Njg3NSBDIDQuMjY1NjI1IC00Ljc5Njg3NSA0LjMyODEyNSAtNS4wMzkwNjIgNC4zMjgxMjUgLTUuMjgxMjUgQyA0LjMyODEyNSAtNS42NjQwNjIgNC4xOTE0MDYgLTUuOTc2NTYyIDMuOTIxODc1IC02LjIxODc1IEMgMy42NDg0MzggLTYuNDY4NzUgMy4yOTY4NzUgLTYuNTkzNzUgMi44NTkzNzUgLTYuNTkzNzUgQyAyLjU0Njg3NSAtNi41OTM3NSAyLjIxODc1IC02LjUzNTE1NiAxLjg3NSAtNi40MjE4NzUgQyAxLjUzOTA2MiAtNi4zMTY0MDYgMS4xNzU3ODEgLTYuMTU2MjUgMC43ODEyNSAtNS45Mzc1IEwgMC43ODEyNSAtNi45Mzc1IEMgMS4xNzU3ODEgLTcuMDkzNzUgMS41NDY4NzUgLTcuMjEwOTM4IDEuODkwNjI1IC03LjI5Njg3NSBDIDIuMjM0Mzc1IC03LjM3ODkwNiAyLjU1MDc4MSAtNy40MjE4NzUgMi44NDM3NSAtNy40MjE4NzUgQyAzLjU5Mzc1IC03LjQyMTg3NSA0LjE5MTQwNiAtNy4yMzQzNzUgNC42NDA2MjUgLTYuODU5Mzc1IEMgNS4wOTc2NTYgLTYuNDg0Mzc1IDUuMzI4MTI1IC01Ljk3NjU2MiA1LjMyODEyNSAtNS4zNDM3NSBDIDUuMzI4MTI1IC01LjAzOTA2MiA1LjI2OTUzMSAtNC43NTM5MDYgNS4xNTYyNSAtNC40ODQzNzUgQyA1LjAzOTA2MiAtNC4yMjI2NTYgNC44MzU5MzggLTMuOTEwMTU2IDQuNTQ2ODc1IC0zLjU0Njg3NSBDIDQuNDYwOTM4IC0zLjQ1MzEyNSA0LjIwMzEyNSAtMy4xNzU3ODEgMy43NjU2MjUgLTIuNzE4NzUgQyAzLjMyODEyNSAtMi4yNjk1MzEgMi43MTA5MzggLTEuNjQwNjI1IDEuOTIxODc1IC0wLjgyODEyNSBaIE0gMS45MjE4NzUgLTAuODI4MTI1ICIvPgo8L3N5bWJvbD4KPHN5bWJvbCBvdmVyZmxvdz0idmlzaWJsZSIgaWQ9ImdseXBoMS01Ij4KPHBhdGggc3R5bGU9InN0cm9rZTpub25lOyIgZD0iTSAzLjc4MTI1IC02LjQzNzUgTCAxLjI5Njg3NSAtMi41NDY4NzUgTCAzLjc4MTI1IC0yLjU0Njg3NSBaIE0gMy41MTU2MjUgLTcuMjk2ODc1IEwgNC43NjU2MjUgLTcuMjk2ODc1IEwgNC43NjU2MjUgLTIuNTQ2ODc1IEwgNS43OTY4NzUgLTIuNTQ2ODc1IEwgNS43OTY4NzUgLTEuNzE4NzUgTCA0Ljc2NTYyNSAtMS43MTg3NSBMIDQuNzY1NjI1IDAgTCAzLjc4MTI1IDAgTCAzLjc4MTI1IC0xLjcxODc1IEwgMC40ODQzNzUgLTEuNzE4NzUgTCAwLjQ4NDM3NSAtMi42NzE4NzUgWiBNIDMuNTE1NjI1IC03LjI5Njg3NSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDEtNiI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9Ik0gMy4yOTY4NzUgLTQuMDMxMjUgQyAyLjg1OTM3NSAtNC4wMzEyNSAyLjUwNzgxMiAtMy44Nzg5MDYgMi4yNSAtMy41NzgxMjUgQyAxLjk4ODI4MSAtMy4yNzM0MzggMS44NTkzNzUgLTIuODYzMjgxIDEuODU5Mzc1IC0yLjM0Mzc1IEMgMS44NTkzNzUgLTEuODEyNSAxLjk4ODI4MSAtMS4zOTQ1MzEgMi4yNSAtMS4wOTM3NSBDIDIuNTA3ODEyIC0wLjc4OTA2MiAyLjg1OTM3NSAtMC42NDA2MjUgMy4yOTY4NzUgLTAuNjQwNjI1IEMgMy43NDIxODggLTAuNjQwNjI1IDQuMDkzNzUgLTAuNzg5MDYyIDQuMzQzNzUgLTEuMDkzNzUgQyA0LjYwMTU2MiAtMS4zOTQ1MzEgNC43MzQzNzUgLTEuODEyNSA0LjczNDM3NSAtMi4zNDM3NSBDIDQuNzM0Mzc1IC0yLjg2MzI4MSA0LjYwMTU2MiAtMy4yNzM0MzggNC4zNDM3NSAtMy41NzgxMjUgQyA0LjA5Mzc1IC0zLjg3ODkwNiAzLjc0MjE4OCAtNC4wMzEyNSAzLjI5Njg3NSAtNC4wMzEyNSBaIE0gNS4yNjU2MjUgLTcuMTI1IEwgNS4yNjU2MjUgLTYuMjM0Mzc1IEMgNS4wMTU2MjUgLTYuMzQ3NjU2IDQuNzU3ODEyIC02LjQzNzUgNC41IC02LjUgQyA0LjI1IC02LjU2MjUgNC4wMDM5MDYgLTYuNTkzNzUgMy43NjU2MjUgLTYuNTkzNzUgQyAzLjEwOTM3NSAtNi41OTM3NSAyLjYwOTM3NSAtNi4zNzUgMi4yNjU2MjUgLTUuOTM3NSBDIDEuOTIxODc1IC01LjUgMS43MjY1NjIgLTQuODMyMDMxIDEuNjg3NSAtMy45Mzc1IEMgMS44NzUgLTQuMjE4NzUgMi4xMTMyODEgLTQuNDI5Njg4IDIuNDA2MjUgLTQuNTc4MTI1IEMgMi42OTUzMTIgLTQuNzM0Mzc1IDMuMDE1NjI1IC00LjgxMjUgMy4zNTkzNzUgLTQuODEyNSBDIDQuMDg1OTM4IC00LjgxMjUgNC42NjQwNjIgLTQuNTg1OTM4IDUuMDkzNzUgLTQuMTQwNjI1IEMgNS41MTk1MzEgLTMuNzAzMTI1IDUuNzM0Mzc1IC0zLjEwMTU2MiA1LjczNDM3NSAtMi4zNDM3NSBDIDUuNzM0Mzc1IC0xLjU5Mzc1IDUuNTA3ODEyIC0wLjk4ODI4MSA1LjA2MjUgLTAuNTMxMjUgQyA0LjYyNSAtMC4wODIwMzEyIDQuMDM1MTU2IDAuMTQwNjI1IDMuMjk2ODc1IDAuMTQwNjI1IEMgMi40NTMxMjUgMC4xNDA2MjUgMS44MDQ2ODggLTAuMTc5Njg4IDEuMzU5Mzc1IC0wLjgyODEyNSBDIDAuOTIxODc1IC0xLjQ3MjY1NiAwLjcwMzEyNSAtMi40MTAxNTYgMC43MDMxMjUgLTMuNjQwNjI1IEMgMC43MDMxMjUgLTQuNzg1MTU2IDAuOTcyNjU2IC01LjcwMzEyNSAxLjUxNTYyNSAtNi4zOTA2MjUgQyAyLjA2NjQwNiAtNy4wNzgxMjUgMi44MDA3ODEgLTcuNDIxODc1IDMuNzE4NzUgLTcuNDIxODc1IEMgMy45Njg3NSAtNy40MjE4NzUgNC4yMTg3NSAtNy4zOTQ1MzEgNC40Njg3NSAtNy4zNDM3NSBDIDQuNzE4NzUgLTcuMzAwNzgxIDQuOTg0Mzc1IC03LjIyNjU2MiA1LjI2NTYyNSAtNy4xMjUgWiBNIDUuMjY1NjI1IC03LjEyNSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDEtNyI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9Ik0gMy4xNzE4NzUgLTMuNDY4NzUgQyAyLjcwMzEyNSAtMy40Njg3NSAyLjMzMjAzMSAtMy4zMzU5MzggMi4wNjI1IC0zLjA3ODEyNSBDIDEuODAwNzgxIC0yLjgyODEyNSAxLjY3MTg3NSAtMi40ODQzNzUgMS42NzE4NzUgLTIuMDQ2ODc1IEMgMS42NzE4NzUgLTEuNjA5Mzc1IDEuODAwNzgxIC0xLjI2NTYyNSAyLjA2MjUgLTEuMDE1NjI1IEMgMi4zMzIwMzEgLTAuNzY1NjI1IDIuNzAzMTI1IC0wLjY0MDYyNSAzLjE3MTg3NSAtMC42NDA2MjUgQyAzLjY0MDYyNSAtMC42NDA2MjUgNC4wMDc4MTIgLTAuNzY1NjI1IDQuMjgxMjUgLTEuMDE1NjI1IEMgNC41NTA3ODEgLTEuMjY1NjI1IDQuNjg3NSAtMS42MDkzNzUgNC42ODc1IC0yLjA0Njg3NSBDIDQuNjg3NSAtMi40ODQzNzUgNC41NTA3ODEgLTIuODI4MTI1IDQuMjgxMjUgLTMuMDc4MTI1IEMgNC4wMTk1MzEgLTMuMzM1OTM4IDMuNjQ4NDM4IC0zLjQ2ODc1IDMuMTcxODc1IC0zLjQ2ODc1IFogTSAyLjE4NzUgLTMuODc1IEMgMS43Njk1MzEgLTMuOTc2NTYyIDEuNDQxNDA2IC00LjE3NTc4MSAxLjIwMzEyNSAtNC40Njg3NSBDIDAuOTYwOTM4IC00Ljc1NzgxMiAwLjg0Mzc1IC01LjExMzI4MSAwLjg0Mzc1IC01LjUzMTI1IEMgMC44NDM3NSAtNi4xMTMyODEgMS4wNTA3ODEgLTYuNTcwMzEyIDEuNDY4NzUgLTYuOTA2MjUgQyAxLjg4MjgxMiAtNy4yNSAyLjQ1MzEyNSAtNy40MjE4NzUgMy4xNzE4NzUgLTcuNDIxODc1IEMgMy44OTg0MzggLTcuNDIxODc1IDQuNDcyNjU2IC03LjI1IDQuODkwNjI1IC02LjkwNjI1IEMgNS4zMDQ2ODggLTYuNTcwMzEyIDUuNTE1NjI1IC02LjExMzI4MSA1LjUxNTYyNSAtNS41MzEyNSBDIDUuNTE1NjI1IC01LjExMzI4MSA1LjM5NDUzMSAtNC43NTc4MTIgNS4xNTYyNSAtNC40Njg3NSBDIDQuOTE0MDYyIC00LjE3NTc4MSA0LjU4NTkzOCAtMy45NzY1NjIgNC4xNzE4NzUgLTMuODc1IEMgNC42NDg0MzggLTMuNzY5NTMxIDUuMDE5NTMxIC0zLjU1NDY4OCA1LjI4MTI1IC0zLjIzNDM3NSBDIDUuNTM5MDYyIC0yLjkxMDE1NiA1LjY3MTg3NSAtMi41MTU2MjUgNS42NzE4NzUgLTIuMDQ2ODc1IEMgNS42NzE4NzUgLTEuMzM1OTM4IDUuNDU3MDMxIC0wLjc5Njg3NSA1LjAzMTI1IC0wLjQyMTg3NSBDIDQuNjAxNTYyIC0wLjA0Njg3NSAzLjk4NDM3NSAwLjE0MDYyNSAzLjE3MTg3NSAwLjE0MDYyNSBDIDIuMzY3MTg4IDAuMTQwNjI1IDEuNzUgLTAuMDQ2ODc1IDEuMzEyNSAtMC40MjE4NzUgQyAwLjg4MjgxMiAtMC43OTY4NzUgMC42NzE4NzUgLTEuMzM1OTM4IDAuNjcxODc1IC0yLjA0Njg3NSBDIDAuNjcxODc1IC0yLjUxNTYyNSAwLjgwNDY4OCAtMi45MTAxNTYgMS4wNzgxMjUgLTMuMjM0Mzc1IEMgMS4zNDc2NTYgLTMuNTU0Njg4IDEuNzE4NzUgLTMuNzY5NTMxIDIuMTg3NSAtMy44NzUgWiBNIDEuODI4MTI1IC01LjQzNzUgQyAxLjgyODEyNSAtNS4wNjI1IDEuOTQ1MzEyIC00Ljc2NTYyNSAyLjE4NzUgLTQuNTQ2ODc1IEMgMi40MjU3ODEgLTQuMzM1OTM4IDIuNzUzOTA2IC00LjIzNDM3NSAzLjE3MTg3NSAtNC4yMzQzNzUgQyAzLjU5NzY1NiAtNC4yMzQzNzUgMy45Mjk2ODggLTQuMzM1OTM4IDQuMTcxODc1IC00LjU0Njg3NSBDIDQuNDEwMTU2IC00Ljc2NTYyNSA0LjUzMTI1IC01LjA2MjUgNC41MzEyNSAtNS40Mzc1IEMgNC41MzEyNSAtNS44MTI1IDQuNDEwMTU2IC02LjEwMTU2MiA0LjE3MTg3NSAtNi4zMTI1IEMgMy45Mjk2ODggLTYuNTMxMjUgMy41OTc2NTYgLTYuNjQwNjI1IDMuMTcxODc1IC02LjY0MDYyNSBDIDIuNzUzOTA2IC02LjY0MDYyNSAyLjQyNTc4MSAtNi41MzEyNSAyLjE4NzUgLTYuMzEyNSBDIDEuOTQ1MzEyIC02LjEwMTU2MiAxLjgyODEyNSAtNS44MTI1IDEuODI4MTI1IC01LjQzNzUgWiBNIDEuODI4MTI1IC01LjQzNzUgIi8+Cjwvc3ltYm9sPgo8c3ltYm9sIG92ZXJmbG93PSJ2aXNpYmxlIiBpZD0iZ2x5cGgxLTgiPgo8cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7IiBkPSJNIDMuNzE4NzUgLTcuNTkzNzUgTCAzLjcxODc1IC02Ljg0Mzc1IEwgMi44NTkzNzUgLTYuODQzNzUgQyAyLjUzNTE1NiAtNi44NDM3NSAyLjMxMjUgLTYuNzczNDM4IDIuMTg3NSAtNi42NDA2MjUgQyAyLjA2MjUgLTYuNTE1NjI1IDIgLTYuMjg1MTU2IDIgLTUuOTUzMTI1IEwgMiAtNS40Njg3NSBMIDMuNDY4NzUgLTUuNDY4NzUgTCAzLjQ2ODc1IC00Ljc2NTYyNSBMIDIgLTQuNzY1NjI1IEwgMiAwIEwgMS4wOTM3NSAwIEwgMS4wOTM3NSAtNC43NjU2MjUgTCAwLjIzNDM3NSAtNC43NjU2MjUgTCAwLjIzNDM3NSAtNS40Njg3NSBMIDEuMDkzNzUgLTUuNDY4NzUgTCAxLjA5Mzc1IC01Ljg0Mzc1IEMgMS4wOTM3NSAtNi40NTcwMzEgMS4yMzQzNzUgLTYuODk4NDM4IDEuNTE1NjI1IC03LjE3MTg3NSBDIDEuNzk2ODc1IC03LjQ1MzEyNSAyLjI0MjE4OCAtNy41OTM3NSAyLjg1OTM3NSAtNy41OTM3NSBaIE0gMy43MTg3NSAtNy41OTM3NSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDEtOSI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9Ik0gMS44MTI1IC0wLjgyODEyNSBMIDEuODEyNSAyLjA3ODEyNSBMIDAuOTA2MjUgMi4wNzgxMjUgTCAwLjkwNjI1IC01LjQ2ODc1IEwgMS44MTI1IC01LjQ2ODc1IEwgMS44MTI1IC00LjY0MDYyNSBDIDIgLTQuOTYwOTM4IDIuMjM0Mzc1IC01LjIwMzEyNSAyLjUxNTYyNSAtNS4zNTkzNzUgQyAyLjgwNDY4OCAtNS41MTU2MjUgMy4xNTYyNSAtNS41OTM3NSAzLjU2MjUgLTUuNTkzNzUgQyA0LjIyNjU2MiAtNS41OTM3NSA0Ljc2NTYyNSAtNS4zMjgxMjUgNS4xNzE4NzUgLTQuNzk2ODc1IEMgNS41ODU5MzggLTQuMjczNDM4IDUuNzk2ODc1IC0zLjU4NTkzOCA1Ljc5Njg3NSAtMi43MzQzNzUgQyA1Ljc5Njg3NSAtMS44NjcxODggNS41ODU5MzggLTEuMTcxODc1IDUuMTcxODc1IC0wLjY0MDYyNSBDIDQuNzY1NjI1IC0wLjExNzE4OCA0LjIyNjU2MiAwLjE0MDYyNSAzLjU2MjUgMC4xNDA2MjUgQyAzLjE1NjI1IDAuMTQwNjI1IDIuODA0Njg4IDAuMDYyNSAyLjUxNTYyNSAtMC4wOTM3NSBDIDIuMjM0Mzc1IC0wLjI1IDIgLTAuNDkyMTg4IDEuODEyNSAtMC44MjgxMjUgWiBNIDQuODc1IC0yLjczNDM3NSBDIDQuODc1IC0zLjM5MDYyNSA0LjczNDM3NSAtMy45MDYyNSA0LjQ1MzEyNSAtNC4yODEyNSBDIDQuMTc5Njg4IC00LjY1NjI1IDMuODEyNSAtNC44NDM3NSAzLjM0Mzc1IC00Ljg0Mzc1IEMgMi44NjMyODEgLTQuODQzNzUgMi40ODgyODEgLTQuNjU2MjUgMi4yMTg3NSAtNC4yODEyNSBDIDEuOTQ1MzEyIC0zLjkwNjI1IDEuODEyNSAtMy4zOTA2MjUgMS44MTI1IC0yLjczNDM3NSBDIDEuODEyNSAtMi4wNjY0MDYgMS45NDUzMTIgLTEuNTQ2ODc1IDIuMjE4NzUgLTEuMTcxODc1IEMgMi40ODgyODEgLTAuNzk2ODc1IDIuODYzMjgxIC0wLjYwOTM3NSAzLjM0Mzc1IC0wLjYwOTM3NSBDIDMuODEyNSAtMC42MDkzNzUgNC4xNzk2ODggLTAuNzk2ODc1IDQuNDUzMTI1IC0xLjE3MTg3NSBDIDQuNzM0Mzc1IC0xLjU0Njg3NSA0Ljg3NSAtMi4wNjY0MDYgNC44NzUgLTIuNzM0Mzc1IFogTSA0Ljg3NSAtMi43MzQzNzUgIi8+Cjwvc3ltYm9sPgo8c3ltYm9sIG92ZXJmbG93PSJ2aXNpYmxlIiBpZD0iZ2x5cGgxLTEwIj4KPHBhdGggc3R5bGU9InN0cm9rZTpub25lOyIgZD0iTSAzLjA2MjUgLTQuODQzNzUgQyAyLjU4MjAzMSAtNC44NDM3NSAyLjIwMzEyNSAtNC42NTYyNSAxLjkyMTg3NSAtNC4yODEyNSBDIDEuNjQwNjI1IC0zLjkwNjI1IDEuNSAtMy4zOTA2MjUgMS41IC0yLjczNDM3NSBDIDEuNSAtMi4wNzgxMjUgMS42MzI4MTIgLTEuNTYyNSAxLjkwNjI1IC0xLjE4NzUgQyAyLjE4NzUgLTAuODEyNSAyLjU3MDMxMiAtMC42MjUgMy4wNjI1IC0wLjYyNSBDIDMuNTM5MDYyIC0wLjYyNSAzLjkyMTg3NSAtMC44MTI1IDQuMjAzMTI1IC0xLjE4NzUgQyA0LjQ4NDM3NSAtMS41NjI1IDQuNjI1IC0yLjA3ODEyNSA0LjYyNSAtMi43MzQzNzUgQyA0LjYyNSAtMy4zNzg5MDYgNC40ODQzNzUgLTMuODkwNjI1IDQuMjAzMTI1IC00LjI2NTYyNSBDIDMuOTIxODc1IC00LjY0ODQzOCAzLjUzOTA2MiAtNC44NDM3NSAzLjA2MjUgLTQuODQzNzUgWiBNIDMuMDYyNSAtNS41OTM3NSBDIDMuODQzNzUgLTUuNTkzNzUgNC40NTcwMzEgLTUuMzM1OTM4IDQuOTA2MjUgLTQuODI4MTI1IEMgNS4zNTE1NjIgLTQuMzI4MTI1IDUuNTc4MTI1IC0zLjYyODkwNiA1LjU3ODEyNSAtMi43MzQzNzUgQyA1LjU3ODEyNSAtMS44MzU5MzggNS4zNTE1NjIgLTEuMTMyODEyIDQuOTA2MjUgLTAuNjI1IEMgNC40NTcwMzEgLTAuMTEzMjgxIDMuODQzNzUgMC4xNDA2MjUgMy4wNjI1IDAuMTQwNjI1IEMgMi4yODEyNSAwLjE0MDYyNSAxLjY2NDA2MiAtMC4xMTMyODEgMS4yMTg3NSAtMC42MjUgQyAwLjc2OTUzMSAtMS4xMzI4MTIgMC41NDY4NzUgLTEuODM1OTM4IDAuNTQ2ODc1IC0yLjczNDM3NSBDIDAuNTQ2ODc1IC0zLjYyODkwNiAwLjc2OTUzMSAtNC4zMjgxMjUgMS4yMTg3NSAtNC44MjgxMjUgQyAxLjY2NDA2MiAtNS4zMzU5MzggMi4yODEyNSAtNS41OTM3NSAzLjA2MjUgLTUuNTkzNzUgWiBNIDMuMDYyNSAtNS41OTM3NSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDEtMTEiPgo8cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7IiBkPSJNIDAuOTM3NSAtNS40Njg3NSBMIDEuODQzNzUgLTUuNDY4NzUgTCAxLjg0Mzc1IDAgTCAwLjkzNzUgMCBaIE0gMC45Mzc1IC03LjU5Mzc1IEwgMS44NDM3NSAtNy41OTM3NSBMIDEuODQzNzUgLTYuNDUzMTI1IEwgMC45Mzc1IC02LjQ1MzEyNSBaIE0gMC45Mzc1IC03LjU5Mzc1ICIvPgo8L3N5bWJvbD4KPHN5bWJvbCBvdmVyZmxvdz0idmlzaWJsZSIgaWQ9ImdseXBoMS0xMiI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9Ik0gNS40ODQzNzUgLTMuMjk2ODc1IEwgNS40ODQzNzUgMCBMIDQuNTkzNzUgMCBMIDQuNTkzNzUgLTMuMjY1NjI1IEMgNC41OTM3NSAtMy43ODUxNTYgNC40ODgyODEgLTQuMTcxODc1IDQuMjgxMjUgLTQuNDIxODc1IEMgNC4wODIwMzEgLTQuNjc5Njg4IDMuNzgxMjUgLTQuODEyNSAzLjM3NSAtNC44MTI1IEMgMi44OTQ1MzEgLTQuODEyNSAyLjUxNTYyNSAtNC42NTYyNSAyLjIzNDM3NSAtNC4zNDM3NSBDIDEuOTUzMTI1IC00LjAzOTA2MiAxLjgxMjUgLTMuNjI1IDEuODEyNSAtMy4wOTM3NSBMIDEuODEyNSAwIEwgMC45MDYyNSAwIEwgMC45MDYyNSAtNS40Njg3NSBMIDEuODEyNSAtNS40Njg3NSBMIDEuODEyNSAtNC42MjUgQyAyLjAzMTI1IC00Ljk0NTMxMiAyLjI4NTE1NiAtNS4xODc1IDIuNTc4MTI1IC01LjM0Mzc1IEMgMi44NjcxODggLTUuNTA3ODEyIDMuMjAzMTI1IC01LjU5Mzc1IDMuNTc4MTI1IC01LjU5Mzc1IEMgNC4yMDMxMjUgLTUuNTkzNzUgNC42NzU3ODEgLTUuMzk4NDM4IDUgLTUuMDE1NjI1IEMgNS4zMjAzMTIgLTQuNjI4OTA2IDUuNDg0Mzc1IC00LjA1NDY4OCA1LjQ4NDM3NSAtMy4yOTY4NzUgWiBNIDUuNDg0Mzc1IC0zLjI5Njg3NSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDEtMTMiPgo8cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7IiBkPSJNIDEuODI4MTI1IC03LjAxNTYyNSBMIDEuODI4MTI1IC01LjQ2ODc1IEwgMy42ODc1IC01LjQ2ODc1IEwgMy42ODc1IC00Ljc2NTYyNSBMIDEuODI4MTI1IC00Ljc2NTYyNSBMIDEuODI4MTI1IC0xLjc5Njg3NSBDIDEuODI4MTI1IC0xLjM1OTM3NSAxLjg5MDYyNSAtMS4wNzAzMTIgMi4wMTU2MjUgLTAuOTM3NSBDIDIuMTQwNjI1IC0wLjgxMjUgMi4zOTA2MjUgLTAuNzUgMi43NjU2MjUgLTAuNzUgTCAzLjY4NzUgLTAuNzUgTCAzLjY4NzUgMCBMIDIuNzY1NjI1IDAgQyAyLjA2NjQwNiAwIDEuNTgyMDMxIC0wLjEyODkwNiAxLjMxMjUgLTAuMzkwNjI1IEMgMS4wNTA3ODEgLTAuNjQ4NDM4IDAuOTIxODc1IC0xLjExNzE4OCAwLjkyMTg3NSAtMS43OTY4NzUgTCAwLjkyMTg3NSAtNC43NjU2MjUgTCAwLjI2NTYyNSAtNC43NjU2MjUgTCAwLjI2NTYyNSAtNS40Njg3NSBMIDAuOTIxODc1IC01LjQ2ODc1IEwgMC45MjE4NzUgLTcuMDE1NjI1IFogTSAxLjgyODEyNSAtNy4wMTU2MjUgIi8+Cjwvc3ltYm9sPgo8c3ltYm9sIG92ZXJmbG93PSJ2aXNpYmxlIiBpZD0iZ2x5cGgxLTE0Ij4KPHBhdGggc3R5bGU9InN0cm9rZTpub25lOyIgZD0iTSA0LjQyMTg3NSAtNS4zMTI1IEwgNC40MjE4NzUgLTQuNDUzMTI1IEMgNC4xNzE4NzUgLTQuNTg1OTM4IDMuOTEwMTU2IC00LjY4NzUgMy42NDA2MjUgLTQuNzUgQyAzLjM2NzE4OCAtNC44MTI1IDMuMDgyMDMxIC00Ljg0Mzc1IDIuNzgxMjUgLTQuODQzNzUgQyAyLjM0Mzc1IC00Ljg0Mzc1IDIuMDA3ODEyIC00Ljc3MzQzOCAxLjc4MTI1IC00LjY0MDYyNSBDIDEuNTYyNSAtNC41MDM5MDYgMS40NTMxMjUgLTQuMzAwNzgxIDEuNDUzMTI1IC00LjAzMTI1IEMgMS40NTMxMjUgLTMuODIwMzEyIDEuNTMxMjUgLTMuNjU2MjUgMS42ODc1IC0zLjUzMTI1IEMgMS44NDM3NSAtMy40MTQwNjIgMi4xNjQwNjIgLTMuMzA0Njg4IDIuNjU2MjUgLTMuMjAzMTI1IEwgMi45NTMxMjUgLTMuMTI1IEMgMy41OTc2NTYgLTIuOTg4MjgxIDQuMDUwNzgxIC0yLjc5Njg3NSA0LjMxMjUgLTIuNTQ2ODc1IEMgNC41ODIwMzEgLTIuMjk2ODc1IDQuNzE4NzUgLTEuOTUzMTI1IDQuNzE4NzUgLTEuNTE1NjI1IEMgNC43MTg3NSAtMS4wMDM5MDYgNC41MTU2MjUgLTAuNTk3NjU2IDQuMTA5Mzc1IC0wLjI5Njg3NSBDIDMuNzEwOTM4IC0wLjAwMzkwNjI1IDMuMTY0MDYyIDAuMTQwNjI1IDIuNDY4NzUgMC4xNDA2MjUgQyAyLjE2NDA2MiAwLjE0MDYyNSAxLjg1MTU2MiAwLjEwOTM3NSAxLjUzMTI1IDAuMDQ2ODc1IEMgMS4yMTg3NSAtMC4wMDM5MDYyNSAwLjg5MDYyNSAtMC4wODU5Mzc1IDAuNTQ2ODc1IC0wLjIwMzEyNSBMIDAuNTQ2ODc1IC0xLjEyNSBDIDAuODc4OTA2IC0wLjk1NzAzMSAxLjIwMzEyNSAtMC44MjgxMjUgMS41MTU2MjUgLTAuNzM0Mzc1IEMgMS44MzU5MzggLTAuNjQ4NDM4IDIuMTYwMTU2IC0wLjYwOTM3NSAyLjQ4NDM3NSAtMC42MDkzNzUgQyAyLjg5ODQzOCAtMC42MDkzNzUgMy4yMjI2NTYgLTAuNjc5Njg4IDMuNDUzMTI1IC0wLjgyODEyNSBDIDMuNjc5Njg4IC0wLjk3MjY1NiAzLjc5Njg3NSAtMS4xNzU3ODEgMy43OTY4NzUgLTEuNDM3NSBDIDMuNzk2ODc1IC0xLjY4NzUgMy43MTA5MzggLTEuODc1IDMuNTQ2ODc1IC0yIEMgMy4zOTA2MjUgLTIuMTMyODEyIDMuMDMxMjUgLTIuMjU3ODEyIDIuNDY4NzUgLTIuMzc1IEwgMi4xNTYyNSAtMi40NTMxMjUgQyAxLjYwMTU2MiAtMi41NjY0MDYgMS4yMDMxMjUgLTIuNzQyMTg4IDAuOTUzMTI1IC0yLjk4NDM3NSBDIDAuNzAzMTI1IC0zLjIzNDM3NSAwLjU3ODEyNSAtMy41NjY0MDYgMC41NzgxMjUgLTMuOTg0Mzc1IEMgMC41NzgxMjUgLTQuNTAzOTA2IDAuNzU3ODEyIC00Ljg5ODQzOCAxLjEyNSAtNS4xNzE4NzUgQyAxLjQ4ODI4MSAtNS40NTMxMjUgMi4wMDc4MTIgLTUuNTkzNzUgMi42ODc1IC01LjU5Mzc1IEMgMy4wMDc4MTIgLTUuNTkzNzUgMy4zMTY0MDYgLTUuNTY2NDA2IDMuNjA5Mzc1IC01LjUxNTYyNSBDIDMuOTEwMTU2IC01LjQ3MjY1NiA0LjE3OTY4OCAtNS40MDYyNSA0LjQyMTg3NSAtNS4zMTI1IFogTSA0LjQyMTg3NSAtNS4zMTI1ICIvPgo8L3N5bWJvbD4KPC9nPgo8Y2xpcFBhdGggaWQ9ImNsaXAxIj4KICA8cGF0aCBkPSJNIDE1Ny4yMDcwMzEgMzguMjgxMjUgTCA0MDcgMzguMjgxMjUgTCA0MDcgMjA4IEwgMTU3LjIwNzAzMSAyMDggWiBNIDE1Ny4yMDcwMzEgMzguMjgxMjUgIi8+CjwvY2xpcFBhdGg+CjxjbGlwUGF0aCBpZD0iY2xpcDIiPgogIDxwYXRoIGQ9Ik0gMTU3LjIwNzAzMSAzOSBMIDE2MCAzOSBMIDE2MCA0NCBMIDE1Ny4yMDcwMzEgNDQgWiBNIDE1Ny4yMDcwMzEgMzkgIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPGcgaWQ9InN1cmZhY2UzNyI+CjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI0NTAiIGhlaWdodD0iMzAwIiBzdHlsZT0iZmlsbDpyZ2IoMTAwJSwxMDAlLDEwMCUpO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lOyIvPgo8ZyBzdHlsZT0iZmlsbDpyZ2IoMCUsMCUsMCUpO2ZpbGwtb3BhY2l0eToxOyI+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgwLTEiIHg9IjE5MC4wMTU2MjUiIHk9IjE4LjkyMTg3NSIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMC0yIiB4PSIyMDAuODE4ODQ4IiB5PSIxOC45MjE4NzUiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDAtMyIgeD0iMjExLjEyNDAyMyIgeT0iMTguOTIxODc1Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgwLTQiIHg9IjIxNi4yNjU2MjUiIHk9IjE4LjkyMTg3NSIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMC01IiB4PSIyMjYuOTQ0MzM2IiB5PSIxOC45MjE4NzUiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDAtNiIgeD0iMjM0LjExNDc0NiIgeT0iMTguOTIxODc1Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgwLTIiIHg9IjIzOS4yNTYzNDgiIHk9IjE4LjkyMTg3NSIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMC03IiB4PSIyNDkuNTYxNTIzIiB5PSIxOC45MjE4NzUiLz4KPC9nPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoODIuNzQ1MDk4JSw4Mi43NDUwOTglLDgyLjc0NTA5OCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLWRhc2hhcnJheTo1LDU7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDAuMDAwOTc2NTYyIDAgTCAwLjAwMDk3NjU2MiAyMDguNDM3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDgyLjc0NTA5OCUsODIuNzQ1MDk4JSw4Mi43NDUwOTglKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1kYXNoYXJyYXk6NSw1O3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSA1NS4yNjI2OTUgMCBMIDU1LjI2MjY5NSAyMDguNDM3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDgyLjc0NTA5OCUsODIuNzQ1MDk4JSw4Mi43NDUwOTglKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1kYXNoYXJyYXk6NSw1O3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxMTAuNTI0NDE0IDAgTCAxMTAuNTI0NDE0IDIwOC40Mzc1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxNTcuMjA2MDU1LDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoODIuNzQ1MDk4JSw4Mi43NDUwOTglLDgyLjc0NTA5OCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLWRhc2hhcnJheTo1LDU7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE2NS43ODYxMzMgMCBMIDE2NS43ODYxMzMgMjA4LjQzNzUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDE1Ny4yMDYwNTUsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYig4Mi43NDUwOTglLDgyLjc0NTA5OCUsODIuNzQ1MDk4JSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtZGFzaGFycmF5OjUsNTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMjIxLjA0Nzg1MiAwIEwgMjIxLjA0Nzg1MiAyMDguNDM3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDgyLjc0NTA5OCUsODIuNzQ1MDk4JSw4Mi43NDUwOTglKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1kYXNoYXJyYXk6NSw1O3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAyNzYuMzA5NTcgMCBMIDI3Ni4zMDk1NyAyMDguNDM3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDgyLjc0NTA5OCUsODIuNzQ1MDk4JSw4Mi43NDUwOTglKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1kYXNoYXJyYXk6NSw1O3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAwLjAwMDk3NjU2MiAyMDguNDM3NSBMIDI3Ni4zMDk1NyAyMDguNDM3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDgyLjc0NTA5OCUsODIuNzQ1MDk4JSw4Mi43NDUwOTglKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1kYXNoYXJyYXk6NSw1O3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAwLjAwMDk3NjU2MiAxNTYuMzI4MTI1IEwgMjc2LjMwOTU3IDE1Ni4zMjgxMjUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDE1Ny4yMDYwNTUsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYig4Mi43NDUwOTglLDgyLjc0NTA5OCUsODIuNzQ1MDk4JSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtZGFzaGFycmF5OjUsNTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMC4wMDA5NzY1NjIgMTA0LjIxODc1IEwgMjc2LjMwOTU3IDEwNC4yMTg3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDgyLjc0NTA5OCUsODIuNzQ1MDk4JSw4Mi43NDUwOTglKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1kYXNoYXJyYXk6NSw1O3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAwLjAwMDk3NjU2MiA1Mi4xMDkzNzUgTCAyNzYuMzA5NTcgNTIuMTA5Mzc1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxNTcuMjA2MDU1LDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoODIuNzQ1MDk4JSw4Mi43NDUwOTglLDgyLjc0NTA5OCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLWRhc2hhcnJheTo1LDU7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDAuMDAwOTc2NTYyIDAgTCAyNzYuMzA5NTcgMCAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwzOC4yODEyNSkiLz4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAxKSIgY2xpcC1ydWxlPSJub256ZXJvIj4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlOnJnYigwJSwwJSwxMDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAwLjAwMDk3NjU2MiAyLjc4NTE1NiBMIC0xNTcuMjA2MDU1IC0zOC4yODEyNSBMIDU1LjI2MjY5NSA0MC44MjQyMTkgTCA4Mi44OTE2MDIgMTE0Ljk1NzAzMSBMIDExMC41MjQ0MTQgMTY4Ljk2ODc1IEwgMjQ4LjY3Njc1OCAxNjguOTY4NzUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDE1Ny4yMDYwNTUsMzguMjgxMjUpIi8+CjwvZz4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAyKSIgY2xpcC1ydWxlPSJub256ZXJvIj4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigxMDAlLDAlLDAlKTtmaWxsLW9wYWNpdHk6MTsiIGQ9Ik0gMTU5LjIwNzAzMSA0MS4wNjY0MDYgQyAxNTkuMjA3MDMxIDQzLjczNDM3NSAxNTUuMjA3MDMxIDQzLjczNDM3NSAxNTUuMjA3MDMxIDQxLjA2NjQwNiBDIDE1NS4yMDcwMzEgMzguNDAyMzQ0IDE1OS4yMDcwMzEgMzguNDAyMzQ0IDE1OS4yMDcwMzEgNDEuMDY2NDA2ICIvPgo8L2c+CjxwYXRoIHN0eWxlPSIgc3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDpyZ2IoMTAwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7IiBkPSJNIDIxNC40Njg3NSA3OS4xMDU0NjkgQyAyMTQuNDY4NzUgODEuNzczNDM4IDIxMC40Njg3NSA4MS43NzM0MzggMjEwLjQ2ODc1IDc5LjEwNTQ2OSBDIDIxMC40Njg3NSA3Ni40NDE0MDYgMjE0LjQ2ODc1IDc2LjQ0MTQwNiAyMTQuNDY4NzUgNzkuMTA1NDY5ICIvPgo8cGF0aCBzdHlsZT0iIHN0cm9rZTpub25lO2ZpbGwtcnVsZTpub256ZXJvO2ZpbGw6cmdiKDEwMCUsMCUsMCUpO2ZpbGwtb3BhY2l0eToxOyIgZD0iTSAyNDIuMDk3NjU2IDE1My4yMzgyODEgQyAyNDIuMDk3NjU2IDE1NS45MDYyNSAyMzguMDk3NjU2IDE1NS45MDYyNSAyMzguMDk3NjU2IDE1My4yMzgyODEgQyAyMzguMDk3NjU2IDE1MC41NzQyMTkgMjQyLjA5NzY1NiAxNTAuNTc0MjE5IDI0Mi4wOTc2NTYgMTUzLjIzODI4MSAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigxMDAlLDAlLDAlKTtmaWxsLW9wYWNpdHk6MTsiIGQ9Ik0gMjY5LjczMDQ2OSAyMDcuMjUgQyAyNjkuNzMwNDY5IDIwOS45MTc5NjkgMjY1LjczMDQ2OSAyMDkuOTE3OTY5IDI2NS43MzA0NjkgMjA3LjI1IEMgMjY1LjczMDQ2OSAyMDQuNTg1OTM4IDI2OS43MzA0NjkgMjA0LjU4NTkzOCAyNjkuNzMwNDY5IDIwNy4yNSAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigxMDAlLDAlLDAlKTtmaWxsLW9wYWNpdHk6MTsiIGQ9Ik0gMjk3LjM1OTM3NSAyMDcuMjUgQyAyOTcuMzU5Mzc1IDIwOS45MTc5NjkgMjkzLjM1OTM3NSAyMDkuOTE3OTY5IDI5My4zNTkzNzUgMjA3LjI1IEMgMjkzLjM1OTM3NSAyMDQuNTg1OTM4IDI5Ny4zNTkzNzUgMjA0LjU4NTkzOCAyOTcuMzU5Mzc1IDIwNy4yNSAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigxMDAlLDAlLDAlKTtmaWxsLW9wYWNpdHk6MTsiIGQ9Ik0gMzI0Ljk5MjE4OCAyMDcuMjUgQyAzMjQuOTkyMTg4IDIwOS45MTc5NjkgMzIwLjk5MjE4OCAyMDkuOTE3OTY5IDMyMC45OTIxODggMjA3LjI1IEMgMzIwLjk5MjE4OCAyMDQuNTg1OTM4IDMyNC45OTIxODggMjA0LjU4NTkzOCAzMjQuOTkyMTg4IDIwNy4yNSAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigxMDAlLDAlLDAlKTtmaWxsLW9wYWNpdHk6MTsiIGQ9Ik0gMzUyLjYyMTA5NCAyMDcuMjUgQyAzNTIuNjIxMDk0IDIwOS45MTc5NjkgMzQ4LjYyMTA5NCAyMDkuOTE3OTY5IDM0OC42MjEwOTQgMjA3LjI1IEMgMzQ4LjYyMTA5NCAyMDQuNTg1OTM4IDM1Mi42MjEwOTQgMjA0LjU4NTkzOCAzNTIuNjIxMDk0IDIwNy4yNSAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigxMDAlLDAlLDAlKTtmaWxsLW9wYWNpdHk6MTsiIGQ9Ik0gMzgwLjI1MzkwNiAyMDcuMjUgQyAzODAuMjUzOTA2IDIwOS45MTc5NjkgMzc2LjI1MzkwNiAyMDkuOTE3OTY5IDM3Ni4yNTM5MDYgMjA3LjI1IEMgMzc2LjI1MzkwNiAyMDQuNTg1OTM4IDM4MC4yNTM5MDYgMjA0LjU4NTkzOCAzODAuMjUzOTA2IDIwNy4yNSAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigxMDAlLDAlLDAlKTtmaWxsLW9wYWNpdHk6MTsiIGQ9Ik0gNDA3Ljg4MjgxMiAyMDcuMjUgQyA0MDcuODgyODEyIDIwOS45MTc5NjkgNDAzLjg4MjgxMiAyMDkuOTE3OTY5IDQwMy44ODI4MTIgMjA3LjI1IEMgNDAzLjg4MjgxMiAyMDQuNTg1OTM4IDQwNy44ODI4MTIgMjA0LjU4NTkzOCA0MDcuODgyODEyIDIwNy4yNSAiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgMjA4LjQzNzUgTCAxNDcuMjA3MDMxIDAgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgMjA4LjQzNzUgTCAxNDkuMjA3MDMxIDIwOC40Mzc1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNDcuMjA3MDMxIDE5OC4wMTU2MjUgTCAxNDkuMjA3MDMxIDE5OC4wMTU2MjUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgMTk4LjAxNTYyNSBMIDE0OS4yMDcwMzEgMTk4LjAxNTYyNSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAxODcuNTkzNzUgTCAxNDkuMjA3MDMxIDE4Ny41OTM3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAxODcuNTkzNzUgTCAxNDkuMjA3MDMxIDE4Ny41OTM3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAxNzcuMTcxODc1IEwgMTQ5LjIwNzAzMSAxNzcuMTcxODc1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNDcuMjA3MDMxIDE3Ny4xNzE4NzUgTCAxNDkuMjA3MDMxIDE3Ny4xNzE4NzUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgMTY2Ljc1IEwgMTQ5LjIwNzAzMSAxNjYuNzUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgMTY2Ljc1IEwgMTQ5LjIwNzAzMSAxNjYuNzUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgMTU2LjMyODEyNSBMIDE0OS4yMDcwMzEgMTU2LjMyODEyNSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAxNTYuMzI4MTI1IEwgMTQ5LjIwNzAzMSAxNTYuMzI4MTI1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNDcuMjA3MDMxIDE0NS45MDYyNSBMIDE0OS4yMDcwMzEgMTQ1LjkwNjI1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNDcuMjA3MDMxIDE0NS45MDYyNSBMIDE0OS4yMDcwMzEgMTQ1LjkwNjI1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNDcuMjA3MDMxIDEzNS40ODQzNzUgTCAxNDkuMjA3MDMxIDEzNS40ODQzNzUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgMTM1LjQ4NDM3NSBMIDE0OS4yMDcwMzEgMTM1LjQ4NDM3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAxMjUuMDYyNSBMIDE0OS4yMDcwMzEgMTI1LjA2MjUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgMTI1LjA2MjUgTCAxNDkuMjA3MDMxIDEyNS4wNjI1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNDcuMjA3MDMxIDExNC42NDA2MjUgTCAxNDkuMjA3MDMxIDExNC42NDA2MjUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgMTE0LjY0MDYyNSBMIDE0OS4yMDcwMzEgMTE0LjY0MDYyNSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAxMDQuMjE4NzUgTCAxNDkuMjA3MDMxIDEwNC4yMTg3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAxMDQuMjE4NzUgTCAxNDkuMjA3MDMxIDEwNC4yMTg3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSA5My43OTY4NzUgTCAxNDkuMjA3MDMxIDkzLjc5Njg3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSA5My43OTY4NzUgTCAxNDkuMjA3MDMxIDkzLjc5Njg3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSA4My4zNzUgTCAxNDkuMjA3MDMxIDgzLjM3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSA4My4zNzUgTCAxNDkuMjA3MDMxIDgzLjM3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSA3Mi45NTMxMjUgTCAxNDkuMjA3MDMxIDcyLjk1MzEyNSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSA3Mi45NTMxMjUgTCAxNDkuMjA3MDMxIDcyLjk1MzEyNSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSA2Mi41MzEyNSBMIDE0OS4yMDcwMzEgNjIuNTMxMjUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgNjIuNTMxMjUgTCAxNDkuMjA3MDMxIDYyLjUzMTI1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNDcuMjA3MDMxIDUyLjEwOTM3NSBMIDE0OS4yMDcwMzEgNTIuMTA5Mzc1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNDcuMjA3MDMxIDUyLjEwOTM3NSBMIDE0OS4yMDcwMzEgNTIuMTA5Mzc1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNDcuMjA3MDMxIDQxLjY4NzUgTCAxNDkuMjA3MDMxIDQxLjY4NzUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgNDEuNjg3NSBMIDE0OS4yMDcwMzEgNDEuNjg3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAzMS4yNjU2MjUgTCAxNDkuMjA3MDMxIDMxLjI2NTYyNSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAzMS4yNjU2MjUgTCAxNDkuMjA3MDMxIDMxLjI2NTYyNSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAyMC44NDM3NSBMIDE0OS4yMDcwMzEgMjAuODQzNzUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgMjAuODQzNzUgTCAxNDkuMjA3MDMxIDIwLjg0Mzc1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNDcuMjA3MDMxIDEwLjQyMTg3NSBMIDE0OS4yMDcwMzEgMTAuNDIxODc1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNDcuMjA3MDMxIDEwLjQyMTg3NSBMIDE0OS4yMDcwMzEgMTAuNDIxODc1ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNDcuMjA3MDMxIDAgTCAxNDkuMjA3MDMxIDAgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgMCBMIDE0OS4yMDcwMzEgMCAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAyMDguNDM3NSBMIDE1Mi4yMDcwMzEgMjA4LjQzNzUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEwLDM4LjI4MTI1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDE0Ny4yMDcwMzEgMTU2LjMyODEyNSBMIDE1Mi4yMDcwMzEgMTU2LjMyODEyNSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAxMDQuMjE4NzUgTCAxNTIuMjA3MDMxIDEwNC4yMTg3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSA1Mi4xMDkzNzUgTCAxNTIuMjA3MDMxIDUyLjEwOTM3NSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMzguMjgxMjUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTQ3LjIwNzAzMSAwIEwgMTUyLjIwNzAzMSAwICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMCwzOC4yODEyNSkiLz4KPGcgc3R5bGU9ImZpbGw6cmdiKDAlLDAlLDAlKTtmaWxsLW9wYWNpdHk6MTsiPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSIxMCIgeT0iMjUwLjQyOTY4OCIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0yIiB4PSIxNi4zNjIzMDUiIHk9IjI1MC40Mjk2ODgiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iMTkuNTQxMDE2IiB5PSIyNTAuNDI5Njg4Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjI1LjkwMzMyIiB5PSIyNTAuNDI5Njg4Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjMyLjI2NTYyNSIgeT0iMjUwLjQyOTY4OCIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSIzOC42Mjc5MyIgeT0iMjUwLjQyOTY4OCIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSI0NC45OTAyMzQiIHk9IjI1MC40Mjk2ODgiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iNTEuMzUyNTM5IiB5PSIyNTAuNDI5Njg4Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjU3LjcxNDg0NCIgeT0iMjUwLjQyOTY4OCIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSI2NC4wNzcxNDgiIHk9IjI1MC40Mjk2ODgiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iNzAuNDM5NDUzIiB5PSIyNTAuNDI5Njg4Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9Ijc2LjgwMTc1OCIgeT0iMjUwLjQyOTY4OCIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSI4My4xNjQwNjIiIHk9IjI1MC40Mjk2ODgiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iODkuNTI2MzY3IiB5PSIyNTAuNDI5Njg4Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9Ijk1Ljg4ODY3MiIgeT0iMjUwLjQyOTY4OCIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSIxMDIuMjUwOTc3IiB5PSIyNTAuNDI5Njg4Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjEwOC42MTMyODEiIHk9IjI1MC40Mjk2ODgiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iMTE0Ljk3NTU4NiIgeT0iMjUwLjQyOTY4OCIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSIxMjEuMzM3ODkxIiB5PSIyNTAuNDI5Njg4Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjEyNy43MDAxOTUiIHk9IjI1MC40Mjk2ODgiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iMTM0LjA2MjUiIHk9IjI1MC40Mjk2ODgiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMyIgeD0iMTQwLjQyNDgwNSIgeT0iMjUwLjQyOTY4OCIvPgo8L2c+CjxnIHN0eWxlPSJmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7Ij4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iNDEuODEyNSIgeT0iMTk4LjMyMDMxMiIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0yIiB4PSI0OC4xNzQ4MDUiIHk9IjE5OC4zMjAzMTIiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iNTEuMzUzNTE2IiB5PSIxOTguMzIwMzEyIi8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjU3LjcxNTgyIiB5PSIxOTguMzIwMzEyIi8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjY0LjA3ODEyNSIgeT0iMTk4LjMyMDMxMiIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSI3MC40NDA0MyIgeT0iMTk4LjMyMDMxMiIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSI3Ni44MDI3MzQiIHk9IjE5OC4zMjAzMTIiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iODMuMTY1MDM5IiB5PSIxOTguMzIwMzEyIi8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9Ijg5LjUyNzM0NCIgeT0iMTk4LjMyMDMxMiIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSI5NS44ODk2NDgiIHk9IjE5OC4zMjAzMTIiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iMTAyLjI1MTk1MyIgeT0iMTk4LjMyMDMxMiIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSIxMDguNjE0MjU4IiB5PSIxOTguMzIwMzEyIi8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjExNC45NzY1NjIiIHk9IjE5OC4zMjAzMTIiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iMTIxLjMzODg2NyIgeT0iMTk4LjMyMDMxMiIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSIxMjcuNzAxMTcyIiB5PSIxOTguMzIwMzEyIi8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjEzNC4wNjM0NzciIHk9IjE5OC4zMjAzMTIiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMyIgeD0iMTQwLjQyNTc4MSIgeT0iMTk4LjMyMDMxMiIvPgo8L2c+CjxnIHN0eWxlPSJmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7Ij4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iNzMuNjI1IiB5PSIxNDYuMjEwOTM4Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTIiIHg9Ijc5Ljk4NzMwNSIgeT0iMTQ2LjIxMDkzOCIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSI4My4xNjYwMTYiIHk9IjE0Ni4yMTA5MzgiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iODkuNTI4MzIiIHk9IjE0Ni4yMTA5MzgiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iOTUuODkwNjI1IiB5PSIxNDYuMjEwOTM4Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjEwMi4yNTI5MyIgeT0iMTQ2LjIxMDkzOCIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSIxMDguNjE1MjM0IiB5PSIxNDYuMjEwOTM4Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjExNC45Nzc1MzkiIHk9IjE0Ni4yMTA5MzgiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iMTIxLjMzOTg0NCIgeT0iMTQ2LjIxMDkzOCIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSIxMjcuNzAyMTQ4IiB5PSIxNDYuMjEwOTM4Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjEzNC4wNjQ0NTMiIHk9IjE0Ni4yMTA5MzgiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMyIgeD0iMTQwLjQyNjc1OCIgeT0iMTQ2LjIxMDkzOCIvPgo8L2c+CjxnIHN0eWxlPSJmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7Ij4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iMTA1LjQzMzU5NCIgeT0iOTQuMTAxNTYyIi8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTIiIHg9IjExMS43OTU4OTgiIHk9Ijk0LjEwMTU2MiIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSIxMTQuOTc0NjA5IiB5PSI5NC4xMDE1NjIiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMSIgeD0iMTIxLjMzNjkxNCIgeT0iOTQuMTAxNTYyIi8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjEyNy42OTkyMTkiIHk9Ijk0LjEwMTU2MiIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSIxMzQuMDYxNTIzIiB5PSI5NC4xMDE1NjIiLz4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtMyIgeD0iMTQwLjQyMzgyOCIgeT0iOTQuMTAxNTYyIi8+CjwvZz4KPGcgc3R5bGU9ImZpbGw6cmdiKDAlLDAlLDAlKTtmaWxsLW9wYWNpdHk6MTsiPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0zIiB4PSIxNDAuODYzMjgxIiB5PSI0MS45Mjk2ODgiLz4KPC9nPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMC4wMDA5NzY1NjIgMCBMIDI3Ni4zMDk1NyAwICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxNTcuMjA2MDU1LDI0Ni43MTg3NSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAwLjAwMDk3NjU2MiAwIEwgMC4wMDA5NzY1NjIgLTIgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDE1Ny4yMDYwNTUsMjQ2LjcxODc1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDI3LjYyOTg4MyAwIEwgMjcuNjI5ODgzIC0yICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxNTcuMjA2MDU1LDI0Ni43MTg3NSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSA1NS4yNjI2OTUgMCBMIDU1LjI2MjY5NSAtMiAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwyNDYuNzE4NzUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gODIuODkxNjAyIDAgTCA4Mi44OTE2MDIgLTIgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDE1Ny4yMDYwNTUsMjQ2LjcxODc1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDExMC41MjQ0MTQgMCBMIDExMC41MjQ0MTQgLTIgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDE1Ny4yMDYwNTUsMjQ2LjcxODc1KSIvPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZTpyZ2IoMCUsMCUsMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDEzOC4xNTMzMiAwIEwgMTM4LjE1MzMyIC0yICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxNTcuMjA2MDU1LDI0Ni43MTg3NSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxNjUuNzg2MTMzIDAgTCAxNjUuNzg2MTMzIC0yICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxNTcuMjA2MDU1LDI0Ni43MTg3NSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAxOTMuNDE1MDM5IDAgTCAxOTMuNDE1MDM5IC0yICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxNTcuMjA2MDU1LDI0Ni43MTg3NSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAyMjEuMDQ3ODUyIDAgTCAyMjEuMDQ3ODUyIC0yICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxNTcuMjA2MDU1LDI0Ni43MTg3NSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAyNDguNjc2NzU4IDAgTCAyNDguNjc2NzU4IC0yICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxNTcuMjA2MDU1LDI0Ni43MTg3NSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSAyNzYuMzA5NTcgMCBMIDI3Ni4zMDk1NyAtMiAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwyNDYuNzE4NzUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMC4wMDA5NzY1NjIgMCBMIDAuMDAwOTc2NTYyIC01ICIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxNTcuMjA2MDU1LDI0Ni43MTg3NSkiLz4KPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2U6cmdiKDAlLDAlLDAlKTtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iTSA1NS4yNjI2OTUgMCBMIDU1LjI2MjY5NSAtNSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwyNDYuNzE4NzUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTEwLjUyNDQxNCAwIEwgMTEwLjUyNDQxNCAtNSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwyNDYuNzE4NzUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMTY1Ljc4NjEzMyAwIEwgMTY1Ljc4NjEzMyAtNSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwyNDYuNzE4NzUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMjIxLjA0Nzg1MiAwIEwgMjIxLjA0Nzg1MiAtNSAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTU3LjIwNjA1NSwyNDYuNzE4NzUpIi8+CjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlOnJnYigwJSwwJSwwJSk7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ik0gMjc2LjMwOTU3IDAgTCAyNzYuMzA5NTcgLTUgIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDE1Ny4yMDYwNTUsMjQ2LjcxODc1KSIvPgo8ZyBzdHlsZT0iZmlsbDpyZ2IoMCUsMCUsMCUpO2ZpbGwtb3BhY2l0eToxOyI+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEiIHg9IjE1My42ODM1OTQiIHk9IjI2NiIvPgo8L2c+CjxnIHN0eWxlPSJmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7Ij4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtNCIgeD0iMjA5LjE1NjI1IiB5PSIyNjYiLz4KPC9nPgo8ZyBzdHlsZT0iZmlsbDpyZ2IoMCUsMCUsMCUpO2ZpbGwtb3BhY2l0eToxOyI+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTUiIHg9IjI2NC4wNzQyMTkiIHk9IjI2NiIvPgo8L2c+CjxnIHN0eWxlPSJmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7Ij4KICA8dXNlIHhsaW5rOmhyZWY9IiNnbHlwaDEtNiIgeD0iMzE5LjQ3NjU2MiIgeT0iMjY2Ii8+CjwvZz4KPGcgc3R5bGU9ImZpbGw6cmdiKDAlLDAlLDAlKTtmaWxsLW9wYWNpdHk6MTsiPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS03IiB4PSIzNzQuNzUzOTA2IiB5PSIyNjYiLz4KPC9nPgo8ZyBzdHlsZT0iZmlsbDpyZ2IoMCUsMCUsMCUpO2ZpbGwtb3BhY2l0eToxOyI+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTMiIHg9IjQyNy4wMjczNDQiIHk9IjI2NiIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xIiB4PSI0MzMuMzg5NjQ4IiB5PSIyNjYiLz4KPC9nPgo8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2U6cmdiKDAlLDAlLDEwMCUpO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNIDAgNS44MjAzMTIgTCAyMCA1LjgyMDMxMiAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTAsMjc4LjM1OTM3NSkiLz4KPGcgc3R5bGU9ImZpbGw6cmdiKDAlLDAlLDAlKTtmaWxsLW9wYWNpdHk6MTsiPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS04IiB4PSIzOC4yMzQzNzUiIHk9IjI4Ny42NDA2MjUiLz4KPC9nPgo8cGF0aCBzdHlsZT0iIHN0cm9rZTpub25lO2ZpbGwtcnVsZTpub256ZXJvO2ZpbGw6cmdiKDEwMCUsMCUsMCUpO2ZpbGwtb3BhY2l0eToxOyIgZD0iTSA2NS43MTg3NSAyODQuMTc5Njg4IEMgNjUuNzE4NzUgMjg2Ljg0NzY1NiA2MS43MTg3NSAyODYuODQ3NjU2IDYxLjcxODc1IDI4NC4xNzk2ODggQyA2MS43MTg3NSAyODEuNTExNzE5IDY1LjcxODc1IDI4MS41MTE3MTkgNjUuNzE4NzUgMjg0LjE3OTY4OCAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigxMDAlLDAlLDAlKTtmaWxsLW9wYWNpdHk6MTsiIGQ9Ik0gNzUuNzE4NzUgMjg0LjE3OTY4OCBDIDc1LjcxODc1IDI4Ni44NDc2NTYgNzEuNzE4NzUgMjg2Ljg0NzY1NiA3MS43MTg3NSAyODQuMTc5Njg4IEMgNzEuNzE4NzUgMjgxLjUxMTcxOSA3NS43MTg3NSAyODEuNTExNzE5IDc1LjcxODc1IDI4NC4xNzk2ODggIi8+CjxwYXRoIHN0eWxlPSIgc3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDpyZ2IoMTAwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7IiBkPSJNIDg1LjcxODc1IDI4NC4xNzk2ODggQyA4NS43MTg3NSAyODYuODQ3NjU2IDgxLjcxODc1IDI4Ni44NDc2NTYgODEuNzE4NzUgMjg0LjE3OTY4OCBDIDgxLjcxODc1IDI4MS41MTE3MTkgODUuNzE4NzUgMjgxLjUxMTcxOSA4NS43MTg3NSAyODQuMTc5Njg4ICIvPgo8ZyBzdHlsZT0iZmlsbDpyZ2IoMCUsMCUsMCUpO2ZpbGwtb3BhY2l0eToxOyI+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTkiIHg9IjkxLjk1MzEyNSIgeT0iMjg3LjY0MDYyNSIvPgogIDx1c2UgeGxpbms6aHJlZj0iI2dseXBoMS0xMCIgeD0iOTguMzAwNzgxIiB5PSIyODcuNjQwNjI1Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTExIiB4PSIxMDQuNDE4OTQ1IiB5PSIyODcuNjQwNjI1Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEyIiB4PSIxMDcuMTk3MjY2IiB5PSIyODcuNjQwNjI1Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTEzIiB4PSIxMTMuNTM1MTU2IiB5PSIyODcuNjQwNjI1Ii8+CiAgPHVzZSB4bGluazpocmVmPSIjZ2x5cGgxLTE0IiB4PSIxMTcuNDU2MDU1IiB5PSIyODcuNjQwNjI1Ii8+CjwvZz4KPC9nPgo8L3N2Zz4K)
%% Cell type:code id: tags:
``` haskell
import Numeric.Container
import Numeric.LinearAlgebra.Util
import Data.Complex
n = 100 -- size of the domain
-- create matrix of the mesh (and newton iteration start values)
coord = linspace n (-0.9,0.9::Double)
m = buildMatrix n n (\(i,j) -> (coord @> i) :+ coord @> j) :: Matrix (Complex Double)
```
%% Cell type:code id: tags:
``` haskell
import Data.List (genericLength)
f x = x**3 - 1
nm = snd . unzip . takeWhile (\(y,_) -> magnitude y >1e-13) . newton f
-- solution of newton iteration for every startvalue
solm = mapMatrix (last . nm ) m
phasem = mapMatrix phase solm
-- number of iterations for every startvalue
numitm = mapMatrix (genericLength . nm ) m :: Matrix Double
```
%% Cell type:code id: tags:
``` haskell
import Graphics.Rendering.Plot
figsol = do
withTitle $ setText "Newton fractal for x^3 - 1"
withSubTitle $ setText "phase of solution"
setPlots 1 1
withPlot (1,1) $ do
setDataset phasem
addAxis XAxis (Side Lower) $ setTickLabelFormat DefaultTickFormat
addAxis YAxis (Side Lower) $ setTickLabelFormat DefaultTickFormat
setRangeFromData XAxis Lower Linear
setRangeFromData YAxis Lower Linear
figit = do
withTitle $ setText "Newton fractal for x^3 - 1"
withSubTitle $ setText "number of iterations"
setPlots 1 1
withPlot (1,1) $ do
setDataset numitm
addAxis XAxis (Side Lower) $ setTickLabelFormat DefaultTickFormat
addAxis YAxis (Side Lower) $ setTickLabelFormat DefaultTickFormat
setRangeFromData XAxis Lower Linear
setRangeFromData YAxis Lower Linear
figsol
figit
```
%%%% Output: display_data
%% Cell type:code id: tags:
``` haskell
saveMatrix "xmat.txt" "%f" $ mapMatrix realPart m
saveMatrix "ymat.txt" "%f" $ mapMatrix imagPart m
saveMatrix "zmat.txt" "%f" numitm
-- ../vis.py -x xmat.txt -y ymat.txt -z zmat.txt -t image
```
%%%% Output: display_data
%% Cell type:markdown id: tags:
<img src="../images/newton_konvergenz.png"></img>
<img src="../images/newton_conv_sol.png"></img>
%% Cell type:markdown id: tags:
Solve the following non-linear least squares problem:
$$(P) \qquad \min_{\mathbb{R}^7}{f(x)\equiv \frac{1}{2}\|g(x)\|_2^2}$$
with $g: \mathbb{R}^7 \rightarrow \mathbb{R}^8$, $\nabla g : \mathbb{R}^7 \rightarrow\mathbb{R}^{7\times 8}$ and
$\nabla^2 g: \mathbb{R}^7 \rightarrow \mathbb{R}^{7\times 7\times 8}$ .
Given initial point $x_0=zeros(7,1)$ find a approximation $\tilde{x}$ for a global solution with $\|\nabla f(\tilde{x})\|\leq 10^{-11}$.
- plot of norm of the gradient ,
- plot of function values,
- plot of stepsize,
<!--
plot of Funktionswert, Gradient und Hessian (Tabelle) mit folgenden Hessians:
- $H_{\nu}=\nabla^2 f(x_\nu)$
-->
in every step you have to solve a linear system
- Newton-method
- BFGS
%% Cell type:code id: tags:
``` haskell
import Numeric.Container
g :: Vector Double -> Vector Double
g x = fromList [ 105-4*x @> 0 -5*x @> 1+3*x@> 6**2,
-10*x@>0+8*x@>2+x@>6,
8*x@>0-2*x@>1+12*x@>4-5,
-3*(x@>0-2)**2 -4*(x@>1-3)**2-2*x@>2**2+7*x@>3+100,
-5*x@>0**2-8*x@>1-(x@>2-6)**2+2*x@>3+40,
-0.5*(x@>0-8)**2-2*(x@>1-4)**2-3*x@>4**2+x@>5+30,
-x@>0**2-2*(x@>1-2)**2+2*x@>0*x@>1-14*x@>4+6*x@>5,
3*x@>0-6*x@>1-12*x@>4*x@>5 ]
f :: Vector Double -> Double
func x = 0.5 * (norm $ g x)**2
--"""gradfunc is the gradient of func(x)
-- norm(g(x))*norm(g(x)) *gradg """
gradfunc x = norm $ gradg x
--"""gradg is the gradient of g(x).column vectors as arrays"""
gradg x = multiply (trans $ Jg x) g x
--""" hessf is the Hessian of the function func(x)=(1/2)*norm(g(x))^2 """
hessf x =
[h1,h2,h3,h4,h5,h6,h7,h8] = Hg(x)
z = g x
multiply (trans $ Jg x) Jg x + z@>0*h1+z@>1*h2+z@>2*h3+z@>3*h4+z@>4*h5+z@>5*h6+z@>6*h7+z@>7*h8
-- """ this function file gives the Hessians of the component functions of g """
Hg x =
h1 = np.diag((0,0,0,0,0,0,6))
h2 = np.zeros((7,7))
h3 = h2
h4 = np.diag((-6,-8,-4,0,0,0,0))
h5 = np.diag((-10,0,-2,0,0,0,0))
h6 = np.diag((-1,-4,0,0,-6,0,0))
h7 = np.diag((-2,-4,0,0,0,0,0))+ np.diag((2,0,0,0,0,0),k=1)+ np.diag((2,0,0,0,0,0),k=-1)
h8 = np.diag((0,0,0,0,-12,0),k=1) + np.diag((0,0,0,0,-12,0),k=-1)
return (h1,h2,h3,h4,h5,h6,h7,h8)
-- """ this one does the Jacobian of the sample function g. """
Jg x = fromLists [[-4,-5 ,0, 0, 0, 0, 6*x@>6],
[-10, 0, 8, 0, 0, 0, 1],
[8, -2, 0, 0, 12, 0, 0],
[-6*(x@>0-2), -8*(x@>1-3), -4*x@>2, 7, 0, 0, 0],
[-10*x@>0, -8, -2*(x@>2-6), 2, 0, 0, 0],
[-(x@>0-8), -4*(x@>1-4), 0, 0, -6*x@>4, 1, 0],
[-2*x@>0+2*x@>1, -4*(x@>1-2)+2*x@>0, 0, 0, -14, 6, 0],
[3, -6, 0, 0, -12*x@>5, -12*x@>4, 0]]
```
%%%% Output: display_data
%%%% Output: display_data
%% Cell type:code id: tags:
``` haskell
g $ fromList [1,1,2,3,4,5,6]
```
%%%% Output: display_data
%% Cell type:code id: tags:
``` haskell
```
......
%% Cell type:markdown id: tags:
Solve the following non-linear least squares problem:
$$(P) \qquad \min_{\mathbb{R}^7}{f(x)\equiv \frac{1}{2}\|g(x)\|_2^2}$$
with $g: \mathbb{R}^7 \rightarrow \mathbb{R}^8$, $\nabla g : \mathbb{R}^7 \rightarrow\mathbb{R}^{7\times 8}$ and
$\nabla^2 g: \mathbb{R}^7 \rightarrow \mathbb{R}^{7\times 7\times 8}$ .
Given initial point $x_0=zeros(7,1)$ find a approximation $\tilde{x}$ for a global solution with $\|\nabla f(\tilde{x})\|\leq 10^{-11}$.
- plot of norm of the gradient ,
- plot of function values,
- plot of stepsize,
<!--
plot of Funktionswert, Gradient und Hessian (Tabelle) mit folgenden Hessians:
- $H_{\nu}=\nabla^2 f(x_\nu)$
-->
in every step you have to solve a linear system
- Newton-method
- BFGS
%% Cell type:code id: tags:
``` haskell
import Numeric.Container
g :: Vector Double -> Vector Double
g x = fromList [ 105-4*x @> 0 -5*x @> 1+3*x@> 6**2,
-10*x@>0+8*x@>2+x@>6,
8*x@>0-2*x@>1+12*x@>4-5,
-3*(x@>0-2)**2 -4*(x@>1-3)**2-2*x@>2**2+7*x@>3+100,
-5*x@>0**2-8*x@>1-(x@>2-6)**2+2*x@>3+40,
-0.5*(x@>0-8)**2-2*(x@>1-4)**2-3*x@>4**2+x@>5+30,
-x@>0**2-2*(x@>1-2)**2+2*x@>0*x@>1-14*x@>4+6*x@>5,
3*x@>0-6*x@>1-12*x@>4*x@>5 ]
f :: Vector Double -> Double
func x = 0.5 * (norm $ g x)**2
--"""gradfunc is the gradient of func(x)
-- norm(g(x))*norm(g(x)) *gradg """
gradfunc x = norm $ gradg x
--"""gradg is the gradient of g(x).column vectors as arrays"""
gradg x = multiply (trans $ Jg x) g x
--""" hessf is the Hessian of the function func(x)=(1/2)*norm(g(x))^2 """
hessf x =
[h1,h2,h3,h4,h5,h6,h7,h8] = Hg(x)
z = g x
multiply (trans $ Jg x) Jg x + z@>0*h1+z@>1*h2+z@>2*h3+z@>3*h4+z@>4*h5+z@>5*h6+z@>6*h7+z@>7*h8
-- """ this function file gives the Hessians of the component functions of g """
Hg x =
h1 = np.diag((0,0,0,0,0,0,6))
h2 = np.zeros((7,7))
h3 = h2
h4 = np.diag((-6,-8,-4,0,0,0,0))
h5 = np.diag((-10,0,-2,0,0,0,0))
h6 = np.diag((-1,-4,0,0,-6,0,0))
h7 = np.diag((-2,-4,0,0,0,0,0))+ np.diag((2,0,0,0,0,0),k=1)+ np.diag((2,0,0,0,0,0),k=-1)
h8 = np.diag((0,0,0,0,-12,0),k=1) + np.diag((0,0,0,0,-12,0),k=-1)
return (h1,h2,h3,h4,h5,h6,h7,h8)
-- """ this one does the Jacobian of the sample function g. """
Jg x = fromLists [[-4,-5 ,0, 0, 0, 0, 6*x@>6],
[-10, 0, 8, 0, 0, 0, 1],
[8, -2, 0, 0, 12, 0, 0],
[-6*(x@>0-2), -8*(x@>1-3), -4*x@>2, 7, 0, 0, 0],
[-10*x@>0, -8, -2*(x@>2-6), 2, 0, 0, 0],
[-(x@>0-8), -4*(x@>1-4), 0, 0, -6*x@>4, 1, 0],
[-2*x@>0+2*x@>1, -4*(x@>1-2)+2*x@>0, 0, 0, -14, 6, 0],
[3, -6, 0, 0, -12*x@>5, -12*x@>4, 0]]
```
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment