From 5634bbfe7fd6372d43a6f883bbd0e307254f5c88 Mon Sep 17 00:00:00 2001 From: Jessie C Date: Wed, 28 Mar 2018 12:33:46 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=E2=80=A2=20Added=20Selenium=203.11.0=20(sl?= =?UTF-8?q?ightly=20modified=20for=20Safari=20to=20work)=20under=20license?= =?UTF-8?q?=20Apache=202.=20Selenium=20is=20necessary=20for=20the=20new=20?= =?UTF-8?q?extractor=20ThisVid.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- youtube_dl/selenium/__init__.py | 19 + youtube_dl/selenium/common/__init__.py | 18 + youtube_dl/selenium/common/exceptions.py | 327 +++++ youtube_dl/selenium/webdriver/__init__.py | 38 + .../selenium/webdriver/android/__init__.py | 16 + .../selenium/webdriver/android/webdriver.py | 42 + .../selenium/webdriver/blackberry/__init__.py | 16 + .../webdriver/blackberry/webdriver.py | 116 ++ .../selenium/webdriver/chrome/__init__.py | 16 + .../selenium/webdriver/chrome/options.py | 192 +++ .../webdriver/chrome/remote_connection.py | 27 + .../selenium/webdriver/chrome/service.py | 45 + .../selenium/webdriver/chrome/webdriver.py | 132 ++ .../selenium/webdriver/common/__init__.py | 16 + .../webdriver/common/action_chains.py | 378 +++++ .../webdriver/common/actions/__init__.py | 16 + .../common/actions/action_builder.py | 82 ++ .../webdriver/common/actions/input_device.py | 43 + .../webdriver/common/actions/interaction.py | 43 + .../webdriver/common/actions/key_actions.py | 52 + .../webdriver/common/actions/key_input.py | 51 + .../webdriver/common/actions/mouse_button.py | 5 + .../common/actions/pointer_actions.py | 100 ++ .../webdriver/common/actions/pointer_input.py | 58 + youtube_dl/selenium/webdriver/common/alert.py | 122 ++ youtube_dl/selenium/webdriver/common/by.py | 35 + .../webdriver/common/desired_capabilities.py | 128 ++ .../webdriver/common/html5/__init__.py | 16 + .../common/html5/application_cache.py | 48 + youtube_dl/selenium/webdriver/common/keys.py | 96 ++ youtube_dl/selenium/webdriver/common/proxy.py | 334 +++++ .../selenium/webdriver/common/service.py | 178 +++ .../webdriver/common/touch_actions.py | 192 +++ youtube_dl/selenium/webdriver/common/utils.py | 152 ++ .../selenium/webdriver/edge/__init__.py | 16 + youtube_dl/selenium/webdriver/edge/options.py | 45 + youtube_dl/selenium/webdriver/edge/service.py | 57 + .../selenium/webdriver/edge/webdriver.py | 48 + .../selenium/webdriver/firefox/__init__.py | 16 + .../firefox/amd64/x_ignore_nofocus.so | Bin 0 -> 41262 bytes .../webdriver/firefox/extension_connection.py | 84 ++ .../webdriver/firefox/firefox_binary.py | 217 +++ .../webdriver/firefox/firefox_profile.py | 384 +++++ .../selenium/webdriver/firefox/options.py | 160 +++ .../webdriver/firefox/remote_connection.py | 34 + .../selenium/webdriver/firefox/service.py | 54 + .../selenium/webdriver/firefox/webdriver.py | 265 ++++ .../selenium/webdriver/firefox/webdriver.xpi | Bin 0 -> 715536 bytes .../webdriver/firefox/webdriver_prefs.json | 70 + .../selenium/webdriver/firefox/webelement.py | 49 + .../webdriver/firefox/x86/x_ignore_nofocus.so | Bin 0 -> 30887 bytes youtube_dl/selenium/webdriver/ie/__init__.py | 16 + youtube_dl/selenium/webdriver/ie/options.py | 339 +++++ youtube_dl/selenium/webdriver/ie/service.py | 50 + youtube_dl/selenium/webdriver/ie/webdriver.py | 95 ++ .../selenium/webdriver/opera/__init__.py | 16 + .../selenium/webdriver/opera/options.py | 106 ++ .../selenium/webdriver/opera/webdriver.py | 78 ++ .../selenium/webdriver/phantomjs/__init__.py | 16 + .../selenium/webdriver/phantomjs/service.py | 68 + .../selenium/webdriver/phantomjs/webdriver.py | 80 ++ .../selenium/webdriver/remote/__init__.py | 16 + .../selenium/webdriver/remote/command.py | 174 +++ .../selenium/webdriver/remote/errorhandler.py | 245 ++++ .../webdriver/remote/file_detector.py | 58 + .../selenium/webdriver/remote/getAttribute.js | 8 + .../selenium/webdriver/remote/isDisplayed.js | 101 ++ .../selenium/webdriver/remote/mobile.py | 85 ++ .../webdriver/remote/remote_connection.py | 568 ++++++++ .../selenium/webdriver/remote/switch_to.py | 134 ++ youtube_dl/selenium/webdriver/remote/utils.py | 113 ++ .../selenium/webdriver/remote/webdriver.py | 1238 +++++++++++++++++ .../selenium/webdriver/remote/webelement.py | 701 ++++++++++ .../selenium/webdriver/safari/__init__.py | 16 + .../selenium/webdriver/safari/service.py | 56 + .../selenium/webdriver/safari/webdriver.py | 71 + .../selenium/webdriver/support/__init__.py | 16 + .../support/abstract_event_listener.py | 79 ++ .../selenium/webdriver/support/color.py | 310 +++++ .../support/event_firing_webdriver.py | 322 +++++ .../selenium/webdriver/support/events.py | 19 + .../webdriver/support/expected_conditions.py | 408 ++++++ .../selenium/webdriver/support/select.py | 241 ++++ youtube_dl/selenium/webdriver/support/ui.py | 19 + youtube_dl/selenium/webdriver/support/wait.py | 96 ++ .../selenium/webdriver/webkitgtk/__init__.py | 16 + .../selenium/webdriver/webkitgtk/options.py | 98 ++ .../selenium/webdriver/webkitgtk/service.py | 42 + .../selenium/webdriver/webkitgtk/webdriver.py | 72 + 89 files changed, 10834 insertions(+) create mode 100644 youtube_dl/selenium/__init__.py create mode 100644 youtube_dl/selenium/common/__init__.py create mode 100644 youtube_dl/selenium/common/exceptions.py create mode 100644 youtube_dl/selenium/webdriver/__init__.py create mode 100644 youtube_dl/selenium/webdriver/android/__init__.py create mode 100644 youtube_dl/selenium/webdriver/android/webdriver.py create mode 100644 youtube_dl/selenium/webdriver/blackberry/__init__.py create mode 100644 youtube_dl/selenium/webdriver/blackberry/webdriver.py create mode 100644 youtube_dl/selenium/webdriver/chrome/__init__.py create mode 100644 youtube_dl/selenium/webdriver/chrome/options.py create mode 100644 youtube_dl/selenium/webdriver/chrome/remote_connection.py create mode 100644 youtube_dl/selenium/webdriver/chrome/service.py create mode 100644 youtube_dl/selenium/webdriver/chrome/webdriver.py create mode 100644 youtube_dl/selenium/webdriver/common/__init__.py create mode 100644 youtube_dl/selenium/webdriver/common/action_chains.py create mode 100644 youtube_dl/selenium/webdriver/common/actions/__init__.py create mode 100644 youtube_dl/selenium/webdriver/common/actions/action_builder.py create mode 100644 youtube_dl/selenium/webdriver/common/actions/input_device.py create mode 100644 youtube_dl/selenium/webdriver/common/actions/interaction.py create mode 100644 youtube_dl/selenium/webdriver/common/actions/key_actions.py create mode 100644 youtube_dl/selenium/webdriver/common/actions/key_input.py create mode 100644 youtube_dl/selenium/webdriver/common/actions/mouse_button.py create mode 100644 youtube_dl/selenium/webdriver/common/actions/pointer_actions.py create mode 100644 youtube_dl/selenium/webdriver/common/actions/pointer_input.py create mode 100644 youtube_dl/selenium/webdriver/common/alert.py create mode 100644 youtube_dl/selenium/webdriver/common/by.py create mode 100644 youtube_dl/selenium/webdriver/common/desired_capabilities.py create mode 100644 youtube_dl/selenium/webdriver/common/html5/__init__.py create mode 100644 youtube_dl/selenium/webdriver/common/html5/application_cache.py create mode 100644 youtube_dl/selenium/webdriver/common/keys.py create mode 100644 youtube_dl/selenium/webdriver/common/proxy.py create mode 100644 youtube_dl/selenium/webdriver/common/service.py create mode 100644 youtube_dl/selenium/webdriver/common/touch_actions.py create mode 100644 youtube_dl/selenium/webdriver/common/utils.py create mode 100644 youtube_dl/selenium/webdriver/edge/__init__.py create mode 100644 youtube_dl/selenium/webdriver/edge/options.py create mode 100644 youtube_dl/selenium/webdriver/edge/service.py create mode 100644 youtube_dl/selenium/webdriver/edge/webdriver.py create mode 100644 youtube_dl/selenium/webdriver/firefox/__init__.py create mode 100755 youtube_dl/selenium/webdriver/firefox/amd64/x_ignore_nofocus.so create mode 100644 youtube_dl/selenium/webdriver/firefox/extension_connection.py create mode 100644 youtube_dl/selenium/webdriver/firefox/firefox_binary.py create mode 100644 youtube_dl/selenium/webdriver/firefox/firefox_profile.py create mode 100644 youtube_dl/selenium/webdriver/firefox/options.py create mode 100644 youtube_dl/selenium/webdriver/firefox/remote_connection.py create mode 100644 youtube_dl/selenium/webdriver/firefox/service.py create mode 100644 youtube_dl/selenium/webdriver/firefox/webdriver.py create mode 100644 youtube_dl/selenium/webdriver/firefox/webdriver.xpi create mode 100644 youtube_dl/selenium/webdriver/firefox/webdriver_prefs.json create mode 100644 youtube_dl/selenium/webdriver/firefox/webelement.py create mode 100755 youtube_dl/selenium/webdriver/firefox/x86/x_ignore_nofocus.so create mode 100644 youtube_dl/selenium/webdriver/ie/__init__.py create mode 100644 youtube_dl/selenium/webdriver/ie/options.py create mode 100644 youtube_dl/selenium/webdriver/ie/service.py create mode 100644 youtube_dl/selenium/webdriver/ie/webdriver.py create mode 100644 youtube_dl/selenium/webdriver/opera/__init__.py create mode 100644 youtube_dl/selenium/webdriver/opera/options.py create mode 100644 youtube_dl/selenium/webdriver/opera/webdriver.py create mode 100644 youtube_dl/selenium/webdriver/phantomjs/__init__.py create mode 100644 youtube_dl/selenium/webdriver/phantomjs/service.py create mode 100644 youtube_dl/selenium/webdriver/phantomjs/webdriver.py create mode 100644 youtube_dl/selenium/webdriver/remote/__init__.py create mode 100644 youtube_dl/selenium/webdriver/remote/command.py create mode 100644 youtube_dl/selenium/webdriver/remote/errorhandler.py create mode 100644 youtube_dl/selenium/webdriver/remote/file_detector.py create mode 100644 youtube_dl/selenium/webdriver/remote/getAttribute.js create mode 100644 youtube_dl/selenium/webdriver/remote/isDisplayed.js create mode 100644 youtube_dl/selenium/webdriver/remote/mobile.py create mode 100644 youtube_dl/selenium/webdriver/remote/remote_connection.py create mode 100644 youtube_dl/selenium/webdriver/remote/switch_to.py create mode 100644 youtube_dl/selenium/webdriver/remote/utils.py create mode 100644 youtube_dl/selenium/webdriver/remote/webdriver.py create mode 100644 youtube_dl/selenium/webdriver/remote/webelement.py create mode 100644 youtube_dl/selenium/webdriver/safari/__init__.py create mode 100644 youtube_dl/selenium/webdriver/safari/service.py create mode 100644 youtube_dl/selenium/webdriver/safari/webdriver.py create mode 100644 youtube_dl/selenium/webdriver/support/__init__.py create mode 100644 youtube_dl/selenium/webdriver/support/abstract_event_listener.py create mode 100644 youtube_dl/selenium/webdriver/support/color.py create mode 100644 youtube_dl/selenium/webdriver/support/event_firing_webdriver.py create mode 100644 youtube_dl/selenium/webdriver/support/events.py create mode 100644 youtube_dl/selenium/webdriver/support/expected_conditions.py create mode 100644 youtube_dl/selenium/webdriver/support/select.py create mode 100644 youtube_dl/selenium/webdriver/support/ui.py create mode 100644 youtube_dl/selenium/webdriver/support/wait.py create mode 100644 youtube_dl/selenium/webdriver/webkitgtk/__init__.py create mode 100644 youtube_dl/selenium/webdriver/webkitgtk/options.py create mode 100644 youtube_dl/selenium/webdriver/webkitgtk/service.py create mode 100644 youtube_dl/selenium/webdriver/webkitgtk/webdriver.py diff --git a/youtube_dl/selenium/__init__.py b/youtube_dl/selenium/__init__.py new file mode 100644 index 000000000..89a4a530d --- /dev/null +++ b/youtube_dl/selenium/__init__.py @@ -0,0 +1,19 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + + +__version__ = "3.11.0" diff --git a/youtube_dl/selenium/common/__init__.py b/youtube_dl/selenium/common/__init__.py new file mode 100644 index 000000000..ea71319a6 --- /dev/null +++ b/youtube_dl/selenium/common/__init__.py @@ -0,0 +1,18 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from . import exceptions # noqa diff --git a/youtube_dl/selenium/common/exceptions.py b/youtube_dl/selenium/common/exceptions.py new file mode 100644 index 000000000..df61eca00 --- /dev/null +++ b/youtube_dl/selenium/common/exceptions.py @@ -0,0 +1,327 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +""" +Exceptions that may happen in all the webdriver code. +""" + + +class WebDriverException(Exception): + """ + Base webdriver exception. + """ + + def __init__(self, msg=None, screen=None, stacktrace=None): + self.msg = msg + self.screen = screen + self.stacktrace = stacktrace + + def __str__(self): + exception_msg = "Message: %s\n" % self.msg + if self.screen is not None: + exception_msg += "Screenshot: available via screen\n" + if self.stacktrace is not None: + stacktrace = "\n".join(self.stacktrace) + exception_msg += "Stacktrace:\n%s" % stacktrace + return exception_msg + + +class ErrorInResponseException(WebDriverException): + """ + Thrown when an error has occurred on the server side. + + This may happen when communicating with the firefox extension + or the remote driver server. + """ + def __init__(self, response, msg): + WebDriverException.__init__(self, msg) + self.response = response + + +class InvalidSwitchToTargetException(WebDriverException): + """ + Thrown when frame or window target to be switched doesn't exist. + """ + pass + + +class NoSuchFrameException(InvalidSwitchToTargetException): + """ + Thrown when frame target to be switched doesn't exist. + """ + pass + + +class NoSuchWindowException(InvalidSwitchToTargetException): + """ + Thrown when window target to be switched doesn't exist. + + To find the current set of active window handles, you can get a list + of the active window handles in the following way:: + + print driver.window_handles + + """ + pass + + +class NoSuchElementException(WebDriverException): + """ + Thrown when element could not be found. + + If you encounter this exception, you may want to check the following: + * Check your selector used in your find_by... + * Element may not yet be on the screen at the time of the find operation, + (webpage is still loading) see selenium.webdriver.support.wait.WebDriverWait() + for how to write a wait wrapper to wait for an element to appear. + """ + pass + + +class NoSuchAttributeException(WebDriverException): + """ + Thrown when the attribute of element could not be found. + + You may want to check if the attribute exists in the particular browser you are + testing against. Some browsers may have different property names for the same + property. (IE8's .innerText vs. Firefox .textContent) + """ + pass + + +class StaleElementReferenceException(WebDriverException): + """ + Thrown when a reference to an element is now "stale". + + Stale means the element no longer appears on the DOM of the page. + + + Possible causes of StaleElementReferenceException include, but not limited to: + * You are no longer on the same page, or the page may have refreshed since the element + was located. + * The element may have been removed and re-added to the screen, since it was located. + Such as an element being relocated. + This can happen typically with a javascript framework when values are updated and the + node is rebuilt. + * Element may have been inside an iframe or another context which was refreshed. + """ + pass + + +class InvalidElementStateException(WebDriverException): + """ + Thrown when a command could not be completed because the element is in an invalid state. + + This can be caused by attempting to clear an element that isn't both editable and resettable. + """ + pass + + +class UnexpectedAlertPresentException(WebDriverException): + """ + Thrown when an unexpected alert is appeared. + + Usually raised when when an expected modal is blocking webdriver form executing any + more commands. + """ + def __init__(self, msg=None, screen=None, stacktrace=None, alert_text=None): + super(UnexpectedAlertPresentException, self).__init__(msg, screen, stacktrace) + self.alert_text = alert_text + + def __str__(self): + return "Alert Text: %s\n%s" % (self.alert_text, super(UnexpectedAlertPresentException, self).__str__()) + + +class NoAlertPresentException(WebDriverException): + """ + Thrown when switching to no presented alert. + + This can be caused by calling an operation on the Alert() class when an alert is + not yet on the screen. + """ + pass + + +class ElementNotVisibleException(InvalidElementStateException): + """ + Thrown when an element is present on the DOM, but + it is not visible, and so is not able to be interacted with. + + Most commonly encountered when trying to click or read text + of an element that is hidden from view. + """ + pass + + +class ElementNotInteractableException(InvalidElementStateException): + """ + Thrown when an element is present in the DOM but interactions + with that element will hit another element do to paint order + """ + pass + + +class ElementNotSelectableException(InvalidElementStateException): + """ + Thrown when trying to select an unselectable element. + + For example, selecting a 'script' element. + """ + pass + + +class InvalidCookieDomainException(WebDriverException): + """ + Thrown when attempting to add a cookie under a different domain + than the current URL. + """ + pass + + +class UnableToSetCookieException(WebDriverException): + """ + Thrown when a driver fails to set a cookie. + """ + pass + + +class RemoteDriverServerException(WebDriverException): + """ + """ + pass + + +class TimeoutException(WebDriverException): + """ + Thrown when a command does not complete in enough time. + """ + pass + + +class MoveTargetOutOfBoundsException(WebDriverException): + """ + Thrown when the target provided to the `ActionsChains` move() + method is invalid, i.e. out of document. + """ + pass + + +class UnexpectedTagNameException(WebDriverException): + """ + Thrown when a support class did not get an expected web element. + """ + pass + + +class InvalidSelectorException(NoSuchElementException): + """ + Thrown when the selector which is used to find an element does not return + a WebElement. Currently this only happens when the selector is an xpath + expression and it is either syntactically invalid (i.e. it is not a + xpath expression) or the expression does not select WebElements + (e.g. "count(//input)"). + """ + pass + + +class ImeNotAvailableException(WebDriverException): + """ + Thrown when IME support is not available. This exception is thrown for every IME-related + method call if IME support is not available on the machine. + """ + pass + + +class ImeActivationFailedException(WebDriverException): + """ + Thrown when activating an IME engine has failed. + """ + pass + + +class InvalidArgumentException(WebDriverException): + """ + The arguments passed to a command are either invalid or malformed. + """ + pass + + +class JavascriptException(WebDriverException): + """ + An error occurred while executing JavaScript supplied by the user. + """ + pass + + +class NoSuchCookieException(WebDriverException): + """ + No cookie matching the given path name was found amongst the associated cookies of the + current browsing context's active document. + """ + pass + + +class ScreenshotException(WebDriverException): + """ + A screen capture was made impossible. + """ + pass + + +class ElementClickInterceptedException(WebDriverException): + """ + The Element Click command could not be completed because the element receiving the events + is obscuring the element that was requested clicked. + """ + pass + + +class InsecureCertificateException(WebDriverException): + """ + Navigation caused the user agent to hit a certificate warning, which is usually the result + of an expired or invalid TLS certificate. + """ + pass + + +class InvalidCoordinatesException(WebDriverException): + """ + The coordinates provided to an interactions operation are invalid. + """ + pass + + +class InvalidSessionIdException(WebDriverException): + """ + Occurs if the given session id is not in the list of active sessions, meaning the session + either does not exist or that it's not active. + """ + pass + + +class SessionNotCreatedException(WebDriverException): + """ + A new session could not be created. + """ + pass + + +class UnknownMethodException(WebDriverException): + """ + The requested command matched a known URL but did not match an method for that URL. + """ + pass diff --git a/youtube_dl/selenium/webdriver/__init__.py b/youtube_dl/selenium/webdriver/__init__.py new file mode 100644 index 000000000..1bb8f2c8c --- /dev/null +++ b/youtube_dl/selenium/webdriver/__init__.py @@ -0,0 +1,38 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from .firefox.webdriver import WebDriver as Firefox # noqa +from .firefox.firefox_profile import FirefoxProfile # noqa +from .firefox.options import Options as FirefoxOptions # noqa +from .chrome.webdriver import WebDriver as Chrome # noqa +from .chrome.options import Options as ChromeOptions # noqa +from .ie.webdriver import WebDriver as Ie # noqa +from .edge.webdriver import WebDriver as Edge # noqa +from .opera.webdriver import WebDriver as Opera # noqa +from .safari.webdriver import WebDriver as Safari # noqa +from .blackberry.webdriver import WebDriver as BlackBerry # noqa +from .phantomjs.webdriver import WebDriver as PhantomJS # noqa +from .android.webdriver import WebDriver as Android # noqa +from .webkitgtk.webdriver import WebDriver as WebKitGTK # noqa +from .webkitgtk.options import Options as WebKitGTKOptions # noqa +from .remote.webdriver import WebDriver as Remote # noqa +from .common.desired_capabilities import DesiredCapabilities # noqa +from .common.action_chains import ActionChains # noqa +from .common.touch_actions import TouchActions # noqa +from .common.proxy import Proxy # noqa + +__version__ = '3.9.0' diff --git a/youtube_dl/selenium/webdriver/android/__init__.py b/youtube_dl/selenium/webdriver/android/__init__.py new file mode 100644 index 000000000..a5b1e6f85 --- /dev/null +++ b/youtube_dl/selenium/webdriver/android/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/youtube_dl/selenium/webdriver/android/webdriver.py b/youtube_dl/selenium/webdriver/android/webdriver.py new file mode 100644 index 000000000..68a55c27e --- /dev/null +++ b/youtube_dl/selenium/webdriver/android/webdriver.py @@ -0,0 +1,42 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities + + +class WebDriver(RemoteWebDriver): + """ + Simple RemoteWebDriver wrapper to start connect to Selendroid's WebView app + + For more info on getting started with Selendroid + http://selendroid.io/mobileWeb.html + """ + + def __init__(self, host="localhost", port=4444, desired_capabilities=DesiredCapabilities.ANDROID): + """ + Creates a new instance of Selendroid using the WebView app + + :Args: + - host - location of where selendroid is running + - port - port that selendroid is running on + - desired_capabilities: Dictionary object with capabilities + """ + RemoteWebDriver.__init__( + self, + command_executor="http://%s:%d/wd/hub" % (host, port), + desired_capabilities=desired_capabilities) diff --git a/youtube_dl/selenium/webdriver/blackberry/__init__.py b/youtube_dl/selenium/webdriver/blackberry/__init__.py new file mode 100644 index 000000000..a5b1e6f85 --- /dev/null +++ b/youtube_dl/selenium/webdriver/blackberry/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/youtube_dl/selenium/webdriver/blackberry/webdriver.py b/youtube_dl/selenium/webdriver/blackberry/webdriver.py new file mode 100644 index 000000000..bd0d6f817 --- /dev/null +++ b/youtube_dl/selenium/webdriver/blackberry/webdriver.py @@ -0,0 +1,116 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +import os +import platform +import subprocess + +try: + import http.client as http_client +except ImportError: + import httplib as http_client + +from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver +from selenium.common.exceptions import WebDriverException +from selenium.webdriver.support.ui import WebDriverWait + +LOAD_TIMEOUT = 5 + + +class WebDriver(RemoteWebDriver): + """ + Controls the BlackBerry Browser and allows you to drive it. + + :Args: + - device_password - password for the BlackBerry device or emulator you are + trying to drive + - bb_tools_dir path to the blackberry-deploy executable. If the default + is used it assumes it is in the $PATH + - hostip - the ip for the device you are trying to drive. Falls back to + 169.254.0.1 which is the default ip used + - port - the port being used for WebDriver on device. defaults to 1338 + - desired_capabilities: Dictionary object with non-browser specific + capabilities only, such as "proxy" or "loggingPref". + + Note: To get blackberry-deploy you will need to install the BlackBerry + WebWorks SDK - the default install will put it in the $PATH for you. + Download at https://developer.blackberry.com/html5/downloads/ + """ + def __init__(self, device_password, bb_tools_dir=None, + hostip='169.254.0.1', port=1338, desired_capabilities={}): + remote_addr = 'http://{}:{}'.format(hostip, port) + + filename = 'blackberry-deploy' + if platform.system() == "Windows": + filename += '.bat' + + if bb_tools_dir is not None: + if os.path.isdir(bb_tools_dir): + bb_deploy_location = os.path.join(bb_tools_dir, filename) + if not os.path.isfile(bb_deploy_location): + raise WebDriverException('Invalid blackberry-deploy location: {}'.format(bb_deploy_location)) + else: + raise WebDriverException('Invalid blackberry tools location, must be a directory: {}'.format(bb_tools_dir)) + else: + bb_deploy_location = filename + + """ + Now launch the BlackBerry browser before allowing anything else to run. + """ + try: + launch_args = [bb_deploy_location, + '-launchApp', + str(hostip), + '-package-name', 'sys.browser', + '-package-id', 'gYABgJYFHAzbeFMPCCpYWBtHAm0', + '-password', str(device_password)] + + with open(os.devnull, 'w') as fp: + p = subprocess.Popen(launch_args, stdout=fp) + + returncode = p.wait() + + if returncode == 0: + # wait for the BlackBerry10 browser to load. + is_running_args = [bb_deploy_location, + '-isAppRunning', + str(hostip), + '-package-name', 'sys.browser', + '-package-id', 'gYABgJYFHAzbeFMPCCpYWBtHAm0', + '-password', str(device_password)] + + WebDriverWait(None, LOAD_TIMEOUT)\ + .until(lambda x: subprocess.check_output(is_running_args) + .find('result::true'), + message='waiting for BlackBerry10 browser to load') + + RemoteWebDriver.__init__(self, + command_executor=remote_addr, + desired_capabilities=desired_capabilities) + else: + raise WebDriverException('blackberry-deploy failed to launch browser') + except Exception as e: + raise WebDriverException('Something went wrong launching blackberry-deploy', stacktrace=getattr(e, 'stacktrace', None)) + + def quit(self): + """ + Closes the browser and shuts down the + """ + try: + RemoteWebDriver.quit(self) + except http_client.BadStatusLine: + pass diff --git a/youtube_dl/selenium/webdriver/chrome/__init__.py b/youtube_dl/selenium/webdriver/chrome/__init__.py new file mode 100644 index 000000000..a5b1e6f85 --- /dev/null +++ b/youtube_dl/selenium/webdriver/chrome/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/youtube_dl/selenium/webdriver/chrome/options.py b/youtube_dl/selenium/webdriver/chrome/options.py new file mode 100644 index 000000000..33bd38864 --- /dev/null +++ b/youtube_dl/selenium/webdriver/chrome/options.py @@ -0,0 +1,192 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +import base64 +import os + +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities + + +class Options(object): + KEY = "goog:chromeOptions" + + def __init__(self): + self._binary_location = '' + self._arguments = [] + self._extension_files = [] + self._extensions = [] + self._experimental_options = {} + self._debugger_address = None + + @property + def binary_location(self): + """ + Returns the location of the binary otherwise an empty string + """ + return self._binary_location + + @binary_location.setter + def binary_location(self, value): + """ + Allows you to set where the chromium binary lives + + :Args: + - value: path to the Chromium binary + """ + self._binary_location = value + + @property + def debugger_address(self): + """ + Returns the address of the remote devtools instance + """ + return self._debugger_address + + @debugger_address.setter + def debugger_address(self, value): + """ + Allows you to set the address of the remote devtools instance + that the ChromeDriver instance will try to connect to during an + active wait. + + :Args: + - value: address of remote devtools instance if any (hostname[:port]) + """ + self._debugger_address = value + + @property + def arguments(self): + """ + Returns a list of arguments needed for the browser + """ + return self._arguments + + def add_argument(self, argument): + """ + Adds an argument to the list + + :Args: + - Sets the arguments + """ + if argument: + self._arguments.append(argument) + else: + raise ValueError("argument can not be null") + + @property + def extensions(self): + """ + Returns a list of encoded extensions that will be loaded into chrome + + """ + encoded_extensions = [] + for ext in self._extension_files: + file_ = open(ext, 'rb') + # Should not use base64.encodestring() which inserts newlines every + # 76 characters (per RFC 1521). Chromedriver has to remove those + # unnecessary newlines before decoding, causing performance hit. + encoded_extensions.append(base64.b64encode(file_.read()).decode('UTF-8')) + + file_.close() + return encoded_extensions + self._extensions + + def add_extension(self, extension): + """ + Adds the path to the extension to a list that will be used to extract it + to the ChromeDriver + + :Args: + - extension: path to the \*.crx file + """ + if extension: + extension_to_add = os.path.abspath(os.path.expanduser(extension)) + if os.path.exists(extension_to_add): + self._extension_files.append(extension_to_add) + else: + raise IOError("Path to the extension doesn't exist") + else: + raise ValueError("argument can not be null") + + def add_encoded_extension(self, extension): + """ + Adds Base64 encoded string with extension data to a list that will be used to extract it + to the ChromeDriver + + :Args: + - extension: Base64 encoded string with extension data + """ + if extension: + self._extensions.append(extension) + else: + raise ValueError("argument can not be null") + + @property + def experimental_options(self): + """ + Returns a dictionary of experimental options for chrome. + """ + return self._experimental_options + + def add_experimental_option(self, name, value): + """ + Adds an experimental option which is passed to chrome. + + Args: + name: The experimental option name. + value: The option value. + """ + self._experimental_options[name] = value + + @property + def headless(self): + """ + Returns whether or not the headless argument is set + """ + return '--headless' in self._arguments + + def set_headless(self, headless=True): + """ + Sets the headless argument + + Args: + headless: boolean value indicating to set the headless option + """ + args = {'--headless', '--disable-gpu'} + if headless: + self._arguments.extend(args) + else: + self._arguments = list(set(self._arguments) - args) + + def to_capabilities(self): + """ + Creates a capabilities with all the options that have been set and + + returns a dictionary with everything + """ + chrome = DesiredCapabilities.CHROME.copy() + + chrome_options = self.experimental_options.copy() + chrome_options["extensions"] = self.extensions + if self.binary_location: + chrome_options["binary"] = self.binary_location + chrome_options["args"] = self.arguments + if self.debugger_address: + chrome_options["debuggerAddress"] = self.debugger_address + + chrome[self.KEY] = chrome_options + + return chrome diff --git a/youtube_dl/selenium/webdriver/chrome/remote_connection.py b/youtube_dl/selenium/webdriver/chrome/remote_connection.py new file mode 100644 index 000000000..42adac3cb --- /dev/null +++ b/youtube_dl/selenium/webdriver/chrome/remote_connection.py @@ -0,0 +1,27 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.webdriver.remote.remote_connection import RemoteConnection + + +class ChromeRemoteConnection(RemoteConnection): + + def __init__(self, remote_server_addr, keep_alive=True): + RemoteConnection.__init__(self, remote_server_addr, keep_alive) + self._commands["launchApp"] = ('POST', '/session/$sessionId/chromium/launch_app') + self._commands["setNetworkConditions"] = ('POST', '/session/$sessionId/chromium/network_conditions') + self._commands["getNetworkConditions"] = ('GET', '/session/$sessionId/chromium/network_conditions') diff --git a/youtube_dl/selenium/webdriver/chrome/service.py b/youtube_dl/selenium/webdriver/chrome/service.py new file mode 100644 index 000000000..5a67b2cb5 --- /dev/null +++ b/youtube_dl/selenium/webdriver/chrome/service.py @@ -0,0 +1,45 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.webdriver.common import service + + +class Service(service.Service): + """ + Object that manages the starting and stopping of the ChromeDriver + """ + + def __init__(self, executable_path, port=0, service_args=None, + log_path=None, env=None): + """ + Creates a new instance of the Service + + :Args: + - executable_path : Path to the ChromeDriver + - port : Port the service is running on + - service_args : List of args to pass to the chromedriver service + - log_path : Path for the chromedriver service to log to""" + + self.service_args = service_args or [] + if log_path: + self.service_args.append('--log-path=%s' % log_path) + + service.Service.__init__(self, executable_path, port=port, env=env, + start_error_message="Please see https://sites.google.com/a/chromium.org/chromedriver/home") + + def command_line_args(self): + return ["--port=%d" % self.port] + self.service_args diff --git a/youtube_dl/selenium/webdriver/chrome/webdriver.py b/youtube_dl/selenium/webdriver/chrome/webdriver.py new file mode 100644 index 000000000..02533400b --- /dev/null +++ b/youtube_dl/selenium/webdriver/chrome/webdriver.py @@ -0,0 +1,132 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +import warnings + +from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver +from .remote_connection import ChromeRemoteConnection +from .service import Service +from .options import Options + + +class WebDriver(RemoteWebDriver): + """ + Controls the ChromeDriver and allows you to drive the browser. + + You will need to download the ChromeDriver executable from + http://chromedriver.storage.googleapis.com/index.html + """ + + def __init__(self, executable_path="chromedriver", port=0, + options=None, service_args=None, + desired_capabilities=None, service_log_path=None, + chrome_options=None): + """ + Creates a new instance of the chrome driver. + + Starts the service and then creates new instance of chrome driver. + + :Args: + - executable_path - path to the executable. If the default is used it assumes the executable is in the $PATH + - port - port you would like the service to run, if left as 0, a free port will be found. + - desired_capabilities: Dictionary object with non-browser specific + capabilities only, such as "proxy" or "loggingPref". + - options: this takes an instance of ChromeOptions + """ + if chrome_options: + warnings.warn('use options instead of chrome_options', DeprecationWarning) + options = chrome_options + + if options is None: + # desired_capabilities stays as passed in + if desired_capabilities is None: + desired_capabilities = self.create_options().to_capabilities() + else: + if desired_capabilities is None: + desired_capabilities = options.to_capabilities() + else: + desired_capabilities.update(options.to_capabilities()) + + self.service = Service( + executable_path, + port=port, + service_args=service_args, + log_path=service_log_path) + self.service.start() + + try: + RemoteWebDriver.__init__( + self, + command_executor=ChromeRemoteConnection( + remote_server_addr=self.service.service_url), + desired_capabilities=desired_capabilities) + except Exception: + self.quit() + raise + self._is_remote = False + + def launch_app(self, id): + """Launches Chrome app specified by id.""" + return self.execute("launchApp", {'id': id}) + + def get_network_conditions(self): + """ + Gets Chrome network emulation settings. + + :Returns: + A dict. For example: + + {'latency': 4, 'download_throughput': 2, 'upload_throughput': 2, + 'offline': False} + + """ + return self.execute("getNetworkConditions")['value'] + + def set_network_conditions(self, **network_conditions): + """ + Sets Chrome network emulation settings. + + :Args: + - network_conditions: A dict with conditions specification. + + :Usage: + driver.set_network_conditions( + offline=False, + latency=5, # additional latency (ms) + download_throughput=500 * 1024, # maximal throughput + upload_throughput=500 * 1024) # maximal throughput + + Note: 'throughput' can be used to set both (for download and upload). + """ + self.execute("setNetworkConditions", { + 'network_conditions': network_conditions + }) + + def quit(self): + """ + Closes the browser and shuts down the ChromeDriver executable + that is started when starting the ChromeDriver + """ + try: + RemoteWebDriver.quit(self) + except Exception: + # We don't care about the message because something probably has gone wrong + pass + finally: + self.service.stop() + + def create_options(self): + return Options() diff --git a/youtube_dl/selenium/webdriver/common/__init__.py b/youtube_dl/selenium/webdriver/common/__init__.py new file mode 100644 index 000000000..a5b1e6f85 --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/youtube_dl/selenium/webdriver/common/action_chains.py b/youtube_dl/selenium/webdriver/common/action_chains.py new file mode 100644 index 000000000..4ed297e0f --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/action_chains.py @@ -0,0 +1,378 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +""" +The ActionChains implementation, +""" + +import time + +from selenium.webdriver.remote.command import Command + +from .utils import keys_to_typing +from .actions.action_builder import ActionBuilder + + +class ActionChains(object): + """ + ActionChains are a way to automate low level interactions such as + mouse movements, mouse button actions, key press, and context menu interactions. + This is useful for doing more complex actions like hover over and drag and drop. + + Generate user actions. + When you call methods for actions on the ActionChains object, + the actions are stored in a queue in the ActionChains object. + When you call perform(), the events are fired in the order they + are queued up. + + ActionChains can be used in a chain pattern:: + + menu = driver.find_element_by_css_selector(".nav") + hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1") + + ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform() + + Or actions can be queued up one by one, then performed.:: + + menu = driver.find_element_by_css_selector(".nav") + hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1") + + actions = ActionChains(driver) + actions.move_to_element(menu) + actions.click(hidden_submenu) + actions.perform() + + Either way, the actions are performed in the order they are called, one after + another. + """ + + def __init__(self, driver): + """ + Creates a new ActionChains. + + :Args: + - driver: The WebDriver instance which performs user actions. + """ + self._driver = driver + self._actions = [] + if self._driver.w3c: + self.w3c_actions = ActionBuilder(driver) + + def perform(self): + """ + Performs all stored actions. + """ + if self._driver.w3c: + self.w3c_actions.perform() + else: + for action in self._actions: + action() + + def reset_actions(self): + """ + Clears actions that are already stored on the remote end. + """ + if self._driver.w3c: + self._driver.execute(Command.W3C_CLEAR_ACTIONS) + else: + self._actions = [] + + def click(self, on_element=None): + """ + Clicks an element. + + :Args: + - on_element: The element to click. + If None, clicks on current mouse position. + """ + if self._driver.w3c: + self.w3c_actions.pointer_action.click(on_element) + self.w3c_actions.key_action.pause() + self.w3c_actions.key_action.pause() + else: + if on_element: + self.move_to_element(on_element) + self._actions.append(lambda: self._driver.execute( + Command.CLICK, {'button': 0})) + return self + + def click_and_hold(self, on_element=None): + """ + Holds down the left mouse button on an element. + + :Args: + - on_element: The element to mouse down. + If None, clicks on current mouse position. + """ + if self._driver.w3c: + self.w3c_actions.pointer_action.click_and_hold(on_element) + self.w3c_actions.key_action.pause() + if on_element: + self.w3c_actions.key_action.pause() + else: + if on_element: + self.move_to_element(on_element) + self._actions.append(lambda: self._driver.execute( + Command.MOUSE_DOWN, {})) + return self + + def context_click(self, on_element=None): + """ + Performs a context-click (right click) on an element. + + :Args: + - on_element: The element to context-click. + If None, clicks on current mouse position. + """ + if self._driver.w3c: + self.w3c_actions.pointer_action.context_click(on_element) + self.w3c_actions.key_action.pause() + else: + if on_element: + self.move_to_element(on_element) + self._actions.append(lambda: self._driver.execute( + Command.CLICK, {'button': 2})) + return self + + def double_click(self, on_element=None): + """ + Double-clicks an element. + + :Args: + - on_element: The element to double-click. + If None, clicks on current mouse position. + """ + if self._driver.w3c: + self.w3c_actions.pointer_action.double_click(on_element) + for _ in range(4): + self.w3c_actions.key_action.pause() + else: + if on_element: + self.move_to_element(on_element) + self._actions.append(lambda: self._driver.execute( + Command.DOUBLE_CLICK, {})) + return self + + def drag_and_drop(self, source, target): + """ + Holds down the left mouse button on the source element, + then moves to the target element and releases the mouse button. + + :Args: + - source: The element to mouse down. + - target: The element to mouse up. + """ + if self._driver.w3c: + self.w3c_actions.pointer_action.click_and_hold(source) \ + .move_to(target) \ + .release() + for _ in range(3): + self.w3c_actions.key_action.pause() + else: + self.click_and_hold(source) + self.release(target) + return self + + def drag_and_drop_by_offset(self, source, xoffset, yoffset): + """ + Holds down the left mouse button on the source element, + then moves to the target offset and releases the mouse button. + + :Args: + - source: The element to mouse down. + - xoffset: X offset to move to. + - yoffset: Y offset to move to. + """ + if self._driver.w3c: + self.w3c_actions.pointer_action.click_and_hold(source) \ + .move_to_location(xoffset, yoffset) \ + .release() + for _ in range(3): + self.w3c_actions.key_action.pause() + else: + self.click_and_hold(source) + self.move_by_offset(xoffset, yoffset) + self.release() + return self + + def key_down(self, value, element=None): + """ + Sends a key press only, without releasing it. + Should only be used with modifier keys (Control, Alt and Shift). + + :Args: + - value: The modifier key to send. Values are defined in `Keys` class. + - element: The element to send keys. + If None, sends a key to current focused element. + + Example, pressing ctrl+c:: + + ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform() + + """ + if element: + self.click(element) + if self._driver.w3c: + self.w3c_actions.key_action.key_down(value) + self.w3c_actions.pointer_action.pause() + else: + self._actions.append(lambda: self._driver.execute( + Command.SEND_KEYS_TO_ACTIVE_ELEMENT, + {"value": keys_to_typing(value)})) + return self + + def key_up(self, value, element=None): + """ + Releases a modifier key. + + :Args: + - value: The modifier key to send. Values are defined in Keys class. + - element: The element to send keys. + If None, sends a key to current focused element. + + Example, pressing ctrl+c:: + + ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform() + + """ + if element: + self.click(element) + if self._driver.w3c: + self.w3c_actions.key_action.key_up(value) + self.w3c_actions.pointer_action.pause() + else: + self._actions.append(lambda: self._driver.execute( + Command.SEND_KEYS_TO_ACTIVE_ELEMENT, + {"value": keys_to_typing(value)})) + return self + + def move_by_offset(self, xoffset, yoffset): + """ + Moving the mouse to an offset from current mouse position. + + :Args: + - xoffset: X offset to move to, as a positive or negative integer. + - yoffset: Y offset to move to, as a positive or negative integer. + """ + if self._driver.w3c: + self.w3c_actions.pointer_action.move_by(xoffset, yoffset) + self.w3c_actions.key_action.pause() + else: + self._actions.append(lambda: self._driver.execute( + Command.MOVE_TO, { + 'xoffset': int(xoffset), + 'yoffset': int(yoffset)})) + return self + + def move_to_element(self, to_element): + """ + Moving the mouse to the middle of an element. + + :Args: + - to_element: The WebElement to move to. + """ + if self._driver.w3c: + self.w3c_actions.pointer_action.move_to(to_element) + self.w3c_actions.key_action.pause() + else: + self._actions.append(lambda: self._driver.execute( + Command.MOVE_TO, {'element': to_element.id})) + return self + + def move_to_element_with_offset(self, to_element, xoffset, yoffset): + """ + Move the mouse by an offset of the specified element. + Offsets are relative to the top-left corner of the element. + + :Args: + - to_element: The WebElement to move to. + - xoffset: X offset to move to. + - yoffset: Y offset to move to. + """ + if self._driver.w3c: + self.w3c_actions.pointer_action.move_to(to_element, xoffset, yoffset) + self.w3c_actions.key_action.pause() + else: + self._actions.append( + lambda: self._driver.execute(Command.MOVE_TO, { + 'element': to_element.id, + 'xoffset': int(xoffset), + 'yoffset': int(yoffset)})) + return self + + def pause(self, seconds): + """ Pause all inputs for the specified duration in seconds """ + if self._driver.w3c: + self.w3c_actions.pointer_action.pause(seconds) + self.w3c_actions.key_action.pause(seconds) + else: + self._actions.append(lambda: time.sleep(seconds)) + return self + + def release(self, on_element=None): + """ + Releasing a held mouse button on an element. + + :Args: + - on_element: The element to mouse up. + If None, releases on current mouse position. + """ + if on_element: + self.move_to_element(on_element) + if self._driver.w3c: + self.w3c_actions.pointer_action.release() + self.w3c_actions.key_action.pause() + else: + self._actions.append(lambda: self._driver.execute(Command.MOUSE_UP, {})) + return self + + def send_keys(self, *keys_to_send): + """ + Sends keys to current focused element. + + :Args: + - keys_to_send: The keys to send. Modifier keys constants can be found in the + 'Keys' class. + """ + if self._driver.w3c: + self.w3c_actions.key_action.send_keys(keys_to_send) + else: + self._actions.append(lambda: self._driver.execute( + Command.SEND_KEYS_TO_ACTIVE_ELEMENT, {'value': keys_to_typing(keys_to_send)})) + return self + + def send_keys_to_element(self, element, *keys_to_send): + """ + Sends keys to an element. + + :Args: + - element: The element to send keys. + - keys_to_send: The keys to send. Modifier keys constants can be found in the + 'Keys' class. + """ + if self._driver.w3c: + self.w3c_actions.key_action.send_keys(keys_to_send, element=element) + else: + self._actions.append(lambda: element.send_keys(*keys_to_send)) + return self + + # Context manager so ActionChains can be used in a 'with .. as' statements. + def __enter__(self): + return self # Return created instance of self. + + def __exit__(self, _type, _value, _traceback): + pass # Do nothing, does not require additional cleanup. diff --git a/youtube_dl/selenium/webdriver/common/actions/__init__.py b/youtube_dl/selenium/webdriver/common/actions/__init__.py new file mode 100644 index 000000000..a5b1e6f85 --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/actions/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/youtube_dl/selenium/webdriver/common/actions/action_builder.py b/youtube_dl/selenium/webdriver/common/actions/action_builder.py new file mode 100644 index 000000000..18b2dee4c --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/actions/action_builder.py @@ -0,0 +1,82 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.webdriver.remote.command import Command +from . import interaction +from .key_actions import KeyActions +from .key_input import KeyInput +from .pointer_actions import PointerActions +from .pointer_input import PointerInput + + +class ActionBuilder(object): + def __init__(self, driver, mouse=None, keyboard=None): + if mouse is None: + mouse = PointerInput(interaction.POINTER, "mouse") + if keyboard is None: + keyboard = KeyInput(interaction.KEY) + self.devices = [mouse, keyboard] + self._key_action = KeyActions(keyboard) + self._pointer_action = PointerActions(mouse) + self.driver = driver + + def get_device_with(self, name): + try: + idx = self.devices.index(name) + return self.devices[idx] + except: + pass + + @property + def pointer_inputs(self): + return [device for device in self.devices if device.type == interaction.POINTER] + + @property + def key_inputs(self): + return [device for device in self.devices if device.type == interaction.KEY] + + @property + def key_action(self): + return self._key_action + + @property + def pointer_action(self): + return self._pointer_action + + def add_key_input(self, name): + new_input = KeyInput(name) + self._add_input(new_input) + return new_input + + def add_pointer_input(self, type_, name): + new_input = PointerInput(type_, name) + self._add_input(new_input) + return new_input + + def perform(self): + enc = {"actions": []} + for device in self.devices: + encoded = device.encode() + if encoded['actions']: + enc["actions"].append(encoded) + self.driver.execute(Command.W3C_ACTIONS, enc) + + def clear_actions(self): + self.driver.execute(Command.W3C_CLEAR_ACTIONS) + + def _add_input(self, input): + self.devices.append(input) diff --git a/youtube_dl/selenium/webdriver/common/actions/input_device.py b/youtube_dl/selenium/webdriver/common/actions/input_device.py new file mode 100644 index 000000000..984ef3100 --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/actions/input_device.py @@ -0,0 +1,43 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +import uuid + + +class InputDevice(object): + """ + Describes the input device being used for the action. + """ + def __init__(self, name=None): + if name is None: + self.name = uuid.uuid4() + else: + self.name = name + + self.actions = [] + + def add_action(self, action): + """ + + """ + self.actions.append(action) + + def clear_actions(self): + self.actions = [] + + def create_pause(self, duraton=0): + pass diff --git a/youtube_dl/selenium/webdriver/common/actions/interaction.py b/youtube_dl/selenium/webdriver/common/actions/interaction.py new file mode 100644 index 000000000..3c808941c --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/actions/interaction.py @@ -0,0 +1,43 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + + +KEY = "key" +POINTER = "pointer" +NONE = "none" +SOURCE_TYPES = set([KEY, POINTER, NONE]) + + +class Interaction(object): + + PAUSE = "pause" + + def __init__(self, source): + self.source = source + + +class Pause(Interaction): + + def __init__(self, source, duration=0): + super(Interaction, self).__init__() + self.source = source + self.duration = duration + + def encode(self): + output = {"type": self.PAUSE} + output["duration"] = self.duration * 1000 + return output diff --git a/youtube_dl/selenium/webdriver/common/actions/key_actions.py b/youtube_dl/selenium/webdriver/common/actions/key_actions.py new file mode 100644 index 000000000..f0c749283 --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/actions/key_actions.py @@ -0,0 +1,52 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +from .interaction import Interaction +from .key_input import KeyInput +from ..utils import keys_to_typing + + +class KeyActions(Interaction): + + def __init__(self, source=None): + if source is None: + source = KeyInput() + self.source = source + super(KeyActions, self).__init__(source) + + def key_down(self, letter, element=None): + return self._key_action("create_key_down", + letter, element) + + def key_up(self, letter, element=None): + return self._key_action("create_key_up", + letter, element) + + def pause(self, duration=0): + return self._key_action("create_pause", duration) + + def send_keys(self, text, element=None): + if not isinstance(text, list): + text = keys_to_typing(text) + for letter in text: + self.key_down(letter, element) + self.key_up(letter, element) + return self + + def _key_action(self, action, letter, element=None): + meth = getattr(self.source, action) + meth(letter) + return self diff --git a/youtube_dl/selenium/webdriver/common/actions/key_input.py b/youtube_dl/selenium/webdriver/common/actions/key_input.py new file mode 100644 index 000000000..f392c6bc6 --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/actions/key_input.py @@ -0,0 +1,51 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +from . import interaction + +from .input_device import InputDevice +from .interaction import (Interaction, + Pause) + + +class KeyInput(InputDevice): + def __init__(self, name): + super(KeyInput, self).__init__() + self.name = name + self.type = interaction.KEY + + def encode(self): + return {"type": self.type, "id": self.name, "actions": [acts.encode() for acts in self.actions]} + + def create_key_down(self, key): + self.add_action(TypingInteraction(self, "keyDown", key)) + + def create_key_up(self, key): + self.add_action(TypingInteraction(self, "keyUp", key)) + + def create_pause(self, pause_duration=0): + self.add_action(Pause(self, pause_duration)) + + +class TypingInteraction(Interaction): + + def __init__(self, source, type_, key): + super(TypingInteraction, self).__init__(source) + self.type = type_ + self.key = key + + def encode(self): + return {"type": self.type, "value": self.key} diff --git a/youtube_dl/selenium/webdriver/common/actions/mouse_button.py b/youtube_dl/selenium/webdriver/common/actions/mouse_button.py new file mode 100644 index 000000000..7261fd821 --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/actions/mouse_button.py @@ -0,0 +1,5 @@ +class MouseButton(object): + + LEFT = 0 + MIDDLE = 1 + RIGHT = 2 diff --git a/youtube_dl/selenium/webdriver/common/actions/pointer_actions.py b/youtube_dl/selenium/webdriver/common/actions/pointer_actions.py new file mode 100644 index 000000000..d3ca19be6 --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/actions/pointer_actions.py @@ -0,0 +1,100 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +from . import interaction + +from .interaction import Interaction +from .mouse_button import MouseButton +from .pointer_input import PointerInput + +from selenium.webdriver.remote.webelement import WebElement + + +class PointerActions(Interaction): + + def __init__(self, source=None): + if source is None: + source = PointerInput(interaction.POINTER, "mouse") + self.source = source + super(PointerActions, self).__init__(source) + + def pointer_down(self, button=MouseButton.LEFT): + self._button_action("create_pointer_down", button=button) + + def pointer_up(self, button=MouseButton.LEFT): + self._button_action("create_pointer_up", button=button) + + def move_to(self, element, x=None, y=None): + if not isinstance(element, WebElement): + raise AttributeError("move_to requires a WebElement") + if x is not None or y is not None: + el_rect = element.rect + left_offset = el_rect['width'] / 2 + top_offset = el_rect['height'] / 2 + left = -left_offset + (x or 0) + top = -top_offset + (y or 0) + else: + left = 0 + top = 0 + self.source.create_pointer_move(origin=element, x=int(left), y=int(top)) + return self + + def move_by(self, x, y): + self.source.create_pointer_move(origin=interaction.POINTER, x=int(x), y=int(y)) + return self + + def move_to_location(self, x, y): + self.source.create_pointer_move(origin='viewport', x=int(x), y=int(y)) + return self + + def click(self, element=None): + if element: + self.move_to(element) + self.pointer_down(MouseButton.LEFT) + self.pointer_up(MouseButton.LEFT) + return self + + def context_click(self, element=None): + if element: + self.move_to(element) + self.pointer_down(MouseButton.RIGHT) + self.pointer_up(MouseButton.RIGHT) + return self + + def click_and_hold(self, element=None): + if element: + self.move_to(element) + self.pointer_down() + return self + + def release(self): + self.pointer_up() + return self + + def double_click(self, element=None): + if element: + self.move_to(element) + self.click() + self.click() + + def pause(self, duration=0): + self.source.create_pause(duration) + return self + + def _button_action(self, action, button=MouseButton.LEFT): + meth = getattr(self.source, action) + meth(button) + return self diff --git a/youtube_dl/selenium/webdriver/common/actions/pointer_input.py b/youtube_dl/selenium/webdriver/common/actions/pointer_input.py new file mode 100644 index 000000000..724ee5a4e --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/actions/pointer_input.py @@ -0,0 +1,58 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +from .input_device import InputDevice + +from selenium.webdriver.remote.webelement import WebElement + + +class PointerInput(InputDevice): + + DEFAULT_MOVE_DURATION = 250 + + def __init__(self, type_, name): + super(PointerInput, self).__init__() + self.type = type_ + self.name = name + + def create_pointer_move(self, duration=DEFAULT_MOVE_DURATION, x=None, y=None, origin=None): + action = dict(type="pointerMove", duration=duration) + action["x"] = x + action["y"] = y + if isinstance(origin, WebElement): + action["origin"] = {"element-6066-11e4-a52e-4f735466cecf": origin.id} + elif origin is not None: + action["origin"] = origin + + self.add_action(action) + + def create_pointer_down(self, button): + self.add_action({"type": "pointerDown", "duration": 0, "button": button}) + + def create_pointer_up(self, button): + self.add_action({"type": "pointerUp", "duration": 0, "button": button}) + + def create_pointer_cancel(self): + self.add_action({"type": "pointerCancel"}) + + def create_pause(self, pause_duration): + self.add_action({"type": "pause", "duration": pause_duration * 1000}) + + def encode(self): + return {"type": self.type, + "parameters": {"pointerType": self.name}, + "id": self.name, + "actions": [acts for acts in self.actions]} diff --git a/youtube_dl/selenium/webdriver/common/alert.py b/youtube_dl/selenium/webdriver/common/alert.py new file mode 100644 index 000000000..c37fdee7d --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/alert.py @@ -0,0 +1,122 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +""" +The Alert implementation. +""" + +from selenium.webdriver.common.utils import keys_to_typing +from selenium.webdriver.remote.command import Command + + +class Alert(object): + """ + Allows to work with alerts. + + Use this class to interact with alert prompts. It contains methods for dismissing, + accepting, inputting, and getting text from alert prompts. + + Accepting / Dismissing alert prompts:: + + Alert(driver).accept() + Alert(driver).dismiss() + + Inputting a value into an alert prompt: + + name_prompt = Alert(driver) + name_prompt.send_keys("Willian Shakesphere") + name_prompt.accept() + + + Reading a the text of a prompt for verification: + + alert_text = Alert(driver).text + self.assertEqual("Do you wish to quit?", alert_text) + + """ + + def __init__(self, driver): + """ + Creates a new Alert. + + :Args: + - driver: The WebDriver instance which performs user actions. + """ + self.driver = driver + + @property + def text(self): + """ + Gets the text of the Alert. + """ + if self.driver.w3c: + return self.driver.execute(Command.W3C_GET_ALERT_TEXT)["value"] + else: + return self.driver.execute(Command.GET_ALERT_TEXT)["value"] + + def dismiss(self): + """ + Dismisses the alert available. + """ + if self.driver.w3c: + self.driver.execute(Command.W3C_DISMISS_ALERT) + else: + self.driver.execute(Command.DISMISS_ALERT) + + def accept(self): + """ + Accepts the alert available. + + Usage:: + Alert(driver).accept() # Confirm a alert dialog. + """ + if self.driver.w3c: + self.driver.execute(Command.W3C_ACCEPT_ALERT) + else: + self.driver.execute(Command.ACCEPT_ALERT) + + def send_keys(self, keysToSend): + """ + Send Keys to the Alert. + + :Args: + - keysToSend: The text to be sent to Alert. + + + """ + if self.driver.w3c: + self.driver.execute(Command.W3C_SET_ALERT_VALUE, {'value': keys_to_typing(keysToSend), + 'text': keysToSend}) + else: + self.driver.execute(Command.SET_ALERT_VALUE, {'text': keysToSend}) + + def authenticate(self, username, password): + """ + Send the username / password to an Authenticated dialog (like with Basic HTTP Auth). + Implicitly 'clicks ok' + + Usage:: + driver.switch_to.alert.authenticate('cheese', 'secretGouda') + + :Args: + -username: string to be set in the username section of the dialog + -password: string to be set in the password section of the dialog + """ + self.driver.execute( + Command.SET_ALERT_CREDENTIALS, + {'username': username, 'password': password}) + self.accept() diff --git a/youtube_dl/selenium/webdriver/common/by.py b/youtube_dl/selenium/webdriver/common/by.py new file mode 100644 index 000000000..7b1228d2a --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/by.py @@ -0,0 +1,35 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +""" +The By implementation. +""" + + +class By(object): + """ + Set of supported locator strategies. + """ + + ID = "id" + XPATH = "xpath" + LINK_TEXT = "link text" + PARTIAL_LINK_TEXT = "partial link text" + NAME = "name" + TAG_NAME = "tag name" + CLASS_NAME = "class name" + CSS_SELECTOR = "css selector" diff --git a/youtube_dl/selenium/webdriver/common/desired_capabilities.py b/youtube_dl/selenium/webdriver/common/desired_capabilities.py new file mode 100644 index 000000000..a1d09a557 --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/desired_capabilities.py @@ -0,0 +1,128 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +""" +The Desired Capabilities implementation. +""" + + +class DesiredCapabilities(object): + """ + Set of default supported desired capabilities. + + Use this as a starting point for creating a desired capabilities object for + requesting remote webdrivers for connecting to selenium server or selenium grid. + + Usage Example:: + + from selenium import webdriver + + selenium_grid_url = "http://198.0.0.1:4444/wd/hub" + + # Create a desired capabilities object as a starting point. + capabilities = DesiredCapabilities.FIREFOX.copy() + capabilities['platform'] = "WINDOWS" + capabilities['version'] = "10" + + # Instantiate an instance of Remote WebDriver with the desired capabilities. + driver = webdriver.Remote(desired_capabilities=capabilities, + command_executor=selenium_grid_url) + + Note: Always use '.copy()' on the DesiredCapabilities object to avoid the side + effects of altering the Global class instance. + + """ + + FIREFOX = { + "browserName": "firefox", + "marionette": True, + "acceptInsecureCerts": True, + } + + INTERNETEXPLORER = { + "browserName": "internet explorer", + "version": "", + "platform": "WINDOWS", + } + + EDGE = { + "browserName": "MicrosoftEdge", + "version": "", + "platform": "WINDOWS" + } + + CHROME = { + "browserName": "chrome", + "version": "", + "platform": "ANY", + } + + OPERA = { + "browserName": "opera", + "version": "", + "platform": "ANY", + } + + SAFARI = { + "browserName": "safari", + "version": "", + "platform": "MAC", + } + + HTMLUNIT = { + "browserName": "htmlunit", + "version": "", + "platform": "ANY", + } + + HTMLUNITWITHJS = { + "browserName": "htmlunit", + "version": "firefox", + "platform": "ANY", + "javascriptEnabled": True, + } + + IPHONE = { + "browserName": "iPhone", + "version": "", + "platform": "MAC", + } + + IPAD = { + "browserName": "iPad", + "version": "", + "platform": "MAC", + } + + ANDROID = { + "browserName": "android", + "version": "", + "platform": "ANDROID", + } + + PHANTOMJS = { + "browserName": "phantomjs", + "version": "", + "platform": "ANY", + "javascriptEnabled": True, + } + + WEBKITGTK = { + "browserName": "MiniBrowser", + "version": "", + "platform": "ANY", + } diff --git a/youtube_dl/selenium/webdriver/common/html5/__init__.py b/youtube_dl/selenium/webdriver/common/html5/__init__.py new file mode 100644 index 000000000..a5b1e6f85 --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/html5/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/youtube_dl/selenium/webdriver/common/html5/application_cache.py b/youtube_dl/selenium/webdriver/common/html5/application_cache.py new file mode 100644 index 000000000..ecfe5e10d --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/html5/application_cache.py @@ -0,0 +1,48 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +""" +The ApplicationCache implementaion. +""" + +from selenium.webdriver.remote.command import Command + + +class ApplicationCache(object): + + UNCACHED = 0 + IDLE = 1 + CHECKING = 2 + DOWNLOADING = 3 + UPDATE_READY = 4 + OBSOLETE = 5 + + def __init__(self, driver): + """ + Creates a new Aplication Cache. + + :Args: + - driver: The WebDriver instance which performs user actions. + """ + self.driver = driver + + @property + def status(self): + """ + Returns a current status of application cache. + """ + return self.driver.execute(Command.GET_APP_CACHE_STATUS)['value'] diff --git a/youtube_dl/selenium/webdriver/common/keys.py b/youtube_dl/selenium/webdriver/common/keys.py new file mode 100644 index 000000000..cd3bb76c7 --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/keys.py @@ -0,0 +1,96 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +""" +The Keys implementation. +""" + +from __future__ import unicode_literals + + +class Keys(object): + """ + Set of special keys codes. + """ + + NULL = '\ue000' + CANCEL = '\ue001' # ^break + HELP = '\ue002' + BACKSPACE = '\ue003' + BACK_SPACE = BACKSPACE + TAB = '\ue004' + CLEAR = '\ue005' + RETURN = '\ue006' + ENTER = '\ue007' + SHIFT = '\ue008' + LEFT_SHIFT = SHIFT + CONTROL = '\ue009' + LEFT_CONTROL = CONTROL + ALT = '\ue00a' + LEFT_ALT = ALT + PAUSE = '\ue00b' + ESCAPE = '\ue00c' + SPACE = '\ue00d' + PAGE_UP = '\ue00e' + PAGE_DOWN = '\ue00f' + END = '\ue010' + HOME = '\ue011' + LEFT = '\ue012' + ARROW_LEFT = LEFT + UP = '\ue013' + ARROW_UP = UP + RIGHT = '\ue014' + ARROW_RIGHT = RIGHT + DOWN = '\ue015' + ARROW_DOWN = DOWN + INSERT = '\ue016' + DELETE = '\ue017' + SEMICOLON = '\ue018' + EQUALS = '\ue019' + + NUMPAD0 = '\ue01a' # number pad keys + NUMPAD1 = '\ue01b' + NUMPAD2 = '\ue01c' + NUMPAD3 = '\ue01d' + NUMPAD4 = '\ue01e' + NUMPAD5 = '\ue01f' + NUMPAD6 = '\ue020' + NUMPAD7 = '\ue021' + NUMPAD8 = '\ue022' + NUMPAD9 = '\ue023' + MULTIPLY = '\ue024' + ADD = '\ue025' + SEPARATOR = '\ue026' + SUBTRACT = '\ue027' + DECIMAL = '\ue028' + DIVIDE = '\ue029' + + F1 = '\ue031' # function keys + F2 = '\ue032' + F3 = '\ue033' + F4 = '\ue034' + F5 = '\ue035' + F6 = '\ue036' + F7 = '\ue037' + F8 = '\ue038' + F9 = '\ue039' + F10 = '\ue03a' + F11 = '\ue03b' + F12 = '\ue03c' + + META = '\ue03d' + COMMAND = '\ue03d' diff --git a/youtube_dl/selenium/webdriver/common/proxy.py b/youtube_dl/selenium/webdriver/common/proxy.py new file mode 100644 index 000000000..ccd362af6 --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/proxy.py @@ -0,0 +1,334 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +""" +The Proxy implementation. +""" + + +class ProxyTypeFactory: + """ + Factory for proxy types. + """ + + @staticmethod + def make(ff_value, string): + return {'ff_value': ff_value, 'string': string} + + +class ProxyType: + """ + Set of possible types of proxy. + + Each proxy type has 2 properties: + 'ff_value' is value of Firefox profile preference, + 'string' is id of proxy type. + """ + + DIRECT = ProxyTypeFactory.make(0, 'DIRECT') # Direct connection, no proxy (default on Windows). + MANUAL = ProxyTypeFactory.make(1, 'MANUAL') # Manual proxy settings (e.g., for httpProxy). + PAC = ProxyTypeFactory.make(2, 'PAC') # Proxy autoconfiguration from URL. + RESERVED_1 = ProxyTypeFactory.make(3, 'RESERVED1') # Never used. + AUTODETECT = ProxyTypeFactory.make(4, 'AUTODETECT') # Proxy autodetection (presumably with WPAD). + SYSTEM = ProxyTypeFactory.make(5, 'SYSTEM') # Use system settings (default on Linux). + UNSPECIFIED = ProxyTypeFactory.make(6, 'UNSPECIFIED') # Not initialized (for internal use). + + @classmethod + def load(cls, value): + if isinstance(value, dict) and 'string' in value: + value = value['string'] + value = str(value).upper() + for attr in dir(cls): + attr_value = getattr(cls, attr) + if isinstance(attr_value, dict) and \ + 'string' in attr_value and \ + attr_value['string'] is not None and \ + attr_value['string'] == value: + return attr_value + raise Exception("No proxy type is found for %s" % (value)) + + +class Proxy(object): + """ + Proxy contains information about proxy type and necessary proxy settings. + """ + + proxyType = ProxyType.UNSPECIFIED + autodetect = False + ftpProxy = '' + httpProxy = '' + noProxy = '' + proxyAutoconfigUrl = '' + sslProxy = '' + socksProxy = '' + socksUsername = '' + socksPassword = '' + + def __init__(self, raw=None): + """ + Creates a new Proxy. + + :Args: + - raw: raw proxy data. If None, default class values are used. + """ + if raw is not None: + if 'proxyType' in raw and raw['proxyType'] is not None: + self.proxy_type = ProxyType.load(raw['proxyType']) + if 'ftpProxy' in raw and raw['ftpProxy'] is not None: + self.ftp_proxy = raw['ftpProxy'] + if 'httpProxy' in raw and raw['httpProxy'] is not None: + self.http_proxy = raw['httpProxy'] + if 'noProxy' in raw and raw['noProxy'] is not None: + self.no_proxy = raw['noProxy'] + if 'proxyAutoconfigUrl' in raw and raw['proxyAutoconfigUrl'] is not None: + self.proxy_autoconfig_url = raw['proxyAutoconfigUrl'] + if 'sslProxy' in raw and raw['sslProxy'] is not None: + self.sslProxy = raw['sslProxy'] + if 'autodetect' in raw and raw['autodetect'] is not None: + self.auto_detect = raw['autodetect'] + if 'socksProxy' in raw and raw['socksProxy'] is not None: + self.socks_proxy = raw['socksProxy'] + if 'socksUsername' in raw and raw['socksUsername'] is not None: + self.socks_username = raw['socksUsername'] + if 'socksPassword' in raw and raw['socksPassword'] is not None: + self.socks_password = raw['socksPassword'] + + @property + def proxy_type(self): + """ + Returns proxy type as `ProxyType`. + """ + return self.proxyType + + @proxy_type.setter + def proxy_type(self, value): + """ + Sets proxy type. + + :Args: + - value: The proxy type. + """ + self._verify_proxy_type_compatibility(value) + self.proxyType = value + + @property + def auto_detect(self): + """ + Returns autodetect setting. + """ + return self.autodetect + + @auto_detect.setter + def auto_detect(self, value): + """ + Sets autodetect setting. + + :Args: + - value: The autodetect value. + """ + if isinstance(value, bool): + if self.autodetect is not value: + self._verify_proxy_type_compatibility(ProxyType.AUTODETECT) + self.proxyType = ProxyType.AUTODETECT + self.autodetect = value + else: + raise ValueError("Autodetect proxy value needs to be a boolean") + + @property + def ftp_proxy(self): + """ + Returns ftp proxy setting. + """ + return self.ftpProxy + + @ftp_proxy.setter + def ftp_proxy(self, value): + """ + Sets ftp proxy setting. + + :Args: + - value: The ftp proxy value. + """ + self._verify_proxy_type_compatibility(ProxyType.MANUAL) + self.proxyType = ProxyType.MANUAL + self.ftpProxy = value + + @property + def http_proxy(self): + """ + Returns http proxy setting. + """ + return self.httpProxy + + @http_proxy.setter + def http_proxy(self, value): + """ + Sets http proxy setting. + + :Args: + - value: The http proxy value. + """ + self._verify_proxy_type_compatibility(ProxyType.MANUAL) + self.proxyType = ProxyType.MANUAL + self.httpProxy = value + + @property + def no_proxy(self): + """ + Returns noproxy setting. + """ + return self.noProxy + + @no_proxy.setter + def no_proxy(self, value): + """ + Sets noproxy setting. + + :Args: + - value: The noproxy value. + """ + self._verify_proxy_type_compatibility(ProxyType.MANUAL) + self.proxyType = ProxyType.MANUAL + self.noProxy = value + + @property + def proxy_autoconfig_url(self): + """ + Returns proxy autoconfig url setting. + """ + return self.proxyAutoconfigUrl + + @proxy_autoconfig_url.setter + def proxy_autoconfig_url(self, value): + """ + Sets proxy autoconfig url setting. + + :Args: + - value: The proxy autoconfig url value. + """ + self._verify_proxy_type_compatibility(ProxyType.PAC) + self.proxyType = ProxyType.PAC + self.proxyAutoconfigUrl = value + + @property + def ssl_proxy(self): + """ + Returns https proxy setting. + """ + return self.sslProxy + + @ssl_proxy.setter + def ssl_proxy(self, value): + """ + Sets https proxy setting. + + :Args: + - value: The https proxy value. + """ + self._verify_proxy_type_compatibility(ProxyType.MANUAL) + self.proxyType = ProxyType.MANUAL + self.sslProxy = value + + @property + def socks_proxy(self): + """ + Returns socks proxy setting. + """ + return self.socksProxy + + @socks_proxy.setter + def socks_proxy(self, value): + """ + Sets socks proxy setting. + + :Args: + - value: The socks proxy value. + """ + self._verify_proxy_type_compatibility(ProxyType.MANUAL) + self.proxyType = ProxyType.MANUAL + self.socksProxy = value + + @property + def socks_username(self): + """ + Returns socks proxy username setting. + """ + return self.socksUsername + + @socks_username.setter + def socks_username(self, value): + """ + Sets socks proxy username setting. + + :Args: + - value: The socks proxy username value. + """ + self._verify_proxy_type_compatibility(ProxyType.MANUAL) + self.proxyType = ProxyType.MANUAL + self.socksUsername = value + + @property + def socks_password(self): + """ + Returns socks proxy password setting. + """ + return self.socksPassword + + @socks_password.setter + def socks_password(self, value): + """ + Sets socks proxy password setting. + + :Args: + - value: The socks proxy password value. + """ + self._verify_proxy_type_compatibility(ProxyType.MANUAL) + self.proxyType = ProxyType.MANUAL + self.socksPassword = value + + def _verify_proxy_type_compatibility(self, compatibleProxy): + if self.proxyType != ProxyType.UNSPECIFIED and self.proxyType != compatibleProxy: + raise Exception(" Specified proxy type (%s) not compatible with current setting (%s)" % (compatibleProxy, self.proxyType)) + + def add_to_capabilities(self, capabilities): + """ + Adds proxy information as capability in specified capabilities. + + :Args: + - capabilities: The capabilities to which proxy will be added. + """ + proxy_caps = {} + proxy_caps['proxyType'] = self.proxyType['string'] + if self.autodetect: + proxy_caps['autodetect'] = self.autodetect + if self.ftpProxy: + proxy_caps['ftpProxy'] = self.ftpProxy + if self.httpProxy: + proxy_caps['httpProxy'] = self.httpProxy + if self.proxyAutoconfigUrl: + proxy_caps['proxyAutoconfigUrl'] = self.proxyAutoconfigUrl + if self.sslProxy: + proxy_caps['sslProxy'] = self.sslProxy + if self.noProxy: + proxy_caps['noProxy'] = self.noProxy + if self.socksProxy: + proxy_caps['socksProxy'] = self.socksProxy + if self.socksUsername: + proxy_caps['socksUsername'] = self.socksUsername + if self.socksPassword: + proxy_caps['socksPassword'] = self.socksPassword + capabilities['proxy'] = proxy_caps diff --git a/youtube_dl/selenium/webdriver/common/service.py b/youtube_dl/selenium/webdriver/common/service.py new file mode 100644 index 000000000..af04a9f28 --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/service.py @@ -0,0 +1,178 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +import errno +import os +import platform +import subprocess +from subprocess import PIPE +import time +from selenium.common.exceptions import WebDriverException +from selenium.webdriver.common import utils + +try: + from subprocess import DEVNULL + _HAS_NATIVE_DEVNULL = True +except ImportError: + DEVNULL = -3 + _HAS_NATIVE_DEVNULL = False + + +class Service(object): + + def __init__(self, executable, port=0, log_file=DEVNULL, env=None, start_error_message=""): + self.path = executable + + self.port = port + if self.port == 0: + self.port = utils.free_port() + + if not _HAS_NATIVE_DEVNULL and log_file == DEVNULL: + log_file = open(os.devnull, 'wb') + + self.start_error_message = start_error_message + self.log_file = log_file + self.env = env or os.environ + + @property + def service_url(self): + """ + Gets the url of the Service + """ + return "http://%s" % utils.join_host_port('localhost', self.port) + + def command_line_args(self): + raise NotImplemented("This method needs to be implemented in a sub class") + + def start(self): + """ + Starts the Service. + + :Exceptions: + - WebDriverException : Raised either when it can't start the service + or when it can't connect to the service + """ + try: + cmd = [self.path] + cmd.extend(self.command_line_args()) + self.process = subprocess.Popen(cmd, env=self.env, + close_fds=platform.system() != 'Windows', + stdout=self.log_file, + stderr=self.log_file, + stdin=PIPE) + except TypeError: + raise + except OSError as err: + if err.errno == errno.ENOENT: + raise WebDriverException( + "'%s' executable needs to be in PATH. %s" % ( + os.path.basename(self.path), self.start_error_message) + ) + elif err.errno == errno.EACCES: + raise WebDriverException( + "'%s' executable may have wrong permissions. %s" % ( + os.path.basename(self.path), self.start_error_message) + ) + else: + raise + except Exception as e: + raise WebDriverException( + "The executable %s needs to be available in the path. %s\n%s" % + (os.path.basename(self.path), self.start_error_message, str(e))) + count = 0 + while True: + self.assert_process_still_running() + if self.is_connectable(): + break + count += 1 + time.sleep(1) + if count == 30: + raise WebDriverException("Can not connect to the Service %s" % self.path) + + def assert_process_still_running(self): + return_code = self.process.poll() + if return_code is not None: + raise WebDriverException( + 'Service %s unexpectedly exited. Status code was: %s' + % (self.path, return_code) + ) + + def is_connectable(self): + return utils.is_connectable(self.port) + + def send_remote_shutdown_command(self): + try: + from urllib import request as url_request + URLError = url_request.URLError + except ImportError: + import urllib2 as url_request + import urllib2 + URLError = urllib2.URLError + + try: + url_request.urlopen("%s/shutdown" % self.service_url) + except URLError: + return + + for x in range(30): + if not self.is_connectable(): + break + else: + time.sleep(1) + + def stop(self): + """ + Stops the service. + """ + if self.log_file != PIPE and not (self.log_file == DEVNULL and _HAS_NATIVE_DEVNULL): + try: + self.log_file.close() + except Exception: + pass + + if self.process is None: + return + + try: + self.send_remote_shutdown_command() + except TypeError: + pass + + try: + if self.process: + for stream in [self.process.stdin, + self.process.stdout, + self.process.stderr]: + try: + stream.close() + except AttributeError: + pass + self.process.terminate() + self.process.wait() + self.process.kill() + self.process = None + except OSError: + pass + + def __del__(self): + # `subprocess.Popen` doesn't send signal on `__del__`; + # so we attempt to close the launched process when `__del__` + # is triggered. + try: + self.stop() + except Exception: + pass diff --git a/youtube_dl/selenium/webdriver/common/touch_actions.py b/youtube_dl/selenium/webdriver/common/touch_actions.py new file mode 100644 index 000000000..89b25290e --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/touch_actions.py @@ -0,0 +1,192 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +""" +The Touch Actions implementation +""" + +from selenium.webdriver.remote.command import Command + + +class TouchActions(object): + """ + Generate touch actions. Works like ActionChains; actions are stored in the + TouchActions object and are fired with perform(). + """ + + def __init__(self, driver): + """ + Creates a new TouchActions object. + + :Args: + - driver: The WebDriver instance which performs user actions. + It should be with touchscreen enabled. + """ + self._driver = driver + self._actions = [] + + def perform(self): + """ + Performs all stored actions. + """ + for action in self._actions: + action() + + def tap(self, on_element): + """ + Taps on a given element. + + :Args: + - on_element: The element to tap. + """ + self._actions.append(lambda: self._driver.execute( + Command.SINGLE_TAP, {'element': on_element.id})) + return self + + def double_tap(self, on_element): + """ + Double taps on a given element. + + :Args: + - on_element: The element to tap. + """ + self._actions.append(lambda: self._driver.execute( + Command.DOUBLE_TAP, {'element': on_element.id})) + return self + + def tap_and_hold(self, xcoord, ycoord): + """ + Touch down at given coordinates. + + :Args: + - xcoord: X Coordinate to touch down. + - ycoord: Y Coordinate to touch down. + """ + self._actions.append(lambda: self._driver.execute( + Command.TOUCH_DOWN, { + 'x': int(xcoord), + 'y': int(ycoord)})) + return self + + def move(self, xcoord, ycoord): + """ + Move held tap to specified location. + + :Args: + - xcoord: X Coordinate to move. + - ycoord: Y Coordinate to move. + """ + self._actions.append(lambda: self._driver.execute( + Command.TOUCH_MOVE, { + 'x': int(xcoord), + 'y': int(ycoord)})) + return self + + def release(self, xcoord, ycoord): + """ + Release previously issued tap 'and hold' command at specified location. + + :Args: + - xcoord: X Coordinate to release. + - ycoord: Y Coordinate to release. + """ + self._actions.append(lambda: self._driver.execute( + Command.TOUCH_UP, { + 'x': int(xcoord), + 'y': int(ycoord)})) + return self + + def scroll(self, xoffset, yoffset): + """ + Touch and scroll, moving by xoffset and yoffset. + + :Args: + - xoffset: X offset to scroll to. + - yoffset: Y offset to scroll to. + """ + self._actions.append(lambda: self._driver.execute( + Command.TOUCH_SCROLL, { + 'xoffset': int(xoffset), + 'yoffset': int(yoffset)})) + return self + + def scroll_from_element(self, on_element, xoffset, yoffset): + """ + Touch and scroll starting at on_element, moving by xoffset and yoffset. + + :Args: + - on_element: The element where scroll starts. + - xoffset: X offset to scroll to. + - yoffset: Y offset to scroll to. + """ + self._actions.append(lambda: self._driver.execute( + Command.TOUCH_SCROLL, { + 'element': on_element.id, + 'xoffset': int(xoffset), + 'yoffset': int(yoffset)})) + return self + + def long_press(self, on_element): + """ + Long press on an element. + + :Args: + - on_element: The element to long press. + """ + self._actions.append(lambda: self._driver.execute( + Command.LONG_PRESS, {'element': on_element.id})) + return self + + def flick(self, xspeed, yspeed): + """ + Flicks, starting anywhere on the screen. + + :Args: + - xspeed: The X speed in pixels per second. + - yspeed: The Y speed in pixels per second. + """ + self._actions.append(lambda: self._driver.execute( + Command.FLICK, { + 'xspeed': int(xspeed), + 'yspeed': int(yspeed)})) + return self + + def flick_element(self, on_element, xoffset, yoffset, speed): + """ + Flick starting at on_element, and moving by the xoffset and yoffset + with specified speed. + + :Args: + - on_element: Flick will start at center of element. + - xoffset: X offset to flick to. + - yoffset: Y offset to flick to. + - speed: Pixels per second to flick. + """ + self._actions.append(lambda: self._driver.execute( + Command.FLICK, { + 'element': on_element.id, + 'xoffset': int(xoffset), + 'yoffset': int(yoffset), + 'speed': int(speed)})) + return self + + # Context manager so TouchActions can be used in a 'with .. as' statements. + def __enter__(self): + return self # Return created instance of self. + + def __exit__(self, _type, _value, _traceback): + pass # Do nothing, does not require additional cleanup. diff --git a/youtube_dl/selenium/webdriver/common/utils.py b/youtube_dl/selenium/webdriver/common/utils.py new file mode 100644 index 000000000..3b443da2a --- /dev/null +++ b/youtube_dl/selenium/webdriver/common/utils.py @@ -0,0 +1,152 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +""" +The Utils methods. +""" +import socket +from selenium.webdriver.common.keys import Keys + +try: + basestring +except NameError: + # Python 3 + basestring = str + + +def free_port(): + """ + Determines a free port using sockets. + """ + free_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + free_socket.bind(('0.0.0.0', 0)) + free_socket.listen(5) + port = free_socket.getsockname()[1] + free_socket.close() + return port + + +def find_connectable_ip(host, port=None): + """Resolve a hostname to an IP, preferring IPv4 addresses. + + We prefer IPv4 so that we don't change behavior from previous IPv4-only + implementations, and because some drivers (e.g., FirefoxDriver) do not + support IPv6 connections. + + If the optional port number is provided, only IPs that listen on the given + port are considered. + + :Args: + - host - A hostname. + - port - Optional port number. + + :Returns: + A single IP address, as a string. If any IPv4 address is found, one is + returned. Otherwise, if any IPv6 address is found, one is returned. If + neither, then None is returned. + + """ + try: + addrinfos = socket.getaddrinfo(host, None) + except socket.gaierror: + return None + + ip = None + for family, _, _, _, sockaddr in addrinfos: + connectable = True + if port: + connectable = is_connectable(port, sockaddr[0]) + + if connectable and family == socket.AF_INET: + return sockaddr[0] + if connectable and not ip and family == socket.AF_INET6: + ip = sockaddr[0] + return ip + + +def join_host_port(host, port): + """Joins a hostname and port together. + + This is a minimal implementation intended to cope with IPv6 literals. For + example, _join_host_port('::1', 80) == '[::1]:80'. + + :Args: + - host - A hostname. + - port - An integer port. + + """ + if ':' in host and not host.startswith('['): + return '[%s]:%d' % (host, port) + return '%s:%d' % (host, port) + + +def is_connectable(port, host="localhost"): + """ + Tries to connect to the server at port to see if it is running. + + :Args: + - port - The port to connect. + """ + socket_ = None + try: + socket_ = socket.create_connection((host, port), 1) + result = True + except socket.error: + result = False + finally: + if socket_: + socket_.close() + return result + + +def is_url_connectable(port): + """ + Tries to connect to the HTTP server at /status path + and specified port to see if it responds successfully. + + :Args: + - port - The port to connect. + """ + try: + from urllib import request as url_request + except ImportError: + import urllib2 as url_request + + try: + res = url_request.urlopen("http://127.0.0.1:%s/status" % port) + if res.getcode() == 200: + return True + else: + return False + except Exception: + return False + + +def keys_to_typing(value): + """Processes the values that will be typed in the element.""" + typing = [] + for val in value: + if isinstance(val, Keys): + typing.append(val) + elif isinstance(val, int): + val = str(val) + for i in range(len(val)): + typing.append(val[i]) + else: + for i in range(len(val)): + typing.append(val[i]) + return typing diff --git a/youtube_dl/selenium/webdriver/edge/__init__.py b/youtube_dl/selenium/webdriver/edge/__init__.py new file mode 100644 index 000000000..a5b1e6f85 --- /dev/null +++ b/youtube_dl/selenium/webdriver/edge/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/youtube_dl/selenium/webdriver/edge/options.py b/youtube_dl/selenium/webdriver/edge/options.py new file mode 100644 index 000000000..24052a8c5 --- /dev/null +++ b/youtube_dl/selenium/webdriver/edge/options.py @@ -0,0 +1,45 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities + + +class Options(object): + + def __init__(self): + self._page_load_strategy = "normal" + + @property + def page_load_strategy(self): + return self._page_load_strategy + + @page_load_strategy.setter + def page_load_strategy(self, value): + if value not in ['normal', 'eager', 'none']: + raise ValueError("Page Load Strategy should be 'normal', 'eager' or 'none'.") + self._page_load_strategy = value + + def to_capabilities(self): + """ + Creates a capabilities with all the options that have been set and + + returns a dictionary with everything + """ + edge = DesiredCapabilities.EDGE.copy() + edge['pageLoadStrategy'] = self._page_load_strategy + + return edge diff --git a/youtube_dl/selenium/webdriver/edge/service.py b/youtube_dl/selenium/webdriver/edge/service.py new file mode 100644 index 000000000..9eac51171 --- /dev/null +++ b/youtube_dl/selenium/webdriver/edge/service.py @@ -0,0 +1,57 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.webdriver.common import service + + +class Service(service.Service): + + def __init__(self, executable_path, port=0, verbose=False, log_path=None): + """ + Creates a new instance of the EdgeDriver service. + + EdgeDriver provides an interface for Microsoft WebDriver to use + with Microsoft Edge. + + :param executable_path: Path to the Microsoft WebDriver binary. + :param port: Run the remote service on a specified port. + Defaults to 0, which binds to a random open port of the + system's choosing. + :verbose: Whether to make the webdriver more verbose (passes the + --verbose option to the binary). Defaults to False. + :param log_path: Optional path for the webdriver binary to log to. + Defaults to None which disables logging. + + """ + + self.service_args = [] + if verbose: + self.service_args.append("--verbose") + + params = { + "executable": executable_path, + "port": port, + "start_error_message": "Please download from http://go.microsoft.com/fwlink/?LinkId=619687" + } + + if log_path: + params["log_file"] = open(log_path, "a+") + + service.Service.__init__(self, **params) + + def command_line_args(self): + return ["--port=%d" % self.port] + self.service_args diff --git a/youtube_dl/selenium/webdriver/edge/webdriver.py b/youtube_dl/selenium/webdriver/edge/webdriver.py new file mode 100644 index 000000000..e78b14e02 --- /dev/null +++ b/youtube_dl/selenium/webdriver/edge/webdriver.py @@ -0,0 +1,48 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.webdriver.common import utils +from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver +from selenium.webdriver.remote.remote_connection import RemoteConnection +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities +from .service import Service + + +class WebDriver(RemoteWebDriver): + + def __init__(self, executable_path='MicrosoftWebDriver.exe', + capabilities=None, port=0, verbose=False, log_path=None): + self.port = port + if self.port == 0: + self.port = utils.free_port() + + self.edge_service = Service(executable_path, port=self.port, verbose=verbose, log_path=log_path) + self.edge_service.start() + + if capabilities is None: + capabilities = DesiredCapabilities.EDGE + + RemoteWebDriver.__init__( + self, + command_executor=RemoteConnection('http://localhost:%d' % self.port, + resolve_ip=False), + desired_capabilities=capabilities) + self._is_remote = False + + def quit(self): + RemoteWebDriver.quit(self) + self.edge_service.stop() diff --git a/youtube_dl/selenium/webdriver/firefox/__init__.py b/youtube_dl/selenium/webdriver/firefox/__init__.py new file mode 100644 index 000000000..a5b1e6f85 --- /dev/null +++ b/youtube_dl/selenium/webdriver/firefox/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/youtube_dl/selenium/webdriver/firefox/amd64/x_ignore_nofocus.so b/youtube_dl/selenium/webdriver/firefox/amd64/x_ignore_nofocus.so new file mode 100755 index 0000000000000000000000000000000000000000..916e530f3e1b4a9891ce378204dc75d2ee342dfd GIT binary patch literal 41262 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 R)zuhLe6{Qn1Fk}F{U3r1%dY?c literal 0 HcmV?d00001 diff --git a/youtube_dl/selenium/webdriver/firefox/extension_connection.py b/youtube_dl/selenium/webdriver/firefox/extension_connection.py new file mode 100644 index 000000000..ca715108d --- /dev/null +++ b/youtube_dl/selenium/webdriver/firefox/extension_connection.py @@ -0,0 +1,84 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +import logging +import time + +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities +from selenium.webdriver.common import utils +from selenium.webdriver.remote.command import Command +from selenium.webdriver.remote.remote_connection import RemoteConnection +from selenium.webdriver.firefox.firefox_binary import FirefoxBinary + +LOGGER = logging.getLogger(__name__) +PORT = 0 +HOST = None +_URL = "" + + +class ExtensionConnection(RemoteConnection): + def __init__(self, host, firefox_profile, firefox_binary=None, timeout=30): + self.profile = firefox_profile + self.binary = firefox_binary + HOST = host + timeout = int(timeout) + + if self.binary is None: + self.binary = FirefoxBinary() + + if HOST is None: + HOST = "127.0.0.1" + + PORT = utils.free_port() + self.profile.port = PORT + self.profile.update_preferences() + + self.profile.add_extension() + + self.binary.launch_browser(self.profile, timeout=timeout) + _URL = "http://%s:%d/hub" % (HOST, PORT) + RemoteConnection.__init__( + self, _URL, keep_alive=True) + + def quit(self, sessionId=None): + self.execute(Command.QUIT, {'sessionId': sessionId}) + while self.is_connectable(): + LOGGER.info("waiting to quit") + time.sleep(1) + + def connect(self): + """Connects to the extension and retrieves the session id.""" + return self.execute(Command.NEW_SESSION, + {'desiredCapabilities': DesiredCapabilities.FIREFOX}) + + @classmethod + def connect_and_quit(self): + """Connects to an running browser and quit immediately.""" + self._request('%s/extensions/firefox/quit' % _URL) + + @classmethod + def is_connectable(self): + """Trys to connect to the extension but do not retrieve context.""" + utils.is_connectable(self.profile.port) + + +class ExtensionConnectionError(Exception): + """An internal error occurred int the extension. + + Might be caused by bad input or bugs in webdriver + """ + pass diff --git a/youtube_dl/selenium/webdriver/firefox/firefox_binary.py b/youtube_dl/selenium/webdriver/firefox/firefox_binary.py new file mode 100644 index 000000000..f619f1e1a --- /dev/null +++ b/youtube_dl/selenium/webdriver/firefox/firefox_binary.py @@ -0,0 +1,217 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + + +import os +import platform +from subprocess import Popen, STDOUT +from selenium.common.exceptions import WebDriverException +from selenium.webdriver.common import utils +import time + + +class FirefoxBinary(object): + + NO_FOCUS_LIBRARY_NAME = "x_ignore_nofocus.so" + + def __init__(self, firefox_path=None, log_file=None): + """ + Creates a new instance of Firefox binary. + + :Args: + - firefox_path - Path to the Firefox executable. By default, it will be detected from the standard locations. + - log_file - A file object to redirect the firefox process output to. It can be sys.stdout. + Please note that with parallel run the output won't be synchronous. + By default, it will be redirected to /dev/null. + """ + self._start_cmd = firefox_path + # We used to default to subprocess.PIPE instead of /dev/null, but after + # a while the pipe would fill up and Firefox would freeze. + self._log_file = log_file or open(os.devnull, "wb") + self.command_line = None + if self._start_cmd is None: + self._start_cmd = self._get_firefox_start_cmd() + if not self._start_cmd.strip(): + raise WebDriverException( + "Failed to find firefox binary. You can set it by specifying " + "the path to 'firefox_binary':\n\nfrom " + "selenium.webdriver.firefox.firefox_binary import " + "FirefoxBinary\n\nbinary = " + "FirefoxBinary('/path/to/binary')\ndriver = " + "webdriver.Firefox(firefox_binary=binary)") + # Rather than modifying the environment of the calling Python process + # copy it and modify as needed. + self._firefox_env = os.environ.copy() + self._firefox_env["MOZ_CRASHREPORTER_DISABLE"] = "1" + self._firefox_env["MOZ_NO_REMOTE"] = "1" + self._firefox_env["NO_EM_RESTART"] = "1" + + def add_command_line_options(self, *args): + self.command_line = args + + def launch_browser(self, profile, timeout=30): + """Launches the browser for the given profile name. + It is assumed the profile already exists. + """ + self.profile = profile + + self._start_from_profile_path(self.profile.path) + self._wait_until_connectable(timeout=timeout) + + def kill(self): + """Kill the browser. + + This is useful when the browser is stuck. + """ + if self.process: + self.process.kill() + self.process.wait() + + def _start_from_profile_path(self, path): + self._firefox_env["XRE_PROFILE_PATH"] = path + + if platform.system().lower() == 'linux': + self._modify_link_library_path() + command = [self._start_cmd, "-foreground"] + if self.command_line is not None: + for cli in self.command_line: + command.append(cli) + self.process = Popen( + command, stdout=self._log_file, stderr=STDOUT, + env=self._firefox_env) + + def _wait_until_connectable(self, timeout=30): + """Blocks until the extension is connectable in the firefox.""" + count = 0 + while not utils.is_connectable(self.profile.port): + if self.process.poll() is not None: + # Browser has exited + raise WebDriverException( + "The browser appears to have exited " + "before we could connect. If you specified a log_file in " + "the FirefoxBinary constructor, check it for details.") + if count >= timeout: + self.kill() + raise WebDriverException( + "Can't load the profile. Possible firefox version mismatch. " + "You must use GeckoDriver instead for Firefox 48+. Profile " + "Dir: %s If you specified a log_file in the " + "FirefoxBinary constructor, check it for details." + % (self.profile.path)) + count += 1 + time.sleep(1) + return True + + def _find_exe_in_registry(self): + try: + from _winreg import OpenKey, QueryValue, HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER + except ImportError: + from winreg import OpenKey, QueryValue, HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER + import shlex + keys = (r"SOFTWARE\Classes\FirefoxHTML\shell\open\command", + r"SOFTWARE\Classes\Applications\firefox.exe\shell\open\command") + command = "" + for path in keys: + try: + key = OpenKey(HKEY_LOCAL_MACHINE, path) + command = QueryValue(key, "") + break + except OSError: + try: + key = OpenKey(HKEY_CURRENT_USER, path) + command = QueryValue(key, "") + break + except OSError: + pass + else: + return "" + + if not command: + return "" + + return shlex.split(command)[0] + + def _get_firefox_start_cmd(self): + """Return the command to start firefox.""" + start_cmd = "" + if platform.system() == "Darwin": + start_cmd = "/Applications/Firefox.app/Contents/MacOS/firefox-bin" + # fallback to homebrew installation for mac users + if not os.path.exists(start_cmd): + start_cmd = os.path.expanduser("~") + start_cmd + elif platform.system() == "Windows": + start_cmd = (self._find_exe_in_registry() or self._default_windows_location()) + elif platform.system() == 'Java' and os._name == 'nt': + start_cmd = self._default_windows_location() + else: + for ffname in ["firefox", "iceweasel"]: + start_cmd = self.which(ffname) + if start_cmd is not None: + break + else: + # couldn't find firefox on the system path + raise RuntimeError( + "Could not find firefox in your system PATH." + + " Please specify the firefox binary location or install firefox") + return start_cmd + + def _default_windows_location(self): + program_files = [os.getenv("PROGRAMFILES", r"C:\Program Files"), + os.getenv("PROGRAMFILES(X86)", r"C:\Program Files (x86)")] + for path in program_files: + binary_path = os.path.join(path, r"Mozilla Firefox\firefox.exe") + if os.access(binary_path, os.X_OK): + return binary_path + return "" + + def _modify_link_library_path(self): + existing_ld_lib_path = os.environ.get('LD_LIBRARY_PATH', '') + + new_ld_lib_path = self._extract_and_check( + self.profile, self.NO_FOCUS_LIBRARY_NAME, "x86", "amd64") + + new_ld_lib_path += existing_ld_lib_path + + self._firefox_env["LD_LIBRARY_PATH"] = new_ld_lib_path + self._firefox_env['LD_PRELOAD'] = self.NO_FOCUS_LIBRARY_NAME + + def _extract_and_check(self, profile, no_focus_so_name, x86, amd64): + + paths = [x86, amd64] + built_path = "" + for path in paths: + library_path = os.path.join(profile.path, path) + if not os.path.exists(library_path): + os.makedirs(library_path) + import shutil + shutil.copy(os.path.join( + os.path.dirname(__file__), + path, + self.NO_FOCUS_LIBRARY_NAME), + library_path) + built_path += library_path + ":" + + return built_path + + def which(self, fname): + """Returns the fully qualified path by searching Path of the given + name""" + for pe in os.environ['PATH'].split(os.pathsep): + checkname = os.path.join(pe, fname) + if os.access(checkname, os.X_OK) and not os.path.isdir(checkname): + return checkname + return None diff --git a/youtube_dl/selenium/webdriver/firefox/firefox_profile.py b/youtube_dl/selenium/webdriver/firefox/firefox_profile.py new file mode 100644 index 000000000..849291783 --- /dev/null +++ b/youtube_dl/selenium/webdriver/firefox/firefox_profile.py @@ -0,0 +1,384 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from __future__ import with_statement + +import base64 +import copy +import json +import os +import re +import shutil +import sys +import tempfile +import zipfile + +try: + from cStringIO import StringIO as BytesIO +except ImportError: + from io import BytesIO + +from xml.dom import minidom +from selenium.webdriver.common.proxy import ProxyType +from selenium.common.exceptions import WebDriverException + + +WEBDRIVER_EXT = "webdriver.xpi" +WEBDRIVER_PREFERENCES = "webdriver_prefs.json" +EXTENSION_NAME = "fxdriver@googlecode.com" + + +class AddonFormatError(Exception): + """Exception for not well-formed add-on manifest files""" + + +class FirefoxProfile(object): + ANONYMOUS_PROFILE_NAME = "WEBDRIVER_ANONYMOUS_PROFILE" + DEFAULT_PREFERENCES = None + + def __init__(self, profile_directory=None): + """ + Initialises a new instance of a Firefox Profile + + :args: + - profile_directory: Directory of profile that you want to use. + This defaults to None and will create a new + directory when object is created. + """ + if not FirefoxProfile.DEFAULT_PREFERENCES: + with open(os.path.join(os.path.dirname(__file__), + WEBDRIVER_PREFERENCES)) as default_prefs: + FirefoxProfile.DEFAULT_PREFERENCES = json.load(default_prefs) + + self.default_preferences = copy.deepcopy( + FirefoxProfile.DEFAULT_PREFERENCES['mutable']) + self.native_events_enabled = True + self.profile_dir = profile_directory + self.tempfolder = None + if self.profile_dir is None: + self.profile_dir = self._create_tempfolder() + else: + self.tempfolder = tempfile.mkdtemp() + newprof = os.path.join(self.tempfolder, "webdriver-py-profilecopy") + shutil.copytree(self.profile_dir, newprof, + ignore=shutil.ignore_patterns("parent.lock", "lock", ".parentlock")) + self.profile_dir = newprof + os.chmod(self.profile_dir, 0o755) + self._read_existing_userjs(os.path.join(self.profile_dir, "user.js")) + self.extensionsDir = os.path.join(self.profile_dir, "extensions") + self.userPrefs = os.path.join(self.profile_dir, "user.js") + if os.path.isfile(self.userPrefs): + os.chmod(self.userPrefs, 0o644) + + # Public Methods + def set_preference(self, key, value): + """ + sets the preference that we want in the profile. + """ + self.default_preferences[key] = value + + def add_extension(self, extension=WEBDRIVER_EXT): + self._install_extension(extension) + + def update_preferences(self): + for key, value in FirefoxProfile.DEFAULT_PREFERENCES['frozen'].items(): + self.default_preferences[key] = value + self._write_user_prefs(self.default_preferences) + + # Properties + + @property + def path(self): + """ + Gets the profile directory that is currently being used + """ + return self.profile_dir + + @property + def port(self): + """ + Gets the port that WebDriver is working on + """ + return self._port + + @port.setter + def port(self, port): + """ + Sets the port that WebDriver will be running on + """ + if not isinstance(port, int): + raise WebDriverException("Port needs to be an integer") + try: + port = int(port) + if port < 1 or port > 65535: + raise WebDriverException("Port number must be in the range 1..65535") + except (ValueError, TypeError): + raise WebDriverException("Port needs to be an integer") + self._port = port + self.set_preference("webdriver_firefox_port", self._port) + + @property + def accept_untrusted_certs(self): + return self.default_preferences["webdriver_accept_untrusted_certs"] + + @accept_untrusted_certs.setter + def accept_untrusted_certs(self, value): + if value not in [True, False]: + raise WebDriverException("Please pass in a Boolean to this call") + self.set_preference("webdriver_accept_untrusted_certs", value) + + @property + def assume_untrusted_cert_issuer(self): + return self.default_preferences["webdriver_assume_untrusted_issuer"] + + @assume_untrusted_cert_issuer.setter + def assume_untrusted_cert_issuer(self, value): + if value not in [True, False]: + raise WebDriverException("Please pass in a Boolean to this call") + + self.set_preference("webdriver_assume_untrusted_issuer", value) + + @property + def native_events_enabled(self): + return self.default_preferences['webdriver_enable_native_events'] + + @native_events_enabled.setter + def native_events_enabled(self, value): + if value not in [True, False]: + raise WebDriverException("Please pass in a Boolean to this call") + self.set_preference("webdriver_enable_native_events", value) + + @property + def encoded(self): + """ + A zipped, base64 encoded string of profile directory + for use with remote WebDriver JSON wire protocol + """ + self.update_preferences() + fp = BytesIO() + zipped = zipfile.ZipFile(fp, 'w', zipfile.ZIP_DEFLATED) + path_root = len(self.path) + 1 # account for trailing slash + for base, dirs, files in os.walk(self.path): + for fyle in files: + filename = os.path.join(base, fyle) + zipped.write(filename, filename[path_root:]) + zipped.close() + return base64.b64encode(fp.getvalue()).decode('UTF-8') + + def set_proxy(self, proxy): + import warnings + + warnings.warn( + "This method has been deprecated. Please pass in the proxy object to the Driver Object", + DeprecationWarning) + if proxy is None: + raise ValueError("proxy can not be None") + + if proxy.proxy_type is ProxyType.UNSPECIFIED: + return + + self.set_preference("network.proxy.type", proxy.proxy_type['ff_value']) + + if proxy.proxy_type is ProxyType.MANUAL: + self.set_preference("network.proxy.no_proxies_on", proxy.no_proxy) + self._set_manual_proxy_preference("ftp", proxy.ftp_proxy) + self._set_manual_proxy_preference("http", proxy.http_proxy) + self._set_manual_proxy_preference("ssl", proxy.ssl_proxy) + self._set_manual_proxy_preference("socks", proxy.socks_proxy) + elif proxy.proxy_type is ProxyType.PAC: + self.set_preference("network.proxy.autoconfig_url", proxy.proxy_autoconfig_url) + + def _set_manual_proxy_preference(self, key, setting): + if setting is None or setting is '': + return + + host_details = setting.split(":") + self.set_preference("network.proxy.%s" % key, host_details[0]) + if len(host_details) > 1: + self.set_preference("network.proxy.%s_port" % key, int(host_details[1])) + + def _create_tempfolder(self): + """ + Creates a temp folder to store User.js and the extension + """ + return tempfile.mkdtemp() + + def _write_user_prefs(self, user_prefs): + """ + writes the current user prefs dictionary to disk + """ + with open(self.userPrefs, "w") as f: + for key, value in user_prefs.items(): + f.write('user_pref("%s", %s);\n' % (key, json.dumps(value))) + + def _read_existing_userjs(self, userjs): + import warnings + + PREF_RE = re.compile(r'user_pref\("(.*)",\s(.*)\)') + try: + with open(userjs) as f: + for usr in f: + matches = re.search(PREF_RE, usr) + try: + self.default_preferences[matches.group(1)] = json.loads(matches.group(2)) + except Exception: + warnings.warn("(skipping) failed to json.loads existing preference: " + + matches.group(1) + matches.group(2)) + except Exception: + # The profile given hasn't had any changes made, i.e no users.js + pass + + def _install_extension(self, addon, unpack=True): + """ + Installs addon from a filepath, url + or directory of addons in the profile. + - path: url, absolute path to .xpi, or directory of addons + - unpack: whether to unpack unless specified otherwise in the install.rdf + """ + if addon == WEBDRIVER_EXT: + addon = os.path.join(os.path.dirname(__file__), WEBDRIVER_EXT) + + tmpdir = None + xpifile = None + if addon.endswith('.xpi'): + tmpdir = tempfile.mkdtemp(suffix='.' + os.path.split(addon)[-1]) + compressed_file = zipfile.ZipFile(addon, 'r') + for name in compressed_file.namelist(): + if name.endswith('/'): + if not os.path.isdir(os.path.join(tmpdir, name)): + os.makedirs(os.path.join(tmpdir, name)) + else: + if not os.path.isdir(os.path.dirname(os.path.join(tmpdir, name))): + os.makedirs(os.path.dirname(os.path.join(tmpdir, name))) + data = compressed_file.read(name) + with open(os.path.join(tmpdir, name), 'wb') as f: + f.write(data) + xpifile = addon + addon = tmpdir + + # determine the addon id + addon_details = self._addon_details(addon) + addon_id = addon_details.get('id') + assert addon_id, 'The addon id could not be found: %s' % addon + + # copy the addon to the profile + addon_path = os.path.join(self.extensionsDir, addon_id) + if not unpack and not addon_details['unpack'] and xpifile: + if not os.path.exists(self.extensionsDir): + os.makedirs(self.extensionsDir) + os.chmod(self.extensionsDir, 0o755) + shutil.copy(xpifile, addon_path + '.xpi') + else: + if not os.path.exists(addon_path): + shutil.copytree(addon, addon_path, symlinks=True) + + # remove the temporary directory, if any + if tmpdir: + shutil.rmtree(tmpdir) + + def _addon_details(self, addon_path): + """ + Returns a dictionary of details about the addon. + + :param addon_path: path to the add-on directory or XPI + + Returns:: + + {'id': u'rainbow@colors.org', # id of the addon + 'version': u'1.4', # version of the addon + 'name': u'Rainbow', # name of the addon + 'unpack': False } # whether to unpack the addon + """ + + details = { + 'id': None, + 'unpack': False, + 'name': None, + 'version': None + } + + def get_namespace_id(doc, url): + attributes = doc.documentElement.attributes + namespace = "" + for i in range(attributes.length): + if attributes.item(i).value == url: + if ":" in attributes.item(i).name: + # If the namespace is not the default one remove 'xlmns:' + namespace = attributes.item(i).name.split(':')[1] + ":" + break + return namespace + + def get_text(element): + """Retrieve the text value of a given node""" + rc = [] + for node in element.childNodes: + if node.nodeType == node.TEXT_NODE: + rc.append(node.data) + return ''.join(rc).strip() + + if not os.path.exists(addon_path): + raise IOError('Add-on path does not exist: %s' % addon_path) + + try: + if zipfile.is_zipfile(addon_path): + # Bug 944361 - We cannot use 'with' together with zipFile because + # it will cause an exception thrown in Python 2.6. + try: + compressed_file = zipfile.ZipFile(addon_path, 'r') + manifest = compressed_file.read('install.rdf') + finally: + compressed_file.close() + elif os.path.isdir(addon_path): + with open(os.path.join(addon_path, 'install.rdf'), 'r') as f: + manifest = f.read() + else: + raise IOError('Add-on path is neither an XPI nor a directory: %s' % addon_path) + except (IOError, KeyError) as e: + raise AddonFormatError(str(e), sys.exc_info()[2]) + + try: + doc = minidom.parseString(manifest) + + # Get the namespaces abbreviations + em = get_namespace_id(doc, 'http://www.mozilla.org/2004/em-rdf#') + rdf = get_namespace_id(doc, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#') + + description = doc.getElementsByTagName(rdf + 'Description').item(0) + if description is None: + description = doc.getElementsByTagName('Description').item(0) + for node in description.childNodes: + # Remove the namespace prefix from the tag for comparison + entry = node.nodeName.replace(em, "") + if entry in details.keys(): + details.update({entry: get_text(node)}) + if details.get('id') is None: + for i in range(description.attributes.length): + attribute = description.attributes.item(i) + if attribute.name == em + 'id': + details.update({'id': attribute.value}) + except Exception as e: + raise AddonFormatError(str(e), sys.exc_info()[2]) + + # turn unpack into a true/false value + if isinstance(details['unpack'], str): + details['unpack'] = details['unpack'].lower() == 'true' + + # If no ID is set, the add-on is invalid + if details.get('id') is None: + raise AddonFormatError('Add-on id could not be found.') + + return details diff --git a/youtube_dl/selenium/webdriver/firefox/options.py b/youtube_dl/selenium/webdriver/firefox/options.py new file mode 100644 index 000000000..e68d027c3 --- /dev/null +++ b/youtube_dl/selenium/webdriver/firefox/options.py @@ -0,0 +1,160 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +from selenium.common.exceptions import InvalidArgumentException +from selenium.webdriver.common.proxy import Proxy +from selenium.webdriver.firefox.firefox_binary import FirefoxBinary +from selenium.webdriver.firefox.firefox_profile import FirefoxProfile + + +class Log(object): + def __init__(self): + self.level = None + + def to_capabilities(self): + if self.level is not None: + return {"log": {"level": self.level}} + return {} + + +class Options(object): + KEY = "moz:firefoxOptions" + + def __init__(self): + self._binary = None + self._preferences = {} + self._profile = None + self._proxy = None + self._arguments = [] + self.log = Log() + + @property + def binary(self): + """Returns the FirefoxBinary instance""" + return self._binary + + @binary.setter + def binary(self, new_binary): + """Sets location of the browser binary, either by string or + ``FirefoxBinary`` instance. + + """ + if not isinstance(new_binary, FirefoxBinary): + new_binary = FirefoxBinary(new_binary) + self._binary = new_binary + + @property + def binary_location(self): + """Returns the location of the binary.""" + return self.binary._start_cmd + + @binary_location.setter # noqa + def binary_location(self, value): + """ Sets the location of the browser binary by string """ + self.binary = value + + @property + def preferences(self): + """Returns a dict of preferences.""" + return self._preferences + + def set_preference(self, name, value): + """Sets a preference.""" + self._preferences[name] = value + + @property + def proxy(self): + """ returns Proxy if set otherwise None.""" + return self._proxy + + @proxy.setter + def proxy(self, value): + if not isinstance(value, Proxy): + raise InvalidArgumentException("Only Proxy objects can be passed in.") + self._proxy = value + + @property + def profile(self): + """Returns the Firefox profile to use.""" + return self._profile + + @profile.setter + def profile(self, new_profile): + """Sets location of the browser profile to use, either by string + or ``FirefoxProfile``. + + """ + if not isinstance(new_profile, FirefoxProfile): + new_profile = FirefoxProfile(new_profile) + self._profile = new_profile + + @property + def arguments(self): + """Returns a list of browser process arguments.""" + return self._arguments + + def add_argument(self, argument): + """Add argument to be used for the browser process.""" + if argument is None: + raise ValueError() + self._arguments.append(argument) + + @property + def headless(self): + """ + Returns whether or not the headless argument is set + """ + return '-headless' in self._arguments + + def set_headless(self, headless=True): + """ + Sets the headless argument + + Args: + headless: boolean value indicating to set the headless option + """ + if headless: + self._arguments.append('-headless') + elif '-headless' in self._arguments: + self._arguments.remove('-headless') + + def to_capabilities(self): + """Marshals the Firefox options to a `moz:firefoxOptions` + object. + + """ + # This intentionally looks at the internal properties + # so if a binary or profile has _not_ been set, + # it will defer to geckodriver to find the system Firefox + # and generate a fresh profile. + opts = {} + + if self._binary is not None: + opts["binary"] = self._binary._start_cmd + if len(self._preferences) > 0: + opts["prefs"] = self._preferences + if self._proxy is not None: + self._proxy.add_to_capabilities(opts) + if self._profile is not None: + opts["profile"] = self._profile.encoded + if len(self._arguments) > 0: + opts["args"] = self._arguments + + opts.update(self.log.to_capabilities()) + + if len(opts) > 0: + return {Options.KEY: opts} + return {} diff --git a/youtube_dl/selenium/webdriver/firefox/remote_connection.py b/youtube_dl/selenium/webdriver/firefox/remote_connection.py new file mode 100644 index 000000000..4e894f158 --- /dev/null +++ b/youtube_dl/selenium/webdriver/firefox/remote_connection.py @@ -0,0 +1,34 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.webdriver.remote.remote_connection import RemoteConnection + + +class FirefoxRemoteConnection(RemoteConnection): + def __init__(self, remote_server_addr, keep_alive=True): + RemoteConnection.__init__(self, remote_server_addr, keep_alive) + + self._commands["GET_CONTEXT"] = ('GET', '/session/$sessionId/moz/context') + self._commands["SET_CONTEXT"] = ("POST", "/session/$sessionId/moz/context") + self._commands["ELEMENT_GET_ANONYMOUS_CHILDREN"] = \ + ("POST", "/session/$sessionId/moz/xbl/$id/anonymous_children") + self._commands["ELEMENT_FIND_ANONYMOUS_ELEMENTS_BY_ATTRIBUTE"] = \ + ("POST", "/session/$sessionId/moz/xbl/$id/anonymous_by_attribute") + self._commands["INSTALL_ADDON"] = \ + ("POST", "/session/$sessionId/moz/addon/install") + self._commands["UNINSTALL_ADDON"] = \ + ("POST", "/session/$sessionId/moz/addon/uninstall") diff --git a/youtube_dl/selenium/webdriver/firefox/service.py b/youtube_dl/selenium/webdriver/firefox/service.py new file mode 100644 index 000000000..f762eb7cb --- /dev/null +++ b/youtube_dl/selenium/webdriver/firefox/service.py @@ -0,0 +1,54 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.webdriver.common import service + + +class Service(service.Service): + """Object that manages the starting and stopping of the + GeckoDriver.""" + + def __init__(self, executable_path, port=0, service_args=None, + log_path="geckodriver.log", env=None): + """Creates a new instance of the GeckoDriver remote service proxy. + + GeckoDriver provides a HTTP interface speaking the W3C WebDriver + protocol to Marionette. + + :param executable_path: Path to the GeckoDriver binary. + :param port: Run the remote service on a specified port. + Defaults to 0, which binds to a random open port of the + system's choosing. + :param service_args: Optional list of arguments to pass to the + GeckoDriver binary. + :param log_path: Optional path for the GeckoDriver to log to. + Defaults to _geckodriver.log_ in the current working directory. + :param env: Optional dictionary of output variables to expose + in the services' environment. + + """ + log_file = open(log_path, "a+") if log_path is not None and log_path != "" else None + + service.Service.__init__( + self, executable_path, port=port, log_file=log_file, env=env) + self.service_args = service_args or [] + + def command_line_args(self): + return ["--port", "%d" % self.port] + self.service_args + + def send_remote_shutdown_command(self): + pass diff --git a/youtube_dl/selenium/webdriver/firefox/webdriver.py b/youtube_dl/selenium/webdriver/firefox/webdriver.py new file mode 100644 index 000000000..cdb36fc3a --- /dev/null +++ b/youtube_dl/selenium/webdriver/firefox/webdriver.py @@ -0,0 +1,265 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +import warnings + +try: + import http.client as http_client +except ImportError: + import httplib as http_client + +try: + basestring +except NameError: # Python 3.x + basestring = str + +import shutil +import socket +import sys +from contextlib import contextmanager + +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities +from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver + +from .extension_connection import ExtensionConnection +from .firefox_binary import FirefoxBinary +from .firefox_profile import FirefoxProfile +from .options import Options +from .remote_connection import FirefoxRemoteConnection +from .service import Service +from .webelement import FirefoxWebElement + + +class WebDriver(RemoteWebDriver): + + # There is no native event support on Mac + NATIVE_EVENTS_ALLOWED = sys.platform != "darwin" + + CONTEXT_CHROME = "chrome" + CONTEXT_CONTENT = "content" + + _web_element_cls = FirefoxWebElement + + def __init__(self, firefox_profile=None, firefox_binary=None, + timeout=30, capabilities=None, proxy=None, + executable_path="geckodriver", options=None, + log_path="geckodriver.log", firefox_options=None, + service_args=None): + """Starts a new local session of Firefox. + + Based on the combination and specificity of the various keyword + arguments, a capabilities dictionary will be constructed that + is passed to the remote end. + + The keyword arguments given to this constructor are helpers to + more easily allow Firefox WebDriver sessions to be customised + with different options. They are mapped on to a capabilities + dictionary that is passed on to the remote end. + + As some of the options, such as `firefox_profile` and + `options.profile` are mutually exclusive, precedence is + given from how specific the setting is. `capabilities` is the + least specific keyword argument, followed by `options`, + followed by `firefox_binary` and `firefox_profile`. + + In practice this means that if `firefox_profile` and + `options.profile` are both set, the selected profile + instance will always come from the most specific variable. + In this case that would be `firefox_profile`. This will result in + `options.profile` to be ignored because it is considered + a less specific setting than the top-level `firefox_profile` + keyword argument. Similarily, if you had specified a + `capabilities["moz:firefoxOptions"]["profile"]` Base64 string, + this would rank below `options.profile`. + + :param firefox_profile: Instance of ``FirefoxProfile`` object + or a string. If undefined, a fresh profile will be created + in a temporary location on the system. + :param firefox_binary: Instance of ``FirefoxBinary`` or full + path to the Firefox binary. If undefined, the system default + Firefox installation will be used. + :param timeout: Time to wait for Firefox to launch when using + the extension connection. + :param capabilities: Dictionary of desired capabilities. + :param proxy: The proxy settings to us when communicating with + Firefox via the extension connection. + :param executable_path: Full path to override which geckodriver + binary to use for Firefox 47.0.1 and greater, which + defaults to picking up the binary from the system path. + :param options: Instance of ``options.Options``. + :param log_path: Where to log information from the driver. + + """ + if firefox_options: + warnings.warn('use options instead of firefox_options', DeprecationWarning) + options = firefox_options + self.binary = None + self.profile = None + self.service = None + + if capabilities is None: + capabilities = DesiredCapabilities.FIREFOX.copy() + if options is None: + options = Options() + + capabilities = dict(capabilities) + + if capabilities.get("binary"): + self.binary = capabilities["binary"] + + # options overrides capabilities + if options is not None: + if options.binary is not None: + self.binary = options.binary + if options.profile is not None: + self.profile = options.profile + + # firefox_binary and firefox_profile + # override options + if firefox_binary is not None: + if isinstance(firefox_binary, basestring): + firefox_binary = FirefoxBinary(firefox_binary) + self.binary = firefox_binary + options.binary = firefox_binary + if firefox_profile is not None: + if isinstance(firefox_profile, basestring): + firefox_profile = FirefoxProfile(firefox_profile) + self.profile = firefox_profile + options.profile = firefox_profile + + # W3C remote + # TODO(ato): Perform conformance negotiation + + if capabilities.get("marionette"): + capabilities.pop("marionette") + self.service = Service( + executable_path, + service_args=service_args, + log_path=log_path) + self.service.start() + + capabilities.update(options.to_capabilities()) + + executor = FirefoxRemoteConnection( + remote_server_addr=self.service.service_url) + RemoteWebDriver.__init__( + self, + command_executor=executor, + desired_capabilities=capabilities, + keep_alive=True) + + # Selenium remote + else: + if self.binary is None: + self.binary = FirefoxBinary() + if self.profile is None: + self.profile = FirefoxProfile() + + # disable native events if globally disabled + self.profile.native_events_enabled = ( + self.NATIVE_EVENTS_ALLOWED and self.profile.native_events_enabled) + + if proxy is not None: + proxy.add_to_capabilities(capabilities) + + executor = ExtensionConnection("127.0.0.1", self.profile, + self.binary, timeout) + RemoteWebDriver.__init__( + self, + command_executor=executor, + desired_capabilities=capabilities, + keep_alive=True) + + self._is_remote = False + + def quit(self): + """Quits the driver and close every associated window.""" + try: + RemoteWebDriver.quit(self) + except (http_client.BadStatusLine, socket.error): + # Happens if Firefox shutsdown before we've read the response from + # the socket. + pass + + if self.w3c: + self.service.stop() + else: + self.binary.kill() + + if self.profile is not None: + try: + shutil.rmtree(self.profile.path) + if self.profile.tempfolder is not None: + shutil.rmtree(self.profile.tempfolder) + except Exception as e: + print(str(e)) + + @property + def firefox_profile(self): + return self.profile + + # Extension commands: + + def set_context(self, context): + self.execute("SET_CONTEXT", {"context": context}) + + @contextmanager + def context(self, context): + """Sets the context that Selenium commands are running in using + a `with` statement. The state of the context on the server is + saved before entering the block, and restored upon exiting it. + + :param context: Context, may be one of the class properties + `CONTEXT_CHROME` or `CONTEXT_CONTENT`. + + Usage example:: + + with selenium.context(selenium.CONTEXT_CHROME): + # chrome scope + ... do stuff ... + """ + initial_context = self.execute('GET_CONTEXT').pop('value') + self.set_context(context) + try: + yield + finally: + self.set_context(initial_context) + + def install_addon(self, path, temporary=None): + """ + Installs Firefox addon. + + Returns identifier of installed addon. This identifier can later + be used to uninstall addon. + + :param path: Absolute path to the addon that will be installed. + + :Usage: + driver.install_addon('/path/to/firebug.xpi') + """ + payload = {"path": path} + if temporary is not None: + payload["temporary"] = temporary + return self.execute("INSTALL_ADDON", payload)["value"] + + def uninstall_addon(self, identifier): + """ + Uninstalls Firefox addon using its identifier. + + :Usage: + driver.uninstall_addon('addon@foo.com') + """ + self.execute("UNINSTALL_ADDON", {"id": identifier}) diff --git a/youtube_dl/selenium/webdriver/firefox/webdriver.xpi b/youtube_dl/selenium/webdriver/firefox/webdriver.xpi new file mode 100644 index 0000000000000000000000000000000000000000..3b59c7fbf3af374a2c91c0b813480cf7998e6aa5 GIT binary patch literal 715536 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®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≠ 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 z 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 z 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

VuIhNY1R%{B_ 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 S@Gi_pnfWGd84 zO1z&ny=P2uU6+vfmkIGNA>l6*$~2zkCZ(|Zdpxux{!015PM*fn&H^TecifV9kD{Q# zeH}7H1tL4_h~r6bop0G*h;v=8HZ;!-0Gf4_aP@}n8H5ktS*|v%!IUN%nMg#6niiFH z(&d7u!fT3XAAWg-H}vJ2w7E}Z24?>?VVwJzjQ~%u8bI<#@e272ydkP_SL~P{V?%mi zrHm}2YMW1nip^_n^D#P4jTX{>5+9c9Z$ikjp$Uf*QtG=IR%P0yWI6b3M^hZ&MIeo;cl8}F?{aEEY?C>6(z z%Bu-!O2CMS8;bEWsH9eNB1F3Q7M>eEO5w)2G68sX)jw?LhWekqXsXnd(AuY#4;vus zKj!`g>dA-=I4~0Q#W3Zuz_@w|*n(Qtpm)mxg5@=+#YVijL8fB|@iPa4ClV2Y)&5B5 z5n&+hN+i}zjh_)kYs4oi-K43o*yftBHRIU=FJrj{7TR&#e>ASrY_lu{Ux5GdVz;79 zja#Mz-&E6?t+bC1yvU=vxbaX^NTSQYbdaqOIA(&IUcQMppX7P7{5VQMfXu#2+w+eZ zV-2kHb&0l(jWbHA5l2#swX_i`<{-8pbeg=XP-LQVZ@EIXC}}N)4w|HM^&NEWx63rm z$iiL~gbz|5OrLls@MXDPv6EpWZ>czhdYRN|Z{g`YDv)vHWs zx}JpiGsUuSb}`&x;)wrszl_GPY9 z+vi)fZ<)xe`Ya8s7?pO=g~lR85gXWZu-s*pc}6XwZFzUzy5kSsUKS-pQ?c*5Q%1mq zfgMv=%8zZ@iDP1P@I$Iht#gO6ldI%sj$xgQu;yu2#EjgfWxY<*<$Z7zy^oXS)@NoN zmiE*N#byLzBjg`ZPA%dkBRL=dd*g4x*zG+3ZR9PZK0q;wh{21ffc^BE^4K(=#;g0= z_-&K7{;YZRHtk$LX}xVdZK)`A!T|Z|@VfD|ad>cGoE#$_>K>rzHn`;D;;QiD%JeYu zqANC0WgrNGh zw_r#T6_w%zCBK>6W^ALu0=L_{RR^N(CZCdg{hmm>=oCg#@B@(y--kSJ2Y%?vbiKO1 z+EP`Cv%7bVCOm|L>f2U)xh0w&vwgP7nkY(TFi!o1C&4R;pZ==fJB?cGXx}D#hGtr$ z((&l@jjV(zbr5KVBGF)5>J%{-7{fc`-p3hZE~vmtTU@PcRKA^GJ0Ui>MS9$WTdd#tL@|0#rUj-e%asV=Q67dA~mg&^?>U7zFug zUVc{btkSz(giC3{Pop_2pGZqm zWfE|3z`EuVjc(xN&k%-mwH7nWr@v%@G;xGF?NtQw^oU^!-O-BMHNDqe2n7dA(wrN6Pn zgSXBG9s9MFIwhCuR}+`4=jw-ttQ|6*%fBued)QbBLH_@ckMU4+WsGcRHUQ21v$)?A zW%HG)A4DckYH+_N(mE`ae>vGaQDo!a{&f5W#j^4vm5`lLO{#khCqeNU3R@1nynL*f zP=hbeHozT)Tc=4QEmOsjWT(`|H_(awZh(NEbYP+np9zTdaE%XRnr zcH=Hfmk)Q{zqA|dP4ce$Zy|O-4OLrfINBSR9biaEcyi1(4g^Wo;VRG!mpiq&2aBji zH42_rm!X&*k7HY2mc?ZR&+LAwlj;wKy=+j9=X1zocffC(!v&e6Th-xkLGI|*t;6Bm zS~WRbiaWWqH4BiF%}X?dXhcXJ>)Hntw4+>wFn@R;u21iHGCI4Q_Gc%P$?U8@d^vqJ zyBrRt6Wq3vyY68dE*m2FdxuZ=3I2E6Jv3W784Z8#kEestqQmSC^zoJWF$8dA zb=vj!MQ;dUKe4}Vq^v-@WPf@j?*F>N?DPmP;pi;fJvidhCi_JaBKtvm2m8SbF*uK+ z&+0B0K+x~eD%JFBlhpp zR#{3q!J43S^Xlz~eK24vzI)qkcAm7JN`D|3eeUY;+8_#*bUL~E9z%!+1NX(|?OO{Y zDAJNG#mhFYjg)Xc+)%u29#Y$c*|1y$!652JC^$t&kq2Oz=+2{ILV3Y|HZZO%4f*yt zMD$>vurgj=B}G9GT+88dWv3r2O5daU3WY-?N2+(hejX zwDBRi$Hl@G7`s!J5i*2C7ZmuOHI9LPj!-q$Jv=zL|0vfoJV*=kN}$XsB)vJC{O_?9 z`GZ4g@PshCFqO(y$dI`dbLRRD9xA{!&-D;rF?_@v%lGr%bUgTFHXZkd6W9VqL$(*Z z?Eiwo4O{)2<;S%@_ZO1E*41W3<;1Q#*PgXV%>*tJUrE1wa6}u}Tn5b12SLH< zn+c);Y~|J%+li4C-uSn9AQZrfa1vXi)m9hclIRDqJCK`(sC@wI-$09VyA`(|Msm$e zU_OPKshE=tuLvX+aGxC*=#wV`TZjp46dh=f8kropYL!QilI>y(BHjkP6s^UQ08>(& zD`HzXT*sykm8|e#UED6cCQc$lp`U2QZKOezYSy(C@?8HW#tByS=E5=7l%je0J+@aB zAhvX9Oq6{5usECwDjTBb+BboO+N1KksW~VRDWGweDT$on)=X#&nVfO;@H?gb(6P_$ zh_|SNUC|f`a1|hnku~jo#NZ076dqoBg|w1Zv690OkgsKMEKd*u0<-De1hlr6+iVkW z%i^y3=xe}hHKD6^V{b3^_cQRdE_t`y7?>zx5)i+FgO}I^lS9DZ7H`AmWXnoa*EQI+ zB*!s=PI(`K^dW%LF-xRhHnRdWp*cV+IxyHPaXk})suw=*sLeq?7i+l7d6aQ501Vb0 zAjxwTLljfe4gf8Nz9&-^7%s{~K;qp4Th{Zek;JQ2mNwY2VU@8q8u>cO*n2QMZxAq@ z$m1&tqt*8?(gr{0dsjmkFiY0N?_{6zsts|^EqGI6Y%BZw)zl(WM=W!G5Z2ywmIb)q z^grISBV3mH$=gJc2>W_q4>piNsA(pYUuWA7`R3izWxlVH%Cl3#x)=;byh^0$G1;oU z91rkB5%Fm4N{zrj&go+;b?pQkUMKyZ_c7m}-b0~Lk6n?mJX@eO* zsh)ViFAJUwls?HPp;_HOeY{-RcF;9j`A0ZGmRj1e%w)9#kOXTu(z0KD*477Gsu;VB59Ob_O02#*XQP)homZL}SJJ_Ou~|?%3IBQD#HE^KcMAF_AatL5D5(~ZUp(6cq)O*4Anfk{mR zuy1?>J@I#9Vc~)OgIZ{Qf~rM}+MU=p4s<(Fpi>)Y&~4JDLTkoLtCTYQ*iVWW2||vT zJ&50(WR(|A8oC3uw?9)wMUY{j6Xzu+qW*--H${3`neWyouKdMAMZEbpEhhrLW?3y0X`%P=HY`Odf>-P{B^IYg!Y)s+}U()5C#J2{T<^|JFA7@XS~)?5FHppP8-kNuH7_~UAquFkTVQ4TmB)RPcBHpR>SrV8tQ6MGdt_}{qhFYId{cHjvTzd z2DX?Q{q*6_ix_T}-RNGXc(vt8)HUJiVa^&XW`=k~>kxY4nv~Ds4mAOVCoC?HTUiph z*urUlb~-wlU5xubaOW+$R)x-amh|T$aH9RCDT7%VADa=lzT?jVou@jGmw`Sh{IpHX zv>lunJ9k_cJ790%*CXp1X@tOT@;ql~sW;6*KtL_WmABeP!>>}8>)ULD_EBY>wu7y= zD!{EtBr066?FPd|Pn6*-7|>|xd~`YKUkrZfpG{82qq8$pO$mDxR3mkz{B;5v`O6_+ zr~T6zy8FV7F5A_Q`AH03FZ{RobeC;o@rnNypYU2ud=n4iHnO$Ah{6_t^dRVVt_4{WiZ+USAYX4^R;Wo=wr`c*7gSUG}Jpyx2S(R

i-Cr50}tX0T&S0Pn8>#7+k_Ekid7pHx3x6r|^!6he4Q!bTMZ4^qWIEASyg~hZQ}UL0R$DT*w#Jd#igUFkH);nKM9}Ml zk{(06q?_y)`^6i0QL&_L>BdOT=R^uOl3EDz@_0UYvnnJ!X^TV`I-_doE%t$)wVV^T zI?L4xPtg-PQ5h+Ys<>{1_=#%p-W!MaRyF&kPP4ZzOaI0ba7rU`Mi=uu-lYF(;mO-? zUHQpdxuyuUi{Rm776R)wMO$oBr3pxGV-%zq&pyDd=w0^dMA~>;tkoEqV6F+W6!z&6 z3?<%;L!@mD;+A6O;$ReDkU#a`FnMe;p_4IOH?uFNlrNj2%9-z)?lx2^=wVjzfP5z$ z?JZ2ILrn76Lkv`Pq(*q@kr?5%M_Po}UP%!?a6&Mt1amJ)67jpS`=dZ<{y(a@3K>dH z+;a_{t_U+^F%RdQi&6KnF`*|zCl=f;`B5I+Sq8(wR99<&o2T|TJDHBg-9Lw#{ueSO zx6`^D$*ozF9ZB7C(v)(&iuR8V26qtKPBWv|k*Bk?fx2r+U z;g+x1xcH{u)ubi9wRbhC39-?YSV5e0C2qDT6m{dzCO#4{4fEy8*1*S5Rr+Dd&eS6j zl{IZcn4RzhM|PU;|4|q-NXQuP!Z^DYAC_P?t|2gi5ZC3*rDJdwTlh(vD&kk2#vHa} zH<;|$pu^Mb1~b{Jw zN<5w}hKv-@LTH;e__n2!0=PM%Ji%{pBc&KI1O}Kq^fPI$xIn2T>0uP|YlG5^QXZdY z&zv&gD8l3rUVkeqzN3oBZKk!W>%}Dzt}LObin_#P!9?AZC`8(g)fcG%*!In2rUU%{ zmmm2L+_OFaC{f?|6(3E6Hr~NY3#HE*Yj|5Qsft8a`~|PrvJ#F(bNS$1jCF8sFEDd; zT9{W20OB!C(8^lf!dLyd^QFng&PKX!H}na*{aVO}lZn&iA4m#vv~udyY#~w9(qwu# zU7cCAd6&)lq&VZE>32@7-Cu>A!AY{qhGPewU< zcNMBRa=Q}EpTnx+$8+Vu3W98}8Xm+pAZJU)_4VxkF&qC)E5w(%z_D`f&n7Rkf_?he z-=TRsu6>W@t-Z@#TAkbIf1gcIT^-!V_TY+!jE#l!9n`rjQN})y;%rr!L zSm0rLjh$6c6VYK5JoE8?BHL%ZhRfrUpKzm|DRend;tHXb>m$#I?f_(W$5pBUKs~p zZ+{Qo?x-$!^hz!JA}D5yf-P)&C2f~0f(3pcB=3yF2`L#7(TLXM)TFfCTgP%>fRw^R41=`!6=O+L!k6Xru9`sgDkI!m@kj_^Q6nIQM z9ldr))z<(T=P*{cc3L%-s1h5sU-@^NB;|${RqIUg< zd#5&?gWJE;|wSgz(ZnxcxpG`-mZYv4xISbslf!GzK@E74d_%X zTbN9HV~37|O%&`*YH$-KUH2!`%W>b&LH&moO(;Jxb}yqv4{j=(>zg=|ZM_p0;Cr>ePgYX!^Jyjw|CYa@G0k*#@lw#vpHw%)cpTU1q3ml|Q40`+3KDbH&p^4BR> zk!V>=HxC6nA7J)K9vQSF-=fc#5oxX5?i@fsz5)_VTC$? zm;}Fuy`kGyJbL*>`u5-fI&m&^PsZSC+#ioe#uq9uL#8NO$Lf;oB^&Lg)s0 zlcf(yW?Ukhw!<gwCoQrl7i8%D5VWi;3tJHzwp3^1ZfA*jioFAD0a-OA2I~F*!H0ZZN*5RqS;(ACeOcDDnMGo#x2|@HO3J z*Yj*RqjMb#AxvGam#mjT>Joufc6I}9RY)(uv%+8N#t?aU zSf=~3nv5TEc{wpx)^D@{$ zQ#*9gUEZ>9e#$y2vTa2lMwmta?8iF{V@Q^i^@f0?S08-4?EvV4pi9AKbNLTJ$>s1W zg0Fzo+nx@iv2;qIi;JNXrA-s+ur)#ZcC=Bbp*;vLPby$=eGI=6 z3?jN5hN}ZUP!7j&p0B<-6nlHIitLA=us2e^{vbq=-;EcYSA)rPG=3xEt`CMMXP2ja z#Cn5 zrrij3tWCV!?%&ge1l!cb$JwNRG8&%t#&5J@MV932lnS0P32?$r;Qem2iq~n8#P^xj zj{K}QqzbB*Obo*vl!Ep&yJ5mt;c>x6nO7G!9Q#ic)zNYH_s@<1OhB{0dHDJ0cyQLo z(7acEM0ErrAf7clP6o@#fkMF_YL!$dfjaw8Dd0;!xagfyX!9yC%{CAJcF^)<54K&@ zYqcz4tcQZKf_`8hgESnVVK>ZLxE4pKrb++v*qf7EM3~uWfj@VA>lqIMC4{h^+HV|! z^GazUajmNLoZM!~JI3}Qo<=cKDKkS2-Q>;vxMguH2qym_-uR-u?l4%371bQEu+9DQ zak;}X8}Vxqq%Qzvug6HA5a{txoOBNwKR#>BcR%goNgYl*v?sIe1WdUL8Kshp3#eBgyz~=FqqnV-%?@xwi*}_LiN=OxM(wmH7I#$ZBeQP4utVGWe#q zBO|oFFXJ{9apwBPCcd*WL~>zOCRdV*mj#s7CQznQvK=#&fxgpUfSyoG=^>>fKhKhY z2csVFy$!Ukv%yLKWZdtaPuR=XgOgWwjCT>6KalRNIS=GB)~8m_AuKb&&J9ZQ#N)?y z{`@`L`M&>)nH9)EX+{4|XS#h4Wg3-{)2y}F<}vH#cd;Bx^S3{2dAdEEHF9Ls@xk6E zO4cPU0=O68c?qf96~NUgk@|A^Ag%hLbNsKwoRCanCRkext4i-Bg(R& zeG*wl{TWX5CPU7LVUhFoaCmHY$vmL@^&1pv&ANl-11%X-s0hb|a$7Ms2)Y)RL1*4;-K<0s$nN>m!A5XrXw90CMXI$s)ESM9j{ zcYZgZbjglSOhB44iI7|ZM4TZJMUzyqz(T+(9&AT*5+^~_l;)z&$~vKV^Ystwe8zmM zj3jorXONAx==83?g0rQe;n6?3Ck8MLF%=(WMUK2-6%W9^MWCNA3|FGFHj-K zIE}8T3iC<<@8QKQ#N>pG93mD4hWca_M(<+b*HfbNz-y!$<&>U-pS(>;r|FXifgiWH z)}gw10&JHOYM((1PO>e8bn?~3w!JG0ATYeok|X<4RNpwuJY zD~sklbYap&PLYH^w*pO5UNYYWMxaUhWDW0G!^K`_bl>U!uD<}3! z>rA}u3`eK^Nq<_m_|KsAgGkPE;|ipS%91dk71*Ee256n)641m3RD_<^uUwkHubJH5 zwaa$kZJQjwU}C!S&n=Od$Wz_MiBmoKtY=l0-X<;uw2g(*@+~ouj?3o*gWffnc7{=R z9I57YVZFr2V)9H}cKrcotCH_}bd9-8@*`qQVe&2t*aPWQ*lWhP8~O{y+Et=2tr^OB zmdVG2mT&QwPsYdj#1p%S$X;Mx$0b72W&K3_j=NDXBy(o?Po7w)AdFWMRXA za(V(bM6#F$M45MTMC<{$KVu!F6lY)|5q^7QyimB|p(bv0Y+*PDu7HfX8WN$20N&~L zvU#gT4`hShWbwNrtKE5?ud;Yuw_&&ntkW#rFxG9AlSyg2DTQOwTQu?(3CB~o07Gps zVjt&&7W%Sad%W#!N+gw0JbADXgpf2T^0-U}l8zy=*=@@sFew5qC0h|w1I+FP!l89e zA9xV+eZb>eb8l}BNxF~_1syoG-S<@a39I{r%;ZQ)!C(CCkze@m8+ZhaNyJVpi_V%# z)@bWe23--d6H{0ss~8P9^RoKMvv6^OKM4Hj zKCp*qwg>q=4a*eB*Z`6&g}DEwSf(2dDalM?xbcif$MXYYnps@PKFaMZG+64jT`vf- z9C)ZvVinVTbblTrB7gUnBh%mtT*GRv?4xrV7ur#b5wv;4=NyHT85BZ8y?BL5EO@Yy zw5w&Y5P3HAY{hgTaK5|`uhSYmU28d10`m{kb2|9BTQ)z< zC|$m1=g)s@dxX%-^W*-w9XQ-by@Ig60R!Ks;7+QZ8Eoj2bXoz!U7mhD82*yZCAetV9t*MwrCSiEYGq7Kd`@Ly@Tm$kS{~*YJ3_varKEqRX722Qu zQFwn=jrdw4`0v^LBCf9eQ#K`?ZoK9 z`2C{+kGZ`i@H)Jhm5&6$Xj}n64o+c*U!{N46dC<%V!?~$3Y@?^x=JO9%?%4rbigtd zPkUiKl~*L=VH+Bm6#dB(M;=qQd4uP_1ppQZV}pr%V2_e66VTNZEiD8`Se zH4cPSuN##e`2@7}PkkEf7ML82lQ?u^PQ=g6!T!#u>2A61ZElL0m#Rg3+$Up=W^9AMtot^mg(mvsTIUCRyRcotW7*pkTO2A2q8gS;x0%7HKZ}naZwMdN_T8KUFblcChLh2v9*|v*So~@#4PeV%Ma7u zAH%E*XRV5XS#Bb)m)qO?VN2A3slo&~pv#x1v?^+p{h~1t8=lRj%w)LBEX*UtS!&;A_i&7lg@9ZZOW}N_TtWCY)+P>Z&`nCazJFNH_TZ5|#eD16+M1+PL zh0oI*UU`&-MoAKhcb!ySe^}CSO%0;lC;h5J*eyDyg|x0fbg@|iy+@~50zc^bo^bVbiVG0<95Q*Fg94W`lXq&KYt5^f7Vh$ho98&xGlo-_!>3S7}O zsm%zt;j;R~6vb>aMYKwkzK#6E08Bli@v@UM5Dbr3)*B2b^~Sx8m+RtjG+`fsxh*=t z*AXq_)JT}y<`6jK2=nEz-b6jDz4Npi<;?Y?mwwhJ(!u{@JeL=}vq`@OT#I;BWRJk2 z0TqTOX*aOnvyrB-DCu{Vqu%0ctR!qJw3G&?HK19hUQp&-=qE zlXFr`L73}-SC76C&Qsbl=MfT~zAc_SRrWsM)`WB9IhMx0QwSQTCnz$&F~*eYiPr%T?^(DR3fEsP(4 z01R3G{Fu%@!4nhl&+-othONkWZ~+>i+K6h7@DCi@j)R$8^iKM-%kiM*sEYeI$@U*M z%hKU_iP9dP2cXgTymvPE&;AU-ssmEKxrj%UMhNC)+V4ZvUz^)9)cV-}7QU?Yy(yEekDhXTQSqeB|Jc}X* zo)zvcMw0=U>(>DOp6e|h%T0Cer)v#42ONW=ObswLOmz0kXS<7v*j7kX#7LZz+3Ugd zRSmE(v}&>cVY$8i`lk?T9CST3&mpvCYk|E9oMCrkwO_jO6-83NJS0Nx5$w~({N+ol z`DG(%$@mi5h%S%o&&R{O=9C0zNM3%Bg}O%BLVdd|hVhVJ?+(@rNDJ_ZOkLTFedCRF zc83jzBpDF7QxKgkCM0T`eUUw_-t;qdMdP#$fNQH0ZGH}gP@6TB6F#UK4y3o?+*T^^ zhV=oZ6#YoxxS5dzpuK3LtEAR_+LC&SKkIWj>%ExP;`y@i{dlqUGygjCs{0~X1C9Ai z8!suk1E|42jus|H_77>gpF{8`a9CF3Pw*;>3%QD$$Uz_XUyR0e>^S){#r^aM+O<(=ciH^+hxr1poD-v?+|TOc0UpTDzqIBRY! zo;*=8s-E!_#Jz2EfwxJ^HERfbUsKYOXX+Ws`4T$;&rqORJYw=fWg{0C03(wif(c$w4on!)NK%P^m%u@ zQQw{c?u0k0qM^;x>;?Nz*y?O&doD5&Gp}%qZFc`hS#mWRxJ_wrh$Vrc;u^-MtApz{ zH)j~Elhs3-fm?aDPUAJ3avnFA4ZQbpS(uhD6IQhgGKBu{!!L zLJb(oxH05e13*F!oLVv6Z4>mmpIfE26=GV0lqm{y#(BP_I43q4?7Duq(N7JitWI|Y zvfg?UivNJpR!)sFSBdK@x#wJ!i;@riG&SD3q%`*~xbT>&7dBLFP+iS!EAsclm&Ct( zj-7t1r`f6URc2aDkXJPpn4B_5s^^E-u02J|f(ez&w9MZqdK!_u4c>`Q`Gdc;op7de zZQJq`EgVZ7gadXOWG7t1s#r7Euz0Z}tRJ-b&6E%b6DA&}WN4{h)ix3(C<@UwzDllz zm$u~J4C~|UeYPnw;li!?hA;T-8oINV2MfrmwuBd>v$N4_kk{n(-q&dMV%$IJpBl}o zn=0uXEx#Z#=^|84v%X+B5X~F5JQ_UMW233J)jBfoCvR#sMo~vBy6N0yn;SGMyzyOQ z+WB*JDB6vhgD~zyttJr}2A&8v%7q-ngFR)ifJTv;`9h1E`10#Q!S>}8-mveDza1gu z+O@72;Vwh4GWZ4<)=nmgP)qmsEw%LK%t3MlSC*=2ut;^jhQ%T*0W>&*?EPz zqB5NK3%?#;1SQmNh;@+J-aOE*hZR?KDwiqxp|ex)oUu8__FwS8x#D#Ov$QK*&94Rf z)ZOHu&gXVNyJ4i1ywX;&lw>I|Rs!r2>o>wlpt)xWk+rXz=hSOYEd2+gBqtFXenl-s$Xi=>$XBFBOjv2D@Wc?~7+w z9<_xe!af(Z=GXS#(W?K`e38CVpLKnQB#KMuikJ8*Is}i2pMQk%lGh4p7HbE}y=G}p zt$^Dc3hiZQYH_xTw7t7ge)>vWTg17al)naNb*SMnOcfzA4lm~7gR_C(L*+{sV9ZY4 z=K6yWnx||{`o0M4dHi?u zJVdc4Vj{}rPHL=KQ#ozv>MElZOI;NQ8KEF>Z|imRQ+BK>ZR1e&tXeiWDAmhJMla{4 zVlv3YFoj3vm>rxKaEqnW4Wntsd37b?OX+Gh`i6a^HM3w@5s9>9DK$ym(8rTmV_fku4} z$P!dQbZ>alhb(N}5V|3zQ-XP=Bfr0&uE+Lms@${0n{M%gB}8QjlMzMY44 zal2f2Ru&n9p?#i!Scot+Am3;IFS6CbKY}vg+2=H`3vT1X?Q)gz>i})QIuYmt5vC_) zBVbE z#?)D+q(vnId78DPcW>J@n2hQp#AfszN>F@&*%&awnm89MM>K+AQzX3Qh5bXxpcnaSm46^djmM5vGFHP}c}_Q(bhAHM&LPNzb}|eiXyHZBLPOAk z-=NmO%|geGI*`@i?^ytsv&rE2tR_zP3mW#9ZMZ)Cxm%c`9RHe?PM#%zOUF(>z*@2~ zhYCbD7rk-6bR`qEAGLv7fdWcR1?@dfAf`?mazFQOlyfpTC zs0@J^-~90_wypX4tChQx2xKIOI22hS#3k)bNtIUCB;0TZ_fj&9#&(*%@V- zKNK#jSXsb{jZ}hx8NJ$#U)i6P1Y^y>_?7+9H+|@7b+x{3e;I$S&3@)y_Tw;_1I}dR z^w(fAk_^5MlL=w}aiV?2PWxyPewWo`7;9~cEMRHR^C*0@jpx_wU|r;^_w?R2{(|>0uIzD~?h%VeD#|A7B*nPcS98tP=Gy63brw!*z&QGSevbx@;zw-onK_SM zBCqYfaR5^5W%q8vWOi|#bQ z@4~B}IgZoDHh-6`+YMnlrG=DZJF^jOv?i>8pMNsA^`XM$sKNo4q_or_y3ewAX5#8t zc-@hsFwd_fHKUZQ=ua|FkpcG4@n(rR7dP1=+h76}i0c}Ikea37y!UE)e%AN}?zsg& zp$3~;gMPkYa~>pg`OU}QzGcH-eju9isGU zKD1Jbnb7M_k~7_2(PORX1fNnIEO2$E`XNIetp_2fprYvteWzRswQUGOI#o@#ueww( zXQpR}5j#>Y9W9k{#cI=0R&Tut19$yu&~Q)XVI(=z^e+av(equt!HCz7wtD-&fLlgw zYOI!pGBV+tlD+h_tu|^`Oq*w)^$+dyHvw2L#ab=})?C|)Kg;Fqn|KZVwWnUJ%$=rP zF#f9b?cEXv>-SKEB4ndwhIPFV;A>3>GYYA&&AP2loW<*W+m9y6)mV-Wa~XlIgwSKK+ATdmuYnLYvz zkZtzphaQx=JJV#FZ~7ttM8xkfVMrAJ!M5Kr4otjDE50BFS}>wTsHEbFZq6(k=)4}B zou2f@(n>{~0)hoecc5)G&~_@usGX_UQGuP(jKhF7D?_1(f_xW?dSM%RSstcM{2ROoTc76Ma9n`7`s)M%V6VxPEkTBj!v!7AiL(xK@0qoR`XW^8(R zzSnNvBhmRzib@{kI}5o%lA)XDyn!62gS!t}WkntR;or62->KhwUg0UxQ?7dOEeCIU z_3C??txqVeQo1Dro>aPfaH~?=vB6M5jHrnx@K^*2#!vwL0 z(V@1YJd8#sI|X1BgfdQBEgb&Q)=-F42KQd$pD#htGWmY3h&W= z0GEyDrfe%V27Sh5`x^P^moI2mqkrN~JxJU&pclm}&W`5UL9-D1?;RC)(&!(&Xd6)d znU_=7QedHo^?+VOQqaQDMoOUaf^TXeoC_k4=p`{_pUF|F%?_Opt1aF4gQ4V`+4Rjt zzk47e9@FEYjM<8h-?tk)-W)yux!t%Nj>f0`asPA%E=se(v_I~F{UUz<3*@v6e*LRc zdot`@OkRzq^!?wg+UD2)4aSmhW>yRM>2K}Ei@|sT_D%MuA8b4*-z~@XRtcVarRox# zW4bDE7q2*mOFaq9TnD-H@;5!UOrOAEMc!@b3~5GvSC^~S8VTBhL?zczC_%| z(ijiYp3k#xwB<1qT2>she+iY4&0N6)Q0 z^gE`x?ju)%cyh2TDXXEcvaCLOR6&(frFR*lLt!Jqvo~ld=kTy*;v&WY$ywp7Q7}X; z7fT)(Br=!yM&F(A)akw5t$`ckvXCTDA`P9{!@Ojj_-@xT!mAKeSv_m z=#m7G0Uy|8OB?Xs;jR=A656V3hGaSpfQ+HZ6TleYgYdn=L`tRfZeuYvu;`<9%UZ(P z4&JTv59@|D5IqW#IDkuUZ9+6+ID>BA-m zb3HX?GY$k7yB3WfA*`2-wS=zI-9~z~c=F_0N}2|#f-8tuM%@)L#tPmIF-Fw@Vhnh9 z$4qQs27<4_rLB&lSRg1MmP!G$MA8vO0xjrbLrvMt+m0@()RZK>?HHm-UHQ%1Qt2Xj ztaR<|=~4ac+)F8KKW<6X8Bg7QcJ3vxNmP)sr$(Utz*bVyexQcc{&1ojNZU+`R5#Aq zTkBOB1Hi^3e%lHh+_+XN|G|?|W{b4xH>-Reuk`bJ+!66X$(mn0DMcHF7EiTwiFCD~ z4&D&>O&P=M+nX1Gv$l2~x1mOF0LXOgTxmC*Q@N(BAxjx8gohTs^)vKG#`UU3NLvur z0a(4w-PYA~d$*);(;A&fSIEyK6Nu?E0Qwv$hH^L*8etf|)={`ec#$UNU-_C6+_ z6&?K8AZK&qgQdFoyzwvq^e)e)vvGeiI{TUJ3SlMf@5TF@Zgjid-gloq z{qW&K=fj^n`R3;7_Xh_DPuaKVv!>TvXbLS;OM5lf{J?2HY#L$YO@>~xF~6E*i`KFLiTve(OXntz}q zMvS*?K55sk|8IHk-k&y-EDZm@pF(E#?7#$LaPD|AS%PuG4hFBmndI0Wj*x`S1`q={ zjyLQ5>`zzqz11xVoY~9!?(dw5ky?GJuCA)CD=ndtK+@NihegXm>Rz6`JrHtNa(SZq zseC$Fy^oe~ntIE3ldEeo^7Et{ODML9ro#$xe|$6^1+09uDlXwxOjz)%=)x-^trIYL#hGp)E`S(- z!hHdYoXv0-Ez|m!oV{|6m8h3}xS7mU+p)Pw+d+EUYX00qzqM|E*g8EWGHAQgX}xW9 zhVL7lvlbfCOgPZ7faAeB=xs>+)r7FXc9(qJK7`QoRucqU>>9J_VMxY0rna#N5(q~W zF7)mMdPB>(-)T8fZkFM_e_7jtMj)BLRLYz(b;Y)4YfLb66K z>MD0^k+Wo#YVhs$@cDjl9r24JTVfIz-!o`@U+^HO(f2%XsN%KPiaV5qtWZYSK|vKK zb{KGxGNGj4FVeU$&$!@{O{izu9lGb0gIX~!H`V7ou;ziS-!ei}maLpU9rzD=d2ek2KQqbHv8Auy5Z0sn))jCU&b6w@RDTDfDI@61iv| zh1zTt3M~|9zP9?wN=}+T3*u!YU#M-{bI^JQYvfkWGn&cmkueK7-tOI9Xx4A=dxna;XwnM&4ei4PP_E9KX zAN87NeL(NwQSbD4c+_rn4*LMGLc?pEwi@1>v%#R(_1fK&vw_!XylHhj%8I=~>%#z= z6e_F5bh0iMyh2Hx#t}i-RXSFfsj1UvWjpQ$dg*AYI4qO|8{9FV0w<4q&*FX%cw$sd z0nxAuLF6oE!~9NWm!qGx>1Tp>F|-aRxJ4$qDjk?RrM%Kfig5EyS%m!Ju#G@G910iX zVgKypq<1rGvb*;Nsy9TtV*|v{3W@FuA`}U zvz&U-%%4oXg}++e#>>!SPD74!I3OL|SZmj2o|}R=<9Hyd?Aq;Uj5EiUtcWJd3aX?g zFRO=MmgY(U0SIL!W!%XMz0>Avg?jS2v9c%%ro%bCtb42-@Qd{uUVCs)k9ghYa7C#Mnz)bc2msJrej04K(&DHXi|^3XWFV52;>z^XXk7$&6L# z+IEt=K5HbD%Gx>A9(kIIQl=ZU9Uh%F-ohVRmKl@O-)A2O+(Wg5lLDXioDfthx7x4L zDsEvKQTR&8xuXQYby?Wnr*PJ#?q}pgHvL&N#SG{GMxN9YQh74rPZOU50S3?AT;1+38+GM0`+*f8k$-*I3M9vd`BSwH2<0D zVjZaG4b@L2rRakB4vIA@tCsX|=M|QV*N1yep4B-ta*@V#c-zpNT~FOsF+tA5q-dp% zH=U4qoD%dF7EPtT+Ng3JVeT$^zaYPFCn5U$WbxjU#^4>5!HQZ(=o2G4Dp`1k<>E<> zRQxI0#ZN#7v$Ny#8KJX!n+{s5B4;jKPr@*o7t{-sz2EqAv?K@ewjfbN5&t1kkxcTM zVkge3`3z!2nlO!{%jCNE!p%(VVU%FW%EEeV73kat4V8<$_O9}-eR$aF8f%4ku)F+= zbxOyy;w<}j$F`hQ;o6b*oabO!#~wp@TC`|H?F9gH)PopT%)yNlq9e5&APpMiP@^ohT(ca_j;Zg+Y7BkGo46PT#0*uirdv zpA3>1Q4_~7lR$l*tR|xgx$N9&xnc^04Nm>VDneQ`)@I8e1nm45X|Yy=X!RC;Fkw{z z7?A+t8#&}udO%V+Xu9V3wMCmj<3O@igzQeenEH2xq>BJ|Ii@#Ik*!s_ZzOmm(4zJn zL=*_MJd9@|CX?r4QCxwgYTLX-hn4GiwXUp017zCvd$VwhR*mN&T85z$alto3N_Ik8 z_%y%3oVTqIm@y)ZSB)|(BqGJ_CL+Gh?db{v7MOldkjw6?n^#wy7ZEa~BYloOoukh~ zyIe|pO6hh+A}f=X9fGezx7Tge>6*$OWsh}!M9Utb482aLURVW7a*zwU*lPA=%UH|# zcOZdiyJqt+GLRl}X_hR4T-qKS=sTcZQ^)~Yu2;WI*4KD`CwO(D+^yh`R`C?-Jix?g zk{i-|JqdEz3TXW>sku~3$0o^9RxeTmSQt;fP)m^)B#;Y;AFwzIOL-@`QpXne<21yh z*X5m&u9wS&uDVNjLYT7%~O}Rlb1wQ3Ve?BKKbZW*ryMYv2pmXYZ2D z?(}ANj=U`?^0q)IbZ-?zm2f4R6o^PiCCr@7jGuiZ8MMkY|6t~0ENe_I#B&tYE0nNw zqVXES$my>^yikIJt(UbcL1qpVAui1jOD*wZ({G9AJ0Hd2T^aq|+&groU6{(={6JMT z1@z2NZFiuE^V|haUI=t7CoJkWvW-A*^k;V^O+@&Vd2gjXS7D<*F(DKsD*R0aPz!NQ zyD8boF1W~zDm0_@kEG)%Zr%c)lD^jQ3?HxKg*vOHDXFqGFOtvi9ym!koCU@U%L{!# zvXDptsb^i9x9cq{cLy4cF@b_@zHBm)FIEDTXYH!EW}F%Gc6^Y4ZRUOXb^7bN<298Y z%xNyV(E#_YuaZvS9xZq*zVPZT9=a!D*x0N3VqA#^AL5VR+hl+xh?s z!#%=?mXj|R#p3xzcu~37y?jJAWAh)y*Y(Ah(reqZi_)I1;}zuEVy`fz*;Fk=!pM#a zhMZ~x$PS*VkxBASv&H*KbcFsssNl*@2TU7&F+VZKT&*!n=#s zml3f_AZCb)(&->)q+$1!64S(XvJxO1I+Sqw*sJoa%m`=7rvoIX+Lv7F(khs{5i$oB zThQ;gaUzr7?u?Q)K)pFNbf*NUh)WbRhPnDu%xioWXaZGSNqE`lWL;_)ETC?Z;4&_( zB<}qSSbb}Yha+|QEq=czE0opiKb-%WV9v}3Nu%%`_&&3tz#sbZds>1HhK-yuV2BAX zL5O6L-Ao<0y7q1QK=bz3SVsP7H1$E+h5m*V2T7x2bjqE~i}VlwOVMY?0P<8v%#1-( zhuYfW8KOk&`<<|Y^SroAo!tdzrG-2s>mHTwo|8Cr2ak+M7-1(==8%=?7yrk>47jB#GQ zq#NL$*Den-2qBGJ^w0M%0eG+Zz zVS&k^c&uSMf)Yo#WQZ-kh?G|ry@+#bLJFiv+mxJ)?cOSMTsh-NeJ4TjO9W@%#9t`3 zj+llXHbzl8>r(--FLB+c3uB6jGE^9=VahnNpGR| z^iDP~GLsmDnuaiB8Hf0LNVGB!m7WoJN6UD|WDd=4Bi$Hsf1mU;$=bN0;kJ`G1exH> zl0MKZ-JNDgK9$lLt6@^GWHc59g;U%b4?&}rZD$l3eX7sfiDbmC!-cWk?X?I zohuX#mpAj>3Dt(6eOlVGrXrexnMKI{LD5b+S zVefozxmkTDYd5LY-8i-z5fF!~+NK1ELDw*0CJLfPSOHj=2XpxxL7mTBRC|CWZ^DRA zhK}UEP-@Qgn-KGRok&}$6Wju+9nz!!?2gDS@)Q3-9dY64dJ?7hpYil&HrIaaUM=IB zh20lD2SC!;1LfwTYPn>`=NC8o)#?cU8{vP)mqG~9{4fzc1D~vB68O`}-=l7H3#(iy z8ZSbomNS3Ktgvvf=JD;)U+5-KIvFVu%%waay+5JUs?rbnwJUocQL+LUwnq? z@4vwRzNCw|xT#kCDpGm1{e|s=N9rsJfxnonahW(`h-wRM+Qnc0aj_~DFZw0;(C*o& zT)ZBk2I>sbzR9cQJ@TI$cnFE0V7}B z*Dh&p_hpNsR`I7s$6}-@U^Tc5=L6~&WD)4N%wqKt);u|u><+(?H9ui-PxI!maeOQa z!)Z5no~P@li7xhj^{0z#|DqVvHNGldgg=xnN_!>h?#o*(mhsgjtRH?rrQCq?y2|k+ zSjMY(ysk88KRvS_P=2vMIk-2Mygjd01%FoI@nvzcq@56foPg63Ag8@gk+W;%9BvP6 z<%N>az2V)H%{id>k?mMazx%=FP$t&lR(iVquu}CsX3cO~O?nL$Z_>U!Cuj+OVEpS! zLH^Ws5U5jCbQl68{<*J81}V#N)B42v97G>VUyH?#Id#sY>(0s12-so1APRW_zu6hIO(GU`4 zWs?l-eE`OSt0L742(Mmxum0CuBJ-h|5y-g3GWoE|4G@s^Y(1H-Jeuqf|E_d;Z*j}M zgv$wJ)11avS0FY+dTa705q=8d9ex2K68&@@-L@HJvu`>#mg4;8kii1f*Q-^uVo7U1^QUFUI7WvSLwY)>LIY$t0hQDD@?*^@*%oh<;?Lm0N!~2bG%y25@M94$1gw zuWC*CF#$PEqXk5d{J)gMHKLW?z0BSd0gb11X7K@AhW@HVQ`Z2!(>)vnaTLdSBr3Ux=^y)(`JwKYU=_sa2Ywh1 z;-4WQIZtPpvf{7kHml(54fJtdn9KmMg-f{ft>T+y5Y_ht{P$*Ycr%Swur<3Zz1VI* zh+tIt+p1uy;VU$NS>F*hwZ=OA=>0C!3$*M=FdHR^m(FmqYOL4r1p%dzC=t z>VzizR#cG#zBjw1V)3^j4Q{>4T@uQ$>1uFdJFC?m@V zBO|^##W^9D`%dhK{WWB)zq(7(9-f+3aE4j@cTTG&NP@_N$#m*tqFSiJ91$=PGQPW_ zEd&9A^qg;&WUkkmX^sGvym;rY&Q`4aN3kHt7@@3w2KUp8eOAhto4)qrUMC4ihlG& zKB4iWY}$tiep}MULHoGXI~#xrZZeBPFTPoOx1?7{KM4nK0pX3fZ3S8ZkM_+sh=?F`&s$^(Q3**>T3uT^R)mOs^ibCxesH)Zx*ThEE>f?fH2wuwLYU0Qu`V7Q#sCUf^Uu-Us#0NjCjs#=&n{RYYt%pp|4uz#Tx2X9 z#l|ev#xkCsK*Gx?EQ)vp5L5{vQl4M4=Z&fQbjqF{M{8d^#+lg3nc^seRybYlOAT_> z1M<(0=+;R6Vt#w{NEQD+(ZfRvl>Vj$FCgrys5kwj*vW9kpIky?g%Fs--Z23qCVi`b zW&QonLr}n+_Bv&@kWcJ2LyiLZeX}6s=@a_6aBxH7bpn(U!f~5X`|sLEgPdbBTXRj0 zdA-$`jm`!mDkxRL{oiK9MzbY4d$M(BgT@=t%hRoUX?9wT zQ_;_}t@}A`4bD!xqNC^Es-qX8qvEDLu`?@>05GwLNAn7ELJ^E6e07ewUnq8$#IP^7 zA65`391kf_m^q%m{dhKxZ7UPHYblCev9EMtTdmwZVMK87O$zbnT>_}~U zYT9WX4MaEFQ&S1#+V)iRwEgzoAb}jU?Fp*3VcXNwcDLU;l~CHAo*uS3t%2ONhtSj3 zal6^;^tzOpKYb}qdF=t@vh~-qMyF4^d{&cPK7b;2&yG(ThgI6=lNYkj(L?*JDeMG0 zS6~o4wDWxi*Q)IE0i>Gt`Iz;o05*DPpHEny`?AmRL;HNn`g|<<+^;^g&u6U9C$i7l zL;HMgAi&e7vh)3icK(7*_?hhU@k9H3$@+XQ`+V{M{(sgPv`;!8+0l|1u>bS{0?gqd z>rdJJXAhxMCk-qm$9h%v|M>%YJ$o}aZ8Qfa1yB&+0krk7)odR(I&8)Y0z81S9=6}N z4_mBDx&M#1=l@4F(aHAQ|42w#kGJRjM~_7(+w=aTC!&+>`Tfz;g!J%ud$xb{OiXEe zmVfkIbn;^RPF{#kUT)vXOVNq{0IaKuUbeqZ9MvT9Zhx6Lsv-84u>-N|pU}DS$A{b* zkB=Mlq<%sT8Yo*E>mp0gSYbWGC_imK%1P_A-8*y-v!@L6`T>-()9AmWqXghb~j*Xi|Ja*3|dzL%qYU-*9O(K2@J*9WYlecC)bKI*hSxVztZz+L4-v(q?kKtjtL zc<|l!1HDV#^glj8Cg^oKjZ=5m|MMW~(rk58u;)(?5D||_@BKzMg?J6O@BOTMNP2Jf zPE(L_S9CA-ee+%Yc=C==lH+#wtnVJF_^k+)Yk<=4O((G1xla1+{6Hw|6}!MvwFOvh z5zDeSGprD9SJI{TO3PD;iIj@)bnm>e`@a`E7k|9?_2P$%;zjA=(Z$z``-}R;>x+N< z^UvS?&!2{cAAh>stE{8dy7)=X7COa{so%wvgsN1<&H_GfxWsbOcK7I&S5u}1Q<=%1 z0L{nyQ04{~UE6=|{lwM}ElIySxDZ?iH1rmRH!Jk;^10H(KBN{}n0}}WRG>cco;~$; zy_e55f7+xwD7El_;jvGHJisxl$?&4MP>rzX7v~oj7nMt9g1z`-4Z`{0)58DN_8&ia z`t13Om(|@@=a&~32j7<~dxZ+Ev{76eUaeT|hx!}AY`_2K&Y!>g*dE(Qn1u67EOAJ;f06w3AbV&u(%A?8*Wj;i zC6s1R{jBpmO(6}s``257(T>0U;14kf!_e2;552uz7zUnhKkx(1!_>oJ42~#|fKy0SZsHs` zk6$_N9k!3!ty6v!C1xjD5TunyF7XymlSI$Nd%!&1!;E>@P#hE+I~Qq9C@zdA%jn&D zHnk#z=@O=I8ui7a{bL@qmZ;+A5jh6D&ge_#md+f%!~`L@AKdiV3=Id+4y1WXO|#;g zKE3EDXFg+Il6(=L<4H*ON!0$Lscf`lEizO<%aSv~J@!UvACTA5=|_5fC)*2`Z=Pio zl8CFR?(ugr%P6cOl#FTw**xr=14D9)MsT2(kw(ko^rg=8vE9{Ksy3Vr`N49y(8-YB z^pAV{j`2)RgP5L^cm6y~t8tU)K!&v>Lr)XlvX3jzw9K$JOl29oAjuy0U=-O@{q*+W z`q`e7mwkfn(flJ3-$L^lb0(~OfioExZ$DVR_`tuo!&7W{){bOr_f-@>el{M7mBiLF1pU_(IS^)Kv9`sH2rl) zf8FtJEMX9tHG8GgIl0Y{IdN9cGd$~$)e2RXB`U6yFxMaP@IfYj^3PB7B#O#H`1lUn z-0>ej(X%J=OJ$T4*mliYi7Z>De7ys#C{eQ|d~DmcZQHhO+qP}nHtw-)+xEG~=fB^Z zOtb>K;PhuWzmes1rt`~Bm7Nc^A{^r(Oj(>c zVh1K2y^=gCWtqu)<@cFScn8QK;08T-&|$efApG4OxupKCH1Nn^E66;apd6rjHrd}> z=uZ^-%qgv6?z1*mB0-@)#;gL)rJMrKKx@)n2apSNn>XES+^kG%RMT4Hq0LPIWU$67 z&?Jm)#Qg2?ozAT9HL?J?8)vw{SF?<^aw8{BRB-wgB#txLo$xiiui})N$;o>(oY~Z{ zcBr)JQUV&R$Chi)fJ?O35SS=VnG~~G0%A?K$0w=t;<1GZb{dB^Ha-^H3eCo18_F!z-1ebudPNSQ=Y`ktxRnvV{}=0}raM zS5DNa0Jlsaj?tA-n(v-=&}W!d==MFo7p-&qEWrGphst%7#Gs=hbflMr7v(8avJOeY z_kuARFihITk-(0P=PPK(u0Ba|obHubs7@vn5q0psQd(=`_~8;K@aGw57LDcq`qB)}=X4l65hRItGqhpl z283x$07Z@`Ed##NzXym~Q%4F>H`NZL>d}jQt<`8w} zL&RJpW0g97F7u2_5YuyjN~KMmc9BiX=-~j!w(u;e|7YDPVLal;gO)-Y&sRV7R3yY) z(MM(Uc?kQ-@2TQqpzzs0;zVI@ibP?+(}S|i)XsZ>-2R3W%_N`#(poTfmR{4LG|NJ) zSW<~QfGoO*NlqY{mGcyJumow8&{a%on%Ku1s}_P*qE8w_DY{}d9U`=33DKzI2t%WB z*NaOhe1He82RFZ>l+bWs*^J0gvX3x@oM=!Hg^XVbKIUb(G>6lgoGMLWXEq+gMy%|< zlzlbnqW{-ononm+grX2p!vC1FClSSIN zMMsF#Yc0p>IgDb_d4DE#58W2}YZA_K2US$=ACbxZu(Zts?NTKuNd4GTYi|OI4H@Uv zPLV63v6q04@HL{!ZEEObpsYDE6S@5P`$^!V3i2hyTuh72dgA22j^ILRUa<%%=SjJA z;SbX&KuP^RmG-%)ZYCurmSi}qtJPVqLG@lyE)&b;?U_(GAh-~ls@+G5YtF7>AIs&E zkjp@tpjAsg3bit;3pEg&)NSCkkRXny6QuD>IBFxFxWIY`f^5wXkv6_{@F*W5aEy5l z$R|n6ie_}@4j}oDz=zh*ZnmMTicybovsKqKnsyG!1!MzW`GFvnfCEk(TXix|OplbN z$AD)WbUNl&=)+l*-nu+zdD8oj28L&6=~Yg^KwWcb%F$B9rUx{yx-+qZsU7c3@YBUF zwmn}h?2*Wk;G4X!l7%1}%2{h6+#<>u-AT9=Lg)KE<4pJ3NOb4LwLvE)fsqR2Pa`u~ z20q7g;{lO1Fmg+p`p@%WcpvM*Ms!q@kIsb&6VKc9mmv~o%BE`UPmsqUkcXUrI3*z_ zoCYGn%$o(2So;=)T`UT@UI#V~EuTdM`X!XCHl#e`3O8a_(C?=>#_vG7RnoKj*1 zjIh);6@t@YbaA123X^w|ALN z^lKY25hzGt$0XMa6SuoSx++e{3yA)O@|09UgZkhd)4rmrmqW^)7Iz(px~s{U7w;TM zQsE>x-N)34hd>-e=>n>Gqw%T|3whSu99IeKWTnIl-D= zoJ!4u0XFGj?#Guy3bRK}^=ET;W(nBLo+(oZA|446&@OD@eEmvDat)IzP_I~1h2nIyyIvC{vaXd6rvRSs= z8-NBIFC;N7bTn?3UHnKUTI_C4BGg_{sN~U|nQC9L0RtFNwNzr}XF;(!AsU8M88)tG zDim7c$^e#_@`|$zj-^}n?EL}E5tdywD8t<7ouJ5Akj-BW6ix)vvV?N`cM*DiYckge zK=3bk0NrVQTx4V7+jpiLm&-a~rWf~%v43ik zT3DSuf4{Y%mrJ@6;{;pY-p;7aDA}hz22QY42)SY#42n$0Md+AK!{$$0P1#)4co5Xb zF$)bkR37S%H$uJnALBw!v@Q!N`bs8C6Z^SpLv~3_+NqByQ4lz^MLX=jEu`Kodt6NT zPQacHLB zLZ3BwDOvi_v?!giTg6i8yHnBE}L`(RE(!}Mt?2xI@ytb z5XIOuxt)f^EyK!gP(uc=P*sYd)%>B?(eY8Q#7}Y8PZ?%jmfeGSnE>fB!(4=I>ol}^>is+pYm3FZ*rk@@Iwor8cSJ?OS>3^!L8Fd^%247&g$AJk zMELzq7#4oA4>!fiR)VWXF7!OS)mja+Wdyl(-UJv0{4$HKJjJ-uu9;wiL;Gk|K=R1z z>fg&8O%Cqk4Go_#pZCzo$FBI@z@ZuY_y}GaEqG~@h4%6lC1ss%u2Uxe!La%o*u!(X zu@R}z+##`V;VEc05(<51WXT9|4IW72jVp4cK1`B3kcWr5K-G~wjeMDQOdH*(EXSp( zs1wQer~^dSXBevAjp7YC^#4hPjVS_5J6zp6Aa;iSW^f@WH!hy@?SP9*8V8_jf4bP2 zORP0YRa(?&MP4}MI#%22&dq1QW)NHoxn^G!<-bWXm<5h&y&=o!sN^uK*O5j_1_F#msT*+#G{&GVyG=$cS%VG-?v?!K=pNYoDMEjvcwWch z%?t0E&G}F+JaMS}U=M^IKP~GQ!aUawzGMK>4#H)-x|)dU_Ji99YSr90JijNFn%Kwo zTWNihwiZQ*+BBdsX92{$lH0DjctOaYJ#=8o6PZFCl?Z@}5XT-5RgG&EJKTb3F|XY) z=@ol97=JXCwloTW=HaS{)ipGcG^N>6wKcuX`{(lce5w&FNmY(5a|fniWK8X>BUpo! z<{yUSsl8OLSh9lG2oP5s)@I*nHE^TM1M!(MKf}8YQ&y*f)esJ#}OuA59z5QeFvKcOXy3BeFkCot9CO{bIc{0R7G^pJ3`gM`=95#Xr z390=l9aQBdh)$)8ln8T3!MD8Nnf~*pAx^GGbXI%hnG3L-UpJAqLW@G2Sj4MAUw+&6 zk23CD_~NI38k#?P^-p(e8v38>9X;`dXNIi0Z?6zQPE)u9z)*0n4P`>kfN5mc=gQi` zLU5ky`hTf8AqcOw9^3eN&zn1fS1#*(JO);R!2+H&3^BHUvvb{^%r&`3BMCB`QIR!e zPA_TZfw{Gqh@7tJ!$O1{|Log1`?*>op)*WIbs~ExR6LLNg65EWj!#1+0+vTa2GjNd z=91R`ojuIS8S_NgYltv9b2MWjs-I(`s|qzhj3+02$6Ej-LR4olYsLdmTf)bmi06(w zyoMcf_W?e|_mP8}VC@M7e}lu{W(+T@hT1GDjDpE@YbpA%(a93 zySWe;cJJ82MHV6&$*!K%!mo#kcNnWdJ}`ofM|zv&tIyX@V^8U1Q8Sixtr$)K8mZ$ZMV+FtN_A}oibi!ue3H_yf9>;3$vibL>EOIR8gaF+#3Y1 zZ+bKM4at3q^*nfCKMYm3BU>|9VFKqzk^Q~$AUY;EScmtAo({vuu|KfKrL8A9D}4A+ zMXZF!%md7}PXqfGB@tWMGR(EP@?s)Yu36;gqpAliac#Ol;Nr`CpX&a2(=%4i`RSV# zedk3kX!JYsU3fem{I$-n32<1 z(nq*9cQoR});@MLQLkhWJb|Q1NOX+LF!+@>?7<>s$fTDSNb=uRro9orT$zdFPCFqU z39wbYN^%}=NI+pmBh{U+GiO)5P;kSE)HMnI7{><-8O%AsKsW`P_73i>oN93Xef}F;Ar=M-wklpr$l4;@$a|)D+WLlydm3lc`+nEPZtB=e}a?;@R&4p8Mu@ z?%S}Qdw2$O(snsW;ziX<9sC)n1Pz%*2ojeomRiQtFhsn6xgIVBTnh}x8ig4@h}No! zD=NMDXC?xHmrKhY1UQfaFWdmT`4& z#d4H7XP)a%SC&}0A4lX~fy=TsTYd5V62%V_jowoUmK-D6wuiU#)IegFDKl=kLMJ9t zv+{Ra^N}{22p480J>bH4ii5K6tw)#g31gjuQ>-EEP-|UMYL`7#MhVms@dbIUMVEN$ z!n0ZAsV#L@!z+tdWILL;umbqhoTp+#C;M5$JGXf`uuxd`#ep;uh^vm|e@MU;gDw{7bzHqsM^iTvtP z-hfx$mw7AM&4U50K1EHvr(7hsU9lQMxmB;~NF}VGG9GPNUZ#4;d`lM-a$|Ja`Rl6i zKV^zVme326X<;gW1v|D;eop;gEosyTYDpz3hjP8%CTaMmQc7tCGjSTS6M)z#(0IRb za%szlifnYvl-HiqQdf+)G=rNBFM7NpIZ=JSGdp9CmSIyepoLSBcWXVJc z9`7Lv4{K$pFK+t=WTuq#{a z?XhW%e|mlviNc?00>MPACsH$b*e&+gR(c7mn~g_yxfuuEnABc-Cf_>^RVtt;MNLEK zSHj>WRx-&LhG!8QlmWlXQ<9pjgUR6l@hxM^;IiqSOyfYo-C}94^HbhXM7($DNGR$s zorz%Vd8V5nJ0j`NAt06N=pDICHWd1}=7#o&0Z(?=TY_91C_vb* zdJYB(O6Lk~u-Ss5D#*(~ykD!{ZUDR{&^ZQ53CJyZU2P5_2d+hwKDlA;6avEU*hbDL zunYYXU*cioaq|8gX*?(fSzYU%n#WVh`BPSqo zI`Cv)bu&MzU9+Pny{Wns_FkyVq8IpxIt0hzOI&*&@jP3R-sMyBBw?K&Z*L6A*eqm! z{9%49$-p_;bbDbGVc*Y#HWfv+`%^+*^7=rPF;6+_*Cz3#)AaV}y<=w!eoC$dy`Daz zTO=t!&`L0HHfNX_oy`{*XZSU9(sF`pi&|}2b}Z+>q7c<_$n}GsmE3#3lK;+yAd-Tj zRDE;rkje$rT3mDvBF~@UX|yl%n^2+B_?7&=u877(H;1@;{}> zDPRli)>7sbj^?Fx@(1^er)?Up?j@+9`nHfoRT8qTpGxEV z-6S)1s<&xU6Vqf6ic;Ms2;!@&vB}P@{}NNh4aHGqo~tiD3DLn(;iy7iOM)}%_|1m{ z?>(5SjiDu1DbMQ@t)ydl;3w8iSb+z zVs{Lln92SuSppZCdX4Q4G0p`LvG)mm%>MotcT{b+W$J`Y z?-e|X{XUU?Yyyp${^@$n=qZ0J`2KEALP5Tv%}cL%w(y5e=C(x0yYzs6vSyR}7?P`h zZ||Ba8Qxwts1S;S>_+Y5w7r((|*<{W=R= zplQho@Pm=&2!3`05JP^;ey{Tn7(*BN4+w#W(|)Z+8x%a@sk?#`#k*-of;^xup1?5w;jo*(b$Iy6Z1VrI8wG~^K7)&KJ5^Eh1iSSc zb+3A%zvT0gU?_OP%lw1NX#e{0`-)-p2Bh%|OxbOLPL$6{W~a|LK)_)}X>raTF=H?WsL5KKaL~*FAS=8(M@YN20PzUC$U?IZ?Ot*k3}9&C z3RbtrsRaP4&tKBEc%4~*Zu!I3?h0176{B8%gJ`uDuIS^`8l3%t)&2n0;w;~A-hPl< zyfU*mCv2Pnd{MSs3RD}5Qv>|KXyFp;acBYF7gCuNMvu)eKn36nSK}$kgFgZ83wQPo zLbiNV7o!6FvRk~U|C7j@9^frQ?hz$E>fahKZ)Mh=PzNj zdfi)q*8RiO?h04vIoo|(r@mp&Ue{UMzrD#eTKHhX&Plp+unoO-nvV*z zvmfd6E15mq;%U-+ua6tPw$3iw=k5}3n(T9R()~Y$zF$Xpn~Z*Hvyq?b^{e#zdcgG zPl3Y|2A}f;r_|ARxfjXqPxeLuTmNgPDd6*?^7(ba8wGLwbksas;JfIUK)Nu(TnjDI zh3|n*p34k=ftJs|#wXt6O=1QhI>G$MztT5;y_q`9KDW&qt})nMVd=g+>`nOq7w2CD zdEkny7#cR*Dni)12l}sRS(wl(ewVzKJY3)iwHUEbL) ze)kDkeH02yntBT~z03UpBznl!Butv}F7Aj8t4${TW8NJ^xvZ!@bDuU1i9IPRZ?&kE zAy2vIIYYF0A@D5s(+J;yk50t3xdjgEN?c?{RV^tcTLiu0PI)eFd5T3UjT)YJjb%Ie zKSipe$#aVOZWkE2!4DmdOfp$!9o9NRw7%E$70r88THQB6vl}Uk{BoKlS`1q|fxsR; zX>Fgv=rG8xEfaodvaIa=i2=$1Y$Lf#pbFJtzfi1iUa(S_nQ_(wV#kD3o-5ZmSYT+( ziv2oCX7fLqS%}wc%!ucr>I6@rS`T`%2bHI}j)TZ+=SN7MuO8AZZ7n@R@2QnQvO^yT zi*l3$<%f)}%v2we+KQ!HAD}s9+GzQ2Zqd*B9U6Mm&?RF)?_-dYIB^gkF(3rC&Pm@! zpZT?w^=x~Xh(5%%i`gD;nI?UbQwj$tkdg=9r-)QiUQY`rbNNEB(cJO1+KvxLV`kx+ zL0#r$nXlPB>CJj7A&6TWs=TzI?X0A%fk(+s zbxc(f-FyPP8f(C0L{nKg3uzb44Te0p$caZ+)+O25GBvJ+%22Ky^F`eabO$%-jQv9r zH4dK2+}lR9>?1LoOb2Mt8a5H#JC!4^sPaVV>K9AkV`(o_KKFKs8~c-dh)apeze!BT zoOyhwzg{T^5VA*t5t`f75%O%L3Oxz7X@mwdyr0PYxsQpf=n^Oe_t8ue1=lwbYB}BN zIfSeRI^*z4N4R=%n@Kmr{f@x%)u8z!yrzaMuxg797xoCo|QwA8iT{h1`WP}Ithz69aS5&gp0BX)#C zYK&xgi(WA%Qco)ljSiG&Lq=+$Y=|kOL4q~2eosNSUIY(5lukI`9%S^@6Q+C!HTJ@| z9=nshjGi?2_X-xh)yNbfuSOaZGmB`!!wz6#dQJifr}~72_nsl#NK4<;oIY2%Q7AN) zy#Q3lF>MmbJy}0OYDSd!c=5%iNM%n<*>4`Tgm$vb7)Zb_uKv!eQ9=JmFKF^b%RXw) z58ZnWtdWox9{xjUXBKU3mw7ypB4-^@m=MyLci>?}9S%poPGcnj0`dHy%h`u7sK6RA zgz!ED;I~?424dk{YZe zinAW6i3K2E{7_F+h?ksm+$LdTpq0uwz0DR$N4bNEH6116nZ7*ol!57HU0*->^CaB}AiVB6P!!Az zVbO&n0}28g>>2RS&=VvQDHpkM>DpRa9>ESk`H}V<%Q3SmnLv2fbTk6Ida#k-f2* zE+T%~fS;v^ zZC*3)=-vPq_U!HHSF-9A*_KV{;#U65KY1bbc>HyIo*y+T3NE5zl2XMQVDVBe^d$xx z*~7TRuF8)Kn01{j2l))D6je_&KF!^{)+%vOs4)q%EsbCab7b{)5Xgj}N<2IPPWHVQWT4<`fVvI&q zDv~|E7#epsjmLBlo;7Vn8@MfD7k*y)iRc}!#|d!H+moRTz$C-C`Ra_x_Nitsp;)+a@Fstp zzG6-R&@uy-_{}ytAB2Gl$xZF~*T{RD1Np|RM!^%Fb?{5QG^N0LJCL%N)=$86Xvc&W z0n*{2U>r_89MEULyRm{ri=ZO06u#!>xQF&RL8dZ!;g_ zC_wPGV>OQH0874parBuyPO%8Y?eDb9JG+Z7(Y>dJ*l`2nE8nsf!zmI|frmABOlV_@ z%ZR3``9`Vu0}^Tl>BJJubvHb+R*=VXuW_e9kVZ;nLZ+avZFHtCBk}5Mh%>q@)4q5N zeXLaxELR(O_~0X3YII24ytU(`h(0Ccs2eGiDpgX(A292=G9|WXdW04(u>DYSquWZk z=`BnBw^gNF+xbl6qXxBw=Q57(w-LuepU6J+D>{ywc{=X%1JXCAIEf{$b%C`5{PdZ> zJ3~z_?%UUNifA8i+8;N>PWC=F^SvKZV6{#i!`F3ByVuDz($%C7h)HXWi3mXb`mS`t- z$9aXZrIkt#_KzSfVe%Uek2zpOe zjt@i&FZ~n`WFFU@BcfOcF+HRb%0@PJ{|d3UaFMHX(q%$_Uewio~S7 z@AOo^HWWX2gHzt8Luw^RWqB&fS>pASOts&EW*YfyH8REiHEo~3W$PRwyTTYkt0i+Q z%o81uxCa!yXjdeRR;&~uLktcWNM;76%h=>2MSL2Uu9B%V1Pm040|1Rx@@~~23SQ#x zoIrF2+{}(UypIzDzUx3KFk!iW2(U~D9*=!~$As*>Dafd-&_qtlpot&KAx^wXP@18h z_q6=++b=3-<}dZDy&x8IG;Rhy%d>@x4m^seZ8)tP;!H}b+|Wzl1goaN9w1Me^7(tW z!1P-2y%#;UnaweajT;83)Nh{Jv`!DT! zxqKYoaJT}U&#PqQ=s5h5{!XhFF8m?l(^$i<4Exo4@n`<>IlH`9ZtNe!E*Pe-c8!)5 z>K%%+NNO@^xIiJ7P&{v{WY#8nnrFZ(+p4h;?7Kk@%1y1&V#o6gh#!bl1&2GvKzJKc zir4`^|5;7oOayL0H)iJ@>gXC>xXB=!2GFXCc0{G_d6AUx4D zFBP`#F44tFdz`cU>$CS!t8SH3>qY}A`&NYh7$QP_z90(3z=>B8pKeOWT z6t+lp5Nr(_eA2Aej`FiE!wMiesj{_UWJE^Ed}hCb1x>3%NyRX=d4WE!>v+^#@^l{@W3IlXq^PjZwlL}MX)F5QsIe0m1K zVYf$At>HFdVrb8d?LwBuK&Vwh)J{{SW65FTBjgOQ+KKGaY~o5Jlt<4fT4-AVs`P(G zlkM5MWIHBf6*|u|_yhxB)eG?Db!{^VKuLk$mICdz0lDy?wRquzS6%Cqx;URc#@Q z4@QqevD%ZrC1&CbSygUWy8>%zZihQ%tg~lPuC3Z$`1*HK4{s7|uZbiSO+PkdU{>B! zL#5uP!MB)btMSM@J>04+AJKqC`1GtDH2{2VXDM&FPa)=3XvjI~KrpNL{Fjc9?x$M& zLLmaQ&Hy|uGLm=1FAX{~dNEA4EEk`?xaF1Mj9w^;2$emqE8|DWt{OVTY`U=So!q&( zkGsB(hk9h$z{c0uwu-2VZQcHq^bLYxQ<9VRvo@#h{ubAeZROKUSZcU z8ml-wL7%q|@@6mah4=E^g%Q1M#l7{D5)}N6--~~15VToO@N!$0UTx>+2y*$Yi%y3j z+Plo%UUCH;Z{V~ftdE=RMMeENdVhukq81#Jv13W-*|Ki$(NaZ!gnshCL+xk>Uy^JY zJ%Z>({=Dj@Tot34R_h+Ga`#1(y?Wk!cKsfWgh#aP!V=jo`-=5EwE#_^OdNKjLACnXLZg@3yMYZ;&^nMEQ_9K{eN5ziBs>l+-ly7^ zLw0AJfUN@_e;C5$4#JQHmE|13%>=m2!8PW=qKajW`t;-l*n>ULj@$)yD?Tu9>Ryxp z1g|GU0nII6*<5)>Tqt8;(o~4P5s2h>9<4vvIPL~0^#+T|N5!=9=VTW3@bC^T(BLjE zKZDUog1z6YHvFo9+RexHXiF1a8WbtlneLohN<(j=6VRmERQ!}jI0wI9*l8z8n=t!* z#);9qPuiuG`tK+^l=LQ1Do3fNJf*fD5r2uk82zc<*05OCfnD9^%exR%o~_^~PtgxS z-YOlDCzK6Dr<$TtmRF)!BKPErwE58bgbiu6n;{rjFsL;VP|Q-s?M7eRzDE_0T5KT| zId6L{-7AFVGB+9lIw3J?1CR(u}__^ zR90Nhwc1ctu`GnegkW)zLf&Y78W~Zh|L&5kq&=EIADR`xQkI@cw zV#0r~Lk4~SN?@e)`d&%(i}dD`I8ZQj$hC7A3hsh}#_07Gv2ZsQD9}W-nlMw4#rt+V z*XLZaj4wwpM?cQWR3+ClZL0{VU}>B4qcxZJ#yT6RQix*TYeP!YupaQ4L$cnH(@)Q# zPJbTlb7_ek+TGRjuD`K{RoAU93=-D_37Epd{rv;((CWFZpDeiwH_p$WG(-F=wdUyo zjRI+aLHU5^oywrzPa4n_^V8)ro%ngbQwSdKacp_(#n1Sb2eIo` zC-4gH-965}13SJ;Qn_=y#<=$ty>H7>jU|B6ysILA^B6_F9eEA)5fGdx@Osq785iTT zk>cmjM5M204H1kq**2q%0M{?g%z>?#kL|=T+ zchR&HY$EQ_`O`i!M zgi`YnDqK z*1hHN3>DAp%@HPAmwV2QF74;~}5qZKPP=5?x{WQ_o_ zp~>7RQ&_~NR|^nnMP2O-C2;T}L4Me^6F#~5>D$gTY{Mp(s|Y$OK?aH#6CNOXcJoQD z?4Suzbklw+%Pqj~r)VT+XcbiL$0O{zi57qwO)W*LpBCNkPeVDqT6vlK{}_0RZfV6N zC#7Mmwp5+NR_la-^I!)ND*j-4ecIJ;9l8W+<;Pwqfzt#NP?8oT?O?_cq`7wB@(;5T zHaO={1Gb5*MusFq=+G-|jgOnsd4!tIfXbP>YAg~77Vj4D{>pxV?&%k^0?;FOiwqn1 zJJ^Mn5%$RUOMlQi32ZtJ`^@bsdc8`tz*3orU3rL|=;lcl1goQ!%8k2frjY|SmXC9P zfnJ;tb2bN5Ne)!UXbXDO19#j|%v=U;f^5{? ztGVPm?ip)>btP)PM5y1QkMtw`xEal_i~2|Q1SX`s8sgs!oT7_GU=<#UM6^^Dt!g%b3i)1no7ZMYRLq-~5>WQEo1wVjh{82nLcl+Ogp zp_mS|)H@F#nm8#oWP%V^MCwprbTD^3V8TUeH2r85FHtPhrh8Lo5gn`rXk}No34%Rl zpB7@Mhc1=kGNSCEMzbwOyvm8_ldkME48g`KD8!pnGw)azpjS#n4fn)=is=ZH83~C_ zhII*mKmZ)v>HF~BZos|A!DaJb8LBl-pOahdbH#d=EFsl=;S6|Z>Lt1I?evmT z0KKZlu|TGQ;RzijX#;tw$CdB_EM}|`ZXP0bao%tu1k`E_7QdMjQ>HCsVt@90iCrud zu}^%3u8Z{px)vyU_o%n?mmzY{9h7W}BHH9IyZZM1x~kuL1UJFoZ&=1q<76qiWHck% zPUGX62dNI7Mi=fa1LqTZsB~7x=JYmRx@pfF8qdU(|H7lfV&_O4xu9!c4}(BE?8hu?m!XW>VAI~VaG(%z*S-9tXBhq ziB=e~kOkbUR&9W&&}e;|aY%$Ia*~@bmG8r~yN4 zujCu~Bjr184(kOj(;Jnj)oZ~H)79R?pdOurI)PmpRVUHhHiYSDFJ1|#KooSAa63dJ zI)W&$h?S5y2Yw{^F2 zai=*=_6}#(&Vx-bX80wv4ngsIR2KA!W0y1!e)@2x)9&Q~K#(n9HvTcsnyfz;sXJ4a zT`Zn8!Y>A?IEisifSKcgjUW{RNF*&2dcVSPwA>}T&`oDpod6w*RA% z4pL@m^kRiQJ07}3^3mt_4AW|vM1vC<(5j|pdroO+6%VfD;XoSl*>;IVhkDC|5~E=V zfFkNKYan+k_q5rWnwaxNXw8b4-|i*E2=@;oNATUeoC@9_?TX3Zd6|c}Rk@JXNbD0G zn?Pr)z3<|x4rhpZ8j1?ac!csuv|*R~4{Jy6#G16y07jS(>d6$8vCy9)F@lNKa9;iloWxVvYFausqX;7xD;5^I4z_Aq0-VmY@C6Yr zgjEN?eQy2pbl$Hr`b{qD347vd=wkjnkB$sB;-fIIsJemO>P%od@u$;-C>+3aK`#|3(6NJIfzLAD&-rH{lT8t->o%Q&Kl&M zsj-LV*l{7LMe0%Zzc||uHN!4bW8x5YdP+I&5E3@WsWs|na73LEW-?Bz43~ii+6x33 z${%R$EAbD%v;!93gCJqToDY8P)VVWuv7~VFT%@XeJBa6-6j#Ea-H%P${Qw+-KCr0b zk&>Ny%5Mrp!U)cA1Ago}QgsXgyca&5YKgHwHB=O+HSzsItO{ck1VRK>$}qMN;ANa; zzxgH9Aa{=CYNR_^k7lXBF6c}nxzdKKvI72Ixn$4+otg-;B!DJopBn#^-pigwQ@MP6 zfE~pvjB80KL<3Ndc_nmtF&9{~Lyqs%YKv(em#3EctkRznwz2*Xp*{TCqBkyt#j9CYQex+!qe+e9L%tsf%~>ya%6w zw7~i_Y!oOdd^5uodFkz~Hf<3nDa*EO+58XX2Cnkdz@8fOxt^yJYGUwJeX-rIZ3`b! zLPWaz@tXy|z9%L=%8AZ_%zm{o4)2NfroeZKr1k>3!^P#^jMzhq#Wp+y;1d4v`*?=} z*$2a}{rbraQSDInNZ3xG5MQmZN1tJONLpZ$tJ%OsEk$9PqIXp=+GBGkRGBD@>8U3b{*8_Zxd#sQC{$YX9LXCf1qFQ1)=Fiyrm&cIm538+CC1tW{lz|x@srb`>iV1O(EC(#;Q2QXu1U{PWCcLEt2S&Ev; znHeE6LI2YR9HIrB+cV{#?5qFA|64n}|E8U+y@{onrKyv&si*V*pr4Defq??h;W!u= z1qVQ(08$JCBk$dGZqzT&D&0rhCJUSTFOEV4Iu&WQ`ZcDGmO_HQiqf<~-r+@deo|&y zrq*$;mL?2SAaF@V2xDM$AndSJSaVswCiFqgOAM^SsvpM{QI0GAq}4bL-0ZjvH6(=; zEuEaK;W&-k>>M@a|r}3jnUp|IasTYG9Bv)ZbqKGHi{FQLqmX;sk6YmXVR?ekwQOk7teUt8I&w zUF{D?F$|q7o#in-YLF~{N>aGF=A`Zs4-jfnsAR=W_dNHf_JYxO?jZ74R7B`4(1_jO zBhH0VxAE=HWZqkxrC;h~TDoAKIYURU(cHmOP|#0Nl2O<*s@&dB%1q15D$(7FG(}%4 z2g(VLTjD{eEKCwc1~NI|#}N2otpVUY237`E!U$W?N(14`*5WIdfR8w+4?or)OVn4` zOwUZx%t+2ml}gyoPm@Ym%Fh!|*b-3KNzTlPEkQjiCHWG@jQs2@wL~pNfJ301`|J$8 z)Z~;jtt7}}fHab{bOh$V!1Z>I|3^py0Fd)Pf{XFrz*TlJbaDNk_EiSt|7kb>9T^0A z6)B$jb>@zi0)oDZl8i#05#|n(#*!9{l5|Lu5=7%c5imA{sVK(4$iUdZLPGY|4h}}% z)Iy9Rr2i8BO|u!${hw%=|Hgkz0}2@6KX(6r82*2zjP31Q{+T`f|9cg}|F-IXU;Tgo znEbEZ_P?HKVsC3}>g;T4XKw05XXV_hv1PX1PMCrw8S5$W4|?mD!@f*T#h0%7?6_F88)r;}lbaHm4UtW;*)f(cvFxtEDs zQNl}8BJ-S9*HQ=lFH!X0FpLoR>lm%WT7?wB-Fuv3S2gMvLhQFADB4-L>3Ze34=4co;!BOZo^7z^4JK%}3& zpRr#E`s4H7x6HqxKfS15Q!Is5DY0)z_{W&o9nj-!pHu)jKR3nIw*untdXairfF1|K zguGVJhz;+vP!VinCg#G2cI?n0uk1^rUl>FdoAtz1X{Yab?kyA9BpvU0AdA zoS1mHxeJ-Qj<=igyh+`kvEU|bU=8bF$CO3UHF9~33Hhfm9%}>4Dnf}XV<`+V7Cbgg4C)i_b3WssG4cS3PwOGfH1peQY+?p> z?wd~RDJZbBHz0;wWOP#>_x1bM zSlLj+fZ*9;T@*VG-b3=3?_Gb-*WPms3r~RxbUX*3qI%W@Z*7q zZliI9)Id4!Dh>HP+!aK^cSI7!6KUN6rvx*D`OxX>t>1f-T&11@%HlJpvQB&(N*PMpq`D!aRT6fJ7r&GInG?@;tsDH>zklq0Ogi0*t+W*IKwv zRIHt^6r4VW-frBwI8qP>sl3~=J`lRUNxX-$EymX!M%InQO?yN3y@E$0Vv@gTtM5~= zlodlc2NovmTC(E95o1b9jzc3e9m|ASM&pI*BxyzD$34 zs!X3QihFSNo?d!09O&}AlR;hdjugz;A-M$3B_ zzEOgv`a#qP!RBoLZCMaJ9Li}>C~r%&)xfUAD$~vyN<9F{R4iUKm72*R)(<6t0?afQ zL77z(iYkdEL*>(j$;1d1-#&HHz2)+Dp7C*TNjrI4OuZ&zr zEnekPgh1;8#JWdw5!C=yF8dCxuh>to z1>>h{QolTTD&l62|KS#?rX66BItjRnUZ(WagOGEv;YPoAc#`kVwFIwch|S@;zh5%EtL)5nC(K<5UZsiO{xOFHn_+vB#Ebcw ztEZJ|kFTW@O50(xygM7f%gGf%-z^Ip#W{Id)c^*`lbFX!@9?yt&J+0Mn_=9!zCl$LZAz zS+qLojf>3kX5i`K1w>>YpCGTv>P%wZgXU^gD3?3cU3F{fsMu5;2Db_)76MocSwZmu z48yt6Okac~=#N#B-n7*I4Z&W--(OeE8*3O=ZJ<9TKu{KNr$BWU;}b0lWD1cjMs4X7 zBo}fEWtF1{>cPzX)G7u8cm~iv^cs3pG{3an&w2ima@mKIBP%e{1Um=#r@+ z5i-4)ws;`G`?5+R30*@l5hiMzgp!{?s07vIEYzw6wK!H$C{FipF+C|1R-+)y9ACe= z2>vpPTT%w@ieu@;q$H&brH^2dB){NW^VZ(7{pVY!N1vQ=z!kiNL#IAbVUkdp+}Iv4 zbO+o`K2ZTp)P<<~$7dhH4Mb&N!|<0z_{+uJ{FR}1U>lXHT(r#6I80uBB8ae9uAn+K zzswA(R$pVj!6-wu{wgv}c!)oI39GCKy0hNXP-@vp?O1@2H!J06h_LA@M zKCLWC_WAMrTC#lf5;SBb;XX1%C1they9E*|gHL<+N{h5SUpw#3y&F>32xs4q1V^lP zFyaBe$yc+mPxztAM&5(OKX8;DP4E(=WE}Z<{*kBr%}C;?`&+lLmHW$_8AGAKv;JTI zLnQ5r=TVhGfPk>U{@aLw{QoIRXH%#Dl%$n&k(#aj1{>1XmA>PIztk{ZoAooLU|o@1 zJwW<0UrrruKw%c;w{wC-RDPw0?bmyD0jaj^0^I-{OA~dAwP@sbyNk?;I!C|k z1F5IXFSON@(gcDi`7YOAZiP_=?eUP;r1nOdT)p76`IG2O$5kCCPwqhb8`FO^xq*Fl zg?}X=EJ<)^G=SzuIUkO>th30H@@$W;+N_InbO{+@Rzw&ZT*>I2>!_hSJ*rpHFm-On zQ3Oz8SQAZ&4m{qQ-hlyy3={8gWz@PZIU8ye3XgmGLwT3_7eedj6*Qnvsf#~+*s$u$ zo=pANr5&DIdpbXzEv@Z&`qt$iQm4~m9^aq8ItA#bxHNlAB=<~W9;3!fU{%Mn7abD$ zt2pwRG8rhx1hmbomQk5jDxs6`WGxXVB&Jn0rk5#6X_tn>Y6F{qIH8RLq*QI*ByHv_ z8qt$cD*gpzD^lG_WjC7_djM-Fnd{}B^YG)>B><$N;9^-5ireP@#XHDhRDGeyH{b)IRdVvGOC%vy0nYDCQSxPhx;Te)`&|lz5C4?E0U<WPf=$#I3O-gyNGK|G{<`Yy7o@rojtG$WwkHQGz5*A(FGQJL#}E$o=pY8Qi5- z{&j|p6)o6{PjC#fR_Y7uOEI}aH4}VXoE+^1D4%2$52?)d#r;4a{P@dss&;9~aZ|{0 zB@6yfv^{+$C2RZz&5Wujw#N4%3|T}se1rhQ4L~l31=F@)s_!bpbO;cJoii84?eDfA-;47zV%rND)7;x|v ztL5GU(9fQ{@lWn5 zlI}QZiJ2T>Vcznb@$)o5}qCoqG6eVj+newB$#JQ6awDH1C;u1i}pXl~J6 ztdkpJ8A}r@QY7v3hqd48koM~+mpbvQ@j>8tQpn46ViD4JbS0Y-R7qG#rkdA zi%*Nc%pt7IWRfSa79(nv;Ix>#EPLS0ttO%Y>`48Ne%l%dG_QaqwJVoJ*Ddvd(8`*d z&r6BL9w5kRP=$bBKoB?1MpuIjr3g~**TAmZ3`$(?cxxki1b1eWSN`jmv3!7L)B8D6 z`0HV2hR>LV6OzSe+2VI1QL&!E@qRub&ejc7t3AqZ1(Dw$HY&v5geW$#h<){bdWTc9 zv|%&np(%`qpYZ{-5V&Qd_xR|YtDG3BDk+yzWTGt*Mz`l|OL_dueFZ13C~eiuG%UE2 zxWBH=@^FNSD}f%r!BFBoj$BY^f^U`(qJceNeB` zC>;>@@5oIfIoSU0OM-pSd!S+n`d=i>2&RND4-){#HQ7wk*d(StZ6?ClLK&x`3R2Gw zJC*u5{ZnqIEVnBtwcQ&~8>bCavNKST$`q)u0$qZw!p}q);8f=H!24^32rM&K3YG)Y0k`(x$genbX%j&#< zbfV*EuE&$uV&R7#){;N-<4)h)1H`_edC=_|QrP;RSB;g(0SA;RL+WzO~T24jf?Or!9H|`5%@Weax`A z{v(ks{J#X@|5loye@eo^#?Zyg-pTgANKOAa=49$@@9Jc1`v1d$|M!@wo1u;Cf0XL~ zFpmEfm_CW2G;J)`JgOpu&kY;z%qF<0r1@rl5kqyUg7r!^3R{1;JMn zlb!j^&D_`up1BU^9mTd|cNl0V$Jxi3bhVBq(Ok@K*0(E|w&pz?0c?5gldJKRuLf)+ z#$^mh^0KE@ddmcmfJR9xcwF$5?cXA>NB{nvy}9|i2~uZ4e#&%|h9coyvd7Lv;}~CC zfGbl?G_Dk@aGs(-2FL5?TL7wTiYHig)U_*CaOI0B*V?11|6QxaxAC0+ah!8F##pnH z-6|$F%u=HoDxe)n{0jQzkN)4bm6&d%Hb8$uSZK4 zjpST$mp8e_xpi6KNe1eXUch*MMpHOaID+!a}bd| zVPG^_@E`w<*;2*}} z`6$Wam!Y2}|5uTrb&ozNi4>_U+0%*5Kp8X8p-6O0HS;V5qldMVw~_G&FzC@I`F zFAL}#$ppd)Z5>jIQ_&|;+sT1JZ^@JjWgq&}OTeXu#x^(OeyD5Q`tTNP=oJ6)4-KSZ zI+U5440{;DV*u`a z98F)*k6R3EywHSc7uYy77w~Zz6{R`4ff#FZR@HE#ySCPy*p{_%Nf=UOr?C^OgT2Os z(zH8Yd@fcG2qqx=UTUe0P+qQ|TLg_dmczarpy*JnSj1mhw#ao5I1jd?gq$EfM&CD` z^xALAvcu^yEpUAH>jP872pd?)Y+g%D?(WrjU}DmW^u3Mt_cv>}Q$dfsr>yD9)rKcA z>*D-R2KTeAC^D{3!KdSON!7i;v{Qf`Orl>*u{qr4Z7H2|LH!(B7h#W_Ws%be=;Jmi z%5(G4)zpCC`=Kb1KwIVg$3ZYx-P2CVBICh(qi3yWlNusROs@$&bC6=F9*i4EH2p(P zdSsxINS8Z(WgRVJNTM`j(E1oFL2xMUqlGKXU%DoHQ_m9dtc3zOxK`MFedF!-ey7qz zdGU*i(Gv5V#tD|Vp_^RJqhJ0I4fBMXpt!2nW8VQH+cldBYWLnAp5v zyIkaZz>W_AWi`i>T`Ic&=u@kIQrV|iRVQ(?IY@Xp{G0bicd55@gwPgU!<8tsD0x@UbbJ95G zBCa+Uco@nK^V^v1MlW=aK62bwjrS^lBoGn*aS)sVp-++_wA436I`Ih&3M`%yXe9M2 zh?z%4!4bXc5n{)MpiTA_tpF##K8_dzqP!GfFS%g!Q(%(;{P^pTYD2%8&l{1((AGRuj4M3w*NC?2CM1T;IJe49IML!pd3V# zGx+qR(50?a6-dHBPF2xFXr+0*>lVy(CctPUeL52G>S znaIO<4R&#ID-&jgqf%TFwXB*!e&84#LD2zAH;AA(^R=HxCOBwgYV?@kkJG6D`4$uUyk6}TGP7Fmlah)NJP0KB3btDDEM^;92O(` zO|nl+VG*Qkteih?uwEOpahxV9LipHRt2ZP>@a5{yocWiM47BWwvRybL#%sPv^IG73A+Lc0- z(gXdJI9GMsBO^CgO+r!Q$bje($Yv#V?Qorw93f&>p?uO==|M6CAE zGjOhPHBRvJP4rV5fk|6e(;Xlij6^N1>#{cIhuNc@G!OEB(wT?)fPK1y8y zhoU~+L=qFQE0RZvI93FYqwi9Shzlw{y`8f5LWh;dC39kT4~9~wc^jQHBU}{>APt&C z>E%g!VSLKQ1(N-k&0r&nY?d>k7`6P)CDhCfBCBl%{gj6AO*6X5vnnb}M{%r?`%(@Y z0%NP0YiGBmn*R!eQj#AAGy)u7Z%V zc0zNMvx0R8v`)PJI8MSHlVH^EPzO2I0%WX>R6d*0#-vE3+0>m zuhUlrIWpguin}^vbgl%FI;{7Wq_ew+vlXB>;7asd#`Vb0>Xgp%ambYX2e<7c*h`X$ z`+<663j&tl?**zP+U)wst~;rTjV(EA9LuxK(@7F*-#C^NWD=nq83*R}{Qx}a;JF!m z$RXe*aKFshpGQ&htGAmJ=`~>qXx_++no=f`5t-wBQD;9&ASaEKn`x*l3ab{Y0rPAM zke=Y%-wD}jg0ehX>0Il3u3Idv5%zfN+{R({)OmAoYIC)m3fXH}UsCDm(SepntMSK| zVfsu$R{;Uz(0c!r*~&|R2KFBhtmZ?%oIY9}FNmH*;HrXkk{NUOV#}s9x8to@5^VNR zt9@Xy4`?UFD|V`tWs5LuyL6Gc_P!rR9m<= z$@>ZWA8t?YxxJ$O)6l`-{@b|s`~T|D?xsexrZ%RwKUd4N#)ifg|DorTK3@8`ob@N) zuW0z!7lQ}}Hh087Lv*iXr?ky78#6a1*7w^lVfx{z)=MO^vCoT^@&}7DZL17Y=cnv0 z_dnV{k2|T7q>7Z5#QlywA97e^s_i>@A6HW7w~uQ&5C>%M3^O?H4&NqOdEByOy)VT6Hm;eWThFnRQUu`605$V>Xy`PYZf1~I?Cp9n zyVa!vDXx`dU`s3KiieCxPGL4ss{Aoa+JeMk)eh_%3wd9T%w=9i*4_x@`BrR&cGQ~qV?fY2J^Y809-SPRSM$1VxtXT(5oEg9Pu&j{-F zE5sRBo+Q=5pZ;rIcsOY8#lNj<4E!1@9VtUF;H94ad-c{EmHV$2@D>%52WWdgY{$b^=(R6zSK8pcRnatHy5P4;RBmbAx#%`^DWl;+#A{K@ zF6-{ZdOFy7Upi>9=ueFHYxT>p!InTwFV50UVpalF>6p+USkK*#J~NHnqn?PPNRrPj zwZFa~Yx$VIz`R6>y+8lOq&9dvPyk=(mgLLoo?GK)w= zXB^jJXSR$twxbj#;e?IMY#k;6*e}#0{}3BE`MVu1MwVJWP$#h)`Qd8~SD8sF>{K;P z-iH8I|DoYo3@C+(5W0|O&h3CdG2Ht#*hQ>s2t&BCG~cPclPuj=>i~LkNN`r-r&GSo zlF`Dm)iCPR7^{{2C9)EexLV7^FPs_r9^|mJ7M4`){gV^C^JMC@t*}>!xj8s4O|_E;C+d`_Ify? z0PuJ{5o+A^x5qV7S;RLw%oC{L1qB|6N#apdkAVf-{|a{qvRq7)<_zC$OEw6I_|gsZ zs}z0GMQkXd;a&w7=|3CYxs%#ScDB?5BQp4rh;GzG!4kD|6RWPy2Hx|G=OO>-?Bhs< z@MD_22KSP)YLkRsvXfs+6ow&+cLgph;x0+CRfX9Pe2p1E4Pv{5*mhkRtX|{6i4%H; zULq?Y$yM5y(!%f{bTeDv<3IZ1!*2xcmag!=!BY_!p${oBq=#ZtzxBR7P>B+eOqx)c+}TQC}m|0S$jD=kM8 zs*Z=1-So%&^MP{YFFH=lVg5&Fs4L1!7qzwBGRLD7QTD-mvQM<2-2U=Gaiz!XG>VX^ z<_>BI;^SK!eI{ozm2eAy3`_nMDf%d0P7VThOcvW0;ZU7!47qlpHGT=Z*{e;ARR^8H z%m}s`yT>pMR7Bzmq>>MB8rL)N*ixHK2huJ0FBx~4+?R{Is+FBgQoF)b8Ijzon`wK~ z5OS%u*tUN9YrwfLvi+<(a@Wri-xVRwRNlYGpbsc)YDfMvieDS|+x%gn?WLmbwjQB} z;JcAB{Wi_5c175DU=U@K=me>Cj#OKd*Yt~~vrp3Ll0)g$AALBL>VCgi~Nv$BnyP9HeW&?_$8fM0#KsC?VQRdb2J3?H+5kv7 z%W#e-4*^J!@gb%Tk>7)Gd$UJigXrPXi#->c*oIJUYGF2~f%4;f6c%FvDt%W;7Q3z@zANR*R()wa%L82*yMWStI_V9IXi{i85x+f4!|WN2cD>ZxeYURNhL8E{3Y=w zKi0O6Y`xL#t-R|RcIDaE1CMb(jv){%26AH0cw_kMqX6}J5kJQNvqZP2xRZuNB)8C- z+q9)%QPrQ^^l3j^y@{F$(6PW0{XDB`oqrOwwh3uXQgmiX%Vn#5VoVa+Z>{plmGuUZ z1fyGj)>}jYOiaIvi#D51Y)u4lA+N(~kh{0%75nZC$_frn)xoa}p@CtDe2P#G3d{7h z)rUC%6azbI8Ibf0V|mQbF8vj&htYC0fp6pMR*>4MzM} zvNFN90_|DK9Vd-X4?t*5*!Et$OPxcN*lawtE$wGERa)^sGp_v7gTab+~iDOAc%ZP6SKuMX`Qd}GP^JXSA5?hyAbnB_XPqi^ud{hiDGP3*xGhALJsJ3HOTxMqO=DEw z-Y_Rvu*j3V?OgfNJB*5Nf0*3@*@D)IB28OiD7BtJQ-+x9s^C=Tg5q2+&Rn9%s-jF? zx2>vEDbkb&=Y?{>@eY^g3*Nd5T_-`^H4&{}xruO^pMhgrL^OC*fe1r+lMc%+$-@9u zw#(W|d#)A3WCO@eZ?-+*l$$L_yQ0VzKT*-hAgfGPy7FqxG&*h; zSoHNyjsc}1KqNVDFylp;X>fnM)SZ-!dY!R~%^EHLllM~OtXr(Y`-4u}q}CaSAJd7; zPSm=?AUmAt<#Jr*+}E>X4L_cQ-Aa`nC%zGV!`TKK%0;e$RXq)h>7cbMqy{!N-Jb8g1kMmBxa^o@%sy?1Vj9 zo{lcsS3a$?R|$H#Y~pm+Se9qkA||b{vq8v8BsLQlFM;cZi+Gs1r$GiLy=qTPNpn<--Bj3u{(XaA7AMiK5?eXCrJ;&LB`CReqgUxgZ48?KOU0)2uy5aWnFV7LL-}vzyNH zV&~>M`gMNk_eizD_R%TW`$+D}kal_aI;@Aj>L9az-L&la?Mt;(0cVDt-Pe?K!VrxK z`DX#I=`L@Enw3#xEfT?@VTGVW0sv;eltv(&$YYZTt!=uv!^kC{3=e;tYwF~0*C)07 z0@IwWoWEPb%vJ@9IhC+IOU9*{&>~Y_azw;1o$mGfO^h#xBh}`ITYy|+GHw`gi8+{K z*>!b-M5Ptq|9ER07AWApGJ zF+UD|5KUn?F8%{|nRgfCKz?jLz?-DeHmlj$j)|m=Kw=;*F;;mv--RM6Ly@&|*NPfW zS<^)(s89$bLLx^R_Z45f=g`IBk(QNgEGgVR@HadhbDghtVirtbx*f|Dvz7rj{Q9OQ z%K%&&TuNO^px8vIz3$6X`FLja&TpEsa>=zPaX;eeIDL4=H>usi`F{s3dJ%!n1xyGAI5^;k`i}ON(RJc=A}BA^=JQ>Y6MeK2{;S zJ$wGHjF2;Tg&q@M(i^_kNOEL7>EuN#1Xz!M0`BZ45_#V9 ztXP`6Q%UUr44{VM+@h~WO>wVQ!yd=#q0Pe$;GTxxe^Q_Ajd}K{58<&lIs+CmwLvJ! zShpPXk!osZ^0@J*>r!MaEhrIaJ4NJ=d8>U$mHAjL9B`n;`4@lUj$Uv;o4PZg3eajK zwZ6g{Q^iYLgLj6%rBWC%guqAJ_qU8up0^?()W@Tp9q;GS=A z;!WZD8LS;DO6d}sXe)qf4m?SirFytFDxHKD*^F7_a}>Y%SzVVnTZXuTyoYi&-`qbQ zOxFpWqAS-JO4rc9&TN9!WcQn;uYyr%3Foj)pLwF4=Acu|eXO&ndd!%fX}MeR!hf?a zExAp{yEApAleH)#F69LK2}Z-oq*63tJ4A={sB6^sKXr!il$}N_(h0~)9$ClBoVxtx z{pmd5i4K2)dhNvfHj;G0b!KUqPBYxavLeC4unQb93)If)r6IXxKT#bI) zdrU(@ro6knF(8qiHT1%YLXzCNV&>1ikS;(H3NFQP1Utgm0_UXqA9VvkC>ct_N8iyn z4@p_u#I%_D`kDnXJ4*+Au?K=q3lNCS; zr~`MQOzOdmVa4WsMr1)%(&wGil_E{2wT;OUy)^<)L?Zl09e+edlzzfm62CNt@K z!5XAV1zy^yRm$pXRQ)7L%Af*|dQ3la^m}=9Oq|y;%TCRQp%OCrUiP3OEjjtnDP1TM z46g5J#0#KAO#`B$!x!4o?4BWJ6oJ05>(YwZ>m-)xYq>ps*8Ve3uCxak!P)kNqo#KH zRdW75DOMlQht{h?cl_Dg>D}TKY2Ssuh6W7df( z$G9eKcPOY@=3Inxz4QbQ#SsjC{^IK%S}~o}t_J;+G6>u?r)K&SfcJ!6C~Az&f*K7Qhiu24_(nyPBKKYW~8v^%;{(W}U7@Nx2f z(g1W|Nx}-kI5e}rDa`k+9oXsuv@~<-Z_k%1K9zWo;;t@Q*QuI#SX~KrS)(*p;V~Ar zPo!P`6E~CYw1!TV%=>cpBa>=coFqe3)k@gMENWcUU&l_F=G2WUva?28X0h;*29sa3 zJW~@OeL>kUk3?(alWz%Rk)a`ux{Oi9+UaU3-3hFz!#Ft7u{8J{bku3j^qs4AEXf3aD73gW+a*H)534c%e^#n zxLvj~J8GH=)F)1nvTci*H-9dXnPi|_g1m0NX>8)~OPIvxXM6klORZ*>KMzMQ%6a_I z9DVG{H4R4bv-VniVctnk+#WLx6V5N*eDMwmJ@P!~8oJz)wZ)$lG*;1Bw@4Wf4vIy$ z!}JAfo@k$5!ehXbK6EhFopnb*h(_6yV0&&{T(ZN=UrF(Nj6YT6UUNJ3De0y;du(cV zsUhrzHGuQ_V6aToYI!=A^{6*MuO&VUDu<&yAU7m8X2Arekt)Ml)8&a2!+0wGsMm)eWl|UhG z^vc5$@fQvUh1AuKR;B|D@(N|`#ccc61#a~@{E@aDI#tCXP7j)$VS@J;9o#1RFPbS6 z`J_-OQ&foo4Y}ii*xHX37QmFU6 zW}K%+BBACIyU(bMssMkcc_c<}^LA0m(AB*$8ywQPhc0hhV4cx~D>^)5RT{&0935xO zQ9hqj@S4XwFrSeD*BV~o<~P%r^WMt)TP>?ceO4AYhcx`!11xVoOq>1TQ_ zQrF)4lrsoDiB{O(@hMs0HX~)!gc`ElER_@|ZQ<0jz`|9Fd@xrPg)_q@wV0w57QZOD z7%J+td)({pUUlxLJ--`R4j<$EuNRJ2)`qCAn>t?|I7IVoJ9Xp8;%;b63i=d_QSFIG z+*#yJR{UV-eP2pJ-|Fgp`P)T4hluYFvdue%uDWX`WKuHuoLkMfR}vFh2Ua0Jyf#2@1r zL6j|YZxH7poqkUY6}ra%QN33St~g9yNZo^ zPmj|Xt$V8h0&$AW7m&TEn3k8bZLM?ZA&%l%PqYajdOQle2#aBO^)z6;@nfS#6(2$< z03@LS!mJLJH+t(-2)8TR2Ch0Ou2`w|nD;yhDdrQ~b9m~+vz5kBY71)x-)}m05qgl{ zxJNHA`&0G>`a93j>uZ*yl`N?{d3A1tC-wWH%M$e=b1>f|Inr~yHxOql$Y%%K7DMyT zEE#QI1`JrP+JqDq4=1+jSKEh8trL009L3@AgA5m$=D)*RT^$yLvbVx#P^4>lFrw>J z#d9heSB&tzCGdq|7C-C07QgP-Q>`3(jnbf1oxsVE0!jW^c;0rF<}{Daju|3De_&;ul4EI zXtFVl`j0m+`^$N>@)xIt{PrR8eCJR~OJI9FXB*Gf6C_d} zXsA-dW5_eTM}?E7aa`?tv4U6D*ET!5x~dv()_1~6i22l*f{U^y>DW&1m+z~l%pZ@A zc9bye@KOa`iL(GO&J*KD&6@kqsX{pLd@UC)lh;#^ZTK5U%L0oIKq@6 z+G$?Bsm!}dBAn^kY%D!|qnzUN+R|5L3BTITbuXMS#f>%dSKXqd*|RKu1xPylo7jj9 zGnQRzdI64dEmE=bhUn#iW>u9nhUuAgHG7>cE`W3B+u+iU@?0d>*SX!*bz?$DV80)H zx$;uvfsn<}S2bw6lK7=;|B;H6gr}A1q-y6F2;vI}lIn3tnMQUA^_bd2pf(31F`=oG zc&+1`HUCqgyIDbupe#aj(3eEpMgnIkUk3Y-T{(!1A_=?s?^QXba0-hzqkLg-ArGca zEkQ(y(f{5UZ6pTxo;)`L&xA-UaU^$`mFKZn-6m5rjl&RUkfGZejq*VjFT?c0pN^SW zk~?@&ff!jsqr+b1=-USok#D|Lc^mXfpb+vvAa zySxyh`q^r^mvyB^5K0NT@&o6-ym_G3Rbf0kbs9weWO&f#n6cf0<)GuY!DlyhDu0BC)X{*q$;5=N=2xO_ z9Z$#nf?2Qo7`78S1>05JFSkvCuFJ+41jr9hA(9wuuC;;`w9fbK)dszh>4XBXLPFGl zsiNRS^No`z>N~9Pn!^Z>!d7wC7qQmAx@Il5JJYsZ7T#M&jud@k^3E1OoA7ttY|YD*}|vA@~(B3SRhHk_xWn2Wo^sn zMvu(WIk_twnAxS)N4kl{Un4L5Bf%NWFr^?aAK6WG3eM~LTE^lg{x=oq$$Se93I}ff zxmujI)j1L1wJj@)EdZ;}&1Ee+=-0F*$mo_U!>c|54#*&`RN89t-x7K^4$BP#{Hu1qs`}bqRSM`3w zL*3Tro9gxk5aUy}_fQE^3=A_dszEE6s)NV!o+u}z4IqZlOWR`1ODpy3@~-&fkh5C= za0#pp>XU}huMl-o`AC^QL^ziCnU)WFhosh1|1Y*XAz90F%!;(N;OzB%A=h_mez6Bh z&of}LL>PwGB(urm@q#Iqf99y1>7;W};>rt)8loXD%p?08grOxp+p_IC4D^#C{B`%! zc9Kl-Y^;}xBV^WzYh)3-J+u}aqGgxq1SbLzCdo{j_Tvua3tISZ4pItbQXm{^m5YLT?9!8pEIbR`Yw*VyNbV;XI zJmrcusYFY$iHBSHjB}!ItE0iWSycwLn9FqiN$dMMx{dP3ktTc;+m9Z8Tb%8nVaY6n z+7c%8Ot4TkuwRb?HYbP*ha_UEZ=}?;o9vvmAl}QWBj?l82dWxNK=)pc4;RhduV*Fq zP3yj{e#dbCvX`vhzm=;7Ac17d1UZg^Y3UCZ4$fh5yvqUP^5QDPl9eG4 zh0t40j8L|-mYwEz+u0cR^x2e;^-Fm19v27;%x%m5;pNl2PPBSF1GqdB>hrd(>*qJ_ zDRQz%;13S0W~j*q*K5KmeJx^xkW$3JSN35FJp4z`ZywI%9N;O#W8n^Wrp+}gv;EJe z1>TF#_J&8&ffJy0*Y$#d?NGInj)q4xM&d*7)q#i7d~fq}Y>dWlAGi}BL4T0XU-97S zJTw0mji~z-gtTw>;$=R=MOg9u)KzSH@%wI>}6t>*kP**_U z=O9t@g*Fqe4?K4X^EpLcAW-nx@+<(>eKDG^7toL)o=w(Tqjz^Lnc@x)njF<+VqVT5 zFtylxuJ%V}z_zoORhu2v1mC{D4rz2N4AWEY(*gVHwFEN>3Aii)3!>r>htCTQ4;KkL z9Qp+eTkTA#5tgqqcGsytiO~1V`ZPG&!4{7S_YwzVmmYa}cCt;4c->07F2oK=YHBJ` zFypZb6r^2u>^`cZfZL<)Vp*0PI5d3(Yz4zj}=^11{+KsFiKOo$G?!O%rfy6sQ^W%%aH}C*LAfhQm$DKjGVbo0&3SZKJo6$S`D{%JLIyxyMQW33AV(g5_F4H zp|Lxbjt;y9jXgHW|K*?BQd5m(rj2NmnI0FFuuo9}daS1=Zd{K0EX$v`$;84KPgj=0 zeUsUugP(?HoH=amI%0PvEgY@a6KP87pxBtP^*MAa_IfZnLE%Sglx14))u!I=z>N^0 zJ)czi%;+eTs&ElQzut-}t4Vq!vEJ^0RVIAbKM_)Y^|f$+jT(pG(Kk2!CyKtw71yK5Y%Q_ z1K&ZByiSN-O}h)WgUBBWq$iqG*q|eeP+Su!U3G zR0Z23kNOPX1hdw0U2AeTEO0&3Zia2^qrAEJ>}|tzd^|eKnyDw2>@17;MP!=ajj=9@@z-LTlF#H zdS}j)_Hy7af$pA>d;)<7D@GNdWwbZ^eleWWR&Jio0#Iw zDEi9rLh^(poWo#mj5xa9E26W;qe{PgOCri_cPz$)l4P@#*{D6Per<%qWDvt4jNm3ml^SwSg+O?N zow@h2Uac2M-%#g`xzgy^-btY)UzUIS{S^A&JuFvcnEAh_aV>E)qo{3>{do${(qo{) z357=Y)HD3@FubAN9?AHz@9`T`@n=F`&hY77bNqB*$$k?dqt}Mp05Iy?vX~k)P^>w* zL;L+<4=8yMlT$r3CT_(B#!*ql{Vt-Kzvj6wgdI;BAG;N zI-?=N0G~Io-~pA){5vGZOZ=a#J!6c6c>a_|C_WY{US0ZEF@lVO7tdv1*FHMJAUA9W z8d}K&xKl!Y_Uw7EB?keNnsP1}Z-=VCWENh=i0{jnPqxBPe8tpT9I&dG5+lG@_VVTP z7ry+;eA(IdI0(08XDLpUAluXJCy~OB3IsK_#!umYW&tY{z+(Mlk;EyVfsjQ_QJ{G4 zC6F(Af?pZKheLddn@?ZLZ|T*Yn!-R#YkV!Rc>WUqCqFUsQxaV$PHM83oZ-juj0Llp z)=RL3|A!wZ$ck#kj>rBON%vr!%vd^?MB3Wg4tVuNc$vmNRTb;#!jGqEkjxTdNBkdt zyiC%$g1Rl_12P&ljb6|M>5Lcou;l0?AK!KZ|3|+izisnrr4M&(0?P$iE*g)CSp*SO zyGz*T?jm+8B?|vGSA>54GC&CuPovnMa?S~(XW_F@e7wK`Jw+zPfyW<{*&U}42PL_C z++feQvCYK)h~d>{$ZOBp^RcgegQ-X_dF#gb85P`4<-lHqW6szU2CNEvJsuOs;$)EI zn#32EQrh@Yw9TH&k4lcnLG!PCjWa0==%b>wq8v=MA8n~}PWI>t{tr1oeC0U4Y%pM> ztS&R^(nm$u;Ca}TAJy`Mu{3D;@z2@%+iC<`epaAZe)~np#@Tmm{k?dxz5ViKu7p`i z=8R1Qw4f0_jhHOSNC5xG_^_^-5T6bCTVe6P$jrarEM_;D5BF~`pS);9f%>k|^hp>z zdC|;DG^zF?c)rb8R&;}hsceajL4M=p^HN=gJ>8C)BxrdNmttbsyl6h#My|e&qp8NL z&6mxWFNg%7YvS4Dns4S~n%C<%o!`xpRPN`D5Kh9-Pvfch79iBA|Iz}aLqKI zOw%zTk8I|jkT2293c?+taUDIX2Ig>d#mV zfQDTQj$6}Exc%vovfORhr;y#~`CA+`V~d#F9$qvCABR$++?Ha}AE%8jsEzbis+OH|4M-w)%|0oT_Sh{3e}icsxz z(7~FNUkNVK7w2>dX=&P5#WN4jKv83$m9YDu#9|44$b&0lXMv~VC%AcK?BdBJPRo&_ zHMJ^s1$chWzIz|+%!OW#Wlpr@d+4(XMLa`$v`EI}y2qGlRRmS+X25zG3qh zlexTFka_2qG+PeWAhwIl)&Ue~z65?@6VN)q-7zD`Y7{XhwtOm!_^;FhI&Pa}cXo5% z>C^g8t_{U4xvpbkNf8(;-=SU&gINuE#1rXOxzk+tTEk(#^X6pO-q~9BhV6e3cb=?! z2k7<-`{)6=bv*?Ys5|Tof786(p2=@J&)2=~HQ8j1J@K%iDhI9mkFQwTIlZthptJqOM)Uulj-#q~^Yet2O?V)Sg0Bp9;|k zgNM#0ywM1>PyuhwFO2 zZbUd3!crjfdP+GwSvq}$zP9X|+!MK*pBGG$zyr+FN)dAtjqZ=ET*Mm5Utsm=edwo!=`@wI%?O`MZj|xR2vwQ zwT_SIZ>3i}kKXKmL!(Rf4UOX4Z)kLrenX=)`i4e}i*IT4EhN8-%Nsq&x8e`-xAKj| zQw0RMQ34V6pC`QI(Xv`p?Fo7gSo)#-$5%l)?oaXqM$DglBj&JUK3$GE)v6WO6eiW7 zS8GT8_DI%5g$A(W!?)rW8ljH*ANa2Zqnh&9xKdoRhcVp?9}WAs-NPc> z*}$E(eKPE~j&>Tw2K~;v_d`4y&(JnpDU=_z-%{~}jV+~}=5}`^LD=QPe*QZ_+{u3> zAa?iyg%!bbYzpuZNCEsj;q-FH&9jBuhdvwl?y=Z6K&u1kx!a1X0%E;Gf&NH(7cj*- zV#35mK`FVi`lWE~7@2zjFPh9}=w3llM=Gt2|Ko4`dA4XY!o~*v6FsN@Zqtu3{TS1a ztzaAe`=mkDp1o|qf4AvJb37h%E`|Sw^l2P4L-;S_KiKmz{&yVV543O=P@2sr8A=4c ziM>2$WBl*f#~&|5FJl5vu%a;me!+Vgheg1bpfwM!;+sCB1MB9i)8Aj8KYsn?=hNSJ z&)0T0FA6Pi8Q-9?-5GZo!(_Upd_o~O)q}2*-syRl89=izet{*P;o#5qr<-c!v?8-5 z*{HSVRn99#VIyXEMQ|BEIKW-{X={4dpF09>8ycQ%NId8KQaW>xH5+{ZgFc5>lm`ks z2i`~X@|EtU-S^`S!1^pd2fu&QBmg~E1htesVvU%kNkVd+b9(sJk;dr}AHm8nIc>^e zcG+S+^OxZI(1nU{>nfIu;XAqo#6Wr;T(a=WM)BX5lKkN;X3$d`o4IE2GaQ~(LgGT@eEE@q-u??Mvbc&9oz}WnqVw|3Bo^942 zZ@QO;=*}``--d;KG`mg`kWt7nYx7& zdI5-}*%X^HC?0Keae?QiTCoa0RM+8TTs#1YGB`u)ZrUzQ-9icsSp}>1r=M|M2UY^I z={T8%3~=mBkv-j0RC&eoD`zPejB~^0tFzlRjKlQP&t4SI_FxL>uuwUhzDjTWsr>j_ zWqyCPiQivWmZ4Rcf-=rg^lXc6?B&OYZ%eub@$iGG0kW=04fuF3Y7koALXD&TH&G*s zuh|p>3rJbAbCy1?p4QKzbNJ8g`QzGIx^}PMmgR=V837*u+`K5t5HjzGI`p@#(wtr2 zh&q3V|FiUT9n-6`!N5&E=i)L*0n@tkQ`7tDsrSo&`e zvy~Wep%Gb;tcyKL7Qux5Ymv;^0IhxTe1V}jxyU@tj26$vTj#Zk&9V?rFIEQd$O1qm z=Eg0C-4dj4nGVN5aKSaH|EF$hy9SXpep0cL?>3o519s!jF!-hzHE?)QwFSA~r7*h_ zxpGd=A~FM!<>~qO<$19Y9!A)l5gmq?GnQT^6SCYi>Q5U*kpOtZ(q*7`uwo|5!UMsE z$Qi@q#__PF_t36IWW6Qy$RhR|A=YF>wIGYND?{#KuzK!1S9V;&hQgm7MT@-xiwOj6c%VZScMpI{t!dPn#1{^}=I)e1 zk%P%BUJb+z55{)7o3J`&+LF)$H&XYq$gcxyM`VI8hgd;P2)BOH0hW&Y%^mLWtIR}t z8)HPrr85zzSeGHDaIo{mj)-(9$3)o5NRl9`ec|Nl0)f{xc@Q{o3kcyel2y-Vc&$Kt z8C}(SO(aQUf3dBS6Z-Q@{dO3C*E{`O_SAff`T%w(JHg54<~EK9Y~~kv$#DDjj8we} zQXS-yKXD|4P?3_w@qy$Nu{O8Ki@q@GEdP^YT+06Nv-o?5M0&Av?Kv@KSasjUOP4Fv zw3-ceT_2{#z}b6xXRk{i)mN(O9X%f*Xu{s7>~XyqAAGG<_zQbyU*teKy#W4q_C|So zul-Le49?NR;1Xj-E$t$neq$FtER%AdFHWY%I?QsAH*5yV>%7D*a0|dyjXAgn!YKy! z>SM%(Rq)>Jl777P}tO%hgQNhV?W$)QT%SS4~mK7-~5( z<9MES;3yH5=)D?hulAH2kk9=EHdL|-A;*&>ak+3B+8QB)kJ1U|7?D#$IG{2z7IDA(OS4Xy}@jz=OeZb!U+*LFD0zm^AH}Gzyqtpc9aWwgo9)t~J*AQyoGpG0Vw9?z~}+XkFdE0B9@97vLwTl zifykp@>vkj-lB+{Tji(W+8SSA(fKOm23r59E~8cYqd~s8D|Bm1>ZGlx)(q)LyU>Gs!SUT zU#*2bxuE5*wDh@1EEk61gjt<#9FWD^MW;~VW{MI!E4HGHj1n$pMmB*KQwIv*eq?)a zn>}l`@vB7KNO?ZIWS-D~{0SV6qB~DX!#R{)0XJ1JojG0&KB_!YyR5OXX0Lj!a&Q?# z*sw)K4|9|5SVnJuMk^G_LK5bzQD=NI6$vYsp_E6W3@q85sTr|Fnxc{o ziszRLt472v7Yb!IqY{Dhuqw0cVQhVrKBS&vzPV)@MWze{7Kq=ak`ydYx%~^ZL#IN* zQ|94VmhN1OY3h&J!IIvn1<#5o61?F!D;!3J8{*JE-pBo{Vu)`oFYQ|eoe!@_A5kEK z2l8Az5(ynTaO5fSqauTq5Q-Fz5z}U4^kphtB|GMvQt&0|x6cvwEf{&p9Q}Wh#ZoS^ zPjfach>iRr<4^fL%9On{3%ZeyT;=J?Xr^U@7RewZ!P#=wj2zVsp7XktfcAvlVUAOZ z`76h(=C6$M`70xn(~7z`y&o%KrUD7YB5d;YkiBxt9#Z3z2?-<1_h#t7pGA^Kk%Bb9f7bRg=;3LGMRacFCWo3{ zGcVbS+kwmuTz0DaONk0yFQ@A=s%V*33na->bS@!6=lXg<8B~6WnJrh9A_v0jNfq<$ zEcugBPT+^RZ^F-$6xg2L5frEeGM+K^Cmw9{&ATYv;&d5yD!-@&vm#>FqxWPYmuFW* z%yg?H5A*8C>AAiLBo+WxTlE|)`o?C(nh-AG6>(Ip`bC!DR-j#RZObiadFex0j%r#3 zxyhPUKp~YlXvq{6ILlyYDm8h^>@qVtWgrzZZj>U~H-KxTs1__#HfluLJkEG#Qr$Eu zK4nJBl6N`b~|>=jR88$B1}UI8vums=5v4mqW{2BAM~g&|AR z@{wezdUbjidaa^f4O1?JicFvv7OV&Qc{@WTyey3%jjS9|Oy_`nIyF+Pw4eF}X`c?| zbPS0|b*kzHr&L~=em1|<58FdbM}62k!SF%t!9nY|(|zY@Z=6L%{*bxb>tYs@(fi?t zqtQvXr2fe?7MaODci#+-@s(zy;WsL|{xi3nQeJCt*T{*V&O0K(7tpX#7@_iHE;&?t zMh>w++ul@Xul9IO_$-|mmxFu8*-CVY4h)@Xir#z}&0=tm5tV?!@Ynu~VaL9BNsEtn zCAziZ&~pIVrIh#%EG)#k7hWs4FXSF5@9`A7+NVM%h}#ObMPDlKe@`pIs#vLTb)3`~ z{Voc_MvE1e862CK_*JtoHbMM{l7%v@9rU$O=7j~7jH#@#ro2FPEfo2G|84}5khDuC z6aOY#X36><|Fl_jt2aRw zJvV&oA{Xn?4#YG0)q?HP;SAu6>&9Y9cc0((q7v2%CQIuThA=_oQ7_!%P zD^pzE)w9{z^vl`o%h|N1R=7p%P7@dx`9^;;c!JI|ljp!Izw3L7CKMJRf1GG5xHO%s zVN5Vjy|ejw2|0u$m5b^g;7?&;0ZBZoIL!*bWPdt^EByCb3WH()WPnL(2AyFW*@TNn z-Pa8(@4FGia@q<(>svmGEUoGn^;apLM{Hd3F2o9X(+#aJ{A=#9dHv)7XV+2eyFbc0 z6%;kELvVK-Q5;x`l^@3|GOKPh$y-DDbl{z1fq%)))4BzW1Y(6)3C5AyH!Q+(Cp1pg z`9t?c(_Cwqz+W$$!_2vd;vrn!#|o;hHQHm z!W=2{)HC%3u@5m|(^b*f4HbcQIL~vuaBMd4_yrq}-_;E)s>+pFg`fI;)KKYUgny7H z{3}2~%%lCfLERod+{^U5{p|Bb_I1bPiy|w;)49$Er7G_d77~23c@}~4b_jB)xGKhz z#Q$shtC#f3&E|8h&r+Ps#*5jcJr$=!hg@J(e$wx#bU;--#_`tzz(ZCJFk%IO`c9%m zyk)5D_6Ro7Ve+Q@QF6&vip)}Z70kTN*W|ztf4;T|I1G`}PDB63F^6PumTQJw9L$$V z0!-_}@u=U%S4cnm*EhTQ_e-MI(NI>J%w2WfsX7xl&t#Qem#dg-8L^tEHfF6Y2u=dMTjXtUCbVjsFrr7S?cK^=K(pZvJt>Jp0sW zECpNOGXZTiW-Ii`mUd`oLaQ0npZ2*osC_UTLIcSJw zTE2Ng;7%h2N z`!{R~qJ^kgWRW~*Gyon7tX9?sEQDAQeS*3QUaC#Go%XYkhC6_U6lgmj0;Npa0V$RV zl^qa8Uw0p5Zo;_T2IBfnyobZ5U>_@r%pyXmoH%RUUE9{K4~|$tgb6-w4TtT1ceHLB zmX>a7vFDU5#)vDO#pCni7<} zafLCWzE5(^qN_Prd!;kt&sB<5SKCFcN~d%vNh#hkh8bz;p0q1>jbc;r)l%6u_FZ0tV z6kdx|H(XmXqSXd~-xIt;snqLrE{yG+WQQgRe(5ki#F+T0>~8jc

q__SmL%PxiF zC~0e|?Hbds&4zHGcF-bHw7>u?S~)A8VhZ$)JmbM#;B9(a!UCitux{%-A`f5ka&jS{ zRM_vHA$-pj`=Yjrg8G@O@;jBYGfebUISc6Tfc_rS-{T55SmWPQ`g=xy&*<+t{XM6@ zKQ-RaFZ_2M1@g|Lv$M)0EIOkC_-7r3J}MkJ^!}3y%I*ps;63>BP)=o;}wqOIt7oIzIaZ%dSbq$b?w)m0lC2%NkT{C`F5F$wnXC_zb`n0PJbw<#Qzh zWn;s&nLY+8xIne}94`Y-Zf^9;fV^8)33)9}BCEU~%UcmF8c*TwW7TJAg|nS$@n6qh z0oZQP7Snmpk+oad?Nz7=?r0IzG&KW5ffvBaSRGECLPD9`x^?&L_Ab-mPdBQyv(vNl&tKQ}AJ>06`~A!M z&fi`=JUcrVH`ZsM*J}-6liwBv@RyxFj4}}vE@4H<{<4XON_@QaBYZgULddRrvSC8pmshF7OfCY4k+ zBI5x}7T1lDPKw@oI5mO#&G+#rQ9D0Y->jZRk89PlL-dwdyJQKGNThYvn$z;&`wEXane43D9}60z8XCbhc3?=ryM~T&@_)vBrkRfZ^MP zWOi>%_)xhPwn0i*x!?9Y8OHMoEA(Rvn54Fx+=Wz5J*A+?XKBT%pz87Ks}!BSN=_MH zD40D3w?1DZ-;4^`xoU#26|VHI=M^%RBXB_8-m4H9u#M;B>A0N0ndLWkE`{Dyo$MN5 z3C-osV6$SRZ{ul9kJXe3FVhS1dZC&UT7>9Y{&-`*@o6(w84>ogZOF${eNEq(eA<=Z z3oKuY1rU^qqxd>5dB^YVY3Iy>?s0m)n;i=Mf{#A8Q2Ej`A9u%%4Jmr{gQcoT`g*YB zpomXYlxxun?mHFUPS2?osOvp^c2uyR=pHA9XOfuUOn)Y+b|CG_f!?Rn>dU=O-xtl9ZG6}$U!)TK78B zuwJay-16Q*&!9|F`2+8m&937VPfQ^7yh}D?!JT&j8q=IbAm(R`;bUzSyccX86TkY? zI}ZeJ3JsC~jcACq?}gCO1FVX{rg42EF#207Ee%K@-CqH1CI!h zBJztA27#!qd)G-6kMUndBfD7ylQ_jI${1l|yxes!#g9brbsWiNGJD{q3=Zl50v&2- zxEX#_3A?#LqRs`GsN>tqCz?LI{vv8Bmttd(_eZW3of@ln*8$IxRZA3GVHc*)V7$yL7 z&eCBzH&W!B;rq5X=)E2O+UmEx&H!^j|I#^ZA9|J60Dgn2@M~xIzIQV8phmyd9scI^ z-g>R>Z{9yU-NSXS{qN&`dob{N{Rdv>!|_q44Iew*gQJr}^dx!%4ZA(y_zv(rKppm| zM**wT9w4+2?f$`g_}O~XIqD35TYuoa?F_pJ^=+^3wY=k2f7m%VIcoL2kj+y za~%fSAF8&$b_VTruhs9M8ybwR--8a2rqHBEP@rL#r|Bkoo6`bS@b}4}tsr`b?bZPd>b9Q)<>Xz1~r~)x|vQgCTM!W@7L54%>tFaObH8=7@c=o+YW*d2$63 z%bXFid5*ZSz zZKt+hQu+n+t>G(x`j?%ZFK5vjme5U7?t1iDx$CK+0_X(>PVB z106sH*_N{OwDLdK$)E9L;@6Ye#U}Q;8BrdAWOg?~r!-i;yUofu#dzmGs~VUX4Q6BX zTB}dfjtJ-gdPoiHS1a&gd<=*!3!L(_H|X4dQ;TP9ngkzvWDEhp z%&600d`)@G*T}5lk>?=~IEJsi{F@sFAR^HnFy|*w7t`!!oEauX_fQe%dbijA&^j8u z?Hsj77({B_d-`NsKUX7WxhchlUnVX!_KLOqkwP8L4c(2@69Rk^g9@(Gc_sTufiSK!Z3JaWk%1<eEd`_2V9@Rl2U4e_Oh37rE&3PwB?;rW4Z;wmWU%L}l>kI6SX^+q z#2q~lRr8rBns$tUgTjm-=z)1?gx4%h{R<=oFyU0~H2l6}ddWawq}39<*9$n+O2?@m zLb$$MF)LJZ%@5meTPH_DE_FxmTiwH>cHg>Vq7e5BlT>F2^*yM86Mk*H9C{8wlyD5+ z`tf98k8hwH=%vX#8fLLGoG>%%eb?9GW$QsDyK>ErtxNu|^ImL8e-C|i zukM=BDoRkXP}WzBjJ4%*>6e}0yxUjx5`;@8Wa<2h5mmS)U|%r{zu{eVY|UEDISor( z^_ESBxJXq_5G%}0`x9onVUdg}8!YC~WbXYv-GTpKhp9Uy2r8)Ly62z&$eHB-S{(7d zVc^*f@;wI5rTTws;4X4PJUc=6KzwdmDZiB9yNv zx#osYM7VuKS97ZQ3RIG4{+FmEPjyM*ZHTT3E~6E`a#C=D`wU-e_xDsILPh`y1kIc< z+z~xuu$TC?bHaKx3O%`x$W)P@J85S+_lsF$wPP&3`O1g?m6~!vt*Y{u`srn|m_&Hx zjW^vaOKD(%RnOcTL@hM0)O({RppiO--y_zPsQ*v?g@N0#9 zZZ$w+TR|{d{)Qq*y-T%T6DYK|I_UShzkP5w|bQ!2K%?6*ru1BH%O!_L7`yQCqN+uII0hb1ks)ZXsou+ww5!%}OzH_kS1 z?Dbm%H+op;Z1uL+bbE|W3=d1)?MmlGRIs*w-*mQn-?X>b za<|yBw|L@i@x3;TmQ@1>|fUU zeK#rkc3Sk^6z|)q-9LHbwj*GnwUwIy_K^=-AKYWXLVK(7HCD312I2vZvnelkv^^?Y zoxIrI@&i6payG?Ryx89IxK%PpD73d4_B;P9>5qzCEqh(JQp1ZKEq^Pq zZBnVd-HF@Q2xX2oA7B@Bv$ZI9v@Ky&hm;)rQbLkn?DQDYLp4_`Dz&#OHT(^omcOA} z3mV!rpke#N@lmV9CMGL5TK{`kY6q7U?5**n>TZgq_I7R!$D!X0OAkmx=Lu=pDLE5h zp`+EXY}T>V-p;KS4edG+zFl-HiBxKDS3-6>&E4vuT{k>&i^vnZeEg;59zK-W+jI`w zZd*Q;THF0vVj}-FXCt5c7lv=C{8q=8gri~W9i@H$?9Z6LgAZW>KV|%n8T}I`6Y=l$ zwLgvMZ+0Cp{?{e16klKPf6?)n{<>m!7i>y@PU7hm{c+9aypJ1y=3moaX|kAwygz)W z#OvKs*9C;*^p_-#V4$8m;a!7nDP04l(3}$P#19O@;P3h(WwX`=cUy3j)E9H|#Vaf3 zFSszs3=G# zmjhNmM@vU#qfoV00y|~%6K#sD-l9u!@|AF;ML{*^w)x4hMA{qcV7tXA8{uuUq|$}Z2L!9(Er+H(mW59c(ZxN;H2 zaf?o$P&mGiAl5)reG1nqr(n(Ct^f&_$8t!th?YTf`zXncy@IVgY{vcP^YFbQ zx#VKyX-j;3sUcBlf4Z5`8};ctSJ%)C%=hci(GsCCl>(!f$TNFr#p`6aNVxT1J4c5H zt^Oeh6L;B8v5eBCbkTxIp$ty?ozbq25rru{nZ-ON$bLS~wn~?@3SgXx%lZ6fXLIxR z_O^cegx=mYU%q^~`3bWtR4iZ=?$GwJt->m6B8vi_@wy0PhVSc&B1n3%QlM^Yjn;73 z@4Pt~wsX(3AFBMNfhp(x`UIb~A>KURvHD3-#tNi!`-88;-^{c?y3(PfaA`dC(I z2$}d=b>3`CP(-P=Kv?rCI}|n2L6d3PXK6C|NUw!HTMH-%byg|A45bpIR-vKII9H+E z!S$UD&aW8gs%pVu#{YPm%!Fh4i0h;!9Ub-#PAol@4-m#7!=j0fR_kQ+w%>Y}^|q`w z#vUlG$#Y$mR_XSJE!3fwj}P@t`D0|&qf|^%j8r`3ah~>PVvAq#w@dTTBM;UTrFl~31`X}Ux4 zVRik4;$Vh6eabinMR*^6(Iax~p4`oM%vq+_AKCBhA&7N@lniWVjw0a<9ub)s)f^Id zUp!z^W}hxF^)KxaMwa_+1gC~!4;PDirLAYE*Fn@GK+a8^(N0h zsp89PDQea^^bIrXd`V^|p6MqRmOr2JH0cXkHyT*NiEcD)Y|{Cw`9SOBuj2)+6P+LQ z+13{fPU^i_CEplPX&4cGoeWg_q1&UpI#U{I8op0RBT}k3T_=MBbHEChvkz-UXk$i)`{PaN@>dA}-G9zCcdX7(PH# zoT>bMKw(m5ELw!@ubUSR-!?Vsee%k)6RGh0)Fc2^2sg2)RyKDWfmNoj5IQGR=2b&@ zVtv&XTB+s3vRMFG#t7tv5^6eg2~vNLj_;d#8->{E_oU0RM`~OOxxr za0MaszfQCv^#8slgIm!OZKj}UavN@8+j&?}H5r`R@BX^^A@G0Q1QGcE-)89Hic{3I zPf;U3MU>&xsgKIxG**zuKH;KPb%v)Z0QA?^cwDn}k=d-6Q${MDxgezZw4J%Sbh6T> zNz1CmbDRm=lyxRVrXjK(VLWmhGStCerMLgk)j3}E90;Q-KaIHPti<_WO6>pblTu`! zxtE-l3S^H~B>PHPkqM`w&5u{iLli0E+&0Gszp@vGsXRUt=1lIL58$MZzq*@^ZebDB z40gRBqbA-4OxT=>>DH;F+U|J;$pkdAMEui5yFpJ;O7T+2S;s;sf>@GvS=TIhG6J8p zk%pD*Qxza<8Ay5YRDe&y5j&{mB6Zq3d&7Y8h0yM%v_=AN(S*y8Jz6>_T%eRI+Rj^; z(RM$hpIpKw^+cah0mrg@(Sfs1uC3Bt1pZOw*+5^Bg-b=v(%=gOj9UpiCi$ElPHc43 zTpqSazP)egC?+QBu&pAkiu#W$&-b_KCuCDBXpuKskS3a#X3eqEIW`?z#Hw%ESHGVw zlSv6OOH_~Ikpe@S7L^Ysw#gD+8dG6}nLKmnje=SN!Y1@>-kS~;lGhh&8!bp`Q5IGY zX4?Bp0MCKi)0v?+4oguUpAsli(K9{GvS_*X%DlbMQ9cA;h#*}n`UZlhdeE4 z0F;8kWJNIs^KkKL&WcK6PCG!Po8o3BCl8Gq8l_3dN~fVfUb_Gw9FF2ER*kg%UrQmF z$yu(`MfxXc)YJAnOnf(%-xbc9^R~9;Hom#TP;hc%5&BOE8u@{ zeNcKX(i;q=`tw(jt=u@D6q1Tcj`hhX&5hoeKAiJhAxhn)pZ0F2B5%i?vik50+|}sx z3OSqJv79n)qWEA$?$)7ZI7xs9ca7WQSU67-t6G`U4PJ1Jf9`MfYDl7dwuBYCf1%aok> z{l??BsbXJ6z4df*PS+B|X93P3eiGA;JID2{8tk$$`Fu<`G(BTPahl%T z{gb()1xvwFzQk<9_RBMTN7aA=y#`frY5%o2>4}U;nwBGJ8mBsJ!_%5XU!_0%i>5!ba02zCllcsINI-cJdwAGRoM@E)n8bnB0gK1kj|1NVY zA@IaWvE|4Y7(!(~w&ZeNcMnVM493WGJ^}iV3nR5#7oEu3^GlmFFJ={;*h&KC)TL4p)c0Q8EbIo^NNVCFqmuj(t<_SnXW~V>lE6mnk;P9nW(XoDGqm zyyT$Hd+A#ZJ1(=qa?FI~z-c(Jqp}FE*oyXGrMi~n9+<ng7DP#wWXh^#2xe3g2V! zON=U>yoA0=C$Uoy3H+=z&g(S=6T&=Ml1v~Qgx&JtGX!izRkN zkGsHVCj#FPwj=?$;tG-jXP9TJ*)y}$aM6Oi`53P@Hb7a;33s0B{_BHmyHfiTO|nlz zqUArvf7bT&4J_jG;Ol2z{Zwp%c)co!GTN~l=C7hl(hF0U*+d#ma_mzuZH_0HrO9R~ zGK})rSIGPNfwm9B?qS_Hvz3NK-EO|z(v26!iKJi%;Ftes-k^5t`C4M=hNXO5Gdy+1 zs{fqX1P_mVfx?Qd?W*rz%j_qC&3=+g<)|}4GKW+CciMWD_QSn5{;nU{8e+%Gn<7Mh zu*}Ayaw%^Fl=e%wOVg6fH^w1aTEZIN2x`ty|J$gZwkTaovvPSCvzcS(j$E+#2ULS~(hB^b zb=*4W41W`8K?nC3n!itV!)q)>F8xXKW%7 z+lOlMg$?NRNv7T-2S+P0E$BngdA5alx0jfz8(Kfy6NlPN?&reR+<>+UgTD6MA*W;& zRIjJe49`yYjz44u@u^k>po%-5j@E1ECiwwf#>dIZ{ax~_-S6%Z;Z$l_vbELmyl)$S z<+0gvVc&mbEBBYA_v)@N4LrU53Zq)FViJ`^+R|!%@WXgIPf~Z<<&~+WK&?iyqjdOnALjxH3rr6_I?v(?Nb0+t=EIgS#r&KgYWP5VAdO~(kEz1A~aXA&s75DZNJ*`vc1X{dPYJtSE7U1akTEm7aaBJ?`O4L=)QVZ`?9-a z{44Y&IlD@YfHxHJkyEiln1<)u&%b=yem;8sv_>e1d0*DMrUTO1vLq0rhLK?V-t2vR zacK=;QgG>2q5A0JKmZU4)|W3ZJP_&8@&vR4OcChN{CE|r@e5wx{tCyX0R!bJp5I{* zK8&n48X+|9GcC)GXYogWPNx*U5(yfHaPGbv9rU^b9%y8QX#v{((db>T_iiML2knEC zKB!Qm<9_Ft*08Ojw(0oR_2%{=>0tw|Z+O^;^qoQ#qeet363)X$IRp`mOf(=`IA!Dy zq1@6jEf3>EEk3INWZylPYhLAR#evsidOP!7<}M?1Ws&tL(1(_&GK=V1toF?;WCLk1 zQT}rN2h1QpRvIP@%0F6RxfIPn7E1L=ouS=i?mgm(*Ma7bD!PEFP{cdR>%K$PT{AKU zdFPfX#rom@WAEMD+cu8H;s5(7AT)hU+7u-KPC&80IZfM0aeOF=vf1c%NI6a_DSU9F zgqk80g0ii|{_gM2?EMCSl-%_By(eiS0@$6Mo!yMn!JYPpXM_F-<4wU1io262b`#yl*=aN{v*A@7VWVSaC*dhn zRfhERJ(<9-vyUfpEQg^CTQLd(;heP4!U>DU$gPk_0$?o|wjuZzL>r}4t>^^o6mgWi zyP6kwvy{>(CJKKxKPzt4M>OA7U+fl(MRB9PIm{-k1RadxZZXYgl<*<<=Lxg{>%Q*) zG$zagvZs!RxaVyA83ll7ebQS$xNQ3$HdHtj)N)L38p+NIz^DbyrEoD|)45UhlAm*| z#lmMd{4)*dshDlD@X&w85$Xhg)gp}Wda)4YyhI_R`sc5<$iL6Yzh8g#b%+K4viOg^ z!@>R-D$(I3Rl19;1eY!Is+I?u<>CBpVGa(66i?RkT}+l&YYQ@JcY>|INiPp)xvxbz zDx}#ZzR@7@D;9cp1J^v4#@uvt1E#|-e4!*6*@$KEF5ZK}LY z#oL$$$@$(D$c7DSO3*Oe#mp#e8abQ;hU2yQ>3nPb+eRRAj~D=T7AL1q+YP^^iZ zvF62bj6?cob}x$SsB)G1(oHuiRc*UJQi)N%FeEo?&@}xg{r=#9_a``{tDl zQ{YFbUYV2Cq(-;w+x$(2^02V&EiZz*|85AD)AorGj5cA|{% zz=0=lC2jjuJ_#-KPxWQjjbBY{3BAi`qutGCc`e{^!xh;GmIKQbw*Xb$0}y@`HKp&t z>?sWGmAAN`I=D}L$Dm&A)&}{@R^Qp6iHB@#SpR|h+A=t}w>5o#?0x(JDimd{mODk!L|F?e240x)Uqm;x?(tZkfs_xQNZ@u+@ZLWWN z`RpskUlYYaKuey4*(jpv6z=7V+4Mfp>f@}YEH}~Yg@tc|u)^h5^EAF;T74Hpppr0f{V3j0x=M=<72!|uH4%G3SUx6`oG)n`#R%ow^Pba`pkI_emrW*ke@N0)>-{Pm|k1fl^k1f~4er9IR z0LSvw{0K0+C;MCH!7XEyu=@n=(-J-jr5iBjlp_G)s^vGzTUS3d(jlXn)%V!tu_E#Go9_9DjT#%RZx=NEC9!0+|dlfg|iC&<{t2$r8w9?ruix_ekg*IBmGS*)nsOlcjx?)M*X zC@WffsQyZUJc1It6gGZMmV)`CXE4R$LDSgZH)9^d%LlMW3iOZB|7qLy#$k#KUcLLf zP**yieD_3A^rha3i_+9SzYwYYVzs$e9$&k)8AwAF*Fb^?p)j4hj=r5-WyT*TYg&3hds#c5;y{hr*i*9)(8NohWQ?|ChFRCs(<%6a= zv%+kvyVVt? zBL|?>C8SDVkG6%>P<-_c4z~U=+s)H_pQzG^R5V?&qXL4rhg5bW4R(n4e>FyN*k)V zT{?&behj`iDcs1Zf%v{w*~o5hM90`Xj?@k#2ebE(n%zO2fMTg0MRMcDM3`1qVsLOW zJnEhCS)m86%d|7pMzJyDjuIh9@5Yk@FtQD9qWQaQ-hq*PhS5`=5Va9f6j6FpYO>D> z`yAgbf>{wzDomp|n-Va$x4=Xu2ow%{=U3%+0JZ)(Iyq*el20J~uXaR>2FvFeJDwGh zu4>L@D@K~Atl2CnQpjow(Y1;hIEKmWdpIa=)yOd(R8+7(EUzNf4mO-|{pI)8#fN9@ z&l^`YRmDu@){2lww%l&Nyx6$dpa!bHb+^wiF4r%gU2J^%g}fyHzqq*k^h*>McZ=w`v6{$GoVTco_^W@Sz;rudW zvCcYH-(IY9rbooHi8F_%P3qUNy726A=P*3vV!{tgkzKr^1hvLJA*?kTSIcHi9Agnq zg=ehR=%D`yEuPKul>7+2&e(1b>CvFy6wQ8ml|2HY0H$e^2Si$)6dxa*Bi>h;n^R4$qprc=9NVI1rFvUxemr|9|D)AT={(uy&3EOH|T+Xv*#rZ_zSuz@p^DR-K z2@!wD8&jR3^#~NFkd~zR-aLnR1`UbA)=0CSu}Qy6-#x-?7OSY9vv9xoChM8;$tFdS zp)}_a^@L&|19vP42Q#Y!H|RHkHR#s@f}w5#3a3OJFh=4g@c8~$2a>M-CJ-5)r~`-# zz6m_a8EOYYaMMNuB6)8uo;a}^Axc?G9YB4ZHUVs`?AoCsi{TN(3Ie48Q>}`-!XJZ3 z-W!XxCo??3xdgWc;c*1dqe~tELxx$8J;d_Fa1pU%D^_pIbSSOq>!8ni%WZQS;g)?w z?{QZ3?2hbOCFU?nf{G~1u`A|3q0IT_C5-|}{oy_f$5vs|q-A@f=W*gf_=oJ?b%kEb zgI|(SJP%nHz%iRDAl{fMI%^XEP&RK+N$e-I8ry6k5+m-Q2!Z+=gF7PH2tn|i>ZmCa z{Fe=yVlNIeW=fM8R-yTB%-?SZPg~~~=|%VQX?ugmk`W%AoFK;Rj`^H%*m!J!rWQP7 zK%dz_X$)KiC_O(XHJN63vC+CnyBDdfO2+H&-Ay#`QY-SRBJ2)-9R%fv99&k-*JR>H zWfp{gCD68&w=@!K_z&`WM}IxfqIWx1{cqg$zinFoZ|?eAn@s`y-2-4t10aGz>*1hT z;lC?o-C?5xN^f~c>JD^k%))GTm1A%`-$4c~K$g$xJS!K)!#5cUr(&BCEwU;0UwVom z&}3rVmp#A`tx?tIq3sQ>X2m?iNDv`cro8%z*3$~rM3j4#CGQ?#rXZLmc+nnIsGa7N zYEraWXCFBR9r8%kezvl{Q^tsxqkc8gef))0xcit97(m{^(Q&}YA4Cq}*C=)LI4I^s z?!W|N@|+9|12rZkdkHcQv;SB23L00O@AvqmY(3|{T$DR<-%8qck{mBjtdJSpWb)i5 zHV-chH;_vGbMG&2W` z!J!irK_aoiKVYtW+f=h7y1IOn8H7qr?*!xSg{Mvt)aIhlvcI zL2{3Ga&Nw(8DueW1^Ee563Zd3ZShkIV+uKgD2%BJWApNSYFC7Yx3FPMAN9^inlh!I zr|@~A0Sqw7-aD3%F+QK-FLc`g9I>e@_MLrXNmJ!_u|dd!ypIf=E?bGN-YR6vIyA*A z&4==i#efQ?A_=Sy&(AYn zV8Bkge-bEAhi&MGC$F|P`}zd|jA08yG?K=mMJwFOz+RF}%)I%2<&C~^zqwI z2vl4Xp5}$8!}7ieQ0q0RUgwv&s@DO->H&_JP}>!&fEqLA)FSuK{>TLn^G~oLJgQ%t zMS2eb9`1kO?8ujKI$|s-x zeVbj8|6F~#on3ue5Owj>hb+Ere|n#%S%D>Qpv2AXUq2OBSMc$sO{2!Tsj)jPVh1H6 zo!7dtWC5&jRD{R(r0m`aicyCG(iSzMujjv}0Qi7Wu&m|xduKgdMH-b;qMUEH&VSkI zTt02@#8H|3?XR8lX#Ka%^>3eDY+OEj@w9?``=qw9H+q8ZR^Y)7Lm2U*_%vDEwzof>|FXUD^3Rt~A^tf0`1Dn~ z?VjpoM5N>VHu)EsFI$XT29r0KW5ahnvkeLvNzt*ddaQyqmt=4rOa^WZj=Uop zLkd{SN1C+aBNepo=@Xm-teM9uN`q-`=ijwmM*;Xcz}^we?jB#J|vg0ipU zI#6kxh=hb0-=!5tgAyp<@Dwq5hRwt8`wHOEZ~4vL;<{#MlNT0{m3KrYE3 z&9ij>@kpl;tZJ~T?^NoRqQIpiv8d|jUG;TsWjoJgJI`v`QCN&|G-NP0dC)^&wKc|O ze7#rqJv}UjAAyN^IOf8D9(8$9P(H7O1D+Pv;XscRy*MbJSHfX2k7ni6yWP}t!j~-X z^hasFb-6@l(D&4)+=1YF5FUbD%h4Oe0 zkMT-FyC5%I*V!6Ac!KF&U7HH{-~sBzVF~&pSX&qQf0(n!8LN!-cjdNE1`@5 zPNp+BL`@lYz&r70oPUW)rk2MuU!{CT7kqPixbEh4$ws4_=L)~9T6G*hvSpC$Kn{;MHp^F>ZXeKDv_N&9;~*d ztJl&Eld5&Cf-8#EBwJdmHHwwp&02P?j&{cMs;*R zu!+^$u3K38`mDi`8zfsu=H*cl=hHfmcdJ*+c*xQgLgx~tz3_6kIwmC0cXVykJLnAu zHfRdWDxPMGY<@$?b;`00J4m7#K)d-&OS5328XnJIY}#;22&ad=Gl-&M!?w|Kbd^)9 zw^zC6yd50xlet$}=5TQQ=BLUMKW%N*>}>nPlfiyvnZfDnljG_gdvMyTgK^?1z^Pfc zcLKfq8yh2*w*aM-_cM^m`;pVgTYwR$;(M>M_Q}4z)Nppxkjlr6pz<o%S@#}58On-efXWUcKp$OKcFAy@ z_pOKmt6z)3;1)t_I1%VQfC5;%LF19T?M66ZjF8UAHxnucS(p(_{{ha28 z|MaLCa;VChPzZKxxZ3Bz#m41J7dYoAYm=vDe3`zUvMQR$4L2;Q0*g$n_k-`-&GY|a~{a96>N@c6qG?u|xU5TZ0%pyOvm$Cmc=rA%V) z8{w@@VE*55-XIoQn#FflV0ry&aQtfAKkn@w_J#C-chXuxvXAfe$D_lO)6<{FqqE-L z51OV+3ndu82+a2UzIwvhMSZaKu#_Cb)_nWLNqpNHig1O|=43dy-lX6qS z-L^^Lq?m4#3e=eK_Oou}p5ds-DNV_keY`D75932G;JaCxO$huHX9Qd!6qCU8kWfmg z+YAZ~FptdQ$8Qb~MM-|A0!}?CyhK-@)JoEZbClbr9|&~M(@VuSn>$@$MlBGfcG!o- z{9Y6a;KBr)bJI)y`E!61DrimGX0h<;)2C?NFhQ8)NdV=MHInY_9Z{Au!)J+KHFy7A z}tr9m~QJDFPLo$3hz=kV_kVNL^;0zwGjb}MSHm5;|{ z1dXqvw{#TSJK~EKUqk~X10HK71h^*{(K!-PsW&cW8xZH2P>sANeS=WXPn71I4Qfrw zNn$lBniXhy8`hfiG^#aA?N*(QaznGId_z=9YEza{L?WXdK9IL!8z2HOR?XUNDb|IKa#qrbTfZfN+FH)vY{z0o}bt;~kvjj&?kKhku}Xb}i?};CB~L#kcQQ zZPB}W>0<)FUOK6*HxCQ2!=J9?&tEySAg?9}tP@;0F_lZc?w!&m%p&Rv;DniGQ!)xj zKnKN*H{KCQe6vW0pgzgp-Uvaw7m~lXb>1iV=CvfhI^Ur4*Me`V{1G`lTJ6%;I0-=J z+1w$b&v#^5@K6t=z+MD8i25TWbkF5CCoZH&GmhN?!WXvHPYT+_~&DMq9W|NR5 zErUqgpn0>&frd!*e8B%(~HmDY}`R*w}w!AKv!$uzv4QjS3$5RxsX~>3}RfO+s(EIk7r^+a2e3UsVHfUQson3>;Q{R-G zJ$6yF9JkY^X(hl+1%DBh;g*mKd)e2DR%=saX&fjK-bcO;{I_DqSw6IdlleQ_vf%$Ud|w1({n&FUSjL`Eg@ zYHFr8uHMFR#Jn~bna8ba94f;{#k#cZWZ=^A9MX?u8T~UCDQ0oywALaN#L$~q(AQ?= z1VJuxAoEPPY{-g+tu~eM;hidOqawSyInO>O*)94%5+GnwvnT@6c0d7K z$~LsXfOHb1&z?z|rErX)bl|A>6CI}Ue*g6BwWH~77sG1Ml}a8iy-iUk4A53-{EwF! z5K=a|&LEr1M7&vwRWS0YfbsOO+n#GkEfx9bMvd%O=Mv^7USv zbNEkOfUz}Mz>(PD9PPK+<%AoUEcZH_-ez+K%)4gKFEvxtxU%aEWSv^ANjfwxgt-00 zF%_Xil-Zr+^W<(yU-=e$e!fuC;n{tdJe*G0D#DvdW*eJ2L-SRFb z^arcxzi#3*B(q1dRKIc6jw0FEx4m$X7PTxDPHIxbyoE*F?bE&hKq&ks2Ql15q-VA}h zt?!5af_xuyf)glK$cskFnqZ=SM1mKls2It`ueg7@EAy>uLj<6Qi`tfY@7t+qT)B}y z@6C$Y{Y`OKUfP%Q9y03VcN4wK-d^X6th^=D|Hr({4*VbYF7lRNk(h)~hgH4* zO^cf@OU7`JMIcqe*S+5HxVOJQKJFc%@iaR7_Rh|RgWWf0{n5607v=OGaNk9?z9kbD z;J+F5$9t~_hx^0+v4m}brnb|L`!8pk)U2c_A`Sqex%%6-t?swotx)OB;P|*tXx0De zY}<)egB!eWRd}bpA>7gS5BqpmdpZP5iL;*_!0moe{{Z_vy-(}}f1=2u)An({zdss} z_DG$5-kRM=CphfC>h1kJ9`wh<-tj9k4I1{+Lw$7$z9$=0F*heBeM?Pu;MYGPSoo*n1 zuUBKgUeuva5zkVdO4Zu8wJTdR(E>(j$F(%iQ)|arGZan0#gHClEQ-V81DK1H83tR% zi}q)lS;(R|%NJ7`2_CjcJE|DPksUok{~ao=lMa3IYEiwTv|0`NMlD*~7_Lg#43|Z%S==-mrT<9a zG+#(E1D$3u$)M7s2PH#HR*g!A%cDV9GFfhgsqcjLUmckY;5=4nGJqBO)&xBD%Or9# z#Rg+nwN=D|RRmVd9X~tZ*2R&w>RWB$8U2Xidz`U$kS;PD3_LCseNB?o@^$vn9#YU` z^Y^6oarOc3!CbLT9xxhq_#p#r8=%LU!HWmSvmq8_x~jt zeh`{FYwNKH2|>o{I_9kSWAAW4^~@2`pT=jsS2Xe$M6v6w|7&yo+x5$5Uu`(+LYOS6 zl%iT2A)?!Bo1GvbUBw?5B@cdpgM?B5Yz^?oO*G3VS-HT6+oD`#bNpG(6Y|&H;p3CD zaqsZ(-_y_!P)H{1kfAr6K z_~T^vpZz@wW3)FMoU)&1KOfSnqaR=4-?RP^xSsUAXwtdjHBoicc%RMl$^BV$h3CA| z^kSJgNovL)x&bH4SZ3cN6%)mThIwguhiWe*bHpi!G&em>?Icau&V>bO-xvDZ$aird`CvDm34yO z%V?Iy#mDV1{Orp5_|OR%=18y*-49aleB^);mwFoere_k(-jq6+mV08JU1tG{tq`O| zMrTENcY9mR$zKY9%nyovsZ3Shc)c{}r3|$Ffk#ioWwY%bXng`ujD()K)DZun18a{+ z^oRGNf|A2Kq8f;sp~OXaI(#wGLob}_;+^hHu{w2T`M$nUWKMW5-g z#E(BLCH5%Ph#M7TL#z`bb8I zKFYfvb)7!hi)OeovqgZmuCwg_rD23VH5j?+&l<3dEufK&Uy9jA&Vrb04jI7uFp)WdgR#i?aeQN2yKWh_D$Sk#IraYN#;--`|cQLa5m}4VY zuZYr_Kn8Z!3h5>_t7E<7XW;a#8*e749Yli8D;JTR@`xkj`~4vhuwGRXSp4k zBiP>;42t^#ug4<@zEV*Vqq3~=Je>T(hE9dga>?txlqSOIbeMKF{{u; zg3Jr5sHJ!V)tWBmpXQ6{r|51`KpHBMiREP#D`d7rkIK-ps&h-n1gU0g^wh%b^_Oa= zXe->Vq<+1K->^t|2JbwS!!n1$!`DcxM9Xl_`mD`lPnaWtXO6fuR@`pMG_0BE!Me2=^UE{sc#nSpX}k@4g2+@9LR;=tudGZzya=6c|hlAv43=W z_VeQ)vqI~;!$+b+Ja5){OboDFd~~cop(^0UzbI}sL13O=T`#yKfN$bru|PwHM7)}2 z6DXrh0Nx%ceK$)9?={^_t>X+mqKyhfb$m)v7d)LPQc7=>IyXtj0jlWHR=c(D&B(P#8E; zBK-^pZGsiKU@XAO`I82jy-({B)VQc37NdjoD%-*IEjRhBC0=%Tk9Ksnrk6yzA^F-C zyQ3u|Hq{w18CBahE7Xf~8gptlnF0>Z(P@q_#(SmhvK)N@8IQu=%rWh*Vw17;l#q6g_0${To zjhFbi&L0_;0w?*IKHIqzUG4u|)BZiS4}E-zPwVVyn-W0wSAG@*aJAno%U=!60 z6gw|o&uC;98#ngB#!u8RaD)%l@{K=(p2AFJmOTHKAj?#41+tjf0UQiemJ*v)(;c!Z zC7;qICF`EQPfDT6PATQ8dZiRwx?5FQ{*-PhiTwQCQVLaeODR{?Ev4Af-FmddfmCW$ za|bFSAAf~{F(wpr$bU4+pyP-`$u_7rWi?clj*zt-TP@e7DAXzT(A*2{! zv-U;ar;4Jd!;}3tduLxRxt`CB+cN~U1-%Iu{Jt_0txdC}4 zSK>EEhBsc^ou>}odaK9<&}^Dm*+D#`S(j(;AfIQG;-e#@00+pkx17u&o5{+lig*f` z2DyrO))YV2@a3&pkyv^fn_3c75X+s!#2XrAw9B1d$-;b{y5%0*&Ck@`{Qq2+;gcoA2kj9l7b zDF|*Hb!&j@XqHZi&IfPtMRJ`_(|I-%FQ(c1Y$~20*~n~Rhc8fD?+#B+&c={&qCdn- zQg-WV7o^!J#;*rt2OI9ahGT-Y%|->`Lf=Lbz6bU=QU^W4Rl6!w|yQ9}9Z_etVVIcx<>-pwp z6|DY`{b9cr7?uKPo0ZVs_J+rU<5zXySTO?c+e&bQ%z4G?==d6=)4k#|&Q1S!Hrf0IU#`SjEVbG51QMPQo2Uvq-C`S;%X!r^VG-aXK#`x53=m@tYI<5s3r707xYgVq2YfjLYzch)mxxbQd1j*mnTlT9du( z1R*o9gIJ=0(x(Ehf@j5S9khsGN~iCK>&&&rE#&huz|hlZ*juBR2z2X5k7nEPQ{4#f zYf!!-ysv){41#ah^=3!qhHGmw@C9`cpgm~C9mUgz7v5?zdrwj0te(G2D{TU9kLkCb zt0<}dipi&H#J_(w?>gk?+SW_L+Zt^4tF9hhTaT7s3miW}k1xFz4h5PG7QvN+Zr-iL zpq@?^*JKvTL=!yvlL;8mzt21fnK@cK3$jLbKxAaVowa(J*8-MAS0O93F(4>ktO{(k zxoWUaHmO=-@oRIE#_$^|lk7SIcZmR-h8fw_T*50v4#l^ogjZ2zWbWz(7cpVzdv@yO z=ngGWiwo(M*M6cJ2W(h&1@ITFK*_$xu4sY1$E`Ns8qk^?OPT#pJlN4l zGekZ_^O?g&=ut2chcL}h$!C+|i{L@edYU0Y1pZ0>Wyrw~m6{;}s^=F$gPvVAN5bP} z`UqGImqDZaGOLy!#x+A^>g1#=?FK?BV)0jOw%&JoRj z*OGblnhP%4X$YF-1hJBAFUHIdr+4u*FR#ZmY$EJ^TS;&^P<2fbK zw3_qy*)uiUUm_BqeDs{EA|&8yWGX<;nD>=;Njyt0mnsGwMmD+{5#iv@jW+q@)PoaLCwweB3-1>3%d z^kCq+7;&r*^Xk;npiC+_u18E5m)3N5;OJ{dDIyfunk~vHRaysprA_Y2lR@6$YS^es zG#p1c@)f7x4mvdHT`f0V2?;Ui^yuAPh@N~iT;02XUX<$+2gQ63GIpUKYK2$SMA1Dc z1G4fE+Ji!N1tzt<q50Wm@LBZXqs9i@p-6bK%|p1Q7R{m&QX@$dVrN=o&ShlS|MS z&cwYmqZKwWegYqLr%_3inKb)&GHHc)4nh+H%H(Yc^I;V4z(rt-6|6fOPZ_gMCGX{7 zKj>~L89Xcdd6}uD^XB5FTSk*CFtXFYyDm}Kh#ucd{~aZyG4O2V9uZKycW~Ap?)Hf+ zvmHj0MK+JKt9%xA0{qZF-e<3~SxR2+_76^meO5fq$WEB?^7Io{pdX-yg-mWC<5yVC z!e>W^Eq>|e46Kl7T#Yw5>Yt63R6_fMkrMNm2E-QOt(OgDEgC67F(!hvt4GE$Fh5se zGqg7v^@nF8dwwoxKxsXav%Cyis*@N~g9{>B?B0rQB=p=d&Vsu#OCk3kL=I)qF(8T) zl`0vYnC8$-;0I#};JmKqN~~oUO;7F?RWyyd1r}Hpd_@>eNLh_RqssCu`?#>cYmuUy z@Ka_AhF3zqMn1sDiWv8?b4nA`d$Z)an7^K9lPaBwSDAV6yYAEQ(#D@m3US+($I7T#V_#+`jfi2IRh)DGg)^~44`rzLt{U`wd3!yoJ zO2p+h4+l$j7Z4O?AQ`;R_P858kyvPuzY?PShTa%Up0#F=K___fW_TFfu+S}b0rED9 z?jZRuK{X77d$5Ye6HNSJ@tLX-hZAX0r7^ZzB>F1w;09aAZYnrP9V7Au^>pr;7^`4E zT13mvVOrCgGARZ1kd@UWG`tffTJa04bqaWo2{Vs_)xs$#XkpI1i@iu9XnxrZo!9%X z*~g39Y&Mv^&1Wf*F`a=mAdr=~k*WyjNpX#;an&*r(eTh8u#GFj{qI8FG zhIGUsL)g(%YY2Sj32uQOb1>Y^m;qV{u_;;nQx4EyLP_J`V#W~*=BttH0F2K@&NnkscX=8!3H|MLT;HvXu?r2_r~21`?&9&@x* zz>hr`8ti5HnFZhvpt`2vJtoyvz>iIJ4fZNj*8uzhRM!-=$E3QIS?Lj}uEAb~>KcGQ zg2Q|OQ|UWf1pP+nILACvMLk$4!ly}ssu_@K#Icf>HAuQSLG`hzd4G`zFk2Cg`R(CiPqfrTULwOI8#y2q~HzYJv z2Z{#ZmY?7W-tznxMkL>9b`>S}1dsRGyd+&J12e|HRRSpkhl~gF;>PxKR;Qr{z&wNO zjeDd!ag@As_@F%~bZ*q)F~}SA1Fu^C107Mbgox+*t}M|BOqKSZ>Iu!uW_AZ&K31RJ z%>NVf3l42$FUZqlpueyV48L$s94C~tQ}&0)=%0ZUKgNSa$4yCU#y49GH5d=0if*KK zO|L(a>nwSfrB$5GRmj2IewY;>W@p8SsNv=09`*n@*_}s;b+oJBo9G)Ovr6|K3Bs9S zh&LC6^S_6<@Bbzb`6Q?6e<)oBO@AI0WM1}fZWs3_^S2_^c~z5Eo3No~0KwJzqj6{; z6n7mqr<-?B=>EUTu>AjSOxU%6!k+0BN$t2a9}Iol{J*hyxRrwa?NvQ zm^n&@x*EMqCJd;m2EaG6VjvP7wRu-(H5J}SlCoSD4wlivYMbWCP|$EE=a3jNdvCH1 zxS4KmmW~Y92P^QngEknF7{d_99HY336tZD=wwS7xcn$)V2!SV6ksm}x6rS;+Dl3UK zGR@PH@WdiYt`U~0gtQ%M0|YNW1Rv#FHcQFtYdb9o;`ESg3Pv^r^m1h@FqPE*V9gD`8%lfyPa*qnCB6H$vPyg@?(fpqh;Jmtp<%W zAk-?v%C2E9p@_YVvS(WyH;j>@{?j>@>wj={FbOo=-NX%pm*5FeW25);Yw_j#>nWYFOv}#OLK6` z&z4A|Va-gL6$9f~pwhpV@J`bQI=A##66X=!u3K#pE{nHze#w1laF$`5PBD=tflc^M za241@?F8=vdk8zhG_XepZQp287nzBrmC!IgO|~qtpfLLq<49})#=IZvFN^}v>=c56 zHEeF$QMfxq>706AOrHgz=(3@04d4~Wdr0zRW&CV_9 zn%SQDS2eR`mCBhd+u%9uEa9|nAFJD@Iy&!NYOkqJ$Fy1oEWQcFdP+J|j!yi!<&b(_ znrZGxYv>ZV78@&@C;$D-Y&4fxJ{pZ84ULwTdMBz;1Zva1HObl$(d12XtdPHB{wDV% zp#|fqOdvOl~S7FoD&^_wJ2HKo{GK`ciN5`(<~ak_fKzEZukIT+){j z(nmr4rSf|nziz8y1mv0WthhFfBg^c3F@Kck&P(}o9lvQn?*&k+>jEgxOBFmN|7VGt z>Ufp6^Hx46Y|$WEON)c$YT+tdn2K73>I6kwtLduX4N%-3QufoNEhV9*LuIaSZ7&0f z;Q@{5OJE~-?o*H9TRlFzs7?+mGjT47lnh&dYwJ zC*6+l+row0o2B>?NU6juh!nReHwTF(7buI=O zTKrtc1>7&}R&`h%uZZ>uD8F5UfKshOal>Nf@DSYJ@CSBnr%Ky)Ta1_Z`(W|l%4|%m zkRR<$(96_oy`;E-09>qM>6>p1PjSq_6Acaey~Sewb{;`&j~Yiw8X~hujl4kchQ$p} zw3j?`f2zHOD^yM{FrGbT@4CISv*BR(%~@X*FFwpN;X|fwhcx8a2yYlMb`D^a8J_`g zz~j?6``abF4IWP{UsqwC#cvC05;K7bH2A58^m0UyM-Fl(_O zm9n#g(%?iHqhogh6-)}qR(BGu7VKVHdWySA7J~#Erta@y#|%s&Vj8+}aD?erM$fA| zc?P>_Lu>|AMYD(5jNsy8VWs=h-oXX?>`E?V{~Fb+F)?b~|LLrMjJ)DyU5W8vH0~e2 z8XWh>Y~7BPoB~?*ua`@61Ttyg9QBXS#z!an5S`NjSMVW`I*f4*lOU&*yZmP;!t=gW zlEh31*nmEI)2yOs#Z4iLW4kG2_p~AmxUBZ7zxTt5A#1_ip1j@=nV6;qoqPgWie6U4|K6i!8lz9jij$%@aN&TZEH`C{j|v zxM6$dx>%yY%x;j6>L!`aAgbsH3{FOVQKu#qE|ug>h({;8gG0!7W;axk1eY#S6PCGl zmr{2PiQJ<~xCF$VKbZo&DU@HJFij;+U69=j`Rd`aHN0_AUWglykp|KU+mXPsB2}di zy~jv{>4d$t*%-gA%?bovaF)W*0iDl0kOm{lhp<@*z~TD_~bo_D{lY;UmF z-y@A3jmXQlgT2>}(&%5UCh1YZ_-}sj@-U$W_}?txZwJTwCvOQab7wrJ!?V5xzJ(1I zB-wCSJk3F$s`VjPx@a)V1H$8@#loNc^p?o-`A3=@g|MM86uL#Zh~^8(&vZ)dCg;Mb zg@PVtWDm*TXKE2ZazC3ycT**8ff>s2x7wKi+i3>r9rg`z7v7e=~*$vP>qts zQMR})(xpK3N)`li6+js1(U?5G`RANvR(Ne!D_1qG*gBBiR+Dz-8M!)(-N zA((Jd{5R2JGiK&x2l>Y=ZGDZClv}H9a?NcEFyvw=e0jcO9xP+%{~Z7eW!2mR&z^zO z_4Eb#rXSt1DntPYlJ#{_1u&vhEj9$v*dzzKI#z6)PRgMpx@};U&#r-$mn|RsjuTwl zj}Q^AZ;LV$TZ;f(s9P$2|Km;+`4fRw4qZ>spMXlVmj}(ZUrY7@qoN65T=$)e=S+~JdI+~MpwjGWM`wu^N0;MBP zAPsT6n8^t82}Y2oH@Otci`nkH_&{n0WJ62dZC}i2Ieda5>)!|GL}0swqW>JxQe-S6 zI6#P|th_QpbhA$0ffxaPFbqaWw=Z$zlDY2PR_dQz9%P1rFT}Nhx$`3hNrdpmQn(|L<;t^S23W|0z zH(Gw1?c)3(HB95H_3}F0VeezIy58+H0Ev0obeIxe_I_!AEWMfs;)kW-L7FrVu-pYK zrOLBacp^^Eq|HCPVK(NfDi5Amp|pIm)MROy9-fD8>BCk@sO#pX30Tvl8v@qkOOOP7 ziqjRSP0(y(P+5c78b`V)5MV{E%tPU2}tE_1Q}3%5ApgX z+>SrHj<{LT+IL_Gzoc@Z!Ed5mXce08W}J0X zJ`}IShvF~AhnfI>d_ELEm=DM+P*IHqQUyB3P z`LDBVrR@>Z2Sqw&Za2k1?A{MjmfXT>WtjbXm(OKH-$vaqDmChkyN&yHjf)ux0EZ%6T6oRtK&W$Hj@&0*Jr{BMwh9{bzDUAGq^P{u^I?=vF~2m-!Zru{nK#y*X0t2msLj7g$7WfQivXMgj*f8- zjYKA+CnI=p{M4RdzeJzB9YQTeQs@B zl+QNW$o-vUp8-b#%f(X%DmOG1tNoGpkxM5gp2&phk{%N8_FGoe~PO0Iz) z$h^2686G933POH!%i4ZLD%0hooPA>NMMiV`P?V8_8EONaQxvDnJd)s+#!d=kAu(3G z0Kr-Ld`-_n*heXs4u<``v#~JXA0PEj$KC6wB+@V=(0wbVQeCN9!&gH%PcM;<+nV_< zs-opv!amVnGMeYnde{~czq=IV4qFc$7^JL)h&0CM%x8l^I+26bkYv;8ZInW2f$b0; zPU!>Lgy0Ecu!&D2`T(B__%b7}3wR6KB_{lfi3XL;w?ll`#Ru|d|Ags>s@S5* z)_J*CmRo2mj5d5@9&4S~;A+D*hKWe;m95<2CJzfFC&l0LFcb9gwdtX4C}pp+N)K^= zm2t~Q7rh)=la5qpjT>=jJ4TU;lP*cij&8>w;&})O6DiDXt&I_oyXjg=!~Iz1=$jg& zH~6(Nr`k$D9z({k=LB^NPP=777R;25rnISm%}x6Tq79q}7;m@9i()b%{N=UMwr02? z$)?w(mgcVNkhxo(Wzcpe_JG6zCDEV=p@GWy)c6JdX3RA?!<>=d$!Fbe#16p22!0A# zaB7kD2=%5U6+ath?7c9{2Y5$H%>+{`h1#KKuE!FU3O4 znUm5xN0Fi>?ShOYlvcc=4!;8_kU5RBqVl%&NdPZigikt}Kr0XI8FYg9lkkb6g|epP zzQy6e>uPvdQH3Yfd8y2*sti#fvRMlLL#e2d5*2)r5p@oriI>3(bw?3ch2Mv)VuD+i zy#AmC6O=6Ic=B^js&c0?N~<_APU%6Cs=cIKZOF?WD3s1Jtl1#cPMb8fu9b*;(&uEC zjJbZPE@yhngXgyNR`j{b&W){;6|Op1;U9ubs^1A!4r%SZ>wKCTG)PzyAsU653=nv~ z()6*3AS<&1O~DG3^@Kc0ot>XmBt#ve!=uvhFn^bU|DSM`p}Y(l;-6lsIy_f+t+M69 zD!VA?FiimA3HqE9S%f@N)HPi_MgC#0dW#b@zZB5QSKS2Y1uKul&G{=%!ki%akol42 zNSR~oJ5^`JqSy{tQ^Rhtj(ujnwq~B1tHmp4G(QN-?17Ua5>eF8APE^*vB50N?CI{S zwtKSwGg^;a@e?VsR>>bZwFL_A>QER$`%?-BqG~4Ok9w>HKyK@R?1z#uYRrOg7Z^E~ z^1F4bv*kClJRxJ+J>DIi3IOjkI^1dpUK8!xJF(K)z-GpHfkh!)0G}0}xu%J1th83K2=h;p1KBF@l47=y$0w46-bZ3+HWeoNnY7-%qQ#Z2j|BNDT zvQqa94Do^Gp=inWQR7}B)_M`Ez0fw}ND*|nPI54hu5ia_?*wX1;k6NIi{1&`ovF}N zJnD5TTUGJsR93+Tv)*CXp=c;>(~#{T+#8KpLwGhFQGa%9)w)1?9kDSWW9u>ajbvP! zHD$?&z%*>Wd*dDm``-nw&&Q{4bW8^}jKOGdyx;#xd-p^C=U4q>?bYGn_y_I9 z@d?5j881hB!@;TE=u!VnC(p_5Kl^)nnbRHtroC|h8lAiu?&;W%&VD}B-<%D5dpf3X z1@#?+t;R>NqWw0nzC7M84W2+$-N+im_(!}dc5o8 zKN@p$$msbDjb8E?&PH}K0@W8ZQH|C_4dlc#gF>sf93~E0E4_(nI=W&b-5HV37*J<} z*zKM_r(dMQjPa&G>=)v1TqCYRSM{Q*AV8=Frm}j@sD6t!|Z9){l zJAYzIXu|8WHtb=UOuGPb#W|xxf|nryn0;r`I&>wZ54=UG0LS+fExjK6f6{yETiT zRv&Fd6|Kx14L;gpaT>jr?`xDWeqvg?6l8*U(lGe$%c*9}2qo@D z6U|(oG>aYHDGGzYxUDu5-p$f%lFzafEl!zDVZ=k+an*u=^Y zN=ye6uGqDJ8m8E+M%8dkf7a?T#uzh$0%?S&=$bM8OsY5Pcy(W&li9IFX2-fVq|T+& zIINp4pI1)@F5FwP`??a6l9?H;3Q7%b$tP1Oqs)e6k<#d2k)b`>rIZ4u(NjYX%dMgs z3)PCIlv-Vjx(bRAghqW<3COQx)E>~g7jq8F8wEgZqMp;SnZ$NUoWjh91*{C2>hH!H96$)a_|E_<&mMnzd$N)1gW>~Kcr9nELJd?x(b zM$9TwfcM`-Idh{--5xeC36?ZTEvANzFcUo1zz8ik-C^vdPf)m!^{4?&b9tF*KZrDZlW#Zg(|x+7(~IG zwEZifS0j*< z2d|D#hJADrqxaI=Tb%&!p5e#qes3TC(%W_TMQ^ybw^UfC!~TB%U~t^u9}}?SAA5&y z`XdB6IC`}m24N@I9d1J;5&dxPfXw6)Eb`8x*h;VBxmUW5$`M(3`6SO$UX456Dxmo% z(S+?gM0S;G1QgF|(6|<|%qHkz+MD&Qj^MA-XD{R>Let_=>3r20q6}G}Eb|$Ly_w#R z?ry=4h(cn9`D+oRZ3VE@`gpCLaOyPl5KgmZa*P`mu@5IP>x+uOaWVT>HZOLSEXT~I zKi0|PM7Cyj)F1aak4j%Efpx^lA!CHm%jxKe^o&*@NZi9qjw?E70`~eGU{K5{VAI;s zMT#7sNG5X?2^_`2`wM#Z|Ml~~|Lq?bb60EBJ$L++4SURRiCGMx(>1levEPG)f)+#e zr&0e93}fsMyKm0UPLA~t)?9GS8xN`07+DU)HyBu6a}WK~puU{<=Da~J|H3-XCKKg% z=HeP@erw$4l)pun%g;CwoGrI3!$0@5qL(NvpQd=mwk%b_Cu_^StL`R(noziMeVjFW9vc4g22-!zA3U(A$Bimxnj_z z!fZZT8^OiL-hQxgMFW}1_wX9uhT?omsdaJpd~6ZnA(JEJXiK^L*`iOoL$#` z5#z__mGFKXy8t(`Vd5Iaj@rs%=|CC5pH5lUUBF| z!Z}_XelaD1-HGd$V4@I48ri`=srNh-jzH#giPi)ky!b6n#|G<;t#NidzVbxYo*+Tks6Vk_R6A z>@}0iwsNJrXh(0a(%_jmR`sqqiQ)>2AFfrNy{M~kF5zDq=r|BkqS<7&Re!J!hq@>L zPIiLH`nrw|9H<~aQmdX%E|n7(_4LQZ3xtauvzAD>QcKjH2t-^s+y^U9b$}Rh&&a}E zCp1~d%i7HjGn#}7>h@#Vif}JHpFuo|Co>d*)kr;&;p!kHAjQpscjlDn3OVBG$tx1f)q)efxQG>I+~w%ETATk$rs4a zc`IfGFT>$dBu3>9U+{4n(1Zz=T!q2-Bnhwt(qB$}*Li0sK~njYI&SZXIUT!Zu@<_^ zwb5ak7h}hB+R*h9P)q$rRrW0hRlFm$-qM#8V9k|(%%(%46c=i%QjB(o!SJYXEr=%o zX*(rU7A(Pdi^|~*AbOOgxfbjI-)5yOJ8pfgpV2r|O_Hprizv?y*O4D+!@Of(LNc$DBc`?Q^zv&a% z`c(UcRJkH_UkM8MdJ;9YS+!r{eGQ1x9h29KctfOWqWtP`8^L@?{9nB}+i=3uLB1UIIM`mV_>jM z+}ZjS@L-I-T4Ehk#=-RPKP@(cq;?S61QaO@pZDu$zWbsc3Qa@G5SOY6n?yF0Y3Mm{^6zj}bj! z6~1YkY1N3vt2OiJ(dQnH#0ssi)@+@s=u*$sDhi`rre)o2UKCYcHv(YSty{ZRUj64_jJ2B)t3W+auS>9Y zeB>&P5!Q7)zVeBZc@69DwPFheXb{IB}CWv<~VwA zs~;cFFkdY>%$7Za#*MX)&4Gyz$=Mh_ z_lFp^*{Da85}SpT`m}_rmRblCRk|SK7ag2P9jce6ua%-#JW*!-`JhS{W_YUuKZ<72 z70vHSVKOfVwA`V#wmhk3+-4rJ`o$hJ5vA$tXqHZWC|S5j@Up5F`V0zF`M(mdudfLI zrLYi}Er5scmfj4VO5W?>3f#%t7B8#A%rFnA@9d`nWCQDy_;rVG3UAR zD^c<*R%|S1wr|Eagi^UC8^Z9gi6*tF@r+>6G{$<9inmcp4b^#7X7eWA@BB$r>at22 z4_bmc9#FK~O)2CA!nkKs7@VmtSH8R7-+l8cpcz${tJ(^&ZrFSxuqO9Tjt>T}Xrg;E z<3(8adN3-ZR$1UOYeMDra5&c(d2>62#p)P0b%R=>M@!KG;#C(@!PylXH9hW&u=ZjV zFn}QasRrbT+4%3%%q0Y;qkKBeOH5=9AH#D@mkM9rob4TuE%4_onz!0u_^=M2mROT5 z4(5myzD5{ZkQ(4Yun_Y$2XnS6nAgSKyp(XZSMFLqBdXhDKpGJyGfNdn|GLDnu=0Jw zH}#W}OdLN2;*&@LF1;HxXt*xJ*Irf{B|Ngl{9sF7RrhKO2%oPFU zm6@YB7P+ONduo5zv4&>(VwbElgn<%s+_S+{Spx9 z4Hc{d7P9#(^EPb>X!Oxymz^7=#ZV(VxA8#Q>8@uBJZl=EKX20G=9_D06j8%i|awvm7 zgphbU2P2_5#-(jkD&iMJgqkl{=5_i=d#>UL7O1d8_Sj-`=osQC0)3eDD50=4lFI0x zN@QRq*cLs%U?KlG4YSVlvbc_tTR>c146n_|9pd#(fy?pX`lK zhyC%l=uo)G7c3*abWS4^_OSRM+~45Xrcr=k9`6_^;B_+hfD)nV(2c8EYxMY_4xlfE zs~$;R@jB&>)SDdHEiBK|Mp5V4ba}?9P95_*!J`cr2M$94p1|kHvuCh< zMw$<7@PTwcv)%1APgxdxEuoRRF~sTl`g(GyXJpao;_$9DU3}v}>%8zycKL*ccmPloO3%<$- z`_Gdx+hGimP)KRq|2VaZU^0``c2S;mA%9|v?q)hAn$VGVpqiZO9)p0=A}f!xEX9ac z(G<_p2$l>QP4TCm{nMb<5yhO%-ib9~wGgsA#;e%@m}!u|@{EW>qCLf}H++iQA0>*(CJj71Igbbf*0`jPA&7fz!1NuBWDpyXA88oc zcPdJ?Edl{vFam^YbhWDSsWLdX6)kCblQNSRu)!t*{@uLHX&g92f7~+Xni24z;d-c< zc*fWrvuxcdjgbI6hw>OlY&4A2){5;3fTN%C_-A^u9vTq;9XLYvZQFYBi`-W8M-H8i2PBTi^RacugEh0HCu{}b~XKwK3ug~dRtNWx{Ugw zZ8ndxYp7F^=4P9?W}rwCS-%%Cs`Sr+6BU~U_TrS&(naqyR_K$ zqK7|J3N%jcDz+t&&X4^yHzrsAoU6jxpDHJA!|h0frq>b!^K6}Z?#en=rSATf9J`Wl zIhpf+SuZ-Pi4&h4ovmUIHAhp99S^1~?syoo2Mn#rq-4v~nyZlZmz`Uz(Rf3u(xy~* z&ou`Fa;Ta#093{1tj8B@hO!;1X)QE`Twh=8x=)q5>S4Ux$g%%%u>fS)K_YwVCe*ji ze5GlE?s243Q)8#fmKBzZdv;m^$7dRBpk*4()BLw=1f@hnkdzSXb(6BhV4fhxkgBc? zn<~I~{U#M)tsR-)3nHx3fU-1J4!yMV!^Q)jwM}~O57!?eM3tpCW4atqaNoFX#_rWx z7dFKj)}zzI!Pyw2W6K1ly?oJnxlR6e z{!4iIG;II={B!#${{E`1e0y^F^a=m=M1DK}rPaQCdeLHk+wd8FebwGDQ1cI*W93kq z(D+!ZcCgK*HzU%hzA-xEf60tG7#R6v(h9djwueFJK^g1noM1W4ldQGLqF1uV1WeT0 zm!04_-BM+!LLS=leDhLY039&-A`s5ENVRZ>1zDwACtWXUI9Ztl4a!orFu9KAJwh-g z;2zIS7sGwYPH4}VD-lD&x&hNz?qjW_lhd=o$+42wkDrtI7zoy)@Y`BGsw*?lEW2BS zL^oD9-ANr4euT-$#JRjYm{(MuMZwmwrhcrgnTbnlZyeTG9zH2ns&VTuVUw!|BTPr- ziO8-DQyt}B0(aVO#_kw*Vi#iiY$d`$@-8kuQmGN8#d(zGMaU8|3C{s%KQdPyU>g3< z*KH-l+v0j&d_a{AO82RuApf-oyEIQ(d3-|n1qSy96MBL+p9pywK)#+*fR}NaIoAkF zhHA*~mhhI9>I4=^#Qly&n8YBAIDn$Ztx%M}H)O-LHQyptl7vq_>X(FUD>h$)X?cYq zhi$hpJUJK~!mHbPLG%-9pkYCEJJm3m)GQ1cta7~L9owPlrmBk$KX|u5Or2gQP1|$a zxltw#!wUDj%-%nr+_zXDMjm+9)ANIz=WL+c)iQVDF}o{HI?7Ex&wd`+7|9Q69Pk;B z8H)!3ELuYgBgyxd$mW#x_o(+i%BQe|S@RC#9&Xs82m;hOM5@T1b>ljyYes{(&2nDK!{E<$Td3lo$Ck6vQXjD3QnurXkKQNoNhvBB2h=)O`}18$LR!33DKtfr2|2WERI=G z;&>x4kvUL`KZK5TV147)tj0{bm#WjKk!y5FMc8?{fa96nESn9pD|nid&bM%> z*kf2?KufjaS)o;Pa1Lq6u4C7h2N6x{`1uF~Vk&09<>{GyR-T9db5s15Pp470m|tx$ z!*nolBnrXKR(J`cIHHd&rFu>_i}@r1`@C5>U|6tn%$ElC77Jy8FXN>52Vh6FSb(Ek zQnzn;7YmaRSR8UN15CMo%51E9pg*ooW|?D=%Y^Y^XP!^`}Oxx#kpKQxua)R<}x(A63^znf)=$-?uu{aq@t zUIv^Kif>`Z_HpWA zx!^~wP)H5D_oydrq}lt8a*-Byi%`o`yu?I-f6}{~TS7d#P^tMUU!v;mgJH~M$@ie^ zlr&`2G*d3`m&1iKjt2Nt?nd6NyvaB(#q#NTT5f$t&23Sg=EXu(;AtOQmdfMObfj+M zUmliv;TEI$#P!gO38Imut!npn&iia}hEC0b>F)SF(fp;Gqz`w`R%VJJOH@@1njO2H z=jhc%6SW#+ST6D~xA}4r%@^g{e1YnO#kQMufb);ly3cE?k&CRY+(Uq6l=(VhsgudA z=Xyx1(sr5E;Z>7e?KlYF$k?n)IQ}hvl+5$n1s=lTVK{p5vZip}JF*`7j_pPS%PCj z{wbH0e=x)kmkdrL2tlA-!c-l#HSW-gvRR}HXDtVjq)0=xY^SJT4T8aesyoS#>6X|~ zj5AbD572g^lnBj`ZH)Y(mw>qIGx4|szo}xZ9B8q46X+Kd3cZO8_3qtdLY>*2s;P4e zkA%0^GOk^;l6}tSA)R{SRddw0^t@Ge9M5fmCg;=*+tPDWX+MO8uU%R$hw*U_Q-d120f(wvQ0AIV?u01ca52no1c`;<*2jL#FTh_gS zatg`vZF=Tw)mfa4l0AKw#%0rki>o-?r|A@iEH8AH22!3P zE6aD6;gr7=jxTOwr3}|piaSp(aTj_9cf8Lahdj5X;4TZhYO-x6#jvDX5(3fvPRXE|&(y1DK>9qrRK;Y0oiPgVucYsk#lW+t9(`no z6#i|;=!<*fYj7=HX&l#WEA@8HaVG1UFT^q047<{+>TZZVP`VGyLM$p9sdX! zyRYjufd_VVU978}0{t?i1P?&Bg;s+C`ZtM))D8qxUGAy}k0N+b%>P<#w^g(MlI^a ziY{`PgWv!Y6FEe2V&Rt}uHs(wTf$|E)&O_zY?c=Df0kGigj?ariqx4`=tc7w}=SKkd}~Mw<|B~Ho4VXbupd+8;#4+UxWJ( z@okibE2PGJ7|O-n->6KYw6eeAej~Y?Lk1XH^ri6vP%vZ0>$9QSIjUk9SYa-mx^b6< z*i>L{C=9oXq24V%j`H8!fqIJ#^(=I4#N? z<3TRpgIiWLw009Xv5As*SM%Zy66H*bijXIM0_hN(t?*u)5Gi3YEk69TLOTVo+o*+~ zAJD?jl`Z^>XL4B<{BKyX5;j<;^rrdMD#N_sbt_xgyPKCQ4ReAOtFfO)vl6bdD~{5t zcU0OD4n{kh_aWwD8!A;)V3zdeTvev{sl^Y&`ZwS!xmOhPG@nI_%#@7c?nidWgAezX zD2j!s-X`P@?j$(PCJT#Bm_8nRg*<-@#(H>eD(fwZ+xlv;JZ?2g*0L92M`d)LNUQ}W z)Hx)GgW^k{&Wc;-RKcj6JbkY}7bUtB7*18@4$Q+1vd`j+<^*Mj>)^9R)oOU%BTPH? zI={Lmir2StW{Dq0Swoq>#dlk3a}qgX<0|cWG2vB;YePB+9!E zI^*3|RR!uAH7SLSOIe-Tbav46e4djGXUEOy@0scUFk^wyGr|(`ewOTS3%v=$Lcs)2 zNTRk}^z=0!3XSD^)^NwvKz*VMHJT2IY69wka9@k!vY3*+CuAYLl)yz1+`nfu5YP_G zP6J+6@lIfV*4^E!{Uv!I!12Mb_lkQ?M&0Y8Tqsit9+&N0%6vVeMV`ojLlkF=t;jDh zlL%W+`SAg++P8VSxDLJt2_EMdeO8t=%XltJuopnoY9dp&!EB0WUCeW^>hM=lsy#C9 zk9nEL(+v2)K{5Al3gQHZyBbds25i)FqUJR0XEC|?YFC{-_??3Gub@Py?3A89W1rFtE;Q4tLt?P zrqxINuZF%34n|JM56vTlV>NcXu~wpnNqCG#Mu}*~*;L4kb3?;r($M?6_i}>*wypKF zntp7*`>8X`H0O(pL<9Mos*-*p`BzK<)3g@8%%oBzDEpS8`YJ1d$fFH0eUoW$Aekp) zgHl(@_;~#RY<@RFl!7OZ^yE=I8F8WK7%1R2c&Olm8nmpcHh5OZR>`!&AJu3K6Q$aB zbhMZs(z6=DVqsVNl*@1$ToXJU*npOD7L8`wF^n8cd&ZE0*4f-HNj;f|i7~zn1%V2I zgWWrMSa1<~z+f5H?9(nBg01S z{TNHm#`7K*J8AQErpx?lXi`qk%6IM!{DlhiDIjmrY+Td~v#weSbC^Gj(W!bq#Le*xIbpA%WrMxq6d2PFwtAE{M8Px0|5xn5YxH->4A zSO%GF=06da)2)}Wr*hFoGnzsGmJ2-l({6pC))>>h2*h=3px#IiStWL-;v69^7 zPCzYW9_^3Tr2FjARj}jaP{b~@+Xfs(5Bk#~@~fckx)&K|!bUezT_g_-F*|$nEpz!= zr3iM&%VhY($~2y7 zJfhU6TRgoF{uS|yoxF`j^)W0AAGj)QkD{T$eKTZ;3Pg6<5!aK}G+nZ@5ZAg`ZD`&b z05t0=k<}Y!?;w2oneA%R8Z2q3k%>g4_|l@XdX$WLIg*OV_TiRSct_9Iq>WrEGjRJa z3FFAcYy^0M)c}$o#3ST0@Pw!)yJP$O8k?sFR?5gCsGLE_@}ZcYSmBq9x#{gUn@!a+JKkyw@*HzV?=h)-0yNmpTU z%vIoM#=8X?W4Q+w`f+Y=^)#6TO}-+PvhZ$&wk;Z6k9iK_Ev#;~ zm1Epu`_eo!Q2$0uj^|k|b2!&ry#!oaw&SUDnd{Vc_z~^eCel#u2m43-WV-ccA z?C!W&uCvP=vliL5oF{MD`R7?L7X?JK;@r(H83B_IEE+jcsKb*uAVvp&NR_E|?@)en zEBRT*u})@Kb975-E7SQpJ?r08vb+zjqO%}OmM%Bzd}&YZQ0zt^)<^!~r_>`F87Tk( z*c*Qe&Thx)KYPwL>IF2Tj2OI$N}5WKDVKOgYydS{Y~ZUJgQ%8SI?`vRh6Yq zI3Soj`fv+rhp^#yYC`Y1Cw|8731$SCkCCV5h=w40I-H&$R{R+D}_ zivy6nn7FVr#~)b~hm$y%mqfA?!zLvdIK#zvP7URk%xYh!_l0?lP0HX+2kfh8VZ1Gu3p()H^4YD-lm?(WV#8uAnlYHVBam2FXR zxb3q;)t*bcfG@3v54%|znkV$ zrM4Mi!RPU9`iZjqbFV0@(u!^)>?flzv8mya^Do(uunwu?kmeU6 zib=c4+f=RH0RmOo0rf}pgCDQFChLdc@sal?>)f@#Aoq{%ILFU=0z#bPb;35;jKWd< z**wN$=02TA8~}gB=<;RNe(fGs~>c{rMPd(tUJGbdScUX5j6gStzzUhZ!z8$(njf(8-oc4*{NxR>I!6@L~DsNKp^>KWyP=HCmxf9kkm*{i@ zH-D&5%FB>u3)A^8l^xj9_h#oTPFZQyCG98|a|nMB1XR-lWGY%z97Gh>bfqU1c;r8% zdtJOw`XUIQ_k!(h)gE%ws-9!BXVH&VbJy0qmR=(@q%lWWHaWxmm8;qFH0xRBP7bG6 z-0i+>{FI%pOVPj`dy4gvPQ`|ywlY;#t}`!xsI}tSvW90R1BNcIcfd$V<6wpr?=>j+ zDUv5@3C?X#n}<;iFwZ>gL4SnE*nwIXsAJQj5n+OFwdhk#%M*e63B0h-so9~H6JA>A zxLlusR$Az^xxqmyqR`?Y|4>RQ?p(*emTGrly%1U}{7U?*DYWQMnv)ZN{H~pfKwhFI zpF-F4;?BC>>mh`KgN1UvT|OlaGcmZP26xNUCo?*s+In~`om{uVx(wU1bd_1x(7T>MSRpkY~a2frLEuL$2Ht5)`t<)*G zSic%($$F&zaFBI|j7Rd{EEzl4SOG!)Kgh>;D!L*@wl*7pZvH6lx2=4>BJ~H6$#x0u zw=KQHBKa>Tn{7ol?&D9#U#?hIe5DeyGpb4TsNpbIe1^tWKre3}C?@3b;FLhxH#JXf zzFrMss-=d~*s8S@JVk4oVdw@ca-cybr~*E``;YTzd-m}5uek+7i3Um3w$?SCbuN8vd1(R>mfEYBFja?g=#Sp%uUI!nKp4=_hXHz zZMy=hIF=3*ax5qgT(3Ahd$NJ))r@Cc=2U6HT8=u>B`_;E15N~W9idW&CXJ56FbneZt3DSiay6{hd|eR-Wso3Co#Z5$mB_#aHxNS59NtWR%&<&S6wY3M2C~q|i-mY##IXyOG zTTYh6Wdz6SJ~v49JHuZ#SB~dv$a8nV-!_NKWsccTGaN3LJ7&Kv!{M@DmE>>{p5)Tk zEQg$IUZNpHBdQXtQAdaNWeFCkkfD87g6$dT$nJnb?ibnot%&I6tGMN=@VE(!PBFm1bztd^5?8jH}1J#vg^6tg< zUw7^0K9X%+_Awy_(%pePMhXVv^|8TmI47@9>)oJt1ofd027}9^cK65Ohs)D$XE?xP zE4*#))xg-`!@sxqYZl`FFPnR2PY1p3&+Y!O^X{m9*>4}UhMk|OSJhpN9mEgzr<}^m zsD1KQ7QXeJVeT42wU{KTW;}Z^>&+HlH40^2c*zZctUL2i%tvx2T7A>=PpN;&ab4Md zN%f`Kf=d@+&YRAPmCi=sduEP<70C$nUoM+vz?U;pi^hZ0vJsll?^!BKw2R4)zCc#NgcbpOh^ZK+x^z z@}__pc??av@r`C54+~RvAT1+yr7fXgkNy56N3m+ab4Iy)zIeIM{|2%m( zubee@zB{j!@p&yY(e-US&vV7) z!2krZZBf%DwXKo6kxaI(4l8OWPTi6ATg%i;;4<-*^vjKXI>1IUVU9itN={!15e?ug zH^tmejI7Y&U*m~T04E|yY>Hl6O~^~4U&L-fZt9};0la^6dK}rkWXEA7SBVAYBlt2B zYZ9Z0KvDsZ*@1~}ZwqW8Ca_ZspxyUkIdRo1&mJZF#U4by4R|Pe3nT$Xq&Qc^HqLMz zn>tjn!n^6>I&r!oC+!%qPN;RfrQetay%(HDG({3^DI*mHN&ly&=@iWm3df;qUv?ngqYn0p z&Pae;0kW7`#Xd(2uE1L1<)yWdUeYR8ay|qUYneNjZG?cptT+z=t*>Mm&x2)A-c=WU zb@*2m7^>!NZ3XUeIG4l|O^?ZT?P zi-FQB`AcY4clP)|k-5s9!{oS(wh#3z|mXFWq;wYKk zbi#Dn`V=G++Yh>AFMrQ3kfpYEAS+p|L3zALz^X4rS*(w7aMO=@rkORrwXM5AjAFO) zqF0%cYET5L+taFFJ!$)cZB@)&#;5X!?hs>Lk2R2M<>VSXa2K2!^8M7ba?|L{% z7nw424RyA^QB6gXVW5-DLo7u7h}&e}mV1qM6Mo)FWuqi}H|CM>Mc0DpNpSH)zNQog zi-tVph%{;bl(I#qcgyBz5=?JMs6i|7pS??9#I1&7s{r<}ey!&!nR#Z)htQCYiG?O0 zUg!d4?uh|~mEO&RX$aYL+9Ng=>K1b_PKRv5v_2lM(O==93{4% z%~b3h99RcNFqf9m!=b}tWl z$H%Sip&k4m7$*_p{G$Q7i)hd`$40)5scpWJGFyKfhmgPfBsH^P&~e0S#^3s zNK$oob(n?&z}Ijd$DL(-TdmL2bSZv4Yxu+7G0iV;=-#o8g*;51P7^jtC(06m)%NlV z_AAm02tfI7%PObt?viLnekK)Dr>C96AH`EsiIY2Ko&OcX$CWDjWoU|Q>pMn}%IKL% z?jVmCQLD$qZZqq!QsQ2JA9eKlTAN+TGnaCU3#`7FBU1_P9+F8C%paROl;A5X9-SO(zaWon_PaU5Z&+XH%MNo}(i)~C2=S8qbX}suW(OulLYki6aVbaNpF%0{?d-a1grqLxAfO1nn(kl(gqVx>)qaAd(a-1ZT@qwbBGGFk--qKvP}Ul zR$za$9-w8KOF%;#P@&<|8Bpc-X>c1i?Y4DzTJvDH#IP{U(Nk6Ue>gt3agzBweA0tg zlIe9k2Z#GC1=Ng)tAW2-odovV9 z_)-X!1^P%u(uNK7)}nn+f1u<+ z+IN_fJb#~-7|9IZbj|~o=dkm0vuJ%Pew2LjYu?v2hY)&t{I1=v6)V&Nc^d_F_b$Y# zsNW1WCT|?~4p+c%n?|1xhW~KFaC$Uc0mRGC2f|Ai2q#CUgB2ibGZ4P|JRod4vC!$R zgkk6N!LZ|k;ix?r3_rBGE5P`kf$^mSjCZ}>QM=V$0Y||NqGEh#M}m0Y^NQB!1$uZacku~LFdSE(eik)iKIBfqJ5+RE2cIYqJ)cDVzYES91_MFhxe$};tM zm;nI5t2r=n4?LctBm`Z}qN;@kMx94Yx5Po1MsK73)Ii1f|4f|O&fMTQ$amNoFEaWx(+aEmr&4vKqrfgqwfO%i*0vw2tp+%q9kiL}p zgUq}Ux+Bd<%aEYT(yqmGtm(Em$mC&%kTO0q&O<`7U_5B)rDM`Sb!iTCT@=bgOcH{B zuVv7IF-_JJAYw}~9jC3;^h;W#x0Y9ueLm*1E?l)$49qf`LY1`iZb{UErRM}WpaX=X zwQ6d#ebyYhG97NQc|qUz`Rr6{w7wz@7g#BJAPd9fu|gr?+8o1l8U|QHL=izXpGmFB zP5E<8tA=0+%Z3_~FMytxMO9hV9o^I?t32NF)OK>?Ft#D~6FE=QLvRf15CI{`#QK$Q32{^(ynShO}K(AE}49s^8y;U^T z7FDw3F!j0ztzj9E@K|s`G#K{TtX4u~WDDiT=>!}zHK}bclcdmK^`R+>*-7sp!D}cz zeMEI~h#02%zT#2EIO}1n(;bwXHztzYj3(?Wu%1s#rKr?lu9;KdkR!~e-Es?cH+8Pl zdXzKLuU`6Hn@9)$yVYQDy>A^2+9lu`2a`p-0TvCYu!ImK3S#3P^)!V=!MKwY^%kFF zCt+WCTd8wc0-7Xpf*_2ni`Ft~0=(Xpd&7 z*5oB|xsiDmLA^q8?n$IKGxHXi#&7ec>ikN-Z853JylR3z^-(<~GJ)iCV7b2sXw#`*; z!tGt<@8cPn`>b?^u3HG@B1Dlv=7N?|Ju#axn9AYpm@@nYTH?MjyWq^1mE7D-60$4L znZzdt)UgZHD+q2fMi)dOH`Gz9)L}UZ+$ZIlCpKp-H1MDdr-eiug^Z<<&(C0Q>|vaz zIQ^`R;uiK`NT~^_RQ=2y1UYp;S$sI7Jn9{^jxM{c<1$Km&tiquFM zPOP(pCmIr^+_pYnDCIU>FgE!%2cSsltXNS>L4mP!#{CuYfffx(mH5gp7uK> zXSIOJk~??vq;PspqO_;y0I1hLZXI?0cl#2-DgzS6(I)?lcMz~=;9TK4Fw#yHyL{>B zx5Y{+f=wpDY!QEi!kh@Dkk=c;3A(*9j9{8N`M|mi$aQBRUQz}Ia?)BQ=d2`bfoCb; znV8;p*>p)?0L=|c0E@6+?}r|lE&rv%S+E- zhYsfFZ>`GnW>V!6f-$4hcjedPZd7tfa%e~zKgdH}qimtRO%~mt%gwu;DU<1wm_$q-?Yf zQC&Mq^a({23nXw{iAe&`9zZJ7ZGHHtD)kbt^|icgy&sn1`Lgq!V7zoQ|1#^U$0Ar0 z4fskM4=LZBNOopmL}Vg(3!zX=$nhiRAM$#3DC8<`A}9T>{l3>PBUh+dQ&PTv*R+FG z(+*tIZgAIRG2P=*GrWDqDHNDNB}^(c0|{Wp=vyx12`GoKh#&~}jRz{OVS80fKxkh_ zMz*p@B%Lm^&P$#Wd*cO`{K~n;p=*r=ABgN1kta$ENUZT3%46?))(>aRkS$msjEE?_ z4(6?8WsKIOWJ<|kDiLYPWA(bK^C;q2IFdHXC~uUJK1vAd#D`*B6b5Rll+jv7LgG5Z z{%N_zxO=|xuE8ZTO<{k8wCM_n%rjo+kb*J}gZ&EaX4)>?tEr+mJE&&PwZw9Wa*eS3 z{rdJ-gv+p2WV>2v$nyC&ngKQ2Z*I74X`B+PQ8@i1Dqsc$n4@8H5l64r#~Y39nBZD? zqfa!nIl4Vz|CjG|wzfYPxrmu2+{H4U{aKz|P#o&b8yyb4PL%Y$qE}~)iyC)l=uE@O zT@)Y2i!h!>!IUjI&mzGl-g-zDrsvCmeP4&i_12JW&3C6mEd0yM5wK5&P#qPjhrFar zXDH(ax4blUUI3@oOb^=xz3x-B(6>S?Yc6Gq2K9cLE~%`sO$O`kAMW&10xE0Jb%89m zpM>H+M`yx|<(TThKhr746aHex@ z+w&AX918=4bNn>OPq>6vvF5H}@#2iI-l%cQln@9*CLTuQXsMfOy-*2?vdpwBFdZxY z&9L65)a@dKTZ;`B8Qd_OwK!Qoyy{4J-#a?$eFS+;n)g0OwV8< zl9MoOqE?rP38DVj%+w z?nypy;`%L$0>SpUQX|nq-+0;j7cskNUV)n)qrf2pF3T?gkfktT8Bi02*RkB1MMYClresoBllnfgr^aC1U*095NapZ$u^YXtRlOHwWjC< zvU*X=lxA|^s!Z2zo>V8*B={cvAHb~A+Md(@ZjyokH;lVXy~g-#vSEXjNx%uF3;Eqsv?gk9lt=rsxjI&z_AkFIn6)Vvw zN{iJ!yHGtxO3h3cibxnOGsmha2a(p2moixVU8N@#WxmK~k0<^MG*WQ8O`}2I_S6$$ zaV`b5k&Lh||ITL?lBr~7R&*xi@&Q=wTo!=3lC^ff;rA>rQYOx8dRbZd*H~DXsU!iW zy5nf4e1Q@-SRYURvRq?SXM5&_TPG3S4W3>WNtYV!I`v2gA38^xut+%p-+0DF4O&;S zpRx^d(C!|#y2Hy}|8meidS5fh{U^42(emMgzRw4L9=DCY#vLrO852=1&m@Yytf-(Z zU0r4LVyUZwTt+Ae+}V2>{ZvkY*FqJP4Gv26a*;90xuTd1GBHe|S<^EH6lViKQacm>d`>k|JS^dFnM_RQyBP2}jw(z`6})Eqle64t?Vl_06@l z#hu}#SM&lKrnncxR8cP_RDkeBuHMh@@g!|zJI-<-@cIEGL=)^1RqKf4QM`2ehy@&IBMKz zhNz-xFtu#eSy94Hj;O%U3ls}mN-^b%F;{oEX?QbsMuD@?r6a5vTacsAN@VJRW{#dq z#w{aXSds3~zI!O7D4>{J=n71B0Okrv#%2yKC_c~EI|cCx4H-I!BC4*w9ySY zokFa#;=AMhbUn7~Q01;|V0NK%Ql9gW8f6(?$6%kqoY11we0FD%GZ^~k35bOVQv&iG z_TNQ38M|jt1U!2krDehO?yr+c%*_GXgmog&Cn8)=ie|vJbTYa_2gCJ1uW5mS=#e6L zu)kP7%BpW{8Y^xXXg0%7tgBy$W_s~;rw!ca<2;zLtp#`P0esRM!>yHlpWe;GxC4Hv zU||f!>I#GJs4geE5OBu2*zBw=AjDOf6-Orafn%9GozQgf(yVEx5iO++*T54u13Y!( zv+;%D$q4@`aU%oi8Qo5aObYP?KM74J4#A}&)Zz|vHF-A`Gtoa^A`vYw{2vM?Jx(W+^qvAW zHl3?vtcJVth%A|8*&ie$NHU?_4091Qb|Pr3A!y7ks3mYS)^VdQWF`1}oP*2DLFe63 zNu2I1Xxh&^a9#Mz9$|`d+IOdj?(6YW==v>S`? z>+B}OS!=$?E9}baC_LEC^HX-QUZj&x^xSs-g8sBi^9&xiU3`^)13A#KJ+QAXt85@P zo$#icF59=WPodCG<5)pG{9a8cM`)t ziDqj!D%#~@wW1|YvICH@QPV5%U}x>GgjK#QM!g1O5KVa3ff)tijaJLp9v-o{ud-~i zK_bkHeKyiUZ7wq7s=@Nh8ZeGNOK0fdDEshtUpY?n~zOqCaE}d z2~su3u^L0eic>iv#$G)hBa=2(@N|u6xZz|7i)xA{)nZET95;T>}tO;|PNHJ`9hKykEf1E%*s_SkXFk^9`HxAfd~5F8=m{ zO@ERu*ubp&7p|s?-YS08cku*-?uGxNsloa}!fHaqW7sa8%*86kq(Z&7gG~9bEn8b5 zq6bhxL3xgLD{r^X8av-zRL{=uFLqIB&W|cKTNx0gFY}&NQp|*250bpp{S_VFikak7 zii72t&eS;M$fJ!Q1Qk>?onh=$mO^bGf;^q7rrTFTs)v_mWQdVFQf?hOvP&Gp2Fl9q zH{sx}n+A>WRGvnXGfnqqkOw_KMt(~erdwqn^F z=d62bPhaG~dMfsEA+YA&R{U9RZ`ZsiO(;V)dS+PW zg&e+C$zVny6^cA-Ak-4j#1#FX* zmA(mFo?5x80=i8W^%W+8FUWQ#DR{zz!@1YGEt%;v-~icfk8bEesk=5!*7%_>5B(Lw!V=jiaD)t6o>;uetGkaP#yQ3HKP zVvgFKid_}hEzP(LXsgl{iYTaeF-{&(V2R>z63m5&7+N>#K$~3!va{~x5uid(#%&>I z3F&amwTK#>lSk}!c1_ES1R~f9IgxZIx_wl9q@o!s4xaDyn|DZbuA8EgNBPM@VUXnL z=D2Sl$EoA#gI-yFUH|bn?eCZB?=7eB6zU~c9r%`$H=}y>GtJf~6n;{8Bmdn_%U|=LAJ6jU8)2ceHRId4f3rZ~? zy^c6!0~2cR^2_vk6O>Yvo0@AIEM+Zc87;tbjs*cWII)#F8nFAETRdzrxQOB|+2uc6 zC)f-0yG>`_;yS&XMBXUIkY$EZ`0RxQ7(1=I?;siGP{IYVgwvt6qa2JzCp!h;DhOqs zwo*WnHDU#rHTMB*!1cEhh|@J=j=U7b*eE1cX;ViL(|7X`zu8=U!$d*X$!LpYOM{sd zsYINop3YU22$8Q*$ly`LV@F1qqOPvA#fQ`bzcvrD7-~{^lmR9mh+^i!2uE9r46}4o z0$R;Y#%Ci!9keh*W1Y@lij|5S3xfnuLc_57q7&sWwz%xz^ns1#p*1qNsJxX`+}JW( zOL^Idgw(&-fB$48_Vr4<$I5`*Qi){Mo5@=P1kX+&2-^szH_tunc#lfJjxa?me zAKmzZZZ-NV9@K-xT>^U1e8t_-ygO(fV*grGaVMSrA&S<6&)+yXbtwfFidc6TH6#Ts zoUN|}Dku1+79wLHa)@3MQ}&%4mD=pmc{f>-y&oJUf4v<3deUw-M8;$KxhHeB;?Gw# zkLR1C->+-lX}8xuZ1>xTmk^?K*%`L`E%0B&_g_Ly%iOnLWxgJCTPK4Ly&=8-+WOjj z`wcit{(5QkfUmx-dG9;@0r)rBufDVKpklW&zPC#7+$vO;;2M*uAiH_RHC*aRVCCw_ zos)m+xov_X!<0N`3PyqCw%k!rC<;N%4w=8C$N31WJk%#?dUH3E3Wd{t2d0bpqa31l zMvML=^lxycS4?pq_AFtqYI8)6$)agmCs$yfS4NbGd%Z;7$HE*B(x1<6`=_#u&w; zXgq0Oev*>_!<9?J8mf3OoyF~IU#(7tajLRiaPkBGKF6+0roPZ^Od~x;t^n~AU|G;s zL*L4_`s`5!RZNx6ZHxhhUWj*Z&{B@z$CQbSmz-Iva0qUr0&QAXNwjamuLcBF5Ok>mkPYGzT#Tyz65oFfaqj*T872qbLvv z$`MPYfLS2vh$cBb=wd@j+05CGE~=E2B%S>jqDfi#&Dm4oCfQWFc8;{sIBSnmNZXrj zi8AvkJI>mpv@4lgxu&ckPZ=$RhnBwe3C1Jmdi6z~wjf^zV2w7)_O6!Oc_ig` zt-Vqg>HKQ< zRin|^W$*kaP1QNpbX=z5_H3kuhSL#QsXAdRN)n<#i##nL3VizY-0FIE>PT)H5eSu| zKV$!+9A$b8tK75dA={GCUASb-?XZtY6t#$EzU~zrvX99$O7E$z5o0&=N6ivTRaG){ z`_}QW;+RO&E3>xyQWVQhPZmT~Pm{&Z@f>?RAbh{sr9m4on|27(d1`TG;4qm8tZwTpL;!{7>I(EXR7!^f1W`|O|Z zy(<}ZwY`0#-{VB+*VWn0MGXVBsJyy35R{$><}yRfjn8HmrV9Y znGhMj+1fAo6ga_*LWe4T{pD`u{QQ2qy8HI8Fbn7x1oG>%J*ZyeKU^|D4ZG>;3@dp8>w#RXXCT!1#~D|if&xlvJ6_88)+f<$2xJSJ>j6Q zN*-M?0iL1BtK6DKV;>{~l=pqCdv=Sf=m6{AviE8wW}@H!;j(h8o0IKHx;D~}?Sr3s z=*rd|T(&_uWqqh%0 z*2S(d!5&6wEK@R<#gJ1tCcMyf3RH=7uxZ%{F%kvCWkzurFz6vr3|h)4WG{xXo99z# zdTY2|xsNe4=LlHGBbJ$@uKJy7D*WLWRpB0+_dF{nA6Ty_;98`#o^dI z!{tD>0IPObc*u{?=V1YXbd+6(BKouk6@P%evN<0G)2qAS3IfJ`9zaxcjEe5_O(hhN z#!651L3JEg5u6wLkT0+3`3XyokYT8rI9{JVXRY!nfW!WIYi-=G&7QcmTt;{33djT zgAc94-p9+s-tlF-+j@7@K4cj1#dvh;aTD9%I$*LVxDTryz)6j@{1o$X9mjWIq10$! zDH6MNz@5@2`H9|5BPJJ3buq@QHyoK9XSr;>vj#hy9&OI7gp#=rehCak7pQTq2uXwGQl+(q5S? zMSA`gOhSEe*g+&7UP`ay%fac%Nv}U-&tQ#>#qFI8f9&^8PvDOZds=dt`L11mkqe=F z-dexSMJFy*#2JIytAUo&gp`Bo_loo|T%y%kSr#&1AlEmD!`+Y}-`D4$aYjA$3Yejd z^Mhx_!$e1!tD*`WH#5=*^HDzd?7;MC2eyZPHPcW>?#Mu{CZ+yAOaYHot zwL7OVLXItYT}_@SRLfRg(>J}U)>VK45X!3BxXA(?)}~91dkWZir4;R?NhWb;I=gd8 zS*s_n=HrhOoU_k|>Wkx7KQ3_RO4zH&Bq(7yNgP-z z+1Z;=zUn+VSscdWN~S5|*(p{UUu7m=MX!M@PMQivTg=Qyn=piA=o=as$E#d?M2Idp zI(a{2f9*{tkAC(r*0JkaN#PA`uuzh)BD z)T=sa_~}d;LnXP@eU;W}3p0ztS5nR$We{%4!tOq$|1No?u^o93+{P2!kt$r-A5YR? z>8tqmaItuAJwk}IhkCrADcGx|nvhe|_^_#UEl?UL5c!-B(pyH4aiq;%r&(wbEW#k- zEi@aOW-h@yo96cbUx(==o!7y4Ckp0K^3V7H9*8TgiCuGuV&wiZ4VPgSiBgZ&QbH)^w1{BY|HR**M`d&{0R1vW~t#$tTC z$edqK^Q~f%okv;GN*`~MFgW^*yrq#-E4enRU&olvi|!Zf_k9wf8_=q=_oOxaKr&dx z=m_0pWJguU+2Oc&vMrU~#5?#2=wP z$a`Orh$j9+?jn`96bjclnb1XAmSyU3lBYUGBeE9&&UqKUF-`$# zzUv+S>f512Br=!yT3&lr-j4V+$~Jx5%Cy4EP#Lk1uD{YnP3;exSCB4C&ju%R-tv~W z!Q&`?pG>39ZEzJs4tLFVKDJS|HLfSnPVB{Tea?0mXA$Nz#YQqf@lLcV9wk;mh{B*f z6x%&d8ZKU_Zf|hV@0<*?6tO3_;YtSeDOn_=gk5$Xjr1`-I|e7gY!M?b8XM4x2O;18 z6{_EAF|FP#2oqi?fHMhTzHyG6N*ko`1TEGazjbIcC^TfXijd!_XOrO3&$;eIs*50x#-JK}3P*%fs|mhG~lQESh()Qf=Fp=%{|3E|&F$Y=DQh``#=)rFG+Z zgqC6GL|*XiD3h&-YN3`Fn9H`60y74Qi9%AAg+yk(T}Q+>PkWj{$Ya%?7;(AXcgyOE z%M!v0>BxjJAQ%G??UkprCr-CDl8Ks}$07JSbbH-)ljcP2Y){c-X@mLf0A5EnS=z!68d zRCkgqeQbF@E+Ra-E^m!Yy<91BHNC_$!kj}O547pwS;DnD6BmU5T!ya_^l+2Qo8*T# zPM-JsLsJe}^B&cYr(zu<49dPOJ`RL{z4HKK`(xSGjAZ%fYQ~jO{Q=aEI(py{yY~in z%hX4&fd{b9K4zOen#~?_Qn?h!+mfKr<5e63auu#`r z2t|nsf0F>}V6H_sB^TQT7r9ZLl3ah!I-cO-P4Ow~Ynk5S<7GP2p_<#0DxdQ-`~2~l zK&s&!IG#FQm;Os232P6y0~WT8T)p;pTX_Q z`|{i3*Ug;QBt6*6L-d0P`r(a0)wZBm(Hf~8F^!Gjk8MfCWeDr~-%ME7s|ZWF$yR>j zBv#Y#aK)M5N8GkMqE|svT8j^Klib1n|L-RltMG#RLy%$(Irm^NxE%Id-2r+f9Jhx3 z&M%k!_K)pfKw-Gc4x)MTa9*jLok!>O^PP)rwixUGsJv~?9;$C$&(5p6rjA##YlpqU zmSzjJ5E&yoDi}(t4Ip9oN{vkR?6h0_oW%DS`2p!c9M1hgmFL@0$3C7^OfUu6l(stj z!A~Uty%`Na`fk?iyYy}f6*IImkKfX`J8)#pD0gW1uOVDGT88{c3xVsvKXbm})C+zX z>`)u!^_KDOqLMQ*dNJNzBKcifC5dRnk$K@B%Li) z4TFW`CJ8R%(n^xQejzV;?eK6Um*2{ZT~)NK*?f8SH%2+P0bJhvzku&E9}4`TFJ4ep zIv6(2l>sBnfeAt+5BBEjz{Pdo(g)hNzt%hs`tc+HX&3stBpPImj?pPMnO5kJ;Gq)m zZ2+mOV{XQvY@)8VxQD1I-|RJ+&CS|);Qt+qJ%)ed$Ff(+H~6S*|A9NJ_MS#iW5Eus zRt?kD@2G5TMl}!EW-}JK;PTnUlWnidAgf?AI9C9`A+v7?m!XC56RD}q;RAFkS?`y$ znr4D0ImTJzf)*e++q>9b!3ZgsF*tj50r-QzUSA-d^drO%lX)m^j{v}H7XVsLPw3Cd z@&Pz8&>sKmmG@HqV-7n@Cy#2-SD4Sk9Mj0wZ_b==I$l4Xe6U|ZF}rPVPwNSvus3G1 zB1uIE>G*n3Kc!p3h}cFT{-MLVD!V8iRf;CrVfm?FG_qho_TV}PGF`ZtAbQ(=fC}sE zWay^TcaXM&{W*X*yMyZh9Jb@RvnGzTzRu&>gte~h{^RT)=Y#WypmDMNFZJhNcR_Vw zxzU8_6k?S?4|4!1cH-zLna0j>q_9HvQg%*Ncqqj>6VSNcf2VBc_~%o@R9Z8O5jo|{f#zWAkt+q2tjXvq~wqg~ro8!XR z=^k~u?aRZ?;N+*c%NFX+QK=3%g<{8Fjujp?XjL3g7=hsn5B=@Vf-v}H|XGzB+{u;qaih`ss8>tsnmzZDJ5n2nTt zrF;&OvHrB^Gp-7ySY48;uQjRK^OQoQcuMyG#SWD?t=4Q^sN(~0(%o6kgXw|^47W0; zxg$1dwc|&`_XT6VG%&-lk5uZT1LaN_PbS>>4Q?WVjd-?a$r=?9H>2E` zX0<#JUx?G;oUnJXw!*BwwQ4oV>TYe@wHQc_tJ=B@h-23>VPhy96{;N zQe1n8RdAwM07E0?UnmXd`gNH3lgXr=+zD=hWQX+VpPdoAMc#-XU-O%eu^ zsQyQ}f$k!mY5dv8L($JeZj#Py$9t1XCpsDDO|GzN+=Ze(k89P$i(| z;GK`pm*<}V{8!)N|9?l5IKOK&f(CMVz5TiCgKZrOKMZEc5~qnHMyR$hz^?q`U+0Tz z<$O?u58a-P+Qn-dHBhIJ2~J%tpYZ&-gNKl-&Kk;S4h^B2px#jErvmfRS|vTm8&L&Q zaX2UY3OV}{zIIu2d!SlWj3PjLG!|z~Aur2iIUkT;kVBvoGK=n*8Ggc zy~vxxb>d^47{R-R^E}O;5?$>6BbdytgY!yCb9_@dk6u>KtGiWl_Z6*X^Yki-nuouj zQf?^Dy83Yv&eKIYUe;UGPtWcLlwUkh4(`oWZ`a#vfIqAB_;NT|QYTCxXXtbU$Qkbo zN9mcywXxetPx#E+vM5kN zvf%NdB$UG1yA#Tk!DV)Fo%PL0qFv{P>bl_;`rs6K@Zw$D4(2Pl3PtN+<^Vz`-kkLi z8*yCC^sb_b(n%E0wIl)zGQ0JLcZ@%1NyWm}Jof~QhEGnkIWmfW78-FU6*s(jVWQe@ z=uDR>!CuUR#r1L(XA+@aZ;5lGI9HCB5$nyw0c~-;^=LKIrx=hGJYOiR*SeJzb8;@Y z>)ya-G=w5q)noFn<3*h`;!SjzI=yYfQUq&PUHIy=WOmp7sgVAZweVKKz+Sf z#0#FM*T`@qywbJSnEYbQt|<#1W#&v(Ch|@SU}W_#X|2y>-9qwXQ?1_z^C_s@6f)q1 z4yKTwpL*5H%#Rt$DUB8|J@!8(i5pC-xO1>6-YxxWVqcBYHYfZf^BIb;^8-(!03=zk4*qyI+t4jqV9 z`Dz3sbb4kGXAF!kI0v+zHo3(IY#HXODy6OgerI|(NaiTF^GFtVk>DQ($@I|lOK=L} z^g$3s!}KS}Q7+OM7R>l}beq*^_73_u^OIXZtbYNQzD0UB598*p#Q*MX8r@Ce1uV@D zPcOC;GA0<;|9j!vYWO+@FqtIXA4EEV?g;8cG(|$(S7;cesHX+ENnya*f;zs`wu7-^o;MPFSt~{VtwAb_5@l zm1Q|&R1FlWZBkJzCcPp#y|jDn{fdRs_KwZ#u$Y;T28M zkDkdV6hF$rK1B4pk~R)I$L-$f5KM5%Z5(;&-O{^fy+Zm)*myGtZ^UKusVE-x&J~R{ z6Y&BL=!$iO)mU{lw4_=&Zq-6fWLORKFoKFyJBGTdbtE*gaij6t*A2l-_2NtYMdf^c zKK&Q`cV1OZzV?;#9!Lnubex*v!C?xhfI0sZKQ8KZo_7)m5A*DT6>^UZgz)dg6ZJ;M z(ot;8Q*F%C$q6L9jH8N-M*u;UF(U2x4S(L6=uap7>2bUaHY?rhk4Cwuv7<6aJq z+O59q=j)C8>9>cc{jTijo6ptJx3Z(kx;^ndD~SLov4UIk3Ufj+ie~5P6m!22bywxE z-)%muWKcLBa-eACc){l5A)COlkOSPT8tZkm`B=mta4_8Xla&)2ZA=I!tYKV=W+vk_O&sVC?@pJq9iud_i_W7#u+&;hN zeSWF>+2gSQ^G4?4%KBMz}f z0MFp8hn=50hi%@aTL0IZpa1XoWG9=S{_mxf^?LKO|NU#($>wMO`!8iDo1gdZzsg7t zuQxyT-+wJZ+Wg3W|BdYA+s!-qR(A5;=AC>eI|-gabq(3e=GTe$dy05Bzf8Q}L+Y(z z2XfUhafbi>bMB1C$1U2a*Qh}QWov6$;Rzb+yk{8Yhs{ShY47AF6lK?q0rQ%>Sph&Hi1Zo}X*O z{_B}D)R5^K>q#5x;u-XJ)El(b6!S)Vp+dgzn*+xoaDIEJssqaRQX(tDsO=5AI&GQ+nLGw z-RFT+*lTuyxo!(^+9KvP@7A(H_I;ZyiDci3iZacNb4i8Vs`3Yb*vtTIbkm!~(TH#W*|R2k=u-Rui=*I50qmHXN{_sz!S6s}@3 zCx7wV^w5UymTq>%)TgWtJ+!k=(d8n+1!aiSrH%HkufG;PZLK!ktaxrE{p#k;HR~A3 zA78lCe59V~aXk!mmGyLS70V(-B8a~H6t{Y%^J|4Aw-nYVeodym*B=vD{i^dOGtP{p z{r0ugf`TqPVP*CeWd{Gv#i|q}OGp|{N$?uJOojp8<2&H^Ftn)#!4N5Sp9n=|RE>q; zYvR10mMHb!ax6tc+l;Q=fi;#x+F5mJe56F4nmunEI#3I`8auI2by>gz}jF_L!y`w0tr{c~;* zQlYK(qLt^m;|p%Q-x}C;|I7wlw88Ha&+8HFMDM&I1Xi^deg3Lai&*O+3!0Cx7e2+NObkugHdX$5df>1BI&~~ZkVMRal^cw4y$WB=Y15}CJ^@HU1_V&SRaLDnoC1zN0&?WM>PW)imgDX+A=vdXn z%XtRV$r5%4?eCAQ@LbC*I8yFEAQaKiGK^SnSN*zZqBgV+ZjYYH_ypBH3K`^RAE{K! zfJ%lgu$i87O#9T9*{otKB6mLYkmY#*E#a*V%e7dQJJnGLQ3Kv{vI1&7EEpo+8Z%u^ zx{0n=IwT7bCPSb_n{hUeoBGMgoqZ`2^yJU!`X&6RVnu5O^5=4S_e-O&NW&#Tg; z%inBbDf2JY>l9JOuQpzTeGJEJt0jB%VAfuVRyzTj`d8U%BwgDG{6H7uJyFt|X*3)veFP_j|{u18A%# z!yFir$%Rm-7f+mqgJPc_rOAQ$HFJj&ZWTT_wfa&}np;||!qCPd{CQhEZLo+tnLD|F zG0|$am)|F$s-G!63Hb2-E`JqD-n^KM;~onmxwD_@iCSVD?!7`qZ0iX#IZXcYQy}my zH;nmpezXzIFCE!+cgdKvptEL!TP~Zu>FELSGdBb`mVHID`|~esJnsI(o@a#nqvq}7 z%^lqBV`gC*%$dhag`1c7yzv|>x}PX-jwKY5xOCgTjXs$ZF~Ec!mM@{A%zfNBT9jay zSBE0LzHr6lvJtOHUadgWXunD^UpJu(fp-Z_wwrb}WlW1qBIQRjs&};;t(n$Z=E{Z~ zxHQ)nhlCdd`$@>Xk&kZ+Q&+NhsldiGHF>68P1xbMb_HsxQ{9$|DS(M`X0k8r$rOnx zns!Y@++R)R8N$Ddny&)2g;j&oLbkGj5jWA^7ZO z^0c-_S|FU=(MuqE@u#7~+ql<0j%_h_D?ip(x3x=wTUJmKQreC%#pzYm`b?K4^XiIS zX+aA-sBc*(+$cyOlWL(!0$a7YCzfLaUA@$5+5GHUn5-Oq-Oms5tn$-xwZ7*Zgp&}5 zKA_afF38=E3cR3XFDkB+Gl3Bzj%zVPr?us|&RG2{(QigMeCOg9>iT&ya1#4a%jAJf zl3cB}fqpVnPf6twHO&i(NX|4v=){N3&cXF0-1V$nb_s!Me1kx6D~342t!MjzKmMOP4@aWQzWxqL1Rd#14iV!y-MJMb?QBJ zzy72!LAg4`#B+it($snVuZ3a46-~(%{+BL_hEeN4*x1MBIT+MuGY#{gcYmD~k)acx z3=rqsTp>^v@+rri&})w!_qh?<-#`4E#WC98g__)=wtc{Xc^D%<)q~NLUK;wS((HA) zMQA(y+)`~E@zJtFEBUS%N*xjJ*H=PQ@nlpqomI2L@{q3nYC@nC(at<>ZNo~SULA4L z`UgtSK_fDvLpZ!aYTY2S*pJOzKXr{H`tr<4lyo8g(D=KcAREhO_{k!6-_e*{@Chahma&$KA%(LvY$A!5HNr z>T~jVeJc(liI@s>D;ESVKyOB@TsbgUTVkHtDxZ2PA^|~%*whe^C5_YBT23|v2nNV~ zlYQzOLhGe?y1LhoL6I@ql27!RQLpau%9q8tvYaeVIZaPc3)ZN#IB?ho z{nXF;SDSaR)7M_eVf^^zfQ-^E6N^Q*u{F$*r~nqeyK@~E6W_NKT38R#g;cN|FrL0g zKfF5LSX0o;-t)46ABeL%VvZpU<{5UbiN*5t75A{7S&Ef!}o>U}>P{a5aoZS%*7bFemWQkz-?dmzqu-wAZQ@iDb<(pzFA1$7O#> zRE#5d1O7o^3SY(+)byR}Oqqt~ty9Tw^XbAW#(Fulqb6ov6&G z>04FMIiM<*G3uLv3rH08{-LZ;a9?y96v8*au`*L0ZEhDQkcCj)vqy=I$l6MsYnHbW_mt4S~ zcrF!SW=H{Hhq6OqFc<&;+H|JP?Fl6i05AmKGJ~J|bCCVF?~qO&I5)JE8v^U>fW{NH zjp?9tP+;2@G~Ryw=b-=R2E5K_FM~)V&dnW%MPmtg>Aj=s$pm9xKL7x_VF)0&!;tJR z2;F6P8G({SqCE(b7-u{IjYWG%x#0K09{X%@+J2<~h`F#mu%n5)V4xt-6O^R82M&qG z<8k}JCOb=UY9A>8ooE;!uuEA75wg=Il!vny+C%cUllur0Y0wQyBm=)gEJ_{743uH2c)mgGMxkh>cI2R zE|8%b^-d*N{Ar!PqGa|vNZ#&$CVpqtw2-NMHNi}Q#sJ?go{IWjo<8WDCE5cFmef9^ zY>STL?jQjy20(ZhsY+un$pVcB3kr|c2a|}|A4eorlclf#09~QjBg{{87Y?ieH+O<0 z9u($`MDG)_+l69I-eB@De9%3yU(Mb{!h@ycjKfOe2{@1aKsD-VaaH#Lpsx=CaP0E1 z#DZpL?EePsqs2I@owqlY0`Pf41Mu%cyq?&N@WB$C&;)0sq#Mo?zn_{y8g-vo5YYvm zyE8X(n|7y~t0=G%a2_aUEP{aEFLOYLu}u+3(W3zN%#`Zzy(Htm>(g+%Jol*r;?=0@ z+#n|rJh^r`SQGJY*0yK+KvvHcP+SF#N#M!73nCP`7h*|35IlcN`LCY#XPf(*G^5@3 zCj|?(A;O;x?Z2#8c8oov4UO6!`!B11u6sLJn8dBtDR3$k9@y)?><()bI5ELmLt`C( zx559C0CIjGGunvz|C50B2K8^(>%V$3HnW4x5^UQ%lmNi~+Zq7K{?R+^9lZZ)d{W+? zn7wXfR>5Z4sQ>`S2mq|R2%@C_DcGKJza7}wR3gV@dOw2&&;H5C6hO%UCToYg zWPktt%n8nJ`-XexQ^Da~m_M@jQE?T0SrUywyMfg&i9{fs{&I{8tXcqEbp-)qaI$0% IZ9fwHABrd*Jpcdz literal 0 HcmV?d00001 diff --git a/youtube_dl/selenium/webdriver/firefox/webdriver_prefs.json b/youtube_dl/selenium/webdriver/firefox/webdriver_prefs.json new file mode 100644 index 000000000..0dbe56bbd --- /dev/null +++ b/youtube_dl/selenium/webdriver/firefox/webdriver_prefs.json @@ -0,0 +1,70 @@ +{ + "frozen": { + "app.update.auto": false, + "app.update.enabled": false, + "browser.displayedE10SNotice": 4, + "browser.download.manager.showWhenStarting": false, + "browser.EULA.override": true, + "browser.EULA.3.accepted": true, + "browser.link.open_external": 2, + "browser.link.open_newwindow": 2, + "browser.offline": false, + "browser.reader.detectedFirstArticle": true, + "browser.safebrowsing.enabled": false, + "browser.safebrowsing.malware.enabled": false, + "browser.search.update": false, + "browser.selfsupport.url" : "", + "browser.sessionstore.resume_from_crash": false, + "browser.shell.checkDefaultBrowser": false, + "browser.tabs.warnOnClose": false, + "browser.tabs.warnOnOpen": false, + "datareporting.healthreport.service.enabled": false, + "datareporting.healthreport.uploadEnabled": false, + "datareporting.healthreport.service.firstRun": false, + "datareporting.healthreport.logging.consoleEnabled": false, + "datareporting.policy.dataSubmissionEnabled": false, + "datareporting.policy.dataSubmissionPolicyAccepted": false, + "devtools.errorconsole.enabled": true, + "dom.disable_open_during_load": false, + "extensions.autoDisableScopes": 10, + "extensions.blocklist.enabled": false, + "extensions.checkCompatibility.nightly": false, + "extensions.logging.enabled": true, + "extensions.update.enabled": false, + "extensions.update.notifyUser": false, + "javascript.enabled": true, + "network.manage-offline-status": false, + "network.http.phishy-userpass-length": 255, + "offline-apps.allow_by_default": true, + "prompts.tab_modal.enabled": false, + "security.fileuri.origin_policy": 3, + "security.fileuri.strict_origin_policy": false, + "signon.rememberSignons": false, + "toolkit.networkmanager.disable": true, + "toolkit.telemetry.prompted": 2, + "toolkit.telemetry.enabled": false, + "toolkit.telemetry.rejected": true, + "xpinstall.signatures.required": false, + "xpinstall.whitelist.required": false + }, + "mutable": { + "browser.dom.window.dump.enabled": true, + "browser.laterrun.enabled": false, + "browser.newtab.url": "about:blank", + "browser.newtabpage.enabled": false, + "browser.startup.page": 0, + "browser.startup.homepage": "about:blank", + "browser.startup.homepage_override.mstone": "ignore", + "browser.usedOnWindows10.introURL": "about:blank", + "dom.max_chrome_script_run_time": 30, + "dom.max_script_run_time": 30, + "dom.report_all_js_exceptions": true, + "javascript.options.showInConsole": true, + "network.captive-portal-service.enabled": false, + "security.csp.enable": false, + "startup.homepage_welcome_url": "about:blank", + "startup.homepage_welcome_url.additional": "about:blank", + "webdriver_accept_untrusted_certs": true, + "webdriver_assume_untrusted_issuer": true + } +} diff --git a/youtube_dl/selenium/webdriver/firefox/webelement.py b/youtube_dl/selenium/webdriver/firefox/webelement.py new file mode 100644 index 000000000..4117ec067 --- /dev/null +++ b/youtube_dl/selenium/webdriver/firefox/webelement.py @@ -0,0 +1,49 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.webdriver.remote.webelement import WebElement as RemoteWebElement + + +class FirefoxWebElement(RemoteWebElement): + + @property + def anonymous_children(self): + """Retrieve the anonymous children of this element in an XBL + context. This is only available in chrome context. + + See the `anonymous content documentation + `_ + on MDN for more information. + + """ + return self._execute( + "ELEMENT_GET_ANONYMOUS_CHILDREN", + {"value": None}) + + def find_anonymous_element_by_attribute(self, name, value): + """Retrieve an anonymous descendant with a specified attribute + value. Typically used with an (arbitrary) anonid attribute to + retrieve a specific anonymous child in an XBL binding. + + See the `anonymous content documentation + `_ + on MDN for more information. + + """ + return self._execute( + "ELEMENT_FIND_ANONYMOUS_ELEMENTS_BY_ATTRIBUTE", + {"name": name, "value": value})["value"] diff --git a/youtube_dl/selenium/webdriver/firefox/x86/x_ignore_nofocus.so b/youtube_dl/selenium/webdriver/firefox/x86/x_ignore_nofocus.so new file mode 100755 index 0000000000000000000000000000000000000000..8e7db8de3f47e756bf6f0c20998a63df90eb5970 GIT binary patch literal 30887 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 a1Inq3y}K| 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 TU`Bk}DP=s>&OSy 0: + opts[self.SWITCHES] = ' '.join(self._arguments) + + if len(self._additional) > 0: + opts.update(self._additional) + + if len(opts) > 0: + return {self.KEY: opts} + return {} diff --git a/youtube_dl/selenium/webdriver/ie/service.py b/youtube_dl/selenium/webdriver/ie/service.py new file mode 100644 index 000000000..c9083e169 --- /dev/null +++ b/youtube_dl/selenium/webdriver/ie/service.py @@ -0,0 +1,50 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.webdriver.common import service + + +class Service(service.Service): + """ + Object that manages the starting and stopping of the IEDriver + """ + + def __init__(self, executable_path, port=0, host=None, log_level=None, log_file=None): + """ + Creates a new instance of the Service + + :Args: + - executable_path : Path to the IEDriver + - port : Port the service is running on + - host : IP address the service port is bound + - log_level : Level of logging of service, may be "FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE". + Default is "FATAL". + - log_file : Target of logging of service, may be "stdout", "stderr" or file path. + Default is "stdout".""" + self.service_args = [] + if host is not None: + self.service_args.append("--host=%s" % host) + if log_level is not None: + self.service_args.append("--log-level=%s" % log_level) + if log_file is not None: + self.service_args.append("--log-file=%s" % log_file) + + service.Service.__init__(self, executable_path, port=port, + start_error_message="Please download from http://selenium-release.storage.googleapis.com/index.html and read up at https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver") + + def command_line_args(self): + return ["--port=%d" % self.port] + self.service_args diff --git a/youtube_dl/selenium/webdriver/ie/webdriver.py b/youtube_dl/selenium/webdriver/ie/webdriver.py new file mode 100644 index 000000000..1b9f3915b --- /dev/null +++ b/youtube_dl/selenium/webdriver/ie/webdriver.py @@ -0,0 +1,95 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +import warnings + +from selenium.webdriver.common import utils +from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities +from .service import Service +from .options import Options + +DEFAULT_TIMEOUT = 30 +DEFAULT_PORT = 0 +DEFAULT_HOST = None +DEFAULT_LOG_LEVEL = None +DEFAULT_LOG_FILE = None + + +class WebDriver(RemoteWebDriver): + """ Controls the IEServerDriver and allows you to drive Internet Explorer """ + + def __init__(self, executable_path='IEDriverServer.exe', capabilities=None, + port=DEFAULT_PORT, timeout=DEFAULT_TIMEOUT, host=DEFAULT_HOST, + log_level=DEFAULT_LOG_LEVEL, log_file=DEFAULT_LOG_FILE, options=None, + ie_options=None): + """ + Creates a new instance of the chrome driver. + + Starts the service and then creates new instance of chrome driver. + + :Args: + - executable_path - path to the executable. If the default is used it assumes the executable is in the $PATH + - capabilities: capabilities Dictionary object + - port - port you would like the service to run, if left as 0, a free port will be found. + - log_level - log level you would like the service to run. + - log_file - log file you would like the service to log to. + - options: IE Options instance, providing additional IE options + """ + if ie_options: + warnings.warn('use options instead of ie_options', DeprecationWarning) + options = ie_options + self.port = port + if self.port == 0: + self.port = utils.free_port() + self.host = host + self.log_level = log_level + self.log_file = log_file + + if options is None: + # desired_capabilities stays as passed in + if capabilities is None: + capabilities = self.create_options().to_capabilities() + else: + if capabilities is None: + capabilities = options.to_capabilities() + else: + capabilities.update(options.to_capabilities()) + + self.iedriver = Service( + executable_path, + port=self.port, + host=self.host, + log_level=self.log_level, + log_file=self.log_file) + + self.iedriver.start() + + if capabilities is None: + capabilities = DesiredCapabilities.INTERNETEXPLORER + + RemoteWebDriver.__init__( + self, + command_executor='http://localhost:%d' % self.port, + desired_capabilities=capabilities) + self._is_remote = False + + def quit(self): + RemoteWebDriver.quit(self) + self.iedriver.stop() + + def create_options(self): + return Options() diff --git a/youtube_dl/selenium/webdriver/opera/__init__.py b/youtube_dl/selenium/webdriver/opera/__init__.py new file mode 100644 index 000000000..a5b1e6f85 --- /dev/null +++ b/youtube_dl/selenium/webdriver/opera/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/youtube_dl/selenium/webdriver/opera/options.py b/youtube_dl/selenium/webdriver/opera/options.py new file mode 100644 index 000000000..a27fd223b --- /dev/null +++ b/youtube_dl/selenium/webdriver/opera/options.py @@ -0,0 +1,106 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.webdriver.chrome.options import Options as ChromeOptions +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities + + +class Options(ChromeOptions): + KEY = "operaOptions" + + def __init__(self): + ChromeOptions.__init__(self) + self._android_package_name = '' + self._android_device_socket = '' + self._android_command_line_file = '' + + @property + def android_package_name(self): + """ + Returns the name of the Opera package + """ + return self._android_package_name + + @android_package_name.setter + def android_package_name(self, value): + """ + Allows you to set the package name + + :Args: + - value: devtools socket name + """ + self._android_package_name = value + + @property + def android_device_socket(self): + """ + Returns the name of the devtools socket + """ + return self._android_device_socket + + @android_device_socket.setter + def android_device_socket(self, value): + """ + Allows you to set the devtools socket name + + :Args: + - value: devtools socket name + """ + self._android_device_socket = value + + @property + def android_command_line_file(self): + """ + Returns the path of the command line file + """ + return self._android_command_line_file + + @android_command_line_file.setter + def android_command_line_file(self, value): + """ + Allows you to set where the command line file lives + + :Args: + - value: command line file path + """ + self._android_command_line_file = value + + def to_capabilities(self): + """ + Creates a capabilities with all the options that have been set and + + returns a dictionary with everything + """ + capabilities = ChromeOptions.to_capabilities(self) + capabilities.update(DesiredCapabilities.OPERA) + opera_options = capabilities[self.KEY] + + if self.android_package_name: + opera_options["androidPackage"] = self.android_package_name + if self.android_device_socket: + opera_options["androidDeviceSocket"] = self.android_device_socket + if self.android_command_line_file: + opera_options["androidCommandLineFile"] = \ + self.android_command_line_file + return capabilities + + +class AndroidOptions(Options): + + def __init__(self): + Options.__init__(self) + self.android_package_name = 'com.opera.browser' diff --git a/youtube_dl/selenium/webdriver/opera/webdriver.py b/youtube_dl/selenium/webdriver/opera/webdriver.py new file mode 100644 index 000000000..ec2a7dd87 --- /dev/null +++ b/youtube_dl/selenium/webdriver/opera/webdriver.py @@ -0,0 +1,78 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +import warnings + +from selenium.webdriver.chrome.webdriver import WebDriver as ChromiumDriver +from .options import Options + + +class OperaDriver(ChromiumDriver): + """Controls the new OperaDriver and allows you + to drive the Opera browser based on Chromium.""" + + def __init__(self, executable_path=None, port=0, + options=None, service_args=None, + desired_capabilities=None, service_log_path=None, + opera_options=None): + """ + Creates a new instance of the operadriver. + + Starts the service and then creates new instance of operadriver. + + :Args: + - executable_path - path to the executable. If the default is used + it assumes the executable is in the $PATH + - port - port you would like the service to run, if left as 0, + a free port will be found. + - desired_capabilities: Dictionary object with non-browser specific + capabilities only, such as "proxy" or "loggingPref". + - options: this takes an instance of ChromeOptions + """ + if opera_options: + warnings.warn('use options instead of opera_options', DeprecationWarning) + options = opera_options + + executable_path = (executable_path if executable_path is not None + else "operadriver") + ChromiumDriver.__init__(self, + executable_path=executable_path, + port=port, + options=options, + service_args=service_args, + desired_capabilities=desired_capabilities, + service_log_path=service_log_path) + + def create_options(self): + return Options() + + +class WebDriver(OperaDriver): + class ServiceType: + CHROMIUM = 2 + + def __init__(self, + desired_capabilities=None, + executable_path=None, + port=0, + service_log_path=None, + service_args=None, + options=None): + OperaDriver.__init__(self, executable_path=executable_path, + port=port, options=options, + service_args=service_args, + desired_capabilities=desired_capabilities, + service_log_path=service_log_path) diff --git a/youtube_dl/selenium/webdriver/phantomjs/__init__.py b/youtube_dl/selenium/webdriver/phantomjs/__init__.py new file mode 100644 index 000000000..a5b1e6f85 --- /dev/null +++ b/youtube_dl/selenium/webdriver/phantomjs/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/youtube_dl/selenium/webdriver/phantomjs/service.py b/youtube_dl/selenium/webdriver/phantomjs/service.py new file mode 100644 index 000000000..37b4e9f8c --- /dev/null +++ b/youtube_dl/selenium/webdriver/phantomjs/service.py @@ -0,0 +1,68 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +import os +import tempfile +from selenium.webdriver.common import service + + +class Service(service.Service): + """ + Object that manages the starting and stopping of PhantomJS / Ghostdriver + """ + + def __init__(self, executable_path, port=0, service_args=None, log_path=None): + """ + Creates a new instance of the Service + + :Args: + - executable_path : Path to PhantomJS binary + - port : Port the service is running on + - service_args : A List of other command line options to pass to PhantomJS + - log_path: Path for PhantomJS service to log to + """ + self.service_args = service_args + if self.service_args is None: + self.service_args = [] + else: + self.service_args = service_args[:] + if not log_path: + log_path = "ghostdriver.log" + if not self._args_contain("--cookies-file="): + self._cookie_temp_file_handle, self._cookie_temp_file = tempfile.mkstemp() + self.service_args.append("--cookies-file=" + self._cookie_temp_file) + else: + self._cookie_temp_file = None + + service.Service.__init__(self, executable_path, port=port, log_file=open(log_path, 'w')) + + def _args_contain(self, arg): + return len(list(filter(lambda x: x.startswith(arg), self.service_args))) > 0 + + def command_line_args(self): + return self.service_args + ["--webdriver=%d" % self.port] + + @property + def service_url(self): + """ + Gets the url of the GhostDriver Service + """ + return "http://localhost:%d/wd/hub" % self.port + + def send_remote_shutdown_command(self): + if self._cookie_temp_file: + os.close(self._cookie_temp_file_handle) + os.remove(self._cookie_temp_file) diff --git a/youtube_dl/selenium/webdriver/phantomjs/webdriver.py b/youtube_dl/selenium/webdriver/phantomjs/webdriver.py new file mode 100644 index 000000000..e07024f79 --- /dev/null +++ b/youtube_dl/selenium/webdriver/phantomjs/webdriver.py @@ -0,0 +1,80 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +import warnings + +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities +from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver +from .service import Service + + +class WebDriver(RemoteWebDriver): + """ + Wrapper to communicate with PhantomJS through Ghostdriver. + + You will need to follow all the directions here: + https://github.com/detro/ghostdriver + """ + + def __init__(self, executable_path="phantomjs", + port=0, desired_capabilities=DesiredCapabilities.PHANTOMJS, + service_args=None, service_log_path=None): + """ + Creates a new instance of the PhantomJS / Ghostdriver. + + Starts the service and then creates new instance of the driver. + + :Args: + - executable_path - path to the executable. If the default is used it assumes the executable is in the $PATH + - port - port you would like the service to run, if left as 0, a free port will be found. + - desired_capabilities: Dictionary object with non-browser specific + capabilities only, such as "proxy" or "loggingPref". + - service_args : A List of command line arguments to pass to PhantomJS + - service_log_path: Path for phantomjs service to log to. + """ + warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless ' + 'versions of Chrome or Firefox instead') + self.service = Service( + executable_path, + port=port, + service_args=service_args, + log_path=service_log_path) + self.service.start() + + try: + RemoteWebDriver.__init__( + self, + command_executor=self.service.service_url, + desired_capabilities=desired_capabilities) + except Exception: + self.quit() + raise + + self._is_remote = False + + def quit(self): + """ + Closes the browser and shuts down the PhantomJS executable + that is started when starting the PhantomJS + """ + try: + RemoteWebDriver.quit(self) + except Exception: + # We don't care about the message because something probably has gone wrong + pass + finally: + self.service.stop() diff --git a/youtube_dl/selenium/webdriver/remote/__init__.py b/youtube_dl/selenium/webdriver/remote/__init__.py new file mode 100644 index 000000000..a5b1e6f85 --- /dev/null +++ b/youtube_dl/selenium/webdriver/remote/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/youtube_dl/selenium/webdriver/remote/command.py b/youtube_dl/selenium/webdriver/remote/command.py new file mode 100644 index 000000000..e2f7edbdb --- /dev/null +++ b/youtube_dl/selenium/webdriver/remote/command.py @@ -0,0 +1,174 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + + +class Command(object): + """ + Defines constants for the standard WebDriver commands. + + While these constants have no meaning in and of themselves, they are + used to marshal commands through a service that implements WebDriver's + remote wire protocol: + + https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol + + """ + + # Keep in sync with org.openqa.selenium.remote.DriverCommand + + STATUS = "status" + NEW_SESSION = "newSession" + GET_ALL_SESSIONS = "getAllSessions" + DELETE_SESSION = "deleteSession" + CLOSE = "close" + QUIT = "quit" + GET = "get" + GO_BACK = "goBack" + GO_FORWARD = "goForward" + REFRESH = "refresh" + ADD_COOKIE = "addCookie" + GET_COOKIE = "getCookie" + GET_ALL_COOKIES = "getCookies" + DELETE_COOKIE = "deleteCookie" + DELETE_ALL_COOKIES = "deleteAllCookies" + FIND_ELEMENT = "findElement" + FIND_ELEMENTS = "findElements" + FIND_CHILD_ELEMENT = "findChildElement" + FIND_CHILD_ELEMENTS = "findChildElements" + CLEAR_ELEMENT = "clearElement" + CLICK_ELEMENT = "clickElement" + SEND_KEYS_TO_ELEMENT = "sendKeysToElement" + SEND_KEYS_TO_ACTIVE_ELEMENT = "sendKeysToActiveElement" + SUBMIT_ELEMENT = "submitElement" + UPLOAD_FILE = "uploadFile" + GET_CURRENT_WINDOW_HANDLE = "getCurrentWindowHandle" + W3C_GET_CURRENT_WINDOW_HANDLE = "w3cGetCurrentWindowHandle" + GET_WINDOW_HANDLES = "getWindowHandles" + W3C_GET_WINDOW_HANDLES = "w3cGetWindowHandles" + GET_WINDOW_SIZE = "getWindowSize" + W3C_GET_WINDOW_SIZE = "w3cGetWindowSize" + W3C_GET_WINDOW_POSITION = "w3cGetWindowPosition" + GET_WINDOW_POSITION = "getWindowPosition" + SET_WINDOW_SIZE = "setWindowSize" + W3C_SET_WINDOW_SIZE = "w3cSetWindowSize" + SET_WINDOW_RECT = "setWindowRect" + GET_WINDOW_RECT = "getWindowRect" + SET_WINDOW_POSITION = "setWindowPosition" + W3C_SET_WINDOW_POSITION = "w3cSetWindowPosition" + SWITCH_TO_WINDOW = "switchToWindow" + SWITCH_TO_FRAME = "switchToFrame" + SWITCH_TO_PARENT_FRAME = "switchToParentFrame" + GET_ACTIVE_ELEMENT = "getActiveElement" + W3C_GET_ACTIVE_ELEMENT = "w3cGetActiveElement" + GET_CURRENT_URL = "getCurrentUrl" + GET_PAGE_SOURCE = "getPageSource" + GET_TITLE = "getTitle" + EXECUTE_SCRIPT = "executeScript" + W3C_EXECUTE_SCRIPT = "w3cExecuteScript" + W3C_EXECUTE_SCRIPT_ASYNC = "w3cExecuteScriptAsync" + GET_ELEMENT_TEXT = "getElementText" + GET_ELEMENT_VALUE = "getElementValue" + GET_ELEMENT_TAG_NAME = "getElementTagName" + SET_ELEMENT_SELECTED = "setElementSelected" + IS_ELEMENT_SELECTED = "isElementSelected" + IS_ELEMENT_ENABLED = "isElementEnabled" + IS_ELEMENT_DISPLAYED = "isElementDisplayed" + GET_ELEMENT_LOCATION = "getElementLocation" + GET_ELEMENT_LOCATION_ONCE_SCROLLED_INTO_VIEW = "getElementLocationOnceScrolledIntoView" + GET_ELEMENT_SIZE = "getElementSize" + GET_ELEMENT_RECT = "getElementRect" + GET_ELEMENT_ATTRIBUTE = "getElementAttribute" + GET_ELEMENT_PROPERTY = "getElementProperty" + GET_ELEMENT_VALUE_OF_CSS_PROPERTY = "getElementValueOfCssProperty" + ELEMENT_EQUALS = "elementEquals" + SCREENSHOT = "screenshot" + ELEMENT_SCREENSHOT = "elementScreenshot" + IMPLICIT_WAIT = "implicitlyWait" + EXECUTE_ASYNC_SCRIPT = "executeAsyncScript" + SET_SCRIPT_TIMEOUT = "setScriptTimeout" + SET_TIMEOUTS = "setTimeouts" + MAXIMIZE_WINDOW = "windowMaximize" + W3C_MAXIMIZE_WINDOW = "w3cMaximizeWindow" + GET_LOG = "getLog" + GET_AVAILABLE_LOG_TYPES = "getAvailableLogTypes" + FULLSCREEN_WINDOW = "fullscreenWindow" + MINIMIZE_WINDOW = "minimizeWindow" + + # Alerts + DISMISS_ALERT = "dismissAlert" + W3C_DISMISS_ALERT = "w3cDismissAlert" + ACCEPT_ALERT = "acceptAlert" + W3C_ACCEPT_ALERT = "w3cAcceptAlert" + SET_ALERT_VALUE = "setAlertValue" + W3C_SET_ALERT_VALUE = "w3cSetAlertValue" + GET_ALERT_TEXT = "getAlertText" + W3C_GET_ALERT_TEXT = "w3cGetAlertText" + SET_ALERT_CREDENTIALS = "setAlertCredentials" + + # Advanced user interactions + W3C_ACTIONS = "actions" + W3C_CLEAR_ACTIONS = "clearActionState" + CLICK = "mouseClick" + DOUBLE_CLICK = "mouseDoubleClick" + MOUSE_DOWN = "mouseButtonDown" + MOUSE_UP = "mouseButtonUp" + MOVE_TO = "mouseMoveTo" + + # Screen Orientation + SET_SCREEN_ORIENTATION = "setScreenOrientation" + GET_SCREEN_ORIENTATION = "getScreenOrientation" + + # Touch Actions + SINGLE_TAP = "touchSingleTap" + TOUCH_DOWN = "touchDown" + TOUCH_UP = "touchUp" + TOUCH_MOVE = "touchMove" + TOUCH_SCROLL = "touchScroll" + DOUBLE_TAP = "touchDoubleTap" + LONG_PRESS = "touchLongPress" + FLICK = "touchFlick" + + # HTML 5 + EXECUTE_SQL = "executeSql" + + GET_LOCATION = "getLocation" + SET_LOCATION = "setLocation" + + GET_APP_CACHE = "getAppCache" + GET_APP_CACHE_STATUS = "getAppCacheStatus" + CLEAR_APP_CACHE = "clearAppCache" + + GET_LOCAL_STORAGE_ITEM = "getLocalStorageItem" + REMOVE_LOCAL_STORAGE_ITEM = "removeLocalStorageItem" + GET_LOCAL_STORAGE_KEYS = "getLocalStorageKeys" + SET_LOCAL_STORAGE_ITEM = "setLocalStorageItem" + CLEAR_LOCAL_STORAGE = "clearLocalStorage" + GET_LOCAL_STORAGE_SIZE = "getLocalStorageSize" + + GET_SESSION_STORAGE_ITEM = "getSessionStorageItem" + REMOVE_SESSION_STORAGE_ITEM = "removeSessionStorageItem" + GET_SESSION_STORAGE_KEYS = "getSessionStorageKeys" + SET_SESSION_STORAGE_ITEM = "setSessionStorageItem" + CLEAR_SESSION_STORAGE = "clearSessionStorage" + GET_SESSION_STORAGE_SIZE = "getSessionStorageSize" + + # Mobile + GET_NETWORK_CONNECTION = "getNetworkConnection" + SET_NETWORK_CONNECTION = "setNetworkConnection" + CURRENT_CONTEXT_HANDLE = "getCurrentContextHandle" + CONTEXT_HANDLES = "getContextHandles" + SWITCH_TO_CONTEXT = "switchToContext" diff --git a/youtube_dl/selenium/webdriver/remote/errorhandler.py b/youtube_dl/selenium/webdriver/remote/errorhandler.py new file mode 100644 index 000000000..e184c94cf --- /dev/null +++ b/youtube_dl/selenium/webdriver/remote/errorhandler.py @@ -0,0 +1,245 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from selenium.common.exceptions import (ElementClickInterceptedException, + ElementNotInteractableException, + ElementNotSelectableException, + ElementNotVisibleException, + ErrorInResponseException, + InsecureCertificateException, + InvalidCoordinatesException, + InvalidElementStateException, + InvalidSessionIdException, + InvalidSelectorException, + ImeNotAvailableException, + ImeActivationFailedException, + InvalidArgumentException, + InvalidCookieDomainException, + JavascriptException, + MoveTargetOutOfBoundsException, + NoSuchCookieException, + NoSuchElementException, + NoSuchFrameException, + NoSuchWindowException, + NoAlertPresentException, + ScreenshotException, + SessionNotCreatedException, + StaleElementReferenceException, + TimeoutException, + UnableToSetCookieException, + UnexpectedAlertPresentException, + UnknownMethodException, + WebDriverException) + +try: + basestring +except NameError: # Python 3.x + basestring = str + + +class ErrorCode(object): + """ + Error codes defined in the WebDriver wire protocol. + """ + # Keep in sync with org.openqa.selenium.remote.ErrorCodes and errorcodes.h + SUCCESS = 0 + NO_SUCH_ELEMENT = [7, 'no such element'] + NO_SUCH_FRAME = [8, 'no such frame'] + UNKNOWN_COMMAND = [9, 'unknown command'] + STALE_ELEMENT_REFERENCE = [10, 'stale element reference'] + ELEMENT_NOT_VISIBLE = [11, 'element not visible'] + INVALID_ELEMENT_STATE = [12, 'invalid element state'] + UNKNOWN_ERROR = [13, 'unknown error'] + ELEMENT_IS_NOT_SELECTABLE = [15, 'element not selectable'] + JAVASCRIPT_ERROR = [17, 'javascript error'] + XPATH_LOOKUP_ERROR = [19, 'invalid selector'] + TIMEOUT = [21, 'timeout'] + NO_SUCH_WINDOW = [23, 'no such window'] + INVALID_COOKIE_DOMAIN = [24, 'invalid cookie domain'] + UNABLE_TO_SET_COOKIE = [25, 'unable to set cookie'] + UNEXPECTED_ALERT_OPEN = [26, 'unexpected alert open'] + NO_ALERT_OPEN = [27, 'no such alert'] + SCRIPT_TIMEOUT = [28, 'script timeout'] + INVALID_ELEMENT_COORDINATES = [29, 'invalid element coordinates'] + IME_NOT_AVAILABLE = [30, 'ime not available'] + IME_ENGINE_ACTIVATION_FAILED = [31, 'ime engine activation failed'] + INVALID_SELECTOR = [32, 'invalid selector'] + SESSION_NOT_CREATED = [33, 'session not created'] + MOVE_TARGET_OUT_OF_BOUNDS = [34, 'move target out of bounds'] + INVALID_XPATH_SELECTOR = [51, 'invalid selector'] + INVALID_XPATH_SELECTOR_RETURN_TYPER = [52, 'invalid selector'] + + ELEMENT_NOT_INTERACTABLE = [60, 'element not interactable'] + INSECURE_CERTIFICATE = ['insecure certificate'] + INVALID_ARGUMENT = [61, 'invalid argument'] + INVALID_COORDINATES = ['invalid coordinates'] + INVALID_SESSION_ID = ['invalid session id'] + NO_SUCH_COOKIE = [62, 'no such cookie'] + UNABLE_TO_CAPTURE_SCREEN = [63, 'unable to capture screen'] + ELEMENT_CLICK_INTERCEPTED = [64, 'element click intercepted'] + UNKNOWN_METHOD = ['unknown method exception'] + + METHOD_NOT_ALLOWED = [405, 'unsupported operation'] + + +class ErrorHandler(object): + """ + Handles errors returned by the WebDriver server. + """ + def check_response(self, response): + """ + Checks that a JSON response from the WebDriver does not have an error. + + :Args: + - response - The JSON response from the WebDriver server as a dictionary + object. + + :Raises: If the response contains an error message. + """ + status = response.get('status', None) + if status is None or status == ErrorCode.SUCCESS: + return + value = None + message = response.get("message", "") + screen = response.get("screen", "") + stacktrace = None + if isinstance(status, int): + value_json = response.get('value', None) + if value_json and isinstance(value_json, basestring): + import json + try: + value = json.loads(value_json) + if len(value.keys()) == 1: + value = value['value'] + status = value.get('error', None) + if status is None: + status = value["status"] + message = value["value"] + if not isinstance(message, basestring): + value = message + message = message.get('message') + else: + message = value.get('message', None) + except ValueError: + pass + + exception_class = ErrorInResponseException + if status in ErrorCode.NO_SUCH_ELEMENT: + exception_class = NoSuchElementException + elif status in ErrorCode.NO_SUCH_FRAME: + exception_class = NoSuchFrameException + elif status in ErrorCode.NO_SUCH_WINDOW: + exception_class = NoSuchWindowException + elif status in ErrorCode.STALE_ELEMENT_REFERENCE: + exception_class = StaleElementReferenceException + elif status in ErrorCode.ELEMENT_NOT_VISIBLE: + exception_class = ElementNotVisibleException + elif status in ErrorCode.INVALID_ELEMENT_STATE: + exception_class = InvalidElementStateException + elif status in ErrorCode.INVALID_SELECTOR \ + or status in ErrorCode.INVALID_XPATH_SELECTOR \ + or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER: + exception_class = InvalidSelectorException + elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE: + exception_class = ElementNotSelectableException + elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE: + exception_class = ElementNotInteractableException + elif status in ErrorCode.INVALID_COOKIE_DOMAIN: + exception_class = InvalidCookieDomainException + elif status in ErrorCode.UNABLE_TO_SET_COOKIE: + exception_class = UnableToSetCookieException + elif status in ErrorCode.TIMEOUT: + exception_class = TimeoutException + elif status in ErrorCode.SCRIPT_TIMEOUT: + exception_class = TimeoutException + elif status in ErrorCode.UNKNOWN_ERROR: + exception_class = WebDriverException + elif status in ErrorCode.UNEXPECTED_ALERT_OPEN: + exception_class = UnexpectedAlertPresentException + elif status in ErrorCode.NO_ALERT_OPEN: + exception_class = NoAlertPresentException + elif status in ErrorCode.IME_NOT_AVAILABLE: + exception_class = ImeNotAvailableException + elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED: + exception_class = ImeActivationFailedException + elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS: + exception_class = MoveTargetOutOfBoundsException + elif status in ErrorCode.JAVASCRIPT_ERROR: + exception_class = JavascriptException + elif status in ErrorCode.SESSION_NOT_CREATED: + exception_class = SessionNotCreatedException + elif status in ErrorCode.INVALID_ARGUMENT: + exception_class = InvalidArgumentException + elif status in ErrorCode.NO_SUCH_COOKIE: + exception_class = NoSuchCookieException + elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN: + exception_class = ScreenshotException + elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED: + exception_class = ElementClickInterceptedException + elif status in ErrorCode.INSECURE_CERTIFICATE: + exception_class = InsecureCertificateException + elif status in ErrorCode.INVALID_COORDINATES: + exception_class = InvalidCoordinatesException + elif status in ErrorCode.INVALID_SESSION_ID: + exception_class = InvalidSessionIdException + elif status in ErrorCode.UNKNOWN_METHOD: + exception_class = UnknownMethodException + else: + exception_class = WebDriverException + if value == '' or value is None: + value = response['value'] + if isinstance(value, basestring): + if exception_class == ErrorInResponseException: + raise exception_class(response, value) + raise exception_class(value) + if message == "" and 'message' in value: + message = value['message'] + + screen = None + if 'screen' in value: + screen = value['screen'] + + stacktrace = None + if 'stackTrace' in value and value['stackTrace']: + stacktrace = [] + try: + for frame in value['stackTrace']: + line = self._value_or_default(frame, 'lineNumber', '') + file = self._value_or_default(frame, 'fileName', '') + if line: + file = "%s:%s" % (file, line) + meth = self._value_or_default(frame, 'methodName', '') + if 'className' in frame: + meth = "%s.%s" % (frame['className'], meth) + msg = " at %s (%s)" + msg = msg % (meth, file) + stacktrace.append(msg) + except TypeError: + pass + if exception_class == ErrorInResponseException: + raise exception_class(response, message) + elif exception_class == UnexpectedAlertPresentException: + alert_text = None + if 'data' in value: + alert_text = value['data'].get('text') + elif 'alert' in value: + alert_text = value['alert'].get('text') + raise exception_class(message, screen, stacktrace, alert_text) + raise exception_class(message, screen, stacktrace) + + def _value_or_default(self, obj, key, default): + return obj[key] if key in obj else default diff --git a/youtube_dl/selenium/webdriver/remote/file_detector.py b/youtube_dl/selenium/webdriver/remote/file_detector.py new file mode 100644 index 000000000..caec9c30f --- /dev/null +++ b/youtube_dl/selenium/webdriver/remote/file_detector.py @@ -0,0 +1,58 @@ +# Licensed to the Software Freedom Conservancy (SFC) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +import abc +import os +from selenium.webdriver.common.utils import keys_to_typing + + +class FileDetector(object): + """ + Used for identifying whether a sequence of chars represents the path to a + file. + """ + __metaclass__ = abc.ABCMeta + + @abc.abstractmethod + def is_local_file(self, *keys): + return + + +class UselessFileDetector(FileDetector): + """ + A file detector that never finds anything. + """ + def is_local_file(self, *keys): + return None + + +class LocalFileDetector(FileDetector): + """ + Detects files on the local disk. + """ + def is_local_file(self, *keys): + file_path = ''.join(keys_to_typing(keys)) + + if not file_path: + return None + + try: + if os.path.isfile(file_path): + return file_path + except Exception: + pass + return None diff --git a/youtube_dl/selenium/webdriver/remote/getAttribute.js b/youtube_dl/selenium/webdriver/remote/getAttribute.js new file mode 100644 index 000000000..2a361b181 --- /dev/null +++ b/youtube_dl/selenium/webdriver/remote/getAttribute.js @@ -0,0 +1,8 @@ +function(){return function(){var d=this;function f(a){return"string"==typeof a};function h(a,b){this.code=a;this.a=l[a]||m;this.message=b||"";a=this.a.replace(/((?:^|\s+)[a-z])/g,function(a){return a.toUpperCase().replace(/^[\s\xa0]+/g,"")});b=a.length-5;if(0>b||a.indexOf("Error",b)!=b)a+="Error";this.name=a;a=Error(this.message);a.name=this.name;this.stack=a.stack||""} +(function(){var a=Error;function b(){}b.prototype=a.prototype;h.b=a.prototype;h.prototype=new b;h.prototype.constructor=h;h.a=function(b,c,g){for(var e=Array(arguments.length-2),k=2;kparseFloat(D)){C=String(F);break a}}C=D}var G;var H=d.document;G=H&&y?B()||("CSS1Compat"==H.compatMode?parseInt(C,10):5):void 0;var ba=r("Firefox"),ca=v()||r("iPod"),da=r("iPad"),I=r("Android")&&!(w()||r("Firefox")||r("Opera")||r("Silk")),ea=w(),J=r("Safari")&&!(w()||r("Coast")||r("Opera")||r("Edge")||r("Silk")||r("Android"))&&!(v()||r("iPad")||r("iPod"));function K(a){return(a=a.exec(n))?a[1]:""}(function(){if(ba)return K(/Firefox\/([0-9.]+)/);if(y||z||x)return C;if(ea)return v()||r("iPad")||r("iPod")?K(/CriOS\/([0-9.]+)/):K(/Chrome\/([0-9.]+)/);if(J&&!(v()||r("iPad")||r("iPod")))return K(/Version\/([0-9.]+)/);if(ca||da){var a=/Version\/(\S+).*Mobile\/(\S+)/.exec(n);if(a)return a[1]+"."+a[2]}else if(I)return(a=K(/Android\s+([0-9.]+)/))?a:K(/Version\/([0-9.]+)/);return""})();var L,M=function(){if(!A)return!1;var a=d.Components;if(!a)return!1;try{if(!a.classes)return!1}catch(g){return!1}var b=a.classes,a=a.interfaces,e=b["@mozilla.org/xpcom/version-comparator;1"].getService(a.nsIVersionComparator),c=b["@mozilla.org/xre/app-info;1"].getService(a.nsIXULAppInfo).version;L=function(a){e.compare(c,""+a)};return!0}(),N=y&&!(8<=Number(G)),fa=y&&!(9<=Number(G));I&&M&&L(2.3);I&&M&&L(4);J&&M&&L(6);var ga={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},O={IMG:" ",BR:"\n"};function P(a,b,e){if(!(a.nodeName in ga))if(3==a.nodeType)e?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in O)b.push(O[a.nodeName]);else for(a=a.firstChild;a;)P(a,b,e),a=a.nextSibling};function Q(a,b){b=b.toLowerCase();return"style"==b?ha(a.style.cssText):N&&"value"==b&&R(a,"INPUT")?a.value:fa&&!0===a[b]?String(a.getAttribute(b)):(a=a.getAttributeNode(b))&&a.specified?a.value:null}var ia=/[;]+(?=(?:(?:[^"]*"){2})*[^"]*$)(?=(?:(?:[^']*'){2})*[^']*$)(?=(?:[^()]*\([^()]*\))*[^()]*$)/; +function ha(a){var b=[];t(a.split(ia),function(a){var c=a.indexOf(":");0