diff --git a/CHANGELOG.md b/CHANGELOG.md index fb39a1a..432c9af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [3.0.0-rc.17] - 25/07/2022 + - Fix #257 - fixed issue when generating a step with a '$' sign in + - Fix #256 - Ensure all exceptions generated when running a step are logged + - Fix #253 - Ensure features with descriptions that span more than one line are parsed correctly + - Fix #252 - Ensure all async code is awaited + - When taking a screenshot on the web use the render element rather than relying on native code that does not work + ## [3.0.0-rc.16] - 01/07/2022 - Fix #231 - using local coordinate system when taking a screenshot on Android (thanks to @youssef-t for the solution) - Fix #216 - ensure step exceptions and `expect` failure results are added as errors to the json report diff --git a/example_with_integration_test/integration_test/features/failure.feature b/example_with_integration_test/integration_test/features/failure.feature index 1b8e4df..76f7858 100644 --- a/example_with_integration_test/integration_test/features/failure.feature +++ b/example_with_integration_test/integration_test/features/failure.feature @@ -1,14 +1,11 @@ -@debug -Feature: Expect failure +Feature: Expect failures Ensure that when a test fails the exception or test failure is reported + @failure-expected Scenario: Exception should be added to json report - Given I expect the todo list - | Todo | - | Buy blueberries | - When I tap the "add" button - And I fill the "todo" field with "Buy hannah's apples" + When I tap the "button is not here but exception should be logged in report" button + @failure-expected Scenario: Failed expect() should be added to json report Description for this scenario! When I tap the "add" button diff --git a/example_with_integration_test/integration_test/features/parsing.feature b/example_with_integration_test/integration_test/features/parsing.feature new file mode 100644 index 0000000..0b93e5c --- /dev/null +++ b/example_with_integration_test/integration_test/features/parsing.feature @@ -0,0 +1,9 @@ +@debug +Feature: Parsing + Complex description: + - Line "one". + - Line two, more text + - Line three + + Scenario: Parsing a + Given the text "^[A-Z]{3}\\d{5}\$" \ No newline at end of file diff --git a/example_with_integration_test/integration_test/features/swiping.feature b/example_with_integration_test/integration_test/features/swiping.feature index ff5e5a4..207abd2 100644 --- a/example_with_integration_test/integration_test/features/swiping.feature +++ b/example_with_integration_test/integration_test/features/swiping.feature @@ -1,7 +1,6 @@ @tag Feature: Swiping - @debug Scenario: User can swipe cards left and right Given I swipe right by 250 pixels on the "scrollable cards"` Then I expect the text "Page 2" to be present diff --git a/example_with_integration_test/integration_test/gherkin/configuration.dart b/example_with_integration_test/integration_test/gherkin/configuration.dart index 2fd0160..a1d71a2 100644 --- a/example_with_integration_test/integration_test/gherkin/configuration.dart +++ b/example_with_integration_test/integration_test/gherkin/configuration.dart @@ -8,18 +8,20 @@ import 'package:gherkin/gherkin.dart'; import 'hooks/reset_app_hook.dart'; import 'steps/expect_failure.dart'; import 'steps/expect_todos_step.dart'; +import 'steps/given_text.dart'; import 'steps/multiline_string_with_formatted_json.dart'; import 'steps/when_await_animation.dart'; import 'steps/when_step_has_timeout.dart'; import 'world/custom_world.dart'; FlutterTestConfiguration gherkinTestConfiguration = FlutterTestConfiguration( - // tagExpression: '@debug', // can be used to limit the tests that are run + tagExpression: '@debug2', // can be used to limit the tests that are run stepDefinitions: [ thenIExpectTheTodos, whenAnAnimationIsAwaited, whenStepHasTimeout, givenTheData, + givenTheText, thenIExpectFailure, ], hooks: [ diff --git a/example_with_integration_test/integration_test/gherkin/reports/2022-07-01T13-22-35-v1.json b/example_with_integration_test/integration_test/gherkin/reports/2022-07-01T13-22-35-v1.json deleted file mode 100644 index 7baa2c1..0000000 --- a/example_with_integration_test/integration_test/gherkin/reports/2022-07-01T13-22-35-v1.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":"creating todos","keyword":"Feature","line":1,"name":"Creating todos","uri":".\\\\integration_test\\\\features\\\\create.feature","tags":[{"line":1,"name":"@tag"}],"elements":[{"keyword":"Scenario","type":"scenario","id":"creating todos;user can create single todo item","name":"User can create single todo item","line":1,"status":"passed","tags":[{"line":1,"name":"@tag"}],"steps":[{"keyword":"Given ","name":"I fill the \"todo\" field with \"Buy spinach\"","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":350000000}},{"keyword":"When ","name":"I tap the \"add\" button","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":557000000}},{"keyword":"Then ","name":"I expect the todo list","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":243000000},"rows":[{"cells":["Todo"]},{"cells":["Buy spinach"]}]},{"keyword":"When ","name":"I take a screenshot called 'Johnson'","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":180000000}}]},{"keyword":"Scenario","type":"scenario","id":"creating todos;user can create multiple new todo items","name":"User can create multiple new todo items","line":1,"status":"passed","tags":[{"line":1,"name":"@tag"}],"steps":[{"keyword":"Given ","name":"I fill the \"todo\" field with \"Buy carrots\"","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":163000000}},{"keyword":"When ","name":"I tap the \"add\" button","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":482000000}},{"keyword":"And ","name":"I fill the \"todo\" field with \"Buy hannah's apples\"","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":264000000}},{"keyword":"When ","name":"I tap the \"add\" button","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":121000000}},{"keyword":"And ","name":"I fill the \"todo\" field with \"Buy blueberries\"","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":258000000}},{"keyword":"When ","name":"I tap the \"add\" button","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":230000000}},{"keyword":"Then ","name":"I expect the todo list","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":250000000},"rows":[{"cells":["Todo"]},{"cells":["Buy blueberries"]},{"cells":["Buy hannah's apples"]},{"cells":["Buy carrots"]}]},{"keyword":"Given ","name":"I wait 5 seconds for the animation to complete","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":121000000}},{"keyword":"Given ","name":"I have item with data","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":0},"docString":{"content_type":"","value":"{\n \"glossary\": {\n \"title\": \"example glossary\",\n \"GlossDiv\": {\n \"title\": \"S\",\n \"GlossList\": {\n \"GlossEntry\": {\n \"ID\": \"SGML\",\n \"SortAs\": \"SGML\",\n \"GlossTerm\": \"Standard Generalized Markup Language\",\n \"Acronym\": \"SGML\",\n \"Abbrev\": \"ISO 8879:1986\",\n \"GlossDef\": {\n \"para\": \"A meta-markup language, used to create markup languages such as DocBook.\",\n \"GlossSeeAlso\": [\n \"GML\",\n \"XML\"\n ]\n },\n \"GlossSee\": \"markup\"\n }\n }\n }\n }\n}","line":2}}]}]},{"id":"checking data","keyword":"Feature","line":1,"name":"Checking data","uri":".\\\\integration_test\\\\features\\\\check.feature","tags":[{"line":1,"name":"@tag"}],"elements":[{"keyword":"Scenario","type":"scenario","id":"checking data;user can have data","name":"User can have data","line":1,"status":"passed","tags":[{"line":1,"name":"@tag"},{"line":1,"name":"@tag1"}],"steps":[{"keyword":"Given ","name":"I have item with data","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":0},"docString":{"content_type":"","value":"{\n \"glossary\": {\n \"title\": \"example glossary\",\n \"GlossDiv\": {\n \"title\": \"S\",\n \"GlossList\": {\n \"GlossEntry\": {\n \"ID\": \"SGML\",\n \"SortAs\": \"SGML\",\n \"GlossTerm\": \"Standard Generalized Markup Language\",\n \"Acronym\": \"SGML\",\n \"Abbrev\": \"ISO 8879:1986\",\n \"GlossDef\": {\n \"para\": \"A meta-markup language, used to create markup languages such as DocBook.\",\n \"GlossSeeAlso\": [\n \"GML\",\n \"XML\"\n ]\n },\n \"GlossSee\": \"markup\"\n }\n }\n }\n }\n}","line":2}}]}]},{"id":"swiping","keyword":"Feature","line":1,"name":"Swiping","uri":".\\\\integration_test\\\\features\\\\swiping.feature","tags":[{"line":1,"name":"@tag"}],"elements":[{"keyword":"Scenario","type":"scenario","id":"swiping;user can swipe cards left and right","name":"User can swipe cards left and right","line":1,"status":"passed","tags":[{"line":1,"name":"@tag"},{"line":1,"name":"@debug"}],"steps":[{"keyword":"Given ","name":"I swipe right by 250 pixels on the \"scrollable cards\"`","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":2095000000}},{"keyword":"Then ","name":"I expect the text \"Page 2\" to be present","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":1000000}},{"keyword":"Given ","name":"I swipe left by 250 pixels on the \"scrollable cards\"`","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":2061000000}},{"keyword":"Then ","name":"I expect the text \"Page 1\" to be present","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":0}}]}]},{"id":"expect failure","keyword":"Feature","line":1,"name":"Expect failure","uri":".\\\\integration_test\\\\features\\\\failure.feature","description":"Ensure that when a test fails the exception or test failure is reported","tags":[{"line":1,"name":"@debug"}],"elements":[{"keyword":"Scenario","type":"scenario","id":"expect failure;exception should be added to json report","name":"Exception should be added to json report","line":1,"status":"failed","tags":[{"line":1,"name":"@debug"}],"steps":[{"keyword":"Given ","name":"I expect the todo list","line":1,"match":{"location":":1"},"result":{"status":"failed","duration":119000000,"error_message":"Unable to find element with finder zero widgets with text \"Buy blueberries\" that has ancestor(s) with type \"ListTile\" (ignoring offstage widgets)\n\n#0 WidgetTesterAppDriverAdapter.widget (package:flutter_gherkin/src/flutter/adapters/widget_tester_app_driver_adapter.dart:69:7)\n#1 WidgetTesterAppDriverAdapter.getText (package:flutter_gherkin/src/flutter/adapters/widget_tester_app_driver_adapter.dart:144:28)\n\n#2 thenIExpectTheTodos. (file:///C:/Development/github/flutter_gherkin/example_with_integration_test/integration_test/gherkin/steps/expect_todos_step.dart:30:20)\n\n#3 Future.timeout. (dart:async/future_impl.dart:870:15)\n\n#4 StepDefinitionGeneric.run. (package:gherkin/src/gherkin/steps/step_definition.dart:42:26)\n\n#5 Perf.measure (package:gherkin/src/utils/perf.dart:11:14)\n\n#6 StepDefinitionGeneric.run (package:gherkin/src/gherkin/steps/step_definition.dart:37:7)\n\n#7 GherkinIntegrationTestRunner.runStep (package:flutter_gherkin/src/flutter/runners/gherkin_integration_test_runner.dart:361:18)\n\n#8 _CustomGherkinIntegrationTestRunner.testFeature3.. (file:///C:/Development/github/flutter_gherkin/example_with_integration_test/integration_test/gherkin_suite_test.g.dart:414:22)\n\n#9 GherkinIntegrationTestRunner.runScenario. (package:flutter_gherkin/src/flutter/runners/gherkin_integration_test_runner.dart:224:32)\n\n#10 testWidgets.. (package:flutter_test/src/widget_tester.dart:170:15)\n\n#11 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:833:5)\n\n"},"embeddings":[{"mime_type":"image/png","data":"iVBORw0KGgoAAAANSUhEUgAABDgAAAi8CAYAAACukVA1AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAACAASURBVHic7N15nBx1nf/x97e658zkmFyTmyTkIiQc4QqggoLhVmT9qYsouq66P1dWdD0BAQ90V9j9oe7iicrhqix4gHKEm0ACAQI5CLkg930fM5mju+r3R1d1V1VXzXRPZjLTPa/n0lR13VUzrI96z+f7/ZoJdxx01EfMakjo/itqJEm3v9yqH73S2sNXBADFO298UpL06RMrdPqohCTp83Ob9fBbqZ68rJLF/zYAAOAEJsFljjtxMsv8U8fOLHfs7MexbclJS3Zajm1r8IGtOn/J/aptPuTuZ7v7hvYPrXN85/CuI7vMuz4ndK0Bxjfx5o2MTOa7t9xkPsZY2W1kLElGyxuma8H4s2SspGQlJCshY1mSlcxsn12WyOxjWZnlJuGbt3LH9M7vLcue37tG4/6Tu968+8l+DX2HJCnZ0xcAACjOv59bpcE1uf9RW7PXJtwAAAA9wCg6XPDWSXvqhuuJGR/Q+Uv/qNqWQ118DuXWOQplAN5yIxl3peNkvvq3z+5u54IF2ZKxNH37cknKhBy+oxql5FhJGdu3zMrs5lju8f3zclfKci8nM587v3eNmet1jJO5FsfxBRmhGwysg8fq6QsAABRna6Oj1rR0sNXRMxvS+txjzT19SQAAoNzFvEtHLzaB2T39h+uJ4y9XU2W/6D1MxH4dcSLmndDHW+goV/nhVYLIW+ZVivirRnJVJdO3L9eZ6+bLsVOSnatMkZ2S49i+ZenMPradWe6kffN27pjZ89ih8/tuwFHoGqNuOrwOkmT6UhMVAAAAAEBYAU1U8pqnRDdTcdwXe9lpXwCQkmOnNeTANp2/7C+qbTnoHsvbN9x0xZEj33eFAgjv+pzQNMCEZkNNVrLNVRRqLuI1I/E+NFcpJVRwAAAAAAAK1P7Lda6Pi/ALudHuumF6/PhLM5Uc/hd5heZjq0Xae5EPr/OVcoSqIwKBiUQlRxkh4AAAAAAAFCAURuRlE8EqiWAlROazu264Hp/uhhzZPUzoOAruG9imM9UKoQ5J/SGHrxNTQo7SR8ABAAAAAH1aO6GBMdFb+AMNf+BhIuZ9HyM35DjuklwlR3Zb/7FCFSDRFxCzLkpMyCERcpQRAg4AAAAAQAdBQdxKr+GIL8jw9XORG4bV62/CylZyzD3uYjVV1oX2zQUWeVUc/mFeO7xeJzR1572WK4QcZYmAAwAAAAAQ0s5oJ+HmKF4oEQ4mFAopsmFHJuTYUzdcc6ddqMNuc5W8io+YjjVzi030NWUXxIQcMR2UEnKUPgIOAAAAAEA7TOjfcSN7+CsuvIoNb5nlVnHkvmcrOaZdpKaqfsHjRgUkCk/D15O7ynzhl35CjnJEwAEAAAAAyIjKB0xHK/ObqRhfEGHkHx7VcsOOzBCqxliZ0VWmXqimytpggOEftjUUavirRPI7OI27XkKOckfAAQAAAAB9XrvJRv4iE6qcCDVDif54wUb+Z3fdcD0+7ULfELLZAwf65ZCsYFOYcL8feddNyNGXEHAAAAAAADrgazLiDw18/WZEVnG4TVGMyVVxGMuSLG+ayH7PNFe5INfxqK9pSq4KRLl1klsp4i0LTUPXnkPIUa4IOAAAAAAAareKIyoviKzikAJVG15fHNk+OYIff1MVGUt7+g3X3Klzcn1yZI8V1x+HMvt6F0HIEX1/fSTkIOAAAAAAAOTE9dOZ19mot9hfxRHsDDTbJMVywwwroqlKtpIjIVlWZnSVqRdEhBymnZCDSo7cNcbcXx8IOQg4AAAAAADtCFdxhJuK+PrBiBhFJddUJRhsZJuoBKo6EpJJZCo5pszJ9MkRGpElbmQVQg5CDgIOAAAAAIAroklKYLW/L47wbv6+N0KfbCjhDhdr+Ss4vOqN3DRXyeGFHPI1dSHkIOSIRsABAAAAAPCJCjkiEo9wXxyBTkGDlRzBJimJbLWG8QUdxmvK4lZ2yEr4Qo4691yEHIQc8RL1l1x3c09fBAAAAACgRPirOExwWX4OYiLmgnlDLpDIP5wkNVXUauuABo3bt1EVdlvgIHG5RW7/YkKOqGVR+zu5azYRm2a/Gw1r3KXqVLM2Dhztq3oxMnLckMa/uQkdxwTno5bl3ad/m7yHkX9/JuoZlC4CDgAAAACATyF/3Td5/273ZT/0mh45b/Je5d3jOG7IMYKQI2oZIUcWAQcAAAAAwMdEzkYvjwgN/LMRFR3RL/TGd5hMgJDb1sgYEXIETkTIEYWAAwAAAAAQUkjIkY0ffO/d+S/8weDCnRon+9349s3NhkOOzNZNlYQchBzxCDgAAAAAABE6G3K4//K9ZIdDjrzoIPDOHgo+FDw0IYf/RIQcfgQcAAAAAIAYcSFH/jZ5Q8fKRE2ywUD4XbqokKOiVlv7E3IoalkfDjkIOAAAAAAA7YgKOaKDj7yXfK+pSaADUffF24kKOfwv9IQcmc0JOQpFwAEAAAAA6ID7wutELJMCL8Qm8OLvLXBiX6hN6GWakIOQo7MIOAAAAAAABejgpd/XxiQ+5AhEG75dQyGH/C/0hByZzQk5OmL19AUAAAAAAEpE5AtvRyGH/0U6890Yd7kxkrEy21tWZt5YkmXJmET2e2ZdQsZKSO7H+Ka764Zr7pQ5aqrslzuudy6ZvGWZ6wuGAoWFHE7+dyc0leQ4trvakeSofuRwfeAb/6zK2urMMseRHFuSo+nbl+vMdfPl2CnJTkt2Wo5tS3Yqc5zssnRmH9vOLHfSvnk7d0zHkaPcfOba/NfnuP84vmuMuT8nfL+9GxUcAAAAAIDCFRFyBIMDBaZ5lQfyVRVkt8kdwwSmeYfrtZUc9aMa9PHbb9KkM07W8eeeqaVPzFNbc4tvVyo5ugoVHAAAAACA4hQYcpjAi7/JmxqvgsM3NSaikiNbwVFalRyDRg7Xx//fzRo2fqwkaegxo/WNR+5W7aD+VHJ0AwIOAAAAAEDxCDnyv/tCjvpRDbr69m9p2ISxeU/pG4/cTXOVbkATFQAAAABA5xQdcvj2KePmKvWjR+jqH34nMtzwjJs5VUufekF2Ku3bleYqR4KAAwAAAADQeYQcgWW5cGNcxHY59SMbNGTsSC17an7wiIQcnUbAAQAAAAA4MoQcClZu5Icb+7fv1IalKzRk7KjssoaJ49TS2KQNy1YScnQBAg4AAAAAwJHr4yFHJtz4bmy4cfcXb9YLv/2jGiaO0/CJx2TXjTj2GL364Fyl2toIOY4QAQcAAAAAoGv00ZCj43DjJm1btVYy0soXXtZJF71H1f37SZKq+tVo39ad2vzmmmDO4F4EIUfhGEUFAAAAANB1igo5/C/QJjAtldFV6kePbD/cuPZGbVv5trwRS9qam7VqwSuB7Y49/cTsiCpOdqQTRlcpFgEHAAAAAKBr9ZGQo6M+N+6+9kZtW5ULN7xpS2NTYNsBwwZLvmCDkKNzCDgAAAAAAF2vzEOOjsONb7rhhicXHoycMjGwfbKyMhQyEHJ0BgEHAAAAAKB7lGnIUXi4EX7pd3TMCcdr4qknBpYe2rPPXU3IcSQIOAAAAAAA3afMQo76USN09e3f1rAJY/PuKtgsxZN76a8ZUKf3X3+NrEQisN+2NWszwYOUDRmmnDlLn7/ndjVMPoaQo0AEHAAAAACA7lVGIccp73tvZLhxaPdeX7gRvl9HFdVVuvIH31TDseODaxxHS+c+685nQo4pZ87Sh77zZY2YNF5X/eB6Qo4CEXAAAAAAALpfmYQcT/7st1ry2LN5d9LSdFgHtu+OvLd+9QN19Y++q4mnnZS338rnF2rz8tXyQoLJZ87Sh777VVXXZYaRHTRimD5/9+2a+o5TCTk6QMABAAAAADg6yiTkuO+bt+bdxZCxo/TJn3xfwyYcE7i3qWefrs/c+Z+acMoJefs0H2rU43fcJS84mHLWKfrwLV/Lhht+V91KJUdHzIQ7DvZ8V6cAAAAAgL4j8sXXyVuf7WQzu8wJTB3fS3n25Tz7wu69zGde5OW4L/6O+7Lvf/F3p0MO7dCcVXNV29qYCxK8c/k7/HTnb3jqD3lhREvTYb398mI1Hzyk4RPHadS0SZmAJSSdSun+G2/VkseekWQ05ezT9OHvfT0y3PDs27ZT9371Fm1fvT4XuhhLktHyhulaMP4sGSvpC3EsyUpmwh9/sJMNgTLBT24+FBrJFyRlgx5l5t0RZYz8QZQnFGRFBltdL1F/yXU3H5UzAQAAAAAgFVnJEdonPGKrf4F8L9zZbXIv5SYwzTucmipqtbX/CI3bt1EVdlvoOMFLlJGeu+t/NWDYYI2aNim7OFlRoWHjx2jklIkaMGyIb/SVnHRbSg//v5/p1b88JkluuPGNdsMNSaqu66cpZ56itxctUePufb5rMRrWuEvVqWZtHDja9wyMjBw3rPBvnnuWxjeT9zxD6xUz31tCDgIOAAAAAMDRVyYhx4p5C5VIJjTuxOmRYUbY4QOH9MC3btOih+YqV7kRHW6sfXWJFtz3oI497aRsFQghRzwCDgAAAABAzyiTkOPtlxdr+5q1GjZ+rOqG1Efeqp1O642nXtB9139f615bKsmr3LguNty450s3a+2iZWo+2KhJZ5xMyNEB+uAAAAAAAPSsMumTQ3I05axTNeXs0zRoxDBV1lSrcc8+bX9rnRY/+rT2bNqavbf2wo0NS97Ubz5/nVqamrOJypkffp8u/uKnZSUS2e3okyN0WAIOAAAAAECPK6OQw8nei2/0ESd3Px31ubH5zdX6zT9fr6YDB+QvG4kKOfZu3aE7rv6Smg829vmQgyYqAAAAAICeVybNVYK34tvInRbSoeiAYUM08dQTtPyp+Wpracnuv+mNVYHmKo7jaMHvH9LqFxcFW4y4F9HXmqsQcAAAAAAAeocyDznaCzfsdDoTOrg7Dhg+tN2Q49jTT9Izv/qDnvrl71Q/qkEXXfNJvb1oqdJtqcDz6kshBwEHAAAAAKD3KNOQY8rZp+rD3/t6dIeiryzWf/39P+nQ7j2aNPuUbGei7YUcq+a/rCVzn1P9qAZ9/PabNOmMkzVu5lS98cyCPhtyEHAAAAAAAHqXMgs5ppx1qj58S3y4cc8Xb1JL02FtWrZSzQcPFRRyHNy1V/WjGnT17d/SsAljJUn1Ixv6dMhBwAEAAAAA6H3KKOSYeOoJOu6c2bLc0MKza/0m3fnZr6ql6XB246iQo/+wIdq7dZs2L1+dPUn96BG6+vZvZ8MNT18OOQg4AAAAAAC9U5mEHFtWrFHj3n2aevZpueDAtWbhazqwY1fgLP6QQ8boqZ/fq+fveSC7Tf3oEbr6h9/JCzc8fTXkIOAAAAAAAPRe5RJyvLlGA4cP0ahpk7KLK6qrNO1dZ2j962/Ehhyblq3UUz+/N7tPLtwYF/FccupHNmjM9Mla+uQLctJp37WUb8hBwAEAAAAA6N3KJORYMW+h+g+p16ipx2aDg8qamnZDjrWvLskuay/c2L99p9a89JqGT8ytGzx6hIaMHallT88PRghlGnIQcAAAAAAAer8yCTlWPr9Qh/bs1eTZs7J9crQXcngy4cZ3Y8ONu794s1687yENHjNSIydPyK5rmDhOhw8c1Mblq8o+5CDgAAAAAACUhjIJOba8memTo9CQo+Nw4yZtW7VWMtLyZxZozPFTNHTc6Ow2o6dN0qKHnlBbS2tZhxwEHAAAAACA0tHHQo760SNjww1JeuxHd2rlvIW5kxhpw+I3dcYHL5WV8I5breaDh7R+8fJgzuA+m3IJOQg4AAAAAAClpYxDjmRVlbavWadNy1YW1KHotHeeoS0rVmvX+s3Zk6RTbTr7yg8oWVGR3a6tuUVL5j4XuvfcsymHkIOAAwAAAABQesow5JCkx378K83/nz8XPFqKJJ144bu1a8MmbV+zTjLSJV/6rMafdHxgmwM7d+u1h5/Mv57s99IPOZLtrgUAAAAAoLcyRnKc8EJJTmC9kZFjlNnWmMxqbzPjzVqSbMmdGlnKHtmSjC057ibGkhxvGjqrkbS7brjmTpmjOavmqra1MbOBdy5HmWvxLXv5j49Kygwb+8Jv/5QJN27/toZNGJt3y/u379Td135T1/zup4HlH77l65p16fmqGdBfY46fmrffnk1b3fvPPR6rIiE7ZbtbZG5o+vblkqQF489S8DJTcqykjO1b5j4Px3KjCP+873k6RjKO+2yz53cfhiQ5Ro7J/JyyPyP/A/IE1uUzE+44GP5tAAAAAACgdOSFHFIuesitd+TktnWczDa+qeM4meTCN3Uc2523JduW46Ql25actJzsNC25H8c3HXJoRy7kcELn8s4duo5BIxt09e3faifcuFHbVr0lSbrl1bkFPZ50W0o/+9S/asuKzH4yRhd94VMaNe1Y3fuV76m1qTkTHBjjphZGyxumZ0IOKylZCclKyFiWZCVljOVblsjsY1mZ5Sbhm7dyxzTGrYRxl8k7nzLzXVDJYRX0NAAAAAAA6K2Kaq7if4E2ganxvYxnX8qzL+reS3zmBV7GfeE37ku+/4XfnXqVHE2V/XIBgneu7At+8DpOed97I8ONQ7v3uuHG29l7u/6UOVr32rJ2H43jOHry5/dq85urM2GNpIu+8A86+8rLNWHWTF1163WqrK3OhS2OLcnR9O3Ldea6+XLslC+8sSU7lTmOP9DJhj+ZwCc3HwqL5AuQsgGPMvNy3H/8AVT2LsI3FXmv9MEBAAAAACh9ZdInx9pXlmjklIkaNn5M4E4O7t6rF+79k9paWgJn2b5mrU674uLsdnY6nQleJO3dsl2P/fhOzf/dX7Inu/jaf9TZH/1Advv6kQ0aN3Oq3nhmgdJtqcDzKrU+OQg4AAAAAADloUxCjqVzn9N7Pn1l4C5qB/bXxFNP0PKn5gdCjjHTp+iEC96d3e7VB+fqwe//WAsf+Jse+9Gd2vLmmly48cVP6+yPXpH3hAaNGK49m7Zqy6q3gxFCiYUcNFEBAAAAAJSPMmmucsPpl6r5UGPgLsYcP1Wf+O9bVD96pCRp6DFjNOfz/xDYZsTkCdq4bIU2v7naXZJp+hEXbjiOo6d/+Tu9+uDj+X2DlFhzFToZBQAAAACUnzLpePTy66/Rqe+/IHAXzYcateOt9WqYNF5V/WoD6zYufVM//cQX5A91Lv7iZ3T2VX8X8Ygy4cZTv/ifYMgTDl1KpONRmqgAAAAAAMpPmTRXWfHcSxowbLBGTZuUXZysrNTAEcOUrKzIu8Mljz2jNS8tyh6gvXDjqV/8j576xW8DTUvyrif7vfc3VyHgAAAAAACUp3IJOeYtVO3A/ho9fUouOIiwZ9NW/fFbt6mtOdNHx8Vf/Gw74cZv9dQvfuuezMkLOUYfN0ktTYdLquNRAg4AAAAAQPkqk5Bj1fxXdPjAQY2dMU0VVZV5d7Rr/Sb97uu3aM+mbZI6CDd+/ls99Yt7QyfLhRzjZ83Qx267QceedkJJja5CwAEAAAAAKG9lEnJsemOVlj3+nKyEpcqaGslxtG/rdi166Andf+Ot2rd1uyTpvZ/7pN71iQ/l3XEm3LhXT/08FG74Qo4Js2bqyn+/TrWDBpTcELJ0MgoAAAAA6BvKpONRyb0G7/qd3HT6u8/S3//7DbISwUFTg+GGJxhyjD95pj76gxtUO2hAYN+1i5bq3q98T61NzerNHY8yTCwAAAAAoG8okyFkM1Uh4dKSzPQ9n/5oO+HGPaF7z4Uj40+eERluSFJldbUSyUSvH0KWgAMAAAAA0HeUccgx+rgpGjn12Ly7e+bO//GFG+EqFset3PhmZLixeflq3XXtTWradyC/oqSXhRwEHAAAAACAvqVMQ47Rx0/Ju6tlTzynJ35yd2hpLuQYP2umPnprdOXGpuWrdNcXbsyEG75go7eGHAQcAAAAAIC+pwxDDiuRyLujZ3/1h/x7kyQ5brjxTdUOGpi336blq3TXv9yoxn373c39IUPvDDkIOAAAAAAAfVOZhRw7127Mu5vW5ubIe+sw3Ljmm2ranwk3HMeWO6PeHHIkO/6JAwAAAABQpowJdFTpLlS2GYe73sjIMcpsa0xmtbeZ8WYtSbbkTo2sXGMQSzK25LibGCvzzm6sXIMR3+GyIUd2dBX5zuUocy2+ZXKkt19ZrL1btqt+VEP2Tt758f+jP33ndvnPMn7WDH301hujw403Vumua25Q04EDkoz6DR6g0y6/SNPeNVtDx41Sdf86tTW3aPeGLVqz8HXN++2fdHj/IXfvzA1N375ckjKjqwQuMyXHSsrYvmXu83AsN37xz/uep2Mk47jPNvvjcR+GJDlGifpLrrs5744AAAAAAOgriqrkCO0THszEv8DbR/5tcqOemMA073BqqqjV1v4jNG7fRlXYbaHjBC/Rm08kEpo0e1Z28cipx6q6fz+te+0N2amUTv/gJbrixn9VzYD+eXecCTeuV9P+TLhxxv+5VB++5es67pwzNXD4UFVUVckYo0RFUv2H1uuYE4/TrEvO08E9e7V99brA8xrWuEvVqWZtHDja9wyMjBy3EsW/ee5ZGt9M3vMMrQ/tJDPhjoNRAwEDAAAAANC35FVySIFRR9z12aYZ2WVOYOr4mldkm1lkm154zTIyTTLkuE04HLfZhr8JhzsdcmhHrpLDCZ3L30xEjhKJhD55xy0af9LxgbtoPtQoO5WO7ExUkja9sTJTubH/gBLJpC6/4Quaddmcgh6bnU7rqV/+Xs/+5v5c8xljSTJa3jA9U8lhJX3NcSzJSmaa8fib6GSb82Sa8OTmQ81/5GsSlG2yIyo4AAAAAACQVBaVHI5ja82LizTtXWeodmCuSiNZWamK6qrI286EG5nKjYrqal31nzdrxnnvjNw2irEsTZg1Uwf37NWWFW/5VhzdSg4CDgAAAAAAPGUQcrQ0Hdbq+a9owqyZqhtS3+7trn99me659ka3WYr00Vtv1NR3nB657f4du/TaX5/Qa397UjvWrtfQcaNUWVPtPgKjCbNmaMXzC9W4d7/v+o5eyEHAAQAAAACAXxmEHIcPHNJrf3tS1f1qNXzCOCUqKgJ309p0WC/97191/423qaXpsCTpfV+/RiddfF7enTu2rVf+9IjuvvZGrXjuJW1+c5XWvPS6Vjy/UNPPPUtV/WolScmKCtUNHqilT74QCC2OVshBHxwAAAAAAEQpgz455DjqP7Rex7/nbA0bP0bGGO1av1nLnnhO+7fvyt7PtHeeoav+8+ZM/xg+6baUHv3hLzT/d39WIElxp7MuPV9/d9OXstu3tbTq3y76uFoONyswpO1R6JODYWIBAAAAAIhSJkPIHty1Vy/e91AmaPFWZK8xc+TzP/eJvHDDTqf111vv0MIH/ubbz3cS42jFvIWBfSqqKnXMidO1asGr2U3do6m7h5ANXj0AAAAAAMgpqrmK8S0zganxVRxkKw+y1QhepUKmSkHGrWowbiWDv6rBnXohR1Nlv1yVhHcuf+WE7zqyTT9ClRjHnn6yRk6ZmHeXj//3r7Xwgb+GlrrhiDs95qTpefvVDqjLVpEEKkocW5Kj6duX68x18+XYKV+Fii3ZqUxli79qJVvhkqlqyc2HKmLcCAkAAAAAAMQp85DjuHPPzLu75U+/oOfuus/9linDuOBfPqWBDUPlDzneedXf5e27d+s2yRdsHK2Qg4ADAAAAAICOlHHIUT9qROCu0m0pzf3v3wSWfeT71+ldV39IH//hdwMhx+sPP6l0KpXdbs/mbVr/+vJgXyRHKeQg4AAAAAAAoBBlGnJYyUTgjra/tU47127I3ttFX/yMZs45R5I0YvKEQMix8IGH9dcf3JENORY/8nQmeJCOesjBMLEAAAAAABSqDIaQ9ea9Y02efYpGTp6QXb1v6w698udHsxvv3rhZk888Vf0GDZQk1Q2p17Gnz9LKeS+qpbFJm99co8a9+9SvfpAe+NZ/yLEzwYYJ33fg3nPPpquGkCXgAAAAAACgGGUWctQO6K/j3jU7u6qmfz8teewZNR88JElqPtiolS+81GHI8drfnlA6lfad7OiGHDRRAQAAAACgWGXUXGXZE/N0YOfu7KVX1tbo8hu+oESyIrvMTqUDfW1I+c1V0m0pBUZZkY5qcxUqOAAAAAAA6IwyqeRIt6Vkp9Oactap2cWDx4zUxNNO1OYVa5RIJvTxH31XIyZNUJht23rzmQU6uHtP/kmOciWHmXDHQSfvCgEAAAAAQGGcqNdqJ299tmohu8wJTB3fkKfeNNeJplexkKlWkONWNzhuRYO/usGdDjm0Q3NWzVVta2OuWkIRFRTu/Ie+8xWdcME5gbuw02m1NB5WzYC6vDs8sHO37v3STdq8fHVoTVTIoUxlSmZG2QqScGWJsSQZLW+YrgXjz5Kxkr5KFUuykpnj+KtX3EoXKjgAAAAAADgSZVLJsfL5lzVi8ngNPWZMbrFlqaKqMu/ucuHGqvz7DZ/kKFVyEHAAAAAAAHCkyiDksO20ljz2rOqGDNKoqcf6hpINyoQbN/vCjYj7DZ/kKIQcBBwAAAAAAHSFMgg5vEqO7W+tU8Ox49WvfmDgboLhRgf3Gz5JN4ccBBwAAAAAAHSVMgk5dq7dqJfu/6t2rt8k2Y4ko8a9+/X7674f6nOj94QcdDIKAAAAAEBXK5OORyX3Grzrd0LTqHuTVFjIoS7teNQq5OcCAAAAAACKUFQlh/EtM4Gp8V7wfVNjLHc+M3qIMQnJsiTjvvAbd3QR/0gj7nR33XDNnTJHTZX9cgGCIkIF33Xk+uKIDiny7k1SfuARHY44ju2u9oUq4bDFsSU5mr59uc5cN1+OnfKFN7Zkp+Q4NgEHAAAAAADdgpAj/3s3hhwEHAAAAAAAdBdCjvzv3RRyEHAAAAAAANCdCDnyv3dDyEHAAQAAAABAdyPkyP/exSEHAQcAAAAAAEcDIUf+9y4MORL1l1x3cyE/BwAAAAAAcISKCjlC+4QzBf8Cbx/5t8mFDiYwzTucmipqtbX/CI3bt1EVdlvozLrigAAAIABJREFUOIrMLXLHKibkiFoWtb+TC1FMxKbZ70bDGnepOtVMBQcAAAAAAEcVlRz537ugkoOAAwAAAACAo42QI//7EYYcBBwAAAAAAPQEQo7870cQchBwAAAAAADQUwg58r93MuQg4AAAAAAAoCcRcuR/LzbkkAg4AAAAAADocYQc+d+LCTloogIAAAAAQC9ByJH/vYiQg4ADAAAAAIDegpAj/3tUyOFt5ws5CDgAAAAAAOhNCDnyv4dDDl/fG17IQcABAAAAAEBvQ8iR/73dkINORgEAAAAA6J0IOWIeTFTIQQUHAAAAAAC9FyFHcN6JmHdDDgIOAAAAAAB6M0KO4Hzga64fjmShzxPl5ZEP1aq6In/5k2vT+u78lqN/QQAAAACAeMbkXuZzC5V923fXGxk5Rpltjcms9jYz3qwlyZbcqZGVywwsydiS425iLMnxpqGzGikbcsxZNVe1rY2ZDbxzOcpci2+ZvMtyQhtlNw6fRaEDuPPePr6rIeDoo8YOMKqtyE8Bh9baPXA15WlUndElk5IaVWdpW6OjR99Oaf1+ni8AAACATiLkUGTI4U5LMuB48u9rNWFQz7Su+d78Fv1ycVuPnBvFu3J6hb57TlXkunuWtemmed1TrXLe+KR+8O4q1VfnQqR/OrlCNz7XoofWpLrlnAAAAAD6gD4dckQ11XEP6hj64AC6ww1nVwbCDUkaWGX0zXdUqaYkY0UAAAAAvUaf7JMjXM3h8i0i4AC62OR6S8cMiP5Pa2iN0SkjEkf5igAAAACUnT4XckR9DzZf4W/JQBeLG6nZk+5ogx7w/XOjm/Es2JzWg6tpUgMAAAD0Sn2huYrc6+3wTUsEHEBXW7PX1lt7bR1bn1/Fse2Qo0Xb0j1wVe378HERQ+pIak2LgAMAAADozco95JDjro9pouJTkgHHH1elNKQmrnORfJ+YGf3yJkn3r2jToSL6DH1jF6NgoGM3Pd+iW99drZF1ud/THU2ObpzXopbel28AAAAAKGV9KuTwcwL7l2TA8d+vtha1/fiBls4dF93vwX+92qYNBwgt0LXmb0rr4vua9J5jEhrd39LWQ7ae3pDWnsO9sH0KAAAAgNJXViGHkePYigw5vG2zZ8pNSjLgAErB/hZHf1pF8w4AAAAAR0nZhByOjLHcSg7lBxsm6g/HDBMLAAAAAED5KJvRVeReQ3iEFe9+wh+GiQUAAAAAoLz05pBjapEhh8IhhwnnGtl5mqh0g+G1RmeOTmj8IEv1VUbJhNScknY2OVq5O63nN6WV6oZuP6YMtnTm6ITG9LdUU5E557ZDtl7aktbSnd3fz0hNUjp7TFKTB1saWmNUlZTa0tLeZkdr99l6flNae5vpg6IzkpY0e1RCM4YlNLBKqqs0StnSoVZHGw9mRmZZs5e+ZAAAAAC4enNzlalzNGdlEX1yuAdxHP8K38FdBBxd6KoZFfrAlKRmDkso2U5tzMFWR/M3p3XXkja9uOXIh9S4YmpSnzyhUtOHWv6fbcCqPbbuXNym/11RxJAxBTp3XEIfn1Gp00dZqq2IH92mLS29viOt+95s0wMry7tvigc/WKsZw/J/CVbtsXXhH5oKPs454xK6cnqFZo9OqH9l/LN1JK3fb+vxtWn9akmrtjfGB0lx1xblYzMq9LEZwVGI5m9O66oHDxe0PwAAAIAe1BtDDjsq5DDuDuGQw2R2kMmNsOKdM+++CDi6xLvGJvTlM6oKfmnsX2l0wYSkzjsmqYffSum2l1q06WDxlQ0j6oy+9Y4qnT8hGRtseKYMtvTv767S+eMT+sazLUWfK8rEQZa+MrtS7x2flNXRBUiqSEinjUzotJEJffi4tG59qVUvb2XM1ChjB1i6+R2Vevcxhf0napQZLejTJ1n60HFJ/ey1Nv30teJGGwIAAABQhkol5PB2kD/kcDIHdnIjqGT7FzVGjoL3RR8cR+jqmRX6xUU1BYcbfklLet/kpP5wea1OGF7c/kNrjH51cY3eW0C44ffeCUn97MJqJQpJJNoxe1RCv7+8RhdMKCzcCDt1ZEJ3XVqjD06r6HjjPmbmMEv3XV5TcLgRNrDK6KuzK/XD91Z38ZUBAAAAKEm9vk+OOvec3rFNZkyU8DX4r8u9Xv//EXAcgc/NqtQNZ1epInFkxxlZlwkrTh9V2IGSlvSzi6o1bUjnfnynjEio6giu+dxxCf30wmoNrTmykKQ6KX3vnCpdPZOQwzOizuhnF9Wood+RPVtJumxSUrecU9UFVwUAAACg5PVYyJGICDmSkkm6IUeDL+QwueO4x82OpOKdzysnCSzPfGii0knnjkvo2tMqlWjnPbQ5JW1vstXUJtVXGw2vNbHVDoNrjP793Cpd/sBh7W9pv7nK52ZV6uSG9hOKlC3taXZ0OOWovspoQNWRvzBLUkM/o++dW93u8VJ2pkPVvc2OBlRJw2stVcZcbtKSvja7Sst32TRXkXT9WVUaERNupGxp0ba0lu2yta/ZUf9Ko4mDjGaPTqhfTN8nH5leocfXpvTMhtyz3XjAVnXov/xJ9fFhWbjz0s0H6cwUAAAAKEk90VzFbV0SbK5ilD280tqT11zFPU5U56PeNefdh0PA0Rn11UbffldVbEeie5sd/WpJm363vE17Duce+sxhlj55QqXeNzm6WccxAy19651VuvaJ5thzjx1g6VMnxlc8NLY5umdZm+5e1qZth3LnPmdcQh+bUaF3H1Nck5aw77yr/Rfw+1a06a4lbVrteykeUWd01fEVunpmReSLeHVSuuWcKr3//iYdLu++R9s1doClOeOj/5PcdNDWl59q0cKITmnHDbB023uqdOrI/BTJSPrMyZV6ZkOuU9B/npv/+/X2/62LPO89y9p007yu6bMFAAAAQC9wtEMOb14RfXJ4IYiUCzlWzVVtiy/kyF5h5rqc2Bdamqh0yqdOrNCY/tGPbv0BWx/582H996utgXBDkpbutPWlJ5t13bMtscPEXjIpqZnt9Ofx99OTsaNp7G129Mm/NesHL7YGwg1JenZDWv/4cLP+bUGL0p0cqfWsMQmdF/MCfjglXTO3WTc82xIINyRp2yFHt73Uqo891KydTdEnn1Rv6eqZlZ27sDLxvsnJyOZOtiN9NSbckKQNB2x99tFmrT8Q/Ut16ojEETcnAgAAAFBGjnZzFW8+21wlmWnCYgWbruypa9DcqReoqapf7lzesbLntHLXFfoQcBQpaUkfmBJdQXE4JX3pifwX/LD73owf4SJhpH84Mf5Ff86E+KKbbz3folc6aObxi9fb9PvlnRsq9hMzK2KrP257qUWPrW2//OL17Wl99enm2HDng9P6dkHRmP7RT3fjAbvD4YT3Njv644ro55+0pFMiqjsAAAAA9GFHM+SwwiGHJWMlQ/1zJN2QY7gbctQFz2fC57VkZNHJ6JH4wJQKjayLfhH986o2vba9sH4kfvRKq9bvj37TP398QjUR7/onNSQ0cVD0j2zR9rQeXF1Y+45/W1D88KEN/YzOGRsdQLyxy9avlxQWmjy7IR0bhEwcZOm9MRUifUF1Mvr3qtCKm5e3prVkhx35USerdgAAAACUsaMVcpiIkCNUwZFXyTHtgkzHo9nzWL5zRAQfdDJavDNiRjqxHek3Bb7kS5n+Kv6yOqV/OTW/WqNfhdG5xyT1yFvBIODUEfF51MNrCu+8orGt+Lfddx8T3XxCkv60qriKkLuXtumSY6N/9c4ek9Dj6/pmRxw7GqN/LuMHWjp3XCLQUWiUF7ekdfkDTd1xaQAAAADKVXf2yWEsOb6/6xtLcmwjWcbtf8MNUNx5I0mOkaO09tQ16PFpF+q9Kx5VbWtT5kTeOcO9kLrXSgVHkWbE9I+xao/dYdOUsL+uScX+Yf30iCYF04bEhysPv929ocCshuj7TtnSXwusHPG8vDWtTTEjccwc3nd/JZ/fFP0cLSP98L3V+tysysjKHgAAAAA4It1VySEjY4UrObymK4lMlUdEBYc3v7uuQY9Pu8jXJ0ewP47A8LHGIuAo1rgB0Y8sPJRmIdbstbX7cHynm2GjY/po2NHk5HUq2pGWIkdknRgzjOjmg7Z2xHQc2p41e6P3mRDTBKcvmLcxraU7o3+P+lcaffmMSj3/sX6644JqfXxGRWxzJQAAAAAoWk+FHBHBhrz+OayEdvdv0OPTLtZhr0+OiOYwmeukiUpR6quNqmOeWFxFQkc2H7Q1tCa/MmNAVf4vV13M6CnbG4s/d9p2Mj2aFihu5JYtRQYrng37bUn5910XMYxsX/LN55p1z2U1sc+7vtrowolJXTgxKUfSpgO2lu609eq2tB5andKumMAMAAAAADrUXc1VHFvG8jdXMTKWyX4PNl1JS5aR4xgZpSXHaHf/4Zp73EWas+JR1bYekiQ53gkdk81h+BNwEeIqKCTpQEvnjnkopr/PAREDqdTGhCtNnRsUpSgDYl64O9OfhyQdbI3eL2nFjybSFyzZYeufHm0uqCrGSBo7wNLFxyb1zbOr9OxV/fTzi6p1wURySwAAAACd1OWVHF6zEiuiksOt2DAJGctdH6jmSGarOfb0H6G5x12c7XjURHwIOIoQ91d1SWopdKiLAveLGlEjbpSNYpubdEZc5Upnz93czn6DqvtuwCFJCzan9f77m/SnVSm1FvF8a5LS+eOT+skF1Xrgihqd3MDQsAAAAAA6oUtDDjfosEyueYqVCz+MO7JKLugINlkJDCHbf4Qen36pbwjZYGBCwFGEuKoDSaoqorlHIfs1p/LPFReGVB6F99jmmH5Eqzp57up29tvXTDOL7Y2O/vXJZl3whyb9ekmb3t5XXDOkkxsSuvuyal0+hWoOAAAAAJ3Q1SGHcv1mGLdiQ1Zu2Nhwh6P5QUfS7ZNjhB6fflluCFnfh4CjCO31N9E/oklJIfpVRC8/ENF0pTGmKcrRGFkjLtyp7WSfGXHVMClb2nSQgMOzfr+t77zQovN/16TLH2jS7S+36pkNaW2LGVLWr1+F0ffOqdZZY6jkAAAAANAJXRhymEDFhRd0+CowLF/oYfKrOeSGHMZKaPeAEXp8xvvUVNXfdzw6GS3KnsOOmlPRzTXGxIyu0pGRddH7HWjJf4E9FBMyDK8t/txJq7hg4kDMuUfVdS7gGDMger9DnezToy9YssPWkh255Gv6UEtzJiR1wYSkpg6J/h2oTkpfn12l993fdLQuEwAAAEA5KbrjUd/q7NRIsn175TogzSxzssc1MnIsO7OhY2QcIzlGjuNkrsMxMnK0p/8IPTHj/Tr/jQdV29qYPSqKsOFAdFOBzgzZOW6ApeH9ol/034oYdjausqGhn9HgmuKChmKbtazdFxdwWKrvRJ8Zx8Y8r3VFNsXoy5bvsnX7y6266L4m3TyvJbbD1xnDLJ06kioOAAAAAJ1UVCWHuy5bweG++7mVFtlqD39no9kqDrfJSrYDUq/ZSjLUH0fms3vACD0x4wOZPjlEE5WiLdsZ/QI+dbClYwYW9zgvm5xUXDTw0tb83iXf3BXd42TSki6c0L3FOK9uiz53ZUK6dFJx5z5hePyzWrKjbwYck+stnTUmkfc5YXhhv1N3L2vTrS/GDMkj6TQCDgAAAABHotMhh0Ihh+ULOUw22DCWF3R4I6u4fXUYf9CR65/D++wZOEJPzLxCTdV1BBzFWhgRPEiZkOHqmTEdasS4LCYYaGxz9NyG/PO8tCV+SI1LiggZiq32kKRnNqTUFnP6Yjuy/NiM+A5LFmw+CkPC9EL/cGKF7r2sJu/zkwtqCj7G3cvaYjuDHdLHR6YBAAAA0AWOOOTIhRqB/jeUq+gwvj45chUdXtAR/rijqwwYqSdO+CABR7H+uLJN22I6G/3g1KSOi+kLIewzJ1VoyuDobZ9cl45sbvDGLlsrdkdXOMwendCcAqs4bjy7qqDt/LYdcvTcxui355MbEvrI9MLCnVNGJGIrPt7eZ+uxtTFv6GVuw4Ho36kRdUbThxb+n2lcDyYd9W0St7azncgCAAAAKFNFhBwmL+TwVW7IN8KK5R/u1QSrObLBhpWr3PCHHe78ngEjCTiKlbKlP62KHs6krtLox3OqO2yqcumkpL54enTIkHakXy2Jb2rw2NvRAYCR9N1zqjps0vCVMyp12eTONWe5a2lb7Ivw9WdV6txx7TeDmDrE0u3nV8cOLXv/ir4ZbkjSU+tTihoF2Ej62uzCAqkrp1fEjqjT0cg0LTGPfnI9/y8CAAAAQEiBIYeiQo5A8xR3hBX/Ml/YYdymK9mKjmw/HV7Q4Qs9LItRVDrjl4vbdNnkpMb0z3/5mzjI0h+vqNGdi9v0+zfbtOdw7sVy+lBLV8+s0AemVCgZ89748Fupdvuh+N3yNn1sRkVkM5OhNUb3XFaju5e26bfLc5UmSUs6b3xSH5tRobNGd74vhuc3pfX0+pTec0z+r02/CqOfXVij+1a06Z5lbVq1J3cPDf2MPnJchT55QoUGVMV3qnrPsphxcLvJpZOSauqCUVv+vDqllTGVNYVaudvWS1vSkT+fd45N6NeX1OiW+S1aE9H5rCRdMTWpr50Z3fTnYKsTG4x5dh22I3+fTxhu6WuzK/WbpW3a7g5NO6a/YShfAAAAoK8rcHSVTMjhyHG8ZiuZkVCCI6w4MnIyo6k4jmQcd2XmY0xmuWMcdx/fVMqek4CjE/Y2O7p5Xqt+emF1ZFBRX2305TMqdc2pldrZZKuxVRpUbTSs1qi90Vk3HLB187yWds+9o8nRT19r1XVnRf9Vv3+l0T+fUql/mlWp/c2O2mxpSI2JDVSKdcNzLfrTFQk1RIz+UpGQPnp8hT4yvUI7mxztb3bUrzIzjG17o7Y0p6Trn4sfBaS71Fcbffbk+P5ACrVsp33EAYck3f5yq2Y11EQOQ3zOuIRmj67Va9vTWrHb1p7DjioT0vBao5MaErHNnSTpb2tSOhgzzK9nzV5HY/pHr/vsyZX67MmVOtjqqMIy2t/i6My7G4u5NQAAAADlqKiQw7epfxhZj5Mr8nACG/mCDskNNxzJuMPL+k5PwNFJT61P6UevtOra0ypjQ4uqhCL/Kh5lb7OjbzzTor3NHb/k/3Jxm84Zl9TZY+JTg4TpXGeiHdl2yNENz7XoP8+rUv/K6OMnjDSin9GImCFw/VK2dNtLLVrYTgeqfcUrW9P64Sut+ursysjRdaoS0uxRCc0eVXgVzvr9tr6/IL7Jk+fp9akOmxh5P++DHR8OAAAAQF9RcMghGWMyS51QmmGC+xo30HD8IYdXtaFc1UY28HDRwP4I/NerrfruCy2xo4sUaushR596uLmoEUQ+91izFu/o3Ilf3ZbWE+s639/Fk+tS+qdHm7Xr8JFVXDSnMhUhv1pydJum9GY/e61V//FS6xH/TkmZTls//Uhzh9UbknTfm22xzV/CIpvbAQAAAOi7Cu6TQ7n+NuR+jH9qBYaPNcbriNQKfqyIZcYi4DhSv1napn985HC7/WbESdnSQ2tS+shfDuv17cW90R5szYQiD61JxXb8GeXxtSl99tHmbH8KnbVgc1of/vNhPfp2SnYnDrVoe1r/8LfDuu9Nwo2wOxa16v8+1lxw4BCWsqU/rkzpyr8cLvgYLWnpa0+3aHcBoRX5BgAAAIA8BYUcEcPI+tcZkz+fDTqs6LDD96GJSheYtzGteRubdOX0Cl0xLakThiXa7fOisc3Rgs1p/XpJW1FVG2F7Djv6wuPNemJdUp8+sVLHD7NiXz5X7bF15+I2/e+KTKCwq+nI+7tYu8/W5x5r1jvHJnT1zAqdMSqhfu0MK5qypcU70rrvzVT2OhDtqfUpPbcxpSunV+j9U5I6fmii3X5MJGlbo6Nn1qd034pU0YGZJL22Pa2PPnhYXzmjUmePSUb2BSJlfo4AAAAAkKfD5iruvxzHDTncZih5TVbcfWKbr3idlGbms117TLiD4RC62tAao7PGJDRhkKX6KqOKRKY5xq7DjlbutvXCppRauqHLiSmDLZ01OqExAyzVJDPn3HrI1otb0lq2s/vfSqsS0jvGJjVlsKVhtUZVCaktLe1tcbR2n63nN6UDo8qgcINrjGaPcn+nqo2qk1JrOlPJs6PR0cItaa3uZMVH3PnmTEhqdJ3RoGqjtJ3pJ2bVXlvPb0wX1OwFAAAAQB+VF3JICrc98G0T7CzUCa0Pf3eX5Z3CIeAAAAAAAABdrKCQI7gsF3T4tgsHGxH7eWiiAgAAAAAAulZscxUpqslKZs7fbMXdzvj2cUzwMCEEHAAAAAAAoOv5Qw5fVxyhL77+NzJ9amRzDwU3C/fHEW6qQsABAAAAAAC6hwl1MhoXcnjb+lKN3Ggr/qoOj6+zURcBBwAAAAAA6EbthRyecLMV3zJfVYfbU0dwX3czAg4AAAAAANDN4kIO/3opL+jILgqFHRG7EnAAAAAAAICjoKOQw1uh4Ep/2CHFjNBCwAEAAAAAAI6aUMjh6aiiI7AqehgV68guDAAAAAAAoBgRAUXM0K+ZFaa9DbKo4AAAAAAAAEeZV8nhq9Rop2gjt088Ag4AAAAAANADTGg+oumK1E7gEUTAAQAAAAAAeoGYTjna7asjh4ADAAAAAAD0MjHtVdpppULAAQAAAAAAeqmoRINhYgEAAAAAQMljmFgAAAAAAFCmCDgAAAAAAEDJI+AAAAAAAAAlj4ADAAAAAACUPAIOAAAAAABQ8gg4AAAAAABAySPgAAAAAAAAJY+AAwAAAAAAlDwCDgAAAAAAUPIIOAAAAAAAQMkj4AAAAAAAACWPgAMAAAAAAJQ8Ag4AAAAAAFDyCDgAAAAAAEDJI+AAAAAAAAAlj4ADAAAAAACUPAIOAAAAAABQ8gg4AAAAAABAySPgAAAAAAAAJY+AAwAAAAAAlDwCDgAAAAAAUPIIOAAAAAAAQMkj4AAAAAAAACWPgAMAAAAAAJQ8Ag4AAAAAAFDyCDgAAAAAAEDJI+AAAAAAAAAlj4ADAAAAAACUPAIOAAAAAABQ8gg4AAAAAABAySPgAAAAAAAAJY+AAwAAAAAAlDwCDgAAAAAAUPIIOAAAAAAAQMkj4AAAAAAAACWPgAMAAAAAAJQ8Ag4AAAAAAFDyCDgAAAAAAEDJI+AAAAAAAAAlj4ADAAAAAACUPLN69WonnU4rlUopnU4rPJ9Op2XbtmzbluM4PX29AAAAAACgjzDGyLIsWZalRCKR/SSTybz5pGVZchxH3tQ/Hz6gt95bBgAAAAAA0JX8uYP38QIOL+yI+iQTiUTgAB5jjNLptIwxchxHtm0f9ZsCAAAAAAB9m2VZgZAj7pOt4PCCDj9jTLZpir96w1sHAAAAAADQlcLZg7+KIyrkyFZw+Df2N0XxH8j7TsABAAAAAAC6U1T24A84vE84z0hGhRuWZQUORueiAAAAAACgp4SrOLz5yIAjHG6EqzckKjgAAAAAAED3isse/KFGVMiRjAs3bNvOHiiugoOQAwAAAAAAdJWO8of2Qo5ABYe3cVS4QfUGAAAAAAA4GuL64fCmkRUc4f42vHAjKtjwI+QAAAAAAABdrZAqjnDIkR1FxQs5HMfJhhtxfW+EDwwAAAAAANBVOsogokaDzVZw2Lad7YcjqnIjfHDCDQAAAAAA0F3ayyHClRxeyBHoZNQ7CNUbAAAAAACgpxRaxeGfT8ZVbsS1eQEAAAAAAOgpUZ2OBkZR8UIOfyJCB6MAAAAAAOBoKzSP8FdyZCs4/COntHdQwg0AAAAAANDdCskj/FUcgQqOuPDCOyjhBgAAAAAAOFoKySOyFRzhtit0KgoAAAAAAHqDQoINT9I/gkp4A5qnAAAAAACAnlJoLmGMUbKjDQAAAAAAAHpCMblEkhADAAAAAACUOgIOAAAAAABQ8vICjrixZj0EIgAAAAAAoLsVm08kO9oAAAAAAADgaCs2n2i3iUoh480CAAAAAAB0p0LyibwKDj+CDQAAAAAA0NMKySeso3AdAAAAAAAA3YqAAwAAAAAAlDwCDgAAAAAAUPIIOAAAAAAAQMkj4AAAAAAAACWPgAMAAAAAAJQ8Ag4AAAAAAFDyCDgAAAAAAEDJI+AAAAAAAAAlj4ADAAAAAACUPAIOAAAAAABQ8gg4AAAAAABAySPgAAAAAAAAJY+AAwAAAAAAlDwCDgAAAAAAUPIIOAAAAAAAQMkj4AAAAAAAACWPgAMAAAAAAJQ8Ag4AAAAAAFDyCDgAAAAAAEDJI+AAAAAAAAAlj4ADAAAAAACUPAIOAAAAAABQ8gg4AAAAAABAySPgAAAAAAAAJY+AAwAAAAAAlDwCDgAAAAAAUPIIOAAAAAAAQMlL9vQFAAAAAABwpBzHOaL9jTFddCXoKQQcAAAAAICScKQhRmePTfhRGgg4AAAAAAC9TkdhRqFhR3i7QsMK/3ZR5yL06H0IOAAAAAAAPS4usIha7i0Lr+tshUc4rDDGyHGcyBDDW9bZ4ATdh4ADAAAAANAj2gsvPLZtt7u+vVAjbl04jPBv54UbcdtaVnCsjqjAg7CjZ5jW1tbua8QEAAAAAIBPR6GGP9DwL4+bb29ZMdqr1mhv3h94dHQMdC8CDgAAAABAt2uv8sILNaJCjEKCjeaUo52Hpd3NRvtapIOtUmOb1JyW2tJS2t0tYaSKhFSdkPpVSP0rpUFV0pBqR8NqpOqkKTjoiFrWXthB0NH9CDgAAAAAAN0mLqAIhxodBRq2bWvzIWn1PqO39kvrDhhtOChtPmS0u7lrrnVItTS6ztG4/tL4AY6OHShNHuRodF18eBEOPDoKOwg6ug8BBwAAAACgy0UFFR2FGv6pbTt6dYfR6zulJbuN3thttKeLgoxiDa6Wjh/i6IQhjk4aJp0y3JFlmdhwIy7sIOjoXgQcAAAAAIAuEw42vI9/XXiZ91l3QHphi9GCbUYLtxm12fnH7w0qLOn0EY7OHOHo7FGOxg/IBBbeR1LevH8ZQUf3IOAAAAAAAByxjprfU0fGAAAgAElEQVSfRAUajuNozT6jJzdKT28yWrm3NF/2p9Y7evcYR+eNlSYNcgJBRnuBR0cdlKI4BBwAAAAAgE6LCzaiwg1v/YEWR39bZ/TIOqMlu8rrxf6EoY4uGu/okvGOBlTlN1GJCjwIOroGAQcAAAAAoGiFBhv+z+JdRn9+y+gvbxsd4aiuvZ4x0vsnOrr8WEcnDs2v6iDo6HoEHAAAAACAorTXaWimg9Bg4PHkRqP7Vmf61eiLTh/h6EOTHZ031skLNNprukLIURwCDgAAAABAQTrqUyMcbDy8zui3K4yW7+FFXZKmD3b00WmOLh4fH3S012cH2kfAAQAAAADoUNSIKP5KDv/6Jzca/Xp5ZmhX5Dt+iKNPTg9WdBhj2u2rg5CjYwQcAAAAAIBYcaGGV7HhX/b6TunnS43mb+VlvBBnjXT0mZmOThqW+e4POuIqOQg64hFwAAAAAAAixVVthJuiHGhx9F+Lje5bbbV3OMT40GRbnz8xM+pKR310EHLEI+AAAAAAAOSJ6kA03BTFcRz9+S3pR4sT2tvck1db+uqrpX85Ma3Ljw0GGVEVHVJwxBVkEHAAAAAAALIK7WdjyyFb/7EooSc3Uk3Qlc4b6+hfZ6U1qs4quH8OZBBwAAAAAAAk5ao2pGBzlHDVxkNvSz94NaFDbT14sWWsrkL66ilpXTYxvprDH2xQzZFBwAEAAAAAyGuSEg42vO+3vGzpgTW8UB8NfzfJ1vWn2XnBRriiQyLkkAg4AAAAAKBPCzdJkaLDjRV7pO8stLR8D00ijqbpgx1983Rb0warw5CjrzdZIeAAAAAAgD6qo3DDm39knXTTiwm12e0dDd2lwpK+NTuti8Yrr5qDkCOHgAMAAAAA+qBwuOE1UfFCDW/6yzcs3bGE5g+9wedOsPWPxwebrHgBR3iklb4YchBwAAAAAEAfEq7YCHck6p+nv43ex98vR1Q1R3g42b4UdBBwAAAAAEAfUWi4YduOvvK8pac2EW70Ru8ZY+vWd9iyLEIOPwIOAAAAAOgDCulI1HEcHWyx9eXnk1q4vW+8FJeq0xsc3faOlPpXWXkhR1zfHOWOOA4AAAAAylxUuOF9t207G27sbbZ1zbOEG6Vg4Xaja55Nam+znfdzlPKH/fWm5YyAAwAAAADKWEfhhlfBsb/Z1rXPJbV4F+FGqVi8y+ja55La35zfzEjqeyEHAQcAAAAAlKnwC21U3xu2betwm60vzUtqCeFGyVmyy+hL85I63GbnjYAjxf8OlCMCDgAAAAAoQ/4XWX9fG/7mDN6L8FeeT2jRTsKNUrVop9FXnk9E/mz9H0+5hhwEHAAAAABQZjoKN/zTGxYk9MJWXg1L3QtbLd2wIBH5M+4rIQe/xQAAAABQRgoNNyTp9tctPbKe18Jy8ch6S7e/nvl59sWQg99kAAAAACgTUf0txFVu/H6l0T0rEj10pegu96xI6PcrTbuVHH7lFHIQcAAAAABAGQi/qHpVGt46/4vugi3SDxYRbpSrHyxKaMGW/JFyPP7fDal8Qg4CDgAAAAAocXHhRtRf8Xc0Ofr2y4Qb5e7bLye0oym6ekcqz5CDgAMAAAAASlgx4YZt27rl5YS2NzFiSrnb3mR0y8uJyN+Bcg05CDgAAAAAoES1159CuFmK4zi6c3lC87bwGthXzNti6c7licjfBU859cnBbzYAAAAAlAH/i2u4U0nbtvXqDuknS2ma0tf8ZGlCr+6I/p2QlBd4lDICDgAAAAAoQXF/hY9rknDbomRPXCZ6gdsWJWObLHnKYfhYAg4AAAAAKDFRL6D+v8SH/0r/48UJrdpHvxt91ap9Rj9enKneCTdTiavgKMWQg4AD/5+9O4+Ss7rvhP/rRUt3a20hCUkgBFhCQiBAZvMibGwYEzCbbUxsk4XgxE4848z4xJ6ZnDN/5cyZed8T55ycxPE6jh0HOwmOwWC/MfEOxkJgMGgBtRAW2kVLaq2tllrdXe8fmiqqqp/aeq2n9fmc06ee+9R2q/sR9v3W794LAACkSNKaCcVTD/JvX9gf8fXNpqac7b6+uSle2J+8+Gz+T760hRwCDgAAgJRKmlaQX7kxMDAQn1sv3OCMz61vKrg28q+ZrLSFGvkEHAAAAClRKtAo3vYzG3L866tN8fx+wz7OeH5/Y/zrq02JW8UWT1vJSlPg4UoHAABIgVIDzaSpKQMDA9HTl4kvb1K9QaEvb2qKnr43rpNS28fmS0vIIeAAAACoc6XWRsj/9j3bzp77Py81xcGTFhal0MGTDfF/XnpjwdGkayi/nZWGkEPAAQAAkCLFA83iLT8zmUzsPZ6Jr71sW1iSfe3l5th7vHBqU/G2sRHpCDXyCTgAAADqWKn1EPIHo8XTVL7RIdygvG90NJecnlJ8bSUd1yMBBwAAQMoUf/Oe/7P7eMS/bLX2BuX9y9am2H08eZvhiPoPM5IIOAAAAOpUqW/Pi3e8yP/5p1eEG1Tnn15pGnT9RMSgio60VHEIOAAAAOpQNTtaFH/z3nUyEw9tNT2F6jy0tTm6TmYGVQJlpW1XFQEHAABAncv/Zj17m/TN+3debYr++hx7Uof6M2eumYjS11TxbT0TcAAAANSZct+ilwo5BgYG4rvbVG9Qm+9ua05cyyWi/Fax9Rh4CDgAAABSoFywMTAwED/c2RT7TjSMcy9Jm30nGuKHO5ty11E1QUe9EnAAAADUkXLfkufvcFG8XsL3t1tclKHJv3aKr638LWOz9ycd1wMBBwAAQJ1LGlTmV3DsPJaJtfsEHAzN2n1NsfNY4WKjEfUdZiQRcAAAANSJatfeKB6I/nCntTcYnuw1lB+cpW0tDgEHAABAHSuu2Mg/nx2I/mS36g2G5ye7mwYFZxFRsqKjHgk4AAAA6kA11RvZ4/yB6CuHG2LLYUM7hmfL4cZ45XBDYgVHRDqqOPwrAAAAqFNJ36QXV3Q8uVf1BiPjyb1NiddYPYYZSQQcAAAA46yWb8rzv10fGBiIX1pclBHyy31NBddWpXCj3oIPAQcAAEAdyh8w5m/Vmf/t+sGTDbGxS8DByNjY1RQHTzYkrrmRdA3WGwEHAADAOBrq2huZTCae6TSkY2Q909lYcI2laS0OewmNkZ07d8a+ffty7SVLlsTcuXNH9D1eeuml6O7uzrUvv/zymDp16oi+x0TQ398fzz//fK49adKkuPLKK8exRwAAUChp0Jh07vn9qjfKuX5hU8yc0lBw7tCpTDyzp3+celT/nt/fFLdeMDjUaGhoyN3mn6snAo4x0tHREd/5zndy7T/8wz8c8YDj5z//eWzYsCHX/ou/+AsBR4K+vr74+7//+1x7/vz5Ag4AAOpOua06s9+sv3BAwFHOf3vLlFg1r7DK5dev98f7v9MzTj2qfy8caIqBgVO5QCPijWuunsONiLMg4Hj00UfjBz/4Qa79n/7Tf4oVK1aMY49g6E6dOhWPPPJIvPjii7Fo0aL4wAc+EPPnzx/vbgEAMETVlPeX2kmls6chdnWbosLI2tXdGJ09DXFuW6bqYKNewo8J/a/h9OnTsXbt2oJzzz333Dj1BoZv3bp18fOf/zwOHz4cmzZtKqgKAgBgYihVuZHfzmQysalrQg/nGEebugrX4ciq9y1jJ3QFx+bNm+PIkSMF55599tm46667Ytq0aePUq/TJDqaz5s6dG8uWLRvHHp29Dh48WNDetWtX2cevX78+jh07lmuvXr06WlpaRqVvAACMnOKB48DAwKBtOzsOm57C6Og43BTvOm+gYDpURERj4xuhWj1OU5nQAUdStcbp06dj48aNcf31149Dj9Lp0KFD8eCDD+ba7373uwUc4+SSSy6JH/7wh7n2tddeW/bxa9eujRdffDHXXr58uYADAKBOVLuQaNLzMplMbDmigoPRseVI46BqjXxJU1LqYZrKhA04jhw5UnI6ytNPPy3gIJUuvfTS+NSnPhWvvfZazJ492+KoAAATXPHiotlv0jOZTPzmqICD0fGbo425625gYKAguKjHyo2sCfsvYuPGjdHf/8bWP9dcc03ueMuWLbF3797x6BYM25ve9Ka46aab4s1vfnM0NSlLBACYaCpVdkREHO2N6OyZsMM5xllnT2Mc7S08V0uV0XiZkP8iMplMPP3007n24sWL48477yx4zAsvvDDW3QIAAIiIoU1PyV8PYefxCTmUo47sPN44aN2XfEOdYjWaJuS/it27d8err76aa1933XXR3t4eV1xxRe7c2rVro6+vbzy6BwAAUFH+LhbFg8zd3fU5RYCJI/8aK3ct1pMJuQZHcXXGZZddFhERV199dW7BxQMHDsTWrVtj+fLlw3qvnTt3xvr162Pr1q3R2dkZERFz5syJiy++OFasWBFLly4d1vyk/v7+2LJlS2zYsCF27NgRnZ2d0draGuecc05ccsklcdlll8WCBQuG9RmK/ehHPyq7/eiPf/zj+PGPf1xw7m//9m8LVtRN0tXVFZs3b47NmzfHgQMH4sCBA9HS0hLt7e1x/vnnx/Lly2Pp0qUxadKkIfW7p6cnNm3aFBs2bIh9+/bFwYMHY/bs2XHuuefG8uXL4/LLL48ZM2YM6bXz7dy5Mzo6OuKVV16JQ4cORVdXV8yaNSva29vj4osvjmXLlsWSJUtGZV7ahg0b4vOf/3yufccdd8Qtt9wSERGnTp2K//Jf/kvZ5/+P//E/Ctof+tCHYs2aNRXf98iRI7F+/frYsmVL7NixI44fPx5z5syJ9vb2WLp0aVxyySVx3nnnVXydJ598Mr71rW/l2p/5zGdiyZIlERGxbdu22Lx5c2zdujUOHDgQPT09MX/+/Fi0aFFcccUVsXTp0mhuHvyfrL1798aLL74Yr7zySuzduzdOnToVs2fPjkWLFsWyZcviqquuitbW1op9AwCoB+UWdYyI3Dfq+05MyO+qqSP7TjRGJtMfAwMD0djYWPbarJc1OSZcwNHX1xdr167NtS+99NKYO3duRESsWLEiJk+eHL29ZyYTPffcc0MOOLq7u+Oxxx6LJ554YtB9hw4diq1bt8bjjz8eq1atinvuuWdI77F379749re/HS+//HLB+ePHj0dnZ2e89NJL8fDDD8dNN90U733ve4f0HmOhp6cnfvzjH8fjjz9esC5KxJnPsn///ujo6Igf/ehHsWjRorjjjjvi8ssvr+k9Nm3aFP/yL/8S+/fvLzh/4sSJ2L17dzz33HPR1tYWd911V1x99dVD+hz79++P733ve/Hss88Ouu/EiROxZ8+e2LhxY0REXH755XHHHXfEokWLhvRe9eL06dPxk5/8JB5//PE4efJkwX27du2KXbt2xfr16yMiYs2aNXHbbbfVFCL19fXFwYMH45FHHklcFPj48ePx6quvxhNPPBFLliyJ3/3d341zzz03IiJ6e3vj3/7t3+Lxxx8f9Lyenp7Ys2dPPPvss/HII4/ERz7yEQuyAgB1o5qpKEnt/POdPfUxoGTiyr/G8q/B/DAjKdwYz91UJlzAsWXLljh06FCunb+4aGtra1xzzTXx1FNPRUTEM888E3feeWdMmzatpvfo7u6OL3zhCwXTYEpZv3597Nu3Ly688MKa3mPnzp3xuc99Lo4ePVrxsT/60Y+is7MzTpw4UdN7jIUjR47EF7/4xXjttdeqevzu3bvj85//fNx+++1xyy23VPWPYd26dfH1r3+94uO6u7vjwQcfjH379lXVl3y/+c1v4vOf/3x0d3dX9fgNGzZER0dHfPSjH81VEKXNsWPH4qtf/Wp0dHRU9fgnn3wyduzYEZ/4xCeq/je1bdu2+MY3vjEomEry2muvxd/8zd/En/3Zn8WUKVPiC1/4QmzdurXi87q7u+NLX/pS/NEf/ZGQAwCoW0mhRv6gsjgUOXhKBQej6+CpxkHXXXHYVinsGGsTLuDI/xa4qakpLr300oL7r7rqqlzAcfr06di0aVNcd911Vb/+wMBA/MM//MOgcOOCCy6I1atXR3t7ewwMDERXV1f86le/it27d0dnZ2du+ko1jhw5El/4whcGhRurVq2KSy+9NKZPnx4nT56Mzs7OWLt2bRw9ejT3LfpIeMc73hFvfetbc+3t27fH3/zN3xTcf/vttxc8J2l6Snd3d3zuc5+LXbt25c5NmjQprrnmmli+fHlMnz49ent748CBA/HMM8/E9u3bc4977LHHoqGhITf9opQtW7YMCjcmT54c1113XVxwwQXR0tISx48fjx07dsTTTz8d/f39g6bXVLJjx4743Oc+Fz09PblzM2fOjOuvvz4WL14cra2t0dPTE7t27Yqnn346urq6IuJMhcEXv/jF+JM/+ZNYsWJFTe85FJMnT46//Mu/LDj39a9/PTZs2JBr//mf/3m0t7fn2qWmA508eTK+9KUvFVznLS0tsWbNmrjoooti6tSpceLEidi+fXv84he/yAU/27dvj2984xvx8Y9/vKr/uD388MO548suuyxWrFgRM2fOjEwmE52dnfHMM8/E66+/nnvMoUOH4rvf/W6cOnUqF26cc845ce2118a5554bzc3NcezYsejo6Ijnn3++4L0efPDBWLp0abS1tVXsFwDAeKhmIcds+9ApFRyMruw1lhSwlavaGE8TKuA4duxYPPPMM7n21VdfHdOnTy94zNKlS2PWrFlx+PDhiIh4+umnawo4nn322YIBY0TEhz/84Xjb29426A968803xzPPPBPf+ta34vTp01W/x/e///2CKpT29vb4vd/7vVi6dOmgx95yyy3x/e9/P370ox9V/fqVTJo0qWDgO3Xq1IL7m5ubq1rT4NFHHy0INxYvXhy/8zu/kzht4x3veEf8/Oc/j4ceeqjg+RdffHHi5444s+ZE/uMjIi655JK47777Ys6cOYMe/1u/9VvxzW9+M1566aWKfc86efJkPPjggwXhxtVXXx0f/OAHB1UpXHnllfGud70rHn744VyI1t/fHw8++GB85jOfGZH1P8ppaGgY9HcpDp5aWlqq/tvlhxsrVqyI++67L2bPnl3wuCuvvDJuuOGG+NKXvpQLqDZs2BAvvPBCXHXVVVX1u729Pe6///64+OKLB9130003xfe+97344Q9/mDuX/298zZo1cffddw+6RtesWRPbtm2LL37xi7mgsLu7O1544YV429veVlW/AADqSf4Ac2BgII71jv9gkontWG9Dbv2NiPrbEjbJhKpr2rhxY8EaD6tXrx70mEmTJhUEGh0dHbF3796qXr+vry++973vFZz7wAc+EG9/+9sT06rGxsa4/vrr44EHHqj2I8SePXviF7/4RcG5+++/v+Qgf8qUKXH33XdXrHQYa6+88ko8+eSTufbMmTPjgQceKLkmRWNjY9x4441x9913F5x/6KGHBq3bkfXrX/86du/enWvPmzcv7r///sRwI+LMQPpjH/tYXHLJJVV/jieffDJ27tyZa2cH+qWmYLS2tsa9995bMLjv6uoqGKDXu23btsXPfvazXHvx4sXxwAMPDAo3smbPnh2/8zu/U3Du3//936v6D2BTU1P88R//cWK4EXHm3+udd96ZWAFz+eWXxz333DMo3Mi68MIL433ve1/BuS1btlTsEwDAaKp1/Y38c/nfpB/vE3AwurLXWNLUlHzVbiE7FiZUwLFu3brccVtbWyxbtizxcfnbxUZEbmeVSjo6OuLgwYO59sKFC+OGG26o+LxVq1ZVtVNFRAwqq3/HO95RcvCXlZ3KsXDhwqreYywUL756++235xZ7LefGG2+MCy64INfetWtXYsVFJpPJVUlkvfe9761YJTFp0qS49957K/Yj4kyFyE9/+tOCc+973/ti8uTJZZ/X3Nwc73vf+wqqYJ544olc1VC9yw83IiLuvvvuilUfCxcuLKiM2L59e0EwVMrNN99ccSHWxsbGxCqrW2+9NXFXlXzFU9ReeeWVin0CABhrpdbfSJoakNUj4GCU5V9jSVOlkraLHe8qjwkzRWXPnj0F385ef/31MWXKlMTHLl68OBYuXBh79uyJiIi1a9fGTTfdVHGwtHnz5oL2O9/5zorPyapm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0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQE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OAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAACN1f/WAAAbEElEQVQgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA4AAAAgPYEDAAAASE/gAAAAANITOAAAAID0BA66pi56mh4BAADoMvcBdIvAQfe0xjU9AQAA0G3uA+gSgYPu6Z3c9AQAAEC3uQ+gSwQOuqYevWPTIwAAAF3mPoBuETjomnrLPZoeAQAA6DL3AXSLwEH3tMZGPWbvpqcAAAC6pB6zd0RrbNNjMEIIHHRVPe53mh4BAADoEtf/dJPAQVfVE45tegQAAKBLXP/TTQIHXVVNfGtEOabpMQAAgNdaOab/+h+6ROCgu4pWVNv+SdNTAAAAr7Fq2z+JKFpNj8EIInDQddXkU5oeAQAAeI257qfbBA66rh53RNQTjmt6DAAA4DVSTzgu6nFHND0GI4zAQSM6Uz/S9AgAAMBrxPU+TRA4aEQ9/uiotj256TEAAIDNrNr25KjHH930GIxARV9fX930EIxMxYo50XPHoRHVsqZHAQAANodyTLQPnBX16OlNT8IIZAUHjalHT4/Ozl9uegwAAGAz6ez8ZXGDxggcNKqafGpUUz7Q9BgAAMAmqqZ8IKrJpzY9BiOYR1QYEnruPymKRdc0PQYAAPAq1BOOi/ZelzY9BiOcFRwMCe3dvxf1uMObHgMAANhI9bjDo73795oeAwQOhojW2Gjv+eOot35j05MAAAAbqN76jdHe88cRrbFNjwICB0NIz4Ro731lVJPe3vQkAADAelST3h7tva+M6JnQ9CgQEQIHQ03Ris7u341q+hlNTwIAAKxFNf2M6Oz+3Yii1fQo8DKbjDJkFYv/PVqPnxnFi3c1PQoAABAR9Vb7R2fHL0Y9/uimR4HVCBwMeeXc/xWtJ/8+orO46VEAAGBkao2PzrSPRTX1o01PAmslcJBDZ2mU8/4xyvkXRLHiyaanAQCAEaEePS2qKe+Pavu/tJEoQ57AQTrlwn+O4rnLonz+aqs6AABgc2uNj2riCVFP+qOotvkvTU8DG0zgILViyU1RLJ0VxYv3RLH8kYi+p6JYuTCieiki/K8NAABrVkSUW0bdu03EqNdFvcWuUW+1b9RjD4163BFNDwevisABAAAApOeYWAAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMAAABIT+AAAAAA0hM4AAAAgPQEDgAAACA9gQMA+P/t2AEJAAAAgKD/r9sR6AwBAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2AtJRL7Aj266twAAAABJRU5ErkJggg=="}],"rows":[{"cells":["Todo"]},{"cells":["Buy blueberries"]}]},{"keyword":"When ","name":"I tap the \"add\" button","line":1,"match":{"location":":1"},"result":{"status":"skipped","duration":0}},{"keyword":"And ","name":"I fill the \"todo\" field with \"Buy hannah's apples\"","line":1,"match":{"location":":1"},"result":{"status":"skipped","duration":0}}]},{"keyword":"Scenario","type":"scenario","id":"expect failure;failed expect() should be added to json report","name":"Failed expect() should be added to json report","line":1,"status":"failed","description":"Description for this scenario!","tags":[{"line":1,"name":"@debug"}],"steps":[{"keyword":"When ","name":"I tap the \"add\" button","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":123000000}},{"keyword":"And ","name":"I fill the \"todo\" field with \"Buy hannah's apples\"","line":1,"match":{"location":":1"},"result":{"status":"passed","duration":264000000}},{"keyword":"Then ","name":"I expect a failure","line":1,"match":{"location":":1"},"result":{"status":"failed","duration":5000000,"error_message":"Expected: [1, 2]\n Actual: [1, 2, 3]\n Which: at location [2] is [1, 2, 3] which longer than expected\n\n\n#0 fail (package:test_api/src/expect/expect.dart:137:31)\n#1 _expect (package:test_api/src/expect/expect.dart:132:3)\n#2 expect (package:test_api/src/expect/expect.dart:46:3)\n#3 expect (package:flutter_test/src/widget_tester.dart:455:16)\n#4 thenIExpectFailure. (file:///C:/Development/github/flutter_gherkin/example_with_integration_test/integration_test/gherkin/steps/expect_failure.dart:8:5)\n#5 thenIExpectFailure. (file:///C:/Development/github/flutter_gherkin/example_with_integration_test/integration_test/gherkin/steps/expect_failure.dart:7:3)\n#6 Function._apply (dart:core-patch/function_patch.dart:11:73)\n#7 Function.apply (dart:core-patch/function_patch.dart:34:12)\n#8 GenericFunctionStepDefinition.onRun (package:gherkin/src/gherkin/steps/step_definition_implementations.dart:234:21)\n#9 StepDefinitionGeneric.run. (package:gherkin/src/gherkin/steps/step_definition.dart:42:32)\n#10 StepDefinitionGeneric.run. (package:gherkin/src/gherkin/steps/step_definition.dart:38:9)\n#11 Perf.measure (package:gherkin/src/utils/perf.dart:11:26)\n#12 StepDefinitionGeneric.run (package:gherkin/src/gherkin/steps/step_definition.dart:37:18)\n#13 GherkinIntegrationTestRunner.runStep (package:flutter_gherkin/src/flutter/runners/gherkin_integration_test_runner.dart:361:40)\n\n#14 _CustomGherkinIntegrationTestRunner.testFeature3.. (file:///C:/Development/github/flutter_gherkin/example_with_integration_test/integration_test/gherkin_suite_test.g.dart:490:22)\n\n#15 GherkinIntegrationTestRunner.runScenario. (package:flutter_gherkin/src/flutter/runners/gherkin_integration_test_runner.dart:224:32)\n\n#16 testWidgets.. (package:flutter_test/src/widget_tester.dart:170:15)\n\n#17 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:833:5)\n\n"},"embeddings":[{"mime_type":"image/png","data":"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lOL5ELYcbsmuHE1ky+G2YfO+FBvpEKtTqSX/KrZt2xYvv/xyoX311VdHd3d3XHrppYV9q1evjsHBwfE4PAAAgJqKV7Eo72Ru62vOIQK0juJzrNq52Exacg6O8uqMiy++OCIirrjiisKEi3v27ImXXnopli1bdlLvtWXLlli7dm289NJLsWvXroiImD17dpx//vmxfPnyWLJkyUmNTxoaGoqNGzfGunXrYvPmzbFr167o6uqKM844Iy644IK4+OKLY/78+Sf1Gcr95Cc/qbr86E9/+tP46U9/WrLvb//2b0tm1E3S29sbGzZsiA0bNsSePXtiz5490dnZGd3d3XH22WfHsmXLYsmSJTFhwoQRHXd/f3+sX78+1q1bFzt37oy9e/fGrFmz4swzz4xly5bFJZdcEtOnTx/RaxfbsmVL9PT0xIsvvhj79u2L3t7emDlzZnR3d8f5558fS5cujcWLF5+ScWnr1q2Le+65p9C+5ZZb4oYbboiIiGPHjsV//a//terz/8f/+B8l7Q996EOxatWqmu974MCBWLt2bWzcuDE2b94chw8fjtmzZ0d3d3csWbIkLrjggjjrrLNqvs6jjz4a3/72twvtz3zmM7F48eKIiNi0aVNs2LAhXnrppdizZ0/09/fHvHnzYuHChXHppZfGkiVLoqNj+D9ZO3bsiGeffTZefPHF2LFjRxw7dixmzZoVCxcujKVLl8bll18eXV1dNY8NAKAZVJvUMSIKV9R3HmnJa9U0kZ1H2iKXG4psNhttbW1Vz81mmZOj5QKOwcHBWL16daF94YUXxpw5cyIiYvny5TFx4sQYGDgxmOipp54accDR19cXDz30UDzyyCPD7tu3b1+89NJL8fDDD8eKFSvi9ttvH9F77NixI7773e/GCy+8ULL/8OHDsWvXrnj++efj/vvvj+uvvz7e8573jOg9xkJ/f3/89Kc/jYcffrhkXpSIE59l9+7d0dPTEz/5yU9i4cKFccstt8Qll1zS0HusX78+/vmf/zl2795dsv/IkSOxbdu2eOqpp2LKlCnx3ve+N6644ooRfY7du3fHD37wg1izZs2w+44cORLbt2+P5557LiIiLrnkkrjlllti4cKFI3qvZnH8+PH42c9+Fg8//HAcPXq05L6tW7fG1q1bY+3atRERsWrVqrjpppsaCpEGBwdj79698cADDyROCnz48OF4+eWX45FHHonFixfHf/yP/zHOPPPMiIgYGBiI//2//3c8/PDDw57X398f27dvjzVr1sQDDzwQH/nIR0zICgA0jXqGoiS1i/fv6m+ODiWtq/gcKz4Hi8OMpHBjPFdTabmAY+PGjbFv375Cu3hy0a6urrjyyivjsccei4iIJ598Mm699daYOnVqQ+/R19cXX/jCF0qGwVSydu3a2LlzZ5x77rkNvceWLVvi85//fBw8eLDmY3/yk5/Erl274siRIw29x1g4cOBAfPGLX4xXXnmlrsdv27Yt7rnnnrj55pvjhhtuqOuP4YknnohvfOMbNR/X19cX9957b+zcubOuYyn2m9/8Ju65557o6+ur6/Hr1q2Lnp6e+OhHP1qoIEqbQ4cOxVe/+tXo6emp6/GPPvpobN68OT7xiU/U/Te1adOm+OY3vzksmEryyiuvxOc+97n40z/905g0aVJ84QtfiJdeeqnm8/r6+uJLX/pS/Kf/9J+EHABA00oKNYo7leWhyN5jKjg4tfYeaxt23pWHbbXCjrHWcgFH8VXg9vb2uPDCC0vuv/zyywsBx/Hjx2P9+vVx9dVX1/362Ww2/uEf/mFYuHHOOefEypUro7u7O7LZbPT29savf/3r2LZtW+zataswfKUeBw4ciC984QvDwo0VK1bEhRdeGNOmTYujR4/Grl27YvXq1XHw4MHCVfTR8La3vS3e/OY3F9qvvvpqfO5znyu5/+abby55TtLwlL6+vvj85z8fW7duLeybMGFCXHnllbFs2bKYNm1aDAwMxJ49e+LJJ5+MV199tfC4hx56KDKZTGH4RSUbN24cFm5MnDgxrr766jjnnHOis7MzDh8+HJs3b47HH388hoaGhg2vqWXz5s3x+c9/Pvr7+wv7ZsyYEddcc00sWrQourq6or+/P7Zu3RqPP/549Pb2RsSJCoMvfvGL8Yd/+IexfPnyht5zJCZOnBh/9Vd/VbLvG9/4Rqxbt67Q/vM///Po7u4utCsNBzp69Gh86UtfKjnPOzs7Y9WqVXHeeefF5MmT48iRI/Hqq6/GL3/5y0Lw8+qrr8Y3v/nN+PjHP17XP273339/Yfviiy+O5cuXx4wZMyKXy8WuXbviySefjNdee63wmH379sX3v//9OHbsWCHcOOOMM+Kqq66KM888Mzo6OuLQoUPR09MTTz/9dMl73XvvvbFkyZKYMmVKzeMCABgP9UzkmG/vO6aCg1Mrf44lBWzVqjbGU0sFHIcOHYonn3yy0L7iiiti2rRpJY9ZsmRJzJw5M/bv3x8REY8//nhDAceaNWtKOowRER/+8IfjLW95y7Bf6Lve9a548skn49vf/nYcP3687vf44Q9/WFKF0t3dHb/7u78bS5YsGfbYG264IX74wx/GT37yk7pfv5YJEyaUdHwnT55ccn9HR0ddcxo8+OCDJeHGokWL4nd+53cSh2287W1vi1/84hdx3333lTz//PPPT/zcESfmnCh+fETEBRdcEHfeeWfMnj172ON/67d+K771rW/F888/X/PY844ePRr33ntvSbhxxRVXxAc/+MFhVQqXXXZZvOMd74j777+/EKINDQ3FvffeG5/5zGdGZf6PajKZzLDfS3nw1NnZWffvrjjcWL58edx5550xa9asksdddtllce2118aXvvSlQkC1bt26eOaZZ+Lyyy+v67i7u7vjrrvuivPPP3/Yfddff3384Ac/iB//+MeFfcV/46tWrYrbbrtt2Dm6atWq2LRpU3zxi18sBIV9fX3xzDPPxFve8pa6jgsAoJkUdzCz2WwcGhj/ziSt7dBApjD/RkTzLQmbpKXqmp577rmSOR5Wrlw57DETJkwoCTR6enpix44ddb3+4OBg/OAHPyjZ94EPfCDe+ta3JqZVbW1tcc0118Tdd99d70eI7du3xy9/+cuSfXfddVfFTv6kSZPitttuq1npMNZefPHFePTRRwvtGTNmxN13311xToq2tra47rrr4rbbbivZf9999w2btyPv3//932Pbtm2F9ty5c+Ouu+5KDDciTnSkP/axj8UFF1xQ9+d49NFHY8uWLYV2vqNfaQhGV1dX3HHHHSWd+97e3pIOerPbtGlT/PznPy+0Fy1aFHffffewcCNv1qxZ8Tu/8zsl+/71X/+1rn8A29vb4z//5/+cGG5EnPh7vfXWWxMrYC655JK4/fbbh4Ubeeeee268733vK9m3cePGmscEAHAqNTr/RvG+4ivphwcFHJxa+XMsaWhKsXqXkB0LLRVwPPHEE4XtKVOmxNKlSxMfV7xcbEQUVlappaenJ/bu3VtoL1iwIK699tqaz1uxYkVdK1VExLCy+re97W0VO395+aEcCxYsqOs9xkL55Ks333xzYbLXaq677ro455xzCu2tW7cm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f1Jx/oli73jHO+Luu+8eFsaMplWrViVWtORVSvFmzJgRf/RHfxQ33njjsKV3k8yfPz8+/vGPx0033VT3H9Hll18en/zkJ2t+/q6urvjt3/7teO973zts6EYt5513XnzmM5+p+h0Uu+iii+LTn/50Q6uunAqdnZ1x1113RVdXV+L92Wzl0sZ58+bFn/zJn8S73/3uun53nZ2dcccdd8Sdd94ZkydPHvExj5c5c+aUtDs7OytW3nR1dQ17fLXzr5HXBgAoVun/iadOyBXmSIDRNmfSUEydkNzHa+awI12XWCvont09Kq+zYsWKkqvyjz32WLzzne+MtrbhOVBnZ2fcfvvtcc0118Szzz4bL730UuzatSsymUzMnj07zj333LjoootiyZIlkclkRjSMZO7cufGHf/iH0dPTE2vXro3NmzfHrl27YsqUKXHGGWfEBRdcEBdddFHhKnClTuxo6OjoiN/93d+Nyy67LNasWRObNm2KwcHB6O7ujnPPPbfqMqJdXV3xnve8J9785jfHhg0bYsOGDbF79+7Ys2dPdHZ2Rnd3d5x99tmxbNmyWLJkSUycOLHh41u2bFl85jOfifXr18fatWtj586dsXfv3uju7o558+bF8uXL4+KLLy50KqdOndrwe8yZMyfuuuuuuP7666OnpydefPHF6O3tjd7e3pgxY0Z0d3fH+eefH8uWLYvFixc3zR/+0qVL47//9/8ejz32WKxfvz52794dU6dOjfnz55fML5Jk6tSpceutt8aqVauip6cnenp64rXXXou9e/dGLpeLWbNmxcKFC2PJkiVx8cUXNxwcNZOVK1fGjh074te//nVMnTo1br755mHzz+S1tbXF7/3e78X3v//92LVrV6xYsSLe+ta3jsprAwBUU1zFsXjqYOw+VvtCFDRq8dTBqnNvNKvMwMBA88wIUocLvjJ8FYg/Xtkef7SyJbIaAACgBVWbyyA/UWPSTzabjWw2G0NDQ4XbwcHBGBoaiq/0dMV3Xmn8wt3p5IH3d8WKuaUXrP/9taF4//dqrwx5OvvtxYfjoxccifb29ujo6Ij29vZoa2sr3La1tUUmk6n4E5E8OempDktaYogKAABAK0vqOC6Zfnw8D4kWlj+3is+5NFRyCDgAAABSoriTuWyGgINTo/jcSkOwkSfgAAAAaGJJHcxMJhNnTBqKBZaLZZQt6ByMMyYNVTzvmpmAAwAAIEWKhw1cPHNgnI+GVnPxzIFUTjAa0SKrqAAAALS6pMkaL511LP51x6lbTTHt/t8njsWsSaWd9N6jqVpnY8xdOuvEwh5jOTnoaBFwAAAApER5R/Oy7uGrTPK6X20dGu9DSJ3ycyot4UaEISoAAABNL+lqeiaTie6JQ7FsumEqjI5l0weie+LQuCzxOhpaJOBo/i8aAAA4fY20c1jpecUd0Ctn94/4uKDYlbP7a86/Mdrn8mhqkYDDGCoAACD9MplM1dUriu/Pb18t4GCUXP1/Ao5K51u5SufreGmRgAMAACBdyjuG9Q4HyGQy0dbWVuhcnjdtMM6bapgKJ+e8qQNx3rTBwnmVP8cqqXa+jlfoIeAAAAAYQ9UqNKo9vvxqefH+t845MspHyenmrXOOVJx7o55lYxs9r0+FFgk4mqckBgAA4FSoNmzgWgEHJyl/DtU7PKUZtUjAYQ4OAACgtdTqVBZ3Pud3DcUbZ5mLg5F546z+mN+VvHpKkmYNPFok4GjOLxcAAGA0lF9VL58nIZPJxDvmHR7noySt3jHvcOI5lbYqjhYJOFRwAAAA6dTIvAaVgo5MJhPXzj0ScyYNntJjpfXMmTQY1849knhORTQ2geh4hyAtEnAAAAC0pvKOZrXQ4z+ceWhsD47U+w9nHqrr3Eq6v9kIOAAAAMZAPatMJF1Br/RabW1theEE+dsbzjwUbc3dB6WJtGUibvg/AUfxuVTPErGVztPxXE2lRQIOf8EAAEB6jNZSscX7MplMzJyUi5vmHxjdg6Vl3TT/QMyclKsaVqRlidiIlgk4zMEBAAC0nuJOYtJ2Ugf0PQIO6pQ/V2otDVtpu9m0SMDRvF8wAABALY1ONFppNZW2traY35WNG4Uc1HDj/AMxvys7bJhTo8NP6rlvrLRIwKGCAwAAaF3VrqondUhvW7B/7A+SVMmfI7VWTknLBKMRLRNwAAAApFO9E41WWyK2vIpjbmc23r9w35h+DtLj/Qv3xdzO2tUblQKPkVR4jAUBBwAAwBipNZdBrX3VOprlHdUPnNUbMycMjfInIO1mThiKD5zVm3jOVAvWyrfr3TeWoUeLBBzNXyoDAAAwUpWulCdVdeQ7rJ0dmbjjrL1jfqw0tzvO2hudHcnhRkTlISnjXZ1RjxYJOMzBAQAApFu9V8LL9xV3UouHHLS1tcW7zzwYF047cuoPnlS4cNqRePeZBwvnR6XzJ6/WiirV9o2HFgk4AAAA0qvSPBzl9yUt51ntvkwmEx9ZpIqDEz6yaG/NJWGr3VfP+TeeOsb7ABq1cNrwL23axPH/IgEAAOqRyWQil8sN2066v3hfREQulyvcXz4sJZfLFW6Lt5dPPxbvnd8bD+zoHpsPSFN67/zeWD79WLS1tRcqOCpVclQaAlWumebfiEhhwPGzOyaO9yEAAACcEknhRtL95SFJcchR3s5ms3Hnoj3xzIGueOXI5LH6KDSRxV1H485FeyKTaS8JNZImGs2rVN1RrhkqN/IMUQEAAGhCtVa1SNpfPP9Gefuuc3aP+WegOdx1zu6K50Wl8yi/Xb6/UjVHMxBwAAAAjLGRTuRYbfWU8v3lV+kvmt4fdywUcpxu7li4Oy6a3p9YsRFR37k00glwx5qAAwAAoInUOyQgqWNa/lM+z8L7F+yNlTMOnfLPQHNYOeNQvH/B3sRzodJPRDqHp0QIOAAAAJpWtQ5otVCjvENb/POxxTtj9oTj4/zJONVmTzgeH1u8s+J5kFTlU++51qwEHAAAAONgpCX+lR5Tb8jRPSkbH1u8fbQ/Dk3mY4u3R/ekbN3hRt5Iz8HxHp4SIeAAAABoOuUdxEpX1cvvSwo5koarXDazP+46e8eYfy7Gxl1n74jLZvZXHJZSrXIjovL5VawZKzkEHAAAAE0kqSqj/P5KcyXUmoej+OeGefvjPXP3jNGnYqy8Z+6euGHe/qpDU+qZd6PWuVf82GYh4AAAABgnJ9NZrGfOhGpDVTKZTNx59q54a/f+Uf1MjJ+3du+PO8/eVfV3njQ05WTn2WiW0EPAAQAA0IQqza9R6Sp6o5OOtre3R1tbW3xi8ba4dLqVVdLu0umH4hOLt5X8bhuZVDSi8XOu2Qg4AAAAmky9Ez3W+1NrZZVPnbs5lk3pG6uPxyhbNqUvPnXu5pNaMaWeCo5mDzkEHAAAAOOoWqdxJFUclR5bbV6OSR2Z+NR5r8Ybuo6cyo/KKfCGriPxqfNejUkdw3+v9YQYJ1u90Uyhh4ADAACgCZ2KKo7i4QvlwximT4z49PmvxBKVHKmxZEpffPr8V2L6xEgcflT8O2716o0IAQcAAMC4G60qjvIr80kBR7UhK9Mn5OK/nbcpLpp6+BR/Yk7WRVMPx387b1NMn5CrOiSlUsARkbwEbFqrNyIEHAAAAE2r0SqOfLu8Q1vcTgo3iq/0d3VE/Nn5v4krph8Yk89I466YfiD+7PzfRFdHJP4Ok+bdqHRORCQHHcWaLcioRMABAADQBE6miqO8o1rtccWd2/b29mEd4/b29mhva4v/cu6rcV333jH45DTiuu698V/OfTXaE0KN/O8zKdAY6fmS1+zVGxERHeN9AAAAAFSWyWQil8sN2863IyJyuVxihzPf0c1msyXhRt7Q0FC0tbVFLpcrvMbg4GDhPX7/rK3RPWEg/uW1+af8c1Lb++ftiPfO2xVtba8HGx0dHcOGolSae6OeZWLTEGRUIuAAAABoErXCjOL7ImJYO7+vuMOav60UduRyuULokc1mo729veS5t525O+ZOHIgvb10Ug7nm7uC2qo5MLv7grM3xlu4D0dbWXnGi2FrDkxqdh6O4XaxZQw8BBwAAQJOrp4ojonolR1KHtriaI//8fMBR7C3dB2Lh5I3xla1nxyv9XaP3wahpceeR+OhZW2Jx17FhK6QUD0cpvq/a0JR6Q478/qTtZpUZGBjI1X4YAAAAY6U4wMhvJ93W+slms8Nuy7fLf4aGhkq2y9tf33Z2/Nu+M8b+SzkNXTdrT/zewi0llRrl86aUV3EkVXQkrazSSPiRdFu+3QxUcAAAAKRAeeVG8f4klYaqFA9TqVTBUT4EpthdZ22NN3Qdjn/ccXb0Z4dXe3DyOtuG4s75W2JV9/6S+TaSgo3iEKN83o1KQUZE7UlFizVbkFGJCg4AAIAm1GgVR3E7X6WR1K5UxVHcLq/ayOVyw/btPtYR3965MH59cNYYfzOt7Yrp++JDZ26LOZMGhwUa5ROIlk8mWq16o9b8HBHJSw4n3ZZvNwsBBwAAQBMqr56oFG4Ub9caqpIUcFQKOooDjUrBRzabjUf2dcd9ry2MQ0MTxvYLajHT2o/H7fO2xbWzeitWa5QvCVst2Kgn4KhV3ZHfLr7NE3AAAABQt6Qqjvx2I0FHecBRz7wc5VUb5cFG8f2Hj2fiX3YtiJ/tmzu2X1CLeMesXfH+udtj6oRcSbVGtXCjVsVG0nwbjSwTW20llWYMNyIEHAAAAE3tZIaqJA1XqRVulG8nBRqVfjb2dcWDu+fHc30zxvhbSqeLpxyIW+bsiKVTjlScKDQp8EgKM6qFHJWGpbTK0JQ8AQcAAEATq1bFkb+tFHQkhRuVqjhqBR7Fc3GU7ysPOn59cGb8f3vOjE1Hp4zhN5Ue507uixvP2BlXTN+fOEFo8fCT8rk36gk0aq2Wkp9ctp6hKdW2m42AAwAAoMnVO1SleF8jc3I0UtVRXM2RVNVR/NjVB7rjx73z4hVBR0RELJ7cF+/qfi3eNKO34uSgxYFGPcNQRjokpVrVRhrDjQgBBwAAQNOrZ8LR/G09QUelVVYqBRtJw1bKqznKw47i/b8+ODP+bd/ceOHI9DH81prH8q6Dcd2sXXHF9P2Jk4AWhxnlVRvVgoxaFRu1Ao6I6hOKpmFi0WICDgAAgBRoNORoZOLRRkKOpGqO8iEqlao/Xu6fGo/sPyMeOzAnWr0jmomIt8zYHdfO3BPndx6uWYVRa7nX0Qw3IhqbdyOp3YwEHAAAACkxkvk4irfrGapSa46OeoexlD+nePvw8UysPnhGPHFwdvzm6NQx/AZPvfMmH46rp++NN03fE1Mn5CoOG6kWbNQ7t0al4SgjXS0lrUNT8gQcAAAAKTLS+TjK241Ucowk9Kh1X35727HOeOrQrPj3w92x5VjXGH6To+fsSUfi8qm98cZp+2LhpP6qgUajFRmNhBzVwo2I6lUbaQ83IgQcAAAAqdLIUJX8bVLIUWmFlaSAop6AozzIqNQu3h9RutLLjmOT47m+GbH+yIzYcGR6DObaxuQ7bVRHJhvLug7GRV0H4uIpB2L+pKMlAUNEVFyutXh/pXa91RrVKjWK74uof0hKGoem5Ak4AAAAUqbR+TjKt8vDjaR9jQ5fqRZ2JD22WsgSETGUzcbGI9Pjxf6p8Zuj0+KVo1Pi0NCEU//lJpjWfjwWT+6L8yYfiiWdh2Np18FoT1hqtVIVRbWKjVrhRb3DUJKWfi3fl7SddJuXpnAjQsABAACQSvXMx5G/rTUXR/6+pMChWrhRbbtaBUd+O2J4sFLp2HK5XOw5Pim2HOuM7ce6YudAZ+w6Pjn2HJ8UB0cp+JjefjzOmHAs5k44GmdO7I8Fk47E2ZP644wJxypWQySFGxFRNZioNqykVqVGUtVGfl+1Yyu+L79dfFttOy0EHAAAACk1GiFH+b5aIUejAUet+yJqhxyVKlTy2wPZTOwfnBgHhybE4aGOODLUEUez7TGQa4vBXCaycaKz3ha56MjkYmImG5PbhqKrfTCmtg/G9PbjMbNjICa25RI7+fUEG+UVE/WGGI1WadSqFkk6zuJ9SZ+r2naaCDgAAABSqtJQleLtWsNVagULtYaV1Btw1BqWUm8VR/l28ect31ev4s5/0r56qzcqhR619jUSalSbd6PWMee3i2/Lt5PaadEx3gcAAADAyGQymZJOfXE7v118GxEVtytpa2srCSeqtTOZTEmAUd4uPp7ysCN/PPmhK8XVHUnt/L56Qp6k7y1pO98u3ldclVGpXR4k1Dv550gCEOFGZakLOB5++OHxPgQAgIiIePe73z3ehwAwJiFHXj7MyIcMxeFGUuBRKeQoDzsiXh+mUnxc5Y/J5XIlr5+XNHSl0e+w+Da/nRQMVAoTkib5rKeaYyT7hRvJUhdw7Ny5c7wPAQAAoKmMZcgRMTzYqBRulIcUSau3JFV2RETJHB3VhtsU709ql99Xbwe/WjhQK9Ao319PUNFomCHcGC51AQcAAADDnWzIUet1K/1UquaoFnTUM9dGeSVHxPDhKUnbSe1qn61Su3i72nKrlao7RvpTK+io9F7Fx3w6hhsRJhkFAABoKfVUM1SriKgUOIzFT6VjqXXslT5nLUmd/npuq22PxU/5+yUdS9Jt+XZSO81UcAAAALSQRis5KlV0lL9O+eudqmCjVqhRLbApV2l/pU59pUCgVthxKoOOSq+ZdByVjrHS526lcCNCwAEAANByTibkyEvaVy30yGazDYcf+fcZaRVHte1Gv69q241WbyTtqxViNDKnR9L7V7st305qtwIBBwAAQAsaaciRFGwkvV7xvlzu9dVNyvePNNw4mSEpIxmiUt6uJzw42ZCj0mNqvV69x1fP52wlAg4AAIAW1WjIUa7S/mqvXT6MpFLYkX/9aoFGI0NTkkKNRoaoVAs38tu1goaRhhf1hCZJ71Xvcdf67K1CwAEAANDC6g05IqJm4FHPaxa38z9JIUf+/UYyNGU0qjeKj7VSu1b1RqXtekOPRtq1jqfa8VdqtxqrqAAAAJwGagUB9Q4JqSeMGEk7abvabaV9lT5fuWpVHPWGHPnbRsOOau2k7UZuK32+Vg83IlRwAAAAnBaSqiwiXg8C6hmyUus1y/eXv3b+/UarauNkqzeKjzepPdrVHCPdX+8xJX2WSvtakQoOAACA00itaodqQUKlsKFWQNFImNHosJSxGKJSvF3PfBiNVmYkbdd6z1rHW21fq1LBAQAAcBopr9zI7yuutsjfX6uaI+m+pKqO8uqQ4u3865TPBVJv5cZIhqcUH1e1fbWqJsr31xt+1HNfPe9f7bOcTsFGnoADAADgNNTIkJX8/kY6zeWhRrX7ysOO8nZeI0NTTmYOjvJ2I1UVoxlo1FOpcbpXbRQzRAUAAOA0Vk84UO8wkdG6rXVftWOp9dkiKgcA1YKDRqoqTva21utX+xyna7gRIeAAAAAg6l9lpZ7tRgKLkQxFqSfcGKlGqiZGEnLUe1+17XrapyMBBwAAABHRWDVHPdsjDT/q3a50zLXuqxYGVAsORiPwqLWv2nalYxdunCDgAAAAoKDe4R6NhhFjEWyMtJqjkfk46tkejTCj3goN4cbrBBwAAAAMU2+AMNKgYyTbjRzXSIx20HGy243uO90JOAAAAKjoZIOOaveNxuPqObZqRnu4ymg8rtF9nCDgAAAAoKpGVilpJJg42UqN0Z5gNG8k816MdELQRkIM4UZ1HeN9AAAAADS3fMe6PFBI2l+8r7hDXqt9MseVdGwn81r13NfoqiYnM1moYKM+Ag4AAADqMpKgI79/LMKO0ZxktNb9oxF6jHQ/yQQcAAAANKSRoCNpf61wYzQCj0aMJOCotH80KjMEGyNjDg4AAABOykgm/Wx0NZRa1RmncohKrftHa7iJYOPkqOAAAADgpFSq3Ci+r/z+eqs2kqo+kh4zGuFAPa9xKoILwcboEHAAAAAwKqoFHcX3Jz0mKfBI2l/Pc0fLqQ4tBBujS8ABAADAqKpndZNajxlpNcepUO/7CTXGl4ADAACAU6bRsKORx9XznHqNJHgYzeCDkyfgAAAAYEzUE3aUP66ex1d6zmhq9PWFGmNPwAEAAMCYqzfsSHp8uZOt3qjnPcbi+ZwcAQcAAADjqt4hKvU+f6wINJqLgAMAAICmUik4GK1KjUYJMtJBwAEAAEAq1BM0pKX6g9En4AAAAKBlCCxOX23jfQAAAAAAJ0vAAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIc21DCQAAIABJREFUPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEHAAAAkHoCDgAAACD1BBwAAABA6gk4AAAAgNQTcAAAAACpJ+AAAAAAUk/AAQAAAKSegAMAAABIPQEH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BwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4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/z0AwNQgcADAFuicd4zW05+yecJB1fi+HaedMVZfvXjiEZDtt6069tBO7blLU7NnVXVWeyLkU+f365bF644Fq59WMmurzTPj2h6FebQeevRP9gAAU4TAAQDTwGf+pfdw3BjpVr3tZd168bHd2nodp6l889J+3bJ43e83c8bExyse2jwzdh+x5caX3jVahz1580UeAGBqEzgAYIpbvqLq/35tYi+LU0/u1snP3bSNOFc/uvXWOzfPYyHbbj3583uWtlUlcAAAG2fjticHAGL95BdtLX1g4vPn/sam//O/+r4bNy9u6+6lmx45dnhCU9us9rjLVTfZTwMA2HgCBwBMcff8anIomLXVxm1Iuj77zZ/8Hpddt+kxYuZo1bMPm7g0+cp3+7V8Mz3+AgBMfQIHAExxo494IHV9m4dWVV36k35d8bP1v2aPXZo6cv+JyHHWBb3q9dfzDVV1xc82fBTt84+cuDS5Y0m7UcfEVlWd/W/9uv0eKz4AYDoTOABgitvrEUfInvH1XrXraAE/vK6t135k8nEmvXU0hpecMLGPx4+ub+vT5687Rtx6Z1unnbHhY1JOOKJTT9l9Yt4Pnt2rS3687nLStuMbqJ52xli99G/G6mqPtQDAtGWTUQCY4vbataljD+3URVeOh4Jv/KBfW80Yq5Of063d5za1YmVbv7y76mvf69UXLlwzJty/fO3R4AVHd+qcf2vq0mvHv/7ez/Xqtruq/ui48aNnR7pVd93X1kVXtfWxr/Rq0UassJgxWvW+V4/USaevqrHe+LGvp3xgrP7qxd36vWd2atcdx+NHr1f144VtnfUvvfraJeMzL17SbnAVCQAwdQkcADDFNU3VqX/Sratv7Ne9y8Z/7csX9evLF629Buy1a1Nztqm64sbxIHHzOo6LHelWveeUkfrTd489HC/OuqBXZ12w9pUcT9uzqRtubTe4v8ch+zT14b8aqdd9dKweWjUeOT5wdq8+cHavdtmhqe22qfrFHW09tGrie2aOVn3ov484VhYApjGPqADANLDv/KbOfPNo7bXr+gPA847s1GdPG5m02edl1/Vr2YNrf/2euzR15ptH6rB91/++xx7aqU/+z5Ea3cjTaZ93ZKc+/7bRNYLFHUvauuHWyXFj3yc29YW3j07avwMAmH6s4ACAaeLgfZo69z2jdcFl/broyn79eGFb997f1p67NHXovk09/8hOHXVAp5qm6vgjOrVqtZUWdy9ta9ut1x4xnjy/qc+9bbQuXNCvf13Qrxtuaeuu+9qav3NThz25qeMO79SzDulUU1X91Z5S6W4gdhz25KbOOX20LrmmX9+/pq0rftav2+6qemBFW7vt2NSBezd1zMGdOu6ITs2auel/PwBAtmblypV242Igure9rzq3vnfYYwAwJMtXVB30ZxPHqHziTSN1/OFWXQBMdf3dT63e/LcMewymAVcVAMBALLx98s9U5m1vvwwAYPMROACAx+yXd7f1zUs37uiSb6z2uu22qdpvvsABAGw+9uAAAB6TBx6sev1Hx2rBDW2tGhup333G+P4da3Px1f36+HkTm3qc/JxuzRgd0KAAwLQgcAAAj8l3rujXghvGHzt5/cfG6rtXdeqlJ3TroL2bmjFa1bZVt97Z1j9/v18f/vJE3Nhlh6b+5LkWkQIAm5fAAQA8Jr99dKeuuLFbnz5/PF6c+71+nfu98cdQ9pjX1K8eaOveZZO/Z7ttqj761yP23wAANjs/PgEAHpNup+q0P+3WB/9ipHbbcXKwuHnxmnHj6AOa+qd3jdZhTxY3AIDNzwoOAOAx6zRVJx7Tqecf1anLf9qvy65t6/Kf9uvni6o6nar5O1cd8ZROPevgpo46oFMdbQMAeJwIHADAJtt6ZtUzD+rUMw+qquoOexwAYBryiAoAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOADWZ0HGAAAbVUlEQVQAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcDEzbjAx7BAAAYMDcBzAoAgeD05097AkAAIBBcx/AgAgcDM7o3GFPAAAADJr7AAZE4GBg2pl7DHsEAABgwNwHMCgCBwPTbv2UYY8AAAAMmPsABkXgYHC621Y764BhTwEAAAxIO+uAqu62wx6DaULgYKDa2b857BEAAIABcf3PIAkcDFQ75/hhjwAAAAyI638GSeBgoPrbv6CqM2vYYwAAAI+3zqzx638YEIGDwWq61d/pD4c9BQAA8Djr7/SHVU132GMwjQgcDFx/7snDHgEAAHicue5n0AQOBq6dfXS1c04Y9hgAAMDjpJ1zQrWzjx72GEwzAgdD0dvttcMeAQAAeJy43mcYBA6Got3u2dXf6aRhjwEAAGxm/Z1Oqna7Zw97DKahZuXKle2wh2B6ah66tUaufHpVf/mwRwEAADaHzqwaO3RBtTN3H/YkTENWcDA07czdq7fX+4c9BgAAsJn09nq/uMHQCBwMVX/uy6s/71XDHgMAANhE/Xmvqv7clw97DKYxj6iwRRi57sRq7rtw2GMAAACPQTvnhBp76leHPQbTnBUcbBHG9vtstbOPGvYYAADAo9TOPqrG9vvssMcAgYMtRHfbGtv/S9U+4RnDngQAANhI7ROeUWP7f6mqu+2wRwGBgy3IyJwaO+Ab1d/xRcOeBAAA2ID+ji+qsQO+UTUyZ9ijQFUJHGxpmm719vtM9Xc/ddiTAAAA69Df/dTq7feZqqY77FHgYTYZZYvVLP336t58WjUPXD3sUQAAgKpqtzm4enu8p9rtnj3sUWANAgdbvM6i/1Xd2/6+qrd02KMAAMD01N2uevPfUP3dXjfsSWCdBA4y9JZV545/rM7iM6t56LZhTwMAANNCO3N+9ee9svq7/IWNRNniCRzE6Sz552ruObc6915gVQcAAGxu3e2qv/3zqt3x96u/w38Z9jSw0QQOojX3X1rNsgXVPHBNNSturFr5y2pWLanqP1hV/tcGAIC1a6o6W1c7ukPVjCdWu9W+1W5zYLXbPr3a2UcPezh4TAQOAAAAIJ5jYgEAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeAIHAAAAEE/gAAAAAOIJHAAAAEA8gQMAAACIJ3AAAAAA8QQOAAAAIJ7AAQAAAMQTOAAAAIB4AgcAAAAQT+AAAAAA4gkcAAAAQDyBAwAAAIgncAAAAADxBA4AAAAgnsABAAAAxBM4AAAAgHgCBwAAABBP4AAAAADiCRwAAABAPIEDAAAAiCdwAAAAAPEEDgAAACCewAEAAADEEzgAAACAeALH/2/HDkgAAAAABP1/3Y5AZwgAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwF63EoM4ujJo6wAAAABJRU5ErkJggg=="}]}]}]}] \ No newline at end of file diff --git a/example_with_integration_test/integration_test/gherkin/reports/report.html b/example_with_integration_test/integration_test/gherkin/reports/report.html index 9e42773..25a9fa6 100644 --- a/example_with_integration_test/integration_test/gherkin/reports/report.html +++ b/example_with_integration_test/integration_test/gherkin/reports/report.html @@ -279,8 +279,8 @@ pre { Cucumberjs Report
reports
- Passed: 4 - Failed: 2 + Passed: 1 + Failed: 1
@@ -288,7 +288,7 @@ pre {
-
Fri Jul 01 2022 13:23:06 GMT+1000 (Australian Eastern Standard Time)
+
Mon Jul 25 2022 16:30:33 GMT+1000 (Australian Eastern Standard Time)
@@ -303,25 +303,22 @@ pre {
-
+
-
+
+
An unnamed feature is possible if something is logged before any feature has started to execute
+ -
- - -

-

- - - - - - - Given - I fill the "todo" field with "Buy spinach" - - - - 350ms - - - - - - - - - - - - - - - - +
An unnamed scenario is possible if something is logged before any feature has started to execute
-

@@ -414,114 +377,17 @@ pre {
- + - When - I tap the "add" button + + Unnamed - 557ms - - - - - - - - - - - - - - - - -
-

- - - -

-

- - - - - - - Then - I expect the todo list - - - - 243ms - - - - - - -
- - - - - - - - - - - - - - - - - - -
Todo
- Buy spinach -
-
- -
- - - - - - - - - - -
-

- - - -

-

- - - - - - - When - I take a screenshot called 'Johnson' - - - - 180ms + < 1ms @@ -552,10 +418,12 @@ pre {

-

-
@@ -600,7 +468,7 @@ pre { - 163ms + 327ms @@ -636,7 +504,7 @@ pre { - 482ms + 584ms @@ -672,7 +540,7 @@ pre { - 264ms + 507ms @@ -708,7 +576,7 @@ pre { - 121ms + 232ms @@ -744,7 +612,7 @@ pre { - 258ms + 255ms @@ -780,7 +648,7 @@ pre { - 230ms + 229ms @@ -816,7 +684,7 @@ pre { - 250ms + 276ms @@ -895,7 +763,7 @@ pre { - 121ms + 112ms @@ -948,1017 +816,6 @@ pre { -
-

- - -
-
-
- -
-
-
-
- -
- - - - -
- -
-
- -
-
- - - -
- -
-
-
- - - -

-

- - - - - - - Given - I have item with data - - - - < 1ms - - - - - - - - - - - - - - - - -
-

- - -
-
-
- -
-
-
-
- -
- -
- - - -
- - -
- -
-
- -
-
- - - -
- -
-
-
- - - -

-

- - - - - - - Given - I swipe right by 250 pixels on the "scrollable cards"` - - - - 2s 95ms - - - - - - - - - - - - - - - - -
-

- - - -

-

- - - - - - - Then - I expect the text "Page 2" to be present - - - - 1ms - - - - - - - - - - - - - - - - -
-

- - - -

-

- - - - - - - Given - I swipe left by 250 pixels on the "scrollable cards"` - - - - 2s 61ms - - - - - - - - - - - - - - - - -
-

- - - -

-

- - - - - - - Then - I expect the text "Page 1" to be present - - - - < 1ms - - - - - - - - - - - - - - - - -
-

- - -
-
-
- -
-
-
-
- -
- - - - -
- -
-
- -
-
- -
Ensure that when a test fails the exception or test failure is reported
- - - -
- -
-
-
- - - -

-

- - - - - - - Given - I expect the todo list - - - - 119ms - - - - - - -
- - - - - - - - - - - - - - - - - - -
Todo
- Buy blueberries -
-
- -
- - - - - Show Error + -
-
-                                            
Unable to find element with finder zero widgets with text "Buy blueberries" that has ancestor(s) with type "ListTile" (ignoring offstage widgets) - -#0 WidgetTesterAppDriverAdapter.widget (package:flutter_gherkin/src/flutter/adapters/widget_tester_app_driver_adapter.dart:69:7) -#1 WidgetTesterAppDriverAdapter.getText (package:flutter_gherkin/src/flutter/adapters/widget_tester_app_driver_adapter.dart:144:28) -(asynchronous suspension) -#2 thenIExpectTheTodos.(anonymous closure) (file:///C:/Development/github/flutter_gherkin/example_with_integration_test/integration_test/gherkin/steps/expect_todos_step.dart:30:20) -(asynchronous suspension) -#3 Future.timeout.(anonymous closure) (dart:async/future_impl.dart:870:15) -(asynchronous suspension) -#4 StepDefinitionGeneric.run.(anonymous closure) (package:gherkin/src/gherkin/steps/step_definition.dart:42:26) -(asynchronous suspension) -#5 Perf.measure (package:gherkin/src/utils/perf.dart:11:14) -(asynchronous suspension) -#6 StepDefinitionGeneric.run (package:gherkin/src/gherkin/steps/step_definition.dart:37:7) -(asynchronous suspension) -#7 GherkinIntegrationTestRunner.runStep (package:flutter_gherkin/src/flutter/runners/gherkin_integration_test_runner.dart:361:18) -(asynchronous suspension) -#8 _CustomGherkinIntegrationTestRunner.testFeature3.(anonymous closure).(anonymous closure) (file:///C:/Development/github/flutter_gherkin/example_with_integration_test/integration_test/gherkin_suite_test.g.dart:414:22) -(asynchronous suspension) -#9 GherkinIntegrationTestRunner.runScenario.(anonymous closure) (package:flutter_gherkin/src/flutter/runners/gherkin_integration_test_runner.dart:224:32) -(asynchronous suspension) -#10 testWidgets.(anonymous closure).(anonymous closure) (package:flutter_test/src/widget_tester.dart:170:15) -(asynchronous suspension) -#11 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:833:5) -(asynchronous suspension) -
-
- - - - - - - - - - Screenshot + -
-
-                                        
-                                        
-                                
-
- -
- - - - - - -
-

- - - -

-

- - - - - - - When - I tap the "add" button - - - - < 1ms - - - - - - - - - - - - - - - - -
-

- - - -

-

- - - - - - - And - I fill the "todo" field with "Buy hannah's apples" - - - - < 1ms - - - - - - - - - - - - - - - - -
-

- - -
-
-
- - -
- -
-
-
- -
Description for this scenario! -
- - - -

-

- - - - - - - When - I tap the "add" button - - - - 123ms - - - - - - - - - - - - - - - - -
-

- - - -

-

- - - - - - - And - I fill the "todo" field with "Buy hannah's apples" - - - - 264ms - - - - - - - - - - - - - - - - -
-

- - - -

-

- - - - - - - Then - I expect a failure - - - - 5ms - - - - - - - - - - - Show Error + -
-
-                                            
Expected: [1, 2] - Actual: [1, 2, 3] - Which: at location [2] is [1, 2, 3] which longer than expected - - -#0 fail (package:test_api/src/expect/expect.dart:137:31) -#1 _expect (package:test_api/src/expect/expect.dart:132:3) -#2 expect (package:test_api/src/expect/expect.dart:46:3) -#3 expect (package:flutter_test/src/widget_tester.dart:455:16) -#4 thenIExpectFailure.(anonymous closure) (file:///C:/Development/github/flutter_gherkin/example_with_integration_test/integration_test/gherkin/steps/expect_failure.dart:8:5) -#5 thenIExpectFailure.(anonymous closure) (file:///C:/Development/github/flutter_gherkin/example_with_integration_test/integration_test/gherkin/steps/expect_failure.dart:7:3) -#6 Function._apply (dart:core-patch/function_patch.dart:11:73) -#7 Function.apply (dart:core-patch/function_patch.dart:34:12) -#8 GenericFunctionStepDefinition.onRun (package:gherkin/src/gherkin/steps/step_definition_implementations.dart:234:21) -#9 StepDefinitionGeneric.run.(anonymous closure) (package:gherkin/src/gherkin/steps/step_definition.dart:42:32) -#10 StepDefinitionGeneric.run.(anonymous closure) (package:gherkin/src/gherkin/steps/step_definition.dart:38:9) -#11 Perf.measure (package:gherkin/src/utils/perf.dart:11:26) -#12 StepDefinitionGeneric.run (package:gherkin/src/gherkin/steps/step_definition.dart:37:18) -#13 GherkinIntegrationTestRunner.runStep (package:flutter_gherkin/src/flutter/runners/gherkin_integration_test_runner.dart:361:40) -(asynchronous suspension) -#14 _CustomGherkinIntegrationTestRunner.testFeature3.(anonymous closure).(anonymous closure) (file:///C:/Development/github/flutter_gherkin/example_with_integration_test/integration_test/gherkin_suite_test.g.dart:490:22) -(asynchronous suspension) -#15 GherkinIntegrationTestRunner.runScenario.(anonymous closure) (package:flutter_gherkin/src/flutter/runners/gherkin_integration_test_runner.dart:224:32) -(asynchronous suspension) -#16 testWidgets.(anonymous closure).(anonymous closure) (package:flutter_test/src/widget_tester.dart:170:15) -(asynchronous suspension) -#17 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:833:5) -(asynchronous suspension) -
-
- - - - - - - - - - Screenshot + -
-
-                                        
-                                        
-                                
-
- -
- - - - - -

@@ -2001,7 +858,7 @@ pre { google.setOnLoadCallback(function() {drawChart({ "title" : "Features", "failed" : 1, - "passed" : 3, + "passed" : 0, "notdefined" : 0, "pending" : 0, "skipped" : 0, @@ -2010,8 +867,8 @@ pre { }); google.setOnLoadCallback(function() {drawChart({ "title" : "Scenarios", - "failed" : 2, - "passed" : 4, + "failed" : 1, + "passed" : 1, "notdefined" : 0, "pending" : 0, "skipped" : 0, diff --git a/example_with_integration_test/integration_test/gherkin/reports/to_html_report.bat b/example_with_integration_test/integration_test/gherkin/reports/to_html_report.bat index 456e979..8b84588 100644 --- a/example_with_integration_test/integration_test/gherkin/reports/to_html_report.bat +++ b/example_with_integration_test/integration_test/gherkin/reports/to_html_report.bat @@ -2,4 +2,4 @@ call npm init -y call npm install --save-dev cucumber-html-reporter -node -e "require('cucumber-html-reporter').generate({theme: 'bootstrap', jsonFile: 'REPORT_NAME.json', output: 'report.html', reportSuiteAsScenarios: true, launchReport: false});" \ No newline at end of file +node -e "require('cucumber-html-reporter').generate({theme: 'bootstrap', jsonFile: '{REPORT_NAME}.json', output: 'report.html', reportSuiteAsScenarios: true, launchReport: false});" \ No newline at end of file diff --git a/example_with_integration_test/integration_test/gherkin/steps/given_text.dart b/example_with_integration_test/integration_test/gherkin/steps/given_text.dart new file mode 100644 index 0000000..19a9271 --- /dev/null +++ b/example_with_integration_test/integration_test/gherkin/steps/given_text.dart @@ -0,0 +1,9 @@ +import 'package:flutter_gherkin/flutter_gherkin.dart'; +import 'package:gherkin/gherkin.dart'; + +final givenTheText = given1( + 'the text {String}', + (text, world) async { + print(text); + }, +); diff --git a/example_with_integration_test/integration_test/gherkin_suite_test.dart b/example_with_integration_test/integration_test/gherkin_suite_test.dart index 3965037..e3e9fb9 100644 --- a/example_with_integration_test/integration_test/gherkin_suite_test.dart +++ b/example_with_integration_test/integration_test/gherkin_suite_test.dart @@ -13,5 +13,14 @@ void main() { executeTestSuite( appMainFunction: appInitializationFn, configuration: gherkinTestConfiguration, + // if you have lots of test you might need to increase the default timeout + // scenarioExecutionTimeout: Timeout(const Duration(minutes: 30)), + // if your app has lots of endless animations you might need to + // provide your own app lifecycle pump handler that doesn't pump + // at certain lifecycle stages + // appLifecyclePumpHandler: (appPhase, widgetTester) async => {}, + // you can increase the performance of your tests at the cost of + // not drawing some frames but it might lead to unexpected consequences + // framePolicy: LiveTestWidgetsFlutterBindingFramePolicy.benchmarkLive, ); } diff --git a/example_with_integration_test/integration_test/gherkin_suite_test.g.dart b/example_with_integration_test/integration_test/gherkin_suite_test.g.dart index 0cf9eed..2390853 100644 --- a/example_with_integration_test/integration_test/gherkin_suite_test.g.dart +++ b/example_with_integration_test/integration_test/gherkin_suite_test.g.dart @@ -27,6 +27,7 @@ class _CustomGherkinIntegrationTestRunner extends GherkinIntegrationTestRunner { testFeature1(); testFeature2(); testFeature3(); + testFeature4(); } void testFeature0() { @@ -91,7 +92,7 @@ class _CustomGherkinIntegrationTestRunner extends GherkinIntegrationTestRunner { ], onBefore: () async => onBeforeRunFeature( name: 'Creating todos', - path: r'.\\integration_test\\features\\create.feature', + path: '.\\integration_test\\features\\create.feature', description: null, tags: ['@tag'], ), @@ -101,7 +102,7 @@ class _CustomGherkinIntegrationTestRunner extends GherkinIntegrationTestRunner { name: 'User can create multiple new todo items', description: null, path: '.\\integration_test\\features\\create.feature', - tags: ['@tag'], + tags: ['@tag', '@debug2'], steps: [ ( TestDependencies dependencies, @@ -241,7 +242,7 @@ class _CustomGherkinIntegrationTestRunner extends GherkinIntegrationTestRunner { ], onAfter: () async => onAfterRunFeature( name: 'Creating todos', - path: r'.\\integration_test\\features\\create.feature', + path: '.\\integration_test\\features\\create.feature', description: null, tags: ['@tag'], ), @@ -302,13 +303,13 @@ class _CustomGherkinIntegrationTestRunner extends GherkinIntegrationTestRunner { ], onBefore: () async => onBeforeRunFeature( name: 'Checking data', - path: r'.\\integration_test\\features\\check.feature', + path: '.\\integration_test\\features\\check.feature', description: null, tags: ['@tag'], ), onAfter: () async => onAfterRunFeature( name: 'Checking data', - path: r'.\\integration_test\\features\\check.feature', + path: '.\\integration_test\\features\\check.feature', description: null, tags: ['@tag'], ), @@ -326,7 +327,7 @@ class _CustomGherkinIntegrationTestRunner extends GherkinIntegrationTestRunner { name: 'User can swipe cards left and right', description: null, path: '.\\integration_test\\features\\swiping.feature', - tags: ['@tag', '@debug'], + tags: ['@tag'], steps: [ ( TestDependencies dependencies, @@ -381,13 +382,13 @@ class _CustomGherkinIntegrationTestRunner extends GherkinIntegrationTestRunner { ], onBefore: () async => onBeforeRunFeature( name: 'Swiping', - path: r'.\\integration_test\\features\\swiping.feature', + path: '.\\integration_test\\features\\swiping.feature', description: null, tags: ['@tag'], ), onAfter: () async => onAfterRunFeature( name: 'Swiping', - path: r'.\\integration_test\\features\\swiping.feature', + path: '.\\integration_test\\features\\swiping.feature', description: null, tags: ['@tag'], ), @@ -398,13 +399,13 @@ class _CustomGherkinIntegrationTestRunner extends GherkinIntegrationTestRunner { void testFeature3() { runFeature( - name: 'Expect failure:', + name: 'Parsing:', tags: ['@debug'], run: () { runScenario( - name: 'Exception should be added to json report', + name: 'Parsing a', description: null, - path: '.\\integration_test\\features\\failure.feature', + path: '.\\integration_test\\features\\parsing.feature', tags: ['@debug'], steps: [ ( @@ -412,31 +413,7 @@ class _CustomGherkinIntegrationTestRunner extends GherkinIntegrationTestRunner { bool skip, ) async { return await runStep( - name: 'Given I expect the todo list', - multiLineStrings: [], - table: GherkinTable.fromJson('[{"Todo":"Buy blueberries"}]'), - dependencies: dependencies, - skip: skip, - ); - }, - ( - TestDependencies dependencies, - bool skip, - ) async { - return await runStep( - name: 'When I tap the "add" button', - multiLineStrings: [], - table: null, - dependencies: dependencies, - skip: skip, - ); - }, - ( - TestDependencies dependencies, - bool skip, - ) async { - return await runStep( - name: 'And I fill the "todo" field with "Buy hannah\'s apples"', + name: 'Given the text "^[A-Z]{3}\\\\d{5}\\\$"', multiLineStrings: [], table: null, dependencies: dependencies, @@ -445,19 +422,67 @@ class _CustomGherkinIntegrationTestRunner extends GherkinIntegrationTestRunner { }, ], onBefore: () async => onBeforeRunFeature( - name: 'Expect failure', - path: r'.\\integration_test\\features\\failure.feature', - description: - "Ensure that when a test fails the exception or test failure is reported", + name: 'Parsing', + path: '.\\integration_test\\features\\parsing.feature', + description: """Complex description: +- Line "one". +- Line two, more text +- Line three""", tags: ['@debug'], ), + onAfter: () async => onAfterRunFeature( + name: 'Parsing', + path: '.\\integration_test\\features\\parsing.feature', + description: """Complex description: +- Line "one". +- Line two, more text +- Line three""", + tags: ['@debug'], + ), + ); + }, + ); + } + + void testFeature4() { + runFeature( + name: 'Expect failures:', + tags: [], + run: () { + runScenario( + name: 'Exception should be added to json report', + description: null, + path: '.\\integration_test\\features\\failure.feature', + tags: ['@failure-expected'], + steps: [ + ( + TestDependencies dependencies, + bool skip, + ) async { + return await runStep( + name: + 'When I tap the "button is not here but exception should be logged in report" button', + multiLineStrings: [], + table: null, + dependencies: dependencies, + skip: skip, + ); + }, + ], + onBefore: () async => onBeforeRunFeature( + name: 'Expect failures', + path: '.\\integration_test\\features\\failure.feature', + description: + """Ensure that when a test fails the exception or test failure is reported""", + tags: [], + ), ); runScenario( name: 'Failed expect() should be added to json report', description: "Description for this scenario!", path: '.\\integration_test\\features\\failure.feature', - tags: ['@debug'], + tags: ['@failure-expected'], steps: [ ( TestDependencies dependencies, @@ -497,11 +522,11 @@ class _CustomGherkinIntegrationTestRunner extends GherkinIntegrationTestRunner { }, ], onAfter: () async => onAfterRunFeature( - name: 'Expect failure', - path: r'.\\integration_test\\features\\failure.feature', + name: 'Expect failures', + path: '.\\integration_test\\features\\failure.feature', description: - "Ensure that when a test fails the exception or test failure is reported", - tags: ['@debug'], + """Ensure that when a test fails the exception or test failure is reported""", + tags: [], ), ); }, diff --git a/example_with_integration_test/pubspec.lock b/example_with_integration_test/pubspec.lock index dbf564d..08a0802 100644 --- a/example_with_integration_test/pubspec.lock +++ b/example_with_integration_test/pubspec.lock @@ -213,7 +213,7 @@ packages: path: ".." relative: true source: path - version: "3.0.0-rc.16" + version: "3.0.0-rc.17" flutter_simple_dependency_injection: dependency: "direct main" description: diff --git a/lib/src/flutter/adapters/widget_tester_app_driver_adapter.dart b/lib/src/flutter/adapters/widget_tester_app_driver_adapter.dart index dfcdf5c..37e97f2 100644 --- a/lib/src/flutter/adapters/widget_tester_app_driver_adapter.dart +++ b/lib/src/flutter/adapters/widget_tester_app_driver_adapter.dart @@ -72,7 +72,7 @@ class WidgetTesterAppDriverAdapter } } - Future> screenshotOnAndroid() async { + Future> takeScreenshotUsingRenderElement() async { RenderObject? renderObject = binding.renderViewElement?.renderObject; if (renderObject != null) { while (!renderObject!.isRepaintBoundary) { @@ -99,22 +99,18 @@ class WidgetTesterAppDriverAdapter Future> screenshot({String? screenshotName}) async { final name = screenshotName ?? 'screenshot_${DateTime.now().millisecondsSinceEpoch}'; - if (kIsWeb) { - return binding.takeScreenshot(name); - } else { - if (Platform.isAndroid) { - // try { - // // TODO: See https://github.com/flutter/flutter/issues/92381 - // // we need to call `revertFlutterImage` once it has been implemented - // await binding.convertFlutterSurfaceToImage(); - // await binding.pump(); - // // ignore: no_leading_underscores_for_local_identifiers - // } catch (_, __) {} + if (kIsWeb || Platform.isAndroid) { + // try { + // // TODO: See https://github.com/flutter/flutter/issues/92381 + // // we need to call `revertFlutterImage` once it has been implemented + // await binding.convertFlutterSurfaceToImage(); + // await binding.pump(); + // // ignore: no_leading_underscores_for_local_identifiers + // } catch (_, __) {} - return await screenshotOnAndroid(); - } else { - return await binding.takeScreenshot(name); - } + return await takeScreenshotUsingRenderElement(); + } else { + return await binding.takeScreenshot(name); } } diff --git a/lib/src/flutter/code_generation/generators/gherkin_suite_test_generator.dart b/lib/src/flutter/code_generation/generators/gherkin_suite_test_generator.dart index c51be2c..d1d8d55 100644 --- a/lib/src/flutter/code_generation/generators/gherkin_suite_test_generator.dart +++ b/lib/src/flutter/code_generation/generators/gherkin_suite_test_generator.dart @@ -183,10 +183,18 @@ class FeatureFileTestGeneratorVisitor extends FeatureFileVisitor { );} '''; static const String onBeforeScenarioRun = ''' - onBefore: () async => onBeforeRunFeature(name:'{{feature_name}}', path:'{{path}}', description: {{feature_description}}, tags:{{feature_tags}},), + onBefore: () async => onBeforeRunFeature( + name:'{{feature_name}}', + path:'{{path}}', + description: {{feature_description}}, + tags:{{feature_tags}},), '''; static const String onAfterScenarioRun = ''' - onAfter: () async => onAfterRunFeature(name:'{{feature_name}}', path:'{{path}}', description: {{feature_description}}, tags:{{feature_tags}},), + onAfter: () async => onAfterRunFeature( + name:'{{feature_name}}', + path:'{{path}}', + description: {{feature_description}}, + tags:{{feature_tags}},), '''; final StringBuffer _buffer = StringBuffer(); @@ -275,7 +283,9 @@ class FeatureFileTestGeneratorVisitor extends FeatureFileVisitor { _currentScenarioCode = _replaceVariable( _currentScenarioCode!, 'feature_description', - _escapeText(featureDescription == null ? null : '"$featureDescription"'), + _escapeText( + featureDescription == null ? null : '"""$featureDescription"""', + ), ); _currentScenarioCode = _replaceVariable( _currentScenarioCode!, @@ -370,6 +380,8 @@ class FeatureFileTestGeneratorVisitor extends FeatureFileVisitor { return content.replaceAll('{{$property}}', value ?? 'null'); } - String? _escapeText(String? text) => - text?.replaceAll("\\", "\\\\").replaceAll("'", "\\'"); + String? _escapeText(String? text) => text + ?.replaceAll("\\", "\\\\") + .replaceAll("'", "\\'") + .replaceAll(r"$", r"\$"); } diff --git a/lib/src/flutter/configuration/flutter_test_configuration.dart b/lib/src/flutter/configuration/flutter_test_configuration.dart index 9b01b3d..211a5e8 100644 --- a/lib/src/flutter/configuration/flutter_test_configuration.dart +++ b/lib/src/flutter/configuration/flutter_test_configuration.dart @@ -1,3 +1,5 @@ +// ignore_for_file: avoid_print + import 'package:flutter_gherkin/flutter_gherkin_with_driver.dart'; import 'package:flutter_gherkin/src/flutter/parameters/existence_parameter.dart'; import 'package:flutter_gherkin/src/flutter/parameters/swipe_direction_parameter.dart'; diff --git a/lib/src/flutter/runners/gherkin_integration_test_runner.dart b/lib/src/flutter/runners/gherkin_integration_test_runner.dart index e64ff90..78f59ef 100644 --- a/lib/src/flutter/runners/gherkin_integration_test_runner.dart +++ b/lib/src/flutter/runners/gherkin_integration_test_runner.dart @@ -83,24 +83,24 @@ abstract class GherkinIntegrationTestRunner { _binding.framePolicy = framePolicy ?? _binding.framePolicy; tearDownAll( - () { - onRunComplete(); + () async { + await onRunComplete(); }, ); - _safeInvokeFuture(() async => await hook.onBeforeRun(configuration)); - _safeInvokeFuture(() async => await reporter.test.onStarted.invoke()); + await hook.onBeforeRun(configuration); + await reporter.test.onStarted.invoke(); onRun(); } void onRun(); - void onRunComplete() { - _safeInvokeFuture(() async => await reporter.test.onFinished.invoke()); - _safeInvokeFuture(() async => await hook.onAfterRun(configuration)); + Future onRunComplete() async { + await reporter.test.onFinished.invoke(); + await hook.onAfterRun(configuration); setTestResultData(_binding); - _safeInvokeFuture(() async => await reporter.dispose()); + () async => await reporter.dispose(); } void setTestResultData(IntegrationTestWidgetsFlutterBinding binding) { @@ -226,9 +226,11 @@ abstract class GherkinIntegrationTestRunner { failed = true; hasToSkip = true; } - } catch (e) { + } catch (err, st) { failed = true; hasToSkip = true; + + await reporter.onException(err, st); } } } finally { @@ -258,18 +260,16 @@ abstract class GherkinIntegrationTestRunner { tester, ); - cleanUpScenarioRun(dependencies); + await cleanUpScenarioRun(dependencies); } }, timeout: scenarioExecutionTimeout, semanticsEnabled: configuration.semanticsEnabled, ); } else { - _safeInvokeFuture( - () async => reporter.message( - 'Ignoring scenario `$name` as tag expression `${configuration.tagExpression}` not satisfied', - MessageLevel.info, - ), + reporter.message( + 'Ignoring scenario `$name` as tag expression `${configuration.tagExpression}` not satisfied', + MessageLevel.info, ); } } @@ -325,52 +325,62 @@ abstract class GherkinIntegrationTestRunner { required TestDependencies dependencies, required bool skip, }) async { - final executable = _executableSteps!.firstWhereOrNull( - (s) => s.expression.isMatch(name), - ); - - if (executable == null) { - final message = 'Step definition not found for text: `$name`'; - throw GherkinStepNotDefinedException(message); - } - - var parameters = _getStepParameters( - step: name, - multiLineStrings: multiLineStrings, - table: table, - code: executable, - ); - - await _onBeforeStepRun( - world: dependencies.world, - step: name, - table: table, - multiLineStrings: multiLineStrings, - ); - StepResult? result; - if (skip) { - result = StepResult( - 0, - StepExecutionResult.skipped, - resultReason: 'Previous step(s) failed', + try { + final executable = _executableSteps!.firstWhereOrNull( + (s) => s.expression.isMatch(name), ); - } else { - for (int i = 0; i < configuration.stepMaxRetries + 1; i++) { - result = await executable.step.run( - dependencies.world, - reporter, - configuration.defaultTimeout, - parameters, + + if (executable == null) { + final message = 'Step definition not found for text: `$name`'; + throw GherkinStepNotDefinedException(message); + } + + var parameters = _getStepParameters( + step: name, + multiLineStrings: multiLineStrings, + table: table, + code: executable, + ); + + await _onBeforeStepRun( + world: dependencies.world, + step: name, + table: table, + multiLineStrings: multiLineStrings, + ); + + if (skip) { + result = StepResult( + 0, + StepExecutionResult.skipped, + resultReason: 'Previous step(s) failed', ); - if (!_isNegativeResult(result.result) || - configuration.stepMaxRetries == 0) { - break; - } else { - await Future.delayed(configuration.retryDelay); + } else { + for (int i = 0; i < configuration.stepMaxRetries + 1; i++) { + result = await executable.step.run( + dependencies.world, + reporter, + configuration.defaultTimeout, + parameters, + ); + + if (!_isNegativeResult(result.result) || + configuration.stepMaxRetries == 0) { + break; + } else { + await Future.delayed(configuration.retryDelay); + } } } + } catch (err, st) { + result = ErroredStepResult( + 0, + StepExecutionResult.error, + err, + st, + ); } await _onAfterStepRun( @@ -383,13 +393,9 @@ abstract class GherkinIntegrationTestRunner { } @protected - void cleanUpScenarioRun(TestDependencies dependencies) { - _safeInvokeFuture( - () async => dependencies.attachmentManager.dispose(), - ); - _safeInvokeFuture( - () async => dependencies.world.dispose(), - ); + Future cleanUpScenarioRun(TestDependencies dependencies) async { + dependencies.attachmentManager.dispose(); + dependencies.world.dispose(); } void _registerReporters(Iterable? reporters) { @@ -505,12 +511,6 @@ abstract class GherkinIntegrationTestRunner { ); } - void _safeInvokeFuture(Future Function() fn) async { - try { - await fn().catchError((_, __) {}); - } catch (_) {} - } - bool _evaluateTagFilterExpression( String? tagExpression, Iterable? tags, diff --git a/pubspec.yaml b/pubspec.yaml index f072ecc..b51fb91 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_gherkin description: A Gherkin / Cucumber parser and test runner for Dart and Flutter -version: 3.0.0-rc.16 +version: 3.0.0-rc.17 homepage: https://github.com/jonsamwell/flutter_gherkin environment: