From b155379587fd8573cbff37d3e2203f2d81f006c8 Mon Sep 17 00:00:00 2001
From: Vincent Nivoliers <vincent.nivoliers@univ-lyon1.fr>
Date: Mon, 18 Nov 2019 13:35:06 +0100
Subject: [PATCH] presentation up to perturbation

---
 Code/hull.cpp                             |  16 +-
 Presentation/Figures/hull.svg             | 289 +++++++++++++---
 Presentation/Figures/orient.pdf           | Bin 0 -> 6438 bytes
 Presentation/Figures/orient.svg           | 396 ++++++++++++++++++++++
 Presentation/Figures/sort_comparison.pdf  | Bin 0 -> 8865 bytes
 Presentation/Figures/sweep_comparison.pdf | Bin 0 -> 9288 bytes
 Presentation/presentation.tex             | 161 ++++++++-
 7 files changed, 803 insertions(+), 59 deletions(-)
 create mode 100644 Presentation/Figures/orient.pdf
 create mode 100644 Presentation/Figures/orient.svg
 create mode 100644 Presentation/Figures/sort_comparison.pdf
 create mode 100644 Presentation/Figures/sweep_comparison.pdf

diff --git a/Code/hull.cpp b/Code/hull.cpp
index 25249b6..00c06ba 100644
--- a/Code/hull.cpp
+++ b/Code/hull.cpp
@@ -40,14 +40,18 @@ struct vec {
 
 //}}}
 
+int sign(float x) {
+  if(x > 0) return 1 ;
+  if(x < 0) return -1 ;
+  return 0 ;
+}
+
 int orient(const vec& v0, const vec& v1) {
   //determinant
   float d = v0.x*v1.y - v0.y*v1.x ;
 
   //encode as sign
-  if(d > 0) return 1 ;
-  if(d < 0) return -1 ;
-  return 0 ;
+  return sign(d) ;
 }
 
 struct vec_compare {
@@ -90,13 +94,13 @@ void compute_hull(std::vector<vec>& points, std::vector<vec>& hull) {
   for(size_t i = 2; i < points.size(); ++i) {
     //check whether the last segment creates a wrong turn
     const vec& p = points[i] ;
-    vec v1 = p - *(hull.end() - 1) ;
+    vec v1 = p - *(hull.end() - 2) ;
     vec v2 = *(hull.end() - 1) - *(hull.end() - 2) ;
     while(hull.size() > 1 && orient(v1, v2) < 0) {
       //in case of wrong turn, rease the last point of the hull and iterate
       hull.erase(hull.end() - 1) ;
-      v1 = p - *(hull.end() - 1) ;
-      v2 = p - *(hull.end() - 2) ;
+      v1 = p - *(hull.end() - 2) ;
+      v2 = *(hull.end() - 1) - *(hull.end() - 2) ;
     }
     hull.push_back(p) ;
   }
diff --git a/Presentation/Figures/hull.svg b/Presentation/Figures/hull.svg
index 7a44f37..e177c81 100644
--- a/Presentation/Figures/hull.svg
+++ b/Presentation/Figures/hull.svg
@@ -27,6 +27,92 @@
   </metadata>
   <defs
      id="defs1894">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker5177"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Send">
+      <path
+         transform="scale(0.3) rotate(180) translate(-2.3,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path5175" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker4465"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Mend">
+      <path
+         transform="scale(0.6) rotate(180) translate(0,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path4463" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker4219"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path4217"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(0.6) rotate(180) translate(0,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Mstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path841"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(0.6) translate(0,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker3855"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Mend">
+      <path
+         transform="scale(0.6) rotate(180) translate(0,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path3853" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker3809"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path844"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(0.6) rotate(180) translate(0,0)" />
+    </marker>
     <marker
        inkscape:stockid="Arrow2Send"
        orient="auto"
@@ -34,7 +120,8 @@
        refX="0.0"
        id="Arrow2Send"
        style="overflow:visible;"
-       inkscape:isstock="true">
+       inkscape:isstock="true"
+       inkscape:collect="always">
       <path
          id="path2197"
          style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#f57900;stroke-opacity:1;fill:#f57900;fill-opacity:1"
@@ -55,6 +142,21 @@
          d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
          transform="scale(0.6) rotate(180) translate(0,0)" />
     </marker>
+    <marker
+       inkscape:stockid="Arrow2Mstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Mstart-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path841-8"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="scale(0.6)" />
+    </marker>
   </defs>
   <sodipodi:namedview
      pagecolor="#ffffff"
@@ -70,10 +172,11 @@
      id="namedview1892"
      showgrid="false"
      inkscape:zoom="1.3796869"
-     inkscape:cx="454.51793"
-     inkscape:cy="483.23057"
-     inkscape:current-layer="layer6"
-     inkscape:snap-object-midpoints="true" />
+     inkscape:cx="224.13977"
+     inkscape:cy="621.88734"
+     inkscape:current-layer="layer7"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-global="true" />
   <g
      inkscape:groupmode="layer"
      id="layer4"
@@ -780,7 +883,7 @@
      inkscape:groupmode="layer"
      id="layer6"
      inkscape:label="partial_hull"
-     style="display:inline">
+     style="display:none">
     <circle
        cx="56"
        cy="481"
@@ -824,67 +927,68 @@
        inkscape:connector-curvature="0" />
   </g>
   <g
-     inkscape:groupmode="layer"
-     id="layer7"
-     inkscape:label="adding_point_1"
-     style="display:inline">
+     style="display:none"
+     inkscape:label="adding_point_1 copy"
+     id="g4215"
+     inkscape:groupmode="layer">
     <path
-       inkscape:connector-curvature="0"
-       id="path2434"
+       style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
        d="M 249,300 256,213 204,180 75,409 56,481"
-       style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+       id="path4197"
+       inkscape:connector-curvature="0" />
     <circle
-       id="circle2437"
-       style="display:inline;fill:none;stroke:#000000;stroke-width:2"
-       r="12"
+       cx="56"
        cy="481"
-       cx="56" />
-    <circle
-       id="circle2439"
-       style="display:inline;fill:none;stroke:#000000;stroke-width:2"
        r="12"
-       cy="409"
-       cx="75" />
-    <circle
-       id="circle2441"
        style="display:inline;fill:none;stroke:#000000;stroke-width:2"
-       r="12"
-       cy="180"
-       cx="204" />
+       id="circle4199" />
     <circle
-       id="circle2443"
-       style="display:inline;fill:none;stroke:#000000;stroke-width:2"
+       cx="75"
+       cy="409"
        r="12"
-       cy="213"
-       cx="256" />
+       style="display:inline;fill:none;stroke:#000000;stroke-width:2"
+       id="circle4201" />
     <circle
-       id="circle2445"
+       cx="204"
+       cy="180"
+       r="12"
        style="display:inline;fill:none;stroke:#000000;stroke-width:2"
+       id="circle4203" />
+    <circle
+       cx="256"
+       cy="213"
        r="12"
-       cy="300"
-       cx="249" />
+       style="display:inline;fill:none;stroke:#000000;stroke-width:2"
+       id="circle4205" />
     <circle
-       cx="412"
-       cy="193"
+       cx="249"
+       cy="300"
        r="12"
+       style="display:inline;fill:none;stroke:#000000;stroke-width:2"
+       id="circle4207" />
+    <circle
+       id="circle4209"
        style="display:inline;fill:#f57900;stroke:#f57900;stroke-width:2"
-       id="circle1838-62-9" />
+       r="12"
+       cy="193"
+       cx="412" />
     <path
-       style="display:inline;opacity:1;fill:#f57900;fill-opacity:1;stroke:#f57900;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       inkscape:connector-curvature="0"
+       id="path4211"
        d="M 249,300 412,193"
-       id="path2160"
-       inkscape:connector-curvature="0" />
+       style="display:inline;opacity:1;fill:#f57900;fill-opacity:1;stroke:#f57900;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
     <path
-       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#f57900;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow2Send)"
-       d="m 286.70433,227.21216 c 0,6.93447 5.56889,12.58358 12.50265,12.68274 6.93376,0.0992 12.66193,-5.38837 12.86024,-12.32 0.19831,-6.93163 -4.18172,-9.66261 -12.13483,-13.0351"
-       id="path2162"
+       sodipodi:nodetypes="cssc"
        inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cssc" />
+       id="path4213"
+       d="m 286.70433,227.21216 c 0,6.93447 5.56889,12.58358 12.50265,12.68274 6.93376,0.0992 12.66193,-5.38837 12.86024,-12.32 0.19831,-6.93163 -4.18172,-9.66261 -12.13483,-13.0351"
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#f57900;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow2Send)" />
   </g>
   <g
      inkscape:groupmode="layer"
      id="layer8"
-     inkscape:label="adding_point_2" />
+     inkscape:label="adding_point_2"
+     style="display:none" />
   <g
      inkscape:groupmode="layer"
      id="layer3"
@@ -1086,6 +1190,101 @@
        y2="481"
        id="line1888" />
   </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer1"
+     inkscape:label="sort_comparison"
+     style="display:none">
+    <path
+       style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:3.9987402;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker3855)"
+       d="m 56,481 239.39339,76.13113"
+       id="path3804"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:3.99900007;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker3809)"
+       d="M 56,481 260.93093,372.66266"
+       id="path3806"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:3.99900007;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Arrow2Mstart)"
+       id="path3893"
+       sodipodi:type="arc"
+       sodipodi:cx="56"
+       sodipodi:cy="481"
+       sodipodi:rx="135.90041"
+       sodipodi:ry="135.90041"
+       sodipodi:start="5.86421"
+       sodipodi:end="0.22218386"
+       sodipodi:open="true"
+       d="m 180.14588,425.71237 a 135.90041,135.90041 0 0 1 8.4139,85.23469" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer7"
+     inkscape:label="sweep_comparison"
+     style="display:inline">
+    <path
+       inkscape:connector-curvature="0"
+       id="path2434"
+       d="M 249,300 256,213 204,180 75,409 56,481"
+       style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    <circle
+       id="circle2437"
+       style="display:inline;fill:none;stroke:#000000;stroke-width:2"
+       r="12"
+       cy="481"
+       cx="56" />
+    <circle
+       id="circle2439"
+       style="display:inline;fill:none;stroke:#000000;stroke-width:2"
+       r="12"
+       cy="409"
+       cx="75" />
+    <circle
+       id="circle2441"
+       style="display:inline;fill:none;stroke:#000000;stroke-width:2"
+       r="12"
+       cy="180"
+       cx="204" />
+    <circle
+       id="circle2443"
+       style="display:inline;fill:none;stroke:#000000;stroke-width:2"
+       r="12"
+       cy="213"
+       cx="256" />
+    <circle
+       id="circle2445"
+       style="display:inline;fill:none;stroke:#000000;stroke-width:2"
+       r="12"
+       cy="300"
+       cx="249" />
+    <circle
+       cx="412"
+       cy="193"
+       r="12"
+       style="display:inline;fill:none;stroke:#000000;stroke-width:2"
+       id="circle1838-62-9" />
+    <path
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker4219)"
+       d="M 256,213 392.52453,194.79379"
+       id="path2160"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path4461"
+       d="m 256,213 -5.69769,68.15215"
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker4465)" />
+    <path
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:3.99900007;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Arrow2Mstart-2)"
+       d="m 298.36687,215.56256 c -0.20385,0.89626 -0.0234,1.65148 -0.0697,2.46886 -1.21336,21.43846 -17.36115,36.33106 -39.02351,37.97982"
+       id="path3893-9"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="csc" />
+  </g>
   <g
      inkscape:groupmode="layer"
      id="layer5"
diff --git a/Presentation/Figures/orient.pdf b/Presentation/Figures/orient.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..58c981c49844eff5719425e51f55f833550ebacf
GIT binary patch
literal 6438
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

literal 0
HcmV?d00001

diff --git a/Presentation/Figures/orient.svg b/Presentation/Figures/orient.svg
new file mode 100644
index 0000000..772fefe
--- /dev/null
+++ b/Presentation/Figures/orient.svg
@@ -0,0 +1,396 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:ns1="http://www.iki.fi/pav/software/textext/"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="114.63708mm"
+   height="57.568756mm"
+   viewBox="0 0 114.63708 57.568756"
+   version="1.1"
+   id="svg8"
+   inkscape:version="0.92.4 5da689c313, 2019-01-14"
+   sodipodi:docname="orient.svg">
+  <defs
+     id="defs2">
+    <marker
+       inkscape:stockid="Arrow2Sstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Sstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path847"
+         style="fill:#73d216;fill-opacity:1;fill-rule:evenodd;stroke:#73d216;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(0.3,0,0,0.3,-0.69,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Sstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1657"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1655"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.2,0,0,0.2,1.2,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Sstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Sstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path829"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.2,0,0,0.2,1.2,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1115"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Mend">
+      <path
+         transform="scale(-0.6)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path1113"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Mend"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path844"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="scale(-0.6)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Mend-9"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path844-1"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="scale(-0.6)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1115-2"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Mend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="scale(-0.6)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path1113-7" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Sstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Sstart-0"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path847-9"
+         style="fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:#ef2929;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(0.3,0,0,0.3,-0.69,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="236.33847"
+     inkscape:cy="47.737009"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-global="true"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-48.106519,-105.14661)">
+    <g
+       id="g1917">
+      <path
+         inkscape:connector-curvature="0"
+         id="path815"
+         d="M 48.643053,133.96559 H 89.268021"
+         style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.05799997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
+      <path
+         style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.05799997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker1115)"
+         d="M 48.643053,133.96559 78.397999,106.3064"
+         id="path1111"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 65.353562,122.04938 a 20.524063,20.524063 0 0 1 3.744204,10.23045"
+         sodipodi:open="true"
+         sodipodi:end="6.2009568"
+         sodipodi:start="5.6637237"
+         sodipodi:ry="20.524063"
+         sodipodi:rx="20.524063"
+         sodipodi:cy="133.96559"
+         sodipodi:cx="48.643051"
+         sodipodi:type="arc"
+         id="path1513"
+         style="opacity:1;fill:none;fill-opacity:1;stroke:#73d216;stroke-width:1.05799997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Arrow2Sstart)" />
+      <g
+         style="stroke-width:2.2442975"
+         transform="matrix(1.0284933,0,0,1.0284933,-90.069698,3.9616292)"
+         ns1:version="0.10.0"
+         ns1:texconverter="pdflatex"
+         ns1:pdfconverter="pdf2svg"
+         ns1:text="$\\mathbf{v}_0$"
+         ns1:preamble="/home/nivoliev/.config/inkscape/extensions/textext/default_packages.tex"
+         ns1:scale="6.54305795713"
+         ns1:alignment="middle center"
+         ns1:jacobian_sqrt="2.308245"
+         id="g1814">
+        <g
+           style="stroke-width:2.2442975"
+           id="surface1">
+          <g
+             style="fill:#000000;fill-opacity:1;stroke-width:2.2442975"
+             id="g1807">
+            <path
+               inkscape:connector-curvature="0"
+               style="stroke:none;stroke-width:0"
+               d="m 5.046875,-3.75 c 0.0625,-0.140625 0.09375,-0.203125 0.734375,-0.203125 v -0.46875 C 5.53125,-4.40625 5.25,-4.390625 5,-4.390625 c -0.25,0 -0.703125,-0.03125 -0.90625,-0.03125 v 0.46875 c 0.1875,0 0.46875,0.03125 0.46875,0.109375 0,0 0,0.03125 -0.046875,0.109375 l -1.15625,2.5 -1.265625,-2.71875 H 2.625 v -0.46875 c -0.328125,0.015625 -1.21875,0.03125 -1.234375,0.03125 -0.28125,0 -0.71875,-0.03125 -1.125,-0.03125 v 0.46875 h 0.625 l 1.75,3.75 c 0.125,0.25 0.25,0.25 0.375,0.25 0.171875,0 0.28125,-0.03125 0.375,-0.25 z m 0,0"
+               transform="translate(148.712,134.765)"
+               id="path1805" />
+          </g>
+          <g
+             style="fill:#000000;fill-opacity:1;stroke-width:2.2442975"
+             id="g1811">
+            <path
+               inkscape:connector-curvature="0"
+               style="stroke:none;stroke-width:0"
+               d="M 3.59375,-2.21875 C 3.59375,-2.984375 3.5,-3.546875 3.1875,-4.03125 2.96875,-4.34375 2.53125,-4.625 1.984375,-4.625 c -1.625,0 -1.625,1.90625 -1.625,2.40625 0,0.5 0,2.359375 1.625,2.359375 1.609375,0 1.609375,-1.859375 1.609375,-2.359375 z M 1.984375,-0.0625 c -0.328125,0 -0.75,-0.1875 -0.890625,-0.75 C 1,-1.21875 1,-1.796875 1,-2.3125 1,-2.828125 1,-3.359375 1.09375,-3.734375 1.25,-4.28125 1.6875,-4.4375 1.984375,-4.4375 c 0.375,0 0.734375,0.234375 0.859375,0.640625 0.109375,0.375 0.125,0.875 0.125,1.484375 0,0.515625 0,1.03125 -0.09375,1.46875 -0.140625,0.640625 -0.609375,0.78125 -0.890625,0.78125 z m 0,0"
+               transform="translate(154.759,136.259)"
+               id="path1809" />
+          </g>
+        </g>
+      </g>
+      <g
+         transform="matrix(1.028493,0,0,1.028493,-101.47796,-21.149805)"
+         ns1:version="0.10.0"
+         ns1:texconverter="pdflatex"
+         ns1:pdfconverter="pdf2svg"
+         ns1:text="$\\mathbf{v}_1$"
+         ns1:preamble="/home/nivoliev/.config/inkscape/extensions/textext/default_packages.tex"
+         ns1:scale="2.91541464204"
+         ns1:alignment="middle center"
+         ns1:jacobian_sqrt="1.028493"
+         id="g1886">
+        <g
+           id="g1884">
+          <g
+             style="fill:#000000;fill-opacity:1"
+             id="g1878">
+            <path
+               style="stroke:none;stroke-width:0"
+               d="m 5.046875,-3.75 c 0.0625,-0.140625 0.09375,-0.203125 0.734375,-0.203125 v -0.46875 C 5.53125,-4.40625 5.25,-4.390625 5,-4.390625 c -0.25,0 -0.703125,-0.03125 -0.90625,-0.03125 v 0.46875 c 0.1875,0 0.46875,0.03125 0.46875,0.109375 0,0 0,0.03125 -0.046875,0.109375 l -1.15625,2.5 -1.265625,-2.71875 H 2.625 v -0.46875 c -0.328125,0.015625 -1.21875,0.03125 -1.234375,0.03125 -0.28125,0 -0.71875,-0.03125 -1.125,-0.03125 v 0.46875 h 0.625 l 1.75,3.75 c 0.125,0.25 0.25,0.25 0.375,0.25 0.171875,0 0.28125,-0.03125 0.375,-0.25 z m 0,0"
+               transform="translate(148.712,134.765)"
+               id="path1876"
+               inkscape:connector-curvature="0" />
+          </g>
+          <g
+             style="fill:#000000;fill-opacity:1"
+             id="g1882">
+            <path
+               style="stroke:none;stroke-width:0"
+               d="m 2.328125,-4.4375 c 0,-0.1875 0,-0.1875 -0.203125,-0.1875 -0.453125,0.4375 -1.078125,0.4375 -1.359375,0.4375 v 0.25 c 0.15625,0 0.625,0 1,-0.1875 v 3.546875 c 0,0.234375 0,0.328125 -0.6875,0.328125 H 0.8125 V 0 c 0.125,0 0.984375,-0.03125 1.234375,-0.03125 0.21875,0 1.09375,0.03125 1.25,0.03125 V -0.25 H 3.03125 c -0.703125,0 -0.703125,-0.09375 -0.703125,-0.328125 z m 0,0"
+               transform="translate(154.759,136.259)"
+               id="path1880"
+               inkscape:connector-curvature="0" />
+          </g>
+        </g>
+      </g>
+      <text
+         id="text1898"
+         y="127.0603"
+         x="73.131424"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.37443352px;line-height:17.77255249px;font-family:'Linux Biolinum';-inkscape-font-specification:'Linux Biolinum';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#73d216;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#73d216;stroke-width:0.26458332px"
+           y="127.0603"
+           x="73.131424"
+           id="tspan1896"
+           sodipodi:role="line">+</tspan></text>
+    </g>
+    <path
+       style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.05799997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow2Mend-9)"
+       d="m 120.51912,133.91128 h 40.62496"
+       id="path815-6"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path1111-0"
+       d="m 120.51912,133.91128 29.75494,27.65919"
+       style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.05799997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker1115-2)" />
+    <path
+       style="opacity:1;fill:none;fill-opacity:1;stroke:#ef2929;stroke-width:1.05799997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Arrow2Sstart-0)"
+       id="path1513-6"
+       sodipodi:type="arc"
+       sodipodi:cx="120.51912"
+       sodipodi:cy="-133.91129"
+       sodipodi:rx="20.524063"
+       sodipodi:ry="20.524063"
+       sodipodi:start="5.6637237"
+       sodipodi:end="6.2009568"
+       sodipodi:open="true"
+       d="m 137.22963,-145.82749 a 20.524063,20.524063 0 0 1 3.7442,10.23044"
+       transform="scale(1,-1)" />
+    <g
+       id="g1814-2"
+       ns1:jacobian_sqrt="2.308245"
+       ns1:alignment="middle center"
+       ns1:scale="6.54305795713"
+       ns1:preamble="/home/nivoliev/.config/inkscape/extensions/textext/default_packages.tex"
+       ns1:text="$\\mathbf{v}_0$"
+       ns1:pdfconverter="pdf2svg"
+       ns1:texconverter="pdflatex"
+       ns1:version="0.10.0"
+       transform="matrix(1.0284933,0,0,1.0284933,-19.516552,-11.589708)"
+       style="stroke-width:2.2442975">
+      <g
+         id="surface1-6"
+         style="stroke-width:2.2442975">
+        <g
+           id="g1807-1"
+           style="fill:#000000;fill-opacity:1;stroke-width:2.2442975">
+          <path
+             id="path1805-8"
+             transform="translate(148.712,134.765)"
+             d="m 5.046875,-3.75 c 0.0625,-0.140625 0.09375,-0.203125 0.734375,-0.203125 v -0.46875 C 5.53125,-4.40625 5.25,-4.390625 5,-4.390625 c -0.25,0 -0.703125,-0.03125 -0.90625,-0.03125 v 0.46875 c 0.1875,0 0.46875,0.03125 0.46875,0.109375 0,0 0,0.03125 -0.046875,0.109375 l -1.15625,2.5 -1.265625,-2.71875 H 2.625 v -0.46875 c -0.328125,0.015625 -1.21875,0.03125 -1.234375,0.03125 -0.28125,0 -0.71875,-0.03125 -1.125,-0.03125 v 0.46875 h 0.625 l 1.75,3.75 c 0.125,0.25 0.25,0.25 0.375,0.25 0.171875,0 0.28125,-0.03125 0.375,-0.25 z m 0,0"
+             style="stroke:none;stroke-width:0"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           id="g1811-7"
+           style="fill:#000000;fill-opacity:1;stroke-width:2.2442975">
+          <path
+             id="path1809-9"
+             transform="translate(154.759,136.259)"
+             d="M 3.59375,-2.21875 C 3.59375,-2.984375 3.5,-3.546875 3.1875,-4.03125 2.96875,-4.34375 2.53125,-4.625 1.984375,-4.625 c -1.625,0 -1.625,1.90625 -1.625,2.40625 0,0.5 0,2.359375 1.625,2.359375 1.609375,0 1.609375,-1.859375 1.609375,-2.359375 z M 1.984375,-0.0625 c -0.328125,0 -0.75,-0.1875 -0.890625,-0.75 C 1,-1.21875 1,-1.796875 1,-2.3125 1,-2.828125 1,-3.359375 1.09375,-3.734375 1.25,-4.28125 1.6875,-4.4375 1.984375,-4.4375 c 0.375,0 0.734375,0.234375 0.859375,0.640625 0.109375,0.375 0.125,0.875 0.125,1.484375 0,0.515625 0,1.03125 -0.09375,1.46875 -0.140625,0.640625 -0.609375,0.78125 -0.890625,0.78125 z m 0,0"
+             style="stroke:none;stroke-width:0"
+             inkscape:connector-curvature="0" />
+        </g>
+      </g>
+    </g>
+    <g
+       id="g1886-2"
+       ns1:jacobian_sqrt="1.028493"
+       ns1:alignment="middle center"
+       ns1:scale="2.91541464204"
+       ns1:preamble="/home/nivoliev/.config/inkscape/extensions/textext/default_packages.tex"
+       ns1:text="$\\mathbf{v}_1$"
+       ns1:pdfconverter="pdf2svg"
+       ns1:texconverter="pdflatex"
+       ns1:version="0.10.0"
+       transform="matrix(1.028493,0,0,1.028493,-30.35785,15.081596)">
+      <g
+         id="g1884-0">
+        <g
+           id="g1878-2"
+           style="fill:#000000;fill-opacity:1">
+          <path
+             id="path1876-3"
+             transform="translate(148.712,134.765)"
+             d="m 5.046875,-3.75 c 0.0625,-0.140625 0.09375,-0.203125 0.734375,-0.203125 v -0.46875 C 5.53125,-4.40625 5.25,-4.390625 5,-4.390625 c -0.25,0 -0.703125,-0.03125 -0.90625,-0.03125 v 0.46875 c 0.1875,0 0.46875,0.03125 0.46875,0.109375 0,0 0,0.03125 -0.046875,0.109375 l -1.15625,2.5 -1.265625,-2.71875 H 2.625 v -0.46875 c -0.328125,0.015625 -1.21875,0.03125 -1.234375,0.03125 -0.28125,0 -0.71875,-0.03125 -1.125,-0.03125 v 0.46875 h 0.625 l 1.75,3.75 c 0.125,0.25 0.25,0.25 0.375,0.25 0.171875,0 0.28125,-0.03125 0.375,-0.25 z m 0,0"
+             style="stroke:none;stroke-width:0"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           id="g1882-7"
+           style="fill:#000000;fill-opacity:1">
+          <path
+             id="path1880-5"
+             transform="translate(154.759,136.259)"
+             d="m 2.328125,-4.4375 c 0,-0.1875 0,-0.1875 -0.203125,-0.1875 -0.453125,0.4375 -1.078125,0.4375 -1.359375,0.4375 v 0.25 c 0.15625,0 0.625,0 1,-0.1875 v 3.546875 c 0,0.234375 0,0.328125 -0.6875,0.328125 H 0.8125 V 0 c 0.125,0 0.984375,-0.03125 1.234375,-0.03125 0.21875,0 1.09375,0.03125 1.25,0.03125 V -0.25 H 3.03125 c -0.703125,0 -0.703125,-0.09375 -0.703125,-0.328125 z m 0,0"
+             style="stroke:none;stroke-width:0"
+             inkscape:connector-curvature="0" />
+        </g>
+      </g>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.37443352px;line-height:17.77255249px;font-family:'Linux Biolinum';-inkscape-font-specification:'Linux Biolinum';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ef2929;fill-opacity:1;stroke:#ef2929;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="144.44052"
+       y="144.58188"
+       id="text1898-9"><tspan
+         sodipodi:role="line"
+         id="tspan1896-2"
+         x="144.44052"
+         y="144.58188"
+         style="fill:#ef2929;stroke:#ef2929;stroke-width:0.26458332px">-</tspan></text>
+  </g>
+</svg>
diff --git a/Presentation/Figures/sort_comparison.pdf b/Presentation/Figures/sort_comparison.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..e29ce993b2fe28701ee649b9f9fb194db850186e
GIT binary patch
literal 8865
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

literal 0
HcmV?d00001

diff --git a/Presentation/Figures/sweep_comparison.pdf b/Presentation/Figures/sweep_comparison.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..cfae1bbbcab5446616f0834efdecc54806b9dee4
GIT binary patch
literal 9288
zcmZvC1yq|)vp2<B+=>QDDDJ@%+>5(=@Zb=jcqvY?0>!Nq4^}8zTne-lhvM$Vp%g3d
zg}=P_J@<ZllIO`zc6WAmW@l#i{1`Q4<vDq{1h5(F52|jk`GFvytEB_Bs3?$I#m2?X
z(;g^*Bxzv-fk19~n3JcC2lDL%^|X<-v2wMx!4?<ChI@M0K%KFDvQq+;6BwIaw#0+J
z7!r&^{FH0X`+{E^`q;vJc)+0^J#Ji8ZO6;BiOVmP5-Gj-K2zy3Q($XN#&B!?yu?21
zkXZXu(s<(c>e(xikoKFASN^vn_W-l|-{$=sf50-LS)zsTuz>cv3yJo%7lF4Ie=hU3
zmS0KSZJOIbeQrAnTJNU!T&qj@kB=CP#@QQ>$M*Klbmw0ns;M)B?@z8HrzNVX?Bwil
z0>4MPr&4Uv75p?@UuFbYy^DN0*iSRdqg5sCT{pRB4m3Vv-!gvli8e`NzhL8%oF$bX
z66?Is*wHv%ki>b;t$9#A)9*Z=RcENsa8<%SBz&_jl}2_jewvk^l*lHnUz*Y(`SQ1M
z#kSa(aPyE7fA%`}=)SI>*9IVI6IWORo_=a>e^*9b%r_X&mQQ8nD($TnI`eKnn`Bd}
z`WwrTqK~@Zg^t$;>`zzRZ)t>;c2n&$7aYjH%e@`mmfg04+os$kD%A+)3w(&3H3$0P
z!>)aoMq_zz!;4ioop1NUCxZ%E9gD*OAr^{HhM`I$SX+f>Wm7i|S>S!9s@&7r&vjxE
zJ|fp><6c2dr$6ZysXmD=oCv=&EK-b485@-F?lQTkEnLgd(7dw_zRs@R3{b1r$+>(R
zvivm@bih>iEJ-#0C*pI;UBTcReZ*5k^$cgZj7lN6?j<{~Y}>a};tvKy62y2wzvB7k
z&2dkyk|zNQ<Zm`PF0^BMKVzjw>g+w0{$SEh!tXw(`q?@MOM-+t9c5cA?|FXRm0)$Q
zX60usE1HgcCD@#5w<rSuwGXj4%uZ6W*!!Ii!75Xedys2LQo7iyB2Rw5P%mfK=^7Tp
z!a;epRXoL4+w8bpOm@Uv5&gq9X^VC7$>;S3xM`griGaF4T_^GPi?(?=_piA2w$R-?
z=I6f~i{C17Qr>Sd{gC+}R|I8ily1o4nOW%eQ~0d|pug~Uafa0^P3+LknqY1nROYaL
z$D|Cps{HIp=NQCq+MQlFVw`D<FW6X{JC-fOF6MSu{8+_W2w6?cG3oSg)_lTMon>q|
z5+ztKFurqfHihmD7r`msPOvWD38i+?wd{|=(NzkM)L~DR9Nx_}&N6aw6{DYDb=>fj
zs8?~&Z)|+#0pKy)G-L2K&`++KH>T*NElHy~X<nk@p}7m!5Qy2MoDwIus#;B*vMq)R
z<R8Cf;g~gf>D8hm=_Rs9S)VyY^ZXBO_5E46GQ7In*oe(CD7##S+#&bpy8qx1Q-zDY
z*at(aw1@=2d{Ks!!D63ZpRIP@N0ry-ImOX;4!Nr`f;U%ekOfr+@|!6=M|tu;PS}V;
zcGiVA9ewipd^Ne6&YDde2SJ?8lhrPkVhmZ<q^kS=wM>`g^9G|>5>$pTH>Jgk*NS%z
z<>z#Z<9++f{_DD?s2TZR^!8*vkZMNo9u}ZF&*?&0O!;b_jfZQocAN;9T#`4|d~|uW
zA6Ak4ezN7<q1~ScZI5yYml9>@HU~lIx%ZPUjaTO-UA}{$1rPHf-Ir)^MtSp6&5lxG
zlPN~>j@>IseaX+xP3(zlwo`nF%ANPqiLPHWi@973#psQVGnRhDp?K<QEtLAr{9$WY
zc3L{1_EObK8ey*7$tSGXU8?eM)^c(eE5zZM=~iv}+Sk^kdH!|^UvIurY!$l*S&4NL
z?{T`j9XDtDqKdd1@J)$m3}`G>$(mX7Q_*1bWWP9@?2ercsED+#$#!TffZ3XR8~>yn
zT97=`Gv=0C6C@qD-+%m4Wztxp$&av86%lE@Eji`0Ui$RneyGJyK@*klJSep2vi(hT
zdn7{v{@qdC{kXD=juiEsQ^}hsmzR7UCbxI}3^2v-QthT1%8*%MA9-&!oYlIe^fG0U
zX2o#1W4>};^;P|#lAm*5)4KQ&ip=(S7w#!VxdAky)(tV2u2)NH>}0koE?Qy?0RE>2
z{cX)g9K-1gg(25>iCm&(dPf)GCd!O?pGS7oN~C2jFZ3j9(xp!i`s}Q2(BNFXH|_ON
z(!8&BST)fz9Pfq@0yv;6^a!;}_XyQb`J4WLnH2NWtDCnhzvYX&;L6kI=BHSH-d6Q-
z?h*$vJN8+eI`>CfPf<Cnw>z5RFlBXY-1pNBe#AWbm0#Yq@z-8tP{|1hD1j+~ntjjT
zG6|lRMEfpR7h@#P8xZVT22PbJcaR9kr7yg^@@<QEUB&+T#^-i|$oxJiKxXl`UB`ZK
z_0v%9GNN+9m`}jzHNXMH+IZ4Rd^$m#^uF%Z2u#=plQT)Itz_W#34}^C1*nNH`Z!1+
z&&JqB_C@KK!s_lp3QFqSYmZhk{iEqT@@GXn%T!}OfA~b3v9TmW1?4R9&mu)I_nA?S
z49A`}Bp&k=EygQ8v0lcPcP8VZWWqE=J?dfG#91duCwD0dG@t2kwscZ_;irZYC|ti+
ztkLPpnvQdJA$CtQw|T91H#c2Gt+X*T{W|aDtZX!8;7=g;_^Dp`#<azT#xS{lqe=;(
zbJaJ&av=GE;p|iGH3ge7NL;_+$xg)+8+uwCSHBI0OD2svb(%6vW&_CUR^CAOV4^i=
zY9)Uz+~tHG!;5-_;9Gyor9u<YlIMHDxUsEdzwo(m6`_omW+*pv$HmFc=mq%kQ%~n>
znt<bL8j<#Pmko-(RKLDY5=L6?+&N4$CeOMfFa!$F5?mJnl98V{sF7R=7%nkE%<tcz
z%6yx`vaOP>=CERAqmO6=zhg3`NM+ibens1nmaA-m0Pu#lJJB^Jy#KsS74B{LhsY`p
z22wq6&D{P?R5B)!vO>G})$xixnp0eVgtjIv0q${mbuHt8Ee$(cRG@__tb{Jh`7-xe
zbhU8tSorEoNN1uFRu^-Fz7CCSwO*OM_WWX6e}62|z;$)ANH<uluAB9NfpMc_n&vFo
z-S6f1GQnaMwK)uTv`P_%e5bpdcg%-QbNg{D-EKxO)&T|OmJ`hh(mBUTefYP*)^zq0
z`Y=e#xvH>DSwjNPiwywmAoA!OCRCVkCaQgFYFGF!r3k#~wWmmv@@FjRP4h08EZm<4
z8;1myNos)B>#lt}>lcq@=BHQqll!O#gU_~@?NAONo8S1C7-011lnu-0?qFkr@`U?f
zO@TOz3{HSOeFlRA2VcQXPz4p6W&pphz>V<0hLL&nK)IsX*TX*QgDa)A4EX2WtmaWB
zvnvX?Tl<)v=4qSsfwgPQj6h2qUy*k@m8Fp%<PFx?Li+o|!S#YTsGCcK$I5JM^p$9u
z%-0^GI!+K13t0tmDy|Gfu&R(qB%vcdwJH^@6B5$hXfSbRm$b+kDLV)qehgJuh1G=N
z*fy2=pnYoS0?Et_pr)sW>b@cGqXls<AU54>?x*R{W;s*N&o(X6Ai`aU{b)pK?r%h=
zahyq+>?(v&y6ruc!6i>u^W2sX*o6WBeblRV>|i*@T`JNqJXocg?u;nO5WnX4d|z@O
zy-W<dmaTVG%K={Nof;kNji>F>SJO+ZZ|@fF!V$YN<JZ4U%tMJX#fPUhKE|e`-CR8f
z=g7nA!NPN)rgltlACZ#EQt$z0Af0Ff4f)$FdGvDchJuDVB22ed{Wd*O?}Z#I=iz#+
z@x2VguJ6{lmIhy^f`=(HK@2$%Ftd`pPz?js@FU6Swkwma&-uTsdw=b=A*7;t3&8!3
z?h)<=0e4zNQ({M#XEttMKEFdZ%84co?B>|~CcsIeU*i7dL-F$V3_8wqUXMXeylJ;u
zYv<2^>TiZF6~s5)&C&C1oS(e5XFMBGwDDN&m<wr>)u8J7e93ftl}=G#?R^RketS-o
zRWDEwe;1*^o85=$6?5Z*EPY~RDDnV3$*)wOkha{O*^HPtz|p<D<0j5(yjX`<r=y=A
z%{PPaAIo8#HRp+EeJuV=l%;;88{PWiyc28|!)N2a4);(sj12sto)(xiQ}PKlFk_gc
z`74Xg%B}DicW}aV#!H=0-VO}#f%F(bM6|O(62`H(US+6ZmsfvVZH4Of_!C1m8^+{8
zrAOe=(y*yqLR6bI2+9-BU5i%2GrEJOFhn3OD1=YOd0U<$_z7ou+866LO(OjUbZJZj
zsEREw<%8K)dfC)|8jOj=9Mg|Y7)jEOy_KJ7<wGmQ$5p4%_Ola)RWe1t0h7xbQCq%t
z!oAPTRb4dYQ8<tUFuZu_u=*y$mp_usF~w#L1TY(DVJ~(dj(A76Sz}TIt)gI`Ab(6r
zx3orBHPd%o9eVY3yLprCF(LZ|{}+$4)IRQnPYp0y_^?s@0#qSvM7yJh?^3XW?<OC`
zutjeWUE?15Bu1bfRY;zBUK?2VKCA4EE_Au<?dHpCVn6BkuucR!r|&f46>Gx8^H(&d
z{22Lq{puwt96JtD0L8%RTV<Up6G~b*(?%0M(f4M_<K9vx5^D$hlTIl+15Rd=SBX6@
z51Yak4#Z&sJ3CZt)`D1Q;H7divSik^L+ZVSCPAss5Laf3!bU7|8ot?q9$cxl=$x0q
z16gicqPxOXDoh?uXa#{)1QXj&8Dzxw<c(g-JjN9G^wf!RD;yR(UQgK(PgO4=98&5N
z@#n29@2(df1;U3`vnO8aM#U_$y<LJjY(Cgd0lx=UlIT#9B#n1{ZL&;T{e?87G^QWY
z#(zubcX(!_F*cSGV6<bY8nUh#U-err_XqYbo^LB`U`w|TuA#l$Y3B}6hy+EQyk)&r
zX!uGWp^%!Fo+&sl`OSLOkE0TGG^&mwE#@-cy~hd`qDr4fVSUHY48wQ_Ag&e~%u}Q)
zb3@($B}YS#Q|W7RK2q+m&w{JdbnS^b3ReM?=r2^VS?q0h&2mjC-Bz^}CI{!vCu|9I
z<z+Dxe;p8JgI+jU5jls-K9-LR--w6;lu${wxp66r&#<Pe&zDV)zWFv3ujVkNKFH6p
z7~GzMDwg8T!H_*p7;=Q6(F@4kH=aAmQfaOfm<j-sN7R9P*On-9|Gap%rV#5OD>0d$
z7$@0Xf>4vlm60<-r4%kxD7%O{04@@QmJl)HEY?7cDcr+7lMFXGm>nYmS52~h7a_N?
z+x16!c0+X(sRlP1hHR@YB0AJh9%{C&>2284lWtg~Hx$4*tI{<qFch_ae(!v(X8n-b
zu>k4qYMb(YDm)kYu`n=~b;SWrEj;_sFwvTQwJ<%c`T?V8k9o08=RUyiBY3{BwzXOk
zoo##C0(~sx%hZOO1&~gIVJt~o0Jg07;}KK&x2Ga!I<WI^QZy<a_S}c6B7$8WbK76T
zGA$t9Uq#%*!?dfjH~ZLXxU(Hw+Usl@@LvS_WGZ>wp$HLHk=iQsUe|rnk3%zJkHu<D
zuVmlG$O1-nkjLslyj78%>%8<JgK@f+=HTfcfv`a*8eRjp(!H}yAir&nn&FgWTCtyH
zB})34QA0kjbtOmor~OiV!5|evqX{<~%1N(U4#|0gdc8UCNu2(<Qb&^F1}V{y7vIFq
z@#%>(YMY7YV4}hDJDg@DG}ym*;UzTloqZ#C@`RHgCnyEig7J%n)3FBQ1d!bIZ_kQ2
zYv<nM6mT|3`o5mB{7eM%6h)tQJ^;!3cCS@9?>B|nlM_?t?8TNAxP(2TKGNlm>3X+%
zNNts9nhC0Ge2v0hTv8}OBA=~W`=M@vN=<%-vQ<rBqDJX>?PFy?zu@QsRyQe~S%2Re
z?^?YUyYIh>K4|84&Zt!O;R8w0^hy&&V(>{Pu$)k@L<=zGvKJ>;)$C50Y2fv0xe?-g
zaj$Q@4W^q;*N@R!k46Tz2a#o6fTcMQZkj%}ve!hXs9n8QQQ?ji*|^o@6*b*rrj{Zz
z`|xf9#`w5*>=Nttj^EiEPus1`A(1G}4RW`6q{TYHL=#l`07~c-{4JSN<)gXDZ{0d6
z@#NQU!cbS1qUoSH>lTdbKr>4Es+Bj$AR#Q{Z&Lr`$u4S1w^WlreP?=_Sp8>Y6rw{g
zYCZMJU=he8*Fjrtqex$!16MI+Q$Zhj8dMm)OJbH;g!~{g%{tz*_wz~E1~Y0Kbs1I+
zTUw-70z2^R#BtDC&#hytfSobPI1$P$FK;L;q$B_i@c<}__MvZ^kCiCuMR(1ii)j|n
zjD4!-{k)Pc`iC`2X-!fu9?BWEUp(wnI+|aD(eUH33B#6gDt?*nC9&->IDW9UsOJzM
zi~bD9y*M97pRHjR?Lssbvq1Kz<Xr3>aOH=a^_m8WPdb@cl#*7dQQpmDjl|u+WyfTF
zsWXRY8#eQ&-pgjd7VO-IKXNu+X6MSJ?2i0mQk4DSCK<JGWFrdP3F|JSMs*cft#?GV
z)gP0U?AIM2E~D<n<(c&ClS>cw!LOK(xruLqSLF88W5K<<Zj&@hm-#L8M@9Qd{JWkN
zzI!p-^=#oWnd!7nq42o9{BavfA2%NNh8HimoMa%AA$E_$a1_oF^2&@dm)&gLd4VvU
z{n<+NsGikMJOD*h$ms?x&RwGQ?XP-xKSpoc<Htmra2+T7nb#W%%KdvbJiZKv!!=cx
zjwH5Oh-ayIQOp$R>t$0)F_HvRD+3;~423DlN~VKKp%6*gIPnZ?&=broI?LA~rIluS
zK0d26L_%tblZ|jLVNBx3k$Dp4`1;p!qX7{5^M!b&mV#tTYnop%-5B$o)_G`Z>DKW%
zb84aj7cmBq!LON6b8uvBbHnEJSh79~H|}@B>Ku_gh_dU9??G(U&jmr<OCK*MgfLrI
z7@Zs8+LZe_btx@+iS=&>O$QEQuWbXW^CB$EDGOgxI1O&`Ep4+#BKgn$FGIdhOjg2&
z(H6KKw$<bA4DnzneZgXsU5tVMrk*(04EZqh*kqoUvFR{}E|ZNp7lr3nhDw3M<h#c|
zDEZ@xXEiWo<_WDlkTIv}1GVNfAe!uROLR0U2f9#1lRF~hru!<}9|1t4!bG`qBS<AF
z42+>a<+qxLWyoHC$T@Ip#iHmE3P!z{PgHUb2~WhSt^j)E#}c}(YuL>Ve{?=Sc8YR7
z--z&ucW$<3!djONvH}hKc0BHG@S`Tzu&L{l?De1~jnv#PeO0{h+s{ztS#%4$wZX3y
z3x3c!zBsHyBrk6;G=pNdmbQ#*LH4R!P|%Fp8-Jn(kH04m1n;E=6sHnZhd)E;yKHV_
zAXC1o9Ha{|!V)=8>XArEdc^!2N1cin?s4pZ>YGgh8zme=bs3^0&bFYtG?VPMr9at_
zEnfB_^t6?aNbLFh^p!F;d`z9g(3flC3VMM#!c3pXYB4k7lm^^sM^G<L%zijp?*`*i
zQ*mzc(Z7!<Y%y=rl%g-zi*99R&+yk9&iMVOZ+qV>jA{cjd?f7=zq#=XVc85l#9|$x
z%}9NHpIg(@(KY_U)VLM@N8!e;&T*-xi|>2v1;S^&?V=T8WDd@ApwY6rOFw{67T;kv
z;>V4G{7Ug6G(a-P?PnOuwX4+Vs1jKtaJ*70dloi^6oZi5a|ey*xG38`oWq1JMgeb%
zsu7VFQc-2<>CHLeJW*k)Pg=yfhgF{T0ksNhXsc$R^mpE1@41`a2uq>0F}+&-VUJqd
z2Rk`6pXc4ySrFXW2oUU)ZXrkOJ+N%)>HfYl+MM$kgTQsl9ZT-UpbPtUzx2t^WVd?c
zy^iA-=YFIwGxT;2*{DO<9_oNFwHg^69H;?}IQ%N?@`#0{oyT=FX>VcjdMb<drB61K
zK`7^F2GyhqG%vR)d@IwK{s?pY4B)kuF=!Yd{H)Z#GS#BC5N}n=TI3LOg*Gd;8-n+?
zcNxbvh@eJpjdLxSut1F|l8Bt0d>?0<s^D&%Y?hI;p@XBPP_Bea>-qDSVi}Dq@U2R*
z*&hsSNdgBxLl@P{=xk@esIXfa69sAJQTBBg!lviQ<h7*`(4$>THy@|}c0iXrjHnBt
z@{&EuVm_Sl8N_a!%8WYbBnk?!2UuXfkROa*9Le#K7}9F^R{5vZ0vRNCFN!$Fg--_q
zwIc!R(ASkcbW$yX;r^W|?Jld&Km?>B4X?>a8NZvF^gnZEKJ@Q2gA5*UQ6R(Xi@hr6
z3^;eFHR(j>>tw33irrpEV<Rp9#c>DO)1Kd+g*p$W5p5LhBT(UQ(VKdb=>R5sNYj5V
z%u}Y84v|@32S5f0-x*q^kPBCKz74Z(7#)TBlf(-*04L_9V$3MHKIk);P#`bvG?j93
zy|yXbvz19$2>5TFs>e~nO!C$@&iS{wFn>84nU{-F%%Y>ft!~ejq-6Q5a_U-B*bW>)
z9u;yU*#_v|?%E-Xlm>hzn9+~uU8;o4R^|XP!3h&G%e*;&kS*EC17gBJ5p<z1L=(+X
zOz6yptE=HwFBZUGuxB9TLmv=K`A2w`K%Oj#ihOCa`p~cR+ZWGEJipvx_Dib_MYrR<
z!8I%1BoG;U^4s8_p5f1CA$fis8Ynh_s}^VP$<gC;i5hW&MngHXn#SJInU$`TV%i3&
zfPlv~O>M4W{{2eGbFDBJGW;Vhs#V`Q#lIKAR1|zMO5?X>ciebsKKmL^WulW)=FW?h
zq!Ay_QxRN#%ok*)SjxmGjlAMvM`n7xwUF3y$g9lQr>?;30HTUSk&n@-)LJd>#)*vM
zC3E(e-Q0@AuMC=kl^PQsksY=Z*Z0P`)hIMg8wXhV^dN0N+S55?{?D)S#jP|Ez)#z=
ziBAoKNwu>?b#o`(&UfK7f@?<@+7p!CZ$wU>mW{M|qyox&+uhn{|16Pxy4vJ=&Ua}n
z$y80b#L3@*D041uZ`W7OrHBmeiVNTYPf{`@nYg1^p4L_Px4Po2Be!@elt6qt9e1k&
zWMTI{<7_+i-O5X89_#7ZB0S%CP&v7SLD(|B-Wht7@w|MKQEq{5jMk|&a)H2pFJU1&
zhqh@dyEG8L1R|B)?`~nUbHAhFo|-0d05%PL3LZSU5ARX1LKB|?mb^%qeae@<_bSH7
zM92PT9CX&o*)MO38R;pv&S&4LFZp<l<2w_kQTPRk<q<HR_U)k$?d6r=KQG(ErH2L1
z|8e9+-K}d%YOeae7Q&Hnh|W6WYf`h@o@-t#mtzr$kK>6-z(9p~J&A>>^%3B52v~JO
zUS-IYoybn+SaF0ZlQ4Kx-W-#<JBktzIPZ)*j2#|3XrhfR2&7%qaK-jW;W%5Bm^#zS
zu$2(8JGdD#Ubl0{uGfQQvi(jV+kR+aO>d+!x=fQMZLEdDd6bLh;yY4x>p?U%dd$~?
zrJe+%q4%{>WQP$2-90!r@yJM*eAnH)u?-Xg83y4?G0hfAZU*0io#L$rN51Od%?L)F
zgg5|=UEXhQ6AFdLxz+xmE+;GMOWxex$T`k4&jQUq^&C=$qo(?7VG8zYd`YoKXph5C
zOV^C}f^w`G^~D~A%?}espN&{;wK;qqax6S|KCAxvMDKJ>35?q+IaFn5C4M<8=Hd7U
z1o%_<I+WNZAC8thW_YWTmoe<j;-{q_jbZ!RSm4ooW|v$1^ct=xw|I$HuR@HR2es`7
z>kx+bW+#9}4nvT1tN~al;fL!CCgu$_s6Z(`?rk!Wo$ao_?mu3BO67Vy6_$e_pCBY%
z;Ts7YErJoR^#yu737lXbyZBkjFL5O`Dk!;;!7PERIP4Ql5g%m0c$zykKTEK!axfLA
z4k?tI&$A1}6X%SuEm^(*k>)q{*CP}A(ljUltYQps;^DVU5Zl0f0y(G%DC7*Wo6#S3
zkKdakgAjx`1y@B%{c6U*9BaB=u3gNYo)oKE=t{fDR8x!X=|qV0=J6G{G#t?0Qi<yd
z{1s9c<_)q}NBh^bIp}o5vCPV(7D7aD7D4+hI|jBfO1Q$%86VAqm8b&Yu|}DN-+Z!8
z*dg{|TXx}*<iBa$*Pk+t4L4s-3<Ne<TZW|KeV2vp+nwok+L!e{o%V4*whakyu@UN^
zv1a<1&%2#DjfW|p*Y<ExFes%avMSLbD0S*wzsHN#fR2;QB>y2aj&)J!-e?>OFf~;<
z;iz?7Mg3+QO>Er|k-znk2ooq$r^g-hmEQeje4?#CEQDG>4)t!O{dG^cf4_S|`*mE@
zuX2WJj4^$uAP~($4PNYT$jVa2FWG&wmuri)fL4#xWPzS`w|MQ+>4vEK@XF+G>%;i-
z?R;w+l^#cF7rb+7kc;M%wU4T9{eqzR?ckUL5t1zOh(z$2<Wl)Ro$+rT7CNP{yNU1D
zy2S|tZib2JfqDmk7+OvYR3a5u`5=sVok)vT$hhC+zzkR&NH0Mip#F9cv7Rtgm#Y<<
z<ffg1U*CGD$nGXD(YcDO_qz{|KJr3b)_sZqQYP1$b1RGFWZ0Ezquk0LzfqmerV#ZQ
zQ_o=lhmYU+cNI_*24K$5#;ScvFX8sVVG57WaqW)j!IywEyyln3RogRoqOx8~qHeqE
zv&ka#BZ)=<i+t@>kmI0}sl<V|YO{kjiY@cmFKrpy#HDT+>_zl;QH6?{F2rn4{#Z5m
z>uAI~HRkjtuD04RFD&_}M(`xlKJH-jHxj6#Z3V;xrsyrt`dCHI>;{qwjV5HSJtF2^
zp_!MQunL=hPouQ|!+UM0_Ndi^U7~tsJNz<ld5+h(WYw*hHGr37mY8(^7uqKxpL6@|
zuts`Zq<sYRbmPSw&r7vrJkMH0-e>}ar+*@k5Op`8aka~lYSoWTY)8EHO%8y%Ka|T(
z3W$1t^&x%>w>lnL@_g-nMr$>+&f$8C(l)2CmIF)wHV#bf2xNA<hFA(?U3cq2l}5!s
zE{^^#=^GQYiooQyv<zt5C5;nSiVqXTk)@`N@-87d{<e!Q5WFft+ML_n6m{c8NY>p1
z;^3tc5%!y+$P*!uz{kNkvDKI5*;L^}m2Scq<-vb^9wICLIJde^EDt)}8-L>G&v>0X
z^>}G{EnAA8Tl`jyV+ngN%~Fwq_$8{Yx9FkW8cppGm;Kt5p3mxqB}A~xL7$)UyMHR~
zJQwvEM*Y^2&!*lIH!?qL9IR>O^b6|TdUNlpAFfYBim(>zb$B`B?GY{S)%IRy`yE|)
z;3-jQ(@^(`gI7qpzn=Egp2ar|nEOB|dJOa=KO?o6fI0MeE3a$=U&c$_CRf&@q*rAL
z#2=<_yfXgusWT23V<vAZXrXm{>9F2BP81V6%uBc@2vrDrg>B<v{SU+e`Rf53@qmbU
zcq1_pV15wzp}|9y??2dyzt9qLKAtbMJ&{NWps45r0a>`AAY=u|Eh7cw0diYGkxwLk
z0{I8>iTwOC4)1@)0dnj3y4e7^HK2AjKt>?XU*l>(J#1V&kzN0VWvJR%!=TcxK0sq6
z2?P`p1poCl{j0T%tBWVHIUM+a?D!kT@xsH^%k94=^*4{dsQ=DW8_C%N>H>Fr;AQ3e
zFIf@j>EUJbZ%qc-O4i03W@V%GLi&ODw=CRRHgH!j4=Wou@L@%?{!6llIsc0;`5(#P
z4}H0nVb*Y@1P{V%0so!5*Mp${HGtrM4WQxSYVBo(#G|lSL17-QKprk0Auc{3i@m3(
z8(f$hxx7fKod?v-9%cpSa`mudW&Mkh3=*y433GLkeNYXHtS~Q#2g1X{1Loo7=Lhkz
zgLs%hAlColDfC}F|DLoA)D!CDYWLS@52}Ixqm2Jip^t}+Ej9=U#s>YT00jjE_ymBq
zz<+39Fb{Hh9tzOqKQsXd(zgCLjraew1A%z{Kkbks{qMeDA@Kj9K_Ey|_?L&L2NdRH
z<M9{XM;qp6gPih%GPGP>J%JB`|7|gfF1D_~hqeDpnQ%|2hv#1sLO}e2*o=&F>hjqC
E4_^^ID*ylh

literal 0
HcmV?d00001

diff --git a/Presentation/presentation.tex b/Presentation/presentation.tex
index d70438f..a943089 100644
--- a/Presentation/presentation.tex
+++ b/Presentation/presentation.tex
@@ -25,29 +25,29 @@
 \frame {
   \frametitle{Enveloppe convexe}
   \centering
-  \includegraphics[width=0.6\li]{Figures/hull.pdf}
+  \includegraphics[width=0.6\li]{Figures/hull}
 }
 
 \frame {
   \frametitle{1 -- trier par angle}
   \centering
-  \includegraphics[width=0.6\li]{Figures/hull_sort.pdf}
+  \includegraphics[width=0.6\li]{Figures/hull_sort}
 }
 
 \frame {
   \frametitle{2 -- balayage}
   \centering
-  \only<1>{\includegraphics[width=0.6\li]{Figures/partial_hull.pdf}}%
-  \only<2>{\includegraphics[width=0.6\li]{Figures/increment_hull_1.pdf}}%
-  \only<3>{\includegraphics[width=0.6\li]{Figures/increment_hull_2.pdf}}%
-  \only<4>{\includegraphics[width=0.6\li]{Figures/increment_hull_3.pdf}}%
-  \only<5>{\includegraphics[width=0.6\li]{Figures/hull.pdf}}%
+  \only<1>{\includegraphics[width=0.6\li]{Figures/partial_hull}}%
+  \only<2>{\includegraphics[width=0.6\li]{Figures/increment_hull_1}}%
+  \only<3>{\includegraphics[width=0.6\li]{Figures/increment_hull_2}}%
+  \only<4>{\includegraphics[width=0.6\li]{Figures/increment_hull_3}}%
+  \only<5>{\includegraphics[width=0.6\li]{Figures/hull}}%
 }
 
 \frame {
   \frametitle{Robustesse : alignements de points}
   \centering
-  \includegraphics[width=0.6\li]{Figures/hull_aligned.pdf}
+  \includegraphics[width=0.6\li]{Figures/hull_aligned}
 }
 
 \frame {
@@ -80,4 +80,149 @@
   \end{ucblalgo}
 }
 
+\section{Perturbation}
+
+\frame{
+  \frametitle{Prédicat : orientation}
+  \centering
+  \includegraphics[width=0.5\li]{Figures/orient}
+
+  \vspace{8mm}
+  \begin{myblock}{0.8\li}
+    \centering
+    $
+      \det{
+        \left(
+          \begin{array}{cc}
+            x_0 & x_1 \\
+            y_0 & y_1 \\
+          \end{array}
+        \right)
+      }
+    $ : sinus de l'angle si vecteurs normalisés.
+    
+    \hl{positif, négatif ou nul}
+  \end{myblock}
+}
+
+\frame{
+  \frametitle{Utilisation pour l'enveloppe convexe}
+  \centering
+  \only<1>{\includegraphics[width=0.6\li]{Figures/sort_comparison}}%
+  \only<2>{\includegraphics[width=0.6\li]{Figures/sweep_comparison}}
+}
+
+\newcommand{\eps}{\ensuremath{\varepsilon}}
+
+\frame{
+  \frametitle{Perturbation}
+
+  \begin{align*}
+    \det{
+      \left(
+        \begin{array}{cc}
+          x_0 + \eps_{0,0} & x_1 + \eps_{1,0} \\
+          y_0 + \eps_{0,1} & y_1 + \eps_{1,1} \\
+        \end{array}
+      \right)
+    }
+    &= 
+      \det{
+        \left(
+          \begin{array}{cc}
+            x_0 & x_1 \\
+            y_0 & y_1 \\
+          \end{array}
+        \right)
+      } \\
+    &
+      + \eps_{0,0} y_1
+      + \eps_{1,1} x_0
+      - \eps_{0,1} x_1
+      - \eps_{1,0} y_0
+      \\
+    &
+      + \eps_{0,0}\eps_{1,1}
+      - \eps_{0,1}\eps_{1,0}
+  \end{align*}
+
+  \vspace{5mm}
+  \begin{myblock}{0.8\li}
+    \begin{enumerate}
+      \item systématiquement plus de zéro ?
+      \item facilité d'évaluation ?
+    \end{enumerate}
+  \end{myblock}
+}
+
+\frame{
+  \frametitle{Rester dans le pétrin}
+
+  Posons que $ \forall(i,j), \eps_{i,j} = \eps > 0$
+
+  \begin{equation*}
+        \eps y_1
+      + \eps x_0
+      - \eps x_1
+      - \eps y_0
+      + \eps\eps
+      - \eps\eps
+  \end{equation*}
+
+  \vspace{5mm}
+  Si $(x_0,y_0) = (0,1)$ et $(x_1,y_1) = (0,2)$
+
+  \begin{equation*}
+        2\eps
+      - \eps
+      + \eps\eps
+      - \eps\eps
+      = \eps
+      \quad \Rightarrow \mbox{positif !}
+  \end{equation*}
+
+  \visible<2>{
+    \vspace{5mm}
+    Si $(x_0,y_0) = (1,1)$ et $(x_1,y_1) = (2,2)$
+
+    \begin{equation*}
+          2\eps
+        + \eps
+        - 2\eps
+        - \eps
+        + \eps\eps
+        - \eps\eps
+        = 0
+        \quad \Rightarrow \mbox{arf.}
+    \end{equation*}
+  }
+}
+
+\frame{
+  \frametitle{Sortir du pétrin}
+
+  Avec la perturbation $ \begin{pmatrix}\eps^1 & \eps^2 \\ \eps^2 & \eps^2\end{pmatrix}$
+
+  \begin{align*}
+      & \eps^1 y_1
+      + \eps^2 x_0
+      - \eps^2 x_1
+      - \eps^2 y_0
+      + \eps^1\eps^2
+      - \eps^2\eps^2 \\
+      &= \eps y_1 + \eps^2(x_0 - x_1 - y_0) + \eps^3 - \eps^4
+  \end{align*}
+
+  \vspace{8mm}
+  \visible<2->{
+    \begin{myblock}{0.8\li}
+      \begin{itemize}
+        \item<1-> si $y_1$ est non nul, renvoyer son signe ;
+        \item<3-> si $x_0 - x_1 - y_0$ est non nul, renvoyer son signe ;
+        \item<4-> sinon renvoyer positif.
+      \end{itemize}
+    \end{myblock}
+  }
+}
+
 \end{document}
-- 
GitLab