diff --git a/libraries/dsp/carousel_correlator/doc/schematics/permutator.graphml b/libraries/dsp/carousel_correlator/doc/schematics/permutator.graphml
new file mode 100644
index 0000000000000000000000000000000000000000..8fbb6f1b8fb58996bee500e8d1b01ad186bf4846
--- /dev/null
+++ b/libraries/dsp/carousel_correlator/doc/schematics/permutator.graphml
@@ -0,0 +1,710 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
+  <!--Created by yEd 3.13-->
+  <key attr.name="Description" attr.type="string" for="graph" id="d0"/>
+  <key for="port" id="d1" yfiles.type="portgraphics"/>
+  <key for="port" id="d2" yfiles.type="portgeometry"/>
+  <key for="port" id="d3" yfiles.type="portuserdata"/>
+  <key attr.name="url" attr.type="string" for="node" id="d4"/>
+  <key attr.name="description" attr.type="string" for="node" id="d5"/>
+  <key for="node" id="d6" yfiles.type="nodegraphics"/>
+  <key for="graphml" id="d7" yfiles.type="resources"/>
+  <key attr.name="url" attr.type="string" for="edge" id="d8"/>
+  <key attr.name="description" attr.type="string" for="edge" id="d9"/>
+  <key for="edge" id="d10" yfiles.type="edgegraphics"/>
+  <graph edgedefault="directed" id="G">
+    <data key="d0"/>
+    <node id="n0">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="46.0" y="157.472"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="10.673828125" x="9.6630859375" y="5.6494140625">0<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="rectangle"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n1">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="46.0" y="227.472"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="10.673828125" x="9.6630859375" y="5.6494140625">1<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="rectangle"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n2">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="46.0" y="297.472"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="10.673828125" x="9.6630859375" y="5.6494140625">2<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="rectangle"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n3">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="106.0" y="148.0414999999994"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">0x0<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n4">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="106.0" y="228.88549999999938"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">1x1<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n5">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="106.0" y="309.7294999999994"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">2x2<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n6">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="106.0" y="188.46349999999939"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">0x1<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n7">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="106.0" y="269.3074999999994"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">1x2<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n8">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="3.1520000000001005" y="227.472"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">0x2<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n9">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="284.2122083333333" y="121.644"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="10.673828125" x="9.6630859375" y="5.6494140625">0<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="rectangle"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n10">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="284.2122083333333" y="191.644"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="10.673828125" x="9.6630859375" y="5.6494140625">1<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="rectangle"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n11">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="284.2122083333333" y="261.644"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="10.673828125" x="9.6630859375" y="5.6494140625">2<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="rectangle"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n12">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="344.2122083333333" y="110.80000000000001"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">0x0<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n13">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="344.2122083333333" y="191.644"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">1x1<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n14">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="344.2122083333333" y="272.48800000000006"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">2x2<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n15">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="344.2122083333333" y="151.222"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.649414062499972">0x1<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n16">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="344.2122083333333" y="232.06600000000003"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">1x2<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n17">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="238.93220833333328" y="191.644"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">0x2<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n18">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="284.2122083333333" y="331.644"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="10.673828125" x="9.6630859375" y="5.6494140625">3<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="rectangle"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n19">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="344.2122083333333" y="308.31600000000003"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">2x3<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n20">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="344.2122083333333" y="344.144"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">3x3<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n21">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="238.93220833333328" y="261.644"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">1x3<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <node id="n22">
+      <data key="d5"/>
+      <data key="d6">
+        <y:ShapeNode>
+          <y:Geometry height="30.0" width="30.0" x="166.00000000000003" y="228.88549999999935"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="23.34765625" x="3.326171875" y="5.6494140625">0x3<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:Shape type="ellipse"/>
+        </y:ShapeNode>
+      </data>
+    </node>
+    <edge id="e0" source="n0" target="n3">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e1" source="n1" target="n4">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e2" source="n2" target="n5">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e3" source="n0" target="n8">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e4" source="n2" target="n7">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e5" source="n1" target="n6">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e6" source="n9" target="n12">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e7" source="n10" target="n13">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e8" source="n11" target="n14">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e9" source="n9" target="n17">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e10" source="n11" target="n16">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e11" source="n10" target="n15">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e12" source="n18" target="n19">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e13" source="n18" target="n20">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e14" source="n2" target="n8">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e15" source="n11" target="n17">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e16" source="n10" target="n21">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e17" source="n18" target="n21">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e18" source="n11" target="n19">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e19" source="n10" target="n16">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e20" source="n9" target="n15">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e21" source="n9" target="n22">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e22" source="n18" target="n22">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e23" source="n0" target="n6">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e24" source="n1" target="n7">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+  </graph>
+  <data key="d7">
+    <y:Resources/>
+  </data>
+</graphml>
diff --git a/libraries/dsp/carousel_correlator/doc/schematics/permutator.pdf b/libraries/dsp/carousel_correlator/doc/schematics/permutator.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..eb9796954a2a69171dbf8edfe839f0c7ce654113
--- /dev/null
+++ b/libraries/dsp/carousel_correlator/doc/schematics/permutator.pdf
@@ -0,0 +1,333 @@
+%PDF-1.4
+%����
+1 0 obj
+   << 
+      /Title ()
+      /Author ()
+      /Subject ()
+      /Keywords ()
+      /Creator (yExport 1.4.0.1)
+      /Producer (org.freehep.graphicsio.pdf.YPDFGraphics2D 1.4.0.1)
+      /CreationDate (D:20141015104859+02'00')
+      /ModDate (D:20141015104859+02'00')
+      /Trapped /False
+   >>
+endobj
+2 0 obj
+   << 
+      /Type /Catalog
+      /Pages 3 0 R
+      /ViewerPreferences 4 0 R
+      /OpenAction [5 0 R /Fit]
+   >>
+endobj
+4 0 obj
+   << 
+      /FitWindow true
+      /CenterWindow false
+   >>
+endobj
+5 0 obj
+   << 
+      /Parent 3 0 R
+      /Type /Page
+      /Contents 6 0 R
+   >>
+endobj
+6 0 obj
+   << 
+      /Length 7 0 R
+      /Filter [/ASCII85Decode /FlateDecode]
+   >>
+stream
+Gb!<4bH>D<Enn=Air">LHp<?,))0u7gB3Fp!j!H5&g[AS!AboT8Zpkqh%G$@TrJ?'2\,TA,FM4Po0LC"
+@K#X>4T>/3pjd)0ocG:5^45t10@(_hs&)2[HLRhBqrI@lZ\m'^J,Sr!?iG?$o3_L_kJ-rfJ&dV"qL:.u
+g->W3T76_4s7tQd`#nsVLOWPlrl]e#>HbDZ*W%@(?>1e@]SjZ,Ts"EB5E9Dq0a/NSY:kLIk>+$&J,&b,
+d!r:RXKq;%njI8R598KCTDO8Uq8<3kY@%:TJ(bUOmDglTGf(5C*A7NoiSW7;94K9Qp91<r)<_V/\a_@Y
+rXJ5/s#]He55tHEC8hU>O"YX'N@fXuT"`L]qR1DA3qLBYWHFpPJP'hgKs,':I)BmW-m,_=YG7k7:8'd7
+lMOgP,mk*r?,)5sVDc0^r6`C5S1@HR5dLVahnHJJ]/XtJr&R_"CA"?uYH'TMX6K<3oX1QhFtuZ[R-I'6
+BR0Pn&?RV;DmPFXN4i%:7AEF>[8!B`o\5,JXHBQjf1mg7E2..?$Kj8VPd\0Cf#u\%fh,P`mhJf!*t$_9
+m),is,bd&ElKU:S8/b]kphaAZ!]nh6M/qH0'3`-[?XrMa62f2e!`95/XVB$L7U@ecHcF7\g-;2,n87^L
+qDsmdEJWZG2)ieOd.dZ=BA';qWE5cp[[c"518=WmcNo=`lZH^]H6)n+7>]EqH5EDeoi;lDI<pr4o%A#q
+kf9.aAQ[GEon%MT"'YrLYRdPY6L,`cpE5Ku[!J!l+[0^rF;RB8<lP"`M:Y"&V]^?YV!g7FmXun/'t]dq
+h][7d9E";j)=No"s6FN3[(91^p<E*p>H6#`r!cDNJoh0Gjn+\X>/>:QD/iMlea_h=6#A8-)G,/[3Ne]?
+ZoE\RW@ntU/U=A(7U4#SBhkCg.#Y^[HIdri?M12GcMD[cWnDX+-R)*j^_N%'6m'M5F"o99)Tq>b_Jf%G
+Z#GDu2%3H$?#mTpT.f7)r0;R)NVrBshOZBKS'Sh1o^'aOhS4OjDm*GbYtL*omE"4&a#;P-kJGr^rt[P4
+%aYiQ5\o,nY-U.p<3#^N/bK3*E)3KL<TI9L\"dK.*468c6bA'FY#UT.;'dlne;-GUI)kZ@,BdL7DkAF`
+4,!<p</A&u(<4Xjj8)d7XqDZc<e2LI((RM&O0CD?7;4;d1Jg`m*n)>'g1mjDH6BLVAk#;E@n++'Z((;W
+C05nd7+Q/EJ2O$#QEF'uXi>lX@IKu?2eb*aJ,0km-\%\c&_&+@:buVg1cVo'Ei55rD&Cc@eed8Si49ii
+3#kY1Pe'L(?)E%l]b`F1od8.^9%E,JqkS_H8,Yo[E=#.ao3)dD4Ka!"-CRZDc/b4u`e`'QoG,Y3B=3dc
+ILq#(S?Hij2`$=q#*F.CEL+_cRKiRA:c^sF""L,@bZu2-7'g2-ETc,ad"phW#),(h3r8QUY't5Uq*)@]
+5+*9E<U0qX^T>.0?J<uYN+6&X#0gtW1o@3,U2ODu@Z-h$Bm>"CmX!K'%G(ZPeA!PqHAgBjX]fFfI$pW"
+^/IMA[0Y>e5i%@#^E8sgVgp,@=uV'YLkUX42IN-(W$;9oD'OY=1"m&P%+I%^Ma^-p!t<+b+BlqnBZUcP
+q!D6=j-3Ra-@p-W>6t2FRY^n/=p4[RNXCn="!B#Z$h_=7V.@@&BW,E2Ccdbm#r\HPOn.Q?]T*?7<f0fm
+:C7>hB)4*!J[WiWJ_'6fe;DUhh?UFAe;)%][gi_\YtUlSN=L@JGL7QkU)>l6KLF]0:2,G"#9m0tD6spm
+hP0k.2926Wb/o)$"*b9iT&JfC_hH%9H!Xhgc$B\rfk7u7ih8Q"Il_lQN5/Ip<NiL2U:L6aWkR?_C=^)K
+7T+So%.2_&b`hl%'!hA`)o*le"'Z5erHF;(kf3U>K\mQNVjH+.f9\fmosSOUT[b3C`^W8[d7mtFI-B0&
+X+*u/"n?'<00WO13bqr("u$dGK@fRmf'o2aBbAJbCa"g!A![7cSZ%\6P.HH41/gfAW@n?N;4/ho'%cbi
+(M8[H_]ZdEQY,>8qRA`b]lAS]W0sZiD?s2/nI2U@k'$_&5pu"290K'&g:Z]QdVL)02G(6/?u+EC/1mib
+[PV2:k:Opo_X)/SQ5\AA8[F+ShstN!@6%T@/?sQ6FHH#dROs1af[=TpdC(l9H\/X,BsnRi<A)OZIUpkX
+:!!`6Z\<#(Ufe0]o=-UZRTl4@o(D!EdL8"X/^;Yb]VJ]!Rc3CW87P:KN29n0CuNgN1g<qQ/=*q(RVcc)
+,fdT_%,oVcW@M2AXa0!K--^hW--[M/^pUSak$$FX@T]qRk1Sh<l9uPVe3U:tQ:\'$YIL4n&_MQh74B`-
+>X8;ME7njr%]r9;Fc$^37tuD7*(tJMQ]breY=gZi<RM:=)I$N"PW$tB7Q@5=4.;r_\34-G/CDQ$d`a.R
+4hBnTCYGe;J,Sj'\o9,:B>dN&<+/4>=sTW:Vt\lkVM1@ka-YbfGLIbtl5BuC9TOL`f5%KlBmtGtTCop"
+(Zs[,XZ:'GRSL\JB)(uULsqr7_=&&(#P<R>Pagt@5[+=m/-:b6M`ngp'G/GKC'*ql]eO>5CaVU2Ze]qB
+Nnc\BlB'7DR9%aHWU&!6B-Dl$%Xf\O:,ffNQdbKfbP4;_-?:LY9dH!]J$p]@0or)d*%Xg;Z^$RuP"MEW
+,u"LJ]oscE<6NZWJ?^f(M#_O6TdIX&ld8,'G-bdq@qm4SG;u&4R9=5J(T&OBeg[u6UPSukH8LbB1N#6F
+'7h\#VB!nf<ssbRQP*R`c:a8=H1R3mS\n+Bepr!Z8R1;ITH,T(MjGDF0.f<(js@36]S'>O`Cni.k2rLo
+>26ctcj1F@fm#G/4i[M;g*hE"g%Y2g+@DR>LDDm_kl^9PL;cB(T+,X@G\MDM)=Df0/^07@?\V(a_<\L0
+XY`8Vbg1Um]+6GuY-5DAc9U7tVN(842Ni2bq@Ua;4jp0YYMkGZGrcR\m/o1+!lIPO;_kF\;s2"9M/"u\
+/e&J]ok%*3/^gg#APAiJ:%#or$2$sSAQW>[`0h\of7?QadrQ]C3YA^TlkTmpCKo2)M3D+[&0jG:KOp&B
+ZFu$kkF>r/eS^S-i&8Wi<#sZV\XZRcC&:O_hGnL%^!g2n]i.(gN<_p^p:!#08XJdV7\b1%&IBdjCSu+=
+_e.oq^bYsKP\"@_b<Rp,rL]*dXRVN588ir+4&/^)24AqAWZ>9_BN[Z_gfi4[hrMO0N"CP2#n/Y$Ko2/e
+QJCmB,&o3?G4dZS9f/ZnkaM+#'.eJ`?Ac&,E#r/5c&K4gbEgW_;%qhEfkErt]3Z[G#O*R,.jl(@6J4Er
+p9LhRrPDU`eh>+pn`Udb:-/6j_9stjju/6K!R+J(oa?]rlUUdT:``-A?tjZ[_Pnp]K([Ea?X2tr^UPuj
+Mk"$:OFD0pK_101;nq6_O%6t#pTiFB^UPQ59d`gk1N;9n.*&rRnuUeXd\=NPk;!BX>VZZ(c<Ebh,]1^Q
+ODA)V8cm%E<2s,=P#:P;g+F7sO2@2[Y_;()n_k*R1+Ea"=[BfnFj$_9,bl>P7UbTk>=RRF*%i,*1U0Rk
+Y]8Gr-o!R@a=*VKG:@[2rFLTgHXmh,'QM;E/@2p!PVf`lUTe.\-)3`oZ=O`;2f9M@^+J<,;.sTY)$LA6
+/VTA0%[U%cn2R73X'@CeetdQ4-s:^u7`eut1<Pa&W.V-cRVg6HKgrXa'Wb8Db:'T)4``em-:p]&S4c=[
+VWsIEc9!YR0K3jl.*PE?1.ht!A/+[t\RcJ"ZtpVFC_(S)oiP;1[,1WulY>mt?\Agl3''0dYe"uP.+=sU
+g-S;b\'jd@1>MOD>L'&>F'Hr"lSWd#3EDRj?fl"7ItB<aFjG)UGpt#W+IFemaLi!B?&&^5^O:AV"F3u1
+b6,o9I69d2od&2gk9LY`QT(g!(3t%UN\A^Ojia-P[rc!66K@Y%Yasjh4J4OeQNu#FLZN3XpMNQ4N[D=j
+%qo91'h3);3-bb>A.G'iq!q<2dba639;+];Ql_S0.qI7k@7:IXok6`S"a[8pQNoA,n`?T$B[W5#%k&g'
+RA'#kgSNDoJ3n9`*aA1-b`Oj/L!=k]#4po2bEmEmLuBi\ONhh[`TbQUc*$<Im^-.maaJI$7lqsZ^9Xbb
+AYhL*ln@UE]BZe,Da)LO]QfJGmFa41]!Hf62j;i4+/]]k9`*I*$M8,UQY1"/noh!l1e:]F0+[`E"dk7d
+<nkZlT_7NGn)_aQ]T:6f(20's(::l*pK5d#2@E]]mVj^j+\O2F"V'k\D*\Q:XrRmRaKkK[JqbrM[\/=j
+'JKpKBic(WK4R>QFcUN!>T;;"TH,Qk)J6As%@8Ro*=_c@r^!I:Jp&PT.s&1-34a<2(:8dBfG6=9^MGu5
+YfJE*TKsd_D*\Q:YIVV':rFF`)X<<K"V'k];fe`k0ah1;*Z/&,+@i22clhdhFpm#dPT$aac^42%d[J6q
+]_fEM',^spI:t>KV3B;9:2tl!+`qC+V;^rU\Ec</6pskJD,"i-HCNN%X]fFfI$pW"rY_;l6"f<LU^/&<
+b"-EHOXF`!>.,ei,W[JN)@tQ2O!eKeR__*8,J/uio\44K,>P\Eb`f=d^U9LV,Ku?,UA5mI:E*.m[QGu`
+8/%(4AYJ+',9/B,kKEX=:WfPjm/qu*4SuoZI`f&/Ci'!aR]Y)BI:1^<9)HD37Z$R9UUZXsqZ'7+h?OgJ
+\?UG^p%E/C3:1=MW=c:]@(72cI:1C&m/mT/*uH#5i7S>>,6lFWE&cmTdq.c7CH[Gt/0.e"j]R5r+^37@
+!Q8Z+U<t-QoiO9%],BDP!<b?m/0."QKO<:$hVHT\P`&a,5S`l\Fo>@`Y:L]`iY5'O_,'=VQ.r_J'^J',
+FJXV2ED$Q4GIjUQkk=uXQfs_F+N=D(XeFsb:.rV[eXe[dfjpBYf'E2VCJ+#5C?eYV^8SlhUM]6<pP`VH
+i4%Mo*GhXbV#s9S>a>l$W>==<@4TPQ*G>>md]lGZl/7o]/KLp:*(u'hF0fGN8+9%je??A"c:2tM#A$VR
+9*\:;cV5@K=5"=%l.C&@,qk-rde924`E1F7_)2rl2X`J9^t[9<N.`?W3l%#[\>9;KXCb2-Veb?n198Ut
+;als[&Kd'VokWk0^[Icj55cZm+s_JT),]e2#07"Q"]g:s:?&L`Y0=GqW=>7]_Yc+_Q]>&6[kEatSH/Y#
+HISFc?>iirH_`<erI(kuJRkUN\s[QJ0hiX',8`E?(ZqM;m0T]E@QCCnVP!EaO,iaaTbn&;3Y5Mn1;sA_
+Jgai[d1g@a4-p8B.X";-Ck?F/1=]!Z1"(ndl%$sW&S_2VB",&d=Nd)&^coQW]Cq=[`10eo=,%n[TZF9a
+g@MT]9_:1Q`HO#ZKK1X,nPX)gU/DCYRT?UGF&J]^_7igC5nrIt11"En+.D14!df`><Zmc\O?HHtbj)k'
+TI?RnF=8jTjh,;./16_9)JPNjPpf%pJ6<iu(6i8gWCR)!/.6MspP^mUouR_,G=/mJ_]]st3T*#4Ns@sG
+:/t7d[ojeOd2n-m:5m_#8>;0\E`+XXD.=Jso)<ZDX<CmB@b/G7FmUBZllJ1Xfl8!CJ[[;#PIg&h*au'L
+1NQIAUFM:9<;r>eN?At&n-ZcA,8D:YU5%L,\=F/@52nG5-;Hl"kWrQRI-kLtR66Zf_RH@4PY']C12!)h
+9$M;=;)Tc[[:`Xd91d!q8M3;E?+X(?p'TnXZ7$O[gtG#KifIQ]<;&*-AMR)Q-Jq>p`:14a/sKqBVY[RK
+H>+F3Z-)#Y)(.d+,-._NGVEb:Z^Rnuj;tGZ*2i#Y^OOT:q_!;0icO>)D/?t[O!ai+1J\LZMW`[rdc`5X
+DIKXUk/f4:4@H:pr,ue:=o?Ct$EAGMN"tV`[#L4S'RED2;61P@#:OUmdK?4ZNG2@i30_4WRA@6EC5AUC
+E84Wl%#Qf,j,Qfb>o9]H0<=.Q)R!m3>FlfC1KD*3$!P+"S5)L;*59HJV/Hdg<RZia-Yj/]eN63TBehT0
+9#F[5IK[pBp(jQEe7b3s7s\s[JUgnqL)iE5:Cc5<l`]N('<QEh0\"e[T^QXqJDuMJp>(G]k[g))0?h/#
+h#!RA1%XJa74uRNF2:R<rJ.Ct&D-<hb``-d66OUSVq\B.<:@nkZAG^7WAW9eWsL=W/2pt_3V2=1g5B/>
+B<'VlWQ%RSC:D%/,J[[uT`Tl`<,l^cbuQEZWLULQ<B:^K[JiDc3r8QUY's(Sp\3;)hP]>\#U+o6_)m39
+b(Do;Y(loLYLn@):5s=o!6i0uF9-eS)"QqoLoO;%JV9aW/rDNhRtY9W=?%"l1np>)kC"KJb8*^<^E$2Y
+j[`JZDR5&$_69UB_@)(e>Ge/4c6;tL6\t]Ioa"73/2MQ,bggGC1V?Pa7+C/#S:]sC<%/e8$R*FlAoN_d
+9`$Cs9bt08A.rN7i#Qt-dMj_+,:L>N.sSs9R?DbsB)MuQ4BMr3#\7o9fT;q,JufA#lP`u9'L&II]H68c
+@FIn@oS$es908DsKouue<5nDJ303@Re/X[HK=fcg+0Z6BW`j<N0hfd>T'&\?r^(QWU?5puK(H%iIK@rO
++Ba*qk5")>2ohH]mU$%3!93\>=eD/GTV,3VBVR^PL1u@o?h-=`lRga8oNS[0N_p<YVp$.orS:"SCZCXo
+V"dh9W*VrOO@hsDC8I#Dm*V$2^Lh*"q^'nlV<`NngO/]HV.X.Anc&JKV(5VdU%]onXrSR;%=`78MY1Oh
+Lf/LC_*qYD72X^r@It[dj!jmS<:M%tmc]Fr6rC^i_1!?Jb=PDInj+<skM8E,9kr*)5k"!BFU9W(^88qO
+5_!OGnT7NOm7hWuG_J@h`rBgh.duPm\+=cXcb:8\I@Dm<Hc>AJiU)Gr%BRsFI<3&HS&U%%@<)k<YOOIY
+8D&&qpMS)r-ueccL*$uFAtSoOdkH?q0]%OQC>l+6!56-G3.mQ;@TZ/KPK@(YeELG?[#_S6%da\_e]t=R
+QZ:%0Q!oU'75@`.2[[8t'/Ns]?Oig#>[mdAjm4_$b5jJ3?13-$_1pe74_C9`8H=,e3_ZT`q&X%JWjJcr
+#g\o\rLgnc)gt;EW]4@`GF)57oX8og99T.`jURaJZriF,OiT@>b]1DY6"l:hpZf6#%#*:nU#+d4<)YkG
+RaJJ`eV!.`E=&,+2`-sH*O*_-*OG^Q<oTiSERm3mNft1FR2bmjpTITn=;3ClbnT>\.#O=2;I#V8SY;j%
+S_5C.Tn'`'Cl1`\k%8;gi()5GC`RqN=]`AFb^?0jHD<]uS$#%ppqAIX.>tAJ]hm'+_(/&XO,b"Cf-(eN
+/65pq?^A=\oio=r9?Y)/O*[SQCTUcSIsfqAotFEqY?hBRV]jW)@ts4K=Y`"#!idQ^q.XPO)Z4``>)6VA
+$C7ekabr`6FC9i?_(N)ePA>M9=]oDP8,-quVX1/4SbG[(WKmaVAEa)kj-0:j5Y\@)N5*fa$8hE[99%8^
+\dL76?O7/L'oeHD,iC.BXd,>Z&_A<h,0fc7VQ_Bm;W(3[mNAGCTq8n-Eft&-E!Sb\?n??;`bKV"9+-X@
+:ipCP:4bqk+oF5QOP*:%9^>;#_9<=r6>J^H;6:%f=rKW)IIdPc%<Yf_VK%FNcEn^dkJ9!9at*0fZd8JI
+3)nG0B;PEF"k]nP?Wl'/`R:hqC\s9!fMuj`e&klH$HKUs);;E,=NMQ^AVLKHoib>EDA@VTO52&#+L&U"
+M;eq4YYq;.Lt>0&eXO1uJ\h1T?#p?VO)FfOi_9n`gbq]\&+Lhs0)/t&d5;u(+j*eD/f`)`LR/`T_c&-0
+Gla7t.F`o!Hnmf8RFN9:MgDUQiBjm/+WisDi<l<0Y$3mQ2P\+VL[5VP98CS_.D?_P-bhS](9UU,A710,
+[NL.JCn.oj^VB#d4T[5-Gk%eD8[E"b-u"E/"k"^A)@]Orc#AY0g!Zs5nZb`n<\Ud2c!&NkP.YO0.E*pa
+E+MR)V+k;hRPb7%DeXr!1]!DL9fFep1rBeX058ug\3\OO(P^-cc.[+HP;I'@nkm%Va">OUq0I$3C"@Bi
+L.S]uX2UB:9p(qmbn_dM9=)XRV^'Gio1N/BkRb6$EggiZer&gM<a'T&KVTKh,JKtA0)KX&jteW(p>?1Y
+Xd6@q2MW-8ltCDGRp9+`VKkb(<a<4%-ETIe]]GF)\kB@VLU!32rY5C<BmoDq];1OrWr'<=7u$a((maOX
+0."lU?C,9\Wh^O-E,KsOP`N&F)+G98C!hqfBa/H.QS\f0qNb_g60lomhd=i5p&"')DqB[TXY)cmE9&$%
+egn(;=J$%>>'Ob,Hs,l`%kV`+C7?"1Y1M$oKpDAPQi1(UHZ`c.Gdf774$4!_DOY\5[Q*1dg_OPVNS3;b
+o@^Q3i*+nOa$%2L/WT[14gqk[bnc(A_t,6[god'R34:l//WO",G$>qCQrr/[7t%7>[Q#5p[`(DLs*6G`
+M^$Y=(n%"V-GhL(UPW5X-f=ucl-VnL7s@Z1feMjL<)-(F9=m"mjqq[]7/1>89nZa_O!\o$PpUPEK3JsE
+M;$?FcHJlo\Rq:^3oOu0F>OSW5Jtl:Y2A,YOs\UjCY=qf4<n)_$?'6cA/+2Q8E7"$8^dD';R85'?>A0(
+Vb7r[FRbN(kG;4D%4#7pQG"PM6EBM5-1,El9=gY=GmX@P]QhQ<]6WWqra4,Dnb^MDp[83:.bp`:AH&4o
+.Yf:K_EJpm[.)N7pp/]JDHbC6(7Z/EpRQU>D-D0uIsfqAotGVlTM$*0.)p=FSC$idm:'t\=%pG(</BI,
+`-FBU.2i4&PthaITpj`"iX:Q^]0S>W8:!gX0j/F[j)uS\'+A_gm!lI-.t9X&Wlqc6+r\&XPT(;s*W5Q"
+(!j']AtUui8/0$UbE$sgeTmQC%@-q_._#C*^@t`1#qqe/DI[\EB!:EYm.B(.WV/1K1+KTDpjO&['4]%m
+GH+0?nO1@22n'"qdA?Z,;=kog;'WcVSLj38%$5/iPTA@NMb7&oJp)@^Z&jr&SPl$aJ]s-a3@UqqbpP"L
+U<Dt(X[htPgI=WU%>@?JBsL':`PYK\4#*Xg4!q(8j.>k>>`b'83?M'6f_\6N(,k3ZRVcr$.t^t_-;fn3
+6he"a@5q>VG\Cuf%nrh@A)=f#UMhgOlIIVqP)auGL*@79^DMoM3r6h3dP$ggE:f'B8SRE*UMKg!^DOIV
+s3`PiQhDd)_Pnp]@W^X2dk>mVVI,jB8A?"E+..M^-%tM!)k2;]W0Z/6?]=4b)sJ1%pG\Y=?Z;\\)<H+P
+R%?/pQAjh"r*)WJl*4G^[A;YO7Q'9sRuG4Lnaho@]TR]dW)g:Z,bl8F.#s7$$>2%1eXFsZBDgm)/,=H=
+KIrr7MLEYr7kUPHXu\d71GKc$1NC'<<3luT8XdZ["d_R&GKM5,FMcq3Q5+%>dWKbE<%Ft?19+nsY"2$M
+L:1Y-khRm0eWS'$UK[A].JpQm91FKL@EYT]fn>MTc")UQ-r>/[;L(]*7Q(#=[Z$A\a(:M%74t>F1<Yki
+aXGf1qNauqLh897)@\DRUKX!`Z8qA+P<ukD>V`<^^<^c!RdjO'?:(`haXGA-h_M3Gce:.Sd3.[/W[Z!:
+A5on^1m_(#FnKP9XhV'Bp3pB*@[<62>>AgaX_ZD,mRpd9(-8lD.kQf8b?aSai@FAKnh9=(hWjc;X&dpr
+?hS-GItfV[n\UCJbJR1uCgUL)YCh4J3(j$m#$+a<(UAI7&4L1-GT`kg:MRI0]8Z.#>DO2U]K/C"Qfk49
+jY\M)m`TCi9KTsN^-&]LH.[T2p>r]`]LV_X[I(ZN\iH4*WI/t($HJLbWg>X"qEL!Q:Gb/I4P\I-[kFoo
+Bts6#[HST_I!KS?*Y!IDBDfC=o(8s8n`A^=]srK9h+e!F=gpLfpZ6\"I!P&$5.3,J#M5s9bA1$t@5C+.
+iOo!Fp>m;)0g&utZ$Dq8\9rQ0<M/r`2r3W)G&anRN$.o<P3:%^j]1n*j`<NVas6)Ob$4$l1:1]70VaX%
+QTUN!HLl7td<c?LD-n>DH>[)]d.-4CWVfjrFki>8Z<Mk@bEE"3.;1lUl$N<uHI0>]m`TASkr?Di<g6VP
+^:])R^EX?fji_F6k9g#q>*J,J^:`$]-/uYOemp_(0<[*Xf6qqHq7\4`hJUqmH)DbTjgFOM.f&WlY2d^[
+fR.t3eSm?Mb\J(d_nCMKe*402*QlK5G-u!6[CCFCjtV4(_(99dJ(XaZ<a9,k.EqZ$9g=Q9^as(_AK2'r
+lg;`E7ThNQ.u^LF/84*)pSq1aXjGmU`n(Hm>L8D+[.+KQ^5W)YejOuIh=pj`ZpGSsdE3s-F)q5XdAZ!W
+PL-Q]>%r80=mgTs<eb;cZ*gn8W&K(:euG#/a-Za-n"8Q1WD&^>SeU/D8L`2l1cg1;5LaO;KuYpW%4Uc1
+GZ'Df1WYbXRVY?7YBk6tRc/!sauh,LqR9CkI;Njt9(>H%o;%W;4#XG$1,B3[PN$eGqfmfZ?cIS"3Y"Sh
+kpSpnZacj,<4re+QB$T/kpTh](:^39R-dD0NmcH>=ZT1LQm5`p$L]6]91S6p;e5,hk4,]ulupY%EV^hO
+7r^P,QB",7B'D92/PAU%q"(b4'LiKN9?6l,9rHaoU$Splkr:8lB+5)u(1ug0]&_En*Ao=mf.A#.6(MoX
+==B/Gl&]oZ=?=T(]s;`2'Z7A$i6M(A=ZR<u8(j1<UUXGf(6<W'+c"u<laDbHR,Wao.ifVI[WE4Al=g16
+_!V*`MZ\B33fq=L\"uIU=?=+E?;f^h5]5g7`V7:024;3n=:Xij72895*D8o%7r,>Q%n>EA%LFu$F;2>e
+`%;uUCKIq\.!2`"=ZZ9Q1J<Lib0lsl9Xf,.X;_H#d\1gO[LDf,+&mA=fnIK%Q4E#d];9!\qlMCiV9+?;
+98Cj(/01Q;QZLJu=+#]Q*JN+:D;L\lbK_[[Kph4Dl%!Lj[\]bqBtu8?29:@n9*^K#@p;"$NkW3.X']&F
+pl5$t2eIB;q;T)[k,i_VT-K's?\&':WTMAcM*,;(<Fhs%nR]H#7@s%2Irb<2N,ukKleUDiCXl)4j3..t
+pT6HTL!KiUEe#$_Ng5f3FIQ9,:+A/Kb@G?W$d3)g[aZ$V@2F7nh3+\+e?X!gZthD_*nd^8>hee!A,.1,
+3#?W[)F@^I;KdhGDFFnk2$>CP2kROCB%^2+IQJ6d&oHSXs/Xkjf1:P^)[N#9Au/X-&ucs`=bIa[MCs9*
+1aOn"6%e9pg@h(HOCBrTHc.&WJ^:q/0di5r[9*]o*8\7D?0S<4Om(Qk.HRU?5Ugs;H]"DY=tD!ec;pQW
+;i>OB?qr1>G.BWOY]<WiSs>LClu#hL8M/YiUR\ZeX&mG8oauFDWh-?HV1\b9s)R>cgKguqOM',CqbO=a
+L4".ahjXXYh:.B9%aMoe:_`"Ie;'^o9q+OJh$Cd_*ok(7MqV!&C8#?ld3-Qp&/6/5D%eIu7lPifn]L1@
+:*u_eIlg\e.bGK2K-t.[+42bQbr\r3\.t&>9'3BXX:XJi33bdVqKDU8+eY&^<[aASemjE<"dF,<CGa\R
+kh]I#'gh^:)hdZq]5`rqYui09]cJ\WEMe$]rh^?I6"t_u"'h$9fa[C'qF_8:P8;RuU@RBFmY6^m-W`7A
+o!T0hc]UhuA+Lr:jQ]R3R@$\Zr*UKe&"d=^CiYfMT\lb04=/Z>`>;uWRcVWlGDf$jl&^ijKa12$3Mu>5
+?ReYtWtgPF$cRQ6,q5N+[\-_YEHV`$BA30QcV3e*S;?fALlJueC6^10;/==<X$cUo.o4G8i&jf<G1";#
+jQnuBPUEr%h,4Ze=(Qmcc]\Hb[7;>JTh6lgrm=E&qsMlhfj5T)TBI-JppLS)O(>kC:EIPFDUSLb+lUN5
+j=ZD2Tq?*W6]+mqrXlL8[OM3SW7=#US1!\@Q7'0)S9]/A^$Yk2R]3"rU-,tIFmHO-jQ[HR-r8,5mlXCK
+:<=dCa]6'^RA/N#1H:rQo&QD.lIXO)It+TgmCCG$5B@#<n!q5\3J%2,=7!^%'5g*%E*&EU`ruPEL@4hG
+riC^dWb$!)Kn:c*1FW#Hq4/=)B$;1lc3kc0o--6$4"iM#Rnag?e3.`;N]k.t!m^\[#BB-3$_U`8Z?u@!
+N6"?AH'*(f'uG;NV->iI?qaSO?$5M],[qmc>eEDgDht<5L^m^.B'LhUpoZb/=`\;Ks33%rM=''m5eB_W
+Y[&d@MnhT"hWnG_WA!O$>W&f0!l7*-Pl9U?S9mU3>CLM!_kV[=\Ud2rmlc3K^LY)sZ`:Ct('M:_,.-sK
+GNmI/e@ln`U@*?<9=*1.pSS!Kh53M&X7AR1rB'@q[63hg#5%b#p[>=,A\MZ[9@dkdQ=ZS+ZWpP'-B[D(
+,I!nI2t"KJF\8Q(rPfl.]CXXd0V06l;)RmoD;MdtZ&X7eNDWfGfi=fHrC2Z+EQl,JmcjgfG*@uKi_G)q
+VaZZVTgt<FVSh<Z<=Eojl5iIXIuC'h4+4>7-^[IXNZJP5J/P44U?S>Eh\t(p>sY[SeY%F$mYD;IoK7@+
+B2$GnT/(iHG[uE>=Hkq0fLid@e`GB2bdp)g@&CYWf)892;JPQFI8$O:R^kKJh\4l7n]AqhgX[g^'m:Ql
+2IF,VE3d0!ic-qY=rq%:]A@Cqb-APIB*?PU?@P7P8,oNp5JHL1HN/YcBtQPCiea)cb>\5T8H1:(e(b]p
+c*u610o"aB>j[nm^(I9FYin6O.VeH!_rdO-`_>D=XY,+9]t9RFK,jP&e*q22TXX?@U0sJ(VeAp7JLGcG
+9X]/]L.=i,%CC:ToZZ6QZQ^<nhF%bfo:gHP]#Vj5@?4<b7*4FT\t^9%]h9*_R=]J-UY]9tH(p[?[OOQU
+eY?Rka*L62D#2l/E:_"Ao37,M[rs<L62d(M=3PcH;fP/[MT2Xj*h(=^m?m-Db&]SXZqP_P&j03^oFB[E
+'Z#DC`H7m60g!<Fd7VsH^#M4UIrfZ1(2i*,LG]f&IEd&DpY>$sk@I/gkZtnTA:0\+)n_!U/Alhg)l8Ff
+i<spST<H4-"#nJ!d>O5Vo9d.nUMhgOlLH4S9%ok)EqL/E6L)ML8\FO(a(:;pVC0dJZnkK%:`o*sbe-=8
+GS4/j,>'leVDp8VVQ']PGIu,V,Mi;pRW'aJ0pM;WSkB?7&eC9U1$bS.m7HB.MH<3fp%t4R=*Aghrjq4j
+l<VW2#a4ebXJ/7<OQ@VJiA*rqQDW7Vj7$;]9!"uHg?M3MS68X%o,3S-]loqEm2=>#9D.XYN]A,%GlnM.
+'pUkPm7G9o_!+gG?YC,eH<$-b5eUYus.gY%Bm[q$,h=RWp(FF=8:=eaJWQ>]E`1:>;rtj0'i0L/f+^?]
+g=is_WOF"J]VJ]2\4u:=Ze'".4$N#%gi-)3n*@tB*=<#Y,7C#644@FN*@16D<L6%oEhp#do>IJ(C)jI+
+D'e'3(;95UPaS)5pTn>ma'PJ%KsoSkrLO.Ulr.6=,`/#PQ0sg7F*gKZUo=*_O+_@r6$(4VN:'5LUN"_f
+73QG3h0BBLKm)O4cD"39:-)b!%3CFEDi"\o:qJ\2ZJ,WOr&/#``k'%f.-n?:W4>F+#Z&VEYdZUBH]qpl
+]lM5$)RUXO[lp?Id%P9I:[%mK52RnC!:8mIb!WG=,^C?C3lgqF@jMr;q4CjD`kb5bbJng<_Dn.@*_pFs
+g=?#2AP'2qlTBN.;!pf>>[m/?RJ(F]n@u`0r;JK>AIS+&7I.OC6bVc2,2E#GFD,*ZjmcomlTMVR_5"[q
+1%hQUGeM\.Q1i7brE8T]&?cS_TMCP;%`G2IZk`ginp'4><2BJ=l;BA8.nI%%kRh@Yj4BJ-,I5cqDfpD@
+<]Hu4g`ud1--pMY^(6Fkn9AL9E7>h<c]oacIa\kIXQduQ\\rX";cb[(Y]qq8@&IqV?V"[Br@T[2kcU%;
+U#AjaOFo6GHXn-!mt[o:e3+9k]?DJUg*t9=-'\e?>%.IVi@UXL&1?;E`.O-sha,6G@b;m;\NJ+j+WX6K
+X6RZI<1E4/;5HPjHL+8q1IBLjCR9eA9=)(nHL9pkD*sHRkYX1c8L3$#h:PYAG<QGHC;KIPK<D"bSrFY1
+,T30aBu^^Tb)CJDN&&!*:e5)Uo9<i-KW=4o>.o(Ai<jeJ](6K]1h<GR=21)"\In23DBL/o83K)6G]&2n
+TuNk;a7=ST;":$^8:][p)&>salm=:lQJ%Ds_HE^YJJ:[gD=TPT46%ThNNE+7(f*Uh8'rPB%4@]@X->8S
+K!e-Xbtd0Ul5%"&rQ55+&A:.\q2nEdeCr/r5KC.\7uo-2Bi=)lXMQQgpU<i.1&rk%m[Vm40Q#.]CXjZq
+mC[VHc>.S!\OYg?:j1`i6.rL2d(#m&c>.QK>\I-AB\mrHn<</JNRP&$f1nQs>,U;@ToqMVf/^$OCm3\"
+=lhZI[A]DnrOd<&J(*XGYO2;)c>.cVYk+=N%sD9crLn)=h*'c4NP.R/H-LL4e'7Uc@-9C#eToF5#<PZH
+rP?cp[QiE$bk?gEZL>-<@Gfnjp\nR`[<CAl<V"ugg:k/#omL0$qh(Hk:2-)BJ$AOujp4&PmJXlHCF8Z?
+]QTuSG0Xm$e>,HMq_YSP#<T-Bra7+Z\i!tbg)ge74-%kc#>]G]3H"";POb<`V&d@sCO:Q8o9u#'"6r)+
+Q[%,_o:#%WG$_NR_9QhCJ$AOuhB2*sB)@4Of5,r@o@i%Cm(?s-6ebZDUqG#hH[i9kR[5oKO#c\#g>3q<
+]Oq%nS_%\-Yk-T*+7-XPqh(H"Ck"FCppnQ:aSWV^qh(HkpASI_2;95>]Oq%nS_*T7@-9E%+7-Z&,,;c'
+e,Eb<2;95>6tZ=K,MsR_CO`S[RL9b!fCo2Ok;D!9m(?plJBJ)Q+&4"WM#4hsqh(HkpAX"752%+F]Oq&Y
+6`0h9kI'4AN:QtHg\qhX0coj&O#W"R?fEm(,<fU"i\UEe4p0?-p^Fe5f^!D#p^AfmO"]7ohY0LqlJDR"
+&Um1CM=:>rbJ%=g^:0ipYcbGB/<3UeFF/sXpU:LRFl2jmJHG7j4:+KleQW3;rN1\"FI.1(0o[YWp/kJi
+42Vg5aLf1Z<WV!c\ktR>WTDo(rb[_*gRVBknUFk"O5hPKZ+n4>p6V/erY"hT?Xb)R,Nc6q@NPD>b[Z.@
+4SD:h@t0>\ln:)Sr?^U2^Vi6pQ^Gh`'(aa_@NPD>bi<r)H+YRrOan>a:P2A0PZ&PhAL\.-935ZU&=SI_
+Mo"l]=%l^.Y);W,SJ[6^Bm0N;a4!<@m\_o,e_$PY2oQSni3@8q.H2B8MFF&HYs$]k/=u"@>_UR<D@.-'
+<3,^snuLbaY`T6cUDC>k4e?9EY]6u8X0-]93lOg_,GoOC;;Ig0;iFC]#i13S/lOj2mF#UUghTbFSoO.o
+=7ne=]fNE`C#tY.ON#[Rf\umhhAf)_D:IiLge/$dZX6Qa/SLD"@Rc6[+cGM7]@8gU^9!2_ht;SJ,Tdj*
+41:Br6@4Di]PLIFX2T.k1oZGs`.W<Qdo=<]GE8Z,BZ.&uR]6VeqMs`lf\<^.nNk?(C(s^W5`8t;NcQ58
+$i8bD9=1_/bH0T]Ap]0DlAu^rfef/OD`#*)[M=;`JR8aArAG&:gsET(NmLrHH82*s>ctSjnMJ@.#.pJX
+DR@hg::8OUMl1!BAg1j*Bbn0.2<c7&Z8blqW31uM'SngTG(^M^gE_?5pb(cam2D$Zn9CB_FmkYhlgRu]
+P@A^!,fK1s?[M75YP[QYSZ[4+LJ7S&Fh?O<T6[&H(T4Q(o\Sj,N@Sr-N^L!U.h!J5l7<mceN7rn=BfKd
+I+dq6f5D+2-FEQ7ktuBiHEC0tSW>GeZefokG.;@!-l8)9bf3=u#3+C0M,tjBaTB,8)2o>607i-ZOG0-0
+RDjjl>rf;=fW2hO/'h@bd<+2<Lf`=l;+lr=>@g!EW=fF)7^%ogmE$0!nX,7"`RQWT.E.$=2Go'_09uBP
+m3P\;d3A7`E54_1,Lnm#]o.H*QPS\Gep($=\U*;Y#P.A\'\tb!MU2Xc#GpVA]kXd\;N3BrSY&1'9\JV0
+8QU"V8EXRX<(>'.R?6Vo_C;mooc^=\AKH'7[r<D=LT!3Sb)N%Rj2hgZjgZ[6]J9sObe'YD4?$,"Hg2<O
+!IubK*F\+l*3p[HN1`g2a7u`;/?N:HSSWaXPs;qI[97E3cafPe);;E,R)YTnV-UK=ogW(_G,pRPg-+G,
+!n!&H_5UP$`GDA/;J);[%]ZupUP$6X5.+;TI:i3:VQVC3oP:HTMrGtk0Vs5Rnt^JCo,tL)J/s]De?Y%4
+'XeEi>[T==k@3J7R)):cq(aNNJ4I+;4fiAP%#Z`S>,^ZY"&WGOXm+ZE&onJZZ,:I';#-&6Y"sLb4DZul
+VJ&:1%edJN[;k>PrVf)1S1`eLSkte1.Aucqf&A&s1VSDKY'rW)g4QQmj2rX.%Em&b(_k?Lg_tr>$g6?n
+4Z/J#K@uZHG=_g<$DdH:%&N945!q&hf2?i+]MKHR/(f46fE]F+Epd)6A["t22sp@ud3Eui*jTZc*]fG[
+)tPLqU'!3*JEjX)_PCl==_a*lFK=ocr'7kfmGr@]NCm@*_q=<ePN5*aN.hj45Y\HMiphhW[/M(9c(iRG
+-0f@)Tt.FT@F4;hSq)`Y7T[GRofCB.Ehot#GY7^J_CqD,;g5oT2f\'GfMR(qirZV3AQgVC)u5Z&,<6h]
+;'Ll1FpeCZW!9PuZ8QVk4f3CspXj;#*.#;<n!lbS%sY'N3)H''iUnOqiNSkoORm91m>WNPU5YTCDAkV1
+'3nTgKUpssdS5uCY0s36:&CpIg)J^76b=($="OlngP"u9o!dGm;LC(K>nuXun%muT_/=](SsBGlqE&g(
+dqp!B2<F+1G\B7o:;aK4=#b>0K4rg^JXh?E/[lag0GKX:mMVq0C@-%<5UOU)o>cs2^njpra#6JEo'qrY
+^ZOe?pXc?N:)=GX_#=ptmbU<i4!%Vme*gB8>i3QJF9<JaRd1cGWRW"r$0rVR),p9*Fke9$EK?"lZQHs2
+rhK0](M3IEk@*W=hS+uIneZ)>a74?o`_oh6+m@dI%(k?6\>:d_r287=PZ05L^KA^*be*hTR,?3_nOl7i
+(*&:dIY#=!d^-jb/"E6RmVr'6nRkVkii\poe&XhUI9C*TAW'5e&Vgck?G<r1D;af<pk#t-Ta"'-`3>W$
+C`fZT;Z!gt`CZJpp1Z)[>?0JL`5d54AMfD`*a3tXcf(=b%ecJn2h..mJX/4%%p;%5>3,&eh&tU0k.bH_
+DQETRV#l?XnAQqB:i-MDnYbVYC#;8S8TqNj]hJ(eZDR<]1B`>'d2b$Y\D=+h`GA=48L1q"r+#RZN*]+X
+iGC9Yr$$+Rkf[:J(M=OpaA.^ZA!9Ua7A-OoF>6HNFk?(lPD9!6m5+G,DBHU4q.Lik>PuA(f56hOrKd?k
+6hO5hf72;a^H7slkasZaN,MChrG8K<)V2eGWO+"P];n(X<f`TS!q.ng'GPr4rf?m$hsB.eA`S#CDu]Wk
+,ja2f\N[asnp"a4rc.g5s7c;.UNHn;pj(UQ,>C$Z=;Q<Kj2VtI1K*l(IFNbjs81X8-Ma"aLbV=m[,5ut
+/3:&tbZHeFrY]R8Vf'&8OpAd%Lo]UQca@*sU57Nk59&SCYLYnTJ0Q$9N0q^m?VJWPaa@&=euJ7lrZ*j)
+dHB]Vh^5/@DP,NXPe6miCOX$FrH']hdlrcV__>l%2st>5O,UEtoM=.`O%k,jG>7*FI8fE7ha[XQfV3(D
+3'SiNm9osCqn.<(^KD*%Bqt2fLFTHVKcS+RF#)<2duGjVl/,FX!EDHph0=n=oagNLqGI.e9jMO!l#k"H
+rNu:MUgN=($J\XH:]!`:-D0-Z?opCK"T>YXHf?X\H=WnEq><#nA_7E&7AH_gmk\KCqW)1r(hRO#XQY_c
+n+/d=5U#8sRDl\>`8t?-:0E^6L9;`;,;98\P8KFP_-`SR\qgj*V>N1M0u(Glr96ga.mEs,5WbRl-%CY)
+K"K4@Y&Hr"a-8fGP,^akIs0_eRK*-+J!fr!s6/map^d/^5J!hDRf@O`Y.$XqLB#8Ws-O(?oA=rS^\Lh+
+B=YZP=&n4$Tc<dTOES2,O"$!!cJh[8_I`+rS0<7\H'F9Fifk/XqS43A5<G2kRm#'"`2NB5M;!`U6W[(L
+([tDi4Fm.lC)rN<Ft$RorSPsdro-GVk>CQ#J,K"grVU%&Y2e8dUoif%2?l*:[joOLJ&V+;N:e:-r:B4D
+?bZGf/$_pr~>
+endstream
+endobj
+7 0 obj
+   18380
+endobj
+3 0 obj
+   << 
+      /Parent null
+      /Type /Pages
+      /MediaBox [0.0000 0.0000 402.00 295.00]
+      /Resources 8 0 R
+      /Kids [5 0 R]
+      /Count 1
+   >>
+endobj
+9 0 obj
+   [/PDF /Text /ImageC]
+endobj
+10 0 obj
+   << 
+      /S /Transparency
+      /CS /DeviceRGB
+      /I true
+      /K false
+   >>
+endobj
+11 0 obj
+   << 
+      /Alpha1
+      << 
+         /ca 1.0000
+         /CA 1.0000
+         /BM /Normal
+         /AIS false
+      >>
+   >>
+endobj
+8 0 obj
+   << 
+      /ProcSet 9 0 R
+      /ExtGState 11 0 R
+   >>
+endobj
+xref
+0 12
+0000000000 65535 f 
+0000000015 00000 n 
+0000000323 00000 n 
+0000019131 00000 n 
+0000000453 00000 n 
+0000000529 00000 n 
+0000000617 00000 n 
+0000019107 00000 n 
+0000019585 00000 n 
+0000019301 00000 n 
+0000019340 00000 n 
+0000019442 00000 n 
+trailer
+<< 
+   /Size 12
+   /Root 2 0 R
+   /Info 1 0 R
+>>
+startxref
+19658
+%%EOF